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

5 messages from 2017-03-26 to 2017-03-27. Participants: Luke Diamand, Junio C Hamano.
Thread: https://gitlist.dev/t/45516

## Luke Diamand, 2017-03-26 09:15

Subject: [PATCH] git-p4: Add failing test case for name-rev vs symbolic-ref
Message-ID: <20170326091537.2707-1-luke@diamand.org>
URL: https://gitlist.dev/e/20170326091537.2707-1-luke%40diamand.org

```
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, 2017-03-26 09:15

Subject: [PATCH] git-p4: add failing test for name-rev rather than symbolic-ref
Message-ID: <20170326091537.2707-2-luke@diamand.org>
URL: https://gitlist.dev/e/20170326091537.2707-2-luke%40diamand.org
In-Reply-To: <20170326091537.2707-1-luke@diamand.org>

```
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(+)

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, 2017-03-26 23:18

Subject: Re: [PATCH] git-p4: Add failing test case for name-rev vs symbolic-ref
Message-ID: <xmqqefxj4ofm.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqqefxj4ofm.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <20170326091537.2707-1-luke@diamand.org>

```
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"?

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

Thanks.

```

## Luke Diamand, 2017-03-27 06:57

Subject: Re: [PATCH] git-p4: Add failing test case for name-rev vs symbolic-ref
Message-ID: <CAE5ih78jhR3GwMBdPyi5oOHByC2fVxefExStc9pCNMTu-1Os7w@mail.gmail.com>
URL: https://gitlist.dev/e/CAE5ih78jhR3GwMBdPyi5oOHByC2fVxefExStc9pCNMTu-1Os7w%40mail.gmail.com
In-Reply-To: <xmqqefxj4ofm.fsf@gitster.mtv.corp.google.com>

```
On 27 March 2017 at 00:18, Junio C Hamano <gitster@pobox.com> wrote:
> 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, 2017-03-27 20:30

Subject: Re: [PATCH] git-p4: Add failing test case for name-rev vs symbolic-ref
Message-ID: <xmqq8tnq1mzq.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqq8tnq1mzq.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <CAE5ih78jhR3GwMBdPyi5oOHByC2fVxefExStc9pCNMTu-1Os7w@mail.gmail.com>

```
Luke Diamand <luke@diamand.org> writes:

> 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.

```
