Add better error messages to git_reparent_branch.

R=dhsharp@chromium.org, vadimsh@chromium.org
BUG=538454

Review URL: https://codereview.chromium.org/1498163002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297848 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/git_reparent_branch.py b/git_reparent_branch.py
index be44bc6..f9b0442 100755
--- a/git_reparent_branch.py
+++ b/git_reparent_branch.py
@@ -31,6 +31,7 @@
   # TODO(iannucci): Allow specification of the branch-to-reparent
 
   branch = current_branch()
+
   if opts.root:
     new_parent = root_ref
   elif opts.lkgr:
@@ -46,6 +47,16 @@
   if new_parent == cur_parent:
     parser.error('Cannot reparent a branch to its existing parent')
 
+  if not cur_parent:
+    msg = (
+      "Unable to determine %s@{upstream}.\n\nThis can happen if you didn't use "
+      "`git new-branch` to create the branch and haven't used "
+      "`git branch --set-upstream-to` to assign it one.\n\nPlease assign an "
+      "upstream branch and then run this command again."
+    )
+    print >> sys.stderr, msg % branch
+    return 1
+
   mbase = get_or_create_merge_base(branch, cur_parent)
 
   all_tags = tags()