mirror of
https://github.com/martinvonz/jj.git
synced 2024-12-28 23:55:54 +00:00
3b326a942c
The project's source of truth is now in Git and I really miss support for anonymous heads and evolution (compared to when the code was in Mercurial). I'm therefore more motivated to make the tool useful for day-to-day work on small repos, so I can use it myself. Until now, I had been more focused on improving performance when it was used as a read-only client for medium-to-large repos. One important feature for my day-to-day work is support for ignores. This commit adds simple and effective, but somewhat hacky support for that. libgit2 requires a repo to check if a file should be ignored (presumably so it can respect `.git/info/excludes`). To work around that, we create a temporary git repo in `/tmp/` whenever the working copy is committed. We set that temporary git repo's working copy to be shared with our own working copy. Due to https://github.com/libgit2/libgit2sharp/issues/1716 (which seems to apply to the non-.NET version as well), this workaround unfortunately leaves a .git file (pointing to the deleted temporary git repo) around in every Jujube repo. That's always ignored by libgit2, so it's not much of a problem. |
||
---|---|---|
.. | ||
protos | ||
src | ||
tests | ||
Cargo.toml |