Commit 858d645a authored by thomasvl@chromium.org's avatar thomasvl@chromium.org

Add support to check if the url has changed for a git dep and create a new clone.

BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6732023

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79298 0039d316-1c4b-4281-b951-d872f2087c98
parent fbe3d301
......@@ -186,6 +186,23 @@ class GitWrapper(SCMWrapper):
verbose = ['--verbose']
printed_path = True
# See if the url has changed
current_url = self._Capture(['config', 'remote.origin.url'])
if current_url != url:
print('_____ switching %s to a new upstream' % self.relpath)
# Make sure it's clean
self._CheckClean(rev_str)
# Switch over to the new upstream
self._Run(['remote', 'set-url', 'origin', url], options)
quiet = []
if not options.verbose:
quiet = ['--quiet']
self._Run(['fetch', 'origin', '--prune'] + quiet, options)
self._Run(['reset', '--hard', 'origin/master'] + quiet, options)
files = self._Capture(['ls-files']).splitlines()
file_list.extend([os.path.join(self.checkout_path, f) for f in files])
return
if revision.startswith('refs/heads/'):
rev_type = "branch"
elif revision.startswith('origin/'):
......@@ -198,7 +215,7 @@ class GitWrapper(SCMWrapper):
if not os.path.exists(self.checkout_path):
self._Clone(revision, url, options)
files = self._Capture(['ls-files']).split()
files = self._Capture(['ls-files']).splitlines()
file_list.extend([os.path.join(self.checkout_path, f) for f in files])
if not verbose:
# Make the output a little prettier. It's nice to have some whitespace
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment