Hi Dscho, Le 2023-03-07 à 14:47, Junio C Hamano a écrit : > A release candidate Git v2.40.0-rc2 is now available for testing at > the usual places. It is comprised of 461 non-merge commits since > v2.39.0, contributed by 78 people, 30 of which are new faces [*]. > > ---------------------------------------------------------------- > > Git v2.40 Release Notes (draft) > =============================== > > * Finally retire the scripted "git add -p/-i" implementation and have > everybody use the one reimplemented in C. I just hit a 'BUG' in the builtin add -p, I'll try to write a reproducer later but wanted to send a heads up now in case you can reproduced easily on your own with the below info. Note that this is not new in 2.40-rc2, I'm still on 2.39.1. Basically I have an unmerged path from a conflicted 'git checkout $branch -m'. I resolved the conflict, but did not run 'git add'. And then I ran (in the 'doc' directory of the repository) 'git restore -S -p ../doc/path/to/file' and got: ``` BUG: add-patch.c:498: diff starts with unexpected line: * Unmerged path doc/path/to/file Aborted (core dumped) ``` and the backtrace from the core dump is the below: ``` Reading symbols from /home/me/bin/git... [New LWP 4172500] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `git restore -S -p path/to/file'. Program terminated with signal SIGABRT, Aborted. #0 0x000014d138b0b7ff in raise () from /lib64/libc.so.6 (gdb) bt #0 0x000014d138b0b7ff in raise () from /lib64/libc.so.6 #1 0x000014d138af5c35 in abort () from /lib64/libc.so.6 #2 0x0000000000703b75 in BUG_vfl (file=0x779d41 "add-patch.c", line=498, fmt=0x779d50 "diff starts with unexpected line:\n%.*s\n", params=0x7ffdd37529f0) at usage.c:320 #3 0x0000000000703c39 in BUG_fl (file=0x779d41 "add-patch.c", line=498, fmt=0x779d50 "diff starts with unexpected line:\n%.*s\n") at usage.c:330 #4 0x000000000051089a in parse_diff (s=0x7ffdd3752d90, ps=0x7ffdd3753910) at add-patch.c:497 #5 0x0000000000515339 in run_add_p (r=0xa5b3a0 <the_repo>, mode=ADD_P_RESET, revision=0xec35e0 "HEAD", ps=0x7ffdd3753910) at add-patch.c:1758 #6 0x0000000000408511 in run_add_interactive (revision=0xec35e0 "HEAD", patch_mode=0x74119d "--patch=reset", pathspec=0x7ffdd3753910) at builtin/add.c:273 #7 0x0000000000427f4b in checkout_paths (opts=0x7ffdd3753600, new_branch_info=0x7ffdd37533a0) at builtin/checkout.c:528 #8 0x000000000042c24d in checkout_main (argc=1, argv=0x7ffdd3753d40, prefix=0xebe58b "doc/", opts=0x7ffdd3753600, options=0xec0d80, usagestr=0xa342c0 <restore_usage>, new_branch_info=0x7ffdd37533a0) at builtin/checkout.c:1820 #9 0x000000000042cd1e in cmd_restore (argc=4, argv=0x7ffdd3753d40, prefix=0xebe58b "doc/") at builtin/checkout.c:1953 #10 0x0000000000406a83 in run_builtin (p=0xa371d8 <commands+2520>, argc=4, argv=0x7ffdd3753d40) at git.c:466 #11 0x0000000000406e68 in handle_builtin (argc=4, argv=0x7ffdd3753d40) at git.c:721 #12 0x00000000004070b6 in run_argv (argcp=0x7ffdd3753bcc, argv=0x7ffdd3753bc0) at git.c:788 #13 0x00000000004075cf in cmd_main (argc=4, argv=0x7ffdd3753d40) at git.c:926 #14 0x000000000050a80b in main (argc=5, argv=0x7ffdd3753d38) at common-main.c:57 ``` Hope this helps, Philippe.