급하게 아래 안드로이드 project를 build 해야 할 일이 생겼다.
https://github.com/voodik/android/tree/cm-12.1_5422
오래전에 받아 놓은 소스를 repo sync 후 빌드 하니 역시나 컴파일 에러가 난다.
git log를 보면 계속 작업을 진행하였지만 release한 버전에 tag가 없다. 그래서 원하는 버전으로 돌리기가 어렵다.
아래 포럼에 보면 마지막 7월 7일이 마지막 버전이다.
http://forum.odroid.com/viewtopic.php?f=94&t=9316
googling 하여 보니 git rev-list를 통해 특정 날짜로 돌릴 수 있다. 그래서 아래와 같이 모든 프로젝트를 7월 7일로 돌렸다.
우선 manifest를 7월 7일로 돌린다.
$ cd .repo/manifsets/
$ git rev-list -n 1 --before="2015-07-07 24:00:00" default | xargs -i git reset --hard {}
돌린 default.xml을 복사하여 둔다/
$ cp default.xml ../default_0707.xml
다시 마지막으로 원복시킨다.
$ git reset --hard origin/cm-12.1_5422
그리고 7월 7일 내용을 하나의 commit으로 올린다.
$ mv ../default_0707.xml default.xml
$ git add default.xml
$ git commit
$ repo sync
위와 같이 하지 않으면 repo sync시 다시 최신 소스로 돌아가 버린다.
마지막으로 모든 프로젝트도 동일하게 7월 7일로 reset 한다.
$ repo forall -c 'git rev-list -n 1 --before="2015-07-07 24:00:00" cm-12.1_5422 | xargs -i git reset --hard {}'
빌드를 진행한다.