gitweb.git
connect.c: fix leak in handle_ssh_variantJeff King Thu, 20 Apr 2017 20:21:58 +0000 (16:21 -0400)

connect.c: fix leak in handle_ssh_variant

When we see an error from split_cmdline(), we exit the
function without freeing the copy of the command string we
made.

This was sort-of introduced by 22e5ae5c8 (connect.c: handle
errors from split_cmdline, 2017-04-10). The leak existed
before that, but before that commit fixed the bug, we could
never trigger this else clause in the first place.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

connect.c: handle errors from split_cmdlineJeff King Tue, 11 Apr 2017 00:30:23 +0000 (20:30 -0400)

connect.c: handle errors from split_cmdline

Commit e9d9a8a4d (connect: handle putty/plink also in
GIT_SSH_COMMAND, 2017-01-02) added a call to
split_cmdline(), but checks only for a non-zero return to
see if we got any output. Since the function returns
negative values (and a NULL argv) on error, we end up
dereferencing NULL and segfaulting.

Arguably we could report on the parsing error here, but it's
probably not worth it. This is a best-effort attempt to see
if we are using plink. So we can simply return here with
"no, it wasn't plink" and let the shell actually complain
about the bogus quoting.

Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

connect.c: stop conflating ssh command names and overridesJunio C Hamano Thu, 9 Feb 2017 17:20:25 +0000 (09:20 -0800)

connect.c: stop conflating ssh command names and overrides

