ZIm/crates/proto
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
..
proto Represent git statuses more faithfully (#23082) 2025-01-16 00:01:38 +00:00
src Fix a bug where repositories were always being marked as changed (#22725) 2025-01-06 19:03:15 +00:00
build.rs Allow rpc_url to be assigned on Client with test-support feature (#13430) 2024-07-10 13:36:22 -06:00
Cargo.toml Move ProtoClient to RPC crate, behind feature flag disabled in collab (#17908) 2024-09-16 14:50:30 -07:00
LICENSE-GPL Add missing LICENSE file to proto crate (#12863) 2024-06-10 15:35:37 -04:00