From: Junio C Hamano Date: Wed, 24 Jun 2015 19:21:45 +0000 (-0700) Subject: Merge branch 'rl/am-3way-config' X-Git-Tag: v2.5.0-rc0~21 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/4b64c8a1eea6b44fb8505ec46cccf8255c7e6c63?hp=-c Merge branch 'rl/am-3way-config' "git am" learned am.threeWay configuration variable. * rl/am-3way-config: git-am: add am.threeWay config variable t4150-am: refactor am -3 tests git-am.sh: fix initialization of the threeway variable --- 4b64c8a1eea6b44fb8505ec46cccf8255c7e6c63 diff --combined Documentation/config.txt index 43bb53c047,77ada666f7..3e37b93ed2 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@@ -453,8 -453,6 +453,8 @@@ false), while all other repositories ar core.worktree:: Set the path to the root of the working tree. + If GIT_COMMON_DIR environment variable is set, core.worktree + is ignored and not used for determining the root of working tree. This can be overridden by the GIT_WORK_TREE environment variable and the '--work-tree' command-line option. The value can be an absolute path or relative to the path to @@@ -624,12 -622,6 +624,12 @@@ core.commentChar: If set to "auto", `git-commit` would select a character that is not the beginning character of any line in existing commit messages. +core.packedRefsTimeout:: + The length of time, in milliseconds, to retry when trying to + lock the `packed-refs` file. Value 0 means not to retry at + all; -1 means to try indefinitely. Default is 1000 (i.e., + retry for 1 second). + sequence.editor:: Text editor used by `git rebase -i` for editing the rebase instruction file. The value is meant to be interpreted by the shell when it is used. @@@ -769,6 -761,14 +769,14 @@@ am.keepcr: by giving '--no-keep-cr' from the command line. See linkgit:git-am[1], linkgit:git-mailsplit[1]. + am.threeWay:: + By default, `git am` will fail if the patch does not apply cleanly. When + set to true, this setting tells `git am` to fall back on 3-way merge if + the patch records the identity of blobs it is supposed to apply to and + we have those blobs available locally (equivalent to giving the `--3way` + option from the command line). Defaults to `false`. + See linkgit:git-am[1]. + apply.ignoreWhitespace:: When set to 'change', tells 'git apply' to ignore changes in whitespace, in the same way as the '--ignore-space-change' @@@ -914,8 -914,7 +922,8 @@@ command line with the `--color[=] color.diff.:: Use customized color for diff colorization. `` specifies which part of the patch to use the specified color, and is one - of `plain` (context text), `meta` (metainformation), `frag` + of `context` (context text - `plain` is a historical synonym), + `meta` (metainformation), `frag` (hunk header), 'func' (function in hunk header), `old` (removed lines), `new` (added lines), `commit` (commit headers), or `whitespace` (highlighting whitespace errors). @@@ -1283,13 -1282,6 +1291,13 @@@ gc.pruneExpire: "now" may be used to disable this grace period and always prune unreachable objects immediately. +gc.pruneWorktreesExpire:: + When 'git gc' is run, it will call + 'prune --worktrees --expire 3.months.ago'. + Override the grace period with this config variable. The value + "now" may be used to disable the grace period and prune + $GIT_DIR/worktrees immediately. + gc.reflogExpire:: gc..reflogExpire:: 'git reflog expire' removes reflog entries older than @@@ -1576,19 -1568,6 +1584,19 @@@ http.saveCookies: If set, store cookies received during requests to the file specified by http.cookieFile. Has no effect if http.cookieFile is unset. +http.sslCipherList:: + A list of SSL ciphers to use when negotiating an SSL connection. + The available ciphers depend on whether libcurl was built against + NSS or OpenSSL and the particular configuration of the crypto + library in use. Internally this sets the 'CURLOPT_SSL_CIPHER_LIST' + option; see the libcurl documentation for more details on the format + of this list. ++ +Can be overridden by the 'GIT_SSL_CIPHER_LIST' environment variable. +To force git to use libcurl's default cipher list and ignore any +explicit http.sslCipherList option, set 'GIT_SSL_CIPHER_LIST' to the +empty string. + http.sslVerify:: Whether to verify the SSL certificate when fetching or pushing over HTTPS. Can be overridden by the 'GIT_SSL_NO_VERIFY' environment @@@ -2062,7 -2041,7 +2070,7 @@@ pull.ff: a case (equivalent to giving the `--no-ff` option from the command line). When set to `only`, only such fast-forward merges are allowed (equivalent to giving the `--ff-only` option from the - command line). + command line). This setting overrides `merge.ff` when pulling. pull.rebase:: When true, rebase branches on top of the fetched branch, instead @@@ -2299,18 -2278,18 +2307,18 @@@ remote..skipFetchAll: remote..receivepack:: The default program to execute on the remote side when pushing. See - option \--receive-pack of linkgit:git-push[1]. + option --receive-pack of linkgit:git-push[1]. remote..uploadpack:: The default program to execute on the remote side when fetching. See - option \--upload-pack of linkgit:git-fetch-pack[1]. + option --upload-pack of linkgit:git-fetch-pack[1]. remote..tagOpt:: - Setting this value to \--no-tags disables automatic tag following when - fetching from remote . Setting it to \--tags will fetch every + Setting this value to --no-tags disables automatic tag following when + fetching from remote . Setting it to --tags will fetch every tag from remote , even if they are not reachable from remote branch heads. Passing these flags directly to linkgit:git-fetch[1] can - override this setting. See options \--tags and \--no-tags of + override this setting. See options --tags and --no-tags of linkgit:git-fetch[1]. remote..vcs:: @@@ -2559,20 -2538,14 +2567,20 @@@ uploadpack.hideRefs: are under the hierarchies listed on the value of this variable is excluded, and is hidden from `git ls-remote`, `git fetch`, etc. An attempt to fetch a hidden ref by `git - fetch` will fail. See also `uploadpack.allowtipsha1inwant`. + fetch` will fail. See also `uploadpack.allowTipSHA1InWant`. -uploadpack.allowtipsha1inwant:: +uploadpack.allowTipSHA1InWant:: When `uploadpack.hideRefs` is in effect, allow `upload-pack` to accept a fetch request that asks for an object at the tip of a hidden ref (by default, such a request is rejected). see also `uploadpack.hideRefs`. +uploadpack.allowReachableSHA1InWant:: + Allow `upload-pack` to accept a fetch request that asks for an + object that is reachable from any ref tip. However, note that + calculating object reachability is computationally expensive. + Defaults to `false`. + uploadpack.keepAlive:: When `upload-pack` has started `pack-objects`, there may be a quiet period while `pack-objects` prepares the pack. Normally diff --combined git-am.sh index 761befbd37,ab8479eb45..75e701a3b0 --- a/git-am.sh +++ b/git-am.sh @@@ -378,6 -378,7 +378,7 @@@ committer_date_is_author_date ignore_date= allow_rerere_autoupdate= gpg_sign_opt= + threeway= if test "$(git config --bool --get am.messageid)" = true then @@@ -389,6 -390,11 +390,11 @@@ the keepcr=t fi + if test "$(git config --bool --get am.threeWay)" = true + then + threeway=t + fi + while test $# != 0 do case "$1" in @@@ -400,6 -406,8 +406,8 @@@ it will be removed. Please do not use i ;; -3|--3way) threeway=t ;; + --no-3way) + threeway=f ;; -s|--signoff) sign=t ;; -u|--utf8) @@@ -657,6 -665,8 +665,8 @@@ f if test "$(cat "$dotest/threeway")" = t then threeway=t + else + threeway=f fi git_apply_opt=$(cat "$dotest/apply-opt") if test "$(cat "$dotest/sign")" = t @@@ -827,10 -837,10 +837,10 @@@ To restore the original branch and sto continue fi - if test -x "$GIT_DIR"/hooks/applypatch-msg + hook="$(git rev-parse --git-path hooks/applypatch-msg)" + if test -x "$hook" then - "$GIT_DIR"/hooks/applypatch-msg "$dotest/final-commit" || - stop_here $this + "$hook" "$dotest/final-commit" || stop_here $this fi if test -f "$dotest/final-commit" @@@ -904,10 -914,9 +914,10 @@@ did you forget to use 'git add'? stop_here_user_resolve $this fi - if test -x "$GIT_DIR"/hooks/pre-applypatch + hook="$(git rev-parse --git-path hooks/pre-applypatch)" + if test -x "$hook" then - "$GIT_DIR"/hooks/pre-applypatch || stop_here $this + "$hook" || stop_here $this fi tree=$(git write-tree) && @@@ -934,17 -943,18 +944,17 @@@ echo "$(cat "$dotest/original-commit") $commit" >> "$dotest/rewritten" fi - if test -x "$GIT_DIR"/hooks/post-applypatch - then - "$GIT_DIR"/hooks/post-applypatch - fi + hook="$(git rev-parse --git-path hooks/post-applypatch)" + test -x "$hook" && "$hook" go_next done if test -s "$dotest"/rewritten; then git notes copy --for-rewrite=rebase < "$dotest"/rewritten - if test -x "$GIT_DIR"/hooks/post-rewrite; then - "$GIT_DIR"/hooks/post-rewrite rebase < "$dotest"/rewritten + hook="$(git rev-parse --git-path hooks/post-rewrite)" + if test -x "$hook"; then + "$hook" rebase < "$dotest"/rewritten fi fi