gitweb.git
api-parse-options.txt: use 'func' instead of 'funct'Stephen Boyd Sat, 16 May 2009 09:24:44 +0000 (02:24 -0700)

api-parse-options.txt: use 'func' instead of 'funct'

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

Turn on USE_ST_TIMESPEC for OpenBSDTony Kemp Thu, 14 May 2009 06:47:41 +0000 (16:47 +1000)

Turn on USE_ST_TIMESPEC for OpenBSD

Like Darwin, OpenBSD's stat struct uses st_ctimespec and st_mtimestruct
rather than st_ctim and st_mtim.

Signed-off-by: Tony Kemp <tony.kemp@newcastle.edu.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.6.2' into maintJunio C Hamano Sat, 16 May 2009 07:12:58 +0000 (00:12 -0700)

Merge branch 'maint-1.6.2' into maint

* maint-1.6.2:
ls-tree manpage: output of ls-tree is compatible with update-index
ls-tree manpage: use "unless" instead of "when ... is not"

Merge branch 'maint-1.6.1' into maint-1.6.2Junio C Hamano Thu, 14 May 2009 04:06:11 +0000 (21:06 -0700)

Merge branch 'maint-1.6.1' into maint-1.6.2

* maint-1.6.1:
ls-tree manpage: output of ls-tree is compatible with update-index
ls-tree manpage: use "unless" instead of "when ... is not"

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Thu, 14 May 2009 04:05:59 +0000 (21:05 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
ls-tree manpage: output of ls-tree is compatible with update-index
ls-tree manpage: use "unless" instead of "when ... is not"

Add NO_CROSS_DIRECTORY_HARDLINKS support to the MakefileJohannes Schindelin Mon, 11 May 2009 11:02:18 +0000 (13:02 +0200)

Add NO_CROSS_DIRECTORY_HARDLINKS support to the Makefile

When the installed programs are tar'ed up and installed on a system where
bin/ and libexec/git-core/ live on different file systems, we do not want
libexec/git-core/git-* to be hardlinks to bin/git.

Noticed by Cedric Staniewski.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

GIT 1.6.3.1 v1.6.3.1Junio C Hamano Wed, 13 May 2009 05:28:22 +0000 (22:28 -0700)

GIT 1.6.3.1

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

Merge branch 'maint-1.6.2' into maintJunio C Hamano Tue, 12 May 2009 16:58:34 +0000 (09:58 -0700)

Merge branch 'maint-1.6.2' into maint

* maint-1.6.2:
Revert "checkout branch: prime cache-tree fully"

Merge branch 'jc/maint-read-tree-multi' into maint... Junio C Hamano Tue, 12 May 2009 16:58:21 +0000 (09:58 -0700)

Merge branch 'jc/maint-read-tree-multi' into maint-1.6.2

* jc/maint-read-tree-multi:
Revert "checkout branch: prime cache-tree fully"

Revert "checkout branch: prime cache-tree fully"Junio C Hamano Tue, 12 May 2009 16:41:28 +0000 (09:41 -0700)

Revert "checkout branch: prime cache-tree fully"

The logic in 83ae209 (checkout branch: prime cache-tree fully,
2009-04-20) is bogus; checkout can switch branches with a dirty
index and in such a case the tree won't match HEAD.

Add t2014-switch to catch this breakage.

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

ls-tree manpage: output of ls-tree is compatible with... Alex Riesen Sun, 10 May 2009 16:14:49 +0000 (18:14 +0200)

ls-tree manpage: output of ls-tree is compatible with update-index

Such format relationships are very useful things to remember for
script writers.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

ls-tree manpage: use "unless" instead of "when ...... Alex Riesen Sun, 10 May 2009 16:13:45 +0000 (18:13 +0200)

ls-tree manpage: use "unless" instead of "when ... is not"

Delayed negation in a statement is harder to spot and keep in mind.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge-recursive: never leave index unmerged while recursingDave Olszewski Sat, 9 May 2009 21:49:59 +0000 (14:49 -0700)

merge-recursive: never leave index unmerged while recursing

When you are trying to come up with the final result (i.e. depth=0), you
want to record how the conflict arose by registering the state of the
common ancestor, your branch and the other branch in the index, hence you
want to do update_stages().

When you are merging with positive depth, that is because of a criss-cross
merge situation. In such a case, you would need to record the tentative
result, with conflict markers and all, as if the merge went cleanly, even
if there are conflicts, in order to write it out as a tree object later to
be used as a common ancestor tree.

update_file() calls update_file_flags() with update_cache=1 to signal that
the result needs to be written to the index at stage #0 (i.e. merged), and
the code should not clobber the index further by calling update_stages().

The codepath to deal with rename/delete conflict in a recursive merge
however left the index unmerged.

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

Teach 'git checkout' to preload the index contentsLinus Torvalds Sat, 9 May 2009 22:11:17 +0000 (15:11 -0700)

Teach 'git checkout' to preload the index contents

This makes git checkout know to use the threaded index preloading if it
is enabled in the config file. You need to have

[core]
preloadindex = true

in your config file to see it, and for that feature to make sense your
filesystem needs to be able to do concurrent 'lstat()' lookups, but when
that is the case (especially NFS over a high-latency network), this can
be a noticeable performance win.

But with a low-latency network and at least older Linux NFS clients, this
will clearly potentially cause a lot of lock contention. It may still
speed up the uncached case, but the threading and locking overhead will
result in the cached case likely slowing down.

That was almost certainly fixed by Linux commit fc0f684c2 ("NFS: Remove
BKL from NFS lookup code"), but that one got merged into 2.6.27-rc1, so
older kernel versions than 2.6.27 will not scale very well.

But regardless, it's the right thing to do. If your filesystem doesn't
scale, don't enable index preloading.

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

Avoid unnecessary 'lstat()' calls in 'get_stat_data()'Linus Torvalds Sat, 9 May 2009 21:57:30 +0000 (14:57 -0700)

Avoid unnecessary 'lstat()' calls in 'get_stat_data()'

When we ask get_stat_data() to get the mode and size of an index entry,
we can avoid the lstat() call if we have marked the index entry as being
uptodate due to earlier lstat() calls.

This avoids a lot of unnecessary lstat() calls in eg 'git checkout',
where the last phase shows the differences to the working tree
(requiring a diff), but earlier phases have already verified the index.

On the kernel repo (with a fast machine and everything cached), this
changes timings of a nul 'git checkout' from

- Before (best of ten):

0.14user 0.05system 0:00.19elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+13237minor)pagefaults 0swaps

- After
0.11user 0.03system 0:00.15elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+13235minor)pagefaults 0swaps

