forked from mirrors/jj
ce0821f06d
The original idea was to completely replace git_refs with remotes["git"] by introducing "forgotten" state, but it turned out to break "fetch && undo" scenario. There are other ways around, but they also have problems: * Sets tombstone on forgotten/deleted remote refs, exports remote refs without comparing to the known refs. * `jj undo` would need to insert tombstone by diffing old/new views. * `jj branch forget` would need to preserve the @git branch whereas the other remote branches would be forgotten. * Always overwrites remote refs on export. * `jj git export` without importing would discard remote refs. So, I decided to not remove git_refs. Apparently, it also improves the undo behavior. In the new model, `jj git fetch && jj undo && jj git fetch` works even if git_refs isn't rolled back. So we can unify the default of `jj undo --what`. |
||
---|---|---|
.. | ||
design | ||
technical | ||
branches.md | ||
code-of-conduct.md | ||
config.md | ||
config.toml | ||
conflicts.md | ||
contributing.md | ||
FAQ.md | ||
git-comparison.md | ||
git-compatibility.md | ||
github.md | ||
glossary.md | ||
install-and-setup.md | ||
operation-log.md | ||
related-work.md | ||
revsets.md | ||
sapling-comparison.md | ||
templates.md | ||
tutorial.md | ||
working-copy.md |