Index: gcl.py |
diff --git a/gcl.py b/gcl.py |
index f6de1f7e92510e7e109c6a87d66db5dea5c22f9e..bc4874da9f89988853ea53840e4217ebb395d967 100755 |
--- a/gcl.py |
+++ b/gcl.py |
@@ -87,7 +87,10 @@ def CheckHomeForFile(filename): |
def UnknownFiles(): |
"""Runs svn status and returns unknown files.""" |
- return [item[1] for item in SVN.CaptureStatus([]) if item[0][0] == '?'] |
+ return [ |
+ item[1] for item in SVN.CaptureStatus([], GetRepositoryRoot()) |
+ if item[0][0] == '?' |
+ ] |
def GetRepositoryRoot(): |
@@ -138,7 +141,7 @@ def GetCachedFile(filename, max_age=60*60*24*3, use_root=False): |
return None |
if (not os.path.exists(cached_file) or |
(time.time() - os.stat(cached_file).st_mtime) > max_age): |
- dir_info = SVN.CaptureInfo('.') |
+ dir_info = SVN.CaptureLocalInfo([], '.') |
repo_root = dir_info['Repository Root'] |
if use_root: |
url_path = repo_root |
@@ -548,8 +551,7 @@ class ChangeInfo(object): |
files = values['files'] |
if update_status: |
for item in files[:]: |
- filename = os.path.join(local_root, item[1]) |
- status_result = SVN.CaptureStatus(filename) |
+ status_result = SVN.CaptureStatus(item[1], local_root) |
if not status_result or not status_result[0][0]: |
# File has been reverted. |
save = True |
@@ -678,7 +680,7 @@ def GetModifiedFiles(): |
files_in_cl[filename] = change_info.name |
# Get all the modified files. |
- status_result = SVN.CaptureStatus(None) |
+ status_result = SVN.CaptureStatus(None, GetRepositoryRoot()) |
for line in status_result: |
status = line[0] |
filename = line[1] |
@@ -733,8 +735,9 @@ def ListFiles(show_unknown_files): |
return 0 |
-def GenerateDiff(files, root=None): |
- return SVN.GenerateDiff(files, root=root) |
+def GenerateDiff(files): |
+ return SVN.GenerateDiff( |
+ files, GetRepositoryRoot(), full_move=False, revision=None) |
def OptionallyDoPresubmitChecks(change_info, committing, args): |
@@ -1037,7 +1040,14 @@ def CMDcommit(change_info, args): |
def CMDchange(args): |
"""Creates or edits a changelist. |
- Only scans the current directory and subdirectories.""" |
+ Only scans the current directory and subdirectories. |
+ """ |
+ # Verify the user is running the change command from a read-write checkout. |
+ svn_info = SVN.CaptureLocalInfo([], '.') |
+ if not svn_info: |
+ ErrorExit("Current checkout is unversioned. Please retry with a versioned " |
+ "directory.") |
+ |
if len(args) == 0: |
# Generate a random changelist name. |
changename = GenerateChangeName() |
@@ -1047,12 +1057,6 @@ def CMDchange(args): |
changename = args[0] |
change_info = ChangeInfo.Load(changename, GetRepositoryRoot(), False, True) |
- # Verify the user is running the change command from a read-write checkout. |
- svn_info = SVN.CaptureInfo('.') |
- if not svn_info: |
- ErrorExit("Current checkout is unversioned. Please retry with a versioned " |
- "directory.") |
- |
if len(args) == 2: |
if not os.path.isfile(args[1]): |
ErrorExit('The change "%s" doesn\'t exist.' % args[1]) |
@@ -1439,6 +1443,7 @@ def main(argv): |
except upload.ClientLoginError, e: |
print >> sys.stderr, 'Got an exception logging in to Rietveld' |
print >> sys.stderr, str(e) |
+ return 1 |
except urllib2.HTTPError, e: |
if e.code != 500: |
raise |