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

Side by Side Diff: git_reparent_branch.py

Issue 1280633003: Fail with user friendly error when no new parent branch is specified. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 5 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | tests/git_rebase_update_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 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 """Change the upstream of the current branch.""" 6 """Change the upstream of the current branch."""
7 7
8 import argparse 8 import argparse
9 import sys 9 import sys
10 10
(...skipping 18 matching lines...) Expand all
29 opts = parser.parse_args(args) 29 opts = parser.parse_args(args)
30 30
31 # TODO(iannucci): Allow specification of the branch-to-reparent 31 # TODO(iannucci): Allow specification of the branch-to-reparent
32 32
33 branch = current_branch() 33 branch = current_branch()
34 if opts.root: 34 if opts.root:
35 new_parent = root_ref 35 new_parent = root_ref
36 elif opts.lkgr: 36 elif opts.lkgr:
37 new_parent = 'lkgr' 37 new_parent = 'lkgr'
38 else: 38 else:
39 if not opts.new_parent:
40 parser.error('Must specify new parent somehow')
39 new_parent = opts.new_parent 41 new_parent = opts.new_parent
40 cur_parent = upstream(branch) 42 cur_parent = upstream(branch)
41 43
42 if branch == 'HEAD' or not branch: 44 if branch == 'HEAD' or not branch:
43 parser.error('Must be on the branch you want to reparent') 45 parser.error('Must be on the branch you want to reparent')
44 if new_parent == cur_parent: 46 if new_parent == cur_parent:
45 parser.error('Cannot reparent a branch to its existing parent') 47 parser.error('Cannot reparent a branch to its existing parent')
46 48
47 mbase = get_or_create_merge_base(branch, cur_parent) 49 mbase = get_or_create_merge_base(branch, cur_parent)
48 50
(...skipping 22 matching lines...) Expand all
71 # TODO(iannucci): ONLY rebase-update the branch which moved (and dependants) 73 # TODO(iannucci): ONLY rebase-update the branch which moved (and dependants)
72 return git_rebase_update.main(['--no-fetch']) 74 return git_rebase_update.main(['--no-fetch'])
73 75
74 76
75 if __name__ == '__main__': # pragma: no cover 77 if __name__ == '__main__': # pragma: no cover
76 try: 78 try:
77 sys.exit(main(sys.argv[1:])) 79 sys.exit(main(sys.argv[1:]))
78 except KeyboardInterrupt: 80 except KeyboardInterrupt:
79 sys.stderr.write('interrupted\n') 81 sys.stderr.write('interrupted\n')
80 sys.exit(1) 82 sys.exit(1)
OLDNEW
« no previous file with comments | « no previous file | tests/git_rebase_update_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698