https://github.com/rust-lang/rust is not bisectable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi. It seems that either "git bisect" has a bug, either repo at
https://github.com/rust-lang/rust is broken.

(Keep in mind that Rust project has somehow custom git setup:
https://doc.rust-lang.org/nightly/clippy/development/infrastructure/sync.html#patching-git-subtree-to-work-with-big-repos
)

So, here are steps to reproduce. I use fresh debian sid with git 2.39.0.

root@f6ca188fd101:/# git clone https://github.com/rust-lang/rust
Cloning into 'rust'...
remote: Enumerating objects: 2107155, done.
remote: Counting objects: 100% (145/145), done.
remote: Compressing objects: 100% (79/79), done.
remote: Total 2107155 (delta 73), reused 102 (delta 64), pack-reused 2107010
Receiving objects: 100% (2107155/2107155), 1009.95 MiB | 2.74 MiB/s, done.
Resolving deltas: 100% (1647434/1647434), done.
Updating files: 100% (38754/38754), done.
root@f6ca188fd101:/# cd rust

Now let's notice that commit 7175c499ecc32cb3ff713be0bbac9fd12990a34e
has word "bootstrap" in file "compiler/rustc_target/src/abi/mod.rs",
but commit 49c2279ef658d8732597c4da93897d84838f3df5 (master as of
2022-12-17) - does not.

Also, let's notice that 7175c499ecc32cb3ff713be0bbac9fd12990a34e is an
ancestor of 49c2279ef658d8732597c4da93897d84838f3df5. (Everywhere I
say that X is an ancestor of Y, I mean that X can be found in "git log
Y", in other words "git log Y | grep -q '^commit X' " returns true.)

Now let's find the first commit, which doesn't contain "bootstrap" in
that file in this interval. Let's do it using "git bisect".

root@f6ca188fd101:/rust# git bisect start
status: waiting for both good and bad commits
root@f6ca188fd101:/rust# git bisect good
7175c499ecc32cb3ff713be0bbac9fd12990a34e
status: waiting for bad commit, 1 good commit known
root@f6ca188fd101:/rust# git bisect bad 49c2279ef658d8732597c4da93897d84838f3df5
Bisecting: 23901 revisions left to test after this (roughly 15 steps)
[26562973b3482a635416b2b663a13016d4d90e20] Auto merge of #13653 -
VannTen:fix/doc-typo-vim-lsp, r=Veykril

Okay, so "git bisect" gave us commit
26562973b3482a635416b2b663a13016d4d90e20. And here I see a bug:
7175c499ecc32cb3ff713be0bbac9fd12990a34e is NOT ancestor of
26562973b3482a635416b2b663a13016d4d90e20! But I think "git bisect"
should give us some commit between "good" and "bad", so presumably
"good" should be an ancestor of the commit returned by "git bisect".

-- 
Askar Safin



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux