Merge branch 'stable'
* stable: (33 commits)
Added feature to print a <notice> from manifest at the end of a sync.
sync: Use --force-broken to continue other projects
upload: Remove --replace option
sync --quiet: be more quiet
sync: Enable use of git clone --reference
Only delete corrupt pickle config files if they exist
Don't allow git fetch to start ControlMaster
Check for existing SSH ControlMaster
Fix for handling values of EDITOR which contain a space.
upload: Fix --replace flag
rebase: Pass through more options
upload: Allow review.HOST.username to override email
upload -t: Automatically include local branch name
Warn users before uploading if there are local changes
sync: Try fetching a tag as a last resort before giving up
rebase: Automatically rebase branch on upstrea
upload: Automatically --cc folks in review.URL.autocopy
Fix format string bugs in grep
Do not invoke ssh with -p argument when no port has been specified.
Allow files to be copied into new folders
...
Conflicts:
git_config.py
manifest_xml.py
subcmds/init.py
subcmds/sync.py
subcmds/upload.py
Change-Id: I4756a6908277e91505c35287a122a775b68f4df5
diff --git a/subcmds/init.py b/subcmds/init.py
index cdbbfdf..2ca4e16 100644
--- a/subcmds/init.py
+++ b/subcmds/init.py
@@ -40,6 +40,17 @@
The optional -b argument can be used to select the manifest branch
to checkout and use. If no branch is specified, master is assumed.
+The optional -m argument can be used to specify an alternate manifest
+to be used. If no manifest is specified, the manifest default.xml
+will be used.
+
+The --reference option can be used to point to a directory that
+has the content of a --mirror sync. This will make the working
+directory use as much data as possible from the local reference
+directory when fetching from the server. This will make the sync
+go a lot faster by reducing data traffic on the network.
+
+
Switching Manifest Branches
---------------------------
@@ -76,7 +87,9 @@
g.add_option('--mirror',
dest='mirror', action='store_true',
help='mirror the forrest')
-
+ g.add_option('--reference',
+ dest='reference',
+ help='location of mirror directory', metavar='DIR')
# Tool
g = p.add_option_group('repo Version options')
@@ -132,6 +145,9 @@
r.ResetFetch()
r.Save()
+ if opt.reference:
+ m.config.SetString('repo.reference', opt.reference)
+
if opt.mirror:
if is_new:
m.config.SetString('repo.mirror', 'true')
@@ -162,7 +178,11 @@
syncbuf = SyncBuffer(m.config)
m.Sync_LocalHalf(syncbuf)
syncbuf.Finish()
+
+ if isinstance(self.manifest, XmlManifest):
+ self._LinkManifest(opt.manifest_name)
_ReloadManifest(self)
+
self._ApplyOptions(opt, is_new)
if not self.manifest.InitBranch():
@@ -200,8 +220,9 @@
print ''
print 'Your identity is: %s <%s>' % (name, email)
- sys.stdout.write('is this correct [yes/no]? ')
- if 'yes' == sys.stdin.readline().strip():
+ sys.stdout.write('is this correct [y/n]? ')
+ a = sys.stdin.readline().strip()
+ if a in ('yes', 'y', 't', 'true'):
break
if name != mp.UserName:
@@ -249,8 +270,6 @@
def Execute(self, opt, args):
git_require(MIN_GIT_VERSION, fail=True)
self._SyncManifest(opt)
- if isinstance(self.manifest, XmlManifest):
- self._LinkManifest(opt.manifest_name)
if os.isatty(0) and os.isatty(1) and not self.manifest.IsMirror:
self._ConfigureUser()