gitweb.git
Merge branch 'js/run-command-updates' (early part)Junio C Hamano Thu, 9 Jul 2009 07:59:32 +0000 (00:59 -0700)

Merge branch 'js/run-command-updates' (early part)

* 'js/run-command-updates' (early part):
MinGW: truncate exit()'s argument to lowest 8 bits

git-svn.txt: fix description of fetch flags accepted... Yann Dirson Tue, 7 Jul 2009 20:22:22 +0000 (22:22 +0200)

git-svn.txt: fix description of fetch flags accepted by clone.

Signed-off-by: Yann Dirson <ydirson@altern.org>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn.txt: fix fetch flags incorrectly documented... Yann Dirson Tue, 7 Jul 2009 20:22:21 +0000 (22:22 +0200)

git-svn.txt: fix fetch flags incorrectly documented as init flags.

Signed-off-by: Yann Dirson <ydirson@altern.org>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn.txt: make formatting more consistent.Yann Dirson Tue, 7 Jul 2009 20:22:20 +0000 (22:22 +0200)

git-svn.txt: make formatting more consistent.

- correctly link paragraphs within list items
- consistently format examples
- put option alernatives on separate lines
- always use [verse] for config items
- always indent 1st paragraph of a list item, with a tab

Signed-off-by: Yann Dirson <ydirson@altern.org>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn.txt: stop using dash-form of commands.Yann Dirson Tue, 7 Jul 2009 20:22:19 +0000 (22:22 +0200)

git-svn.txt: stop using dash-form of commands.

Also consistently use single quotes around git commands to make things clear
(was only needed at a couple of places).

Signed-off-by: Yann Dirson <ydirson@altern.org>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Wed, 8 Jul 2009 17:42:23 +0000 (10:42 -0700)

Merge branch 'maint'

* maint:
Documentation: update description of shell aliases

Merge branch 'cb/maint-fetch-refspec-wo-dst' into maintJunio C Hamano Wed, 8 Jul 2009 16:52:25 +0000 (09:52 -0700)

Merge branch 'cb/maint-fetch-refspec-wo-dst' into maint

* cb/maint-fetch-refspec-wo-dst:
fetch: do not create ref from empty name

Merge branch 'cf/maint-remote-uploadpack-useconfig... Junio C Hamano Wed, 8 Jul 2009 16:52:14 +0000 (09:52 -0700)

Merge branch 'cf/maint-remote-uploadpack-useconfig-fix' into maint

* cf/maint-remote-uploadpack-useconfig-fix:
git-remote: fix missing .uploadpack usage for show command

Documentation: update description of shell aliasesSitaram Chamarty Wed, 1 Jul 2009 16:00:31 +0000 (21:30 +0530)

Documentation: update description of shell aliases

Aliases that invoke shell commands start from the top-level directory,
but this was not documented.

Signed-off-by: Sitaram Chamarty <sitaramc@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: __git_config_get_set_variables() handle... Stephen Boyd Tue, 30 Jun 2009 05:08:38 +0000 (22:08 -0700)

completion: __git_config_get_set_variables() handle values with spaces

