summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-06-22t2300: "git --exec-path" is not usable in $PATH on Windows as-isLibravatar Johannes Schindelin1-1/+9
The "git" command prepends the exec-path to the PATH environment variable for processes it spawns. That is how ". git-sh-setup" in our scripted Porcelains can find the dot-sourced file in the exec-path location that is not usually on user's PATH. When t2300 runs, because it is not spawned by the "git" command, the scriptlet being tested did not run with a realistic setting of PATH environment. It lacked the exec-path on the PATH, and failed to find the dot-sourced file. A recent update to t2300 attempted to fix this, with "PATH=$(git --exec-path):$PATH", which has been the recommended way around v1.6.0 days (a script whose original was written before that release that survives to this day is likely to have such a line). However, the "git --exec-path" command outputs C:\path\to\exec\dir (not /c/path/to/exec/dir) on Windows; the recent update failed to consider the problem that comes from it. Even though Git itself, when doing the equivalent internally, does so in a platform native way (i.e. on Windows, C:\path\to\exec\dir is prepended to the existing value of %PATH% using ';' as a component separator), the result is further massaged by bash and gets turned into $PATH that uses /c/path/to/exec/dir with ':' separating the components, which is the form understood by bash, so scripted Porcelains find commands from PATH correctly. An end user script written in shell, however, cannot prepend "C:\path\to\exec\dir:" to the existing value of $PATH and expect bash to magically turn it into the form it understands. In other words, "PATH=$(git --exec-path):$PATH" does not work as an emulation of what "Git" internally does to the PATH on Windows. To correctly emulate how exec-path is prepended to the PATH environment internally on Windows, we'd need to convert C:\git-sdk-64\usr\src\git to at least /c\git-sdk-64\usr\src\git ourselves before prepending it to PATH. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-06-01t2300: run git-sh-setup in an environment that better mimics the real lifeLibravatar Junio C Hamano1-1/+2
When we run scripted Porcelains, "git" potty has set up the $PATH by prepending $GIT_EXEC_PATH, the path given by "git --exec-path=$there $cmd", etc. already. Because of this, scripted Porcelains can dot-source shell script library like git-sh-setup with simple dot without specifying any path. t2300 however dot-sources git-sh-setup without adjusting $PATH like the real "git" potty does. This has not been a problem so far, but once git-sh-setup wants to rely on the $PATH adjustment, just like any scripted Porcelains already do, it would become one. It cannot for example dot-source another shell library without specifying the full path to it by prefixing $(git --exec-path). Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-05-31More topics for 2.8.4Libravatar Junio C Hamano1-0/+28
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-05-31Merge branch 'sb/submodule-deinit-all' into maintLibravatar Junio C Hamano3-10/+48
Correct faulty recommendation to use "git submodule deinit ." when de-initialising all submodules, which would result in a strange error message in a pathological corner case. * sb/submodule-deinit-all: submodule deinit: require '--all' instead of '.' for all submodules
2016-05-31Merge branch 'bn/http-cookiefile-config' into maintLibravatar Junio C Hamano2-3/+4
"http.cookieFile" configuration variable clearly wants a pathname, but we forgot to treat it as such by e.g. applying tilde expansion. * bn/http-cookiefile-config: http: expand http.cookieFile as a path Documentation: config: improve word ordering for http.cookieFile
2016-05-31Merge branch 'jk/test-send-sh-x-trace-elsewhere' into maintLibravatar Junio C Hamano2-3/+16
Running tests with '-x' option to trace the individual command executions is a useful way to debug test scripts, but some tests that capture the standard error stream and check what the command said can be broken with the trace output mixed in. When running our tests under "bash", however, we can redirect the trace output to another file descriptor to keep the standard error of programs being tested intact. * jk/test-send-sh-x-trace-elsewhere: test-lib: set BASH_XTRACEFD automatically
2016-05-31Merge branch 'js/name-rev-use-oldest-ref' into maintLibravatar Junio C Hamano2-7/+14
"git describe --contains" often made a hard-to-justify choice of tag to give name to a given commit, because it tried to come up with a name with smallest number of hops from a tag, causing an old commit whose close descendant that is recently tagged were not described with respect to an old tag but with a newer tag. It did not help that its computation of "hop" count was further tweaked to penalize being on a side branch of a merge. The logic has been updated to favor using the tag with the oldest tagger date, which is a lot easier to explain to the end users: "We describe a commit in terms of the (chronologically) oldest tag that contains the commit." * js/name-rev-use-oldest-ref: name-rev: include taggerdate in considering the best name
2016-05-26Start preparing for 2.8.4Libravatar Junio C Hamano1-0/+27
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-05-26Merge branch 'jc/linkgit-fix' into maintLibravatar Junio C Hamano8-10/+10
Many 'linkgit:<git documentation page>' references were broken, which are all fixed with this. * jc/linkgit-fix: Documentation: fix linkgit references
2016-05-26Merge branch 'ls/travis-build-doc' into maintLibravatar Junio C Hamano2-0/+29
CI test was taught to build documentation pages. * ls/travis-build-doc: travis-ci: build documentation
2016-05-26Merge branch 'jc/fsck-nul-in-commit' into maintLibravatar Junio C Hamano2-3/+31
"git fsck" learned to catch NUL byte in a commit object as potential error and warn. * jc/fsck-nul-in-commit: fsck: detect and warn a commit with embedded NUL fsck_commit_buffer(): do not special case the last validation
2016-05-26Merge branch 'jk/rebase-interative-eval-fix' into maintLibravatar Junio C Hamano1-0/+1
Portability enhancement for "rebase -i" to help platforms whose shell does not like "for i in <empty>" (which is not POSIX-kosher). * jk/rebase-interative-eval-fix: rebase--interactive: avoid empty list in shell for-loop
2016-05-26Merge branch 'js/windows-dotgit' into maintLibravatar Junio C Hamano8-3/+147
On Windows, .git and optionally any files whose name starts with a dot are now marked as hidden, with a core.hideDotFiles knob to customize this behaviour. * js/windows-dotgit: mingw: remove unnecessary definition mingw: introduce the 'core.hideDotFiles' setting
2016-05-26Merge branch 'kf/gpg-sig-verification-doc' into maintLibravatar Junio C Hamano2-4/+7
Documentation for "git merge --verify-signatures" has been updated to clarify that the signature of only the commit at the tip is verified. Also the phrasing used for signature and key validity is adjusted to align with that used by OpenPGP. * kf/gpg-sig-verification-doc: Documentation: clarify signature verification
2016-05-26Merge branch 'lp/typofixes' into maintLibravatar Junio C Hamano12-14/+14
Typofixes. * lp/typofixes: typofix: assorted typofixes in comments, documentation and messages
2016-05-26Merge branch 'sb/z-is-gnutar-ism' into maintLibravatar Junio C Hamano2-4/+4
Test fix. * sb/z-is-gnutar-ism: t6041: do not compress backup tar file t3513: do not compress backup tar file
2016-05-26Merge branch 'va/i18n-misc-updates' into maintLibravatar Junio C Hamano8-61/+111
Mark several messages for translation. * va/i18n-misc-updates: i18n: unpack-trees: avoid substituting only a verb in sentences i18n: builtin/pull.c: split strings marked for translation i18n: builtin/pull.c: mark placeholders for translation i18n: git-parse-remote.sh: mark strings for translation i18n: branch: move comment for translators i18n: branch: unmark string for translation i18n: builtin/rm.c: remove a comma ',' from string i18n: unpack-trees: mark strings for translation i18n: builtin/branch.c: mark option for translation i18n: index-pack: use plural string instead of normal one
2016-05-26Merge branch 'bn/config-doc-tt-varnames' into maintLibravatar Junio C Hamano1-21/+29
Doc formatting fixes. * bn/config-doc-tt-varnames: config: consistently format $variables in monospaced font config: describe 'pathname' value type
2016-05-26Merge branch 'nd/remote-plural-ours-plus-theirs' into maintLibravatar Junio C Hamano1-1/+1
Message fix. * nd/remote-plural-ours-plus-theirs: remote.c: specify correct plural form in "commit diverge" message
2016-05-26Merge branch 'ak/t4151-ls-files-could-be-empty' into maintLibravatar Junio C Hamano1-1/+1
Test fix. * ak/t4151-ls-files-could-be-empty: t4151: make sure argument to 'test -z' is given
2016-05-26Merge branch 'jc/test-seq' into maintLibravatar Junio C Hamano1-15/+13
Test fix. * jc/test-seq: test-lib-functions.sh: rewrite test_seq without Perl test-lib-functions.sh: remove misleading comment on test_seq
2016-05-26Merge branch 'tb/t5601-sed-fix' into maintLibravatar Junio C Hamano1-1/+1
Test fix. * tb/t5601-sed-fix: t5601: Remove trailing space in sed expression
2016-05-26Merge branch 'va/i18n-remote-comment-to-align' into maintLibravatar Junio C Hamano1-0/+2
Message fix. * va/i18n-remote-comment-to-align: i18n: remote: add comment for translators
2016-05-26Merge branch 'va/mailinfo-doc-typofix' into maintLibravatar Junio C Hamano1-1/+1
Typofix. * va/mailinfo-doc-typofix: Documentation/git-mailinfo: fix typo
2016-05-26Merge branch 'maint-2.7' into maintLibravatar Junio C Hamano1-1/+1
* maint-2.7: archive-tar: convert snprintf to xsnprintf
2016-05-26Merge branch 'jk/war-on-sprintf' into maint-2.7Libravatar Junio C Hamano1-1/+1
* jk/war-on-sprintf: archive-tar: convert snprintf to xsnprintf
2016-05-26archive-tar: convert snprintf to xsnprintfLibravatar Jeff King1-1/+1
Commit f2f0267 (archive-tar: use xsnprintf for trivial formatting, 2015-09-24) converted cases of "sprintf" to "xsnprintf", but accidentally left one as just "snprintf". This meant that we could silently truncate the resulting buffer instead of flagging an error. In practice, this is impossible to achieve, as we are formatting a ustar checksum, which can be at most 7 characters. But the point of xsnprintf is to document and check for "should be impossible" conditions; this site was just accidentally mis-converted during f2f0267. Noticed-by: Paul Green <Paul.Green@stratus.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-05-18Git 2.8.3Libravatar Junio C Hamano4-5/+37
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-05-18Merge branch 'sb/misc-cleanups' into HEADLibravatar Junio C Hamano6-21/+29
* sb/misc-cleanups: submodule-config: don't shadow `cache` config.c: drop local variable credential-cache, send_request: close fd when done bundle: don't leak an fd in case of early return abbrev_sha1_in_line: don't leak memory notes: don't leak memory in git_config_get_notes_strategy
2016-05-18Merge branch 'ew/doc-split-pack-disables-bitmap' into HEADLibravatar Junio C Hamano4-9/+23
Doc update. * ew/doc-split-pack-disables-bitmap: pack-objects: warn on split packs disabling bitmaps
2016-05-18Merge branch 'sb/clean-test-fix' into HEADLibravatar Junio C Hamano1-1/+1
* sb/clean-test-fix: t7300: mark test with SANITY
2016-05-18Merge branch 'rn/glossary-typofix' into HEADLibravatar Junio C Hamano1-1/+1
* rn/glossary-typofix: Documentation: fix typo 'In such these cases'
2016-05-18Merge branch 'ew/normal-to-e' into HEADLibravatar Junio C Hamano1-0/+1
* ew/normal-to-e: .mailmap: update to my shorter email address
2016-05-18Merge branch 'sb/config-exit-status-list' into HEADLibravatar Junio C Hamano1-3/+3
Doc update. * sb/config-exit-status-list: config doc: improve exit code listing
2016-05-18Merge branch 'rt/string-list-lookup-cleanup' into HEADLibravatar Junio C Hamano1-4/+4
Code cleanup. * rt/string-list-lookup-cleanup: string_list: use string-list API in unsorted_string_list_lookup()
2016-05-18Merge branch 'jk/fix-attribute-macro-in-2.5' into HEADLibravatar Junio C Hamano1-1/+1
Code fixup. * jk/fix-attribute-macro-in-2.5: remote.c: spell __attribute__ correctly
2016-05-18Merge branch 'sg/test-lib-simplify-expr-away' into HEADLibravatar Junio C Hamano1-5/+5
Code cleanup. * sg/test-lib-simplify-expr-away: test-lib: simplify '--option=value' parsing
2016-05-18Merge branch 'nd/remove-unused' into HEADLibravatar Junio C Hamano4-27/+0
Code cleanup. * nd/remove-unused: wrapper.c: delete dead function git_mkstemps() dir.c: remove dead function fnmatch_icase()
2016-05-18Merge branch 'sk/gitweb-highlight-encoding' into HEADLibravatar Junio C Hamano1-0/+3
Some multi-byte encoding can have a backslash byte as a later part of one letter, which would confuse "highlight" filter used in gitweb. * sk/gitweb-highlight-encoding: gitweb: apply fallback encoding before highlight
2016-05-18Merge branch 'ls/travis-submitting-patches' into HEADLibravatar Junio C Hamano1-17/+63
* ls/travis-submitting-patches: Documentation: add setup instructions for Travis CI
2016-05-18Merge branch 'js/close-packs-before-gc' into HEADLibravatar Junio C Hamano1-0/+1
* js/close-packs-before-gc: t5510: run auto-gc in the foreground
2016-05-18Merge branch 'ls/p4-lfs' into HEADLibravatar Junio C Hamano3-10/+24
Recent update to Git LFS broke "git p4" by changing the output from its "lfs pointer" subcommand. * ls/p4-lfs: git-p4: fix Git LFS pointer parsing travis-ci: express Linux/OS X dependency versions more clearly travis-ci: update Git-LFS and P4 to the latest version
2016-05-18Merge branch 'ls/p4-lfs-test-fix-2.7.0' into HEADLibravatar Junio C Hamano1-1/+1
Fix a broken test. * ls/p4-lfs-test-fix-2.7.0: t9824: fix wrong reference value t9824: fix broken &&-chain in a subshell
2016-05-18Merge branch 'nf/mergetool-prompt' into HEADLibravatar Junio C Hamano4-5/+5
UI consistency improvements. * nf/mergetool-prompt: difftool/mergetool: make the form of yes/no questions consistent
2016-05-18Merge branch 'jd/send-email-to-whom' into HEADLibravatar Junio C Hamano1-2/+3
A question by "git send-email" to ask the identity of the sender has been updated. * jd/send-email-to-whom: send-email: fix grammo in the prompt that asks e-mail recipients
2016-05-18Merge branch 'js/win32-mmap' into HEADLibravatar Junio C Hamano1-13/+18
mmap emulation on Windows has been optimized and work better without consuming paging store when not needed. * js/win32-mmap: mmap(win32): avoid expensive fstat() call mmap(win32): avoid copy-on-write when it is unnecessary win32mmap: set errno appropriately
2016-05-18Merge branch 'jk/push-client-deadlock-fix' into HEADLibravatar Junio C Hamano7-11/+29
Some Windows SDK lacks pthread_sigmask() implementation and fails to compile the recently updated "git push" codepath that uses it. * jk/push-client-deadlock-fix: Windows: only add a no-op pthread_sigmask() when needed Windows: add pthread_sigmask() that does nothing t5504: drop sigpipe=ok from push tests fetch-pack: isolate sigpipe in demuxer thread send-pack: isolate sigpipe in demuxer thread run-command: teach async threads to ignore SIGPIPE send-pack: close demux pipe before finishing async process
2016-05-18Merge branch 'sb/mv-submodule-fix' into HEADLibravatar Junio C Hamano2-9/+28
"git mv old new" did not adjust the path for a submodule that lives as a subdirectory inside old/ directory correctly. * sb/mv-submodule-fix: mv: allow moving nested submodules
2016-05-18Merge branch 'da/user-useconfigonly' into HEADLibravatar Junio C Hamano1-6/+10
The "user.useConfigOnly" configuration variable makes it an error if users do not explicitly set user.name and user.email. However, its check was not done early enough and allowed another error to trigger, reporting that the default value we guessed from the system setting was unusable. This was a suboptimal end-user experience as we want the users to set user.name/user.email without relying on the auto-detection at all. * da/user-useconfigonly: ident: give "please tell me" message upon useConfigOnly error ident: check for useConfigOnly before auto-detection of name/email
2016-05-18Merge branch 'ld/p4-test-py3' into HEADLibravatar Junio C Hamano2-6/+7
The test scripts for "git p4" (but not "git p4" implementation itself) has been updated so that they would work even on a system where the installed version of Python is python 3. * ld/p4-test-py3: git-p4 tests: time_in_seconds should use $PYTHON_PATH git-p4 tests: work with python3 as well as python2 git-p4 tests: cd to / before running python