2018-10-12

repo


$ repo init -u <url>
$ repo init -u <url> -b <branch_name>
$ repo init -m <manifest_file>
$ repo init -m <manifest_file> -b <branch_name or commit_id>

$ repo sync
$ repo sync -d

$ repo start <local_branch> --all


# snapshot manifest
$ repo manifest -o <manifest_file> -r
$ repo manifest -o release.xml -r
$ cp release.xml .repo/manifests/release.xml
$ cd .repo/manifests/
@git add, commit & push

# snapshot checkout
$ repo init -m release.xml
$ repo sync -d
@ local branch가 있는 경우, release.xml에 있는 revision으로 checkout 안되는 경우 있음.
@ -d 옵션을 주면, 모든 git repository가 manifest에 정의된 revision으로 checkout(detach) 됨.


# .repo folder에서 remote server 접속 없이 checkout
$ repo sync --local-only


# repo group option
// groups in repo manifest. "pdk", "device", "vendor"
   <project groups="pdk" name="platform/art" path="art" />
$ repo list -g group_name
$ repo list -g group_name -p
$ repo forall -g group_name -c 'git status'


# repo checkout w/ date
$ git rev-list -n 1                --before="2019-04-01 00:00" master
$ git rev-list -n 1 --first-parent --before="2019-04-01 00:00" master
$ git rev-list -n 1 --all          --before="2019-04-01 00:00"

$ git checkout `git rev-list -n 1 --before="2019-04-01 00:00" master`
$ git checkout `git rev-list -n 1 --first-parent --before="2019-04-01 00:00" master`
$ git checkout `git rev-list -n 1 --all --before="2019-04-01 00:00"`

$ repo forall -c 'git checkout `git rev-list -n 1 --before="2019-04-01 00:00" master`'
$ repo forall -c 'git checkout `git rev-list -n 1 --first-parent --before="2019-04-01 00:00" master`'
$ repo forall -c 'git checkout `git rev-list -n 1 --all --before="2019-04-01 00:00"`'


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.