[PATCH] D67389: [git-llvm] Do not reinvent `@{upstream}` (take 2)

David Zarzycki via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 10 01:44:34 PDT 2019


davezarzycki created this revision.
davezarzycki added reviewers: mehdi_amini, jyknight, rupprecht, rnk.
davezarzycki added a project: LLVM.

This makes git-llvm more of a thin wrapper around git while temporarily maintaining backwards compatibility with past git-llvm behavior.

Using `@{upstream}` makes git-llvm more robust when used with a nontrivial local repository.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D67389

Files:
  llvm/utils/git-svn/git-llvm


Index: llvm/utils/git-svn/git-llvm
===================================================================
--- llvm/utils/git-svn/git-llvm
+++ llvm/utils/git-svn/git-llvm
@@ -190,16 +190,16 @@
 
 
 def get_default_rev_range():
-    # Get the branch tracked by the current branch, as set by
-    # git branch --set-upstream-to  See http://serverfault.com/a/352236/38694.
-    cur_branch = git('rev-parse', '--symbolic-full-name', 'HEAD')
-    upstream_branch = git('for-each-ref', '--format=%(upstream:short)',
-                          cur_branch)
-    if not upstream_branch:
-        upstream_branch = 'origin/master'
-
     # Get the newest common ancestor between HEAD and our upstream branch.
-    upstream_rev = git('merge-base', 'HEAD', upstream_branch)
+    upstream_rev = git('merge-base', 'HEAD', '@{upstream}', ignore_errors=True)
+    if not upstream_rev:
+        eprint("Warning: git-llvm assumes that origin/master is the upstream "
+               "branch but git does not.")
+        eprint("To make this warning go away: git branch -u origin/master")
+        eprint("To avoid this warning when creating branches: "
+               "git checkout -b MyBranchName origin/master")
+        upstream_rev = git('merge-base', 'HEAD', 'origin/master')
+
     return '%s..' % upstream_rev
 
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67389.219490.patch
Type: text/x-patch
Size: 1300 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190910/1ca5e9cf/attachment.bin>


More information about the llvm-commits mailing list