So this is the second round, unifying the handling of "hidden refs"
a hosting site administrator may want to handle differently from
normal refs available to upload-pack and receive-pack.  Big thanks
to Peff for making me realize that what is shown to "git push"
should match what is shown to "git fetch/clone".

The configuration variable has been changed to "transfer.hiderefs"
in this round.  I picked refs.[ch] as the shared location to place
the machinery that deals with this configuration, but I am not proud
of the choice---there may be a more suitable place.

The third patch is new; it prevents a hidden ref to be deleted or
updated via "git push" to ensure that its contents are controlled
only from the server side using some side channel (e.g. pull-request
UI on the Web).

There is no "git fetch $there $exact_sha1_obtained_out_of_band"
yet; that must come next, together with a mechanism to control the
availability of it on the server side.

For those who missed it, the first round starts at

Junio C Hamano (3):
  upload-pack: share more code
  upload-pack: allow hiding ref hiearchies
  receive-pack: reject an attempt to update/delete a hidden ref

 Documentation/config.txt |  9 +++++++++
 builtin/receive-pack.c   | 24 +++++++++++++++++++++++
 refs.c                   | 41 +++++++++++++++++++++++++++++++++++++++
 refs.h                   |  3 +++
 t/     |  9 +++++++++
 t/    | 24 +++++++++++++++++++++++
 upload-pack.c            | 50 ++++++++++++++++++++++++++++++++----------------
 7 files changed, 144 insertions(+), 16 deletions(-)


To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to