dd33e07766 ("connect: Add the envvar GIT_SSH_VARIANT and ssh.variant
config", 2017-02-01) attempted to add support for configuration and
environment variable to override the different handling of
port_option and needs_batch settings suitable for variants of the
ssh implementation that was autodetected by looking at the ssh
command name. Because it piggybacked on the code that turns command
name to specific override (e.g. "plink.exe" and "plink" means
port_option needs to be set to 'P' instead of the default 'p'), yet
it defined a separate namespace for these overrides (e.g. "putty"
can be usable to signal that port_option needs to be 'P'), however,
it made the auto-detection based on the command name less robust
(e.g. the code now accepts "putty" as a SSH command name and applies
the same override).

Separate the code that interprets the override that was read from
the configuration & environment from the original code that handles
the command names, as they are in separate namespaces, to fix this
confusion.

This incidentally also makes it easier for future enhancement of the
override syntax (e.g. "port_option=p,needs_batch=1" may want to be
accepted as a more explicit syntax) without affecting the code for
auto-detection based on the command name.

While at it, update the return type of the handle_ssh_variant()
helper function to void; the caller does not use it, and the
function does not return any meaningful value.

Signed-off-by: Junio C Hamano <gitster@pobox.com>

connect: Add the envvar GIT_SSH_VARIANT and ssh.variant... Segev Finer Wed, 1 Feb 2017 12:01:16 +0000 (13:01 +0100)

connect: Add the envvar GIT_SSH_VARIANT and ssh.variant config

This environment variable and configuration value allow to
override the autodetection of plink/tortoiseplink in case that
Git gets it wrong.

[jes: wrapped overly-long lines, factored out and changed
get_ssh_variant() to handle_ssh_variant() to accomodate the
change from the putty/tortoiseplink variables to
port_option/needs_batch, adjusted the documentation, free()d
value obtained from the config.]

Signed-off-by: Segev Finer <segev208@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git_connect(): factor out SSH variant handlingJohannes Schindelin Wed, 1 Feb 2017 12:01:10 +0000 (13:01 +0100)

git_connect(): factor out SSH variant handling

We handle plink and tortoiseplink as OpenSSH replacements, by passing
the correct command-line options when detecting that they are used.

To let users override that auto-detection (in case Git gets it wrong),
we need to introduce new code to that end.

In preparation for this code, let's factor out the SSH variant handling
into its own function, handle_ssh_variant().

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

connect: rename tortoiseplink and putty variablesJunio C Hamano Thu, 26 Jan 2017 14:51:58 +0000 (15:51 +0100)

connect: rename tortoiseplink and putty variables

One of these two may have originally been named after "what exact
SSH implementation do we have?" so that we can tweak the command
line options for that exact implementation. But "putty=1" no longer
means "We are using the plink SSH implementation that comes with
PuTTY" these days. It is set when we guess that either PuTTY plink
or Tortoiseplink is in use.

Rename them after what effect is desired. The current 'putty'
option is about using "-P <port>" when OpenSSH would use "-p <port>",
so rename it to 'port_option' whose value is either 'p' or 'P". The
other one is about passing an extra command line option "-batch",
so rename it to 'needs_batch'.

[jes: wrapped overly-long line]

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

connect: handle putty/plink also in GIT_SSH_COMMANDSegev Finer Mon, 2 Jan 2017 12:09:03 +0000 (13:09 +0100)

connect: handle putty/plink also in GIT_SSH_COMMAND

Git for Windows has special support for the popular SSH client PuTTY:
when using PuTTY's non-interactive version ("plink.exe"), we use the -P
option to specify the port rather than OpenSSH's -p option. TortoiseGit
ships with its own, forked version of plink.exe, that adds support for
the -batch option, and for good measure we special-case that, too.

However, this special-casing of PuTTY only covers the case where the
user overrides the SSH command via the environment variable GIT_SSH
(which allows specifying the name of the executable), not
GIT_SSH_COMMAND (which allows specifying a full command, including
additional command-line options).

When users want to pass any additional arguments to (Tortoise-)Plink,
such as setting a private key, they are required to either use a shell
script named plink or tortoiseplink or duplicate the logic that is
already in Git for passing the correct style of command line arguments,
which can be difficult, error prone and annoying to get right.

This patch simply reuses the existing logic and expands it to cover
GIT_SSH_COMMAND, too.

Note: it may look a little heavy-handed to duplicate the entire
command-line and then split it, only to extract the name of the
executable. However, this is not a performance-critical code path, and
the code is much more readable this way.

Signed-off-by: Segev Finer <segev208@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Seventh batch for 2.12Junio C Hamano Tue, 24 Jan 2017 00:00:40 +0000 (16:00 -0800)

Seventh batch for 2.12

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ws/request-pull-code-cleanup'Junio C Hamano Mon, 23 Jan 2017 23:59:23 +0000 (15:59 -0800)

Merge branch 'ws/request-pull-code-cleanup'

Code clean-up.

* ws/request-pull-code-cleanup:
request-pull: drop old USAGE stuff

Merge branch 'rh/diff-orderfile-doc'Junio C Hamano Mon, 23 Jan 2017 23:59:23 +0000 (15:59 -0800)

Merge branch 'rh/diff-orderfile-doc'

Documentation fix.

* rh/diff-orderfile-doc:
diff: document the format of the -O (diff.orderFile) file
diff: document behavior of relative diff.orderFile

Merge branch 'sb/cd-then-git-can-be-written-as-git-c'Junio C Hamano Mon, 23 Jan 2017 23:59:22 +0000 (15:59 -0800)

Merge branch 'sb/cd-then-git-can-be-written-as-git-c'

Test clean-up.

* sb/cd-then-git-can-be-written-as-git-c:
lib-submodule-update.sh: reduce use of subshell by using "git -C"

Merge branch 'ad/bisect-terms'Junio C Hamano Mon, 23 Jan 2017 23:59:22 +0000 (15:59 -0800)

Merge branch 'ad/bisect-terms'

Documentation fix.

* ad/bisect-terms:
Documentation/bisect: improve on (bad|new) and (good|bad)

Merge branch 'sg/fix-versioncmp-with-common-suffix'Junio C Hamano Mon, 23 Jan 2017 23:59:21 +0000 (15:59 -0800)

Merge branch 'sg/fix-versioncmp-with-common-suffix'

The prereleaseSuffix feature of version comparison that is used in
"git tag -l" did not correctly when two or more prereleases for the
same release were present (e.g. when 2.0, 2.0-beta1, and 2.0-beta2
are there and the code needs to compare 2.0-beta1 and 2.0-beta2).

* sg/fix-versioncmp-with-common-suffix:
versioncmp: generalize version sort suffix reordering
versioncmp: factor out helper for suffix matching
versioncmp: use earliest-longest contained suffix to determine sorting order
versioncmp: cope with common part overlapping with prerelease suffix
versioncmp: pass full tagnames to swap_prereleases()
t7004-tag: add version sort tests to show prerelease reordering issues
t7004-tag: use test_config helper
t7004-tag: delete unnecessary tags with test_when_finished

Merge branch 'vn/diff-ihc-config'Junio C Hamano Mon, 23 Jan 2017 23:59:21 +0000 (15:59 -0800)

Merge branch 'vn/diff-ihc-config'

"git diff" learned diff.interHunkContext configuration variable
that gives the default value for its --inter-hunk-context option.

* vn/diff-ihc-config:
diff: add interhunk context config option

Merge branch 'sb/submodule-init'Junio C Hamano Mon, 23 Jan 2017 23:59:21 +0000 (15:59 -0800)

Merge branch 'sb/submodule-init'

Error message fix.

* sb/submodule-init:
submodule update --init: display correct path from submodule

Merge branch 'sb/submodule-embed-gitdir'Junio C Hamano Mon, 23 Jan 2017 23:59:20 +0000 (15:59 -0800)

Merge branch 'sb/submodule-embed-gitdir'

Help-text fix.

* sb/submodule-embed-gitdir:
submodule absorbgitdirs: mention in docstring help

Merge branch 'sb/submodule-config-tests'Junio C Hamano Mon, 23 Jan 2017 23:59:20 +0000 (15:59 -0800)

Merge branch 'sb/submodule-config-tests'

Test updates.

* sb/submodule-config-tests:
t7411: test lookup of uninitialized submodules
t7411: quote URLs

Merge branch 'jk/grep-e-could-be-extended-beyond-posix'Junio C Hamano Mon, 23 Jan 2017 23:59:20 +0000 (15:59 -0800)

Merge branch 'jk/grep-e-could-be-extended-beyond-posix'

Tighten a test to avoid mistaking an extended ERE regexp engine as
a PRE regexp engine.

* jk/grep-e-could-be-extended-beyond-posix:
t7810: avoid assumption about invalid regex syntax

Merge branch 'bw/read-blob-data-does-not-modify-index... Junio C Hamano Mon, 23 Jan 2017 23:59:19 +0000 (15:59 -0800)

Merge branch 'bw/read-blob-data-does-not-modify-index-state'

Code clean-up.

* bw/read-blob-data-does-not-modify-index-state:
index: improve constness for reading blob data

Sixth batch for 2.12Junio C Hamano Wed, 18 Jan 2017 23:15:36 +0000 (15:15 -0800)

Sixth batch for 2.12

Merge branch 'sb/remove-gitview'Junio C Hamano Wed, 18 Jan 2017 23:12:18 +0000 (15:12 -0800)

Merge branch 'sb/remove-gitview'

Retire long unused/unmaintained gitview from the contrib/ area.

* sb/remove-gitview:
doc: git-gui browser does not default to HEAD
doc: gitk: add the upstream repo location
doc: gitk: remove gitview reference
contrib: remove gitview

Merge branch 'js/asciidoctor-tweaks'Junio C Hamano Wed, 18 Jan 2017 23:12:17 +0000 (15:12 -0800)

Merge branch 'js/asciidoctor-tweaks'

Adjust documentation to help AsciiDoctor render better while not
breaking the rendering done by AsciiDoc.

* js/asciidoctor-tweaks:
asciidoctor: fix user-manual to be built by `asciidoctor`
giteveryday: unbreak rendering with AsciiDoctor

Merge branch 'sb/unpack-trees-cleanup'Junio C Hamano Wed, 18 Jan 2017 23:12:17 +0000 (15:12 -0800)

Merge branch 'sb/unpack-trees-cleanup'

Code cleanup.

* sb/unpack-trees-cleanup:
unpack-trees: factor progress setup out of check_updates
unpack-trees: remove unneeded continue
unpack-trees: move checkout state into check_updates

Merge branch 'rh/mergetool-regression-fix'Junio C Hamano Wed, 18 Jan 2017 23:12:16 +0000 (15:12 -0800)

Merge branch 'rh/mergetool-regression-fix'

"git mergetool" without any pathspec on the command line that is
run from a subdirectory became no-op in Git v2.11 by mistake, which
has been fixed.

* rh/mergetool-regression-fix:
mergetool: fix running in subdir when rerere enabled
mergetool: take the "-O" out of $orderfile
t7610: add test case for rerere+mergetool+subdir bug
t7610: spell 'git reset --hard' consistently
t7610: don't assume the checked-out commit
t7610: always work on a test-specific branch
t7610: delete some now-unnecessary 'git reset --hard' lines
t7610: run 'git reset --hard' after each test to clean up
t7610: don't rely on state from previous test
t7610: use test_when_finished for cleanup tasks
t7610: move setup code to the 'setup' test case
t7610: update branch names to match test number
rev-parse doc: pass "--" to rev-parse in the --prefix example
.mailmap: record canonical email for Richard Hansen

Merge branch 'bw/realpath-wo-chdir'Junio C Hamano Wed, 18 Jan 2017 23:12:16 +0000 (15:12 -0800)

Merge branch 'bw/realpath-wo-chdir'

The implementation of "real_path()" was to go there with chdir(2)
and call getcwd(3), but this obviously wouldn't be usable in a
threaded environment. Rewrite it to manually resolve relative
paths including symbolic links in path components.

* bw/realpath-wo-chdir:
real_path: set errno when max number of symlinks is exceeded
real_path: prevent redefinition of MAXSYMLINKS

Merge branch 'jk/execv-dashed-external'Junio C Hamano Wed, 18 Jan 2017 23:12:16 +0000 (15:12 -0800)

Merge branch 'jk/execv-dashed-external'

Typing ^C to pager, which usually does not kill it, killed Git and
took the pager down as a collateral damage in certain process-tree
structure. This has been fixed.

* jk/execv-dashed-external:
execv_dashed_external: wait for child on signal death
execv_dashed_external: stop exiting with negative code
execv_dashed_external: use child_process struct

Merge branch 'sp/cygwin-build-fixes'Junio C Hamano Wed, 18 Jan 2017 23:12:15 +0000 (15:12 -0800)

Merge branch 'sp/cygwin-build-fixes'

Build updates for Cygwin.

* sp/cygwin-build-fixes:
Makefile: put LIBS after LDFLAGS for imap-send
Makefile: POSIX windres

Merge branch 'sb/pathspec-errors'Junio C Hamano Wed, 18 Jan 2017 23:12:15 +0000 (15:12 -0800)

Merge branch 'sb/pathspec-errors'

Running "git add a/b" when "a" is a submodule correctly errored
out, but without a meaningful error message.

* sb/pathspec-errors:
pathspec: give better message for submodule related pathspec error

Merge branch 'pb/test-must-fail-is-for-git'Junio C Hamano Wed, 18 Jan 2017 23:12:15 +0000 (15:12 -0800)

Merge branch 'pb/test-must-fail-is-for-git'

Test cleanup.

* pb/test-must-fail-is-for-git:
t9813: avoid using pipes
don't use test_must_fail with grep

Merge branch 'bw/pathspec-cleanup'Junio C Hamano Wed, 18 Jan 2017 23:12:14 +0000 (15:12 -0800)

Merge branch 'bw/pathspec-cleanup'

Code clean-up in the pathspec API.

* bw/pathspec-cleanup:
pathspec: rename prefix_pathspec to init_pathspec_item
pathspec: small readability changes
pathspec: create strip submodule slash helpers
pathspec: create parse_element_magic helper
pathspec: create parse_long_magic function
pathspec: create parse_short_magic function
pathspec: factor global magic into its own function
pathspec: simpler logic to prefix original pathspec elements
pathspec: always show mnemonic and name in unsupported_magic
pathspec: remove unused variable from unsupported_magic
pathspec: copy and free owned memory
pathspec: remove the deprecated get_pathspec function
ls-tree: convert show_recursive to use the pathspec struct interface
dir: convert fill_directory to use the pathspec struct interface
dir: remove struct path_simplify
mv: remove use of deprecated 'get_pathspec()'

Merge branch 'js/mingw-test-push-unc-path'Junio C Hamano Wed, 18 Jan 2017 23:12:14 +0000 (15:12 -0800)

Merge branch 'js/mingw-test-push-unc-path'

"git push \\server\share\dir" has recently regressed and then
fixed. A test has retroactively been added for this breakage.

* js/mingw-test-push-unc-path:
mingw: add a regression test for pushing to UNC paths

Merge branch 'sb/submodule-cleanup-export-git-dir-env'Junio C Hamano Wed, 18 Jan 2017 23:12:14 +0000 (15:12 -0800)

Merge branch 'sb/submodule-cleanup-export-git-dir-env'

Code cleanup.

* sb/submodule-cleanup-export-git-dir-env:
submodule.c: use GIT_DIR_ENVIRONMENT consistently

Merge branch 'km/branch-get-push-while-detached'Junio C Hamano Wed, 18 Jan 2017 23:12:14 +0000 (15:12 -0800)

Merge branch 'km/branch-get-push-while-detached'

"git <cmd> @{push}" on a detached HEAD used to segfault; it has
been corrected to error out with a message.

* km/branch-get-push-while-detached:
branch_get_push: do not segfault when HEAD is detached

Merge branch 'jk/rebase-i-squash-count-fix'Junio C Hamano Wed, 18 Jan 2017 23:12:13 +0000 (15:12 -0800)

Merge branch 'jk/rebase-i-squash-count-fix'

"git rebase -i" with a recent update started showing an incorrect
count when squashing more than 10 commits.

* jk/rebase-i-squash-count-fix:
rebase--interactive: count squash commits above 10 correctly

Merge branch 'jk/blame-fixes'Junio C Hamano Wed, 18 Jan 2017 23:12:13 +0000 (15:12 -0800)

Merge branch 'jk/blame-fixes'

"git blame --porcelain" misidentified the "previous" <commit, path>
pair (aka "source") when contents came from two or more files.

* jk/blame-fixes:
blame: output porcelain "previous" header for each file
blame: handle --no-abbrev
blame: fix alignment with --abbrev=40

Merge branch 'jk/archive-zip-userdiff-config'Junio C Hamano Wed, 18 Jan 2017 23:12:12 +0000 (15:12 -0800)

Merge branch 'jk/archive-zip-userdiff-config'

"git archive" did not read the standard configuration files, and
failed to notice a file that is marked as binary via the userdiff
driver configuration.

* jk/archive-zip-userdiff-config:
archive-zip: load userdiff config

Merge branch 'dt/disable-bitmap-in-auto-gc'Junio C Hamano Wed, 18 Jan 2017 23:12:12 +0000 (15:12 -0800)

Merge branch 'dt/disable-bitmap-in-auto-gc'

It is natural that "git gc --auto" may not attempt to pack
everything into a single pack, and there is no point in warning
when the user has configured the system to use the pack bitmap,
leading to disabling further "gc".

* dt/disable-bitmap-in-auto-gc:
repack: die on incremental + write-bitmap-index
auto gc: don't write bitmaps for incremental repacks

Merge branch 'ls/p4-retry-thrice'Junio C Hamano Wed, 18 Jan 2017 23:12:12 +0000 (15:12 -0800)

Merge branch 'ls/p4-retry-thrice'

A recent updates to "git p4" was not usable for older p4 but it
could be made to work with minimum changes. Do so.

* ls/p4-retry-thrice:
git-p4: do not pass '-r 0' to p4 commands

Merge branch 'sb/submodule-rm-absorb'Junio C Hamano Wed, 18 Jan 2017 23:12:11 +0000 (15:12 -0800)

Merge branch 'sb/submodule-rm-absorb'

"git rm" used to refuse to remove a submodule when it has its own
git repository embedded in its working tree. It learned to move
the repository away to $GIT_DIR/modules/ of the superproject
instead, and allow the submodule to be deleted (as long as there
will be no loss of local modifications, that is).

* sb/submodule-rm-absorb:
rm: absorb a submodules git dir before deletion
submodule: rename and add flags to ok_to_remove_submodule
submodule: modernize ok_to_remove_submodule to use argv_array
submodule.h: add extern keyword to functions

Merge branch 'bw/grep-recurse-submodules'Junio C Hamano Wed, 18 Jan 2017 23:12:11 +0000 (15:12 -0800)

Merge branch 'bw/grep-recurse-submodules'

"git grep" has been taught to optionally recurse into submodules.

* bw/grep-recurse-submodules:
grep: search history of moved submodules
grep: enable recurse-submodules to work on <tree> objects
grep: optionally recurse into submodules
grep: add submodules as a grep source type
submodules: load gitmodules file from commit sha1
submodules: add helper to determine if a submodule is initialized
submodules: add helper to determine if a submodule is populated
real_path: canonicalize directory separators in root parts
real_path: have callers use real_pathdup and strbuf_realpath
real_path: create real_pathdup
real_path: convert real_path_internal to strbuf_realpath
real_path: resolve symlinks by hand

Merge git://ozlabs.org/~paulus/gitkJunio C Hamano Wed, 18 Jan 2017 18:27:59 +0000 (10:27 -0800)

Merge git://ozlabs.org/~paulus/gitk

* 'master' of git://ozlabs.org/~paulus/gitk:
gitk: Remove translated message from comments
gitk: ru.po: Update Russian translation
gitk: Update copyright notice to 2016
gitk: Clear array 'commitinfo' on reload
gitk: Remove closed file descriptors from $blobdifffd
gitk: Turn off undo manager in the text widget
gitk: Fix Japanese translation for "marked commit"
gitk: Fix missing commits when using -S or -G
gitk: Use explicit RGB green instead of "lime"
gitk: Add Portuguese translation
gitk: Makefile: create install bin directory
gitk: Include commit title in branch dialog
gitk: Allow checking out a remote branch
gitk: Add a 'rename' option to the branch context menu

gitk: Remove translated message from commentsDavid Aguilar Wed, 18 Jan 2017 03:52:45 +0000 (19:52 -0800)

gitk: Remove translated message from comments

"make update-po" fails because a previously untranslated string
has now been translated:

Updating po/sv.po
po/sv.po:1388: duplicate message definition...
po/sv.po:380: ...this is the location of the first definition

Remove the duplicate message definition.

Reported-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>

RelNotes: drop merge-later comments for maintJunio C Hamano Tue, 17 Jan 2017 23:27:13 +0000 (15:27 -0800)

RelNotes: drop merge-later comments for maint

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Tue, 17 Jan 2017 23:20:01 +0000 (15:20 -0800)

Merge branch 'maint'

Almost ready for 2.11.1Junio C Hamano Tue, 17 Jan 2017 22:48:44 +0000 (14:48 -0800)

Almost ready for 2.11.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'mm/gc-safety-doc' into maintJunio C Hamano Tue, 17 Jan 2017 23:19:11 +0000 (15:19 -0800)

Merge branch 'mm/gc-safety-doc' into maint

Doc update.

* mm/gc-safety-doc:
git-gc.txt: expand discussion of races with other processes

Merge branch 'mm/push-social-engineering-attack-doc... Junio C Hamano Tue, 17 Jan 2017 23:19:10 +0000 (15:19 -0800)

Merge branch 'mm/push-social-engineering-attack-doc' into maint

Doc update on fetching and pushing.

* mm/push-social-engineering-attack-doc:
doc: mention transfer data leaks in more places

Merge branch 'jt/fetch-no-redundant-tag-fetch-map'... Junio C Hamano Tue, 17 Jan 2017 23:19:09 +0000 (15:19 -0800)

Merge branch 'jt/fetch-no-redundant-tag-fetch-map' into maint

Code cleanup to avoid using redundant refspecs while fetching with
the --tags option.

* jt/fetch-no-redundant-tag-fetch-map:
fetch: do not redundantly calculate tag refmap

Merge branch 'ls/filter-process' into maintJunio C Hamano Tue, 17 Jan 2017 23:19:08 +0000 (15:19 -0800)

Merge branch 'ls/filter-process' into maint

Doc update.

* ls/filter-process:
t0021: fix flaky test
docs: warn about possible '=' in clean/smudge filter process values

Merge branch 'kh/tutorial-grammofix' into maintJunio C Hamano Tue, 17 Jan 2017 23:19:08 +0000 (15:19 -0800)

Merge branch 'kh/tutorial-grammofix' into maint

* kh/tutorial-grammofix:
doc: omit needless "for"
doc: make the intent of sentence clearer
doc: add verb in front of command to run
doc: add articles (grammar)

Merge branch 'lr/doc-fix-cet' into maintJunio C Hamano Tue, 17 Jan 2017 23:19:07 +0000 (15:19 -0800)

Merge branch 'lr/doc-fix-cet' into maint

* lr/doc-fix-cet:
date-formats.txt: Typo fix

Merge branch 'sb/t3600-cleanup' into maintJunio C Hamano Tue, 17 Jan 2017 23:19:06 +0000 (15:19 -0800)

Merge branch 'sb/t3600-cleanup' into maint

Code cleanup.

* sb/t3600-cleanup:
t3600: slightly modernize style
t3600: remove useless redirect

Merge branch 'jk/readme-gmane-is-no-more' into maintJunio C Hamano Tue, 17 Jan 2017 23:19:05 +0000 (15:19 -0800)

Merge branch 'jk/readme-gmane-is-no-more' into maint

* jk/readme-gmane-is-no-more:
README: replace gmane link with public-inbox

Merge branch 'sb/unpack-trees-grammofix' into maintJunio C Hamano Tue, 17 Jan 2017 23:19:05 +0000 (15:19 -0800)

Merge branch 'sb/unpack-trees-grammofix' into maint

* sb/unpack-trees-grammofix:
unpack-trees: fix grammar for untracked files in directories

Merge branch 'ls/t0021-fixup' into maintJunio C Hamano Tue, 17 Jan 2017 23:19:04 +0000 (15:19 -0800)

Merge branch 'ls/t0021-fixup' into maint

* ls/t0021-fixup:
t0021: minor filter process test cleanup

Merge branch 'ak/lazy-prereq-mktemp' into maintJunio C Hamano Tue, 17 Jan 2017 23:19:04 +0000 (15:19 -0800)

Merge branch 'ak/lazy-prereq-mktemp' into maint

Test code clean-up.

* ak/lazy-prereq-mktemp:
t7610: clean up foo.XXXXXX tmpdir

Merge branch 'nd/qsort-in-merge-recursive' into maintJunio C Hamano Tue, 17 Jan 2017 23:19:03 +0000 (15:19 -0800)

Merge branch 'nd/qsort-in-merge-recursive' into maint

Code simplification.

* nd/qsort-in-merge-recursive:
merge-recursive.c: use string_list_sort instead of qsort

Merge branch 'dt/smart-http-detect-server-going-away... Junio C Hamano Tue, 17 Jan 2017 23:19:03 +0000 (15:19 -0800)

Merge branch 'dt/smart-http-detect-server-going-away' into maint

When the http server gives an incomplete response to a smart-http
rpc call, it could lead to client waiting for a full response that
will never come. Teach the client side to notice this condition
and abort the transfer.

An improvement counterproposal has failed.
cf. <20161114194049.mktpsvgdhex2f4zv@sigill.intra.peff.net>

* dt/smart-http-detect-server-going-away:
upload-pack: optionally allow fetching any sha1
remote-curl: don't hang when a server dies before any output

Merge branch 'mk/mingw-winansi-ttyname-termination... Junio C Hamano Tue, 17 Jan 2017 23:19:03 +0000 (15:19 -0800)

Merge branch 'mk/mingw-winansi-ttyname-termination-fix' into maint

A potential but unlikely buffer overflow in Windows port has been
fixed.

* mk/mingw-winansi-ttyname-termination-fix:
mingw: consider that UNICODE_STRING::Length counts bytes

Merge branch 'gv/p4-multi-path-commit-fix' into maintJunio C Hamano Tue, 17 Jan 2017 23:19:02 +0000 (15:19 -0800)

Merge branch 'gv/p4-multi-path-commit-fix' into maint

"git p4" that tracks multile p4 paths imported a single changelist
that touches files in these multiple paths as one commit, followed
by many empty commits. This has been fixed.

* gv/p4-multi-path-commit-fix:
git-p4: fix multi-path changelist empty commits

Merge branch 'jk/difftool-in-subdir' into maintJunio C Hamano Tue, 17 Jan 2017 23:11:08 +0000 (15:11 -0800)

Merge branch 'jk/difftool-in-subdir' into maint

Even though an fix was attempted in Git 2.9.3 days, but running
"git difftool --dir-diff" from a subdirectory never worked. This
has been fixed.

* jk/difftool-in-subdir:
difftool: rename variables for consistency
difftool: chdir as early as possible
difftool: sanitize $workdir as early as possible
difftool: fix dir-diff index creation when in a subdirectory

Merge branch 'ld/p4-compare-dir-vs-symlink' into maintJunio C Hamano Tue, 17 Jan 2017 23:11:07 +0000 (15:11 -0800)

Merge branch 'ld/p4-compare-dir-vs-symlink' into maint

"git p4" misbehaved when swapping a directory and a symbolic link.

* ld/p4-compare-dir-vs-symlink:
git-p4: avoid crash adding symlinked directory

Merge branch 'jc/push-default-explicit' into maintJunio C Hamano Tue, 17 Jan 2017 23:11:07 +0000 (15:11 -0800)

Merge branch 'jc/push-default-explicit' into maint

A lazy "git push" without refspec did not internally use a fully
specified refspec to perform 'current', 'simple', or 'upstream'
push, causing unnecessary "ambiguous ref" errors.

* jc/push-default-explicit:
push: test pushing ambiguously named branches
push: do not use potentially ambiguous default refspec

Merge branch 'jt/mailinfo-fold-in-body-headers' into... Junio C Hamano Tue, 17 Jan 2017 23:11:06 +0000 (15:11 -0800)

Merge branch 'jt/mailinfo-fold-in-body-headers' into maint

Fix for NDEBUG builds.

* jt/mailinfo-fold-in-body-headers:
mailinfo.c: move side-effects outside of assert

Merge branch 'jk/index-pack-wo-repo-from-stdin' into... Junio C Hamano Tue, 17 Jan 2017 23:11:06 +0000 (15:11 -0800)

Merge branch 'jk/index-pack-wo-repo-from-stdin' into maint

"git index-pack --stdin" needs an access to an existing repository,
but "git index-pack file.pack" to generate an .idx file that
corresponds to a packfile does not.

* jk/index-pack-wo-repo-from-stdin:
index-pack: skip collision check when not in repository
t: use nongit() function where applicable
index-pack: complain when --stdin is used outside of a repo
t5000: extract nongit function to test-lib-functions.sh

Merge branch 'jk/parseopt-usage-msg-opt' into maintJunio C Hamano Tue, 17 Jan 2017 23:11:06 +0000 (15:11 -0800)

Merge branch 'jk/parseopt-usage-msg-opt' into maint

The function usage_msg_opt() has been updated to say "fatal:"
before the custom message programs give, when they want to die
with a message about wrong command line options followed by the
standard usage string.

* jk/parseopt-usage-msg-opt:
parse-options: print "fatal:" before usage_msg_opt()

Merge branch 'jk/quote-env-path-list-component' into... Junio C Hamano Tue, 17 Jan 2017 23:11:06 +0000 (15:11 -0800)

Merge branch 'jk/quote-env-path-list-component' into maint

A recent update to receive-pack to make it easier to drop garbage
objects made it clear that GIT_ALTERNATE_OBJECT_DIRECTORIES cannot
have a pathname with a colon in it (no surprise!), and this in turn
made it impossible to push into a repository at such a path. This
has been fixed by introducing a quoting mechanism used when
appending such a path to the colon-separated list.

* jk/quote-env-path-list-component:
t5615-alternate-env: double-quotes in file names do not work on Windows
t5547-push-quarantine: run the path separator test on Windows, too
tmp-objdir: quote paths we add to alternates
alternates: accept double-quoted paths

Merge branch 'nd/shallow-fixup' into maintJunio C Hamano Tue, 17 Jan 2017 23:11:05 +0000 (15:11 -0800)

Merge branch 'nd/shallow-fixup' into maint

Code cleanup in shallow boundary computation.

* nd/shallow-fixup:
shallow.c: remove useless code
shallow.c: bit manipulation tweaks
shallow.c: avoid theoretical pointer wrap-around
shallow.c: make paint_alloc slightly more robust
shallow.c: stop abusing COMMIT_SLAB_SIZE for paint_info's memory pools
shallow.c: rename fields in paint_info to better express their purposes

Merge branch 'sb/sequencer-abort-safety' into maintJunio C Hamano Tue, 17 Jan 2017 23:11:05 +0000 (15:11 -0800)

Merge branch 'sb/sequencer-abort-safety' into maint

Unlike "git am --abort", "git cherry-pick --abort" moved HEAD back
to where cherry-pick started while picking multiple changes, when
the cherry-pick stopped to ask for help from the user, and the user
did "git reset --hard" to a different commit in order to re-attempt
the operation.

* sb/sequencer-abort-safety:
Revert "sequencer: remove useless get_dir() function"
sequencer: remove useless get_dir() function
sequencer: make sequencer abort safer
t3510: test that cherry-pick --abort does not unsafely change HEAD
am: change safe_to_abort()'s not rewinding error into a warning
am: fix filename in safe_to_abort() error message

Merge branch 'da/mergetool-xxdiff-hotkey' into maintJunio C Hamano Tue, 17 Jan 2017 23:11:05 +0000 (15:11 -0800)

Merge branch 'da/mergetool-xxdiff-hotkey' into maint

The way to specify hotkeys to "xxdiff" that is used by "git
mergetool" has been modernized to match recent versions of xxdiff.

* da/mergetool-xxdiff-hotkey:
mergetools: fix xxdiff hotkeys

Merge branch 'jc/pull-rebase-ff' into maintJunio C Hamano Tue, 17 Jan 2017 23:11:04 +0000 (15:11 -0800)

Merge branch 'jc/pull-rebase-ff' into maint

"git pull --rebase", when there is no new commits on our side since
we forked from the upstream, should be able to fast-forward without
invoking "git rebase", but it didn't.

* jc/pull-rebase-ff:
pull: fast-forward "pull --rebase=true"

Merge branch 'js/normalize-path-copy-ceil' into maintJunio C Hamano Tue, 17 Jan 2017 23:11:03 +0000 (15:11 -0800)

Merge branch 'js/normalize-path-copy-ceil' into maint

A pathname that begins with "//" or "\\" on Windows is special but
path normalization logic was unaware of it.

* js/normalize-path-copy-ceil:
normalize_path_copy(): fix pushing to //server/share/dir on Windows

Merge branch 'ak/commit-only-allow-empty' into maintJunio C Hamano Tue, 17 Jan 2017 23:11:03 +0000 (15:11 -0800)

Merge branch 'ak/commit-only-allow-empty' into maint

"git commit --allow-empty --only" (no pathspec) with dirty index
ought to be an acceptable way to create a new commit that does not
change any paths, but it was forbidden, perhaps because nobody
needed it so far.

* ak/commit-only-allow-empty:
commit: remove 'Clever' message for --only --amend
commit: make --only --allow-empty work without paths

Merge branch 'da/difftool-dir-diff-fix' into maintJunio C Hamano Tue, 17 Jan 2017 22:49:30 +0000 (14:49 -0800)

Merge branch 'da/difftool-dir-diff-fix' into maint

"git difftool --dir-diff" had a minor regression when started from
a subdirectory, which has been fixed.

* da/difftool-dir-diff-fix:
difftool: fix dir-diff index creation when in a subdirectory

Merge branch 'jb/diff-no-index-no-abbrev' into maintJunio C Hamano Tue, 17 Jan 2017 22:49:30 +0000 (14:49 -0800)

Merge branch 'jb/diff-no-index-no-abbrev' into maint

"git diff --no-index" did not take "--no-abbrev" option.

* jb/diff-no-index-no-abbrev:
diff: handle --no-abbrev in no-index case

Merge branch 'jk/stash-disable-renames-internally'... Junio C Hamano Tue, 17 Jan 2017 22:49:30 +0000 (14:49 -0800)

Merge branch 'jk/stash-disable-renames-internally' into maint

When diff.renames configuration is on (and with Git 2.9 and later,
it is enabled by default, which made it worse), "git stash"
misbehaved if a file is removed and another file with a very
similar content is added.

* jk/stash-disable-renames-internally:
stash: prefer plumbing over git-diff

Merge branch 'jk/http-walker-limit-redirect' into maintJunio C Hamano Tue, 17 Jan 2017 22:49:29 +0000 (14:49 -0800)

Merge branch 'jk/http-walker-limit-redirect' into maint

Update the error messages from the dumb-http client when it fails
to obtain loose objects; we used to give sensible error message
only upon 404 but we now forbid unexpected redirects that needs to
be reported with something sensible.

* jk/http-walker-limit-redirect:
http-walker: complain about non-404 loose object errors
http: treat http-alternates like redirects
http: make redirects more obvious
remote-curl: rename shadowed options variable
http: always update the base URL for redirects
http: simplify update_url_from_redirect

Merge branch 'jc/renormalize-merge-kill-safer-crlf... Junio C Hamano Tue, 17 Jan 2017 22:49:28 +0000 (14:49 -0800)

Merge branch 'jc/renormalize-merge-kill-safer-crlf' into maint

Fix a corner case in merge-recursive regression that crept in
during 2.10 development cycle.

* jc/renormalize-merge-kill-safer-crlf:
convert: git cherry-pick -Xrenormalize did not work
merge-recursive: handle NULL in add_cacheinfo() correctly
cherry-pick: demonstrate a segmentation fault

Merge branch 'ls/p4-empty-file-on-lfs' into maintJunio C Hamano Tue, 17 Jan 2017 22:49:27 +0000 (14:49 -0800)

Merge branch 'ls/p4-empty-file-on-lfs' into maint

"git p4" LFS support was broken when LFS stores an empty blob.

* ls/p4-empty-file-on-lfs:
git-p4: fix empty file processing for large file system backend GitLFS

Merge branch 'da/mergetool-trust-exit-code' into maintJunio C Hamano Tue, 17 Jan 2017 22:49:27 +0000 (14:49 -0800)

Merge branch 'da/mergetool-trust-exit-code' into maint

mergetool.<tool>.trustExitCode configuration variable did not apply
to built-in tools, but now it does.

* da/mergetool-trust-exit-code:
mergetools/vimdiff: trust Vim's exit code
mergetool: honor mergetool.$tool.trustExitCode for built-in tools

Merge branch 'nd/worktree-list-fixup' into maintJunio C Hamano Tue, 17 Jan 2017 22:49:27 +0000 (14:49 -0800)

Merge branch 'nd/worktree-list-fixup' into maint

The output from "git worktree list" was made in readdir() order,
and was unstable.

* nd/worktree-list-fixup:
worktree list: keep the list sorted
worktree.c: get_worktrees() takes a new flag argument
get_worktrees() must return main worktree as first item even on error
worktree: reorder an if statement
worktree.c: zero new 'struct worktree' on allocation

Merge branch 'bw/push-dry-run' into maintJunio C Hamano Tue, 17 Jan 2017 22:49:27 +0000 (14:49 -0800)

Merge branch 'bw/push-dry-run' into maint

"git push --dry-run --recurse-submodule=on-demand" wasn't
"--dry-run" in the submodules.

* bw/push-dry-run:
push: fix --dry-run to not push submodules
push: --dry-run updates submodules when --recurse-submodules=on-demand

Merge branch 'hv/submodule-not-yet-pushed-fix' into... Junio C Hamano Tue, 17 Jan 2017 22:49:26 +0000 (14:49 -0800)

Merge branch 'hv/submodule-not-yet-pushed-fix' into maint

The code in "git push" to compute if any commit being pushed in the
superproject binds a commit in a submodule that hasn't been pushed
out was overly inefficient, making it unusable even for a small
project that does not have any submodule but have a reasonable
number of refs.

* hv/submodule-not-yet-pushed-fix:
submodule_needs_pushing(): explain the behaviour when we cannot answer
batch check whether submodule needs pushing into one call
serialize collection of refs that contain submodule changes
serialize collection of changed submodules

Merge branch 'dt/empty-submodule-in-merge' into maintJunio C Hamano Tue, 17 Jan 2017 22:49:26 +0000 (14:49 -0800)

Merge branch 'dt/empty-submodule-in-merge' into maint

An empty directory in a working tree that can simply be nuked used
to interfere while merging or cherry-picking a change to create a
submodule directory there, which has been fixed..

* dt/empty-submodule-in-merge:
submodules: allow empty working-tree dirs in merge/cherry-pick

Merge branch 'jk/rev-parse-symbolic-parents-fix' into... Junio C Hamano Tue, 17 Jan 2017 22:49:26 +0000 (14:49 -0800)

Merge branch 'jk/rev-parse-symbolic-parents-fix' into maint

"git rev-parse --symbolic" failed with a more recent notation like
"HEAD^-1" and "HEAD^!".

* jk/rev-parse-symbolic-parents-fix:
rev-parse: fix parent shorthands with --symbolic

Merge branch 'js/mingw-isatty' into maintJunio C Hamano Tue, 17 Jan 2017 22:49:25 +0000 (14:49 -0800)

Merge branch 'js/mingw-isatty' into maint

Update the isatty() emulation for Windows by updating the previous
hack that depended on internals of (older) MSVC runtime.

* js/mingw-isatty:
mingw: replace isatty() hack
mingw: fix colourization on Cygwin pseudo terminals
mingw: adjust is_console() to work with stdin
mingw: intercept isatty() to handle /dev/null as Git expects it

Merge branch 'bb/unicode-9.0' into maintJunio C Hamano Tue, 17 Jan 2017 22:49:25 +0000 (14:49 -0800)

Merge branch 'bb/unicode-9.0' into maint

The character width table has been updated to match Unicode 9.0

* bb/unicode-9.0:
unicode_width.h: update the width tables to Unicode 9.0
update_unicode.sh: remove the plane filter
update_unicode.sh: automatically download newer definition files
update_unicode.sh: pin the uniset repo to a known good commit
update_unicode.sh: remove an unnecessary subshell level
update_unicode.sh: move it into contrib/update-unicode

Merge branch 'ls/travis-update-p4-and-lfs' into maintJunio C Hamano Tue, 17 Jan 2017 22:49:24 +0000 (14:49 -0800)

Merge branch 'ls/travis-update-p4-and-lfs' into maint

The default Travis-CI configuration specifies newer P4 and GitLFS.

* ls/travis-update-p4-and-lfs:
travis-ci: update P4 to 16.2 and GitLFS to 1.5.2 in Linux build

diff: document the format of the -O (diff.orderFile... Richard Hansen Sun, 15 Jan 2017 22:16:31 +0000 (17:16 -0500)

diff: document the format of the -O (diff.orderFile) file

Signed-off-by: Richard Hansen <hansenr@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

diff: document behavior of relative diff.orderFileRichard Hansen Sun, 15 Jan 2017 22:16:30 +0000 (17:16 -0500)

diff: document behavior of relative diff.orderFile

Document that a relative pathname for diff.orderFile is interpreted as
relative to the top-level work directory.

Signed-off-by: Richard Hansen <hansenr@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

request-pull: drop old USAGE stuffWolfram Sang Sun, 15 Jan 2017 17:46:35 +0000 (18:46 +0100)

request-pull: drop old USAGE stuff

request-pull uses OPTIONS_SPEC, so no need for (meanwhile incomplete)
USAGE and LONG_USAGE anymore.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

doc: git-gui browser does not default to HEADPhilip Oakley Thu, 12 Jan 2017 21:32:40 +0000 (21:32 +0000)

doc: git-gui browser does not default to HEAD

37cd4f7 ("Document git-gui, git-citool as mainporcelain manual pages",
2007-06-21) documented the default, but was shortly followed by c52c945
("git-gui: Allow blame/browser subcommands on bare repositories",
2007-07-17) which, it would appear, as a side effect, removed that default.

Finally document that change.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Reviewed-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

doc: gitk: add the upstream repo locationPhilip Oakley Thu, 12 Jan 2017 21:32:39 +0000 (21:32 +0000)

doc: gitk: add the upstream repo location

Match the 'git gui' information regarding the graphical browser
and its upstream location.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Reviewed-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

doc: gitk: remove gitview referencePhilip Oakley Thu, 12 Jan 2017 21:32:38 +0000 (21:32 +0000)

doc: gitk: remove gitview reference

contrib/gitview has been removed. Remove the reference.

Signed-off-by: Philip Oakley <philipoakley@iee.org>
Reviewed-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

lib-submodule-update.sh: reduce use of subshell by... Stefan Beller Wed, 11 Jan 2017 18:47:32 +0000 (10:47 -0800)

lib-submodule-update.sh: reduce use of subshell by using "git -C"

We write

(cd <dir> && git <cmd>)

to avoid

cd <dir> && git <cmd> && cd ..

that allows a breakage in one part of the test script to leave the
entire test process in an unexpected place. Modern version of Git
allows us to do this more concisely with "git -C <dir> <cmd>".

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/bisect: improve on (bad|new) and (good... Christian Couder Fri, 13 Jan 2017 14:44:05 +0000 (15:44 +0100)

Documentation/bisect: improve on (bad|new) and (good|bad)

The following part of the description:

git bisect (bad|new) [<rev>]
git bisect (good|old) [<rev>...]

may be a bit confusing, as a reader may wonder if instead it should be:

git bisect (bad|good) [<rev>]
git bisect (old|new) [<rev>...]

Of course the difference between "[<rev>]" and "[<rev>...]" should hint
that there is a good reason for the way it is.

But we can further clarify and complete the description by adding
"<term-new>" and "<term-old>" to the "bad|new" and "good|old"
alternatives.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

asciidoctor: fix user-manual to be built by `asciidoctor`마누엘 Mon, 2 Jan 2017 16:03:57 +0000 (17:03 +0100)

asciidoctor: fix user-manual to be built by `asciidoctor`

The `user-manual.txt` is designed as a `book` but the `Makefile` wants
to build it as an `article`. This seems to be a problem when building
the documentation with `asciidoctor`. Furthermore the parts *Git
Glossary* and *Appendix B* had no subsections which is not allowed when
building with `asciidoctor`. So lets add a *dummy* section.

Signed-off-by: 마누엘 <nalla@hamal.uberspace.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

submodule update --init: display correct path from... Stefan Beller Sat, 7 Jan 2017 00:19:53 +0000 (16:19 -0800)

submodule update --init: display correct path from submodule

In the submodule helper we did not correctly handled the display path
for initializing submodules when both the submodule is inside a
subdirectory as well as the command being invoked from a subdirectory
(as viewed from the superproject).

This was broken in 3604242f080, which was written at a time where
there was no super-prefix available, so we abused the --prefix option
for the same purpose and could get only one case right (the call from
within a subdirectory, not the submodule being in a subdirectory).

Test-provided-by: David Turner <novalis@novalis.org>
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7411: test lookup of uninitialized submodulesStefan Beller Tue, 27 Dec 2016 19:36:05 +0000 (11:36 -0800)

t7411: test lookup of uninitialized submodules

Sometimes we need to lookup information of uninitialized submodules. Make
sure that works.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7411: quote URLsStefan Beller Tue, 27 Dec 2016 19:36:04 +0000 (11:36 -0800)

t7411: quote URLs

The variables may contain white spaces, so we need to quote them.
By not quoting the variables we'd end up passing multiple arguments to
git config, which doesn't fail for two arguments as value.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>