diff --git a/llvm/utils/git-svn/git-llvm b/llvm/utils/git-svn/git-llvm index e30d17c78a1a..549a45558dd4 100755 --- a/llvm/utils/git-svn/git-llvm +++ b/llvm/utils/git-svn/git-llvm @@ -209,11 +209,8 @@ def get_revs_to_push(rev_range): # Use git show rather than some plumbing command to figure out which revs # are in rev_range because it handles single revs (HEAD^) and ranges # (foo..bar) like we want. - revs = git('show', '--reverse', '--quiet', + return git('show', '--reverse', '--quiet', '--pretty=%h', rev_range).splitlines() - if not revs: - die('Nothing to push: No revs in range %s.' % rev_range) - return revs def clean_svn(svn_repo): @@ -462,6 +459,10 @@ def cmd_push(args): rev_range = args.rev_range dry_run = args.dry_run revs = get_revs_to_push(rev_range) + + if not args.force and not revs: + die('Nothing to push: No revs in range %s.' % rev_range) + log('%sPushing %d %s commit%s:\n%s' % ('[DryRun] ' if dry_run else '', len(revs), 'split-repo (%s)' % split_repo_path @@ -471,7 +472,7 @@ def cmd_push(args): for c in revs))) # Ask confirmation if multiple commits are about to be pushed - if not args.force and len(revs) != 1: + if not args.force and len(revs) > 1: if not ask_confirm("Are you sure you want to create %d commits?" % len(revs)): die("Aborting")