summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-04-23Merge branch 'bw/test-fix-grep-gnuism'Libravatar Junio C Hamano1-2/+2
Fix two places that were the only place in the test suite that gave "a\+" to platform grep and expected it to mean one or more "a", which is a blatant GNUism. * bw/test-fix-grep-gnuism: t9400: fix gnuism in grep
2012-04-23Merge branch 'rj/submodule-mswin-path'Libravatar Junio C Hamano1-79/+82
By Ramsay Jones * rj/submodule-mswin-path: git-submodule.sh: Don't use $path variable in eval_gettext string
2012-04-23Merge branch 'rj/sh-setup-mswin-pwd'Libravatar Junio C Hamano1-0/+4
By Ramsay Jones * rj/sh-setup-mswin-pwd: git-sh-setup.sh: Add an pwd() function for MinGW
2012-04-23Merge branch 'rj/mingw-isguid'Libravatar Junio C Hamano1-3/+4
By Ramsay Jones * rj/mingw-isguid: compat/mingw.h: Set S_ISUID to prevent a fast-import test failure
2012-04-23Merge branch 'jn/fast-import-doc'Libravatar Junio C Hamano1-3/+39
By Jonathan Nieder * jn/fast-import-doc: fast-import doc: cat-blob and ls responses need to be consumed quickly
2012-04-23Merge branch 'jn/more-i18ncmp'Libravatar Junio C Hamano3-8/+8
By Jonathan Nieder * jn/more-i18ncmp: test: am of empty patch should not succeed test: use test_i18ncmp for "Patch format detection failed" message test: do not rely on US English tracking-info messages
2012-04-23Merge branch 'jl/maint-submodule-recurse-fetch'Libravatar Junio C Hamano1-3/+3
"git fetch" that recurses into submodules on demand did not check if it needs to go into submodules when non branches (most notably, tags) are fetched. By Jens Lehmann * jl/maint-submodule-recurse-fetch: submodules: recursive fetch also checks new tags for submodule commits
2012-04-23Merge branch 'jc/maint-blame-minimal'Libravatar Junio C Hamano1-0/+1
"git blame" started missing quite a few changes from the origin since we stopped using the diff minimalization by default in v1.7.2 era. * jc/maint-blame-minimal: blame: accept --need-minimal
2012-04-23Merge branch 'lp/maint-diff-three-dash-with-graph'Libravatar Junio C Hamano3-2/+299
"log -p --graph" used with "--stat" had a few formatting error. By Lucian Poston * lp/maint-diff-three-dash-with-graph: t4202: add test for "log --graph --stat -p" separator lines log --graph: fix break in graph lines log --graph --stat: three-dash separator should come after graph lines
2012-04-23Merge branch 'rs/commit-list-sort-in-batch'Libravatar Junio C Hamano8-7/+188
Setting up a revision traversal with many starting points was inefficient as these were placed in a date-order priority queue one-by-one. By René Scharfe (3) and Junio C Hamano (1) * rs/commit-list-sort-in-batch: mergesort: rename it to llist_mergesort() revision: insert unsorted, then sort in prepare_revision_walk() commit: use mergesort() in commit_list_sort_by_date() add mergesort() for linked lists
2012-04-23Merge branch 'jh/apply-free-patch'Libravatar Junio C Hamano1-41/+133
Valgrind reports quite a lot of discarded memory inside apply. Fix them, audit and document the buffer ownership rules. By Junio C Hamano (8) and Jared Hance (1) * jh/apply-free-patch: apply: document buffer ownership rules across functions apply: tighten constness of line buffer apply: drop unused macro apply: free unused fragments for submodule patch apply: free patch->result apply: release memory for fn_table apply: free patch->{def,old,new}_name fields apply: rename free_patch() to free_patch_list() apply: do not leak patches and fragments
2012-04-23Merge branch 'sl/test-wc-l-line-count'Libravatar Junio C Hamano19-74/+65
By Stefano Lattarini * sl/test-wc-l-line-count: tests: modernise style: more uses of test_line_count
2012-04-23Merge branch 'jn/debian-customizes-default-editor'Libravatar Junio C Hamano3-2/+22
Make it easier for distros to document custom pager and editor they used when building their binary releases in "git var" documentation. By Jonathan Nieder * jn/debian-customizes-default-editor: var doc: advertise current DEFAULT_PAGER and DEFAULT_EDITOR settings var doc: default editor and pager are configurable at build time
2012-04-23Merge branch 'rl/show-empty-prefix'Libravatar Junio C Hamano2-1/+3
"git rev-parse --show-prefix" emitted nothing when run at the top-level of the working tree, while "git rev-parse --show-cdup" gave an empty line. Make them consistent. By Ross Lagerwall * rl/show-empty-prefix: rev-parse --show-prefix: add in trailing newline
2012-04-23Merge branch 'pw/git-p4'Libravatar Junio C Hamano20-205/+213
By Pete Wyckoff * pw/git-p4: git p4: use "git p4" directly in tests git p4: update name in script git-p4: move to toplevel
2012-04-23Merge branch 'ms/remote-usage-string'Libravatar Junio C Hamano1-2/+2
Adds some subcommands that were not listed in "git remote --help" usage strings. As an independent follow-up, we may want to rethink how the overall usage string and subcommand usage strings are maintained. By Michael Schubert * ms/remote-usage-string: remote: update builtin usage
2012-04-23Merge branch 'jk/rebase-i-submodule-conflict-only'Libravatar Junio C Hamano2-1/+31
Giving "--continue" to a conflicted "rebase -i" session skipped a commit that only results in changes to submodules. By John Keeping * jk/rebase-i-submodule-conflict-only: rebase -i continue: don't skip commits that only change submodules
2012-04-20RelNotes: the third batchLibravatar Junio C Hamano1-1/+27
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-20Merge branch 'js/spawn-via-shell-path-fix'Libravatar Junio C Hamano1-0/+4
Mops up an unfortunate fallout from bw/spawn-via-shell-path topic. By Johannes Sixt * js/spawn-via-shell-path-fix: Do not use SHELL_PATH from build system in prepare_shell_cmd on Windows
2012-04-20Merge branch 'ct/advise-push-default'Libravatar Junio C Hamano10-13/+99
Break down the cases in which "git push" fails due to non-ff into three categories, and give separate advise messages for each case. By Christopher Tiwald (2) and Jeff King (1) * ct/advise-push-default: Fix httpd tests that broke when non-ff push advice changed clean up struct ref's nonfastforward field push: Provide situational hints for non-fast-forward errors
2012-04-20Merge branch 'bw/submodule-sed-solaris'Libravatar Junio C Hamano1-2/+3
By Ben Walton * bw/submodule-sed-solaris: Avoid bug in Solaris xpg4/sed as used in submodule
2012-04-20Merge branch 'jk/run-command-eacces'Libravatar Junio C Hamano6-7/+86
When PATH contains an unreadable directory, alias expansion code did not kick in, and failed with an error that said "git-subcmd" was not found. By Jeff King (1) and Ramsay Jones (1) * jk/run-command-eacces: run-command: treat inaccessible directories as ENOENT compat/mingw.[ch]: Change return type of exec functions to int
2012-04-20Merge branch 'jc/push-upstream-sanity'Libravatar Junio C Hamano2-8/+72
Fix broken 'push to upstream' implementation. "git push $there" without refspec, when the current branch is set to push to a remote different from $there, used to push to $there using the upstream information to a remote unreleated to $there. * jc/push-upstream-sanity: push: error out when the "upstream" semantics does not make sense
2012-04-20Merge branch 'jc/am-report-3way'Libravatar Junio C Hamano1-0/+6
When "git am -3" needs to fall back to an application to a synthesized preimage followed by a 3-way merge, the paths that needed such treatment are now reported to the end user, so that the result in them can be eyeballed with extra care. * jc/am-report-3way: am -3: list the paths that needed 3-way fallback
2012-04-20Merge branch 'jb/am-include'Libravatar Junio C Hamano2-2/+4
"git am" learned the "--include" option, which is an opposite of existing the "--exclude" option. By Johannes Berg * jb/am-include: am: support --include option
2012-04-20Merge branch 'jc/fmt-merge-msg-people'Libravatar Junio C Hamano2-7/+134
The "fmt-merge-msg" command learns to list the primary contributors involved in the side topic you are merging. * jc/fmt-merge-msg-people: fmt-merge-msg: show those involved in a merged series
2012-04-19t9400: fix gnuism in grepLibravatar Junio C Hamano1-2/+2
Using "\+" in "grep" and expecting that it means one or more is a GNUism. Spell it in a dumb and portable way. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-18git-sh-setup.sh: Add an pwd() function for MinGWLibravatar Ramsay Jones1-0/+4
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Acked-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-18git-submodule.sh: Don't use $path variable in eval_gettext stringLibravatar Ramsay Jones1-79/+82
The eval_gettext (and eval_gettextln) i18n shell functions call git-sh-i18n--envsubst to process the variable references in the string parameter. Unfortunately, environment variables are case insensitive on windows, which leads to failure on cygwin when eval_gettext exports $path. Commit df599e9 (Windows: teach getenv to do a case-sensitive search, 06-06-2011) attempts to solve this problem on MinGW by overriding the system getenv() function to allow git-sh-i18n--envsubst to read $path rather than $PATH from the environment. However, this commit does not address cygwin at all and, furthermore, does not fix all problems on MinGW. In particular, when executing test #38 in t7400-submodule-basic.sh, an 'git-sh-i18n-envsubst.exe - Unable To Locate Component' dialog pops up saying that the application "failed to start because libiconv2.dll was not found." After studying the voluminous trace output from the process monitor, it is clear that the system is attempting to use $path, rather than $PATH, to search for the DLL file. (Note that, after dismissing the dialog, the test passes anyway!) As an alternative, we finesse the problem by renaming the $path variable to $sm_path (submodule path). This fixes the problem on MinGW along with all test failures on cygwin (t7400.{7,32,34}, t7406.3 and t7407.{2,6}). We note that the foreach subcommand provides $path to user scripts (ie it is part of the API), so we can't simply rename it to $sm_path. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Acked-by: Jens Lehmann <Jens.Lehmann@web.de> Tested-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-18compat/mingw.h: Set S_ISUID to prevent a fast-import test failureLibravatar Ramsay Jones1-3/+4
The current t9300-fast-import.sh test number 62 ("L: nested tree copy does not corrupt deltas") was introduced in commit 9a0edb79 ("fast-import: add a test for tree delta base corruption", 15-08-2011). A fix for the demonstrated problem was introduced by commit 8fb3ad76 ("fast-import: prevent producing bad delta", 15-08-2011). However, this fix didn't work on MinGW and so this test has always failed on MinGW. Part of the solution in commit 8fb3ad76 was to add an NO_DELTA preprocessor constant which was defined as follows: +/* + * We abuse the setuid bit on directories to mean "do not delta". + */ +#define NO_DELTA S_ISUID + Unfortunately, the S_ISUID constant on MinGW is defined as zero. In order to fix the problem, we simply alter the definition of S_ISUID in the mingw header file to a more appropriate value. Also, we take the opportunity to similarly define S_ISGID and S_ISVTX. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-17mergesort: rename it to llist_mergesort()Libravatar Junio C Hamano4-11/+19
Even though the function is generic enough, <anything>sort() inherits connotations from the standard function qsort() that sorts an array. Rename it to llist_mergesort() and describe the external interface in its header file. This incidentally avoids name clashes with mergesort() some platforms declare in, and contaminate user namespace with, their <stdlib.h>. Reported-by: Brian Gernhardt Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-17Do not use SHELL_PATH from build system in prepare_shell_cmd on WindowsLibravatar Johannes Sixt1-0/+4
The recent change to use SHELL_PATH instead of "sh" to spawn shell commands is not suited for Windows: - The default setting, "/bin/sh", does not work when git has to run the shell because it is a POSIX style path, but not a proper Windows style path. - If it worked, it would hard-code a position in the files system where the shell is expected, making git (more precisely, the POSIX toolset that is needed alongside git) non-relocatable. But we cannot sacrifice relocatability on Windows. - Apart from that, even though the Makefile leaves SHELL_PATH set to "/bin/sh" for the Windows builds, the build system passes a mangled path to the compiler, and something like "D:/Src/msysgit/bin/sh" is used, which is doubly bad because it points to where /bin/sh resolves to on the system where git was built. - Finally, the system's CreateProcess() function that is used under mingw.c's hood does not work with forward slashes and cannot find the shell. Undo the earlier change on Windows. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-16RelNotes: the second batch of topics graduated to 'master'Libravatar Junio C Hamano1-0/+41
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-16Merge branch 'jk/add-p-skip-conflicts'Libravatar Junio C Hamano2-7/+44
Excludes conflicted paths from "add -p" processing, as it is not prepared to handle them. By Jeff King * jk/add-p-skip-conflicts: add--interactive: ignore unmerged entries in patch mode
2012-04-16Merge branch 'jc/commit-unedited-template'Libravatar Junio C Hamano3-24/+65
When "git commit --template F" errors out because the user did not touch the message, it claimed that it aborts due to "empty message", which was utterly wrong. By Junio C Hamano (4) and Adam Monsen (1) * jc/commit-unedited-template: Documentation/git-commit: rephrase the "initial-ness" of templates git-commit.txt: clarify -t requires editing message commit: rephrase the error when user did not touch templated log message commit: do not trigger bogus "has templated message edited" check t7501: test the right kind of breakage
2012-04-16Merge branch 'bw/spawn-via-shell-path'Libravatar Junio C Hamano2-1/+12
"sh" on the user's PATH may be utterly broken on some systems; consistently use SHELL_PATH even from inside run-command API. By Ben Walton * bw/spawn-via-shell-path: Use SHELL_PATH from build system in run_command.c:prepare_shell_cmd
2012-04-16Merge branch 'wk/gitweb-snapshot-use-if-modified-since'Libravatar Junio C Hamano2-27/+98
Makes 'snapshot' request to "gitweb" honor If-Modified-Since: header, based on the commit date. By W. Trevor King * wk/gitweb-snapshot-use-if-modified-since: gitweb: add If-Modified-Since handling to git_snapshot(). gitweb: refactor If-Modified-Since handling gitweb: add `status` headers to git_feed() responses.
2012-04-16Merge branch 'jk/http-backend-keep-committer-ident-env'Libravatar Junio C Hamano3-13/+37
The smart-http backend used to always override GIT_COMMITTER_* variables with REMOTE_USER and REMOTE_ADDR. By Jeff King * jk/http-backend-keep-committer-ident-env: http-backend: respect existing GIT_COMMITTER_* variables
2012-04-16Merge branch 'sl/autoconf'Libravatar Junio C Hamano1-98/+99
Updates our configure.ac to follow a better "autoconf" style. By Stefano Lattarini * sl/autoconf: configure: be more idiomatic configure: avoid some code repetitions thanks to m4_{push,pop}def configure: move definitions of private m4 macros before AC_INIT invocation
2012-04-16Merge branch 'jk/branch-quiet'Libravatar Junio C Hamano5-11/+22
Even with "-q"uiet option, "checkout" used to report setting up tracking. Also "branch" learns "-q"uiet option to squelch informational message. By Jeff King * jk/branch-quiet: teach "git branch" a --quiet option checkout: suppress tracking message with "-q"
2012-04-16Merge branch 'rs/combine-diff-zero-context-at-the-beginning'Libravatar Junio C Hamano1-1/+1
Fixes an age old corner case bug in combine diff (only triggered with -U0 and the hunk at the beginning of the file needs to be shown). By René Scharfe * rs/combine-diff-zero-context-at-the-beginning: combine-diff: fix loop index underflow
2012-04-16Merge branch 'jk/diff-no-rename-empty'Libravatar Junio C Hamano9-14/+45
Forbids rename detection logic from matching two empty files as renames during merge-recursive to prevent mismerges. By Jeff King * jk/diff-no-rename-empty: merge-recursive: don't detect renames of empty files teach diffcore-rename to optionally ignore empty content make is_empty_blob_sha1 available everywhere drop casts from users EMPTY_TREE_SHA1_BIN
2012-04-16Merge branch 'jc/maint-clean-nested-worktree-in-subdir'Libravatar Junio C Hamano2-11/+43
"git clean -d -f" (not "-d -f -f") is supposed to protect nested working trees of independent git repositories that exist in the current project working tree from getting removed, but the protection applied only to such working trees that are at the top-level of the current project by mistake. * jc/maint-clean-nested-worktree-in-subdir: clean: preserve nested git worktree in subdirectories
2012-04-16Merge branch 'rs/unpack-trees-leakfix'Libravatar Junio C Hamano1-10/+17
By René Scharfe * rs/unpack-trees-leakfix: unpack-trees: plug minor memory leak unpack-trees: don't perform any index operation if we're not merging
2012-04-16Merge branch 'nl/rebase-i-cheat-sheet'Libravatar Junio C Hamano1-0/+2
* nl/rebase-i-cheat-sheet: rebase -i: remind that the lines are top-to-bottom
2012-04-15RelNotes: the first batch of topics graduated to 'master'Libravatar Junio C Hamano1-0/+19
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-15Merge branch 'da/difftool-test'Libravatar Junio C Hamano1-0/+11
Makes sure "difftool" options can be given in any order. By David Aguilar * da/difftool-test: t7800: Test difftool passing arguments to diff
2012-04-15Merge branch 'zj/test-cred-helper-nicer-prove'Libravatar Junio C Hamano1-24/+45
Minor improvement to t0303. By Zbigniew Jędrzejewski-Szmek * zj/test-cred-helper-nicer-prove: t0303: resurrect commit message as test documentation t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER
2012-04-15Merge branch 'jh/notes-merge-in-git-dir-worktree'Libravatar Junio C Hamano4-32/+73
Running "notes merge --commit" failed to perform correctly when run from any directory inside $GIT_DIR/. When "notes merge" stops with conflicts, $GIT_DIR/NOTES_MERGE_WORKTREE is the place a user edits to resolve it. By Johan Herland (3) and Junio C Hamano (1) * jh/notes-merge-in-git-dir-worktree: notes-merge: Don't remove .git/NOTES_MERGE_WORKTREE; it may be the user's cwd notes-merge: use opendir/readdir instead of using read_directory() t3310: illustrate failure to "notes merge --commit" inside $GIT_DIR/ remove_dir_recursively(): Add flag for skipping removal of toplevel dir
2012-04-15Merge branch 'tr/maint-word-diff-regex-sticky'Libravatar Junio C Hamano2-56/+102
The regexp configured with wordregex was incorrectly reused across files. By Thomas Rast (2) and Johannes Sixt (1) * tr/maint-word-diff-regex-sticky: diff: tweak a _copy_ of diff_options with word-diff diff: refactor the word-diff setup from builtin_diff_cmd t4034: diff.*.wordregex should not be "sticky" in --word-diff