Description
I stumbled across a bug today whereby jj is fragile when it comes to dealing with AppleDouble files.
Steps to Reproduce the Problem
- Do some
jj stuff on a macOS box
tar -cvf coolProject.tar coolProject
- On a Linux box (in my case Debian Trixie),
tar -xvf coolProject.tar
- Attempt to run
jj st or any other jj command
- Witness the chaos
rm -rf coolproject && tar -xvf repo.tar --exclude='._*'
- Attempt to run
jj st or any other jj command
jj operates normally
Yes, in theory this can be resolved user-side with correct tar or untar, but in practice I think jj could be a lot smarter and less fragile.
Expected Behavior
Behaves as normal
Actual Behavior
$jj st
.... lots of error output skipped here ....
Internal error: Unexpected error from backend
Caused by:
1: Failed to read non-git metadata
2: Failed to load table segment '._c63ab96cf65d09601fe0bbf1f00785070d2617c74633d4fcacecdff781a3f41cbcc39a7a3d926f0e3c36fd8da772feccd8b3b3a04442065b4a0c9acecd5e6a7b'
3: failed to fill whole buffer
Specifications
- Platform: macOS 26.5.2, debian trixie
- Version:
jj 0.43.0 on both mac and linux
Description
I stumbled across a bug today whereby
jjis fragile when it comes to dealing with AppleDouble files.Steps to Reproduce the Problem
jjstuff on a macOS boxtar -cvf coolProject.tar coolProjecttar -xvf coolProject.tarjj stor any otherjjcommandrm -rf coolproject && tar -xvf repo.tar --exclude='._*'jj stor any otherjjcommandjjoperates normallyYes, in theory this can be resolved user-side with correct tar or untar, but in practice I think
jjcould be a lot smarter and less fragile.Expected Behavior
Behaves as normal
Actual Behavior
Specifications
jj 0.43.0on both mac and linux