ZIm/crates/git/src
Cole Miller a41d72ee81
Represent git statuses more faithfully (#23082)
First, parse the output of `git status --porcelain=v1` into a
representation that can handle the full "grammar" and doesn't lose
information.

Second, as part of pushing this throughout the codebase, expand the use
of the existing `GitSummary` type to all the places where status
propagation is in play (i.e., anywhere we're dealing with a mix of files
and directories), and get rid of the previous `GitSummary ->
GitFileStatus` conversion.

- [x] Synchronize new representation over collab
  - [x] Update zed.proto
  - [x] Update DB models
- [x] Update `GitSummary` and summarization for the new `FileStatus`
- [x] Fix all tests
  - [x] worktree
  - [x] collab
- [x] Clean up `FILE_*` constants
- [x] New collab tests to exercise syncing of complex statuses
- [x] Run it locally and make sure it looks good

Release Notes:

- N/A

---------

Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Conrad <conrad@zed.dev>
2025-01-16 00:01:38 +00:00
..
blame.rs windows: Set CREATE_NO_WINDOW for commands (#18447) 2024-11-20 16:52:38 -08:00
commit.rs windows: Set CREATE_NO_WINDOW for commands (#18447) 2024-11-20 16:52:38 -08:00
diff.rs Restructure git diff state management to allow viewing buffers with different diff bases (#21258) 2024-12-04 15:02:33 -08:00
git.rs Move git status out of Entry (#22224) 2025-01-04 01:00:16 +00:00
hosting_provider.rs Make Git remote URL parsing more robust (#19924) 2024-10-29 16:19:05 -04:00
remote.rs Detect wider variety of usernames for SSH-based remotes (#21508) 2024-12-05 15:23:37 -08:00
repository.rs Represent git statuses more faithfully (#23082) 2025-01-16 00:01:38 +00:00
status.rs Represent git statuses more faithfully (#23082) 2025-01-16 00:01:38 +00:00