Commit 0065236 (bash completion: complete variable names for "git
config" with options 2009-05-08) implemented its config variable search
wrong. When a config contains a value with a space and a period (.) in
it, completion erroneously thinks that line in the configuration is
multiple config variables.

For example

$ cat .git/config
format.cc = Junio C Hamano <gitster@pobox.com>

$ git config --unset <TAB>
format.cc
<gitster@pobox.com>

Instead of using a for loop splitting across spaces, pipe each line to a
while read loop and beef up the case statement to match only
'config.variable=value'.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'tr/die_errno'Junio C Hamano Mon, 6 Jul 2009 16:39:46 +0000 (09:39 -0700)

Merge branch 'tr/die_errno'

* tr/die_errno:
Use die_errno() instead of die() when checking syscalls
Convert existing die(..., strerror(errno)) to die_errno()
die_errno(): double % in strerror() output just in case
Introduce die_errno() that appends strerror(errno) to die()

Merge branch 'cb/maint-fetch-refspec-wo-dst'Junio C Hamano Mon, 6 Jul 2009 16:39:38 +0000 (09:39 -0700)

Merge branch 'cb/maint-fetch-refspec-wo-dst'

* cb/maint-fetch-refspec-wo-dst:
fetch: do not create ref from empty name

Merge branch 'sb/show-ref-parse-options'Junio C Hamano Mon, 6 Jul 2009 16:38:58 +0000 (09:38 -0700)

Merge branch 'sb/show-ref-parse-options'

* sb/show-ref-parse-options:
show-ref: migrate to parse-options

Merge branch 'gb/am-foreign'Junio C Hamano Mon, 6 Jul 2009 16:38:33 +0000 (09:38 -0700)

Merge branch 'gb/am-foreign'

* gb/am-foreign:
git-am: refactor 'cleaning up and aborting'
git-am foreign patch support: StGIT support
git-am foreign patch support: autodetect some patch formats
git-am foreign patch support: introduce patch_format

Merge branch 'jk/use-our-regexp'Junio C Hamano Mon, 6 Jul 2009 16:38:08 +0000 (09:38 -0700)

Merge branch 'jk/use-our-regexp'

* jk/use-our-regexp:
Makefile: Solaris needs HAVE_ALLOCA_H for alloca()
Makefile: use compat regex on Solaris
Makefile: refactor regex compat support

Merge branch 'uk/rev-parse-parse-opt'Junio C Hamano Mon, 6 Jul 2009 16:38:01 +0000 (09:38 -0700)

Merge branch 'uk/rev-parse-parse-opt'

* uk/rev-parse-parse-opt:
parse-opt: make PARSE_OPT_STOP_AT_NON_OPTION available to git rev-parse
more tests for git rev-parse --parse-opt

Avoid generating a warning if $fullname{$file} is undefinedNick Woolley Mon, 6 Jul 2009 13:33:45 +0000 (14:33 +0100)

Avoid generating a warning if $fullname{$file} is undefined

Signed-off-by: Nick Woolley <git.wu-lee@noodlefactory.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Remove archaic use of regex capture \1 in favour of $1Nick Woolley Mon, 6 Jul 2009 13:33:07 +0000 (14:33 +0100)

Remove archaic use of regex capture \1 in favour of $1

Using it will generate a perl warning "\1 better written as $1".

Signed-off-by: Nick Woolley <git.wu-lee@noodlefactory.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: Add --full-diff to log optionsTodd Zullinger Wed, 3 Jun 2009 20:20:58 +0000 (16:20 -0400)

completion: Add --full-diff to log options

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

Allow the Unix epoch to be a valid commit dateEric Wong Fri, 3 Jul 2009 04:34:54 +0000 (21:34 -0700)

Allow the Unix epoch to be a valid commit date

It is common practice to use the Unix epoch as a fallback date
when a suitable date is not available. This is true of git svn
and possibly other importing tools that import non-git history
into git.

Instead of clobbering established strtoul() error reporting
semantics with our own, preserve the strtoul() error value
of ULONG_MAX for fsck.c to handle.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

http-push: fix xml_entities() string parsing overrunHunter, D. Seth Wed, 1 Jul 2009 00:24:47 +0000 (20:24 -0400)

http-push: fix xml_entities() string parsing overrun

xml_entities() in http-push.c did not properly stop at the end of the
string being examined, which would occasionally cause nonsense to be
appended to escaped URL strings and result in failed DAV XML queries

Signed-off-by: Seth Hunter <hunter@ll.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

MinGW: truncate exit()'s argument to lowest 8 bitsJohannes Sixt Sun, 5 Jul 2009 18:57:46 +0000 (20:57 +0200)

MinGW: truncate exit()'s argument to lowest 8 bits

For some reason, MinGW's bash cannot reliably detect failure of the child
process if a negative value is passed to exit(). This fixes it by
truncating the exit code in all calls of exit().

This issue was worked around in run_builtin() of git.c (2488df84 builtin
run_command: do not exit with -1, 2007-11-15). This workaround is no longer
necessary and is reverted.

Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Remove filename from conflict markersMartin Renold Wed, 1 Jul 2009 20:18:04 +0000 (22:18 +0200)

Remove filename from conflict markers

Put filenames into the conflict markers only when they are different.
Otherwise they are redundant information clutter.

Print the filename explicitely when warning about a binary conflict.

Signed-off-by: Martin Renold <martinxyz@gmx.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'cc/bisect'Junio C Hamano Thu, 2 Jul 2009 02:41:04 +0000 (19:41 -0700)

Merge branch 'cc/bisect'

* cc/bisect:
Documentation: remove warning saying that "git bisect skip" may slow bisection
bisect: use a PRNG with a bias when skipping away from untestable commits

Merge branch 'js/daemon-log'Junio C Hamano Thu, 2 Jul 2009 02:41:00 +0000 (19:41 -0700)

Merge branch 'js/daemon-log'

* js/daemon-log:
receive-pack: do not send error details to the client
upload-pack: squelch progress indicator if client cannot see it
daemon: send stderr of service programs to the syslog

Merge branch 'cf/maint-remote-uploadpack-useconfig... Junio C Hamano Thu, 2 Jul 2009 02:40:54 +0000 (19:40 -0700)

Merge branch 'cf/maint-remote-uploadpack-useconfig-fix'

* cf/maint-remote-uploadpack-useconfig-fix:
git-remote: fix missing .uploadpack usage for show command

Merge branch 'sb/quiet-porcelains'Junio C Hamano Thu, 2 Jul 2009 02:40:50 +0000 (19:40 -0700)

Merge branch 'sb/quiet-porcelains'

* sb/quiet-porcelains:
stash: teach quiet option
am, rebase: teach quiet option
submodule, repack: migrate to git-sh-setup's say()
git-sh-setup: introduce say() for quiet options
am: suppress apply errors when using 3-way
t4150: test applying with a newline in subject

Merge branch 'ne/maint-1.6.0-diff-tree-t-r-show-directory'Junio C Hamano Thu, 2 Jul 2009 02:40:47 +0000 (19:40 -0700)

Merge branch 'ne/maint-1.6.0-diff-tree-t-r-show-directory'

* ne/maint-1.6.0-diff-tree-t-r-show-directory:
diff-tree -r -t: include added/removed directories in the output

Merge branch 'maint'Junio C Hamano Thu, 2 Jul 2009 02:40:16 +0000 (19:40 -0700)

Merge branch 'maint'

* maint:
request-pull: really really disable pager

request-pull: really really disable pagerMichal Marek Wed, 1 Jul 2009 09:40:30 +0000 (11:40 +0200)

request-pull: really really disable pager

Earlier 476cc72 (request-pull: really disable pager, 2009-06-30)
tried to use the correct environment variable to disable paging
from multiple calls to "git log" and friends, but there was one
extra call to "git log" that was not covered by the trick.

Move the setting and exporting of GIT_PAGER much earlier in the
script to cover everybody.

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

log-tree: fix confusing commentJeff King Wed, 1 Jul 2009 07:26:28 +0000 (03:26 -0400)

log-tree: fix confusing comment

This comment mentions the case where use_terminator is set,
but this case is not handled at all by this chunk of code.

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

Merge branch 'maint'Junio C Hamano Tue, 30 Jun 2009 23:12:35 +0000 (16:12 -0700)

Merge branch 'maint'

* maint:
attr: plug minor memory leak
request-pull: really disable pager
Makes some cleanup/review in gittutorial
Makefile: git.o depends on library headers
git-submodule documentation: fix foreach example

attr: plug minor memory leakRené Scharfe Tue, 30 Jun 2009 22:30:00 +0000 (00:30 +0200)

attr: plug minor memory leak

Free the memory allocated for struct strbuf pathbuf when we're done.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git.c: avoid allocating one-too-many elements for new... Brandon Casey Tue, 30 Jun 2009 20:24:13 +0000 (15:24 -0500)

git.c: avoid allocating one-too-many elements for new argv array

When creating a new argv array from a configured alias and the supplied
command line arguments, the new argv was allocated with one element too
many. Since the first element of the original argv array is skipped when
copying it to the new_argv, the number of elements that are allocated
should be reduced by one. 'count' is the number of elements that new_argv
contains, and *argcp is the number of elements in the original argv array.
So the total allocation (including the terminating NULL entry) for the
new_argv array should be:

count + (*argcp - 1) + 1

Also, the explicit assignment of the NULL terminating entry can be avoided
by just copying it over from the original argv array.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

request-pull: really disable pagerJunio C Hamano Tue, 30 Jun 2009 18:29:36 +0000 (11:29 -0700)

request-pull: really disable pager

ff06c74 (Improve request-pull to handle non-rebased branches, 2007-05-01)
attempted to disable pager when running subcommands in this script, but
with a wrong variable. If GIT_PAGER is set, it takes precedence over
PAGER.

Noticed by Michal Marek.

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

git-mv: fix directory separator treatment on WindowsJohannes Sixt Tue, 30 Jun 2009 13:33:57 +0000 (15:33 +0200)

git-mv: fix directory separator treatment on Windows

The following invocations did not work as expected on Windows:

git mv foo\bar dest
git mv foo\ dest

The first command was interpreted as

git mv foo/bar dest/foo/bar

because the Windows style directory separator was not obeyed when the
basename of 'foo\bar' was computed.

The second command failed because the Windows style directory separator was
not removed from the source directory, whereupon the lookup of the
directory in the index failed.

This fixes both issues by using is_dir_sep() and basename().

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: add missing config variablesStephen Boyd Tue, 30 Jun 2009 04:24:24 +0000 (21:24 -0700)

completion: add missing config variables

Update to include branch.*.rebase, remote.*.pushurl, and
add.ignore-errors

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makes some cleanup/review in gittutorialThadeu Lima de Souza Cascardo Mon, 29 Jun 2009 15:13:58 +0000 (12:13 -0300)

Makes some cleanup/review in gittutorial

There are some different but little cleanup changes to fix some missing
quotes, to fix what seemed to be an unended sentence, to reident a
little paragraph with too large a sentence and fix a branch name that
was referred to twice later by another name.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: git.o depends on library headersJohannes Sixt Mon, 29 Jun 2009 19:42:08 +0000 (21:42 +0200)

Makefile: git.o depends on library headers

This dependency was not yet specified anywhere else.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-submodule documentation: fix foreach exampleMiklos Vajna Sun, 28 Jun 2009 12:55:45 +0000 (14:55 +0200)

git-submodule documentation: fix foreach example

Backtick and apostrophe are asciidoc markup, so they should be escaped
in order to get the expected result in the rendered manual page.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git log: add '--merges' flag to match '--no-merges'Linus Torvalds Mon, 29 Jun 2009 17:28:25 +0000 (10:28 -0700)

git log: add '--merges' flag to match '--no-merges'

I do various statistics on git, and one of the things I look at is merges,
because they are often interesting events to count ("how many merges vs
how much 'real development'" kind of statistics). And you can do it with
some fairly straightforward scripting, ie

git rev-list --parents HEAD |
grep ' .* ' |
git diff-tree --always -s --pretty=oneline --stdin |
less -S

will do it.

But I finally got irritated with the fact that we can skip merges with
'--no-merges', but we can't do the trivial reverse operation.

So this just adds a '--merges' flag that _only_ shows merges. Now you can
do the above with just a

git log --merges --pretty=oneline

which is a lot simpler. It also means that we automatically get a lot of
statistics for free, eg

git shortlog -ns --merges

does exactly what you'd want it to do.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://git.bogomips.org/git-svnJunio C Hamano Sun, 28 Jun 2009 03:09:04 +0000 (20:09 -0700)

Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
git svn: Doc update for multiple branch and tag paths
git svn: cleanup t9138-multiple-branches
git-svn: Canonicalize svn urls to prevent libsvn assertion
t9138: remove stray dot in test which broke bash
git-svn: convert globs to regexps for branch destinations
git svn: Support multiple branch and tag paths in the svn repository.
Add 'git svn reset' to unwind 'git svn fetch'
git-svn: speed up find_rev_before
Add 'git svn help [cmd]' which works outside a repo.
git-svn: let 'dcommit $rev' work on $rev instead of HEAD

git svn: Doc update for multiple branch and tag pathsMarc Branchaud Fri, 26 Jun 2009 20:49:19 +0000 (16:49 -0400)

git svn: Doc update for multiple branch and tag paths

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

git svn: cleanup t9138-multiple-branchesMarc Branchaud Fri, 26 Jun 2009 21:08:19 +0000 (17:08 -0400)

git svn: cleanup t9138-multiple-branches

Using the "svn_cmd" wrapper instead of "svn" alone allows tests
to run consistently for users with customized
~/.subversion/configs. Additionally, using subshells via
"(cd ...)" allow cleaner and less error-prone tests to
be written.

[ew: expanded commit message]

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

Merge branch 'pb/send-email-cccmd-fix'Junio C Hamano Sat, 27 Jun 2009 21:13:43 +0000 (14:13 -0700)

Merge branch 'pb/send-email-cccmd-fix'

* pb/send-email-cccmd-fix:
t/t9001-send-email.sh: ensure generated script is executed with $SHELL_PATH

Merge branch 'maint'Junio C Hamano Sat, 27 Jun 2009 20:44:25 +0000 (13:44 -0700)

Merge branch 'maint'

* maint:
gitweb/README: fix AliasMatch in example
Test grep --and/--or/--not
Test git archive --remote
fread does not return negative on error

gitweb/README: fix AliasMatch in exampleGiuseppe Bilotta Sat, 27 Jun 2009 16:24:11 +0000 (18:24 +0200)

gitweb/README: fix AliasMatch in example

When combining "dumb client" and human-friendly access by using the
'.git' extension to switch between the two, make sure the AliasMatch
covers the entire request. Without a full match, a request for

http://git.example.com/project/shortlog/branch..gitsomething

would result in a 404 because the server would try to access the
the project 'project/shortlog/branch.'

The solution is still not bulletproof, so document the possible failing
case.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Test grep --and/--or/--notThomas Rast Sat, 27 Jun 2009 18:47:44 +0000 (20:47 +0200)

Test grep --and/--or/--not

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Test git archive --remoteThomas Rast Sat, 27 Jun 2009 18:47:43 +0000 (20:47 +0200)

Test git archive --remote

Add a small test case for git archive --remote (and thus
git-upload-archive), which so far went untested.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Use die_errno() instead of die() when checking syscallsThomas Rast Sat, 27 Jun 2009 15:58:47 +0000 (17:58 +0200)

Use die_errno() instead of die() when checking syscalls

Lots of die() calls did not actually report the kind of error, which
can leave the user confused as to the real problem. Use die_errno()
where we check a system/library call that sets errno on failure, or
one of the following that wrap such calls:

Function Passes on error from
-------- --------------------
odb_pack_keep open
read_ancestry fopen
read_in_full xread
strbuf_read xread
strbuf_read_file open or strbuf_read_file
strbuf_readlink readlink
write_in_full xwrite

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Convert existing die(..., strerror(errno)) to die_errno()Thomas Rast Sat, 27 Jun 2009 15:58:46 +0000 (17:58 +0200)

Convert existing die(..., strerror(errno)) to die_errno()

Change calls to die(..., strerror(errno)) to use the new die_errno().

In the process, also make slight style adjustments: at least state
_something_ about the function that failed (instead of just printing
the pathname), and put paths in single quotes.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

die_errno(): double % in strerror() output just in... Junio C Hamano Sat, 27 Jun 2009 15:58:45 +0000 (17:58 +0200)

die_errno(): double % in strerror() output just in case

[tr: handle border case where % is placed at end of buffer]

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Introduce die_errno() that appends strerror(errno)... Thomas Rast Sat, 27 Jun 2009 15:58:44 +0000 (17:58 +0200)

Introduce die_errno() that appends strerror(errno) to die()

There are many calls to die() that do, or should, report
strerror(errno) to indicate how the syscall they guard failed.
Introduce a small helper function for this case.

Note:

- POSIX says vsnprintf can modify errno in some unlikely cases, so we
have to use errno early.

- We take some care to pass the original format to die_routine(), in
case someone wants to call die_errno() with custom format
characters.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: Canonicalize svn urls to prevent libsvn assertionUlrich Dangel Fri, 26 Jun 2009 14:52:09 +0000 (16:52 +0200)

git-svn: Canonicalize svn urls to prevent libsvn assertion

Cloning/initializing svn repositories with an uncanonicalize url
does not work as libsvn throws an assertion. This patch
canonicalize svn uris for the clone and init command from
git-svn.

[ew: fixed trailing whitespace]

Signed-off-by: Ulrich Dangel <uli@spamt.net>
Acked-by: Eric Wong <normalperson@yhbt.net>

t9138: remove stray dot in test which broke bashEric Wong Thu, 25 Jun 2009 23:09:59 +0000 (16:09 -0700)

t9138: remove stray dot in test which broke bash

The stray dot broke bash and probably some other shells,
but worked fine with dash in my limited testing.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git-remote: fix missing .uploadpack usage for show... Chris Frey Thu, 25 Jun 2009 21:21:35 +0000 (17:21 -0400)

git-remote: fix missing .uploadpack usage for show command

For users pulling from machines with self compiled git installs,
in non-PATH locations, they can set the config option
remote.<name>.uploadpack to set the location of git-upload-pack.

When using 'git remote show <name>', the remote HEAD check
did not use the uploadpack configuration setting, and would
not use the configured program.

In builtin-remote.c, the config setting is already loaded
with the call to remote_get(), so this patch passes that remote
along to transport_get().

Signed-off-by: Chris Frey <cdfrey@foursquare.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: convert globs to regexps for branch destinationsEric Wong Thu, 25 Jun 2009 09:28:15 +0000 (02:28 -0700)

git-svn: convert globs to regexps for branch destinations

Marc Branchaud wrote:
> I'm fairly happy with this, except for the way the branch
> subcommand matches refspecs. The patch does a simple string
> comparison, but it'd be better to do an actual glob. I just
> couldn't track down the right function for that, so I left it as
> a strcmp and hope that a gitizen can tell me how to glob here.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git svn: Support multiple branch and tag paths in the... Marc Branchaud Tue, 23 Jun 2009 17:02:08 +0000 (13:02 -0400)

git svn: Support multiple branch and tag paths in the svn repository.

This enables git-svn.perl to read multiple 'branches' and 'tags' entries in
svn-remote config sections. The init and clone subcommands also support
multiple --branches and --tags arguments.

The branch (and tag) subcommand gets a new argument: --destination (or -d).
This argument is required if there are multiple branches (or tags) entries
configured for the remote Subversion repository. The argument's value
specifies which branch (or tag) path to use to create the branch (or tag).
The specified value must match the left side (without wildcards) of one of
the branches (or tags) refspecs in the svn-remote's config.

[ew: avoided explicit loop when combining globs with "push"]

Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

Add 'git svn reset' to unwind 'git svn fetch'Ben Jackson Thu, 4 Jun 2009 03:45:52 +0000 (20:45 -0700)

Add 'git svn reset' to unwind 'git svn fetch'

Add a command to unwind the effects of fetch by moving the rev_map
and refs/remotes/git-svn back to an old SVN revision. This allows
revisions to be re-fetched. Ideally SVN revs would be immutable,
but permissions changes in the SVN repository or indiscriminate use
of '--ignore-paths' can create situations where fetch cannot make
progress.

Signed-off-by: Ben Jackson <ben@ben.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: speed up find_rev_beforeBen Jackson Thu, 4 Jun 2009 03:45:51 +0000 (20:45 -0700)

git-svn: speed up find_rev_before

By limiting start revision of find_rev_before to max existing
revision. This avoids a long wait if you do
'git svn reset -r 9999999'. The linear search within the
contiguous revisions doesn't seem to be a problem.

[ew: expanded commit message]

Signed-off-by: Ben Jackson <ben@ben.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

Add 'git svn help [cmd]' which works outside a repo.Ben Jackson Sun, 31 May 2009 01:17:06 +0000 (18:17 -0700)

Add 'git svn help [cmd]' which works outside a repo.

Previously there was no explicit 'help' command, but 'git svn help'
still printed the usage message (as an invalid command), provided you
got past the initialization steps that required a valid repo.

Signed-off-by: Ben Jackson <ben@ben.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

git-svn: let 'dcommit $rev' work on $rev instead of... Thomas Rast Fri, 29 May 2009 15:09:42 +0000 (17:09 +0200)

git-svn: let 'dcommit $rev' work on $rev instead of HEAD

'git svn dcommit' takes an optional revision argument, but the meaning
of it was rather scary. It completely ignored the current state of
the HEAD, only looking at the revisions between SVN and $rev. If HEAD
was attached to $branch, the branch lost all commits $rev..$branch in
the process.

Considering that 'git svn dcommit HEAD^' has the intuitive meaning
"dcommit all changes on my branch except the last one", we change the
meaning of the revision argument. git-svn temporarily checks out $rev
for its work, meaning that

* if a branch is specified, that branch (_not_ the HEAD) is rebased as
part of the dcommit,

* if some other revision is specified, as in the example, all work
happens on a detached HEAD and no branch is affected.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Eric Wong <normalperson@yhbt.net>

fread does not return negative on errorRoel Kluin Mon, 22 Jun 2009 16:42:33 +0000 (18:42 +0200)

fread does not return negative on error

size_t res cannot be less than 0. fread returns 0 on error.

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin-remote: (get_one_entry): use strbufBert Wesarg Mon, 22 Jun 2009 22:27:44 +0000 (00:27 +0200)

builtin-remote: (get_one_entry): use strbuf

Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/t9001-send-email.sh: ensure generated script is execu... Brandon Casey Mon, 22 Jun 2009 17:32:52 +0000 (12:32 -0500)

t/t9001-send-email.sh: ensure generated script is executed with $SHELL_PATH

If the shell is not specified using the '#!' notation, then the OS will
use '/bin/sh' to execute the script which may not produce the desired
results. In particular, /bin/sh on Solaris interprets '^' specially which
has an effect on the sed command that this patch touches.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Mon, 22 Jun 2009 07:44:34 +0000 (00:44 -0700)

Merge branch 'maint'

* maint:
t3700-add: add a POSIXPERM prerequisite to a new test

t3700-add: add a POSIXPERM prerequisite to a new testJohannes Sixt Mon, 22 Jun 2009 07:30:38 +0000 (09:30 +0200)

t3700-add: add a POSIXPERM prerequisite to a new test

The new test does a 'chmod 0', which does not have the intended
effect on Windows.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'sb/maint-1.6.0-add-config-fix' into maintJunio C Hamano Mon, 22 Jun 2009 07:44:09 +0000 (00:44 -0700)

Merge branch 'sb/maint-1.6.0-add-config-fix' into maint

* sb/maint-1.6.0-add-config-fix:
add: allow configurations to be overriden by command line

Sync with 1.6.3.3Junio C Hamano Mon, 22 Jun 2009 06:50:17 +0000 (23:50 -0700)

Sync with 1.6.3.3

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

GIT 1.6.3.3 v1.6.3.3Junio C Hamano Mon, 22 Jun 2009 04:02:49 +0000 (21:02 -0700)

GIT 1.6.3.3

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

Merge branch 'ak/maint-for-each-ref-no-lookup' into... Junio C Hamano Mon, 22 Jun 2009 04:15:39 +0000 (21:15 -0700)

Merge branch 'ak/maint-for-each-ref-no-lookup' into maint

* ak/maint-for-each-ref-no-lookup:
for-each-ref: Do not lookup objects when they will not be used

Merge branch 'rc/maint-http-local-slot-fix' into maintJunio C Hamano Mon, 22 Jun 2009 04:15:31 +0000 (21:15 -0700)

Merge branch 'rc/maint-http-local-slot-fix' into maint

* rc/maint-http-local-slot-fix:
http*: cleanup slot->local after fclose

Merge branch 'cb/maint-no-double-merge' into maintJunio C Hamano Mon, 22 Jun 2009 04:15:27 +0000 (21:15 -0700)

Merge branch 'cb/maint-no-double-merge' into maint

* cb/maint-no-double-merge:
refuse to merge during a merge

Merge branch 'mn/maint-iconv-autoconf' into maintJunio C Hamano Mon, 22 Jun 2009 04:14:25 +0000 (21:14 -0700)

Merge branch 'mn/maint-iconv-autoconf' into maint

* mn/maint-iconv-autoconf:
fix handling of iconv configuration options

Merge branch 'lt/maint-unsigned-left-shift' into maintJunio C Hamano Mon, 22 Jun 2009 04:14:09 +0000 (21:14 -0700)

Merge branch 'lt/maint-unsigned-left-shift' into maint

* lt/maint-unsigned-left-shift:
Fix big left-shifts of unsigned char

Merge branch 'pb/maint-1.6.2-userdiff-fix' into maintJunio C Hamano Mon, 22 Jun 2009 04:08:05 +0000 (21:08 -0700)

Merge branch 'pb/maint-1.6.2-userdiff-fix' into maint

* pb/maint-1.6.2-userdiff-fix:
upload-archive: fix infinite loop on Cygwin
avoid exponential regex match for java and objc function names

receive-pack: do not send error details to the clientJohannes Sixt Sun, 21 Jun 2009 21:16:09 +0000 (23:16 +0200)

receive-pack: do not send error details to the client

If the objects that a client pushes to the server cannot be processed for
any reason, an error is reported back to the client via the git protocol.
We used to send quite detailed information if a system call failed if
unpack-objects is run. This can be regarded as an information leak. Now we
do not send any error details like we already do in the case where
index-pack failed.

Errors in system calls as well as the exit code of unpack-objects and
index-pack are now reported to stderr; in the case of a local push or via
ssh these messages still go to the client, but that is OK since these forms
of access to the server assume that the client can be trusted. If
receive-pack is run from git-daemon, then the daemon should put the error
messages into the syslog.

With this reasoning a new status report is added for the post-update-hook;
untrusted (i.e. daemon's) clients cannot observe its status anyway, others
may want to know failure details.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

attribute: whitespace set to true detects all errors... Junio C Hamano Sun, 21 Jun 2009 09:35:18 +0000 (02:35 -0700)

attribute: whitespace set to true detects all errors known to git

That is what the documentation says, but the code pretends as if all the
known whitespace error tokens were given.

Among the whitespace error tokens, there is one kind that loosens the rule
when set: cr-at-eol. Which means that whitespace error token that is set
to true ignores a newly introduced CR at the end, which is inconsistent
with the documentation.

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

.gitattributes: CR at the end of the line is an errorNanako Shiraishi Fri, 19 Jun 2009 10:42:53 +0000 (19:42 +0900)

.gitattributes: CR at the end of the line is an error

When a CR is accidentally added at the end of a C source file in the git
project tree, "git diff --check" doesn't detect it as an error.

$ echo abQ | tr Q '\015' >>fast-import.c
$ git diff --check

I think this is because the "whitespace" attribute is set to *.[ch] files
without specifying what kind of errors are caught. It makes git "notice
all types of errors" (as described in the documentation), but I think it
is incorrectly setting cr-at-eol, too, and hides this error.

Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t3505: fix abuse of test_expect_codeJunio C Hamano Sun, 21 Jun 2009 09:01:28 +0000 (02:01 -0700)

t3505: fix abuse of test_expect_code

The test wanted to make sure that cherry-pick exits with status 1,
but with the way it was placed after "git checkout master &&" meant
that it could have misjudged success if checkout barfed with the
same failure status.

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

show-ref: migrate to parse-optionsStephen Boyd Sun, 21 Jun 2009 04:40:46 +0000 (21:40 -0700)

show-ref: migrate to parse-options

Also make the docs more consistent with the usage message. While we're
here remove the zero initializers from the static variables as they're
unnecessary.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Sun, 21 Jun 2009 06:50:17 +0000 (23:50 -0700)

Merge branch 'maint'

* maint:
git-show-ref.txt: remove word and make consistent
git-svn documentation: fix typo in 'rebase vs. pull/merge' section

Merge branch 'maint-1.6.2' into maintJunio C Hamano Sun, 21 Jun 2009 06:48:46 +0000 (23:48 -0700)

Merge branch 'maint-1.6.2' into maint

* maint-1.6.2:
git-show-ref.txt: remove word and make consistent
git-svn documentation: fix typo in 'rebase vs. pull/merge' section
use xstrdup, not strdup in ll-merge.c

Merge branch 'maint-1.6.1' into maint-1.6.2Junio C Hamano Sun, 21 Jun 2009 06:48:28 +0000 (23:48 -0700)

Merge branch 'maint-1.6.1' into maint-1.6.2

* maint-1.6.1:
git-show-ref.txt: remove word and make consistent
git-svn documentation: fix typo in 'rebase vs. pull/merge' section
use xstrdup, not strdup in ll-merge.c

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Sun, 21 Jun 2009 06:48:21 +0000 (23:48 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
git-show-ref.txt: remove word and make consistent
git-svn documentation: fix typo in 'rebase vs. pull/merge' section
use xstrdup, not strdup in ll-merge.c

git-show-ref.txt: remove word and make consistentStephen Boyd Sun, 21 Jun 2009 04:40:45 +0000 (21:40 -0700)

git-show-ref.txt: remove word and make consistent

Under is better than in because of the nested nature of the .git
directory.

"also using" sounds a little odd, plus we say combined with later on so
just use that.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix various sparse warnings in the git source codeLinus Torvalds Thu, 18 Jun 2009 17:28:43 +0000 (10:28 -0700)

Fix various sparse warnings in the git source code

There are a few remaining ones, but this fixes the trivial ones. It boils
down to two main issues that sparse complains about:

- warning: Using plain integer as NULL pointer

Sparse doesn't like you using '0' instead of 'NULL'. For various good
reasons, not the least of which is just the visual confusion. A NULL
pointer is not an integer, and that whole "0 works as NULL" is a
historical accident and not very pretty.

A few of these remain: zlib is a total mess, and Z_NULL is just a 0.
I didn't touch those.

- warning: symbol 'xyz' was not declared. Should it be static?

Sparse wants to see declarations for any functions you export. A lack
of a declaration tends to mean that you should either add one, or you
should mark the function 'static' to show that it's in file scope.

A few of these remain: I only did the ones that should obviously just
be made static.

That 'wt_status_submodule_summary' one is debatable. It has a few related
flags (like 'wt_status_use_color') which _are_ declared, and are used by
builtin-commit.c. So maybe we'd like to export it at some point, but it's
not declared now, and not used outside of that file, so 'static' it is in
this patch.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ph/submodule-rebase'Junio C Hamano Sun, 21 Jun 2009 04:51:13 +0000 (21:51 -0700)

Merge branch 'ph/submodule-rebase'

* ph/submodule-rebase:
git-submodule: add support for --merge.

Conflicts:
Documentation/git-submodule.txt
git-submodule.sh

Makefile: Solaris needs HAVE_ALLOCA_H for alloca()Brandon Casey Fri, 19 Jun 2009 15:10:39 +0000 (10:10 -0500)

Makefile: Solaris needs HAVE_ALLOCA_H for alloca()

There is special handling in compat/regex/regex.c for the GNU compiler
to define alloca to __builtin_alloca, but the native compiler must include
alloca.h which happens when HAVE_ALLOCA_H is defined.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jc/cache-tree'Junio C Hamano Sun, 21 Jun 2009 04:47:30 +0000 (21:47 -0700)

Merge branch 'jc/cache-tree'

* jc/cache-tree:
Avoid "diff-index --cached" optimization under --find-copies-harder
Optimize "diff-index --cached" using cache-tree
t4007: modernize the style
cache-tree.c::cache_tree_find(): simplify internal API
write-tree --ignore-cache-tree

Merge branch 'mg/pushurl'Junio C Hamano Sun, 21 Jun 2009 04:47:27 +0000 (21:47 -0700)

Merge branch 'mg/pushurl'

* mg/pushurl:
avoid NULL dereference on failed malloc
builtin-remote: Make "remote -v" display push urls
builtin-remote: Show push urls as well
technical/api-remote: Describe new struct remote member pushurl
t5516: Check pushurl config setting
Allow push and fetch urls to be different

Merge branch 'mn/maint-iconv-autoconf'Junio C Hamano Sun, 21 Jun 2009 04:47:22 +0000 (21:47 -0700)

Merge branch 'mn/maint-iconv-autoconf'

* mn/maint-iconv-autoconf:
fix handling of iconv configuration options

Merge branch 'sb/pull-rebase'Junio C Hamano Sun, 21 Jun 2009 04:47:13 +0000 (21:47 -0700)

Merge branch 'sb/pull-rebase'

* sb/pull-rebase:
parse-remote: remove unused functions
parse-remote: support default reflist in get_remote_merge_branch
parse-remote: function to get the tracking branch to be merge

Merge branch 'pb/send-email-cccmd-fix'Junio C Hamano Sun, 21 Jun 2009 04:47:06 +0000 (21:47 -0700)

Merge branch 'pb/send-email-cccmd-fix'

* pb/send-email-cccmd-fix:
Test cccmd in t9001-send-email.sh and fix some bugs

Merge branch 'pb/maint-1.6.2-userdiff-fix'Junio C Hamano Sun, 21 Jun 2009 04:46:55 +0000 (21:46 -0700)

Merge branch 'pb/maint-1.6.2-userdiff-fix'

* pb/maint-1.6.2-userdiff-fix:
upload-archive: fix infinite loop on Cygwin
avoid exponential regex match for java and objc function names

Merge branch 'sb/maint-1.6.0-add-config-fix'Junio C Hamano Sun, 21 Jun 2009 04:46:38 +0000 (21:46 -0700)

Merge branch 'sb/maint-1.6.0-add-config-fix'

* sb/maint-1.6.0-add-config-fix:
add: allow configurations to be overriden by command line
use xstrdup, not strdup in ll-merge.c

Conflicts:
builtin-add.c

Merge branch 'lt/maint-unsigned-left-shift'Junio C Hamano Sun, 21 Jun 2009 04:46:10 +0000 (21:46 -0700)

Merge branch 'lt/maint-unsigned-left-shift'

* lt/maint-unsigned-left-shift:
Fix big left-shifts of unsigned char

git-svn documentation: fix typo in 'rebase vs. pull... Miklos Vajna Sat, 20 Jun 2009 11:27:15 +0000 (13:27 +0200)

git-svn documentation: fix typo in 'rebase vs. pull/merge' section

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://git.kernel.org/pub/scm/gitk/gitkJunio C Hamano Sat, 20 Jun 2009 18:54:37 +0000 (11:54 -0700)

Merge git://git.kernel.org/pub/scm/gitk/gitk

* git://git.kernel.org/pub/scm/gitk/gitk:
gitk: Allow diff view without context lines
gitk: Add another string to translation
gitk: Add option 'Simple history' to the options menu
gitk: Handle msysGit version during version comparisons
gitk: Make more options easily accessible from Edit View dialog
gitk: Check git version before using --textconv flag
gitk: Use --textconv to generate diff text
gitk: Update German translation.

add: allow configurations to be overriden by command... Stephen Boyd Thu, 18 Jun 2009 09:17:54 +0000 (02:17 -0700)

add: allow configurations to be overriden by command line

Don't call git_config after parsing the command line options, otherwise
the config settings will override any settings made by the command line.

This can be seen by setting add.ignore_errors and then specifying
--no-ignore-errors when using git-add.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>