仅同步 Android 中的当前分支
Sync Only Current Branch In Android
很多地方建议使用 repo
命令的 -c
或 --current-branch
选项来减少下载的代码量。但是,它似乎不再可用:
repo --time -c -j2 sync
Usage: repo [-p|--paginate|--no-pager] COMMAND [ARGS]
main.py: error: no such option: -c
现在是否有替代开关或者该功能是否已完全删除?
我可以从仍然有 -c
开关的地方获得旧版本的回购包装器并使用它吗?
使用-c
有问题吗?
我的用例是获取 CyanogenMod 的特定分支并为我的 phone 构建一个 ROM。
编辑:有趣的是,sync.py 似乎有选项。
grep -a2 current-branch .repo/repo/subcmds/sync.py
of a project from server.
The -c/--current-branch option can be used to only fetch objects that
are on the branch specified by a project's revision.
--
dest='detach_head', action='store_true',
help='detach projects back to manifest revision')
p.add_option('-c', '--current-branch',
dest='current_branch_only', action='store_true',
help='fetch only current branch from server')
也许 manifest.xml 中项目元素的属性 upstream
可以解决您的问题。
根据the document of manifest file
Attribute upstream
: Name of the Git ref in which a sha1 can be found. Used when syncing a revision locked manifest in -c mode to avoid having to sync the entire ref space.
如问题编辑中所述,开关仍然可用。
令人困惑的是 repo --time -c -j2 sync
.
中实际上使用了 2 个 python 脚本
repo
是一个脚本,然后将参数发送给sync
脚本。
-c
和 -j
是 sync
脚本的参数,--time
是 repo
脚本的参数。
因此,命令应该是
repo --time sync -c -j2
很多地方建议使用 repo
命令的 -c
或 --current-branch
选项来减少下载的代码量。但是,它似乎不再可用:
repo --time -c -j2 sync
Usage: repo [-p|--paginate|--no-pager] COMMAND [ARGS]
main.py: error: no such option: -c
现在是否有替代开关或者该功能是否已完全删除?
我可以从仍然有 -c
开关的地方获得旧版本的回购包装器并使用它吗?
使用-c
有问题吗?
我的用例是获取 CyanogenMod 的特定分支并为我的 phone 构建一个 ROM。
编辑:有趣的是,sync.py 似乎有选项。
grep -a2 current-branch .repo/repo/subcmds/sync.py
of a project from server.
The -c/--current-branch option can be used to only fetch objects that
are on the branch specified by a project's revision.
--
dest='detach_head', action='store_true',
help='detach projects back to manifest revision')
p.add_option('-c', '--current-branch',
dest='current_branch_only', action='store_true',
help='fetch only current branch from server')
也许 manifest.xml 中项目元素的属性 upstream
可以解决您的问题。
根据the document of manifest file
Attribute
upstream
: Name of the Git ref in which a sha1 can be found. Used when syncing a revision locked manifest in -c mode to avoid having to sync the entire ref space.
如问题编辑中所述,开关仍然可用。
令人困惑的是 repo --time -c -j2 sync
.
repo
是一个脚本,然后将参数发送给sync
脚本。
-c
和 -j
是 sync
脚本的参数,--time
是 repo
脚本的参数。
因此,命令应该是
repo --time sync -c -j2