| receive.advertiseAtomic:: | |
| By default, git-receive-pack will advertise the atomic push | |
| capability to its clients. If you don't want to advertise this | |
| capability, set this variable to false. | |
| receive.advertisePushOptions:: | |
| When set to true, git-receive-pack will advertise the push options | |
| capability to its clients. False by default. | |
| receive.autogc:: | |
| By default, git-receive-pack will run "git maintenance run --auto" after | |
| receiving data from git-push and updating refs. You can stop | |
| it by setting this variable to false. | |
| receive.certNonceSeed:: | |
| By setting this variable to a string, `git receive-pack` | |
| will accept a `git push --signed` and verify it by using | |
| a "nonce" protected by HMAC using this string as a secret | |
| key. | |
| receive.certNonceSlop:: | |
| When a `git push --signed` sends a push certificate with a | |
| "nonce" that was issued by a receive-pack serving the same | |
| repository within this many seconds, export the "nonce" | |
| found in the certificate to `GIT_PUSH_CERT_NONCE` to the | |
| hooks (instead of what the receive-pack asked the sending | |
| side to include). This may allow writing checks in | |
| `pre-receive` and `post-receive` a bit easier. Instead of | |
| checking `GIT_PUSH_CERT_NONCE_SLOP` environment variable | |
| that records by how many seconds the nonce is stale to | |
| decide if they want to accept the certificate, they only | |
| can check `GIT_PUSH_CERT_NONCE_STATUS` is `OK`. | |
| receive.fsckObjects:: | |
| If it is set to true, git-receive-pack will check all received | |
| objects. See `transfer.fsckObjects` for what's checked. | |
| Defaults to false. If not set, the value of | |
| `transfer.fsckObjects` is used instead. | |
| receive.fsck.<msg-id>:: | |
| Acts like `fsck.<msg-id>`, but is used by | |
| linkgit:git-receive-pack[1] instead of | |
| linkgit:git-fsck[1]. See the `fsck.<msg-id>` documentation for | |
| details. | |
| receive.fsck.skipList:: | |
| Acts like `fsck.skipList`, but is used by | |
| linkgit:git-receive-pack[1] instead of | |
| linkgit:git-fsck[1]. See the `fsck.skipList` documentation for | |
| details. | |
| receive.keepAlive:: | |
| After receiving the pack from the client, `receive-pack` may | |
| produce no output (if `--quiet` was specified) while processing | |
| the pack, causing some networks to drop the TCP connection. | |
| With this option set, if `receive-pack` does not transmit | |
| any data in this phase for `receive.keepAlive` seconds, it will | |
| send a short keepalive packet. The default is 5 seconds; set | |
| to 0 to disable keepalives entirely. | |
| receive.unpackLimit:: | |
| If the number of objects received in a push is below this | |
| limit then the objects will be unpacked into loose object | |
| files. However if the number of received objects equals or | |
| exceeds this limit then the received pack will be stored as | |
| a pack, after adding any missing delta bases. Storing the | |
| pack from a push can make the push operation complete faster, | |
| especially on slow filesystems. If not set, the value of | |
| `transfer.unpackLimit` is used instead. | |
| receive.maxInputSize:: | |
| If the size of the incoming pack stream is larger than this | |
| limit, then git-receive-pack will error out, instead of | |
| accepting the pack file. If not set or set to 0, then the size | |
| is unlimited. | |
| receive.denyDeletes:: | |
| If set to true, git-receive-pack will deny a ref update that deletes | |
| the ref. Use this to prevent such a ref deletion via a push. | |
| receive.denyDeleteCurrent:: | |
| If set to true, git-receive-pack will deny a ref update that | |
| deletes the currently checked out branch of a non-bare repository. | |
| receive.denyCurrentBranch:: | |
| If set to true or "refuse", git-receive-pack will deny a ref update | |
| to the currently checked out branch of a non-bare repository. | |
| Such a push is potentially dangerous because it brings the HEAD | |
| out of sync with the index and working tree. If set to "warn", | |
| print a warning of such a push to stderr, but allow the push to | |
| proceed. If set to false or "ignore", allow such pushes with no | |
| message. Defaults to "refuse". | |
| + | |
| Another option is "updateInstead" which will update the working | |
| tree if pushing into the current branch. This option is | |
| intended for synchronizing working directories when one side is not easily | |
| accessible via interactive ssh (e.g. a live web site, hence the requirement | |
| that the working directory be clean). This mode also comes in handy when | |
| developing inside a VM to test and fix code on different Operating Systems. | |
| + | |
| By default, "updateInstead" will refuse the push if the working tree or | |
| the index have any difference from the HEAD, but the `push-to-checkout` | |
| hook can be used to customize this. See linkgit:githooks[5]. | |
| receive.denyNonFastForwards:: | |
| If set to true, git-receive-pack will deny a ref update which is | |
| not a fast-forward. Use this to prevent such an update via a push, | |
| even if that push is forced. This configuration variable is | |
| set when initializing a shared repository. | |
| receive.hideRefs:: | |
| This variable is the same as `transfer.hideRefs`, but applies | |
| only to `receive-pack` (and so affects pushes, but not fetches). | |
| An attempt to update or delete a hidden ref by `git push` is | |
| rejected. | |
| receive.procReceiveRefs:: | |
| This is a multi-valued variable that defines reference prefixes | |
| to match the commands in `receive-pack`. Commands matching the | |
| prefixes will be executed by an external hook "proc-receive", | |
| instead of the internal `execute_commands` function. If this | |
| variable is not defined, the "proc-receive" hook will never be | |
| used, and all commands will be executed by the internal | |
| `execute_commands` function. | |
| + | |
| For example, if this variable is set to "refs/for", pushing to reference | |
| such as "refs/for/master" will not create or update a reference named | |
| "refs/for/master", but may create or update a pull request directly by | |
| running the hook "proc-receive". | |
| + | |
| Optional modifiers can be provided in the beginning of the value to filter | |
| commands for specific actions: create (a), modify (m), delete (d). | |
| A `!` can be included in the modifiers to negate the reference prefix entry. | |
| E.g.: | |
| + | |
| git config --system --add receive.procReceiveRefs ad:refs/heads | |
| git config --system --add receive.procReceiveRefs !:refs/heads | |
| receive.updateServerInfo:: | |
| If set to true, git-receive-pack will run git-update-server-info | |
| after receiving data from git-push and updating refs. | |
| receive.shallowUpdate:: | |
| If set to true, .git/shallow can be updated when new refs | |
| require new shallow roots. Otherwise those refs are rejected. |