diff options
Diffstat (limited to 'subcmds/init.py')
-rw-r--r-- | subcmds/init.py | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/subcmds/init.py b/subcmds/init.py index 41578076..5ba0d074 100644 --- a/subcmds/init.py +++ b/subcmds/init.py | |||
@@ -54,7 +54,8 @@ from the server and is installed in the .repo/ directory in the | |||
54 | current working directory. | 54 | current working directory. |
55 | 55 | ||
56 | The optional -b argument can be used to select the manifest branch | 56 | The optional -b argument can be used to select the manifest branch |
57 | to checkout and use. If no branch is specified, master is assumed. | 57 | to checkout and use. If no branch is specified, the remote's default |
58 | branch is used. | ||
58 | 59 | ||
59 | The optional -m argument can be used to specify an alternate manifest | 60 | The optional -m argument can be used to specify an alternate manifest |
60 | to be used. If no manifest is specified, the manifest default.xml | 61 | to be used. If no manifest is specified, the manifest default.xml |
@@ -215,24 +216,27 @@ to update the working directory files. | |||
215 | 216 | ||
216 | m._InitGitDir(mirror_git=mirrored_manifest_git) | 217 | m._InitGitDir(mirror_git=mirrored_manifest_git) |
217 | 218 | ||
218 | if opt.manifest_branch: | ||
219 | m.revisionExpr = opt.manifest_branch | ||
220 | else: | ||
221 | m.revisionExpr = 'refs/heads/master' | ||
222 | else: | ||
223 | if opt.manifest_branch: | ||
224 | m.revisionExpr = opt.manifest_branch | ||
225 | else: | ||
226 | m.PreSync() | ||
227 | |||
228 | self._ConfigureDepth(opt) | 219 | self._ConfigureDepth(opt) |
229 | 220 | ||
221 | # Set the remote URL before the remote branch as we might need it below. | ||
230 | if opt.manifest_url: | 222 | if opt.manifest_url: |
231 | r = m.GetRemote(m.remote.name) | 223 | r = m.GetRemote(m.remote.name) |
232 | r.url = opt.manifest_url | 224 | r.url = opt.manifest_url |
233 | r.ResetFetch() | 225 | r.ResetFetch() |
234 | r.Save() | 226 | r.Save() |
235 | 227 | ||
228 | if opt.manifest_branch: | ||
229 | m.revisionExpr = opt.manifest_branch | ||
230 | else: | ||
231 | if is_new: | ||
232 | default_branch = m.ResolveRemoteHead() | ||
233 | if default_branch is None: | ||
234 | # If the remote doesn't have HEAD configured, default to master. | ||
235 | default_branch = 'refs/heads/master' | ||
236 | m.revisionExpr = default_branch | ||
237 | else: | ||
238 | m.PreSync() | ||
239 | |||
236 | groups = re.split(r'[,\s]+', opt.groups) | 240 | groups = re.split(r'[,\s]+', opt.groups) |
237 | all_platforms = ['linux', 'darwin', 'windows'] | 241 | all_platforms = ['linux', 'darwin', 'windows'] |
238 | platformize = lambda x: 'platform-' + x | 242 | platformize = lambda x: 'platform-' + x |