summaryrefslogtreecommitdiffstats
path: root/vendor/gix-protocol/src/handshake/refs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gix-protocol/src/handshake/refs')
-rw-r--r--vendor/gix-protocol/src/handshake/refs/shared.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/vendor/gix-protocol/src/handshake/refs/shared.rs b/vendor/gix-protocol/src/handshake/refs/shared.rs
index 1d0dfc256..046a2a1b1 100644
--- a/vendor/gix-protocol/src/handshake/refs/shared.rs
+++ b/vendor/gix-protocol/src/handshake/refs/shared.rs
@@ -123,6 +123,10 @@ pub(in crate::handshake::refs) fn parse_v1(
}
match path.strip_suffix(b"^{}") {
Some(stripped) => {
+ if hex_hash.iter().all(|b| *b == b'0') && stripped == b"capabilities" {
+ // this is a special dummy-ref just for the sake of getting capabilities across in a repo that is empty.
+ return Ok(());
+ }
let (previous_path, tag) =
out_refs
.pop()