git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / Atom feed
From: Arnaud Morin <arnaud.morin@gmail.com>
To: Christian Couder <christian.couder@gmail.com>
Cc: git <git@vger.kernel.org>
Subject: Re: rev-list with multiple commits sharing same patch-id
Date: Mon, 11 Jan 2021 18:25:01 +0000
Message-ID: <20210111182501.GB32482@sync> (raw)
In-Reply-To: <CAP8UFD3qt4xr4S1BgjPU-vm4qsb=+1JWc=LR_p1CUzTKaAcAoA@mail.gmail.com>

Hi,

Thanks for the link to the test file.

I patched the test file to add this new case (where the same patch-id is
duplicated in the tree).
This patch can be find in [1]
I had to patch two existing tests to make them work again.
I also added a new test with this new test-case (two identical patch-id
in the same tree.)
Note that I still have one test (outside my new one) which is failing:

not ok 10 - name-rev --exclude excludes matched patterns

I dont know why yet.

Moreover, I am willing to help fixing the code.
I have the feeling that a patch needs to be done in revision.c, maybe
in static void cherry_pick_list?

If you have any clue to help me?

Thanks.


[1] https://github.com/arnaudmorin/git/pull/1


-- 
Arnaud Morin

On 11.01.21 - 10:54, Christian Couder wrote:
> Hi,
> 
> On Sat, Jan 9, 2021 at 5:29 PM Arnaud Morin <arnaud.morin@gmail.com> wrote:
> 
> > I am struggling with a rev-list command, hope someone can give me a
> > clue on what is going on.
> 
> [...]
> 
> > However, when using git rev-list to perform a symmetric difference, git
> > is giving me a commit ID:
> > $ git rev-list --left-right --cherry-pick B...master
> > >dbf86d8aafc897a25a3093139b4237a62395041e
> 
> It looks like a bug. You might want to check the following test file
> and let us know if a similar case is tested in it, or not:
> 
> t6007-rev-list-cherry-pick-file.sh
> 
> If not, it might be a good idea to add one using 'test_expect_failure'
> instead of 'test_expect_success' to document the failure.
> 
> Thanks,
> Christian.
> 
> 
> > Note that this commit is not empty
> > $ git show dbf86d8aafc897a25a3093139b4237a62395041e --stat
> > commit dbf86d8aafc897a25a3093139b4237a62395041e (origin/master, master)
> > Author: Arnaud Morin <hidden@mail>
> > Date:   Sat Jan 9 10:30:10 2021 +0100
> >
> >     remove line2 and add line4 (bis)
> >
> >  a | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >
> >
> > So, from git rev-list perspective, there is a diff.
> >
> > After digging a little bit, the thing is that this commit is having the
> > following patch-id:
> > $ git show dbf86d8aafc897a25a3093139b4237a62395041e | git patch-id
> > 20f4ace68e80a751b07d78a27c94e83d6c5314bc dbf86d8aafc897a25a3093139b4237a62395041e
> >
> > Which is also already existing in an other commit:
> > $ for c in $(git rev-list HEAD) ; do git show $c |git patch-id |grep 20f4ace68e80a751b07d78a27c94e83d6c5314bc; done
> > 20f4ace68e80a751b07d78a27c94e83d6c5314bc dbf86d8aafc897a25a3093139b4237a62395041e
> > 20f4ace68e80a751b07d78a27c94e83d6c5314bc 8969d3fa9159730fd3b23199873bfb26e3d20027
> >
> > So, is it normal that rev-list is not able to figure out that a commit
> > is existing in both branch when 2 commits share the same patch-id?
> >
> > Is there any way to prevent rev-list from showing this commit?
> >
> > Thanks for your help.
> >
> >
> > PS. I have uploaded my test repo here:
> > https://gitlab.com/arnaudmorin/git-rev-list
> >
> >
> > --
> > Arnaud Morin
> >

  reply	other threads:[~2021-01-11 18:26 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-09 16:24 Arnaud Morin
2021-01-11  7:59 ` Arnaud Morin
2021-01-11  9:54 ` Christian Couder
2021-01-11 18:25   ` Arnaud Morin [this message]
2021-01-12 14:17 ` Jeff King
2021-01-12 15:11   ` Jeff King
2021-01-12 15:34     ` Arnaud Morin
2021-01-12 15:52       ` [PATCH] patch-ids: handle duplicate hashmap entries Jeff King
2021-01-12 16:24         ` Arnaud Morin
2021-01-12 19:13         ` Junio C Hamano
2021-01-13  9:24           ` Arnaud Morin
2021-01-13 12:59             ` Jeff King
2021-01-13 20:21               ` Junio C Hamano
2021-01-13 20:33                 ` Jeff King
2021-01-13 19:28             ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210111182501.GB32482@sync \
    --to=arnaud.morin@gmail.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

git@vger.kernel.org list mirror (unofficial, one of many)

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 git git/ https://public-inbox.org/git \
		git@vger.kernel.org
	public-inbox-index git

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git
	nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git
	nntp://news.gmane.io/gmane.comp.version-control.git
 note: .onion URLs require Tor: https://www.torproject.org/

code repositories for the project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git