From 5470df6219fd3be675b8700c326713e700847a10 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 9 Mar 2009 18:51:58 -0700 Subject: [PATCH] Don't permit "repo init --mirror" in an existing client Simply setting repo.mirror true doesn't make a client into a mirror. The on-disk layout is completely wrong for a mirror repository, and until we fix our layout for a non-mirror client to more closely resemble the upstream we can't do anything to easily turn on or turn off the mirror status flag. Signed-off-by: Shawn O. Pearce --- subcmds/init.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/subcmds/init.py b/subcmds/init.py index d1fb4316..4f994300 100644 --- a/subcmds/init.py +++ b/subcmds/init.py @@ -89,8 +89,9 @@ default.xml will be used. def _SyncManifest(self, opt): m = self.manifest.manifestProject + is_new = not m.Exists - if not m.Exists: + if is_new: if not opt.manifest_url: print >>sys.stderr, 'fatal: manifest url (-u) is required.' sys.exit(1) @@ -117,7 +118,11 @@ default.xml will be used. r.Save() if opt.mirror: - m.config.SetString('repo.mirror', 'true') + if is_new: + m.config.SetString('repo.mirror', 'true') + else: + print >>sys.stderr, 'fatal: --mirror not supported on existing client' + sys.exit(1) m.Sync_NetworkHalf() m.Sync_LocalHalf()