| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 # | 5 # |
| 6 # Wrapper script around Rietveld's upload.py that groups files into | 6 # Wrapper script around Rietveld's upload.py that groups files into |
| 7 # changelists. | 7 # changelists. |
| 8 | 8 |
| 9 import getpass | 9 import getpass |
| 10 import os | 10 import os |
| (...skipping 958 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 969 revision = re.compile(".*?\nCommitted revision (\d+)", | 969 revision = re.compile(".*?\nCommitted revision (\d+)", |
| 970 re.DOTALL).match(output).group(1) | 970 re.DOTALL).match(output).group(1) |
| 971 viewvc_url = GetCodeReviewSetting("VIEW_VC") | 971 viewvc_url = GetCodeReviewSetting("VIEW_VC") |
| 972 change_info.description = change_info.description + '\n' | 972 change_info.description = change_info.description + '\n' |
| 973 if viewvc_url: | 973 if viewvc_url: |
| 974 change_info.description += "\nCommitted: " + viewvc_url + revision | 974 change_info.description += "\nCommitted: " + viewvc_url + revision |
| 975 change_info.CloseIssue() | 975 change_info.CloseIssue() |
| 976 os.chdir(previous_cwd) | 976 os.chdir(previous_cwd) |
| 977 | 977 |
| 978 | 978 |
| 979 def Change(change_info, override_description): | 979 def Change(change_info, args): |
| 980 """Creates/edits a changelist.""" | 980 """Creates/edits a changelist.""" |
| 981 silent = FilterFlag(args, "--silent") |
| 982 if (len(args) == 1): |
| 983 filename = args[0] |
| 984 f = open(filename, 'rU') |
| 985 override_description = f.read() |
| 986 f.close() |
| 987 else: |
| 988 override_description = None |
| 989 |
| 981 if change_info.issue: | 990 if change_info.issue: |
| 982 try: | 991 try: |
| 983 description = GetIssueDescription(change_info.issue) | 992 description = GetIssueDescription(change_info.issue) |
| 984 except urllib2.HTTPError, err: | 993 except urllib2.HTTPError, err: |
| 985 if err.code == 404: | 994 if err.code == 404: |
| 986 # The user deleted the issue in Rietveld, so forget the old issue id. | 995 # The user deleted the issue in Rietveld, so forget the old issue id. |
| 987 description = change_info.description | 996 description = change_info.description |
| 988 change_info.issue = 0 | 997 change_info.issue = 0 |
| 989 change_info.Save() | 998 change_info.Save() |
| 990 else: | 999 else: |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1015 '\n'.join([f[0] + f[1] for f in affected_files]) + '\n') | 1024 '\n'.join([f[0] + f[1] for f in affected_files]) + '\n') |
| 1016 else: | 1025 else: |
| 1017 text += ('\n'.join([f[0] + f[1] for f in affected_files]) + '\n' + | 1026 text += ('\n'.join([f[0] + f[1] for f in affected_files]) + '\n' + |
| 1018 separator2) | 1027 separator2) |
| 1019 text += '\n'.join([f[0] + f[1] for f in unaffected_files]) + '\n' | 1028 text += '\n'.join([f[0] + f[1] for f in unaffected_files]) + '\n' |
| 1020 | 1029 |
| 1021 handle, filename = tempfile.mkstemp(text=True) | 1030 handle, filename = tempfile.mkstemp(text=True) |
| 1022 os.write(handle, text) | 1031 os.write(handle, text) |
| 1023 os.close(handle) | 1032 os.close(handle) |
| 1024 | 1033 |
| 1025 os.system(GetEditor() + " " + filename) | 1034 if not silent: |
| 1035 os.system(GetEditor() + " " + filename) |
| 1026 | 1036 |
| 1027 result = ReadFile(filename) | 1037 result = ReadFile(filename) |
| 1028 os.remove(filename) | 1038 os.remove(filename) |
| 1029 | 1039 |
| 1030 if not result: | 1040 if not result: |
| 1031 return | 1041 return |
| 1032 | 1042 |
| 1033 split_result = result.split(separator1, 1) | 1043 split_result = result.split(separator1, 1) |
| 1034 if len(split_result) != 2: | 1044 if len(split_result) != 2: |
| 1035 ErrorExit("Don't modify the text starting with ---!\n\n" + result) | 1045 ErrorExit("Don't modify the text starting with ---!\n\n" + result) |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1209 # change didn't exist. All other commands require an existing change. | 1219 # change didn't exist. All other commands require an existing change. |
| 1210 fail_on_not_found = command != "try" and command != "change" | 1220 fail_on_not_found = command != "try" and command != "change" |
| 1211 if command == "try" and changename.find(',') != -1: | 1221 if command == "try" and changename.find(',') != -1: |
| 1212 change_info = LoadChangelistInfoForMultiple(changename, GetRepositoryRoot(), | 1222 change_info = LoadChangelistInfoForMultiple(changename, GetRepositoryRoot(), |
| 1213 True, True) | 1223 True, True) |
| 1214 else: | 1224 else: |
| 1215 change_info = ChangeInfo.Load(changename, GetRepositoryRoot(), | 1225 change_info = ChangeInfo.Load(changename, GetRepositoryRoot(), |
| 1216 fail_on_not_found, True) | 1226 fail_on_not_found, True) |
| 1217 | 1227 |
| 1218 if command == "change": | 1228 if command == "change": |
| 1219 if (len(argv) == 4): | 1229 Change(change_info, argv[3:]) |
| 1220 filename = argv[3] | |
| 1221 f = open(filename, 'rU') | |
| 1222 override_description = f.read() | |
| 1223 f.close() | |
| 1224 else: | |
| 1225 override_description = None | |
| 1226 Change(change_info, override_description) | |
| 1227 elif command == "lint": | 1230 elif command == "lint": |
| 1228 Lint(change_info, argv[3:]) | 1231 Lint(change_info, argv[3:]) |
| 1229 elif command == "upload": | 1232 elif command == "upload": |
| 1230 UploadCL(change_info, argv[3:]) | 1233 UploadCL(change_info, argv[3:]) |
| 1231 elif command == "presubmit": | 1234 elif command == "presubmit": |
| 1232 PresubmitCL(change_info) | 1235 PresubmitCL(change_info) |
| 1233 elif command in ("commit", "submit"): | 1236 elif command in ("commit", "submit"): |
| 1234 Commit(change_info, argv[3:]) | 1237 Commit(change_info, argv[3:]) |
| 1235 elif command == "delete": | 1238 elif command == "delete": |
| 1236 change_info.Delete() | 1239 change_info.Delete() |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1248 # the files. This allows commands such as 'gcl diff xxx' to work. | 1251 # the files. This allows commands such as 'gcl diff xxx' to work. |
| 1249 args =["svn", command] | 1252 args =["svn", command] |
| 1250 root = GetRepositoryRoot() | 1253 root = GetRepositoryRoot() |
| 1251 args.extend([os.path.join(root, x) for x in change_info.GetFileNames()]) | 1254 args.extend([os.path.join(root, x) for x in change_info.GetFileNames()]) |
| 1252 RunShell(args, True) | 1255 RunShell(args, True) |
| 1253 return 0 | 1256 return 0 |
| 1254 | 1257 |
| 1255 | 1258 |
| 1256 if __name__ == "__main__": | 1259 if __name__ == "__main__": |
| 1257 sys.exit(main()) | 1260 sys.exit(main()) |
| OLD | NEW |