Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1946)

Unified Diff: build/util/lastchange.py

Issue 488733002: Get lastchange.py to work correctly on Git repositories. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Append Cr-Commit-Position if it exists Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/util/lastchange.py
diff --git a/build/util/lastchange.py b/build/util/lastchange.py
index 8d758d2a24fdfa6daefada92491d739e055e5b7e..28a266ddaf7ad977d37f4499076b0aa84eca19c5 100755
--- a/build/util/lastchange.py
+++ b/build/util/lastchange.py
@@ -99,12 +99,25 @@ def FetchGitRevision(directory):
Returns:
A VersionInfo object or None on error.
"""
+ hsh = ''
proc = RunGitCommand(directory, ['rev-parse', 'HEAD'])
if proc:
output = proc.communicate()[0].strip()
if proc.returncode == 0 and output:
- return VersionInfo('git', output[:7])
- return None
+ hsh = output
+ if not hsh:
+ return None
+ pos = ''
+ proc = RunGitCommand(directory, ['show', '-s', '--format=%B', 'HEAD'])
+ if proc:
+ output = proc.communicate()[0]
+ if proc.returncode == 0 and output:
+ for line in reversed(output.splitlines()):
+ if line.startswith('Cr-Commit-Position:'):
+ pos = line.rsplit()[-1].strip()
+ if not pos:
+ return VersionInfo('git', hsh)
+ return VersionInfo('git', '%s-%s' % (hsh, pos))
def FetchGitSVNURLAndRevision(directory, svn_url_regex):
@@ -116,8 +129,7 @@ def FetchGitSVNURLAndRevision(directory, svn_url_regex):
Returns:
A tuple containing the Subversion URL and revision.
"""
- proc = RunGitCommand(directory, ['log', '-1',
- '--grep=git-svn-id', '--format=%b'])
+ proc = RunGitCommand(directory, ['log', '-1', '--format=%b'])
if proc:
output = proc.communicate()[0].strip()
if proc.returncode == 0 and output:
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698