martinvonz / jj

A Git-compatible VCS that is both simple and powerful
https://martinvonz.github.io/jj/
Apache License 2.0
8.39k stars 288 forks source link

panic: Git commit already exists with different associated non-Git meta-data #86

Closed mdaniel closed 2 years ago

mdaniel commented 2 years ago

Expected Behavior

jj close does not panic

Actual Behavior

$ jj describe
Working copy now at: 8b710cfe44f9 Stop using random UserNames as the default
# type type type, but no other `jj` commands issued
$ jj close
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Other("Git commit '6bb9b5e1abe037309690bd51f86c94b643ac5add' already exists with different associated non-Git meta-data")', lib/src/store.rs:145:60
stack backtrace:
   0: rust_begin_unwind
             at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/core/src/panicking.rs:143:14
   2: core::result::unwrap_failed
             at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/core/src/result.rs:1749:5
   3: jujutsu_lib::store::Store::write_commit
   4: jujutsu_lib::commit_builder::CommitBuilder::write_to_repo
   5: jujutsu::commands::cmd_close
   6: jujutsu::commands::dispatch
   7: jj::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
# calling jj close again seems to actually do the commit
$ jj close
Working copy now at: bd3543436ab2

I didn't know about the RUST_BACKTRACE=full, so I didn't have that set at the time, but I did set it subsequently, and the same backtrace happened during the next jj describe && type-y-type-y && jj close cycle

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Other("Git commit 'd31d6517f36b74be1a2723d6d744079a0d821263' already exists with different associated non-Git meta-data")', lib/src/store.rs:145:60
stack backtrace:
   0:        0x105feace1 - std::backtrace_rs::backtrace::libunwind::trace::h497838f4d2f64463
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:        0x105feace1 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d25d00f6b9a79df
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:        0x105feace1 - std::sys_common::backtrace::_print_fmt::hd7e0f760e52e6989
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/sys_common/backtrace.rs:66:5
   3:        0x105feace1 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbefadea048c66a33
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/sys_common/backtrace.rs:45:22
   4:        0x1060103bb - core::fmt::write::h8a6f4cae332f56ed
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/core/src/fmt/mod.rs:1190:17
   5:        0x105fe474e - std::io::Write::write_fmt::h3b009e6627b04632
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/io/mod.rs:1657:15
   6:        0x105fed1f0 - std::sys_common::backtrace::_print::h71c9d9cd5e2ae6a9
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/sys_common/backtrace.rs:48:5
   7:        0x105fed1f0 - std::sys_common::backtrace::print::h25c857f64ee185a8
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/sys_common/backtrace.rs:35:9
   8:        0x105fed1f0 - std::panicking::default_hook::{{closure}}::h56236b71b9692cfe
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panicking.rs:295:22
   9:        0x105feced4 - std::panicking::default_hook::h226cb254659ab0f9
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panicking.rs:314:9
  10:        0x105fed94e - std::panicking::rust_panic_with_hook::hd20e1b025f89c1ad
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panicking.rs:698:17
  11:        0x105fed673 - std::panicking::begin_panic_handler::{{closure}}::h8cb1f9882b4c8ca3
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panicking.rs:588:13
  12:        0x105feb177 - std::sys_common::backtrace::__rust_end_short_backtrace::hba73a7a1cd2ccba3
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/sys_common/backtrace.rs:138:18
  13:        0x105fed33a - rust_begin_unwind
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panicking.rs:584:5
  14:        0x106060f03 - core::panicking::panic_fmt::h1ef9cc8c9977558e
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/core/src/panicking.rs:143:14
  15:        0x106060ff5 - core::result::unwrap_failed::h9a2e7e67f31c1eb7
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/core/src/result.rs:1749:5
  16:        0x105be35c6 - jujutsu_lib::store::Store::write_commit::hf2ce5a304ccdead7
  17:        0x105c532c9 - jujutsu_lib::commit_builder::CommitBuilder::write_to_repo::h1e580f976cc0e0eb
  18:        0x105b23e2f - jujutsu::commands::cmd_close::hacf7d9b14f28d79f
  19:        0x105af2fbd - jujutsu::commands::dispatch::hc5f075ce1ee8e745
  20:        0x105af4003 - jj::main::hc67bc07b97e60a79
  21:        0x105af6856 - std::sys_common::backtrace::__rust_begin_short_backtrace::h9e9ae433b3844832
  22:        0x105af444c - std::rt::lang_start::{{closure}}::hbf89a8f3efc9dbf7
  23:        0x105fea415 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h05d8ffb95c98936e
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/core/src/ops/function.rs:259:13
  24:        0x105fea415 - std::panicking::try::do_call::he6c9c2d6d0126830
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panicking.rs:492:40
  25:        0x105fea415 - std::panicking::try::h16712c1c9c3f0438
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panicking.rs:456:19
  26:        0x105fea415 - std::panic::catch_unwind::hb9506d69f415f8da
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panic.rs:137:14
  27:        0x105fea415 - std::rt::lang_start_internal::{{closure}}::h4efb47bf007cb02a
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/rt.rs:128:48
  28:        0x105fea415 - std::panicking::try::do_call::hc992f1ecd929e92e
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panicking.rs:492:40
  29:        0x105fea415 - std::panicking::try::h93985564baebe29b
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panicking.rs:456:19
  30:        0x105fea415 - std::panic::catch_unwind::h899d7fae0477c000
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/panic.rs:137:14
  31:        0x105fea415 - std::rt::lang_start_internal::h155625fc84b28827
                               at /rustc/b17226fcc11587fed612631be372a5b4cb89988a/library/std/src/rt.rs:128:20
  32:        0x105af4389 - _main

Steps to Reproduce the Problem

Sorry, I haven't found any consistent reproduction steps for this

Specifications

martinvonz commented 2 years ago

Thanks for the report. This is a duplicate of #27. It's ugly, but it's harmless - you can simply try again.