so it can obviously be noticeable, although equally obviously it's not a
show-stopper on this particular machine. The difference is likely larger
on slower machines, or with operating systems that don't do as good a job
of name caching.

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

add: don't complain when adding empty project rootJeff King Wed, 29 Apr 2009 03:21:01 +0000 (23:21 -0400)

add: don't complain when adding empty project root

We try to warn the user if one of their pathspecs caused no
matches, as it may have been a typo. However, we disable the
warning if the pathspec points to an existing file, since
that means it is not a typo but simply an empty directory.

Unfortunately, the file_exists() test was broken for one
special case: the pathspec of the project root is just "".
This patch detects this special case and acts as if the file
exists (which it must, since it is the project root).

The user-visible effect is that this:

$ mkdir repo && cd repo && git init && git add .

used to complain like:

fatal: pathspec '' did not match any files

but now is a silent no-op.

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

format-patch let -k override a config-specified format... Jim Meyering Sat, 9 May 2009 08:12:01 +0000 (10:12 +0200)

format-patch let -k override a config-specified format.numbered

Let a command-line --keep-subject (-k) override a config-specified
format.numbered (--numbered (-n)), rather than provoking the
"-n and -k are mutually exclusive" failure.
* t4021-format-patch-numbered.sh: Test for the above

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fix GIT_TRACE segfault with shell-quoted aliasesJeff King Fri, 8 May 2009 09:06:15 +0000 (05:06 -0400)

fix GIT_TRACE segfault with shell-quoted aliases

The alias argv comes from the split_cmdline function, which
splits the config text for the alias into an array of
strings. It returns the number of elements in the array, but
does not actually put a NULL at the end of the array.
Later, the trace function tries to print this argv and
assumes that it has the trailing NULL.

The split_cmdline function is probably at fault, since argv
lists almost always end with a NULL signal. This patch adds
one, in addition to the returned count; this doesn't hurt
the other callers at all, since they were presumably using
the count already (and will never look at the NULL).

While we're there and using ALLOC_GROW, let's clean up the
other manual grow.

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

Documentation: cloning to empty directory is allowedAlexander Potashev Thu, 7 May 2009 12:04:08 +0000 (16:04 +0400)

Documentation: cloning to empty directory is allowed

Cloning into an existing empty directory is now allowed:
commit 55892d23981917aefdb387ad7d0429f90cbd446a
("Allow cloning to an existing empty directory")

Signed-off-by: Alexander Potashev <aspotashev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Clarify kind of conflict in merge-one-file helperAlex Riesen Wed, 29 Apr 2009 21:40:50 +0000 (23:40 +0200)

Clarify kind of conflict in merge-one-file helper

