Open ilyagr opened 1 year ago
We use libgit2, which doesn't support shallow clones. I thought that meant we'd be unlikely to see support for it anytime soon, but it looks like there's actually been some recent progress on it, so that's encouraging :)
Although libgit2 doesn't support shallow clones, it seems like in this case, the error message is just of a missing parent commit? We'd have to handle that even if libgit2 did support shallow clones, and could handle it right now (somehow; I guess if a parent commit is missing, we should stop iteration and say that the history is shallow?).
We use libgit2, which doesn't support shallow clones. I thought that meant we'd be unlikely to see support for it anytime soon, but it looks like there's actually been some recent progress on it, so that's encouraging :)
@martinvonz, FYI, the PR you mentioned was merged a few months ago.
Nice! Now someone will just have to see if it actually just works with jj or we would need to make some changes too.
I've reproduced the issue in jj
version 0.16.0
: Error: Failed to import refs from underlying Git repo
The above-mentioned change to libgit2
was incorporated in libgit2
version 1.7.0
.
According to the cargo.lock from jj release 0.16.0
, it depends on libgit2-sys
version 0.16.2+1.7.2
(presumably, this does indeed correctly package libgit2
version 1.7.2
, but I didn't bother to check that deep)
Seems there will need to be some internal changes to jj
in order to accomodate shallow clones.
I cloned a git repository with
git clone --depth 20
andjj
cannot handle it.For reference, this is the git repository.
Detailed error messages
``` $ RUST_BACKTRACE=1 ../jj/target/debug/jj init --git-repo=. thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: NotFound', lib/src/commit.rs:86:49 stack backtrace: 0: rust_begin_unwind at /rustc/a31705549837622a3c3c27e98c9d8a6d820a984b/library/std/src/panicking.rs:584:5 1: core::panicking::panic_fmt at /rustc/a31705549837622a3c3c27e98c9d8a6d820a984b/library/core/src/panicking.rs:142:14 2: core::result::unwrap_failed at /rustc/a31705549837622a3c3c27e98c9d8a6d820a984b/library/core/src/result.rs:1785:5 3: core::result::Result