Skip to content

Commit d152a74

Browse files
committed
Merge branch 'sm/show-superproject-while-conflicted'
A corner-case bugfix. * sm/show-superproject-while-conflicted: rev-parse: --show-superproject-working-tree should work during a merge
2 parents a1e9dff + c5cbb27 commit d152a74

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

submodule.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1886,7 +1886,7 @@ const char *get_superproject_working_tree(void)
18861886
* We're only interested in the name after the tab.
18871887
*/
18881888
super_sub = strchr(sb.buf, '\t') + 1;
1889-
super_sub_len = sb.buf + sb.len - super_sub - 1;
1889+
super_sub_len = strlen(super_sub);
18901890

18911891
if (super_sub_len > cwd_len ||
18921892
strcmp(&cwd[cwd_len - super_sub_len], super_sub))

t/t1500-rev-parse.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,22 @@ test_expect_success 'showing the superproject correctly' '
141141
test_commit -C sub test_commit &&
142142
git -C super submodule add ../sub dir/sub &&
143143
echo $(pwd)/super >expect &&
144+
git -C super/dir/sub rev-parse --show-superproject-working-tree >out &&
145+
test_cmp expect out &&
146+
147+
test_commit -C super submodule_add &&
148+
git -C super checkout -b branch1 &&
149+
git -C super/dir/sub checkout -b branch1 &&
150+
test_commit -C super/dir/sub branch1_commit &&
151+
git -C super add dir/sub &&
152+
test_commit -C super branch1_commit &&
153+
git -C super checkout -b branch2 master &&
154+
git -C super/dir/sub checkout -b branch2 master &&
155+
test_commit -C super/dir/sub branch2_commit &&
156+
git -C super add dir/sub &&
157+
test_commit -C super branch2_commit &&
158+
test_must_fail git -C super merge branch1 &&
159+
144160
git -C super/dir/sub rev-parse --show-superproject-working-tree >out &&
145161
test_cmp expect out
146162
'

0 commit comments

Comments
 (0)