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 datetime | |
11 from distutils.version import LooseVersion | 10 from distutils.version import LooseVersion |
12 import glob | 11 import glob |
13 import json | 12 import json |
14 import logging | 13 import logging |
15 import optparse | 14 import optparse |
16 import os | 15 import os |
17 import Queue | 16 import Queue |
18 import re | 17 import re |
19 import stat | 18 import stat |
20 import sys | 19 import sys |
21 import textwrap | 20 import textwrap |
22 import time | |
23 import threading | 21 import threading |
24 import urllib2 | 22 import urllib2 |
25 import urlparse | 23 import urlparse |
26 import webbrowser | 24 import webbrowser |
27 | 25 |
28 try: | 26 try: |
29 import readline # pylint: disable=F0401,W0611 | 27 import readline # pylint: disable=F0401,W0611 |
30 except ImportError: | 28 except ImportError: |
31 pass | 29 pass |
32 | 30 |
(...skipping 2031 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2064 @subcommand.usage('[upstream branch to apply against]') | 2062 @subcommand.usage('[upstream branch to apply against]') |
2065 def CMDland(parser, args): | 2063 def CMDland(parser, args): |
2066 """Commits the current changelist via git.""" | 2064 """Commits the current changelist via git.""" |
2067 if settings.GetIsGitSvn(): | 2065 if settings.GetIsGitSvn(): |
2068 print('This appears to be an SVN repository.') | 2066 print('This appears to be an SVN repository.') |
2069 print('Are you sure you didn\'t mean \'git cl dcommit\'?') | 2067 print('Are you sure you didn\'t mean \'git cl dcommit\'?') |
2070 ask_for_data('[Press enter to push or ctrl-C to quit]') | 2068 ask_for_data('[Press enter to push or ctrl-C to quit]') |
2071 return SendUpstream(parser, args, 'push') | 2069 return SendUpstream(parser, args, 'push') |
2072 | 2070 |
2073 | 2071 |
2074 @subcommand.usage('[upstream branch to apply against]') | |
2075 def CMDpush(parser, args): | |
2076 """Temporary alias for 'land'. | |
2077 """ | |
2078 print( | |
2079 "\n=======\n" | |
2080 "'git cl push' has been renamed to 'git cl land'.\n" | |
2081 "Currently they are treated as synonyms, but 'git cl push' will stop\n" | |
2082 "working after 2014/07/01.\n" | |
2083 "=======\n") | |
2084 now = datetime.datetime.utcfromtimestamp(time.time()) | |
2085 if now > datetime.datetime(2014, 7, 1): | |
2086 print('******\nReally, you should not use this command anymore... \n' | |
2087 'Pausing 10 sec to help you remember :-)') | |
2088 for n in xrange(10): | |
2089 time.sleep(1) | |
2090 print('%s seconds...' % (n+1)) | |
2091 print('******') | |
2092 return CMDland(parser, args) | |
2093 | |
2094 | |
2095 @subcommand.usage('<patch url or issue id>') | 2072 @subcommand.usage('<patch url or issue id>') |
2096 def CMDpatch(parser, args): | 2073 def CMDpatch(parser, args): |
2097 """Patches in a code review.""" | 2074 """Patches in a code review.""" |
2098 parser.add_option('-b', dest='newbranch', | 2075 parser.add_option('-b', dest='newbranch', |
2099 help='create a new branch off trunk for the patch') | 2076 help='create a new branch off trunk for the patch') |
2100 parser.add_option('-f', '--force', action='store_true', | 2077 parser.add_option('-f', '--force', action='store_true', |
2101 help='with -b, clobber any existing branch') | 2078 help='with -b, clobber any existing branch') |
2102 parser.add_option('-d', '--directory', action='store', metavar='DIR', | 2079 parser.add_option('-d', '--directory', action='store', metavar='DIR', |
2103 help='Change to the directory DIR immediately, ' | 2080 help='Change to the directory DIR immediately, ' |
2104 'before doing anything else.') | 2081 'before doing anything else.') |
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2650 ('AppEngine is misbehaving and returned HTTP %d, again. Keep faith ' | 2627 ('AppEngine is misbehaving and returned HTTP %d, again. Keep faith ' |
2651 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e))) | 2628 'and retry or visit go/isgaeup.\n%s') % (e.code, str(e))) |
2652 | 2629 |
2653 | 2630 |
2654 if __name__ == '__main__': | 2631 if __name__ == '__main__': |
2655 # These affect sys.stdout so do it outside of main() to simplify mocks in | 2632 # These affect sys.stdout so do it outside of main() to simplify mocks in |
2656 # unit testing. | 2633 # unit testing. |
2657 fix_encoding.fix_encoding() | 2634 fix_encoding.fix_encoding() |
2658 colorama.init() | 2635 colorama.init() |
2659 sys.exit(main(sys.argv[1:])) | 2636 sys.exit(main(sys.argv[1:])) |
OLD | NEW |