Merge "Disable warning about locally disabling pylint warnings"
diff --git a/project.py b/project.py
index 516d3b6..effe75c 100644
--- a/project.py
+++ b/project.py
@@ -1854,16 +1854,17 @@
if GitCommand(self, cmd).Wait() != 0:
raise GitError('%s merge %s ' % (self.name, head))
- def _InitGitDir(self):
+ def _InitGitDir(self, mirror_git=None):
if not os.path.exists(self.gitdir):
os.makedirs(self.gitdir)
self.bare_git.init()
mp = self.manifest.manifestProject
- ref_dir = mp.config.GetString('repo.reference')
+ ref_dir = mp.config.GetString('repo.reference') or ''
- if ref_dir:
- mirror_git = os.path.join(ref_dir, self.name + '.git')
+ if ref_dir or mirror_git:
+ if not mirror_git:
+ mirror_git = os.path.join(ref_dir, self.name + '.git')
repo_git = os.path.join(ref_dir, '.repo', 'projects',
self.relpath + '.git')
diff --git a/subcmds/init.py b/subcmds/init.py
index 29730cc..1f91526 100644
--- a/subcmds/init.py
+++ b/subcmds/init.py
@@ -19,6 +19,15 @@
import re
import shutil
import sys
+try:
+ # For python3
+ import urllib.parse
+except ImportError:
+ # For python2
+ import imp
+ import urlparse
+ urllib = imp.new_module('urllib')
+ urllib.parse = urlparse.urlparse
from color import Coloring
from command import InteractiveCommand, MirrorSafeCommand
@@ -135,7 +144,19 @@
if not opt.quiet:
print('Get %s' % GitConfig.ForUser().UrlInsteadOf(opt.manifest_url),
file=sys.stderr)
- m._InitGitDir()
+
+ # The manifest project object doesn't keep track of the path on the
+ # server where this git is located, so let's save that here.
+ mirrored_manifest_git = None
+ if opt.reference:
+ manifest_git_path = urllib.parse(opt.manifest_url).path[1:]
+ mirrored_manifest_git = os.path.join(opt.reference, manifest_git_path)
+ if not mirrored_manifest_git.endswith(".git"):
+ mirrored_manifest_git += ".git"
+ if not os.path.exists(mirrored_manifest_git):
+ mirrored_manifest_git = os.path.join(opt.reference + '/.repo/manifests.git')
+
+ m._InitGitDir(mirror_git=mirrored_manifest_git)
if opt.manifest_branch:
m.revisionExpr = opt.manifest_branch