You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As far as I can tell, some "solutions" would go against jj's principles, such as "commands should avoid failing whenever possible".
Moreover, jj isn't super helpful at the moment when it comes to cleaning up after the facts (xargs -a .gitignore jj file untrack...)
Proposal
Would it make sense to mark files whose ignored status changes as conflicted?
(conflicted between existing or not, same kind as when merging a change to a file and a deletion of that same file)
Examples:
cd $(mktemp -d)
jj git init
jj new
echo foo > .gitignore
touch foo
jj edit @- # foo goes from ignored to non-ignored
jj status # Current: foo is tracked / Proposal: foo is conflicted
cd $(mktemp -d)
jj git init
touch foo
jj status # trigger snapshot (arguably it is suboptimal that snapshoting has side-effects)
echo foo > .gitignore # foo goes from non-ignored to ignored
jj status # Current: file is tracked / Proposal: file is conflicted
This is only partially thought-through, and the devil might be in the details, as I'm not entirely familiar with how conflicts interact with descendants.
While this doesn't directly solve the usability issue, it at least notifies the user that attention is needed.
Solving the usability issue would then require having ways to mass-resolve conflicts. I don't know if that's currently easy to achieve.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Current situation
It seems that in the current state, jj's auto-tracking is somewhat hurtful whenever the set of ignored files changes.
Related:
jj stmay change repository state #8960jj editshould fail if editing would cause currently ignored files to become tracked #7237As far as I can tell, some "solutions" would go against jj's principles, such as "commands should avoid failing whenever possible".
Moreover, jj isn't super helpful at the moment when it comes to cleaning up after the facts (
xargs -a .gitignore jj file untrack...)Proposal
Would it make sense to mark files whose ignored status changes as conflicted?
(conflicted between existing or not, same kind as when merging a change to a file and a deletion of that same file)
Examples:
This is only partially thought-through, and the devil might be in the details, as I'm not entirely familiar with how conflicts interact with descendants.
While this doesn't directly solve the usability issue, it at least notifies the user that attention is needed.
Solving the usability issue would then require having ways to mass-resolve conflicts. I don't know if that's currently easy to achieve.
Would this fit jj's philosophy?
All reactions