path: root/t
diff options
authorSahil Dua <>2017-06-13 10:47:22 (GMT)
committerJunio C Hamano <>2017-06-13 15:04:16 (GMT)
commitbb8efa1772c5a2ae1ce13ee2482fc8d97011ab7a (patch)
tree1e6af802c35f46b3c7e773b6151fc5564201e604 /t
parent76339527ccf7946751174663f9faa686f3f55335 (diff)
t3200: add test for single parameter passed to -m option
Add a test for the case when only one parameter is passed to '-m' (move/rename) option. For example - if 'git branch -m bbb' is run while checked out on aaa branch, it should rename the currently checked out branch to bbb. There was no test for this particular case with only one parameter for -m option. However, there's one similar test case for -M option. Add test for making sure HEAD points to the bbb (new branch name). Also add a test for making sure the reflog that is moved to 'bbb' retains entries created for the currently checked out branch. Note that since the topmost entry on reflog for bbb will be about branch creation, we compare bbb@{1} (instead of bbb@{0}) with aaa@{0} to make sure the reflog for bbb retains entries from aaa. Signed-off-by: Sahil Dua <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 't')
1 files changed, 17 insertions, 0 deletions
diff --git a/t/ b/t/
index 10f8f02..48d152b 100755
--- a/t/
+++ b/t/
@@ -100,6 +100,23 @@ test_expect_success 'git branch -m n/n n should work' '
git reflog exists refs/heads/n
+# The topmost entry in reflog for branch bbb is about branch creation.
+# Hence, we compare bbb@{1} (instead of bbb@{0}) with aaa@{0}.
+test_expect_success 'git branch -m bbb should rename checked out branch' '
+ test_when_finished git branch -D bbb &&
+ test_when_finished git checkout master &&
+ git checkout -b aaa &&
+ git commit --allow-empty -m "a new commit" &&
+ git rev-parse aaa@{0} >expect &&
+ git branch -m bbb &&
+ git rev-parse bbb@{1} >actual &&
+ test_cmp expect actual &&
+ git symbolic-ref HEAD >actual &&
+ echo refs/heads/bbb >expect &&
+ test_cmp expect actual
test_expect_success 'git branch -m o/o o should fail when o/p exists' '
git branch o/o &&
git branch o/p &&