aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/transport/test
diff options
context:
space:
mode:
authorSantiago M. Mola <santi@mola.io>2017-07-10 18:25:28 +0200
committerSantiago M. Mola <santi@mola.io>2017-07-11 10:30:51 +0200
commit09f5f2a35f0f4c42b2def0642540f32e59fdeeb3 (patch)
tree02bfd08632ac8559e6f35cdbdb218de78a21e1e4 /plumbing/transport/test
parent6b69a1630b30c41f4563fd95aca1d647ba611adf (diff)
downloadgo-git-09f5f2a35f0f4c42b2def0642540f32e59fdeeb3.tar.gz
improve delete support on push
* server: implement delete-refs and announce it. * remote: check if server announced delete-refs before trying to delete and fail fast if it does not. Note that the client does not need no send 'delete-refs' back to the server to be able to delete references: ``` delete-refs ----------- If the server sends back the 'delete-refs' capability, it means that it is capable of accepting a zero-id value as the target value of a reference update. It is not sent back by the client, it simply informs the client that it can be sent zero-id values to delete references. ``` So our server implementation does not check if the client sent delete-refs back, it just accepts deletes if it receives them.
Diffstat (limited to 'plumbing/transport/test')
-rw-r--r--plumbing/transport/test/receive_pack.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/plumbing/transport/test/receive_pack.go b/plumbing/transport/test/receive_pack.go
index bb1c58a..15172c8 100644
--- a/plumbing/transport/test/receive_pack.go
+++ b/plumbing/transport/test/receive_pack.go
@@ -308,6 +308,10 @@ func (s *ReceivePackSuite) testSendPackDeleteReference(c *C) {
req.Capabilities.Set(capability.ReportStatus)
}
+ if !ar.Capabilities.Supports(capability.DeleteRefs) {
+ c.Fatal("capability delete-refs not supported")
+ }
+
c.Assert(r.Close(), IsNil)
s.receivePack(c, s.Endpoint, req, nil, false)