Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 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 # Copyright (C) 2008 Evan Martin <martine@danga.com> | 6 # Copyright (C) 2008 Evan Martin <martine@danga.com> |
| 7 | 7 |
| 8 """A git-command for integrating reviews on Rietveld.""" | 8 """A git-command for integrating reviews on Rietveld.""" |
| 9 | 9 |
| 10 import json | 10 import json |
| (...skipping 948 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 959 def RietveldUpload(options, args, cl): | 959 def RietveldUpload(options, args, cl): |
| 960 """upload the patch to rietveld.""" | 960 """upload the patch to rietveld.""" |
| 961 upload_args = ['--assume_yes'] # Don't ask about untracked files. | 961 upload_args = ['--assume_yes'] # Don't ask about untracked files. |
| 962 upload_args.extend(['--server', cl.GetRietveldServer()]) | 962 upload_args.extend(['--server', cl.GetRietveldServer()]) |
| 963 if options.emulate_svn_auto_props: | 963 if options.emulate_svn_auto_props: |
| 964 upload_args.append('--emulate_svn_auto_props') | 964 upload_args.append('--emulate_svn_auto_props') |
| 965 | 965 |
| 966 change_desc = None | 966 change_desc = None |
| 967 | 967 |
| 968 if cl.GetIssue(): | 968 if cl.GetIssue(): |
| 969 if options.message: | 969 if options.title: |
| 970 upload_args.extend(['--message', options.message]) | 970 upload_args.extend(['--title', options.title]) |
| 971 elif options.message: | |
| 972 # TODO(rogerta): for now, the -m option will also set the --title option | |
| 973 # for upload.py. Soon this will be changed to set the --message option. | |
| 974 # Will wait until people are used to typing -t instead of -m. | |
| 975 upload_args.extend(['--title', options.message]) | |
| 971 upload_args.extend(['--issue', cl.GetIssue()]) | 976 upload_args.extend(['--issue', cl.GetIssue()]) |
| 972 print ("This branch is associated with issue %s. " | 977 print ("This branch is associated with issue %s. " |
| 973 "Adding patch to that issue." % cl.GetIssue()) | 978 "Adding patch to that issue." % cl.GetIssue()) |
| 974 else: | 979 else: |
| 980 if options.title: | |
| 981 upload_args.extend(['--title', options.title]) | |
| 975 message = options.message or CreateDescriptionFromLog(args) | 982 message = options.message or CreateDescriptionFromLog(args) |
| 976 change_desc = ChangeDescription(message, options.reviewers) | 983 change_desc = ChangeDescription(message, options.reviewers) |
| 977 if not options.force: | 984 if not options.force: |
| 978 change_desc.Prompt() | 985 change_desc.Prompt() |
| 979 change_desc.ParseDescription() | 986 change_desc.ParseDescription() |
| 980 | 987 |
| 981 if change_desc.IsEmpty(): | 988 if change_desc.IsEmpty(): |
| 982 print "Description is empty; aborting." | 989 print "Description is empty; aborting." |
| 983 return 1 | 990 return 1 |
| 984 | 991 |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1037 | 1044 |
| 1038 | 1045 |
| 1039 @usage('[args to "git diff"]') | 1046 @usage('[args to "git diff"]') |
| 1040 def CMDupload(parser, args): | 1047 def CMDupload(parser, args): |
| 1041 """upload the current changelist to codereview""" | 1048 """upload the current changelist to codereview""" |
| 1042 parser.add_option('--bypass-hooks', action='store_true', dest='bypass_hooks', | 1049 parser.add_option('--bypass-hooks', action='store_true', dest='bypass_hooks', |
| 1043 help='bypass upload presubmit hook') | 1050 help='bypass upload presubmit hook') |
| 1044 parser.add_option('-f', action='store_true', dest='force', | 1051 parser.add_option('-f', action='store_true', dest='force', |
| 1045 help="force yes to questions (don't prompt)") | 1052 help="force yes to questions (don't prompt)") |
| 1046 parser.add_option('-m', dest='message', help='message for patch') | 1053 parser.add_option('-m', dest='message', help='message for patch') |
| 1054 parser.add_option('-t', dest='title', help='title for patch') | |
|
M-A Ruel
2012/05/14 18:20:50
s/patch/patchset/ ?
Roger Tawa OOO till Jul 10th
2012/05/14 18:33:08
Done.
| |
| 1047 parser.add_option('-r', '--reviewers', | 1055 parser.add_option('-r', '--reviewers', |
| 1048 help='reviewer email addresses') | 1056 help='reviewer email addresses') |
| 1049 parser.add_option('--cc', | 1057 parser.add_option('--cc', |
| 1050 help='cc email addresses') | 1058 help='cc email addresses') |
| 1051 parser.add_option('--send-mail', action='store_true', | 1059 parser.add_option('--send-mail', action='store_true', |
| 1052 help='send email to reviewer immediately') | 1060 help='send email to reviewer immediately') |
| 1053 parser.add_option("--emulate_svn_auto_props", action="store_true", | 1061 parser.add_option("--emulate_svn_auto_props", action="store_true", |
| 1054 dest="emulate_svn_auto_props", | 1062 dest="emulate_svn_auto_props", |
| 1055 help="Emulate Subversion's auto properties feature.") | 1063 help="Emulate Subversion's auto properties feature.") |
| 1056 parser.add_option("--desc_from_logs", action="store_true", | 1064 parser.add_option("--desc_from_logs", action="store_true", |
| 1057 dest="from_logs", | 1065 dest="from_logs", |
| 1058 help="""Squashes git commit logs into change description and | 1066 help="""Squashes git commit logs into change description and |
| 1059 uses message as subject""") | 1067 uses message as subject""") |
| 1060 parser.add_option('-c', '--use-commit-queue', action='store_true', | 1068 parser.add_option('-c', '--use-commit-queue', action='store_true', |
| 1061 help='tell the commit queue to commit this patchset') | 1069 help='tell the commit queue to commit this patchset') |
| 1062 if settings.GetIsGerrit(): | 1070 if settings.GetIsGerrit(): |
| 1063 parser.add_option('--target_branch', dest='target_branch', default='master', | 1071 parser.add_option('--target_branch', dest='target_branch', default='master', |
| 1064 help='target branch to upload') | 1072 help='target branch to upload') |
| 1065 (options, args) = parser.parse_args(args) | 1073 (options, args) = parser.parse_args(args) |
| 1066 | 1074 |
| 1075 # Print warning if the user used the -m/--message argument. This will soon | |
| 1076 # change to -t/--title. | |
| 1077 if options.message: | |
| 1078 print >> sys.stderr, ( | |
| 1079 '\nWARNING: Use -t or --title to set the title of the patchset.\n' | |
| 1080 'In the near future, -m or --message will send a message instead.\n' | |
| 1081 'See http://goo.gl/JGg0Z for details.\n') | |
| 1082 | |
| 1067 # Make sure index is up-to-date before running diff-index. | 1083 # Make sure index is up-to-date before running diff-index. |
| 1068 RunGit(['update-index', '--refresh', '-q'], error_ok=True) | 1084 RunGit(['update-index', '--refresh', '-q'], error_ok=True) |
| 1069 if RunGit(['diff-index', 'HEAD']): | 1085 if RunGit(['diff-index', 'HEAD']): |
| 1070 print 'Cannot upload with a dirty tree. You must commit locally first.' | 1086 print 'Cannot upload with a dirty tree. You must commit locally first.' |
| 1071 return 1 | 1087 return 1 |
| 1072 | 1088 |
| 1073 cl = Changelist() | 1089 cl = Changelist() |
| 1074 if args: | 1090 if args: |
| 1075 # TODO(ukai): is it ok for gerrit case? | 1091 # TODO(ukai): is it ok for gerrit case? |
| 1076 base_branch = args[0] | 1092 base_branch = args[0] |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1535 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e))) | 1551 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e))) |
| 1536 | 1552 |
| 1537 # Not a known command. Default to help. | 1553 # Not a known command. Default to help. |
| 1538 GenUsage(parser, 'help') | 1554 GenUsage(parser, 'help') |
| 1539 return CMDhelp(parser, argv) | 1555 return CMDhelp(parser, argv) |
| 1540 | 1556 |
| 1541 | 1557 |
| 1542 if __name__ == '__main__': | 1558 if __name__ == '__main__': |
| 1543 fix_encoding.fix_encoding() | 1559 fix_encoding.fix_encoding() |
| 1544 sys.exit(main(sys.argv[1:])) | 1560 sys.exit(main(sys.argv[1:])) |
| OLD | NEW |