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

Unified Diff: build/util/lastchange.py

Issue 6263009: lastchange.py: fix style, unify git codepath (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ok Created 9 years, 11 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 00b275f0bd89f706e640e37f6d4b4b13dc39d59b..ff518fc305c7e3ef934b05a6481804e172fe0f76 100644
--- a/build/util/lastchange.py
+++ b/build/util/lastchange.py
@@ -14,61 +14,35 @@ import subprocess
import sys
-def svn_fetch_revision():
+def FetchSVNRevision(command):
"""
Fetch the Subversion revision for the local tree.
Errors are swallowed.
"""
try:
- p = subprocess.Popen(['svn', 'info'],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- shell=(sys.platform=='win32'))
- except OSError, e:
- # 'svn' is apparently either not installed or not executable.
- return None
- revision = None
- if p:
- svn_re = re.compile('^Revision:\s+(\d+)', re.M)
- m = svn_re.search(p.stdout.read())
- if m:
- revision = m.group(1)
- return revision
-
-
-def git_fetch_id():
- """
- Fetch the GIT identifier for the local tree.
-
- Errors are swallowed.
- """
- git_re = re.compile('^\s*git-svn-id:\s+(\S+)@(\d+)', re.M)
- try:
- proc = subprocess.Popen(['git', 'log', '-999'],
+ proc = subprocess.Popen(command,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=(sys.platform=='win32'))
- for line in proc.stdout:
- match = git_re.search(line)
- if match:
- id = match.group(2)
- if id:
- proc.stdout.close() # Cut pipe.
- return id
except OSError:
- # 'git' is apparently either not installed or not executable.
- pass
+ # command is apparently either not installed or not executable.
+ return None
+ if proc:
+ svn_re = re.compile('^Revision:\s+(\d+)', re.M)
+ match = svn_re.search(proc.stdout.read())
+ if match:
+ return match.group(1)
return None
-def fetch_change(default_lastchange):
+def FetchChange(default_lastchange):
"""
Returns the last change, from some appropriate revision control system.
"""
- change = svn_fetch_revision()
+ change = FetchSVNRevision(['svn', 'info'])
if not change and sys.platform in ('linux2',):
- change = git_fetch_id()
+ change = FetchSVNRevision(['git', 'svn', 'info'])
if not change:
if default_lastchange and os.path.exists(default_lastchange):
change = open(default_lastchange, 'r').read().strip()
@@ -77,7 +51,7 @@ def fetch_change(default_lastchange):
return change
-def write_if_changed(file_name, contents):
+def WriteIfChanged(file_name, contents):
"""
Writes the specified contents to the specified file_name
iff the contents are different than the current contents.
@@ -114,12 +88,12 @@ def main(argv=None):
parser.print_help()
sys.exit(2)
- change = fetch_change(opts.default_lastchange)
+ change = FetchChange(opts.default_lastchange)
contents = "LASTCHANGE=%s\n" % change
if out_file:
- write_if_changed(out_file, contents)
+ WriteIfChanged(out_file, contents)
else:
sys.stdout.write(contents)
« 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