summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClark Boylan <clark.boylan@gmail.com>2017-11-05 14:32:52 -0800
committerClark Boylan <clark.boylan@gmail.com>2017-11-05 15:26:18 -0800
commitd3d66a471529547d6df65c6bf9e26d7eeea91a80 (patch)
treecfecd73bfbf1a9b7a0e1558d755757a1c6163548
parentb61f5b2ec9ab140960a1c6e0a424389cdd8951a0 (diff)
downloadgit-review-d3d66a471529547d6df65c6bf9e26d7eeea91a80.tar.gz
Support git 2.15 and newer
The 2.15 release of git drops support for `git branch --set-upstream` and replaces it with `git branch --set-upstream-to` which was added in git 1.8. Move from --set-upstream to --set-upstream-to in order to support git 2.15 and beyond. Note that this specifically affects the `git review -d` functionality as it is what needs to update the upstream. This does drop support for git 1.7 and older though as this option did not exist then. Polling linux distros and OS X the oldest git I can find is on CentOS 7 which has 1.8 so this should be fine. Story: 2001266 Co-Authored-By: Harry Mallon <Harry.Mallon@codex.online> Change-Id: I5ded1ab39bb2c76bdc38655299bac11b4584e138
-rw-r--r--doc/source/installation.rst2
-rwxr-xr-xgit_review/cmd.py8
-rw-r--r--git_review/tests/test_git_review.py6
3 files changed, 9 insertions, 7 deletions
diff --git a/doc/source/installation.rst b/doc/source/installation.rst
index a64d6c7..c36891c 100644
--- a/doc/source/installation.rst
+++ b/doc/source/installation.rst
@@ -16,6 +16,8 @@ For assistance installing pacakges from ``pypi`` on your OS check out
For installation from source simply add ``git-review`` to your $PATH
after installing the dependencies listed in requirements.txt
+.. note:: ``git-review`` requires git version 1.8 or greater.
+
Setup
=====
diff --git a/git_review/cmd.py b/git_review/cmd.py
index b0956ff..b603994 100755
--- a/git_review/cmd.py
+++ b/git_review/cmd.py
@@ -1227,11 +1227,11 @@ def checkout_review(branch_name, remote, remote_branch):
run_command_exc(CheckoutNewBranchFailed,
"git", "checkout", "-b",
branch_name, "FETCH_HEAD")
- # --set-upstream-to is not supported in git 1.7
+ # --set-upstream-to is supported starting in git 1.8
run_command_exc(SetUpstreamBranchFailed,
- "git", "branch", "--set-upstream",
- branch_name,
- '%s/%s' % (remote, remote_branch))
+ "git", "branch", "--set-upstream-to",
+ '%s/%s' % (remote, remote_branch),
+ branch_name)
except CheckoutNewBranchFailed as e:
if re.search("already exists\.?", e.output):
diff --git a/git_review/tests/test_git_review.py b/git_review/tests/test_git_review.py
index 443caad..de00486 100644
--- a/git_review/tests/test_git_review.py
+++ b/git_review/tests/test_git_review.py
@@ -310,9 +310,9 @@ class GitReviewTestCase(tests.BaseGitReviewTestCase):
# track different branch than expected in changeset
branch = self._run_git('rev-parse', '--abbrev-ref', 'HEAD')
self._run_git('branch',
- '--set-upstream',
- branch,
- 'remotes/origin/other')
+ '--set-upstream-to',
+ 'remotes/origin/other',
+ branch)
self.assertRaises(
Exception, # cmd.BranchTrackingMismatch inside
self._run_git_review, '-d', change_id)