git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* https://github.com/rust-lang/rust is not bisectable
@ 2022-12-17 16:00 Askar Safin
  2022-12-17 16:34 ` Andreas Schwab
  0 siblings, 1 reply; 9+ messages in thread
From: Askar Safin @ 2022-12-17 16:00 UTC (permalink / raw)
  To: git

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

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

end of thread, other threads:[~2022-12-18 14:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-17 16:00 https://github.com/rust-lang/rust is not bisectable Askar Safin
2022-12-17 16:34 ` Andreas Schwab
2022-12-18  3:15   ` Askar Safin
2022-12-18  9:16     ` Andreas Schwab
2022-12-18  9:37     ` SZEDER Gábor
2022-12-18 10:03       ` Askar Safin
2022-12-18 10:25         ` Andreas Schwab
2022-12-18 10:52         ` SZEDER Gábor
2022-12-18 14:10           ` rsbecker

Code repositories for project(s) associated with this public inbox

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

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 read-only IMAP folder(s) and NNTP newsgroup(s).