git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git-rev-list --merge-order hangs
@ 2005-06-08  6:50 Radoslaw Szkodzinski
  2005-06-08  7:22 ` Jon Seymour
  0 siblings, 1 reply; 5+ messages in thread
From: Radoslaw Szkodzinski @ 2005-06-08  6:50 UTC (permalink / raw)
  To: git

I've got a Linux git tree with some merges and some other commits
interwined.
I want to print all my changes in merge order, so I do:

git-rev-list --pretty --merge-order v2.6.12-rc6-astorm1 ^v2.6.12-rc6

It prints the first 3 commits (linear), but then hangs, eating all
available CPU.
Without --merge-order it works fine, but obviously lists the commits by
parent.

AstralStorm

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-rev-list --merge-order hangs
  2005-06-08  6:50 git-rev-list --merge-order hangs Radoslaw Szkodzinski
@ 2005-06-08  7:22 ` Jon Seymour
       [not found]   ` <2cfc403205060800337e1ecca0@mail.gmail.com>
  0 siblings, 1 reply; 5+ messages in thread
From: Jon Seymour @ 2005-06-08  7:22 UTC (permalink / raw)
  To: Radoslaw Szkodzinski; +Cc: git

On 6/8/05, Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl> wrote:
> I've got a Linux git tree with some merges and some other commits
> interwined.
> I want to print all my changes in merge order, so I do:
> 
> git-rev-list --pretty --merge-order v2.6.12-rc6-astorm1 ^v2.6.12-rc6
> 
> It prints the first 3 commits (linear), but then hangs, eating all
> available CPU.
> Without --merge-order it works fine, but obviously lists the commits by
> parent.

Can you git-rev-list >/dev/null without arguments, then do a
git-rev-list --pretty --merge-order again and see it works any better?

If it still doesn't work, can you send me the output of:

        git-rev-list --parents v2.6.12-rc6-astorm1 ^v2.6.12-rc6 

I may then need to request a tarball of the related git objects so
that I can reproduce the problem on my end, but I'll send you the list
I need to see.

Regards,

jon.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-rev-list --merge-order hangs
       [not found]   ` <2cfc403205060800337e1ecca0@mail.gmail.com>
@ 2005-06-08  9:02     ` Jon Seymour
  2005-06-08 14:17       ` Jon Seymour
  2005-06-08 15:28       ` Radoslaw Szkodzinski
  0 siblings, 2 replies; 5+ messages in thread
From: Jon Seymour @ 2005-06-08  9:02 UTC (permalink / raw)
  To: Radoslaw Szkodzinski

Actually, one case that I may not have considered properly is a commit
near the head that has no parents.

      git-rev-list --parents v2.6.12-rc6-astorm1 ^v2.6.12-rc6

should tell you if this case exists. Ideally such a case should not
occur, but that isn't a logical certainity, so I should handle it
better than I currently do.

Please let me know if this may explain your case. 

Regards,

jon.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-rev-list --merge-order hangs
  2005-06-08  9:02     ` Jon Seymour
@ 2005-06-08 14:17       ` Jon Seymour
  2005-06-08 15:28       ` Radoslaw Szkodzinski
  1 sibling, 0 replies; 5+ messages in thread
From: Jon Seymour @ 2005-06-08 14:17 UTC (permalink / raw)
  To: Radoslaw Szkodzinski; +Cc: Git Mailing List

Ok, I reproduced exponential behaviour when a commit with no parents
is merged near the head of the kernel and a ^ argument is specified.

Fortunately a work-around is a one line change - a patch will be
forthcoming shortly.
The workaround will still require a full-graph scan but that is linear
rather than
exponential so is tolerable.

A better solution which will not require a full-graph scan will be
delivered in a future
patch.

Thanks for the report.

jon.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-rev-list --merge-order hangs
  2005-06-08  9:02     ` Jon Seymour
  2005-06-08 14:17       ` Jon Seymour
@ 2005-06-08 15:28       ` Radoslaw Szkodzinski
  1 sibling, 0 replies; 5+ messages in thread
From: Radoslaw Szkodzinski @ 2005-06-08 15:28 UTC (permalink / raw)
  To: jon; +Cc: git

Jon Seymour wrote:

>Actually, one case that I may not have considered properly is a commit
>near the head that has no parents.
>
>      git-rev-list --parents v2.6.12-rc6-astorm1 ^v2.6.12-rc6
>
>should tell you if this case exists. Ideally such a case should not
>occur, but that isn't a logical certainity, so I should handle it
>better than I currently do.
>
>Please let me know if this may explain your case. 
>  
>
This just threw tons of SHA1 hashes at me without complaining.
I've also tried git-rev-list HEAD >/dev/null without any chage whatsoever.

The tree is not secret, You can try (very slow) rsync at:
rsync://astralstorm.servegame.com/linux-2.6-astorm

Just update latest linux-2.6 with it to save time.
(mine is up to commit 1d6757fbff5bc86e94e59ab0d7bdd7e71351d839)

AstralStorm

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-06-09  4:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-08  6:50 git-rev-list --merge-order hangs Radoslaw Szkodzinski
2005-06-08  7:22 ` Jon Seymour
     [not found]   ` <2cfc403205060800337e1ecca0@mail.gmail.com>
2005-06-08  9:02     ` Jon Seymour
2005-06-08 14:17       ` Jon Seymour
2005-06-08 15:28       ` Radoslaw Szkodzinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).