Commit log

733dc15 Ignore .git directories

Max Brunsfeld created

e7c5942 Fix handling of uppercase characters in fuzzy finding

Max Brunsfeld created

870925e Rerender tabs when buffers' file handles change

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Nathan Sobo and Nathan Sobo created

9753e67 Update filehandle paths when renames occur

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

6535304 WIP: Start on updating file handles

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra , Max Brunsfeld , and Nathan Sobo created

111d98d Keep ignore status up-to-date as events are processed

Antonio Scandurra created

f770a70 WIP: Maintain an IgnoreStack while scanning

Click to expand commit body
All ignore files associated with ancestors of the directory currently being scanned are included in the stack. This allows us to compute ignore status for each entry as we initially scan it. If we encounter an ignored directory, we replace the stack with an "ignore all" variant that simply ignores every descendant of the ignored directory.

This is incomplete. We still need to construct an ignore stack in an appropriate state when rescanning subtrees in response to events. It also doesn't deal with individual ignore files being added, removed, or changed. I think we could potentially use the ignore stack while reconstructing the tree for this purpose.

Nathan Sobo created

9cd1d5e Avoid cloning entry in `Snapshot::entry_for_path`

Antonio Scandurra created

6a7308b Avoid storing redundant copies of file paths

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

054203d Fix fuzzy matching after removing root dirname from stored paths

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

dced946 WIP

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

c9d7249 WIP

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

ec2e1c3 Rename `PathSearch::Sibling` to `PathSearch::Successor`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

8f2fc07 Restructure Worktree to index entries by path

Antonio Scandurra created

ae5f02d Use getmntinfo(3) to list mounted volumes

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

b37b047 Start work on excluding separate mount dirs

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

3e44a0a Avoid redundant clearing of descendants when scanning dirs

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

b2e7a2c Log when there's an error while scanning a directory

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra , Max Brunsfeld , and Nathan Sobo created

99f51c0 Simulate `.gitignore`s in the randomized test

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra , Max Brunsfeld , and Nathan Sobo created

928ce0e Clear descendants of existing children when scanning a directory

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra , Max Brunsfeld , and Nathan Sobo created

9723e46 Replace linear scan of entries with a custom `FileIter`

Antonio Scandurra created

c429a93 Remove `is_ignored` from `PathEntry` and lean more on the tree instead

Antonio Scandurra created

f3b663e Ignore `.git` folder

Antonio Scandurra created

19a2856 Let ignore edits batch naturally without imposing a max batch len

Antonio Scandurra created

af3bc23 Recompute ignore status when .gitignore changes or for new entries

Antonio Scandurra created

499e55e Start work on handling changes to gitignore files

Click to expand commit body
* Use the published ignore crate
* Store ignore objects on snapshot, and use them to compute
  files' ignored status dynamically, instead of storing the
  ignored status on the file.

Max Brunsfeld created

427930c wip - gitignore handling on rescan

Max Brunsfeld created

8e0ca20 Store paths as strings on PathMatch structs

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

955268e Check worktree invariants in randomized test

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

ce28dc3 Fix missing insert in populate_dir

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

a898acf WIP

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

56b48c8 WIP: Establish new invariant-maintaining API for mutating worktree snapshots

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

031d5ac WIP

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

fd8125b Re-enable file finder test and bind `menu:select-{next-prev}`

Antonio Scandurra created

9518cef Merge pull request #23 from zed-industries/fix-mac-mini-failures

Click to expand commit body
Use our own scoped_pool implementation

Max Brunsfeld created

b20f5e9 Fully halt background scanner threads when dropping Worktree

Click to expand commit body
* Rework fsevent API to expose a handle for halting the event stream

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

9fd8acd Use our own scoped_pool implementation

Max Brunsfeld created

265ad90 Stop processing events if root path is deleted

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created

85f8537 Worktree: silence log message when dir is overwritten by file

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created

5cbbf62 WIP

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo , Max Brunsfeld , and Antonio Scandurra created

9899614 Remove task_done condvar which supported finish_pending_tasks

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo , Max Brunsfeld , and Antonio Scandurra created

1a8e909 Ensure we remove broadcast channels after all conditions resolve

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo , Max Brunsfeld , and Antonio Scandurra created

dcc2bdf Panic when awaiting conditions on dropped entities

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo , Max Brunsfeld , and Antonio Scandurra created

ddd746b Use `env_logger` instead of `simplelog` in tests

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

37444ac Time out `condition` after 200ms and add basic unit tests for it

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

cd7dccd Replace remaining usages of `finish_pending_tasks` with `condition`

Antonio Scandurra created

ebb7124 Use `scan_complete` and the new `ModelHandle::condition` test method

Antonio Scandurra created

d11d548 Rework `Worktree::scan_complete` to use a watch

Antonio Scandurra created

a4c1fe5 WIP: Add a condition method to model and view handles for use in tests

Click to expand commit body
It returns a future that resolves when the provided predicate returns true. The predicate is called any time the handle's targeted entity calls notify.

Still need to add a timeout and completely remove finsih_pending_tasks.

Nathan Sobo created

69a43af Add a method for waiting until a worktree's current scan is complete

Click to expand commit body
Start removing usages of finish_pending_tasks in tests

Max Brunsfeld created