diff options
Diffstat (limited to 'subcmds')
| -rw-r--r-- | subcmds/init.py | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/subcmds/init.py b/subcmds/init.py index 29730cc4..1f915268 100644 --- a/subcmds/init.py +++ b/subcmds/init.py | |||
| @@ -19,6 +19,15 @@ import platform | |||
| 19 | import re | 19 | import re |
| 20 | import shutil | 20 | import shutil |
| 21 | import sys | 21 | import sys |
| 22 | try: | ||
| 23 | # For python3 | ||
| 24 | import urllib.parse | ||
| 25 | except ImportError: | ||
| 26 | # For python2 | ||
| 27 | import imp | ||
| 28 | import urlparse | ||
| 29 | urllib = imp.new_module('urllib') | ||
| 30 | urllib.parse = urlparse.urlparse | ||
| 22 | 31 | ||
| 23 | from color import Coloring | 32 | from color import Coloring |
| 24 | from command import InteractiveCommand, MirrorSafeCommand | 33 | from command import InteractiveCommand, MirrorSafeCommand |
| @@ -135,7 +144,19 @@ to update the working directory files. | |||
| 135 | if not opt.quiet: | 144 | if not opt.quiet: |
| 136 | print('Get %s' % GitConfig.ForUser().UrlInsteadOf(opt.manifest_url), | 145 | print('Get %s' % GitConfig.ForUser().UrlInsteadOf(opt.manifest_url), |
| 137 | file=sys.stderr) | 146 | file=sys.stderr) |
| 138 | m._InitGitDir() | 147 | |
| 148 | # The manifest project object doesn't keep track of the path on the | ||
| 149 | # server where this git is located, so let's save that here. | ||
| 150 | mirrored_manifest_git = None | ||
| 151 | if opt.reference: | ||
| 152 | manifest_git_path = urllib.parse(opt.manifest_url).path[1:] | ||
| 153 | mirrored_manifest_git = os.path.join(opt.reference, manifest_git_path) | ||
| 154 | if not mirrored_manifest_git.endswith(".git"): | ||
| 155 | mirrored_manifest_git += ".git" | ||
| 156 | if not os.path.exists(mirrored_manifest_git): | ||
| 157 | mirrored_manifest_git = os.path.join(opt.reference + '/.repo/manifests.git') | ||
| 158 | |||
| 159 | m._InitGitDir(mirror_git=mirrored_manifest_git) | ||
| 139 | 160 | ||
| 140 | if opt.manifest_branch: | 161 | if opt.manifest_branch: |
| 141 | m.revisionExpr = opt.manifest_branch | 162 | m.revisionExpr = opt.manifest_branch |
