ok/jj
1
0
Fork 0
forked from mirrors/jj
jj/lib/tests
Martin von Zweigbergk 3b326a942c working_copy: add support for .gitignore files
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.
2020-12-20 00:37:43 -08:00
..
test_bad_locking.rs
test_commit_builder.rs
test_commit_concurrent.rs
test_diff_summary.rs
test_evolution.rs
test_index.rs
test_merge_trees.rs trees: make entries() function be the recursive one, since it's more common 2020-12-20 00:26:06 -08:00
test_operations.rs
test_transaction.rs
test_view.rs
test_working_copy.rs working_copy: add support for .gitignore files 2020-12-20 00:37:43 -08:00
test_working_copy_concurrent.rs working_copy: let WorkingCopy and TreeState have the working copy path 2020-12-18 23:56:32 -08:00