Erik Faye-Lund [Tue, 23 Nov 2010 18:38:24 +0000 (19:38 +0100)]
msvc: opendir: fix malloc-failure
Previsouly, the code checked for malloc-failure after it had accessed
the returned pointer. Move the check a bit earlier to avoid segfault.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 24 Nov 2010 00:05:46 +0000 (16:05 -0800)]
Merge branch 'ef/mingw-daemon'
* ef/mingw-daemon:
daemon: opt-out on features that require posix
daemon: make --inetd and --detach incompatible
daemon: use socklen_t
mingw: use poll-emulation from gnulib
mingw: import poll-emulation from gnulib
daemon: get remote host address from root-process
Improve the mingw getaddrinfo stub to handle more use cases
daemon: use full buffered mode for stderr
daemon: use run-command api for async serving
mingw: add kill emulation
mingw: support waitpid with pid > 0 and WNOHANG
mingw: use real pid
inet_ntop: fix a couple of old-style decls
compat: add inet_pton and inet_ntop prototypes
mingw: implement syslog
mingw: add network-wrappers for daemon
Junio C Hamano [Thu, 18 Nov 2010 00:43:05 +0000 (16:43 -0800)]
Update draft release notes to 1.7.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 17 Nov 2010 23:02:35 +0000 (15:02 -0800)]
Merge branch 'jl/maint-pull-tags-doc'
* jl/maint-pull-tags-doc:
pull: Remove --tags option from manpage
Junio C Hamano [Wed, 17 Nov 2010 23:02:12 +0000 (15:02 -0800)]
Merge branch 'kb/maint-submodule-savearg'
* kb/maint-submodule-savearg:
submodule: only preserve flags across recursive status/update invocations
submodule: preserve all arguments exactly when recursing
Junio C Hamano [Wed, 17 Nov 2010 23:02:08 +0000 (15:02 -0800)]
Merge branch 'jk/missing-config'
* jk/missing-config:
config: treat non-existent config files as empty
Junio C Hamano [Wed, 17 Nov 2010 23:01:47 +0000 (15:01 -0800)]
Merge branch 'kb/maint-diff-ws-check'
* kb/maint-diff-ws-check:
diff: handle lines containing only whitespace and tabs better
test-lib: extend test_decode_color to handle more color codes
Junio C Hamano [Wed, 17 Nov 2010 23:01:37 +0000 (15:01 -0800)]
Merge branch 'bg/maint-gitweb-test-lib'
* bg/maint-gitweb-test-lib:
t/gitweb-lib: Don't pass constant to decode_utf8
Conflicts:
t/gitweb-lib.sh
Junio C Hamano [Wed, 17 Nov 2010 23:01:26 +0000 (15:01 -0800)]
Merge branch 'jm/mailmap'
* jm/mailmap:
t4203: do not let "git shortlog" DWIM based on tty
t4203 (mailmap): stop hardcoding commit ids and dates
mailmap: fix use of freed memory
Junio C Hamano [Wed, 17 Nov 2010 23:01:23 +0000 (15:01 -0800)]
Merge branch 'tr/maint-git-repack-tmpfile'
* tr/maint-git-repack-tmpfile:
repack: place temporary packs under .git/objects/pack/
Junio C Hamano [Wed, 17 Nov 2010 23:01:18 +0000 (15:01 -0800)]
Merge branch 'jk/maint-apply-no-binary'
* jk/maint-apply-no-binary:
apply: don't segfault on binary files with missing data
Junio C Hamano [Wed, 17 Nov 2010 23:01:00 +0000 (15:01 -0800)]
Merge branch 'jk/push-progress'
* jk/push-progress:
push: pass --progress down to git-pack-objects
t5523-push-upstream: test progress messages
t5523-push-upstream: add function to ensure fresh upstream repo
test_terminal: ensure redirections work reliably
test_terminal: catch use without TTY prerequisite
test-lib: allow test code to check the list of declared prerequisites
tests: test terminal output to both stdout and stderr
tests: factor out terminal handling from t7006
Junio C Hamano [Wed, 17 Nov 2010 23:00:56 +0000 (15:00 -0800)]
Merge branch 'tr/maint-merge-file-subdir'
* tr/maint-merge-file-subdir:
merge-file: correctly find files when called in subdir
prefix_filename(): safely handle the case where pfx_len=0
Junio C Hamano [Wed, 17 Nov 2010 23:00:51 +0000 (15:00 -0800)]
Merge branch 'jn/send-pack-error'
* jn/send-pack-error:
send-pack: avoid redundant "pack-objects died with strange error"
Junio C Hamano [Wed, 17 Nov 2010 23:00:46 +0000 (15:00 -0800)]
Merge branch 'mg/make-prove'
* mg/make-prove:
test: allow running the tests under "prove"
Junio C Hamano [Wed, 17 Nov 2010 23:00:42 +0000 (15:00 -0800)]
Merge branch 'kb/completion-checkout'
* kb/completion-checkout:
completion: Support the DWIM mode for git checkout
Junio C Hamano [Wed, 17 Nov 2010 23:00:11 +0000 (15:00 -0800)]
Merge branch 'sg/completion'
* sg/completion:
bash: support pretty format aliases
bash: support more 'git notes' subcommands and their options
bash: not all 'git bisect' subcommands make sense when not bisecting
bash: offer refs for 'git bisect start'
Junio C Hamano [Wed, 17 Nov 2010 23:00:03 +0000 (15:00 -0800)]
Merge branch 'sg/bisect'
* sg/bisect:
bisect: check for mandatory argument of 'bisect replay'
bisect: improve error msg of 'bisect reset' when original HEAD is deleted
bisect: improve error message of 'bisect log' while not bisecting
Junio C Hamano [Wed, 17 Nov 2010 22:59:54 +0000 (14:59 -0800)]
Merge branch 'ak/submodule-sync'
* ak/submodule-sync:
submodule sync: Update "submodule.<name>.url" for empty directories
Junio C Hamano [Wed, 17 Nov 2010 22:59:33 +0000 (14:59 -0800)]
Merge branch 'jk/maint-rev-list-nul'
* jk/maint-rev-list-nul:
rev-list: handle %x00 NUL in user format
Junio C Hamano [Wed, 17 Nov 2010 22:59:27 +0000 (14:59 -0800)]
Merge branch 'ks/no-textconv-symlink'
* ks/no-textconv-symlink:
blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664''
blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinks
blame,cat-file: Prepare --textconv tests for correctly-failing conversion program
Junio C Hamano [Wed, 17 Nov 2010 22:59:22 +0000 (14:59 -0800)]
Merge branch 'jn/gitweb-test'
* jn/gitweb-test:
gitweb/Makefile: Include gitweb/config.mak
gitweb/Makefile: Add 'test' and 'test-installed' targets
t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
gitweb: Move call to evaluate_git_version after evaluate_gitweb_config
Junio C Hamano [Wed, 17 Nov 2010 22:59:16 +0000 (14:59 -0800)]
Merge branch 'cb/diff-fname-optim'
* cb/diff-fname-optim:
diff: avoid repeated scanning while looking for funcname
do not search functions for patch ID
add rebase patch id tests
Junio C Hamano [Wed, 17 Nov 2010 22:59:10 +0000 (14:59 -0800)]
Merge branch 'jk/no-textconv-symlink'
* jk/no-textconv-symlink:
diff: don't use pathname-based diff drivers for symlinks
Junio C Hamano [Wed, 17 Nov 2010 22:59:04 +0000 (14:59 -0800)]
Merge branch 'dk/maint-blame-el'
* dk/maint-blame-el:
git-blame.el: Add (require 'format-spec)
Junio C Hamano [Wed, 17 Nov 2010 21:57:58 +0000 (13:57 -0800)]
Merge branch 'maint'
* maint:
clean: remove redundant variable baselen
Documentation/git-pull: clarify configuration
Document that rev-list --graph triggers parent rewriting.
clean: avoid quoting twice
document sigchain api
Keep together options controlling the behaviour of diffcore-rename.
t3402: test "rebase -s<strategy> -X<opt>"
Nguyễn Thái Ngọc Duy [Mon, 15 Nov 2010 06:42:44 +0000 (13:42 +0700)]
clean: remove redundant variable baselen
baselen used to be the result of common_prefix() when it was made
builtin. Since
1d8842d (Add 'fill_directory()' helper function for
directory traversal - 2009-05-14), its value will always be
zero. Remove it because it's no longer variable.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 17 Nov 2010 21:18:19 +0000 (13:18 -0800)]
Merge branch 'mz/maint-rebase-X-fix' into maint
* mz/maint-rebase-X-fix:
t3402: test "rebase -s<strategy> -X<opt>"
Martin von Zweigbergk [Fri, 12 Nov 2010 18:55:58 +0000 (19:55 +0100)]
Documentation/git-pull: clarify configuration
The sentence about 'branch.<name>.rebase' refers to the first sentence
in the paragraph and not to the sentence about avoiding rebasing
non-local changes. Clarify this.
Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Yann Dirson [Fri, 12 Nov 2010 08:48:58 +0000 (09:48 +0100)]
Document that rev-list --graph triggers parent rewriting.
This may help to understand why --graph causes more comments to
be selected.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy [Mon, 15 Nov 2010 10:12:44 +0000 (17:12 +0700)]
clean: avoid quoting twice
qname is the result of quote_path_relative(), which does
quote_c_style_counted() internally. Remove the hard-coded quotes.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Fri, 12 Nov 2010 04:24:56 +0000 (23:24 -0500)]
document sigchain api
It's pretty straightforward, but a stripped-down example
never hurts. And we should make clear that it is explicitly
OK to use SIG_DFL and SIG_IGN.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Yann Dirson [Wed, 10 Nov 2010 20:27:13 +0000 (21:27 +0100)]
Keep together options controlling the behaviour of diffcore-rename.
It makes little sense to have --diff-filter in the middle of them, and
even spares an ifndef::git-format-patch.
Signed-off-by: Yann Dirson <ydirson@altern.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 15 Nov 2010 19:00:24 +0000 (11:00 -0800)]
Merge branch 'maint'
* maint:
rebase -X: do not clobber strategy
Ævar Arnfjörð Bjarmason [Sun, 14 Nov 2010 14:44:16 +0000 (14:44 +0000)]
tests: use test_cmp instead of piping to diff(1)
Change submodule tests that piped to diff(1) to use test_cmp. The
resulting unified diff is easier to read.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Sun, 14 Nov 2010 14:44:15 +0000 (14:44 +0000)]
t7004-tag.sh: re-arrange git tag comment for clarity
Split the "message in editor has initial comment" test into three
tests. The motivation is to be able to only skip the middle part under
NO_GETTEXT_POISON.
In addition the return value of 'git tag' was being returned. We now
check that it's non-zero. I used ! instead of test_must_fail so that
the GIT_EDITOR variable was only used in this command invocation, and
because the surrounding tests use this style.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 11 Nov 2010 21:28:57 +0000 (13:28 -0800)]
t3402: test "rebase -s<strategy> -X<opt>"
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Martin von Zweigbergk [Wed, 10 Nov 2010 07:14:26 +0000 (08:14 +0100)]
rebase -X: do not clobber strategy
If any strategy options are passed to -X, the strategy will always be
set to 'recursive'. According to the documentation, it should default to
'recursive' if it is not set, but it should be possible to set it to
other values.
This fixes a regression introduced in v1.7.3-rc0~67^2 (2010-07-29).
Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 9 Nov 2010 17:45:16 +0000 (09:45 -0800)]
Merge branch 'maint'
* maint:
Documentation: document show -s
dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout
Jonathan Nieder [Tue, 9 Nov 2010 17:12:48 +0000 (11:12 -0600)]
Documentation: document show -s
Git's diff machinery has supported a -s (silence diff output) option
as far back as v0.99~900 (Silent flag for show-diff, 2005-04-13), but
the option is only advertised in an odd corner of the git diff-tree
manual.
The main use is to retrieve basic metadata about a commit:
git show -s rev
Explain this in the 'git log' manual and provide an example in the
'git show' examples section. This is kind of a cop-out, since it
would be more useful to explain it in the 'git show' manual proper,
which says:
The command takes options applicable to the git
diff-tree command to control how the changes the
commit introduces are shown.
This manual page describes only the most frequently
used options.
Fixing that is a larger task for another day.
Reported-by: Will Hall <will@gnatter.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy [Sun, 7 Nov 2010 18:04:58 +0000 (01:04 +0700)]
dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout
Commit
c84de70 (excluded_1(): support exclude files in index -
2009-08-20) tries to work around the fact that there is no
directory/file information in index entries, therefore
EXC_FLAG_MUSTBEDIR match would fail.
Unfortunately the workaround is flawed. This fixes it.
Reported-by: Thomas Rinderknecht <thomasr@sailguy.org>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 5 Nov 2010 17:42:46 +0000 (10:42 -0700)]
Merge branch 'aw/git-p4-deletion'
* aw/git-p4-deletion:
Fix handling of git-p4 on deleted files
Junio C Hamano [Fri, 5 Nov 2010 17:41:09 +0000 (10:41 -0700)]
Merge branch 'master' of git://repo.or.cz/git-gui
* 'master' of git://repo.or.cz/git-gui:
git-gui: apply color information from git diff output
git-gui: use wordprocessor tab style to ensure tabs work as expected
git-gui: correct assignment of work-tree
git-gui: use full dialog width for old name when renaming branch
git-gui: generic version trimming
git-gui: enable the Tk console when tracing/debugging on Windows
git-gui: show command-line errors in a messagebox on Windows
On Windows, avoid git-gui to call Cygwin's nice utility
Junio C Hamano [Fri, 5 Nov 2010 17:36:49 +0000 (10:36 -0700)]
Merge branch 'maint'
* maint:
Fix a formatting error in git-merge.txt
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:24 +0000 (02:35 +0100)]
daemon: opt-out on features that require posix
Windows does not supply the POSIX-functions fork(), setuuid(), setgid(),
setsid() and initgroups(). Error out if --user or --detach is specified
when if so.
MinGW doesn't have prototypes and headers for inet_ntop and inet_pton,
so include our implementation instead. MSVC does, so avoid doing so
there.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:23 +0000 (02:35 +0100)]
daemon: make --inetd and --detach incompatible
Since --inetd makes main return with the result of execute() before
daemonize is gets called, these two options are already incompatible.
Document it, and add an error if attempted.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:22 +0000 (02:35 +0100)]
daemon: use socklen_t
Windows's accept()-function takes the last argument as an int, but glibc
takes an unsigned int. Use socklen_t to get rid of a warning. This is
basically a revert of
7fa0908, but we have already been depending on
socklen_t existing since June 2006 (commit
5b276ee4). I guess this means
that socklen_t IS defined on OSX after all - at least in recent headers.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:21 +0000 (02:35 +0100)]
mingw: use poll-emulation from gnulib
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:20 +0000 (02:35 +0100)]
mingw: import poll-emulation from gnulib
copy lib/poll.c and lib/poll.in.h verbatim from commit
0a05120 in
git://git.savannah.gnu.org/gnulib.git to compat/win32/sys/poll.[ch]
To upgrade this code in the future, branch out from this commit, copy
new versions of the files above on top, and merge back the result.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:19 +0000 (02:35 +0100)]
daemon: get remote host address from root-process
Get remote host in the process that accept() and pass it through
the REMOTE_ADDR environment variable to the handler-process.
Introduce the REMOTE_PORT environmen variable for the port.
Use these variables for reporting instead of doing
getpeername(0, ...), which doesn't work on Windows.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Martin Storsjö [Thu, 4 Nov 2010 01:35:18 +0000 (02:35 +0100)]
Improve the mingw getaddrinfo stub to handle more use cases
Allow the node parameter to be null, which is used for getting
the default bind address.
Also allow the hints parameter to be null, to improve standard
conformance of the stub implementation a little.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:17 +0000 (02:35 +0100)]
daemon: use full buffered mode for stderr
Windows doesn't support line buffered mode for file
streams, so let's just use full buffered mode with
a big buffer ("4096 should be enough for everyone")
and add explicit flushing.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:16 +0000 (02:35 +0100)]
daemon: use run-command api for async serving
fork() is only available on POSIX, so to support git-daemon
on Windows we have to use something else.
Instead we invent the flag --serve, which is a stripped down
version of --inetd-mode. We use start_command() to call
git-daemon with this flag appended to serve clients.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:15 +0000 (02:35 +0100)]
mingw: add kill emulation
This is a quite limited kill-emulation; it can only handle
SIGTERM on positive pids. However, it's enough for git-daemon.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:14 +0000 (02:35 +0100)]
mingw: support waitpid with pid > 0 and WNOHANG
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:13 +0000 (02:35 +0100)]
mingw: use real pid
The Windows port have so far been using process handles in place
of PID. However, this is not work consistent with what getpid
returns.
PIDs are system-global identifiers, but process handles are local
to a process. Using PIDs instead of process handles allows, for
instance, a user to kill a hung process with the Task Manager,
something that would have been impossible with process handles.
Change the code to use the real PID, and use OpenProcess to get a
process-handle. Store the PID and the process handle in a linked
list protected by a critical section, so we can safely close the
process handle later.
Linked list code written by Pat Thoyts.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Thu, 4 Nov 2010 01:35:12 +0000 (02:35 +0100)]
inet_ntop: fix a couple of old-style decls
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Mike Pape [Thu, 4 Nov 2010 01:35:11 +0000 (02:35 +0100)]
compat: add inet_pton and inet_ntop prototypes
Windows doesn't have inet_pton and inet_ntop, so
add prototypes in git-compat-util.h for them.
At the same time include git-compat-util.h in
the sources for these functions, so they use the
network-wrappers from there on Windows.
Signed-off-by: Mike Pape <dotzenlabs@gmail.com>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Mike Pape [Thu, 4 Nov 2010 01:35:10 +0000 (02:35 +0100)]
mingw: implement syslog
Syslog does not usually exist on Windows, so implement our own using
Window's ReportEvent mechanism.
Strings containing "%1" gets expanded into them selves by ReportEvent,
resulting in an unreadable string. "%2" and above is not a problem.
Unfortunately, on Windows an IPv6 address can contain "%1", so expand
"%1" to "% 1" before reporting. "%%1" is also a problem for ReportEvent,
but that string cannot occur in an IPv6 address.
Signed-off-by: Mike Pape <dotzenlabs@gmail.com>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Mike Pape [Thu, 4 Nov 2010 01:35:09 +0000 (02:35 +0100)]
mingw: add network-wrappers for daemon
git-daemon requires some socket-functionality that is not yet
supported in the Windows-port. This patch adds said functionality,
and makes sure WSAStartup gets called by socket(), since it is the
first network-call in git-daemon.
Signed-off-by: Mike Pape <dotzenlabs@gmail.com>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jens Lehmann [Wed, 3 Nov 2010 20:55:48 +0000 (21:55 +0100)]
pull: Remove --tags option from manpage
"Fetch all tags and merge them" does not make any sense as a request at
the logical level, even though it might be more convenient to type.
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Kevin Ballard [Wed, 3 Nov 2010 06:26:25 +0000 (23:26 -0700)]
submodule: only preserve flags across recursive status/update invocations
Recursive invocations of submodule update/status preserve all arguments,
so executing
git submodule update --recursive -- foo
attempts to recursively update a submodule named "foo".
Naturally, this fails as one cannot have an infinitely-deep stack of
submodules each containing a submodule named "foo". The desired behavior
is instead to update foo and then recursively update all submodules
inside of foo.
This commit accomplishes that by only saving the flags for use in the
recursive invocation.
Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Kevin Ballard [Wed, 3 Nov 2010 06:26:24 +0000 (23:26 -0700)]
submodule: preserve all arguments exactly when recursing
Shell variables only hold strings, not lists of parameters,
so $orig_args after
orig_args="$@"
fails to remember where each parameter starts and ends, if
some include whitespace. So
git submodule update \
--reference='/var/lib/common objects.git' \
--recursive --init
becomes
git submodule update --reference=/var/lib/common \
objects.git --recursive --init
in the inner repositories. Use "git rev-parse --sq-quote" to
save parameters in quoted form ready for evaluation by the
shell, avoiding this problem.
Helped-By: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David Kågedal [Tue, 25 May 2010 13:44:15 +0000 (15:44 +0200)]
git-blame.el: Add (require 'format-spec)
c5022f57 (git-blame.el: Change how blame information is shown,
2009-09-29) taught the "M-x git-blame" mode to format its output
in a more interesting way, making use of the format-spec function.
format-spec is included in Emacs 23 and is a useful function.
Older emacsen can get it from Gnus. In all emacsen, we need
to 'require it before use to avoid warnings:
git-blame.el:483:1:Warning: the function `format-spec' is not known to be
defined.
Reported-by: Sergei Organov <osv@javad.com>
Reported-by: Kevin Ryde <user42@zip.com.au>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Mon, 18 Oct 2010 18:39:17 +0000 (14:39 -0400)]
apply: don't segfault on binary files with missing data
Usually when applying a binary diff generated without
--binary, it will be rejected early, as we don't even have
the full sha1 of the pre- and post-images.
However, if the diff is generated with --full-index (but not
--binary), then we will actually try to apply it. If we have
the postimage blob, then we can take a shortcut and never
even look at the binary diff at all (e.g., this can happen
when rebasing changes within a repository).
If we don't have the postimage blob, though, we try to look
at the actual fragments, of which there are none, and get a
segfault. This patch checks explicitly for that case and
complains to the user instead of segfaulting. We need to
keep the check at a low level so that the "shortcut" case
above continues to work.
We also add a test that demonstrates the segfault. While
we're at it, let's also explicitly test the shortcut case.
Reported-by: Rafaël Carré <rafael.carre@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Mon, 18 Oct 2010 09:09:54 +0000 (11:09 +0200)]
t0003: properly quote $HOME
6df42ab (Add global and system-wide gitattributes, 2010-09-01) forgot
to quote one instance of $HOME in the tests. This would be valid
according to POSIX, but bash 4 helpfully declines to execute the
command in question with an "ambiguous redirection" error.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sven Eckelmann [Mon, 20 Sep 2010 09:31:22 +0000 (11:31 +0200)]
contrib/ciabot: git-describe commit instead of HEAD
For each commit a shorter version of the name will be generated. This is
either the truncated hash or the output of git-describe. The
call to git-describe was only made with an empty shell variable instead
of an actual commit hash. Thus it only described the current HEAD and
not each commit we want to submit to cia.vc.
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nathan W. Panike [Fri, 29 Oct 2010 15:33:54 +0000 (10:33 -0500)]
Fix a formatting error in git-merge.txt
Inside an element of an enumerated list, the second and subsequent
paragraphs need to lose their indent and have to be strung together with a
line with a single '+' on it instead. Otherwise the lines below are shown
in typewriter face, which just looks wrong.
Signed-off-by: Nathan W. Panike <nathan.panike@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Mark Lodato [Thu, 28 Oct 2010 01:08:21 +0000 (21:08 -0400)]
completion: fix zsh check under bash with 'set -u'
Commit
06f44c3 (completion: make compatible with zsh) broke bash
compatibility with 'set -u': a warning was generated when checking
$ZSH_VERSION. The solution is to supply a default value, using
${ZSH_VERSION-}. Thanks to SZEDER Gábor for the fix.
Signed-off-by: Mark Lodato <lodatom@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pat Thoyts [Fri, 22 Oct 2010 15:14:38 +0000 (16:14 +0100)]
git-gui: apply color information from git diff output
This patch extracts the ANSI color sequences from git diff output and
applies these to the diff view window. This ensures that the gui view
makes use of the current git configuration for whitespace display.
ANSI codes may include attributes, foreground and background in a single
sequence. Handle this and support bold and reverse attributes. Ignore
all other attributes.
Suggested-by: Tor Arvid Lund <torarvid@gmail.com>
Suggested-by: Junio C Hamano <gitster@pobox.com>
Tested-by: Tor Arvid Lund <torarvid@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Pat Thoyts [Wed, 27 Oct 2010 22:37:31 +0000 (23:37 +0100)]
git-gui: use wordprocessor tab style to ensure tabs work as expected
The Tk text widget tab style is tabular where the first tab will align to
the first tabstop and if that position is left of the current location
then just a single character space is used. With the wordprocessor style
a tab moves the next character position to the next rightmost tabstop
as expected for viewing code.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Junio C Hamano [Wed, 27 Oct 2010 05:02:52 +0000 (22:02 -0700)]
Merge branch 'ab/send-email-perl'
* ab/send-email-perl:
send-email: extract_valid_address use qr// regexes
send-email: is_rfc2047_quoted use qr// regexes
send-email: use Perl idioms in while loop
send-email: make_message_id use "require" instead of "use"
send-email: send_message die on $!, not $?
send-email: use (?:) instead of () if no match variables are needed
send-email: sanitize_address use qq["foo"], not "\"foo\""
send-email: sanitize_address use $foo, not "$foo"
send-email: use \E***\Q instead of \*\*\*
send-email: cleanup_compose_files doesn't need a prototype
send-email: unique_email_list doesn't need a prototype
send-email: file_declares_8bit_cte doesn't need a prototype
send-email: get_patch_subject doesn't need a prototype
send-email: use lexical filehandles during sending
send-email: use lexical filehandles for $compose
send-email: use lexical filehandle for opendir
Conflicts:
git-send-email.perl
Junio C Hamano [Wed, 27 Oct 2010 05:02:03 +0000 (22:02 -0700)]
Merge branch 'sb/send-email-use-to-from-input'
* sb/send-email-use-to-from-input:
send-email: Don't leak To: headers between patches
send-email: Use To: headers in patch files
Conflicts:
git-send-email.perl
Junio C Hamano [Wed, 27 Oct 2010 04:57:31 +0000 (21:57 -0700)]
Merge branch 'ab/require-perl-5.8'
* ab/require-perl-5.8:
perl: use "use warnings" instead of -w
perl: bump the required Perl version to 5.8 from 5.6.[21]
Junio C Hamano [Wed, 27 Oct 2010 04:54:04 +0000 (21:54 -0700)]
Merge branch 'kb/merge-recursive-rename-threshold'
* kb/merge-recursive-rename-threshold:
diff: add synonyms for -M, -C, -B
merge-recursive: option to specify rename threshold
Conflicts:
Documentation/diff-options.txt
Documentation/merge-strategies.txt
Junio C Hamano [Wed, 27 Oct 2010 04:52:26 +0000 (21:52 -0700)]
Merge branch 'jp/send-email-to-cmd'
* jp/send-email-to-cmd:
git-send-email.perl: Add --to-cmd
Conflicts:
git-send-email.perl
Junio C Hamano [Wed, 27 Oct 2010 04:50:03 +0000 (21:50 -0700)]
Merge branch 'as/daemon-multi-listen'
* as/daemon-multi-listen:
daemon: allow more than one host address given via --listen
daemon: add helper function named_sock_setup
Junio C Hamano [Wed, 27 Oct 2010 04:47:11 +0000 (21:47 -0700)]
Merge branch 'dm/mergetool-vimdiff'
* dm/mergetool-vimdiff:
mergetool-lib: make the three-way diff the default for vim/gvim
mergetool-lib: add a three-way diff view for vim/gvim
mergetool-lib: combine vimdiff and gvimdiff run blocks
Junio C Hamano [Wed, 27 Oct 2010 04:41:18 +0000 (21:41 -0700)]
Merge branch 'kf/post-receive-sample-hook'
* kf/post-receive-sample-hook:
post-receive-email: ensure sent messages are not empty
Junio C Hamano [Wed, 27 Oct 2010 04:40:54 +0000 (21:40 -0700)]
Merge branch 'jf/merge-ignore-ws'
* jf/merge-ignore-ws:
merge-recursive: options to ignore whitespace changes
merge-recursive --patience
ll-merge: replace flag argument with options struct
merge-recursive: expose merge options for builtin merge
Junio C Hamano [Wed, 27 Oct 2010 04:39:03 +0000 (21:39 -0700)]
Merge branch 'ml/completion-zsh'
* ml/completion-zsh:
completion: make compatible with zsh
Junio C Hamano [Wed, 27 Oct 2010 04:37:54 +0000 (21:37 -0700)]
Merge branch 'po/sendemail'
* po/sendemail:
New send-email option smtpserveroption.
Remove @smtp_host_parts variable as not used.
Minor indentation fix.
Junio C Hamano [Wed, 27 Oct 2010 04:37:49 +0000 (21:37 -0700)]
Merge branch 'en/tree-walk-optim'
* en/tree-walk-optim:
diff_tree(): Skip skip_uninteresting() when all remaining paths interesting
tree_entry_interesting(): Make return value more specific
tree-walk: Correct bitrotted comment about tree_entry()
Document pre-condition for tree_entry_interesting
Junio C Hamano [Tue, 26 Oct 2010 22:04:05 +0000 (15:04 -0700)]
Merge branch 'maint'
* maint:
Fix copy-pasted comments related to tree diff handling.
Michael J Gruber [Thu, 14 Oct 2010 08:53:36 +0000 (10:53 +0200)]
test: allow running the tests under "prove"
You can run "make DEFAULT_TEST_TARGET=prove test" to run the test under
"prove" (or $(PROVE) if set). The output is a bit easier to read when
running many tests in parallel.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Liked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Liked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Yann Dirson [Sun, 24 Oct 2010 21:03:10 +0000 (23:03 +0200)]
Fix copy-pasted comments related to tree diff handling.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Andrew Waters [Fri, 22 Oct 2010 12:26:02 +0000 (13:26 +0100)]
Fix handling of git-p4 on deleted files
Signed-off-by: Andrew Waters <apwaters@googlemail.com>
Tested-by: Thomas Berg <merlin66b@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 22 Oct 2010 00:16:04 +0000 (17:16 -0700)]
Sync with 1.7.3.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 22 Oct 2010 00:14:32 +0000 (17:14 -0700)]
Git 1.7.3.2
Junio C Hamano [Thu, 21 Oct 2010 23:26:42 +0000 (16:26 -0700)]
Merge branch 'sn/doc-opt-notation' into maint
* sn/doc-opt-notation:
Fix {update,checkout}-index usage strings
Put a space between `<' and argument in pack-objects usage string
Remove stray quotes in --pretty and --format documentation
Use parentheses and `...' where appropriate
Fix odd markup in --diff-filter documentation
Use angles for placeholders consistently
Junio C Hamano [Thu, 21 Oct 2010 23:26:38 +0000 (16:26 -0700)]
Merge branch 'mg/fix-build-remote-helpers' into maint
* mg/fix-build-remote-helpers:
remote-helpers: build in platform independent directory
Jeff King [Thu, 21 Oct 2010 14:45:44 +0000 (10:45 -0400)]
config: treat non-existent config files as empty
The git_config() function signals error by returning -1 in
two instances:
1. An actual error occurs in opening a config file (parse
errors cause an immediate die).
2. Of the three possible config files, none was found.
However, this second case is often not an error at all; it
simply means that the user has no configuration (they are
outside a repo, and they have no ~/.gitconfig file). This
can lead to confusing errors, such as when the bash
completion calls "git config --list" outside of a repo. If
the user has a ~/.gitconfig, the command completes
succesfully; if they do not, it complains to stderr.
This patch allows callers of git_config to distinguish
between the two cases. Error is signaled by -1, and
otherwise the return value is the number of files parsed.
This means that the traditional "git_config(...) < 0" check
for error should work, but callers who want to know whether
we parsed any files or not can still do so.
[jc: with tests from Jonathan]
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Kevin Ballard [Wed, 20 Oct 2010 22:17:26 +0000 (15:17 -0700)]
diff: handle lines containing only whitespace and tabs better
When a line contains nothing but whitespace with at least one tab
and the core.whitespace config option contains blank-at-eol, the
whitespace on the line is being printed twice, once unhighlighted
(unless otherwise matched by one of the other core.whitespace values),
and a second time highlighted for blank-at-eol.
Update the leading indentation check to stop checking when it reaches
the trailing whitespace.
Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Kevin Ballard [Wed, 20 Oct 2010 22:17:25 +0000 (15:17 -0700)]
test-lib: extend test_decode_color to handle more color codes
Enhance the test_decode_color function to handle all common color codes,
including background colors and escapes that contain multiple codes.
This change necessitates changing <WHITE> to <BOLD>, so update t4034
as well.
This change is necessary for the next commit in order to test
background colors properly.
Signed-off-by: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Brian Gernhardt [Wed, 20 Oct 2010 05:57:11 +0000 (01:57 -0400)]
t/gitweb-lib: Don't pass constant to decode_utf8
Encode.pm started updating the string to decode in-place when a second
argument is passed in version 2.40.
This causes 'decode_utf8("", Encode::FB_CROAK)' to die with a message
like:
Modification of a read-only value attempted at .../Encode.pm line 216.
Work around this by passing an empty variable instead of a constant
string.
Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pat Thoyts [Wed, 20 Oct 2010 13:29:56 +0000 (14:29 +0100)]
git-gui: correct assignment of work-tree
git-gui currently uses its own logic to determine the work-tree setting
but 'git rev-parse --toplevel' directly returns git's work-tree value
by calling get_git_work_tree() and is therefore always correct.
This fixes an inability to handle some repository configurations. In
particular where .git is a file containing a path to the real directory
(a cross-platform symbolic link).
To continue to support older versions than 1.7.0, setting the work-tree
by normalizing the --show-cdup value is more reliable as git-dir might be
outside the work-tree entirely.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Junio C Hamano [Wed, 20 Oct 2010 06:32:06 +0000 (23:32 -0700)]
t4203: do not let "git shortlog" DWIM based on tty
The "shortlog" command defaults to HEAD only when its standard input is
connected to a terminal; otherwise it acts in the traditional "filter"
mode to read and summarize the "git log" output.
Two new tests added to t4203 assumed that the command always default to
HEAD, but when the standard input is closed (or connected to /dev/null),
it output empty, which is a summary of its empty input, causing the test
to break.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast [Mon, 18 Oct 2010 13:11:25 +0000 (15:11 +0200)]
{cvs,svn}import: use the new 'git read-tree --empty'
Since
fb1bb96 (read-tree: deprecate syntax without tree-ish args,
2010-09-10) not passing --empty caused a spurious warning that was
shown to the user.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 19 Oct 2010 21:15:51 +0000 (14:15 -0700)]
Merge branch 'maint'
* maint:
t/t9001-send-email.sh: fix stderr redirection in 'Invalid In-Reply-To'
Clarify and extend the "git diff" format documentation
git-show-ref.txt: clarify the pattern matching
documentation: git-config minor cleanups
Update test script annotate-tests.sh to handle missing/extra authors
Antonio Ospite [Tue, 19 Oct 2010 09:50:39 +0000 (11:50 +0200)]
t/t9001-send-email.sh: fix stderr redirection in 'Invalid In-Reply-To'
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Junio C Hamano <gitster@pobox.com>