Re: [bug] "git bisect old v3.0" takes 21 mins on Linux repo
- From
D. Ben Knoble <ben.knoble@gmail.com>
- Date
- Jan 14, 2025, 22:21 UTC
- Message-ID
- <CALnO6CAzN1oeT4tMjJ1Qm4dW0xdVkVKHJ39oJTX8R8E614FH6g@mail.gmail.com>
- In-Reply-To
- <19461b87a5c.5a2ea74016716.8214238482389812984@zohomail.com>
On Mon, Jan 13, 2025 at 5:11 PM Askar Safin <safinaskar@zohomail.com> wrote:
> > Hi. This is bug report. "git bisect" is unacceptable slow on Linux repo.
That may be a bit inflammatory ;)
Show 25 quoted lines
> > Steps to reproduce: > > === > d-user@comp:/tmp/t$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git > Cloning into 'linux'... > remote: Enumerating objects: 13079335, done. > remote: Counting objects: 100% (153/153), done. > remote: Compressing objects: 100% (108/108), done. > remote: Total 13079335 (delta 84), reused 70 (delta 45), pack-reused 13079182 > Receiving objects: 100% (13079335/13079335), 5.18 GiB | 13.72 MiB/s, done. > Resolving deltas: 100% (10454171/10454171), done. > Updating files: 100% (87234/87234), done. > d-user@comp:/tmp/t$ cd linux > d-user@comp:/tmp/t/linux$ git bisect start > status: waiting for both good and bad commits > d-user@comp:/tmp/t/linux$ git bisect new v6.13-rc7 > status: waiting for good commit(s), bad commit known > d-user@comp:/tmp/t/linux$ time -p git bisect old v3.0 > Bisecting: 535608 revisions left to test after this (roughly 19 steps) > [62606c224d72a98c35d21a849f95cccf95b0a252] Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 > real 1293.32 > user 1291.70 > sys 1.41 > ===
FWIW:
$ time git rev-list --count v3.0...v6.13-rc7 1070175 git rev-list --count v3.0...v6.13-rc7 13,57s user 1,41s system 96% cpu 15,466 total
That's a large number of revisions to bisect. Further,
# --force needed because my filesystem is case-insensitive :eyeroll: $ time git checkout [--force] 62606c224d72a98c35d21a849f95cccf95b0a252 git checkout --force 62606c224d72a98c35d21a849f95cccf95b0a252 7,94s user 18,54s system 96% cpu 27,360 total
Using pathspecs or a smaller commit range should help speed up the start. (On a recent git, the helper is gone, so I'm not sure where the time is spent—but I do notice that `git bisect start v6.13-rc7 v3.0` is slow enough that I've killed it rather than wait.)
-- D. Ben Knoble