Junio C Hamano [Fri, 20 Apr 2012 22:49:37 +0000 (15:49 -0700)]
Merge branch 'jc/am-report-3way'
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
Junio C Hamano [Fri, 20 Apr 2012 22:49:15 +0000 (15:49 -0700)]
Merge branch 'jb/am-include'
"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
Junio C Hamano [Fri, 20 Apr 2012 22:48:33 +0000 (15:48 -0700)]
Merge branch 'jc/fmt-merge-msg-people'
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
Junio C Hamano [Mon, 16 Apr 2012 19:55:11 +0000 (12:55 -0700)]
RelNotes: the second batch of topics graduated to 'master'
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 16 Apr 2012 19:43:36 +0000 (12:43 -0700)]
Merge branch 'jk/add-p-skip-conflicts'
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
Junio C Hamano [Mon, 16 Apr 2012 19:43:07 +0000 (12:43 -0700)]
Merge branch 'jc/commit-unedited-template'
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
Junio C Hamano [Mon, 16 Apr 2012 19:42:54 +0000 (12:42 -0700)]
Merge branch 'bw/spawn-via-shell-path'
"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
Junio C Hamano [Mon, 16 Apr 2012 19:42:48 +0000 (12:42 -0700)]
Merge branch 'wk/gitweb-snapshot-use-if-modified-since'
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.
Junio C Hamano [Mon, 16 Apr 2012 19:42:40 +0000 (12:42 -0700)]
Merge branch 'jk/http-backend-keep-committer-ident-env'
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
Junio C Hamano [Mon, 16 Apr 2012 19:42:29 +0000 (12:42 -0700)]
Merge branch 'sl/autoconf'
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
Junio C Hamano [Mon, 16 Apr 2012 19:42:22 +0000 (12:42 -0700)]
Merge branch 'jk/branch-quiet'
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"
Junio C Hamano [Mon, 16 Apr 2012 19:41:59 +0000 (12:41 -0700)]
Merge branch 'rs/combine-diff-zero-context-at-the-beginning'
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
Junio C Hamano [Mon, 16 Apr 2012 19:41:49 +0000 (12:41 -0700)]
Merge branch 'jk/diff-no-rename-empty'
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
Junio C Hamano [Mon, 16 Apr 2012 19:40:22 +0000 (12:40 -0700)]
Merge branch 'jc/maint-clean-nested-worktree-in-subdir'
"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
Junio C Hamano [Mon, 16 Apr 2012 19:39:58 +0000 (12:39 -0700)]
Merge branch 'rs/unpack-trees-leakfix'
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
Junio C Hamano [Mon, 16 Apr 2012 19:39:41 +0000 (12:39 -0700)]
Merge branch 'nl/rebase-i-cheat-sheet'
* nl/rebase-i-cheat-sheet:
rebase -i: remind that the lines are top-to-bottom
Junio C Hamano [Mon, 16 Apr 2012 05:59:31 +0000 (22:59 -0700)]
RelNotes: the first batch of topics graduated to 'master'
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 16 Apr 2012 05:52:04 +0000 (22:52 -0700)]
Merge branch 'da/difftool-test'
Makes sure "difftool" options can be given in any order.
By David Aguilar
* da/difftool-test:
t7800: Test difftool passing arguments to diff
Junio C Hamano [Mon, 16 Apr 2012 05:51:56 +0000 (22:51 -0700)]
Merge branch 'zj/test-cred-helper-nicer-prove'
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
Junio C Hamano [Mon, 16 Apr 2012 05:51:44 +0000 (22:51 -0700)]
Merge branch 'jh/notes-merge-in-git-dir-worktree'
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
Junio C Hamano [Mon, 16 Apr 2012 05:51:34 +0000 (22:51 -0700)]
Merge branch 'tr/maint-word-diff-regex-sticky'
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
Junio C Hamano [Mon, 16 Apr 2012 05:51:24 +0000 (22:51 -0700)]
Merge branch 'jn/diffstat-tests'
Some tests checked the "diff --stat" output when they do not have to,
which unnecessarily made things harder to verify under GETTEXT_POISON.
By Jonathan Nieder
* jn/diffstat-tests:
diffstat summary line varies by locale: miscellany
test: use numstat instead of diffstat in binary-diff test
test: use --numstat instead of --stat in "git stash show" tests
test: test cherry-pick functionality and output separately
test: modernize funny-names test style
test: use numstat instead of diffstat in funny-names test
test: use test_i18ncmp when checking --stat output
Junio C Hamano [Mon, 16 Apr 2012 05:51:14 +0000 (22:51 -0700)]
Merge branch 'jc/diff-algo-cleanup'
Resurrects the preparatory clean-up patches from another topic that was
discarded, as this would give a saner foundation to build on diff.algo
configuration option series.
* jc/diff-algo-cleanup:
xdiff: PATIENCE/HISTOGRAM are not independent option bits
xdiff: remove XDL_PATCH_* macros
Junio C Hamano [Mon, 16 Apr 2012 05:51:01 +0000 (22:51 -0700)]
Merge branch 'jc/commit-hook-authorship'
"git commit --author=$name" did not tell the name that was being recorded
in the resulting commit to hooks, even though it does do so when the end
user overrode the authorship via the "GIT_AUTHOR_NAME" environment
variable.
* jc/commit-hook-authorship:
commit: pass author/committer info to hooks
t7503: does pre-commit-hook learn authorship?
ident.c: add split_ident_line() to parse formatted ident line
Junio C Hamano [Mon, 16 Apr 2012 05:50:38 +0000 (22:50 -0700)]
Merge branch 'nd/stream-more'
Use API to read blob data in smaller chunks in more places to reduce the
memory footprint.
By Nguyễn Thái Ngọc Duy (6) and Junio C Hamano (1)
* nd/stream-more:
update-server-info: respect core.bigfilethreshold
fsck: use streaming API for writing lost-found blobs
show: use streaming API for showing blobs
parse_object: avoid putting whole blob in core
cat-file: use streaming API to print blobs
Add more large blob test cases
streaming: make streaming-write-entry to be more reusable
Clemens Buchacher [Sat, 14 Apr 2012 23:15:17 +0000 (01:15 +0200)]
merge overwrites unstaged changes in renamed file
Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 11 Apr 2012 19:17:17 +0000 (12:17 -0700)]
Kick off post 1.7.10 cycle
I tentatively named the release notes "1.7.11" but this may have to
be renamed to "1.8" or some other name later. Let's see how well
we would do during this cycle.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sebastian Pipping [Wed, 4 Apr 2012 12:25:44 +0000 (14:25 +0200)]
gitweb: Fix unintended "--no-merges" for regular Atom feed
The print_feed_meta() subroutine generates links for feeds with and
without merges, in RSS and Atom formats. However because %href_params
was not properly reset, it generated links with "--no-merges" for all
except the very first link.
Before:
<link rel="alternate" title="[..] - Atom feed" href="/?p=.git;a=atom;opt=--no-merges" type="application/atom+xml" />
<link rel="alternate" title="[..] - Atom feed (no merges)" href="/?p=.git;a=atom;opt=--no-merges" type="application/atom+xml" />
After:
<link rel="alternate" title="[..] - Atom feed" href="/?p=.git;a=atom" type="application/atom+xml" />
<link rel="alternate" title="[..] - Atom feed (no merges)" href="/?p=.git;a=atom;opt=--no-merges" type="application/atom+xml" />
Signed-off-by: Sebastian Pipping <sebastian@pipping.org>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Tue, 6 Mar 2012 19:37:23 +0000 (20:37 +0100)]
unpack-trees: plug minor memory leak
The allocations made by unpack_nondirectories() using create_ce_entry()
are never freed.
In the non-merge case, we duplicate them using add_entry() and later
only look at the first allocated element (src[0]), perhaps even only
by mistake. Split out the actual addition from add_entry() into the
new helper do_add_entry() and call this non-duplicating function
instead of add_entry() to avoid the leak.
Valgrind reports this for the command "git archive v1.7.9" without
the patch:
==13372== LEAK SUMMARY:
==13372== definitely lost: 230,986 bytes in 2,325 blocks
==13372== indirectly lost: 0 bytes in 0 blocks
==13372== possibly lost: 98 bytes in 1 blocks
==13372== still reachable: 2,259,198 bytes in 3,243 blocks
==13372== suppressed: 0 bytes in 0 blocks
And with the patch applied:
==13375== LEAK SUMMARY:
==13375== definitely lost: 65 bytes in 1 blocks
==13375== indirectly lost: 0 bytes in 0 blocks
==13375== possibly lost: 0 bytes in 0 blocks
==13375== still reachable: 2,364,417 bytes in 3,245 blocks
==13375== suppressed: 0 bytes in 0 blocks
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Tue, 10 Apr 2012 18:55:58 +0000 (20:55 +0200)]
unpack-trees: don't perform any index operation if we're not merging
src[0] points to the index entry in the merge case and to the first
tree to unpack in the non-merge case. We only want to mark the index
entry, so check first if we're merging.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 10 Apr 2012 19:45:35 +0000 (12:45 -0700)]
Merge branch 'maint'
* maint:
test-subprocess: fix segfault without arguments
submodule: fix prototype of gitmodules_config
Junio C Hamano [Tue, 10 Apr 2012 19:44:58 +0000 (12:44 -0700)]
Merge branch 'maint-1.7.9' into maint
* maint-1.7.9:
Junio C Hamano [Tue, 10 Apr 2012 19:44:45 +0000 (12:44 -0700)]
Merge branch 'maint-1.7.8' into maint-1.7.9
* maint-1.7.8:
Documentation/gitweb: trivial English fixes
fetch/receive: remove over-pessimistic connectivity check
René Scharfe [Tue, 10 Apr 2012 19:07:34 +0000 (21:07 +0200)]
test-subprocess: fix segfault without arguments
Check if we even have a parameter before checking its value. Running
this command without any arguments may not make a lot of sense, but
reacting with a segmentation fault is unduly harsh.
While we're at it, avoid casting argv by declaring it const right away.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Tue, 10 Apr 2012 19:10:26 +0000 (21:10 +0200)]
submodule: fix prototype of gitmodules_config
Add void to make it match its definition in submodule.c.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David A. Greene [Tue, 10 Apr 2012 03:19:01 +0000 (22:19 -0500)]
Fix git-subtree install instructions
Update the install instructions to reflect the changes for an
integrated git-subtree.
Signed-off-by: David A. Greene <greened@obbligato.org>
David A. Greene [Tue, 10 Apr 2012 03:07:02 +0000 (22:07 -0500)]
Use git-subtree test Makefile
Use the Makefile in contrib/subtree/t to run git-subtree tests.
Signed-off-by: David A. Greene <greened@obbligato.org>
David A. Greene [Sun, 5 Feb 2012 22:29:06 +0000 (16:29 -0600)]
Add subtree test Makefile
Add a Makefile to run subtree tests. This is largely copied
from the standard test suite with irrelevant targets removed
and some paths altered to account for where subtree tests live.
Signed-off-by: David A. Greene <greened@obbligato.org>
David A. Greene [Tue, 10 Apr 2012 02:13:03 +0000 (21:13 -0500)]
Install git-subtree from contrib
Build git-subtree in its contrib directory and install from there.
The main Makefile no longer discovers subcommands build in the main
build area so we cannot count on it to install git-subtree. The user
should make && make install in contrib/subtree to install git-subtree.
Change the rule to install the git-subtree manpage. The main
Documentation area doesn't directly support installing documentation
from other directories so the user will have to do that from within
contrib/subtree for now.
Signed-off-by: David A. Greene <greened@obbligato.org>
David A. Greene [Tue, 10 Apr 2012 02:39:08 +0000 (21:39 -0500)]
Use configure settings for git-subtree
Include config.make.autogen in the git-subtree contrib area to pick up
settings for prefix and other such things.
Signed-off-by: David A. Greene <greened@obbligato.org>
David A. Greene [Sun, 29 Jan 2012 22:17:43 +0000 (16:17 -0600)]
Use project config files
Use project-wide files to process documentation for git-subtree.
Signed-off-by: David A. Greene <greened@obbligato.org>
David A. Greene [Tue, 10 Apr 2012 03:11:25 +0000 (22:11 -0500)]
Remove unnecessary git-subtree files
Remove various files that simply duplicate functionality already
provided by the main project files.
Signed-off-by: David A. Greene <greened@obbligato.org>
David A. Greene [Tue, 20 Mar 2012 23:11:49 +0000 (18:11 -0500)]
Set TEST_DIRECTORY
Set TEST_DIRECTORY to the main git test area. This allows the
git-subtree out-of-tree tests to run correctly.
Signed-off-by: David A. Greene <greened@obbligato.org>
David A. Greene [Tue, 10 Apr 2012 01:22:55 +0000 (20:22 -0500)]
Junio C Hamano [Mon, 9 Apr 2012 20:43:16 +0000 (13:43 -0700)]
Merge branch 'jc/maint-verify-objects-remove-pessimism' into maint-1.7.8
* jc/maint-verify-objects-remove-pessimism:
fetch/receive: remove over-pessimistic connectivity check
Junio C Hamano [Mon, 9 Apr 2012 20:42:56 +0000 (13:42 -0700)]
Merge branch 'dw/gitweb-doc-grammo' into maint-1.7.8
* dw/gitweb-doc-grammo:
Documentation/gitweb: trivial English fixes
Junio C Hamano [Mon, 9 Apr 2012 20:40:32 +0000 (13:40 -0700)]
Merge branch 'tr/cache-tree' into maint-1.7.8
* tr/cache-tree:
t0090: be prepared that 'wc -l' writes leading blanks
reset: update cache-tree data when appropriate
commit: write cache-tree data when writing index anyway
Refactor cache_tree_update idiom from commit
Test the current state of the cache-tree optimization
Add test-scrap-cache-tree
Junio C Hamano [Mon, 9 Apr 2012 20:38:41 +0000 (13:38 -0700)]
Merge branch 'cb/maint-t5541-make-server-port-portable' into maint-1.7.8
* cb/maint-t5541-make-server-port-portable:
t5541: check error message against the real port number used
remote-curl: Fix push status report when all branches fail
Junio C Hamano [Mon, 9 Apr 2012 20:36:44 +0000 (13:36 -0700)]
Merge branch 'cn/maint-rev-list-doc' into maint-1.7.8
* cn/maint-rev-list-doc:
Documentation: use {asterisk} in rev-list-options.txt when needed
Junio C Hamano [Mon, 9 Apr 2012 20:36:26 +0000 (13:36 -0700)]
Merge branch 'tr/maint-bundle-boundary' into maint-1.7.8
* tr/maint-bundle-boundary:
bundle: keep around names passed to add_pending_object()
t5510: ensure we stay in the toplevel test dir
t5510: refactor bundle->pack conversion
Junio C Hamano [Mon, 9 Apr 2012 20:36:20 +0000 (13:36 -0700)]
Merge branch 'tr/maint-bundle-long-subject' into maint-1.7.8
* tr/maint-bundle-long-subject:
t5704: match tests to modern style
strbuf: improve strbuf_get*line documentation
bundle: use a strbuf to scan the log for boundary commits
bundle: put strbuf_readline_fd in strbuf.c with adjustments
Junio C Hamano [Mon, 9 Apr 2012 20:34:09 +0000 (13:34 -0700)]
Merge branch 'ph/rerere-doc' into maint-1.7.8
* ph/rerere-doc:
rerere: Document 'rerere remaining'
Junio C Hamano [Fri, 6 Apr 2012 17:47:58 +0000 (10:47 -0700)]
Git 1.7.10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras [Fri, 6 Apr 2012 12:22:30 +0000 (15:22 +0300)]
spec: add missing build dependency
Otherwise:
/usr/bin/perl Makefile.PL PREFIX='/opt/git' INSTALL_BASE=''
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: ...) at Makefile.PL line 1.
BEGIN failed--compilation aborted at Makefile.PL line 1.
make[1]: *** [perl.mak] Error 2
make: *** [perl/perl.mak] Error 2
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Thu, 5 Apr 2012 12:30:08 +0000 (08:30 -0400)]
add--interactive: ignore unmerged entries in patch mode
When "add -p" sees an unmerged entry, it shows the combined
diff and then immediately skips the hunk. This can be
confusing in a variety of ways, depending on whether there
are other changes to stage (in which case you get the
superfluous combined diff output in between other hunks) or
not (in which case you get the combined diff and the program
exits immediately, rather than seeing "No changes").
The current behavior was not planned, and is just what the
implementation happens to do. Instead, let's explicitly
remove unmerged entries from our list of modified files, and
print a warning that we are ignoring them.
We can cheaply find which entries are unmerged by adding
"--raw" output to the "diff-files --numstat" we already run.
There is one non-obvious thing we must change when parsing
this combined output. Before this patch, when we saw a
numstat line for a file that did not have index changes, we
would create a new record with 'unchanged' in the 'INDEX'
field. Because "--raw" comes before "--numstat", we must
move this special-case down to the raw-line case (and it is
sufficient to move it rather than handle it in both places,
since any file which has a --numstat will also have a --raw
entry).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ben Walton [Sat, 31 Mar 2012 01:33:21 +0000 (21:33 -0400)]
Use SHELL_PATH from build system in run_command.c:prepare_shell_cmd
During the testing of the 1.7.10 rc series on Solaris for OpenCSW, it
was discovered that t7006-pager was failing due to finding a bad "sh"
in PATH after a call to execvp("sh", ...). This call was setup by
run_command.c:prepare_shell_cmd.
The PATH in use at the time saw /opt/csw/bin given precedence to
traditional Solaris paths such as /usr/bin and /usr/xpg4/bin. A
package named schilyutils (Joerg Schilling's utilities) was installed
on the build system and it delivered a modified version of the
traditional Solaris /usr/bin/sh as /opt/csw/bin/sh. This version of
sh suffers from many of the same problems as /usr/bin/sh.
The command-specific pager test failed due to the broken "sh" handling
^ as a pipe character. It tried to fork two processes when it
encountered "sed s/^/foo:/" as the pager command. This problem was
entirely dependent on the PATH of the user at runtime.
Possible fixes for this issue are:
1. Use the standard system() or popen() which both launch a POSIX
shell on Solaris as long as _POSIX_SOURCE is defined.
2. The git wrapper could prepend SANE_TOOL_PATH to PATH thus forcing
all unqualified commands run to use the known good tools on the
system.
3. The run_command.c:prepare_shell_command() could use the same
SHELL_PATH that is in the #! line of all all scripts and not rely
on PATH to find the sh to run.
Option 1 would preclude opening a bidirectional pipe to a filter
script and would also break git for Windows as cmd.exe is spawned from
system() (cf. v1.7.5-rc0~144^2, "alias: use run_command api to execute
aliases, 2011-01-07).
Option 2 is not friendly to users as it would negate their ability to
use tools of their choice in many cases. Alternately, injecting
SANE_TOOL_PATH such that it takes precedence over /bin and /usr/bin
(and anything with lower precedence than those paths) as
git-sh-setup.sh does would not solve the problem either as the user
environment could still allow a bad sh to be found. (Many OpenCSW
users will have /opt/csw/bin leading their PATH and some subset would
have schilyutils installed.)
Option 3 allows us to use a known good shell while still honouring the
users' PATH for the utilities being run. Thus, it solves the problem
while not negatively impacting either users or git's ability to run
external commands in convenient ways. Essentially, the shell is a
special case of tool that should not rely on SANE_TOOL_PATH and must
be called explicitly.
With this patch applied, any code path leading to
run_command.c:prepare_shell_cmd can count on using the same sane shell
that all shell scripts in the git suite use. Both the build system
and run_command.c will default this shell to /bin/sh unless
overridden.
Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 3 Apr 2012 23:41:21 +0000 (16:41 -0700)]
Documentation/git-commit: rephrase the "initial-ness" of templates
The description of "commit -t <file>" said the file is used "as the
initial version" of the commit message, but in the context of an SCM,
"version" is a loaded word that can needlesslyl confuse readers.
Explain the purpose of the mechanism without using "version".
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 3 Apr 2012 16:25:49 +0000 (09:25 -0700)]
Git 1.7.10-rc4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 2 Apr 2012 22:06:25 +0000 (15:06 -0700)]
Merge branch 'pt/gitk'
* pt/gitk:
gitk: fix setting font display with new tabbed dialog layout.
gitk: fix tabbed preferences construction when using tcl 8.4
Junio C Hamano [Mon, 2 Apr 2012 20:09:21 +0000 (13:09 -0700)]
Sync with 1.7.9.6
Junio C Hamano [Mon, 2 Apr 2012 20:07:58 +0000 (13:07 -0700)]
Git 1.7.9.6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 2 Apr 2012 19:56:35 +0000 (12:56 -0700)]
Merge branch 'jc/maint-merge-autoedit' into maint
* jc/maint-merge-autoedit:
merge: backport GIT_MERGE_AUTOEDIT support
Pat Thoyts [Sun, 1 Apr 2012 22:00:52 +0000 (23:00 +0100)]
gitk: fix setting font display with new tabbed dialog layout.
The changes to the dialog window tree broke the preview of the selected
font on the button. This corrects that issue.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pat Thoyts [Sun, 1 Apr 2012 22:00:51 +0000 (23:00 +0100)]
gitk: fix tabbed preferences construction when using tcl 8.4
In 8.5 the incr command creates the target variable if it does not exist
but in 8.4 using incr on a non-existing variable raises an error. Ensure
we have created our counter variable when creating the tabbed dialog for
non-themed preferences.
Reported-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 2 Apr 2012 16:19:47 +0000 (09:19 -0700)]
Merge git://github.com/git-l10n/git-po
Portuguese Portuguese translations from Marco Sousa via Jiang Xin
* 'master' of git://github.com/git-l10n/git-po:
l10n: Add the Dutch translation team and initialize nl.po
l10n: Inital Portuguese Portugal language (pt_PT)
l10n: Improve zh_CN translation for Git 1.7.10-rc3
Vincent van Ravesteijn [Mon, 2 Apr 2012 12:14:08 +0000 (14:14 +0200)]
l10n: Add the Dutch translation team and initialize nl.po
Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org>
Marco Sousa [Sat, 31 Mar 2012 15:51:45 +0000 (17:51 +0200)]
l10n: Inital Portuguese Portugal language (pt_PT)
Signed-off-by: Marco Sousa <marcomsousa@gmail.com>
Adam Monsen [Sat, 31 Mar 2012 19:28:15 +0000 (12:28 -0700)]
git-commit.txt: clarify -t requires editing message
Make it clear that, when using commit --template, the message *must* be
changed or the commit will be aborted.
Helped-by: Junio C Hamano <gitster@pobox.com>
Helped-by: Ivan Heffner <iheffner@gmail.com>
Signed-off-by: Adam Monsen <haircut@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 31 Mar 2012 03:25:55 +0000 (20:25 -0700)]
Merge branch 'maint'
* maint:
string-list: document that string_list_insert() inserts unique strings
Junio C Hamano [Fri, 30 Mar 2012 19:14:33 +0000 (12:14 -0700)]
commit: rephrase the error when user did not touch templated log message
When the user exited editor without editing the commit log template given
by "git commit -t <template>", the commit was aborted (correct) with an
error message that said "due to empty commit message" (incorrect).
This was because the original template support was done by piggybacking on
the check to detect an empty log message. Split the codepaths into two
independent checks to clarify the error.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 30 Mar 2012 18:30:59 +0000 (11:30 -0700)]
commit: do not trigger bogus "has templated message edited" check
When "-t template" and "-F msg" options are both given (or worse yet,
there is "commit.template" configuration but a message is given in some
other way), the documentation says that template is ignored. However,
the "has the user edited the message?" check still used the contents of
the template file as the basis of the emptyness check.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 30 Mar 2012 18:04:08 +0000 (11:04 -0700)]
t7501: test the right kind of breakage
These tests try to run "git commit" with various "forbidden" combinations
of options and expect the command to fail, but they do so without having
any change added to the index. We wouldn't be able to catch breakages
that would allow these combinations by mistake with them because the
command will fail with "nothing to commit" anyway.
Make sure we have something added to the index before running the command.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Fri, 30 Mar 2012 07:01:30 +0000 (03:01 -0400)]
http-backend: respect existing GIT_COMMITTER_* variables
The http-backend program sets default GIT_COMMITTER_NAME and
GIT_COMMITTER_EMAIL variables based on the REMOTE_USER and
REMOTE_ADDR variables provided by the webserver. However, it
unconditionally overwrites any existing GIT_COMMITTER
variables, which may have been customized by site-specific
code in the webserver (or in a script wrapping http-backend).
Let's leave those variables intact if they already exist,
assuming that any such configuration was intentional. There
is a slight chance of a regression if somebody has set
GIT_COMMITTER_* for the entire webserver, not intending it
to leak through http-backend. We could protect against this
by passing the information in alternate variables. However,
it seems unlikely that anyone will care about that
regression, and there is value in the simplicity of using
the common variable names that are used elsewhere in git.
While we're tweaking the environment-handling in
http-backend, let's switch it to use argv_array to handle
the list of variables. That makes the memory management much
simpler.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
W. Trevor King [Thu, 29 Mar 2012 12:45:49 +0000 (08:45 -0400)]
gitweb: add If-Modified-Since handling to git_snapshot().
Because snapshots can be large, you can save some bandwidth by
supporting caching via If-Modified-Since. This patch adds support for
the i-m-s request to git_snapshot() if the request is a commit.
Requests for snapshots of trees, which lack well defined timestamps,
are still handled as they were before.
Signed-off-by: W Trevor King <wking@drexel.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
W. Trevor King [Thu, 29 Mar 2012 12:45:48 +0000 (08:45 -0400)]
gitweb: refactor If-Modified-Since handling
The current gitweb only generates Last-Modified and handles
If-Modified-Since headers for the git_feed action. This patch breaks
the Last-Modified and If-Modified-Since handling code out from
git_feed into a new function exit_if_unmodified_since. This makes the
code easy to reuse for other actions.
Only gitweb actions which can easily calculate a modification time
should use exit_if_unmodified_since, as the goal is to balance local
processing time vs. upload bandwidth.
Signed-off-by: W Trevor King <wking@drexel.edu>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
W. Trevor King [Thu, 29 Mar 2012 12:45:47 +0000 (08:45 -0400)]
gitweb: add `status` headers to git_feed() responses.
The git_feed() method was not setting a `Status` header unless it was
responding to an If-Modified-Since request with `304 Not Modified`.
Now, when it is serving successful responses, it sets status to `200
OK`.
Signed-off-by: W Trevor King <wking@drexel.edu>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Heiko Voigt [Thu, 29 Mar 2012 07:21:22 +0000 (09:21 +0200)]
string-list: document that string_list_insert() inserts unique strings
Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jiang Xin [Fri, 30 Mar 2012 02:55:34 +0000 (10:55 +0800)]
l10n: Improve zh_CN translation for Git 1.7.10-rc3
Improvements of zh_CN translations:
- Update translation for msg "Changes not staged for commit:".
- Remove unnecessary leading spaces for some messages.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
René Scharfe [Wed, 28 Mar 2012 20:18:37 +0000 (22:18 +0200)]
config: remove useless assignment
v1.7.9-8-g270a344 (config: stop using config_exclusive_filename) replaced
config_exclusive_filename with given_config_file. In one case this
resulted in a self-assignment, which is reported by clang as a warning.
Remove the useless code.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 28 Mar 2012 17:51:00 +0000 (10:51 -0700)]
Git 1.7.10-rc3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jim Meyering [Wed, 28 Mar 2012 08:45:36 +0000 (10:45 +0200)]
correct a few doubled-word nits in comments and documentation
Found by running this command:
$ git ls-files -z|xargs -0 perl -0777 -n \
-e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \
-e ' {' \
-e ' $n = ($` =~ tr/\n/\n/ + 1);' \
-e ' ($v = $&) =~ s/\n/\\n/g;' \
-e ' print "$ARGV:$n:$v\n";' \
-e ' }'
Why not just git grep -E ...?
That wouldn't work then the doubled words are separated by a newline.
This is derived from a Makefile syntax-check rule in gnulib's maint.mk:
http://git.sv.gnu.org/cgit/gnulib.git/tree/top/maint.mk
Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Berg [Wed, 28 Mar 2012 11:11:28 +0000 (13:11 +0200)]
am: support --include option
am supports a number of pass-through options
to apply, like --exclude and --directory. Add
--include to this list.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 28 Mar 2012 16:55:21 +0000 (09:55 -0700)]
am -3: list the paths that needed 3-way fallback
When applying a patch that was based on an older release with "am -3", I
often wonder changes to which files need to be reviewed with extra care to
spot mismerges, but there is no good indication.
The paths that needed 3-way fallback can easily be obtained by comparing
the synthesized (partial) base tree and the current HEAD and noticing only
additions and modifications (removals only show the sparseness of the fake
ancestor tree, which is not useful information at all). List them in the
usual --name-status format.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jim Meyering [Wed, 28 Mar 2012 08:41:54 +0000 (10:41 +0200)]
correct spelling: an URL -> a URL
Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 27 Mar 2012 15:39:18 +0000 (08:39 -0700)]
l10n updates for Git 1.7.10-rc1
* 'master' of git://github.com/git-l10n/git-po:
Add url of Swedish l10n team in TEAMS file
l10n: Review zh_CN translation for Git 1.7.10-rc1
Update Swedish translation (724t0f0u).
l10n: Update zh_CN translation for Git 1.7.10-rc1
l10n: Update git.pot (1 new message)
Zbigniew Jędrzejewski-Szmek [Tue, 27 Mar 2012 06:22:02 +0000 (08:22 +0200)]
tests: unset COLUMNS inherited from environment
$COLUMNS must be unset to not interfere with the tests. The tests
already ignore the terminal size because output is redirected to a
file, but COLUMNS overrides terminal size detection and changes the
test output away from the standard 80.
Reported-by: Jeff King <peff@peff.net>
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jiang Xin [Tue, 27 Mar 2012 09:11:34 +0000 (17:11 +0800)]
Add url of Swedish l10n team in TEAMS file
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Jiang Xin [Tue, 27 Mar 2012 06:46:11 +0000 (14:46 +0800)]
l10n: Review zh_CN translation for Git 1.7.10-rc1
Overall review of the zh_CN translation:
- Distinguish the translations of index and stage, though they are the
same thing.
- Many other fixes, e.g., add the lost periods at the end of translated
sentences.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Peter Krefting [Thu, 15 Mar 2012 09:47:06 +0000 (10:47 +0100)]
Update Swedish translation (724t0f0u).
- Update for 1.7.10-rc1.
- Add a missing -e when generaring the "Untracked files" message.
- Fixed some wordings after playing with the localized version.
Jeff King [Mon, 26 Mar 2012 23:51:06 +0000 (19:51 -0400)]
teach "git branch" a --quiet option
There's currently no way to suppress the informational
"deleted branch..." or "set up tracking..." messages. This
patch provides a "-q" option to do so.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Mon, 26 Mar 2012 23:51:01 +0000 (19:51 -0400)]
checkout: suppress tracking message with "-q"
Like the "switched to..." message (which is already
suppressed by "-q"), this message is purely informational.
Let's silence it if the user asked us to be quiet.
This patch is slightly more than a one-liner, because we
have to teach create_branch to propagate the flag all the
way down to install_branch_config.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 26 Mar 2012 19:38:34 +0000 (12:38 -0700)]
Update draft release notes to 1.7.10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 26 Mar 2012 19:30:51 +0000 (12:30 -0700)]
Sync with 1.7.9.5
Junio C Hamano [Mon, 26 Mar 2012 19:23:34 +0000 (12:23 -0700)]
Git 1.7.9.5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 26 Mar 2012 19:10:25 +0000 (12:10 -0700)]
Merge branch 'jn/maint-fast-import-empty-ls' into maint
* jn/maint-fast-import-empty-ls:
fast-import: don't allow 'ls' of path with empty components
fast-import: leakfix for 'ls' of dirty trees
Junio C Hamano [Mon, 26 Mar 2012 19:10:12 +0000 (12:10 -0700)]
Merge branch 'ph/rerere-doc' into maint
* ph/rerere-doc:
rerere: Document 'rerere remaining'
Junio C Hamano [Mon, 26 Mar 2012 19:10:05 +0000 (12:10 -0700)]
Merge branch 'ms/maint-config-error-at-eol-linecount' into maint
* ms/maint-config-error-at-eol-linecount:
config: report errors at the EOL with correct line number
Mark Lodato [Mon, 26 Mar 2012 02:41:42 +0000 (22:41 -0400)]
grep doc: add --break / --heading / -W to synopsis
All of the other options were included in the synopsis, so it makes
sense to include these as well.
Signed-off-by: Mark Lodato <lodatom@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefano Lattarini [Mon, 26 Mar 2012 16:42:26 +0000 (18:42 +0200)]
configure: be more idiomatic
Lots of code in Git's configure.ac doesn't follow the typical formatting,
idioms and best practices for Autoconf input files. Improve the situation.
There are probably many more similar improvements to be done, but trying
to clump all of them in a single change would make it unreviewable, so we
content ourselves with a partial improvement.
This change is just cosmetic, and should cause no semantic change.
The most relevant of the changes introduced by this patch are:
- Do not add trailing '\' characters for line continuation where they
are not truly needed.
- In several (but not all) macro calls, properly quote the arguments.
- Few cosmetic changes in spacing and comments.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefano Lattarini [Mon, 26 Mar 2012 16:42:25 +0000 (18:42 +0200)]
configure: avoid some code repetitions thanks to m4_{push,pop}def
This change is just cosmetic, and should cause no semantic change, nor
any change in the generated configure script.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>