Junio C Hamano [Wed, 13 Jul 2016 18:24:14 +0000 (11:24 -0700)]
Merge branch 'js/sign-empty-commit-fix'
"git commit --amend --allow-empty-message -S" for a commit without
any message body could have misidentified where the header of the
commit object ends.
* js/sign-empty-commit-fix:
commit -S: avoid invalid pointer with empty message
Junio C Hamano [Wed, 13 Jul 2016 18:24:14 +0000 (11:24 -0700)]
Merge branch 'mm/doc-tt'
More mark-up updates to typeset strings that are expected to
literally typed by the end user in fixed-width font.
* mm/doc-tt:
doc: typeset HEAD and variants as literal
CodingGuidelines: formatting HEAD in documentation
doc: typeset long options with argument as literal
doc: typeset '--' as literal
doc: typeset long command-line options as literal
doc: typeset short command-line options as literal
Documentation/git-mv.txt: fix whitespace indentation
Junio C Hamano [Wed, 13 Jul 2016 18:24:13 +0000 (11:24 -0700)]
Merge branch 'dg/subtree-rebase-test'
Add a test to specify the desired behaviour that currently is not
available in "git rebase -Xsubtree=...".
* dg/subtree-rebase-test:
contrib/subtree: Add a test for subtree rebase that loses commits
Junio C Hamano [Wed, 13 Jul 2016 18:24:12 +0000 (11:24 -0700)]
Merge branch 'nd/doc-new-command'
Typofix in a doc.
* nd/doc-new-command:
new-command.txt: correct the command description file
Junio C Hamano [Wed, 13 Jul 2016 18:24:12 +0000 (11:24 -0700)]
Merge branch 'ew/gc-auto-pack-limit-fix'
"gc.autoPackLimit" when set to 1 should not trigger a repacking
when there is only one pack, but the code counted poorly and did
so.
* ew/gc-auto-pack-limit-fix:
gc: fix off-by-one error with gc.autoPackLimit
Junio C Hamano [Wed, 13 Jul 2016 18:24:11 +0000 (11:24 -0700)]
Merge branch 'ah/unpack-trees-advice-messages'
Grammofix.
* ah/unpack-trees-advice-messages:
unpack-trees: fix English grammar in do-this-before-that messages
Junio C Hamano [Wed, 13 Jul 2016 18:24:10 +0000 (11:24 -0700)]
Merge branch 'va/i18n-even-more'
More markings of messages for i18n, with updates to various tests
to pass GETTEXT_POISON tests.
One patch from the original submission dropped due to conflicts
with jk/upload-pack-hook, which is still in flux.
* va/i18n-even-more: (38 commits)
t5541: become resilient to GETTEXT_POISON
i18n: branch: mark comment when editing branch description for translation
i18n: unmark die messages for translation
i18n: submodule: escape shell variables inside eval_gettext
i18n: submodule: join strings marked for translation
i18n: init-db: join message pieces
i18n: remote: allow translations to reorder message
i18n: remote: mark URL fallback text for translation
i18n: standardise messages
i18n: sequencer: add period to error message
i18n: merge: change command option help to lowercase
i18n: merge: mark messages for translation
i18n: notes: mark options for translation
i18n: notes: mark strings for translation
i18n: transport-helper.c: change N_() call to _()
i18n: bisect: mark strings for translation
t5523: use test_i18ngrep for negation
t4153: fix negated test_i18ngrep call
t9003: become resilient to GETTEXT_POISON
tests: unpack-trees: update to use test_i18n* functions
...
Junio C Hamano [Mon, 11 Jul 2016 17:46:39 +0000 (10:46 -0700)]
Sync with v2.9.1
* maint:
Git 2.9.1
Junio C Hamano [Mon, 11 Jul 2016 17:45:50 +0000 (10:45 -0700)]
Git 2.9.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 11 Jul 2016 17:44:19 +0000 (10:44 -0700)]
Merge branch 'jc/t2300-setup' into maint
Portability fix for Windows.
* jc/t2300-setup:
t2300: "git --exec-path" is not usable in $PATH on Windows as-is
Junio C Hamano [Mon, 11 Jul 2016 17:44:18 +0000 (10:44 -0700)]
Merge branch 'cb/t7810-test-label-fix' into maint
Test clean-up.
* cb/t7810-test-label-fix:
t7810: fix duplicated test title
Junio C Hamano [Mon, 11 Jul 2016 17:44:17 +0000 (10:44 -0700)]
Merge branch 'sb/t5614-modernize' into maint
Test clean-up.
* sb/t5614-modernize:
t5614: don't use subshells
Junio C Hamano [Mon, 11 Jul 2016 17:44:16 +0000 (10:44 -0700)]
Merge branch 'jn/preformatted-doc-url' into maint
The top level documentation "git help git" still pointed at the
documentation set hosted at now-defunct google-code repository.
Update it to point to https://git.github.io/htmldocs/git.html
instead.
* jn/preformatted-doc-url:
doc: git-htmldocs.googlecode.com is no more
Junio C Hamano [Mon, 11 Jul 2016 17:44:16 +0000 (10:44 -0700)]
Merge branch 'ao/p4-has-branch-prefix-fix' into maint
A bug, which caused "git p4" while running under verbose mode to
report paths that are omitted due to branch prefix incorrectly, has
been fixed; the command said "Ignoring file outside of prefix" for
paths that are _inside_.
* ao/p4-has-branch-prefix-fix:
git-p4: correct hasBranchPrefix verbose output
Junio C Hamano [Mon, 11 Jul 2016 17:44:15 +0000 (10:44 -0700)]
Merge branch 'js/perf-on-apple' into maint
t/perf needs /usr/bin/time with GNU extension; the invocation of it
is updated to "gtime" on Darwin.
* js/perf-on-apple:
perf: accommodate for MacOSX
Junio C Hamano [Mon, 11 Jul 2016 17:44:15 +0000 (10:44 -0700)]
Merge branch 'ak/t7800-wo-readlink' into maint
One among four invocations of readlink(1) in our test suite has
been rewritten so that the test can run on systems without the
command (others are in valgrind test framework and t9802).
* ak/t7800-wo-readlink:
t7800: readlink may not be available
Junio C Hamano [Mon, 11 Jul 2016 17:44:14 +0000 (10:44 -0700)]
Merge branch 'jk/tzoffset-fix' into maint
The internal code used to show local timezone offset is not
prepared to handle timestamps beyond year 2100, and gave a
bogus offset value to the caller. Use a more benign looking
+0000 instead and let "git log" going in such a case, instead
of aborting.
* jk/tzoffset-fix:
local_tzoffset: detect errors from tm_to_time_t
t0006: test various date formats
t0006: rename test-date's "show" to "relative"
Junio C Hamano [Mon, 11 Jul 2016 17:44:13 +0000 (10:44 -0700)]
Merge branch 'js/mingw-parameter-less-c-functions' into maint
Some platform-specific code had non-ANSI strict declarations of C
functions that do not take any parameters, which has been
corrected.
* js/mingw-parameter-less-c-functions:
mingw: let the build succeed with DEVELOPER=1
Junio C Hamano [Mon, 11 Jul 2016 17:44:13 +0000 (10:44 -0700)]
Merge branch 'lc/shell-default-value-noexpand' into maint
Fix unnecessarily waste in the idiomatic use of ': ${VAR=default}'
to set the default value, without enclosing it in double quotes.
* lc/shell-default-value-noexpand:
sh-setup: enclose setting of ${VAR=default} in double-quotes
Junio C Hamano [Mon, 11 Jul 2016 17:44:12 +0000 (10:44 -0700)]
Merge branch 'sb/clone-shallow-passthru' into maint
Fix an unintended regression in v2.9 that breaks "clone --depth"
that recurses down to submodules by forcing the submodules to also
be cloned shallowly, which many server instances that host upstream
of the submodules are not prepared for.
* sb/clone-shallow-passthru:
clone: do not let --depth imply --shallow-submodules
Junio C Hamano [Mon, 11 Jul 2016 17:44:11 +0000 (10:44 -0700)]
Merge branch 'mg/signature-doc' into maint
Formats of the various data (and how to validate them) where we use
GPG signature have been documented.
* mg/signature-doc:
Documentation/technical: signed merge tag format
Documentation/technical: signed commit format
Documentation/technical: signed tag format
Documentation/technical: describe signature formats
Junio C Hamano [Mon, 11 Jul 2016 17:44:11 +0000 (10:44 -0700)]
Merge branch 'jk/bisect-show-tree' into maint
"git bisect" makes an internal call to "git diff-tree" when
bisection finds the culprit, but this call did not initialize the
data structure to pass to the diff-tree API correctly.
* jk/bisect-show-tree:
bisect: always call setup_revisions after init_revisions
Junio C Hamano [Mon, 11 Jul 2016 17:44:10 +0000 (10:44 -0700)]
Merge branch 'km/fetch-do-not-free-remote-name' into maint
The ownership rule for the piece of memory that hold references to
be fetched in "git fetch" was screwy, which has been cleaned up.
* km/fetch-do-not-free-remote-name:
builtin/fetch.c: don't free remote->name after fetch
Junio C Hamano [Mon, 11 Jul 2016 17:44:09 +0000 (10:44 -0700)]
Merge branch 'nd/graph-width-padded' into maint
"log --graph --format=" learned that "%>|(N)" specifies the width
relative to the terminal's left edge, not relative to the area to
draw text that is to the right of the ancestry-graph section. It
also now accepts negative N that means the column limit is relative
to the right border.
* nd/graph-width-padded:
pretty.c: support <direction>|(<negative number>) forms
pretty: pass graph width to pretty formatting for use in '%>|(N)'
Junio C Hamano [Mon, 11 Jul 2016 17:44:09 +0000 (10:44 -0700)]
Merge branch 'jk/add-i-diff-compact-heuristics' into maint
"git add -i/-p" learned to honor diff.compactionHeuristic
experimental knob, so that the user can work on the same hunk split
as "git diff" output.
* jk/add-i-diff-compact-heuristics:
add--interactive: respect diff.compactionHeuristic
Junio C Hamano [Mon, 11 Jul 2016 17:36:29 +0000 (10:36 -0700)]
Fourth batch of topics for 2.10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 11 Jul 2016 17:31:52 +0000 (10:31 -0700)]
Merge branch 'master' of git://bogomips.org/git-svn
* 'master' of git://bogomips.org/git-svn:
git-svn: warn instead of dying when commit data is missing
git-svn: clone: Fail on missing url argument
Junio C Hamano [Mon, 11 Jul 2016 17:31:09 +0000 (10:31 -0700)]
Merge branch 'js/color-on-windows-comment'
For a long time, we carried an in-code comment that said our
colored output would work only when we use fprintf/fputs on
Windows, which no longer is the case for the past few years.
* js/color-on-windows-comment:
color.h: remove obsolete comment about limitations on Windows
Junio C Hamano [Mon, 11 Jul 2016 17:31:08 +0000 (10:31 -0700)]
Merge branch 'mj/log-show-signature-conf'
"git log" learns log.showSignature configuration variable, and a
command line option "--no-show-signature" to countermand it.
* mj/log-show-signature-conf:
log: add log.showSignature configuration variable
log: add "--no-show-signature" command line option
t4202: refactor test
Junio C Hamano [Mon, 11 Jul 2016 17:31:07 +0000 (10:31 -0700)]
Merge branch 'js/find-commit-subject-ignore-leading-blanks'
A helper function that takes the contents of a commit object and
finds its subject line did not ignore leading blank lines, as is
commonly done by other codepaths. Make it ignore leading blank
lines to match.
* js/find-commit-subject-ignore-leading-blanks:
reset --hard: skip blank lines when reporting the commit subject
sequencer: use skip_blank_lines() to find the commit subject
commit -C: skip blank lines at the beginning of the message
commit.c: make find_commit_subject() more robust
pretty: make the skip_blank_lines() function public
Junio C Hamano [Mon, 11 Jul 2016 17:31:06 +0000 (10:31 -0700)]
Merge branch 'jn/preformatted-doc-url'
The top level documentation "git help git" still pointed at the
documentation set hosted at now-defunct google-code repository.
Update it to point to https://git.github.io/htmldocs/git.html
instead.
* jn/preformatted-doc-url:
doc: git-htmldocs.googlecode.com is no more
Junio C Hamano [Mon, 11 Jul 2016 17:31:06 +0000 (10:31 -0700)]
Merge branch 'jk/perf-any-version'
Allow t/perf framework to use the features from the most recent
version of Git even when testing an older installed version.
* jk/perf-any-version:
p4211: explicitly disable renames in no-rename test
t/perf: fix regression in testing older versions of git
Junio C Hamano [Mon, 11 Jul 2016 17:31:05 +0000 (10:31 -0700)]
Merge branch 'jk/ansi-color'
The output coloring scheme learned two new attributes, italic and
strike, in addition to existing bold, reverse, etc.
* jk/ansi-color:
color: support strike-through attribute
color: support "italic" attribute
color: allow "no-" for negating attributes
color: refactor parse_attr
add skip_prefix_mem helper
doc: refactor description of color format
color: fix max-size comment
Junio C Hamano [Mon, 11 Jul 2016 17:31:04 +0000 (10:31 -0700)]
Merge branch 'sb/submodule-clone-retry'
"git submodule update" that drives many "git clone" could
eventually hit flaky servers/network conditions on one of the
submodules; the command learned to retry the attempt.
* sb/submodule-clone-retry:
submodule update: continue when a clone fails
submodule--helper: initial clone learns retry logic
Junio C Hamano [Mon, 11 Jul 2016 17:31:04 +0000 (10:31 -0700)]
Merge branch 'jc/send-email-skip-backup'
A careless invocation of "git send-email directory/" after editing
0001-change.patch with an editor often ends up sending both
0001-change.patch and its backup file, 0001-change.patch~, causing
embarrassment and a minor confusion. Detect such an input and
offer to skip the backup files when sending the patches out.
* jc/send-email-skip-backup:
send-email: detect and offer to skip backup files
Eric Wong [Sat, 2 Jul 2016 10:33:18 +0000 (10:33 +0000)]
git-svn: warn instead of dying when commit data is missing
It is possible to have refs globbed by git-svn which stores data
purely in git; gently skip those instead of dying and assuming
user error.
ref: http://mid.gmane.org/CALi1mtdtNF_GtzyPTbfb7N51wwxsFY7zm8hsgwxr3tHcZZboyg@mail.gmail.com
Suggested-by: Jacob Godserv <jacobgodserv@gmail.com>
Cc: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Eric Wong <e@80x24.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 6 Jul 2016 20:42:58 +0000 (13:42 -0700)]
Third batch of topics for 2.10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 6 Jul 2016 20:42:37 +0000 (13:42 -0700)]
Sync with maint
* maint:
More fixes for 2.9.1
mailmap: use main email address for dturner
Junio C Hamano [Wed, 6 Jul 2016 20:38:19 +0000 (13:38 -0700)]
Merge branch 'jc/t2300-setup'
Portability fix for Windows.
* jc/t2300-setup:
t2300: "git --exec-path" is not usable in $PATH on Windows as-is
Junio C Hamano [Wed, 6 Jul 2016 20:38:19 +0000 (13:38 -0700)]
Merge branch 'ao/p4-has-branch-prefix-fix'
A bug, which caused "git p4" while running under verbose mode to
report paths that are omitted due to branch prefix incorrectly, has
been fixed; the command said "Ignoring file outside of prefix" for
paths that are _inside_.
* ao/p4-has-branch-prefix-fix:
git-p4: correct hasBranchPrefix verbose output
Junio C Hamano [Wed, 6 Jul 2016 20:38:18 +0000 (13:38 -0700)]
Merge branch 'cb/t7810-test-label-fix'
Test clean-up.
* cb/t7810-test-label-fix:
t7810: fix duplicated test title
Junio C Hamano [Wed, 6 Jul 2016 20:38:17 +0000 (13:38 -0700)]
Merge branch 'sb/t5614-modernize'
Test clean-up.
* sb/t5614-modernize:
t5614: don't use subshells
Junio C Hamano [Wed, 6 Jul 2016 20:38:16 +0000 (13:38 -0700)]
Merge branch 'js/perf-on-apple'
t/perf needs /usr/bin/time with GNU extension; the invocation of it
is updated to "gtime" on Darwin.
* js/perf-on-apple:
perf: accommodate for MacOSX
Junio C Hamano [Wed, 6 Jul 2016 20:38:16 +0000 (13:38 -0700)]
Merge branch 'ak/t7800-wo-readlink'
One among four invocations of readlink(1) in our test suite has
been rewritten so that the test can run on systems without the
command (others are in valgrind test framework and t9802).
* ak/t7800-wo-readlink:
t7800: readlink may not be available
Junio C Hamano [Wed, 6 Jul 2016 20:38:15 +0000 (13:38 -0700)]
Merge branch 'jk/tzoffset-fix'
The internal code used to show local timezone offset is not
prepared to handle timestamps beyond year 2100, and gave a
bogus offset value to the caller. Use a more benign looking
+0000 instead and let "git log" going in such a case, instead
of aborting.
* jk/tzoffset-fix:
local_tzoffset: detect errors from tm_to_time_t
t0006: test various date formats
t0006: rename test-date's "show" to "relative"
Junio C Hamano [Wed, 6 Jul 2016 20:38:14 +0000 (13:38 -0700)]
Merge branch 'js/mingw-parameter-less-c-functions'
Some platform-specific code had non-ANSI strict declarations of C
functions that do not take any parameters, which has been
corrected.
* js/mingw-parameter-less-c-functions:
mingw: let the build succeed with DEVELOPER=1
Junio C Hamano [Wed, 6 Jul 2016 20:38:14 +0000 (13:38 -0700)]
Merge branch 'lc/shell-default-value-noexpand'
Fix unnecessarily waste in the idiomatic use of ': ${VAR=default}'
to set the default value, without enclosing it in double quotes.
* lc/shell-default-value-noexpand:
sh-setup: enclose setting of ${VAR=default} in double-quotes
Junio C Hamano [Wed, 6 Jul 2016 20:38:13 +0000 (13:38 -0700)]
Merge branch 'sb/clone-shallow-passthru'
Fix an unintended regression in v2.9 that breaks "clone --depth"
that recurses down to submodules by forcing the submodules to also
be cloned shallowly, which many server instances that host upstream
of the submodules are not prepared for.
* sb/clone-shallow-passthru:
clone: do not let --depth imply --shallow-submodules
Junio C Hamano [Wed, 6 Jul 2016 20:38:12 +0000 (13:38 -0700)]
Merge branch 'jk/gpg-interface-cleanup'
A new run-command API function pipe_command() is introduced to
sanely feed data to the standard input while capturing data from
the standard output and the standard error of an external process,
which is cumbersome to hand-roll correctly without deadlocking.
The codepath to sign data in a prepared buffer with GPG has been
updated to use this API to read from the status-fd to check for
errors (instead of relying on GPG's exit status).
* jk/gpg-interface-cleanup:
gpg-interface: check gpg signature creation status
sign_buffer: use pipe_command
verify_signed_buffer: use pipe_command
run-command: add pipe_command helper
verify_signed_buffer: use tempfile object
verify_signed_buffer: drop pbuf variable
gpg-interface: use child_process.args
Junio C Hamano [Wed, 6 Jul 2016 20:38:12 +0000 (13:38 -0700)]
Merge branch 'mg/signature-doc'
Formats of the various data (and how to validate them) where we use
GPG signature have been documented.
* mg/signature-doc:
Documentation/technical: signed merge tag format
Documentation/technical: signed commit format
Documentation/technical: signed tag format
Documentation/technical: describe signature formats
Junio C Hamano [Wed, 6 Jul 2016 20:38:12 +0000 (13:38 -0700)]
Merge branch 'nd/graph-width-padded'
"log --graph --format=" learned that "%>|(N)" specifies the width
relative to the terminal's left edge, not relative to the area to
draw text that is to the right of the ancestry-graph section. It
also now accepts negative N that means the column limit is relative
to the right border.
* nd/graph-width-padded:
pretty.c: support <direction>|(<negative number>) forms
pretty: pass graph width to pretty formatting for use in '%>|(N)'
Junio C Hamano [Wed, 6 Jul 2016 20:38:11 +0000 (13:38 -0700)]
Merge branch 'jk/repack-keep-unreachable'
"git repack" learned the "--keep-unreachable" option, which sends
loose unreachable objects to a pack instead of leaving them loose.
This helps heuristics based on the number of loose objects
(e.g. "gc --auto").
* jk/repack-keep-unreachable:
repack: extend --keep-unreachable to loose objects
repack: add --keep-unreachable option
repack: document --unpack-unreachable option
Junio C Hamano [Wed, 6 Jul 2016 20:38:11 +0000 (13:38 -0700)]
Merge branch 'ew/mboxrd-format-am'
Teach format-patch and mailsplit (hence "am") how a line that
happens to begin with "From " in the e-mail message is quoted with
">", so that these lines can be restored to their original shape.
* ew/mboxrd-format-am:
am: support --patch-format=mboxrd
mailsplit: support unescaping mboxrd messages
pretty: support "mboxrd" output format
Junio C Hamano [Wed, 6 Jul 2016 20:38:11 +0000 (13:38 -0700)]
Merge branch 'jk/upload-pack-hook'
"upload-pack" allows a custom "git pack-objects" replacement when
responding to "fetch/clone" via the uploadpack.packObjectsHook.
* jk/upload-pack-hook:
upload-pack: provide a hook for running pack-objects
t1308: do not get fooled by symbolic links to the source tree
config: add a notion of "scope"
config: return configset value for current_config_ functions
config: set up config_source for command-line config
git_config_parse_parameter: refactor cleanup code
git_config_with_options: drop "found" counting
Junio C Hamano [Wed, 6 Jul 2016 20:38:11 +0000 (13:38 -0700)]
Merge branch 'nd/worktree-cleanup-post-head-protection'
Further preparatory clean-up for "worktree" feature continues.
* nd/worktree-cleanup-post-head-protection:
worktree: simplify prefixing paths
worktree: avoid 0{40}, too many zeroes, hard to read
worktree.c: use is_dot_or_dotdot()
git-worktree.txt: keep subcommand listing in alphabetical order
worktree.c: rewrite mark_current_worktree() to avoid strbuf
completion: support git-worktree
Junio C Hamano [Wed, 6 Jul 2016 20:38:10 +0000 (13:38 -0700)]
Merge branch 'jk/bisect-show-tree'
"git bisect" makes an internal call to "git diff-tree" when
bisection finds the culprit, but this call did not initialize the
data structure to pass to the diff-tree API correctly.
* jk/bisect-show-tree:
bisect: always call setup_revisions after init_revisions
Junio C Hamano [Wed, 6 Jul 2016 20:38:09 +0000 (13:38 -0700)]
Merge branch 'lf/sideband-returns-void'
A small internal API cleanup.
* lf/sideband-returns-void:
upload-pack.c: make send_client_data() return void
sideband.c: make send_sideband() return void
Junio C Hamano [Wed, 6 Jul 2016 20:38:09 +0000 (13:38 -0700)]
Merge branch 'jk/add-i-diff-compact-heuristics'
"git add -i/-p" learned to honor diff.compactionHeuristic
experimental knob, so that the user can work on the same hunk split
as "git diff" output.
* jk/add-i-diff-compact-heuristics:
add--interactive: respect diff.compactionHeuristic
Junio C Hamano [Wed, 6 Jul 2016 20:38:08 +0000 (13:38 -0700)]
Merge branch 'km/fetch-do-not-free-remote-name'
The ownership rule for the piece of memory that hold references to
be fetched in "git fetch" was screwy, which has been cleaned up.
* km/fetch-do-not-free-remote-name:
builtin/fetch.c: don't free remote->name after fetch
Junio C Hamano [Wed, 6 Jul 2016 20:38:08 +0000 (13:38 -0700)]
Merge branch 'nd/test-lib-httpd-show-error-log-in-verbose'
HTTPd tests learned to show the server error log to help diagnosing
a failing tests.
* nd/test-lib-httpd-show-error-log-in-verbose:
lib-httpd.sh: print error.log on error
Junio C Hamano [Wed, 6 Jul 2016 20:38:07 +0000 (13:38 -0700)]
Merge branch 'jk/string-list-static-init'
Instead of taking advantage of a struct string_list that is
allocated with all NULs happens to be STRING_LIST_INIT_NODUP kind,
initialize them explicitly as such, to document their behaviour
better.
* jk/string-list-static-init:
use string_list initializer consistently
blame,shortlog: don't make local option variables static
interpret-trailers: don't duplicate option strings
parse_opt_string_list: stop allocating new strings
Junio C Hamano [Wed, 6 Jul 2016 20:38:07 +0000 (13:38 -0700)]
Merge branch 'jk/send-pack-stdio'
Code clean-up.
* jk/send-pack-stdio:
write_or_die: remove the unused write_or_whine() function
send-pack: use buffered I/O to talk to pack-objects
Junio C Hamano [Wed, 6 Jul 2016 20:38:06 +0000 (13:38 -0700)]
Merge branch 'pb/commit-editmsg-path'
Code clean-up.
* pb/commit-editmsg-path:
builtin/commit.c: memoize git-path for COMMIT_EDITMSG
Junio C Hamano [Wed, 6 Jul 2016 20:38:06 +0000 (13:38 -0700)]
Merge branch 'ep/http-curl-trace'
HTTP transport gained an option to produce more detailed debugging
trace.
* ep/http-curl-trace:
imap-send.c: introduce the GIT_TRACE_CURL enviroment variable
http.c: implement the GIT_TRACE_CURL environment variable
Junio C Hamano [Wed, 6 Jul 2016 20:08:02 +0000 (13:08 -0700)]
More fixes for 2.9.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 6 Jul 2016 20:06:46 +0000 (13:06 -0700)]
Merge branch 'jc/deref-tag' into maint
Code clean-up.
* jc/deref-tag:
blame, line-log: do not loop around deref_tag()
Junio C Hamano [Wed, 6 Jul 2016 20:06:45 +0000 (13:06 -0700)]
Merge branch 'pb/strbuf-read-file-doc' into maint
Minor doc update.
* pb/strbuf-read-file-doc:
strbuf: describe the return value of strbuf_read_file
Junio C Hamano [Wed, 6 Jul 2016 20:06:44 +0000 (13:06 -0700)]
Merge branch 'jk/fetch-prune-doc' into maint
Minor doc update.
* jk/fetch-prune-doc:
fetch: document that pruning happens before fetching
Junio C Hamano [Wed, 6 Jul 2016 20:06:43 +0000 (13:06 -0700)]
Merge branch 'pc/occurred' into maint
Typofix.
* pc/occurred:
config.c: fix misspelt "occurred" in an error message
refs.h: fix misspelt "occurred" in a comment
Junio C Hamano [Wed, 6 Jul 2016 20:06:42 +0000 (13:06 -0700)]
Merge branch 'mg/cherry-pick-multi-on-unborn' into maint
"git cherry-pick A" worked on an unborn branch, but "git
cherry-pick A..B" didn't.
* mg/cherry-pick-multi-on-unborn:
cherry-pick: allow to pick to unborn branches
Junio C Hamano [Wed, 6 Jul 2016 20:06:41 +0000 (13:06 -0700)]
Merge branch 'em/newer-freebsd-shells-are-fine-with-returns' into maint
Comments about misbehaving FreeBSD shells have been clarified with
the version number (9.x and before are broken, newer ones are OK).
* em/newer-freebsd-shells-are-fine-with-returns:
rebase: update comment about FreeBSD /bin/sh
Junio C Hamano [Wed, 6 Jul 2016 20:06:40 +0000 (13:06 -0700)]
Merge branch 'lv/status-say-working-tree-not-directory' into maint
"git status" used to say "working directory" when it meant "working
tree".
* lv/status-say-working-tree-not-directory:
Use "working tree" instead of "working directory" for git status
Junio C Hamano [Wed, 6 Jul 2016 20:06:40 +0000 (13:06 -0700)]
Merge branch 'nb/gnome-keyring-build' into maint
Build improvements for gnome-keyring (in contrib/)
* nb/gnome-keyring-build:
gnome-keyring: Don't hard-code pkg-config executable
Junio C Hamano [Wed, 6 Jul 2016 20:06:39 +0000 (13:06 -0700)]
Merge branch 'et/add-chmod-x' into maint
"git update-index --add --chmod=+x file" may be usable as an escape
hatch, but not a friendly thing to force for people who do need to
use it regularly. "git add --chmod=+x file" can be used instead.
* et/add-chmod-x:
add: add --chmod=+x / --chmod=-x options
Junio C Hamano [Wed, 6 Jul 2016 20:06:39 +0000 (13:06 -0700)]
Merge branch 'jk/avoid-unbounded-alloca' into maint
A codepath that used alloca(3) to place an unbounded amount of data
on the stack has been updated to avoid doing so.
* jk/avoid-unbounded-alloca:
tree-diff: avoid alloca for large allocations
Junio C Hamano [Wed, 6 Jul 2016 20:06:38 +0000 (13:06 -0700)]
Merge branch 'rj/compat-regex-size-max-fix' into maint
A compilation fix.
* rj/compat-regex-size-max-fix:
regex: fix a SIZE_MAX macro redefinition warning
Junio C Hamano [Wed, 6 Jul 2016 20:06:38 +0000 (13:06 -0700)]
Merge branch 'vs/prompt-avoid-unset-variable' into maint
The git-prompt scriptlet (in contrib/) was not friendly with those
who uses "set -u", which has been fixed.
* vs/prompt-avoid-unset-variable:
git-prompt.sh: Don't error on null ${ZSH,BASH}_VERSION, $short_sha
Junio C Hamano [Wed, 6 Jul 2016 20:06:37 +0000 (13:06 -0700)]
Merge branch 'sg/reflog-past-root' into maint
"git reflog" stopped upon seeing an entry that denotes a branch
creation event (aka "unborn"), which made it appear as if the
reflog was truncated.
* sg/reflog-past-root:
reflog: continue walking the reflog past root commits
Junio C Hamano [Wed, 6 Jul 2016 20:06:36 +0000 (13:06 -0700)]
Merge branch 'dn/gpg-doc' into maint
The documentation tries to consistently spell "GPG"; when
referring to the specific program name, "gpg" is used.
* dn/gpg-doc:
Documentation: GPG capitalization
Junio C Hamano [Wed, 6 Jul 2016 20:06:35 +0000 (13:06 -0700)]
Merge branch 'ap/git-svn-propset-doc' into maint
"git svn propset" subcommand that was added in 2.3 days is
documented now.
* ap/git-svn-propset-doc:
git-svn: document the 'git svn propset' command
Junio C Hamano [Wed, 6 Jul 2016 20:06:34 +0000 (13:06 -0700)]
Merge branch 'tr/doc-tt' into maint
The documentation set has been updated so that literal commands,
configuration variables and environment variables are consistently
typeset in fixed-width font and bold in manpages.
* tr/doc-tt:
doc: change configuration variables format
doc: more consistency in environment variables format
doc: change environment variables format
doc: clearer rule about formatting literals
David Turner [Mon, 4 Jul 2016 06:05:24 +0000 (02:05 -0400)]
mailmap: use main email address for dturner
Signed-off-by: David Turner <novalis@novalis.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Christopher Layne [Sun, 3 Jul 2016 05:39:23 +0000 (05:39 +0000)]
git-svn: clone: Fail on missing url argument
cmd_clone should detect a missing $url arg before using it otherwise
an uninitialized value error is emitted in even the simplest case of
'git svn clone' without arguments.
Signed-off-by: Christopher Layne <clayne@anodized.com>
Signed-off-by: Eric Wong <e@80x24.org>
Vasco Almeida [Thu, 30 Jun 2016 16:49:18 +0000 (16:49 +0000)]
t5541: become resilient to GETTEXT_POISON
Use test_i18n* functions for testing text already marked for
translation.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Wed, 29 Jun 2016 14:14:54 +0000 (16:14 +0200)]
commit -S: avoid invalid pointer with empty message
While it is not recommended, fsck.c says:
Not having a body is not a crime [...]
... which means that we cannot assume that the commit buffer
contains an empty line to separate header from body. A commit
object with only a header without any body, not even without
a blank line after the header, is valid.
So let's tread carefully here. strstr("\n\n") may find nothing
and return NULL.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Wed, 29 Jun 2016 14:14:50 +0000 (16:14 +0200)]
reset --hard: skip blank lines when reporting the commit subject
When there are blank lines at the beginning of a commit message, the
pretty printing machinery already skips them when showing a commit
subject (or the complete commit message). We shall henceforth do the
same when reporting the commit subject after the user called
git reset --hard <commit>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Wed, 29 Jun 2016 14:14:46 +0000 (16:14 +0200)]
sequencer: use skip_blank_lines() to find the commit subject
Just like we already taught the find_commit_subject() function (to make
it consistent with the code in pretty.c), we now simply skip leading
blank lines of the commit message.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Wed, 29 Jun 2016 14:14:42 +0000 (16:14 +0200)]
commit -C: skip blank lines at the beginning of the message
Consistent with the pretty-printing machinery, we skip leading blank
lines (if any) of existing commit messages.
While Git itself only produces commit objects with a single empty line
between commit header and commit message, it is legal to have more than
one blank line (i.e. lines containing only white space, or no
characters) at the beginning of the commit message, and the
pretty-printing code already handles that.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David A. Greene [Tue, 28 Jun 2016 10:54:02 +0000 (05:54 -0500)]
contrib/subtree: Add a test for subtree rebase that loses commits
This test merges an external tree in as a subtree, makes some commits
on top of it and splits it back out. In the process the added commits
are lost or the rebase aborts with an internal error. The tests are
marked to expect failure so that we don't forget to fix it.
Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Tue, 28 Jun 2016 10:02:49 +0000 (12:02 +0200)]
color.h: remove obsolete comment about limitations on Windows
Originally, ANSI color sequences were supported on Windows only by
overriding the printf() and fprintf() functions, as mentioned in
e7821d7
(Add a notice that only certain functions can print color escape codes,
2009-11-27).
As of
eac14f8 (Win32: Thread-safe windows console output, 2012-01-14),
however, this is no longer the case, as the ANSI color sequence support
code needed to be replaced with a thread-safe version, one side effect
being that stdout and stderr handled no matter which function is used to
write to it.
So let's just remove the comment that is now obsolete.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Tue, 28 Jun 2016 11:40:15 +0000 (13:40 +0200)]
doc: typeset HEAD and variants as literal
This is an application of the newly added CodingGuidelines to HEAD and
variants like FETCH_HEAD. It was obtained with:
perl -pi -e "s/'([A-Z_]*HEAD)'/\`\$1\`/g" *.txt
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Tue, 28 Jun 2016 11:40:14 +0000 (13:40 +0200)]
CodingGuidelines: formatting HEAD in documentation
The current practice is:
git/Documentation$ git grep "'HEAD'" | wc -l
24
git/Documentation$ git grep "\`HEAD\`" | wc -l
66
Let's adopt the majority as a guideline.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Tue, 28 Jun 2016 11:40:13 +0000 (13:40 +0200)]
doc: typeset long options with argument as literal
We previously reformatted '--option' to `--option`. This patch reformats
'--option <arg>' to `--option <arg>`. Obtained with:
perl -pi -e "s/'(--[a-z][a-z=<>-]* <[^>]*>)'/\`\$1\`/g" *.txt
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Tue, 28 Jun 2016 11:40:12 +0000 (13:40 +0200)]
doc: typeset '--' as literal
This was obtained with:
perl -pi -e "s/'--'/\`--\`/g" *.txt
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Tue, 28 Jun 2016 11:40:11 +0000 (13:40 +0200)]
doc: typeset long command-line options as literal
Similarly to the previous commit, use backquotes instead of
forward-quotes, for long options.
This was obtained with:
perl -pi -e "s/'(--[a-z][a-z=<>-]*)'/\`\$1\`/g" *.txt
and manual tweak to remove false positive in ascii-art (o'--o'--o' to
describe rewritten history).
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Tue, 28 Jun 2016 11:40:10 +0000 (13:40 +0200)]
doc: typeset short command-line options as literal
It was common in our documentation to surround short option names with
forward quotes, which renders as italic in HTML. Instead, use backquotes
which renders as monospace. This is one more step toward conformance to
Documentation/CodingGuidelines.
This was obtained with:
perl -pi -e "s/'(-[a-z])'/\`\$1\`/g" *.txt
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Tue, 28 Jun 2016 11:40:09 +0000 (13:40 +0200)]
Documentation/git-mv.txt: fix whitespace indentation
Replace spaces with tabs to avoid a warning when further patches change
these lines.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 27 Jun 2016 17:07:08 +0000 (10:07 -0700)]
Second batch of topics for 2.10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 27 Jun 2016 17:00:15 +0000 (10:00 -0700)]
Sync with maint
* maint:
Start preparing for 2.9.1
Junio C Hamano [Mon, 27 Jun 2016 16:59:51 +0000 (09:59 -0700)]
Start preparing for 2.9.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>