From: Bojun Chen <bojun.cbj@alibaba-inc.com>
Rewrite log messages to more clearly describe the problem.
Chen Bojun (1):
receive-pack: purge temporary data if no command is ready to run
builtin/receive-pack.c | 9 +++++++++
t/t5516-fetch-push.sh | 8 ++++++++
2 files changed, 17 insertions(+)
Range-diff against v2:
1: 72f49f1792 ! 1: 0b5793d1ea receive-pack: purge temporary data if no command is ready to run
@@ Metadata
## Commit message ##
receive-pack: purge temporary data if no command is ready to run
- When pushing a hidden ref, e.g.:
+ When pushing to "receive-pack", commands may have already been marked
+ with error_string or skip_update before being fed to the "pre-receive"
+ hook. E.g.:
- $ git push origin HEAD:refs/hidden/foo
+ * inconsistent push-options for signed push.
+ * not permited shallow updates.
+ * encounter connectivity issues.
+ * push to hidden references.
- "receive-pack" will reject our request with an error message like this:
+ Take pushing to hidden references as an example.
- ! [remote rejected] HEAD -> refs/hidden/foo (deny updating a hidden ref)
+ In order to reduce the size of reference advertisement for git-push from
+ a client which does not support protocol v2 and push negotiation, the
+ administrator may set certain config variables to hide some references
+ like:
+
+ $ git config --system --add receive.hideRefs refs/merge-requests
+
+ Then, if a user made a push like this:
+
+ $ git push origin HEAD:refs/merge-requests/123/head
+
+ "receive-pack" would reject the request with an error message like this:
+
+ ! [remote rejected] HEAD -> refs/merge-requests/123/head
+ (deny updating a hidden ref)
The remote side ("git-receive-pack") will not create the hidden ref as
expected, but the pack file sent by "git-send-pack" is left inside the