Not as verbose as the recursive merge driver, but better still.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git config: clarify --add and --get-colorFelipe Contreras Wed, 6 May 2009 22:57:08 +0000 (01:57 +0300)

git config: clarify --add and --get-color

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

archive-tar.c: squelch a type mismatch warningJunio C Hamano Thu, 7 May 2009 08:08:19 +0000 (01:08 -0700)

archive-tar.c: squelch a type mismatch warning

On some systems, giving a value of type time_t to printf "%lo" that
expects an unsigned long would give a type mismatch warning.

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

Start 1.6.3.1 maintenance series.Junio C Hamano Sat, 9 May 2009 04:49:14 +0000 (21:49 -0700)

Start 1.6.3.1 maintenance series.

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

Merge branch 'maint-1.6.1' into maint-1.6.2Junio C Hamano Sat, 9 May 2009 04:13:47 +0000 (21:13 -0700)

Merge branch 'maint-1.6.1' into maint-1.6.2

* maint-1.6.1:

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Sat, 9 May 2009 04:12:41 +0000 (21:12 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
dir.c: Fix two minor grammatical errors in comments

GIT 1.6.3 v1.6.3Junio C Hamano Thu, 7 May 2009 00:13:27 +0000 (17:13 -0700)

GIT 1.6.3

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

t4029: use sh instead of bashNguyễn Thái Ngọc Duy Wed, 6 May 2009 14:33:34 +0000 (00:33 +1000)

t4029: use sh instead of bash

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4200: convert sed expression which operates on non... Brandon Casey Wed, 6 May 2009 22:56:18 +0000 (17:56 -0500)

t4200: convert sed expression which operates on non-text file to perl

POSIX only requires sed to work on text files and MERGE_RR is not a text
file. Some versions of sed complain that this file is not newline
terminated, and exit non-zero. Use perl instead which does not have a
problem with it.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4200: remove two unnecessary linesBrandon Casey Wed, 6 May 2009 22:56:17 +0000 (17:56 -0500)

t4200: remove two unnecessary lines

These two lines appear to be unnecessary. They set variables which are not
used afterwards. The primary motivation to remove them is that the sed
invocation exits non-zero for seds which require newline termination of
input files.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t/annotate-tests.sh: avoid passing a non-newline termin... Brandon Casey Wed, 6 May 2009 18:29:16 +0000 (13:29 -0500)

t/annotate-tests.sh: avoid passing a non-newline terminated file to sed

Some versions of sed exit non-zero if the file they are supplied is not
newline terminated. Solaris's /usr/xpg4/bin/sed is one such sed. So
rework this test to avoid doing so.

This affects tests t8001-annotate.sh and t8002-blame.sh.

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

t4118: avoid sed invocation on file without terminating... Brandon Casey Wed, 6 May 2009 18:29:15 +0000 (13:29 -0500)

t4118: avoid sed invocation on file without terminating newline

Some versions of sed exit non-zero if the file they are supplied is not
newline terminated. Solaris's /usr/xpg4/bin/sed is one such sed. In
this case the sed invocation can be avoided entirely since the resulting
file is equivalent to a previously created file. So, just copy that file
into place instead.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4118: add missing '&&'Brandon Casey Wed, 6 May 2009 18:29:14 +0000 (13:29 -0500)

t4118: add missing '&&'

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t8005: use egrep when extended regular expressions... Brandon Casey Wed, 6 May 2009 18:31:42 +0000 (13:31 -0500)

t8005: use egrep when extended regular expressions are required

Not all versions of grep understand backslashed extended regular
expressions. Possibly only gnu grep does.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-clean doc: the command only affects paths under... Junio C Hamano Wed, 6 May 2009 17:48:26 +0000 (10:48 -0700)

git-clean doc: the command only affects paths under $(cwd)

Fredrik Skolmli and Thomas Rast noticed that it was left unstated that
"git clean" ran from a subdirectory will not affect anything outside it,
with or without path limiters.

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

Merge branch 'maint'Junio C Hamano Wed, 6 May 2009 05:52:17 +0000 (22:52 -0700)

Merge branch 'maint'

* maint:
improve error message in config.c
t4018-diff-funcname: add cpp xfuncname pattern to syntax test
Work around BSD whose typeof(tv.tv_sec) != time_t
git-am.txt: reword extra headers in message body
git-am.txt: Use date or value instead of time or timestamp
git-am.txt: add an 'a', say what 'it' is, simplify a sentence
dir.c: Fix two minor grammatical errors in comments
git-svn: fix a sloppy Getopt::Long usage

Merge branch 'rj/maint-1.6.0-svn-parse-fix' into maintJunio C Hamano Wed, 6 May 2009 05:51:49 +0000 (22:51 -0700)

Merge branch 'rj/maint-1.6.0-svn-parse-fix' into maint

* rj/maint-1.6.0-svn-parse-fix:
git-svn: fix a sloppy Getopt::Long usage

Merge branch 'maint-1.6.0' into maintJunio C Hamano Wed, 6 May 2009 05:51:31 +0000 (22:51 -0700)

Merge branch 'maint-1.6.0' into maint

* maint-1.6.0:
dir.c: Fix two minor grammatical errors in comments

improve error message in config.cAlex Riesen Wed, 29 Apr 2009 21:27:54 +0000 (23:27 +0200)

improve error message in config.c

Show errno if opening a lockfile fails.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t4018-diff-funcname: add cpp xfuncname pattern to synta... Brandon Casey Sat, 2 May 2009 14:31:16 +0000 (09:31 -0500)

t4018-diff-funcname: add cpp xfuncname pattern to syntax test

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

Work around BSD whose typeof(tv.tv_sec) != time_tBernd Ahlers Mon, 6 Apr 2009 17:26:37 +0000 (19:26 +0200)

Work around BSD whose typeof(tv.tv_sec) != time_t

According to POSIX, tv_sec is supposed to be a time_t, but OpenBSD
(and FreeBSD, too) defines it to be a long, which triggers a type
mismatch when a pointer to it is given to localtime_r().

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

git-am.txt: reword extra headers in message bodyStephen Boyd Mon, 4 May 2009 06:46:58 +0000 (23:46 -0700)

git-am.txt: reword extra headers in message body

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

git-am.txt: Use date or value instead of time or timestampStephen Boyd Tue, 5 May 2009 05:19:00 +0000 (22:19 -0700)

git-am.txt: Use date or value instead of time or timestamp

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

git-am.txt: add an 'a', say what 'it' is, simplify... Stephen Boyd Tue, 5 May 2009 05:18:42 +0000 (22:18 -0700)

git-am.txt: add an 'a', say what 'it' is, simplify a sentence

It's nice to know that 'it' is git-am or the subject line. Whitespace
implies characters so just remove characters.

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

completion: complete values for send-emailStephen Boyd Mon, 4 May 2009 06:25:35 +0000 (23:25 -0700)

completion: complete values for send-email

Add completion for --confirm, --suppress-cc, and --smtp-encryption
command line arguments. Add completion for aliasfiletype and confirm
configuration variables.

Since --smtp-ssl is deprecated, replace it with --smtp-encryption and
the two options ssl and tls.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: complete values for log.dateStephen Boyd Mon, 4 May 2009 06:25:34 +0000 (23:25 -0700)

completion: complete values for log.date

Add raw to the date formats too.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: complete values for help.formatStephen Boyd Mon, 4 May 2009 06:25:33 +0000 (23:25 -0700)

completion: complete values for help.format

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: add {gui,diff,merge}tool, man, and pager... Stephen Boyd Mon, 4 May 2009 06:25:32 +0000 (23:25 -0700)

completion: add {gui,diff,merge}tool, man, and pager config variables

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: add missing configuration variables to... Stephen Boyd Mon, 4 May 2009 06:25:31 +0000 (23:25 -0700)

completion: add missing configuration variables to _git_config()

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

dir.c: Fix two minor grammatical errors in commentsAllan Caffee Mon, 4 May 2009 17:37:30 +0000 (13:37 -0400)

dir.c: Fix two minor grammatical errors in comments

Signed-off-by: Allan Caffee <allan.caffee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: fix a sloppy Getopt::Long usageRobin H. Johnson Tue, 5 May 2009 18:16:14 +0000 (11:16 -0700)

git-svn: fix a sloppy Getopt::Long usage

Getopt-Long v2.38 is much stricter about sloppy getopt usage. The
trailing pipe causes git-svn testcases to fail for all of the --stdin
argument calls.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with GIT 1.6.2.5Junio C Hamano Sun, 3 May 2009 23:46:34 +0000 (16:46 -0700)

Sync with GIT 1.6.2.5

GIT 1.6.2.5 v1.6.2.5Junio C Hamano Sun, 3 May 2009 23:14:58 +0000 (16:14 -0700)

GIT 1.6.2.5

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

Merge branch 'np/maint-no-ofs-delta' into maintJunio C Hamano Sun, 3 May 2009 23:50:47 +0000 (16:50 -0700)

Merge branch 'np/maint-no-ofs-delta' into maint

* np/maint-no-ofs-delta:
honor repack.usedeltabaseoffset when fetching packs

Merge branch 'maint-1.6.1' into maintJunio C Hamano Sun, 3 May 2009 23:14:07 +0000 (16:14 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
GIT 1.6.1.4

Conflicts:
GIT-VERSION-GEN

GIT 1.6.1.4 v1.6.1.4Junio C Hamano Sun, 3 May 2009 22:20:03 +0000 (15:20 -0700)

GIT 1.6.1.4

With a handful of fixes backmerged from 1.6.2.X series

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

Merge branch 'jc/maint-read-tree-multi' into maintJunio C Hamano Sun, 3 May 2009 22:02:59 +0000 (15:02 -0700)

Merge branch 'jc/maint-read-tree-multi' into maint

* jc/maint-read-tree-multi:
checkout branch: prime cache-tree fully
read-tree -m A B: prime cache-tree from the switched-to tree
Move prime_cache_tree() to cache-tree.c
read-tree A B: do not corrupt cache-tree

Merge branch 'mk/maint-apply-swap' into maintJunio C Hamano Sun, 3 May 2009 22:02:52 +0000 (15:02 -0700)

Merge branch 'mk/maint-apply-swap' into maint

* mk/maint-apply-swap:
tests: make test-apply-criss-cross-rename more robust
builtin-apply: keep information about files to be deleted
tests: test applying criss-cross rename patch

Merge branch 'mm/maint-add-p-quit' into maintJunio C Hamano Sun, 3 May 2009 22:02:46 +0000 (15:02 -0700)

Merge branch 'mm/maint-add-p-quit' into maint

* mm/maint-add-p-quit:
git add -p: add missing "q" to patch prompt

Merge branch 'lt/pack-object-memuse' into maintJunio C Hamano Sun, 3 May 2009 22:02:40 +0000 (15:02 -0700)

Merge branch 'lt/pack-object-memuse' into maint

* lt/pack-object-memuse:
show_object(): push path_name() call further down
process_{tree,blob}: show objects without buffering

Merge branch 'jc/maint-1.6.0-keep-pack' into maint... Junio C Hamano Sun, 3 May 2009 22:01:31 +0000 (15:01 -0700)

Merge branch 'jc/maint-1.6.0-keep-pack' into maint-1.6.1

* jc/maint-1.6.0-keep-pack:
pack-objects: don't loosen objects available in alternate or kept packs
t7700: demonstrate repack flaw which may loosen objects unnecessarily
Remove --kept-pack-only option and associated infrastructure
pack-objects: only repack or loosen objects residing in "local" packs
git-repack.sh: don't use --kept-pack-only option to pack-objects
t7700-repack: add two new tests demonstrating repacking flaws
is_kept_pack(): final clean-up
Simplify is_kept_pack()
Consolidate ignore_packed logic more
has_sha1_kept_pack(): take "struct rev_info"
has_sha1_pack(): refactor "pretend these packs do not exist" interface
git-repack: resist stray environment variable

Merge branch 'jc/maint-1.6.0-diff-borrow-carefully... Junio C Hamano Sun, 3 May 2009 22:01:26 +0000 (15:01 -0700)

Merge branch 'jc/maint-1.6.0-diff-borrow-carefully' into maint-1.6.1

* jc/maint-1.6.0-diff-borrow-carefully:
diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged

Merge branch 'bs/maint-1.6.0-tree-walk-prefix' into... Junio C Hamano Sun, 3 May 2009 22:01:19 +0000 (15:01 -0700)

Merge branch 'bs/maint-1.6.0-tree-walk-prefix' into maint-1.6.1

* bs/maint-1.6.0-tree-walk-prefix:
match_tree_entry(): a pathspec only matches at directory boundaries
tree_entry_interesting: a pathspec only matches at directory boundary

GIT 1.6.3-rc4 v1.6.3-rc4Junio C Hamano Sat, 2 May 2009 06:31:00 +0000 (23:31 -0700)

GIT 1.6.3-rc4

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

honor repack.usedeltabaseoffset when fetching packsNicolas Pitre Sat, 2 May 2009 00:18:02 +0000 (20:18 -0400)

honor repack.usedeltabaseoffset when fetching packs

If the local receiving repository has disabled the use of delta base
offset, for example to retain compatibility with older versions of
Git that predate OFS_DELTA, we shouldn't ask for ofs-delta support
when we obtain a pack from the remote server.

[ issue noticed by Shawn Pearce ]

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://repo.or.cz/git-guiJunio C Hamano Sat, 2 May 2009 05:11:57 +0000 (22:11 -0700)

Merge git://repo.or.cz/git-gui

* git://repo.or.cz/git-gui:
git-gui: Fixes for Mac OS X TkAqua
git-gui: Update Russian translation
git-gui: run post-checkout hook after clone
git-gui: Ensure consistent usage of mergetool.keepBackup
git-gui: fix use of undeclared variable diff_empty_count
git-gui (Win): make starting via "Git GUI Here" on .git/ possible
git-gui (Win): make "Explore Working Copy" more robust
git-gui: run post-checkout hook on checkout
git-gui: When calling post-commit hook wrong variable was cleared.
git-gui: use `git --html-path` to get the location of installed HTML docs
git-gui: fix deleting from the context menu with empty selection
git-gui: minor spelling fix and string factorisation.
git-gui: various French translation fixes
git-gui: Fix merge conflict display error when filename contains spaces
git-gui: don't hide the Browse button when resizing the repo chooser
Append ampersand to "Target" of lnk files created by do_cygwin_shortcut
git-gui: Support more git version notations.
git-gui: Avoid an infinite rescan loop in handle_empty_diff.
git-gui: Fix post-commit status with subject in non-locale encoding

allow OFS_DELTA objects during a pushNicolas Pitre Fri, 1 May 2009 20:56:47 +0000 (16:56 -0400)

allow OFS_DELTA objects during a push

The fetching of OFS_DELTA objects has been negotiated between both peers
since git version 1.4.4. However, this was missing from the push side
where every OFS_DELTA objects were always converted to REF_DELTA objects
causing an increase in transferred data.

To fix this, both the client and the server processes have to be
modified: the former to invoke pack-objects with --delta-base-offset
when the server provides the ofs-delta capability, and the later to send
that capability when OFS_DELTA objects are allowed as already indicated
by the repack.usedeltabaseoffset config variable which is TRUE by
default since git v1.6.0.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

ctype.c: fix typo in commentRené Scharfe Fri, 1 May 2009 20:03:07 +0000 (22:03 +0200)

ctype.c: fix typo in comment

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

Fix a bunch of pointer declarations (codestyle)Felipe Contreras Fri, 1 May 2009 09:06:36 +0000 (12:06 +0300)

Fix a bunch of pointer declarations (codestyle)

Essentially; s/type* /type */ as per the coding guidelines.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-gui: Fixes for Mac OS X TkAquaDaniel A. Steffen Sat, 16 Aug 2008 01:20:09 +0000 (03:20 +0200)

git-gui: Fixes for Mac OS X TkAqua

- detect more Tk.framework variants
- fix apple menu setup, use native preferences menu item
- don't set menu font

Signed-off-by: Daniel A. Steffen <das@users.sourceforge.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge git://git.kernel.org/pub/scm/gitk/gitkJunio C Hamano Fri, 1 May 2009 02:56:28 +0000 (19:56 -0700)

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

* git://git.kernel.org/pub/scm/gitk/gitk:
gitk: Add Russian translation
gitk: Fix compare-commits function when we have local changes
gitk: Avoid crash if closed while reading references
gitk: Handle external diff tool with spaces in the path
gitk: Remember and restore the window state with the geometry
gitk: Map KP_Divide to focus the search box
gitk: Mark some more strings for translation
gitk: Mark forgotten string for translation
gitk: Make .gitk a hidden file under windows
gitk: Add a command to compare two strings of commits
gitk: Add a way to mark a commit, plus a "find descendant" command
gitk: Fixes for Mac OS X TkAqua
gitk: Provide a 32x32 window icon based on the git logo
gitk: Provide a window icon if possible
gitk: Handle blobs containing a DOS end-of-file marker

gitk: Add Russian translationAlex Riesen Mon, 27 Apr 2009 18:04:27 +0000 (20:04 +0200)

gitk: Add Russian translation

Thanks go to Dmitry Potapov for proofreading and suggested translation
of the word 'merge'.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>

Clarify kind of conflict in merge-one-file helperAlex Riesen Wed, 29 Apr 2009 21:40:50 +0000 (23:40 +0200)

Clarify kind of conflict in merge-one-file helper

Not as verbose as the recursive merge driver, but better still.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

improve error message in config.cAlex Riesen Wed, 29 Apr 2009 21:27:54 +0000 (23:27 +0200)

improve error message in config.c

Show errno if opening a lockfile fails.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

print unlink(2) errno in copy_or_link_directoryAlex Riesen Wed, 29 Apr 2009 21:24:52 +0000 (23:24 +0200)

print unlink(2) errno in copy_or_link_directory

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

replace direct calls to unlink(2) with unlink_or_warnAlex Riesen Wed, 29 Apr 2009 21:22:56 +0000 (23:22 +0200)

replace direct calls to unlink(2) with unlink_or_warn

This helps to notice when something's going wrong, especially on
systems which lock open files.

I used the following criteria when selecting the code for replacement:
- it was already printing a warning for the unlink failures
- it is in a function which already printing something or is
called from such a function
- it is in a static function, returning void and the function is only
called from a builtin main function (cmd_)
- it is in a function which handles emergency exit (signal handlers)
- it is in a function which is obvously cleaning up the lockfiles

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Introduce an unlink(2) wrapper which gives warning... Alex Riesen Wed, 29 Apr 2009 21:21:46 +0000 (23:21 +0200)

Introduce an unlink(2) wrapper which gives warning if unlink failed

This seem to be a very common pattern in the current code.

The function prints a generic removal failure message, the file name
which failed and readable errno presentation. The function preserves
errno and always returns the value unlink(2) returned, but prints
no message for ENOENT, as it was the most often filtered out in the
code calling unlink. Besides, removing a file is anyway the purpose of
calling unlink.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Wed, 29 Apr 2009 23:50:31 +0000 (16:50 -0700)

Merge branch 'maint'

* maint:
diff -c -p: do not die on submodules

Conflicts:
combine-diff.c

daemon.c: fix segfault on OS XBenjamin Kramer Mon, 27 Apr 2009 13:59:49 +0000 (15:59 +0200)

daemon.c: fix segfault on OS X

On OS X (and maybe other unices), getaddrinfo(3) returns NULL
in the ai_canonname field if it's called with an IP address for
the hostname. We'll now use the IP address for the hostname if
ai_canonname was NULL, this also matches the behaviour on Linux.

steps to reproduce:
$ git daemon --export-all
$ git clone git://127.0.0.1/frotz
=> git daemon's fork (silently) segfaults.

Remove the pointless loop while at it. There is only one iteration
because of the break; on the last line and there are no continues.

Signed-off-by: Benjamin Kramer <benny.kra@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

merge-recursive: do not die on a conflicting submoduleJunio C Hamano Wed, 29 Apr 2009 18:08:18 +0000 (11:08 -0700)

merge-recursive: do not die on a conflicting submodule

We cannot represent the 3-way conflicted state in the work tree
for these entries, but it is normal not to have commit objects
for them in our repository. Just update the index and the life
will be good.

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

git config: error when editing a repo config and not... Felipe Contreras Wed, 29 Apr 2009 22:49:47 +0000 (01:49 +0300)

git config: error when editing a repo config and not being in one

Let's throw an error on this specific case. If the user specifies the
config file, he must know what he is doing.

Teemu Likonen pointed this out.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

parseopt: fix documentation for --keep-dashdashUwe Kleine-König Tue, 28 Apr 2009 20:29:24 +0000 (22:29 +0200)

parseopt: fix documentation for --keep-dashdash

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Rename core.unreliableHardlinks to core.createObjectJohannes Schindelin Mon, 27 Apr 2009 22:32:25 +0000 (00:32 +0200)

Rename core.unreliableHardlinks to core.createObject

"Unreliable hardlinks" is a misleading description for what is happening.
So rename it to something less misleading.

Suggested by Linus Torvalds.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.6.1' into maintJunio C Hamano Wed, 29 Apr 2009 22:40:33 +0000 (15:40 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
diff -c -p: do not die on submodules

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Wed, 29 Apr 2009 20:43:13 +0000 (13:43 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
diff -c -p: do not die on submodules

diff -c -p: do not die on submodulesJunio C Hamano Wed, 29 Apr 2009 19:49:52 +0000 (12:49 -0700)

diff -c -p: do not die on submodules

The combine diff logic knew only about blobs (and their checked-out form
in the work tree, either regular files or symlinks), and barfed when fed
submodules. This "externalizes" gitlinks in the same way as the normal
patch generation codepath does (i.e. "Subproject commit Xxx\n") to fix the
issue.

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

git-gui: Update Russian translationAlex Riesen Wed, 29 Apr 2009 05:56:06 +0000 (07:56 +0200)

git-gui: Update Russian translation

Also, the previous translations of the words 'tag' and 'merge' were
changed. Added translation of the 'Tool' submenu.

Thanks go to Alexander Gavrilov and Dmitry Potapov for proofreading
and suggestions.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

doc: consistently use ASCIIDOC_EXTRAEric Blake Tue, 28 Apr 2009 12:28:32 +0000 (06:28 -0600)

doc: consistently use ASCIIDOC_EXTRA

For all uses of $(ASCIIDOC) in Documentation/Makefile, supply the same
options via $(ASCIIDOC_EXTRA).

Signed-off-by: Eric Blake <ebb9@byu.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: installing git in cygwin 1.7.0Eric Blake Tue, 28 Apr 2009 12:28:31 +0000 (06:28 -0600)

Makefile: installing git in cygwin 1.7.0

On platforms with $X, make removes any leftover scripts 'a' from
earlier builds if a new binary 'a.exe' is now built. However, on
cygwin 1.7.0, 'git' and 'git.exe' now consistently name the same file.
Test for file equality before attempting a remove, in order to avoid
nuking just-built binaries.

This repeats commit 0d768f7 for the installation destdir.

Signed-off-by: Eric Blake <ebb9@byu.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Tue, 28 Apr 2009 07:46:39 +0000 (00:46 -0700)

Merge branch 'maint'

* maint:
grep: fix segfault when "git grep '('" is given
Documentation: fix a grammatical error in api-builtin.txt
builtin-merge: fix a typo in an error message

Merge branch 'maint-1.6.1' into maintJunio C Hamano Tue, 28 Apr 2009 07:46:25 +0000 (00:46 -0700)

Merge branch 'maint-1.6.1' into maint

* maint-1.6.1:
grep: fix segfault when "git grep '('" is given
Documentation: fix a grammatical error in api-builtin.txt
builtin-merge: fix a typo in an error message

Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano Tue, 28 Apr 2009 07:46:20 +0000 (00:46 -0700)

Merge branch 'maint-1.6.0' into maint-1.6.1

* maint-1.6.0:
grep: fix segfault when "git grep '('" is given
Documentation: fix a grammatical error in api-builtin.txt
builtin-merge: fix a typo in an error message

SubmittingPatches: itemize and reflect upon well writte... Sam Vilain Mon, 27 Apr 2009 14:38:47 +0000 (02:38 +1200)

SubmittingPatches: itemize and reflect upon well written changes

The SubmittingPatches file was trimmed down from a somewhat
overwhelming set of requirements from the Linux Kernel equivalent;
however perhaps a little of it can be returned without making the
text too long.

Signed-off-by: Sam Vilain <sam@vilain.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: fix NO_PERL bug with gitwebJeff King Tue, 28 Apr 2009 03:34:24 +0000 (23:34 -0400)

Makefile: fix NO_PERL bug with gitweb

When the user has defined NO_PERL, we want to skip building
gitweb entirely. However, the conditional to add
gitweb/gitweb.cgi to OTHER_PROGRAMS was evaluated before we
actually parsed the user's config.mak. This meant that "make
NO_PERL=NoThanks" worked fine, but putting "NO_PERL=NoThanks"
into your config.mak broke the build (it wanted gitweb.cgi
to satisfy "all", but the rule to build it was conditionally
ignored, so it complained).

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

grep: fix segfault when "git grep '('" is givenLinus Torvalds Mon, 27 Apr 2009 18:10:24 +0000 (11:10 -0700)

grep: fix segfault when "git grep '('" is given

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

t5701: do not get stuck in empty-push/Johannes Schindelin Mon, 27 Apr 2009 22:12:31 +0000 (00:12 +0200)

t5701: do not get stuck in empty-push/

A test might happen to be the last one in the script, but other people
later may want to add more tests after your test is done.

Do not surprise them by going in a subdirectory to run a part of your test
and never coming out of it. This fixes a162e78 in that respect.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

NetBSD compilation fixPatrick Welche Sun, 26 Apr 2009 13:49:00 +0000 (14:49 +0100)

NetBSD compilation fix

Similar to other BSD variants, it needs USE_ST_TIMESPEC.

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

Documentation: fix a grammatical error in api-builtin.txtAllan Caffee Mon, 13 Apr 2009 18:11:21 +0000 (14:11 -0400)

Documentation: fix a grammatical error in api-builtin.txt

Signed-off-by: Allan Caffee <allan.caffee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin-merge: fix a typo in an error messageAllan Caffee Mon, 13 Apr 2009 18:10:08 +0000 (14:10 -0400)

builtin-merge: fix a typo in an error message

Signed-off-by: Allan Caffee <allan.caffee@gmail.com>
Acked-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add semicolon to curly brace group in main MakefileMark Drago Mon, 27 Apr 2009 02:36:48 +0000 (22:36 -0400)

Add semicolon to curly brace group in main Makefile

This semicolon is technically required by POSIX shell and indeed causes a
syntax error with e.g. bash-2.04.0. Cf.

http://www.opengroup.org/onlinepubs/000095399/utilities/xcu_chap02.html#tag_02_09_04_01

Signed-off-by: Mark Drago <markdrago@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

prune-packed: advanced progress even for non-existing... Johannes Sixt Mon, 27 Apr 2009 07:44:58 +0000 (09:44 +0200)

prune-packed: advanced progress even for non-existing fan-out directories

A progress indicator is used to count through the 256 object fan-out
directories while unused object files are removed. (However, it becomes
visible only if this process takes long enough.)

Previously, display_progress() was only called if object files were
actually removed. But if directories towards the end (fd/, fe/, ff/) did
not exist, this could leave a strange line

Removing duplicate objects: 99% (255/256), done.

in the terminal instead of the expected "100% (256/256)".

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