threads / patch / 45516

patchgit-p4: Add failing test case for name-rev vs symbolic-ref

Subject: [PATCH] git-p4: Add failing test case for name-rev vs symbolic-ref

## tl;dr

5 messages between Mar 26, 2017 and Mar 27, 2017. Diffs are folded; open one to read it.

replies: 4people: 2as markdown or json

Luke Diamand· Mar 26, 2017, 09:15 UTC · lore

As per the discussion about use of "git name-rev" vs "git symbolic-ref" in git-p4 here:

http://marc.info/?l=git&m=148979063421355

git-p4 could get confused about the branch it is on and affects the git-p4.allowSubmit <branchname> option. This adds a failing test case for the problem.

Luke Diamand (1):
  git-p4: add failing test for name-rev rather than symbolic-ref
 t/t9807-git-p4-submit.sh | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
-- 
2.8.2.703.g78b384c.dirty
Luke Diamand· Mar 26, 2017, 09:15 UTC · re: Luke Diamand · lore

[PATCH] git-p4: add failing test for name-rev rather than symbolic-ref

Using name-rev to find the current git branch means that git-p4 does not correctly get the current branch name if there are multiple branches pointing at HEAD, or a tag.

This change adds a test case which demonstrates the problem. Configuring which branches are allowed to be submitted from goes wrong, as git-p4 gets confused about which branch is in use.

This appears to be the only place that git-p4 actually cares about the current branch.

Signed-off-by: Luke Diamand <luke@diamand.org>
---
 t/t9807-git-p4-submit.sh | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
Show changes to t/t9807-git-p4-submit.sh +16 −0
diff --git a/t/t9807-git-p4-submit.sh b/t/t9807-git-p4-submit.sh
index e37239e..ae05816 100755
--- a/t/t9807-git-p4-submit.sh
+++ b/t/t9807-git-p4-submit.sh
@@ -139,6 +139,22 @@ test_expect_success 'submit with master branch name from argv' '
 	)
 '
 
+test_expect_failure 'allow submit from branch with same revision but different name' '
+	test_when_finished cleanup_git &&
+	git p4 clone --dest="$git" //depot &&
+	(
+		cd "$git" &&
+		test_commit "file8" &&
+		git checkout -b branch1 &&
+		git checkout -b branch2 &&
+		git config git-p4.skipSubmitEdit true &&
+		git config git-p4.allowSubmit "branch1" &&
+		test_must_fail git p4 submit &&
+		git checkout branch1 &&
+		git p4 submit
+	)
+'
+
 #
 # Basic submit tests, the five handled cases
 #
-- 
2.8.2.703.g78b384c.dirty
Junio C Hamano· Mar 26, 2017, 23:18 UTC · re: Luke Diamand · lore

Re: [PATCH] git-p4: Add failing test case for name-rev vs symbolic-ref

Luke Diamand <luke@diamand.org> writes:
Show 14 quoted lines
> As per the discussion about use of "git name-rev" vs "git symbolic-ref" in
> git-p4 here:
>
> http://marc.info/?l=git&m=148979063421355
>
> git-p4 could get confused about the branch it is on and affects
> the git-p4.allowSubmit <branchname> option. This adds a failing
> test case for the problem.
>
> Luke Diamand (1):
>   git-p4: add failing test for name-rev rather than symbolic-ref
>
>  t/t9807-git-p4-submit.sh | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)

Ahh, thanks for tying loose ends. I completely forgot about that topic.

If we queue this and then update the function in git-p4.py that (mis)uses name-rev to learn the current branch to use symbolic-ref instead, can we flip the "expect_failure" to "expect_success"?

IOW, can we have a follow up to this patch that fixes a known breakage the patch documents ;-)?

Thanks.
Luke Diamand· Mar 27, 2017, 06:57 UTC · re: Junio C Hamano · lore

Re: [PATCH] git-p4: Add failing test case for name-rev vs symbolic-ref

On 27 March 2017 at 00:18, Junio C Hamano <gitster@pobox.com> wrote:
Show 23 quoted lines
> Luke Diamand <luke@diamand.org> writes:
>
>> As per the discussion about use of "git name-rev" vs "git symbolic-ref" in
>> git-p4 here:
>>
>> http://marc.info/?l=git&m=148979063421355
>>
>> git-p4 could get confused about the branch it is on and affects
>> the git-p4.allowSubmit <branchname> option. This adds a failing
>> test case for the problem.
>>
>> Luke Diamand (1):
>>   git-p4: add failing test for name-rev rather than symbolic-ref
>>
>>  t/t9807-git-p4-submit.sh | 16 ++++++++++++++++
>>  1 file changed, 16 insertions(+)
>
> Ahh, thanks for tying loose ends.  I completely forgot about that
> topic.
>
> If we queue this and then update the function in git-p4.py that
> (mis)uses name-rev to learn the current branch to use symbolic-ref
> instead, can we flip the "expect_failure" to "expect_success"?
Yes. The test passes with your change.
>
> IOW, can we have a follow up to this patch that fixes a known
> breakage the patch documents ;-)?
Yes.

Regards! Luke

Junio C Hamano· Mar 27, 2017, 20:30 UTC · re: Luke Diamand · lore

Re: [PATCH] git-p4: Add failing test case for name-rev vs symbolic-ref

Luke Diamand <luke@diamand.org> writes:
Show 6 quoted lines
> Yes. The test passes with your change.
>>
>> IOW, can we have a follow up to this patch that fixes a known
>> breakage the patch documents ;-)?
>
> Yes.
Thanks.

← back to recent threads