gitweb.git
Docs: Add -X option to git-merge's synopsis.Marc Branchaud Mon, 12 Apr 2010 16:28:13 +0000 (12:28 -0400)

Docs: Add -X option to git-merge's synopsis.

Also move -X's description next to -s's in merge-options.txt.

This makes it easier to learn how to specify merge strategy options.

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

Merge branch 'jl/maint-submodule-gitfile-awareness'Junio C Hamano Sun, 11 Apr 2010 20:54:28 +0000 (13:54 -0700)

Merge branch 'jl/maint-submodule-gitfile-awareness'

* jl/maint-submodule-gitfile-awareness:
Windows: start_command: Support non-NULL dir in struct child_process

Windows: start_command: Support non-NULL dir in struct... Johannes Sixt Sun, 11 Apr 2010 20:40:12 +0000 (22:40 +0200)

Windows: start_command: Support non-NULL dir in struct child_process

A caller of start_command can set the member 'dir' to a directory to
request that the child process starts with that directory as CWD. The first
user of this feature was added recently in eee49b6 (Teach diff --submodule
and status to handle .git files in submodules).

On Windows, we have been lazy and had not implemented support for this
feature, yet. This fixes the shortcoming.

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

Sync with 1.7.0.5Junio C Hamano Sun, 11 Apr 2010 20:44:17 +0000 (13:44 -0700)

Sync with 1.7.0.5

Merge branch 'jc/doc-submit-gmail'Junio C Hamano Sun, 11 Apr 2010 20:44:05 +0000 (13:44 -0700)

Merge branch 'jc/doc-submit-gmail'

* jc/doc-submit-gmail:
SubmittingPatches: update GMail section

Git 1.7.0.5 v1.7.0.5Junio C Hamano Sun, 11 Apr 2010 20:41:43 +0000 (13:41 -0700)

Git 1.7.0.5

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

Merge branch 'rc/maint-reflog-msg-for-forced-branch... Junio C Hamano Sun, 11 Apr 2010 20:39:47 +0000 (13:39 -0700)

Merge branch 'rc/maint-reflog-msg-for-forced-branch' into maint

* rc/maint-reflog-msg-for-forced-branch:
branch: say "Reset to" in reflog entries for 'git branch -f' operations

blame documentation: -M/-C notice copied lines as well... Junio C Hamano Sun, 11 Apr 2010 19:17:42 +0000 (12:17 -0700)

blame documentation: -M/-C notice copied lines as well as moved ones

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

t3507: Make test executableStephen Boyd Sun, 11 Apr 2010 08:43:46 +0000 (01:43 -0700)

t3507: Make test executable

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

attr: Expand macros immediately when encountered.Henrik Grubbström Tue, 6 Apr 2010 12:46:44 +0000 (14:46 +0200)

attr: Expand macros immediately when encountered.

When using macros it is otherwise hard to know whether an
attribute set by the macro should override an already set
attribute. Consider the following .gitattributes file:

[attr]mybinary binary -ident
* ident
foo.bin mybinary
bar.bin mybinary ident

Without this patch both foo.bin and bar.bin will have
the ident attribute set, which is probably not what
the user expects. With this patch foo.bin will have an
unset ident attribute, while bar.bin will have it set.

Signed-off-by: Henrik Grubbström <grubba@grubba.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

attr: Allow multiple changes to an attribute on the... Henrik Grubbström Tue, 6 Apr 2010 12:46:43 +0000 (14:46 +0200)

attr: Allow multiple changes to an attribute on the same line.

When using macros it isn't inconceivable to have an attribute
being set by a macro, and then being reset explicitly.

Signed-off-by: Henrik Grubbström <grubba@grubba.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

attr: Fixed debug output for macro expansion.Henrik Grubbström Tue, 6 Apr 2010 12:46:42 +0000 (14:46 +0200)

attr: Fixed debug output for macro expansion.

When debug_set() was called during macro expansion, it
received a pointer to a struct git_attr rather than a
string.

Signed-off-by: Henrik Grubbström <grubba@grubba.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git 1.7.1-rc1 v1.7.1-rc1Junio C Hamano Sat, 10 Apr 2010 20:05:16 +0000 (13:05 -0700)

Git 1.7.1-rc1

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

Merge branch 'mr/gitweb-jsmin'Junio C Hamano Sat, 10 Apr 2010 20:02:22 +0000 (13:02 -0700)

Merge branch 'mr/gitweb-jsmin'

* mr/gitweb-jsmin:
gitweb: update INSTALL to use shorter make target
gitweb: add documentation to INSTALL regarding gitweb.js
instaweb: add minification awareness
Gitweb: add autoconfigure support for minifiers
Gitweb: add support for minifying gitweb.css
Gitweb: add ignore and clean rules for minified files

send-email: Cleanup smtp-domain and add configBrian Gernhardt Sat, 10 Apr 2010 14:53:56 +0000 (10:53 -0400)

send-email: Cleanup smtp-domain and add config

The way the code stored --smtp-domain was unlike its handling of other
similar options. Bring it in line with the others by:

- Renaming $mail_domain to $smtp_domain to match the command line
option. Also move its declaration from near the top of the file to
near other option variables.

- Removing $mail_domain_default. The variable was used once and only
served to move the default away from where it gets used.

- Adding a sendemail.smtpdomain config option. smtp-domain was the
only SMTP configuration option that couldn't be set in the user's
.gitconfig.

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Document send-email --smtp-domainBrian Gernhardt Sat, 10 Apr 2010 14:53:55 +0000 (10:53 -0400)

Document send-email --smtp-domain

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: Don't use FQDNs without a '.'Brian Gernhardt Sat, 10 Apr 2010 14:53:54 +0000 (10:53 -0400)

send-email: Don't use FQDNs without a '.'

Although Net::Domain::domainname attempts to be very thorough, the
host's configuration can still refuse to give a FQDN. Check to see if
what we receive contains a dot as a basic sanity check.

Since the same condition is used twice and getting complex, let's move
it to a new function.

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

send-email: Cleanup { styleBrian Gernhardt Sat, 10 Apr 2010 14:53:53 +0000 (10:53 -0400)

send-email: Cleanup { style

As Jakub Narebski pointed out on the list, Perl code usually prefers

sub func {
}

over

sub func
{
}

git-send-email.perl is somewhat inconsistent in its style, with 23
subroutines using the first style and 6 using the second. Convert the
few odd subroutines so that the code matches normal Perl style.

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'jl/maint-submodule-gitfile-awareness'Junio C Hamano Sat, 10 Apr 2010 19:13:46 +0000 (12:13 -0700)

Merge branch 'jl/maint-submodule-gitfile-awareness'

* jl/maint-submodule-gitfile-awareness:
Teach diff --submodule and status to handle .git files in submodules

Teach diff --submodule and status to handle .git files... Jens Lehmann Sat, 10 Apr 2010 17:01:12 +0000 (19:01 +0200)

Teach diff --submodule and status to handle .git files in submodules

The simple test for an existing .git directory gives an incorrect result
if .git is a file that records "gitdir: overthere". So for submodules that
use a .git file, "git status" and the diff family - when the "--submodule"
option is given - did assume the submodule was not populated at all when
a .git file was used, thus generating wrong output or no output at all.

This is fixed by using read_gitfile_gently() to get the correct location
of the .git directory. While at it, is_submodule_modified() was cleaned up
to use the "dir" member of "struct child_process" instead of setting the
GIT_WORK_TREE and GIT_DIR environment variables.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Sat, 10 Apr 2010 05:43:18 +0000 (22:43 -0700)

Merge branch 'maint'

* maint:
Let check_preimage() use memset() to initialize "struct checkout"
fetch/push: fix usage strings

Let check_preimage() use memset() to initialize "struct... Jens Lehmann Fri, 9 Apr 2010 20:08:35 +0000 (22:08 +0200)

Let check_preimage() use memset() to initialize "struct checkout"

Every code site except check_preimage() uses either memset() or declares
a static instance of "struct checkout" to achieve proper initialization.
Lets use memset() instead of explicit initialization of all members here
too to be on the safe side in case this structure is expanded someday.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'ef/maint-empty-commit-log' into maintJunio C Hamano Sat, 10 Apr 2010 05:38:53 +0000 (22:38 -0700)

Merge branch 'ef/maint-empty-commit-log' into maint

* ef/maint-empty-commit-log:
rev-list: fix --pretty=oneline with empty message

Merge branch 'jc/conflict-marker-size' into maintJunio C Hamano Sat, 10 Apr 2010 05:38:34 +0000 (22:38 -0700)

Merge branch 'jc/conflict-marker-size' into maint

* jc/conflict-marker-size:
diff --check: honor conflict-marker-size attribute

Merge branch 'sp/maint-http-backend-die-triggers-die... Junio C Hamano Sat, 10 Apr 2010 05:38:16 +0000 (22:38 -0700)

Merge branch 'sp/maint-http-backend-die-triggers-die-recursively' into maint

* sp/maint-http-backend-die-triggers-die-recursively:
http-backend: Don't infinite loop during die()

Merge branch 'mg/maint-send-email-lazy-editor' into... Junio C Hamano Sat, 10 Apr 2010 05:23:04 +0000 (22:23 -0700)

Merge branch 'mg/maint-send-email-lazy-editor' into maint

* mg/maint-send-email-lazy-editor:
send-email: lazily assign editor variable

Merge branch 'rr/imap-send-unconfuse-from-line' into... Junio C Hamano Sat, 10 Apr 2010 05:22:44 +0000 (22:22 -0700)

Merge branch 'rr/imap-send-unconfuse-from-line' into maint

* rr/imap-send-unconfuse-from-line:
imap-send: Remove limitation on message body

Merge branch 'rb/maint-python-path' into maintJunio C Hamano Sat, 10 Apr 2010 05:22:19 +0000 (22:22 -0700)

Merge branch 'rb/maint-python-path' into maint

* rb/maint-python-path:
Correct references to /usr/bin/python which does not exist on FreeBSD

Merge branch 'gh/maint-stash-show-error-message' into... Junio C Hamano Sat, 10 Apr 2010 05:22:14 +0000 (22:22 -0700)

Merge branch 'gh/maint-stash-show-error-message' into maint

* gh/maint-stash-show-error-message:
Improve error messages from 'git stash show'

Merge branch 'mg/mailmap-update' into maintJunio C Hamano Sat, 10 Apr 2010 05:22:06 +0000 (22:22 -0700)

Merge branch 'mg/mailmap-update' into maint

* mg/mailmap-update:
.mailmap: Entries for Alex Bennée, Deskin Miller, Vitaly "_Vi" Shukela

Merge branch 'bc/maint-daemon-sans-ss-family' into... Junio C Hamano Sat, 10 Apr 2010 05:22:00 +0000 (22:22 -0700)

Merge branch 'bc/maint-daemon-sans-ss-family' into maint

* bc/maint-daemon-sans-ss-family:
daemon.c: avoid accessing ss_family member of struct sockaddr_storage

fetch/push: fix usage stringsTay Ray Chuan Sat, 10 Apr 2010 02:50:19 +0000 (10:50 +0800)

fetch/push: fix usage strings

- use "<options>" instead of just "options".
- use "[<repository> [<refspec>...]]" to indicate that <repository> and
<refspec> are optional, and that <refspec> cannot be specified
without specifying <repository>.

Note that when called without specifying <repository> (eg. "git fetch
-f"), it is accurate to say that the "git fetch [<options>]
[<repository> ...]" case takes precedence over "git fetch [<options>]
<group>".

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remote-curl: ensure that URLs have a trailing slashTay Ray Chuan Thu, 8 Apr 2010 02:15:18 +0000 (10:15 +0800)

remote-curl: ensure that URLs have a trailing slash

Previously, we blindly assumed that URLs passed to the remote-curl
helper did not end with a trailing slash.

Use the convenience function end_url_with_slash() from http.[ch] to
ensure that URLs have a trailing slash on invocation of the remote-curl
helper, and use the URL as one with a trailing slash throughout.

It is possible for users to pass a URL with a trailing slash to
remote-curl, by, say, setting it in remote.<name>.url in their git
config. The resulting requests have an empty path component (//) and may
break implementations of the http git protocol.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

http: make end_url_with_slash() publicTay Ray Chuan Thu, 8 Apr 2010 02:15:17 +0000 (10:15 +0800)

http: make end_url_with_slash() public

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t5541-http-push: add test for URLs with trailing slashTay Ray Chuan Thu, 8 Apr 2010 02:15:16 +0000 (10:15 +0800)

t5541-http-push: add test for URLs with trailing slash

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'rc/maint-reflog-msg-for-forced-branch'Junio C Hamano Sat, 10 Apr 2010 03:42:10 +0000 (20:42 -0700)

Merge branch 'rc/maint-reflog-msg-for-forced-branch'

* rc/maint-reflog-msg-for-forced-branch:
branch: say "Reset to" in reflog entries for 'git branch -f' operations

Conflicts:
builtin-branch.c

branch: say "Reset to" in reflog entries for 'git branc... Tay Ray Chuan Fri, 9 Apr 2010 12:38:18 +0000 (20:38 +0800)

branch: say "Reset to" in reflog entries for 'git branch -f' operations

In 5f856dd (fix reflog entries for "git-branch"), it is mentioned that
'git branch -f' is intended to be equivalent to 'git reset'. Since we
usually say "reset to <commit>" in the git-reset Documentation and
elsewhere, it would make sense to say "Reset to" here as well, instead
of "Reset from" previously.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge early parts of jk/cached-textconvJunio C Hamano Fri, 9 Apr 2010 06:31:27 +0000 (23:31 -0700)

Merge early parts of jk/cached-textconv

diff.c: work around pointer constness warningsJunio C Hamano Fri, 9 Apr 2010 06:30:49 +0000 (23:30 -0700)

diff.c: work around pointer constness warnings

The textconv leak fix introduced two invocations of free() to release
memory pointed by "const char *", which get annoying compiler warning.

Merge branch 'maint'Junio C Hamano Fri, 9 Apr 2010 06:27:23 +0000 (23:27 -0700)

Merge branch 'maint'

* maint:
docs: clarify "branch -l"

log.decorate: only ignore it under "log --pretty=raw"Junio C Hamano Thu, 8 Apr 2010 17:17:17 +0000 (10:17 -0700)

log.decorate: only ignore it under "log --pretty=raw"

Unlike notes that are often multi-line and disrupting to be placed in many
output formats, a decoration is designed to be a small token that can be
tacked after an existing line of the output where a commit object name sits.
Disabling log.decorate for something like "log --oneline" would defeat the
purpose of the configuration.

We _might_ want to change it further in the future to force scripts that
do not want to be broken by random end user configurations to explicitly
say "log --no-decorate", but that would be an incompatible change that
needs the usual multi-release-cycle deprecation process.

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

script with rev-list instead of logJeff King Thu, 8 Apr 2010 19:42:37 +0000 (15:42 -0400)

script with rev-list instead of log

Because log.decorate now shows decorations for --pretty=oneline,
we must explicitly turn it off when scripting. Otherwise,
users with log.decorate set will get cruft like:

$ git stash
Saved working directory and index state WIP on master:
2c1f7f5 (HEAD, master) commit subject

Instead of adding --no-decorate to the log command line,
let's just use the rev-list plumbing interface instead,
which does the right thing.

git-submodule has a similar call. Since it just counts the
commit lines, nothing is broken, but let's switch it, too,
for the sake of consistency and cleanliness.

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

ls-remote: fall-back to default remotes when no remote... Tay Ray Chuan Thu, 8 Apr 2010 17:21:13 +0000 (01:21 +0800)

ls-remote: fall-back to default remotes when no remote specified

Instead of breaking execution when no remote (as specified in the
variable dest) is specified when git-ls-remote is invoked, continue on
and let remote_get() handle it.

This way, we are able to use the default remotes (eg. "origin",
branch.<name>.remote), as git-fetch, git-push, and other users of
remote_get(), do.

If no suitable remote is found, exit with a message describing the
issue, instead of just the usage text, as we do previously.

Add several tests to check that git-ls-remote handles the
no-remote-specified situation.

Also add a test that "git ls-remote <pattern>" does not work; we are
unable to guess the remote in that situation, as are git-fetch and
git-push.

In that test, we are testing for messages coming from two separate
processes, but we should be OK, because the second message is triggered
by closing the fd which must happen after the first message is printed.
(analysis by Jeff King.)

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

docs: clarify "branch -l"Jeff King Thu, 8 Apr 2010 19:49:08 +0000 (15:49 -0400)

docs: clarify "branch -l"

This option is mostly useless these days because we turn on
reflogs by default in non-bare repos.

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

apply: Allow blank *trailing* context lines to match... Björn Gustavsson Thu, 8 Apr 2010 04:14:31 +0000 (06:14 +0200)

apply: Allow blank *trailing* context lines to match beyond EOF

In 51667147be, "git apply --whitespace=fix" was extended to
allow a blank context line to match beyond the end of the file,
but only if the context line was in the leading part of the
hunk (i.e. the hunk inserted additional contents at the end
of the file).

Drop the restriction that the context line must be in the
leading part of the hunk, thus allowing a file to be changed
from:

a
(blank line)

to:

b
a
(blank line)

Note that the blank line will be kept, because "--whitespace=fix"
only removes trailing blank lines that a hunk would add, never
trailing blank lines in the context.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

SubmittingPatches: update GMail sectionJunio C Hamano Wed, 7 Apr 2010 22:59:17 +0000 (15:59 -0700)

SubmittingPatches: update GMail section

Even if you use imap-send to throw your drafts in the outbox, using their
web interface will mangle your patches. Clarify that the imap-send is
meant to be used together with a real MUA that can use IMAP drafts, and
remove instructions related to the web interface, which is irrelevant.

Add description of send-email as an alternative.

Use --cover-letter, and do not use -C nor --no-color, on the example
command line for format-patch.

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

Merge branch 'mg/notes-reflog'Junio C Hamano Wed, 7 Apr 2010 22:34:09 +0000 (15:34 -0700)

Merge branch 'mg/notes-reflog'

* mg/notes-reflog:
refs.c: Write reflogs for notes just like for branch heads
t3301-notes: Test the creation of reflog entries

Merge branch 'jn/mailinfo-scissors'Junio C Hamano Wed, 7 Apr 2010 22:34:06 +0000 (15:34 -0700)

Merge branch 'jn/mailinfo-scissors'

* jn/mailinfo-scissors:
Teach mailinfo %< as an alternative scissors mark

Add option to git-commit to allow empty log messagesÆvar Arnfjörð Bjarmason Tue, 6 Apr 2010 08:40:35 +0000 (08:40 +0000)

Add option to git-commit to allow empty log messages

Change git-commit(1) to accept the --allow-empty-message option
to allow a commit with an empty message. This is analogous to the
existing --allow-empty option which allows a commit that records
no changes. As these are mainly for interoperating with foreign SCM
systems, and are not meant for normal use, ensure that "git commit -h"
does not talk about them.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

fix typos and grammar in 1.7.1 draft release notesJeff King Wed, 7 Apr 2010 20:57:11 +0000 (16:57 -0400)

fix typos and grammar in 1.7.1 draft release notes

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

reflog --expire-unreachable: avoid merge-base computationJunio C Hamano Wed, 7 Apr 2010 18:09:12 +0000 (11:09 -0700)

reflog --expire-unreachable: avoid merge-base computation

The option tells the command to expire older reflog entries that refer to
commits that are no longer reachable from the tip of the ref the reflog is
associated with. To avoid repeated merge_base() invocations, we used to
mark commits that are known to be reachable by walking the history from
the tip until we hit commits that are older than expire-total (which is
the timestamp before which all the reflog entries are expired).

However, it is a different matter if a commit is _not_ known to be
reachable and the commit is known to be unreachable. Because you can
rewind a ref to an ancient commit and then reset it back to the original
tip, a recent reflog entry can point at a commit that older than the
expire-total timestamp and we shouldn't expire it. For that reason, we
had to run merge-base computation when a commit is _not_ known to be
reachable.

This introduces a lazy/on-demand traversal of the history to mark
reachable commits in steps. As before, we mark commits that are newer
than expire-total to optimize the normal case before walking reflog, but
we dig deeper from the commits the initial step left off when we encounter
a commit that is not known to be reachable.

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

notes.h: declare bit field as unsigned to silence compi... Brandon Casey Tue, 6 Apr 2010 15:11:44 +0000 (10:11 -0500)

notes.h: declare bit field as unsigned to silence compiler complaints

The IRIX MIPSPro compiler complains like this:

cc-1107 c99: WARNING File = notes.h, Line = 215
A signed bit field has a length of 1 bit.

int suppress_default_notes:1;
^

'unsigned' is what was intended, so lets make it so.

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

war on "sleep" in testsJunio C Hamano Wed, 7 Apr 2010 00:08:54 +0000 (17:08 -0700)

war on "sleep" in tests

In many places in test suite we have "sleep"s that do not have to be
there.

- I do not simply see the point of the one in t3500. It may be making
sure that the timestamp order of commits generated during the test is
stable, in which case test_tick is the right ingredient to use without
wasting tester's time.

- The one in t4011 is to make sure that the plumbing diff-index notices
the stat-dirtyness of a removed then identically recreated symlink.
Keeping the old symlink around to make sure that a newly created
symlink gets different ino would be sufficient for that purpose.

- The one in t7600 is to make sure that "git merge" does not get confused
by stat-dirty "file" in the working tree. Again, keeping the old file
around and creating an identical copy to ensure a different ino would
be sufficient for that purpose.

The "racy git" tests in t0010 are inherently about mtime between the index
itself and index entries. The "sleep" in that test must stay as they are.

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

Git 1.7.1-rc0 v1.7.1-rc0Junio C Hamano Tue, 6 Apr 2010 22:00:01 +0000 (15:00 -0700)

Git 1.7.1-rc0

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

Merge branch 'da/maint-python-startup'Junio C Hamano Tue, 6 Apr 2010 21:50:47 +0000 (14:50 -0700)

Merge branch 'da/maint-python-startup'

* da/maint-python-startup:
Makefile: Remove usage of deprecated Python "has_key" method

Merge branch 'ic/bash-completion-rpm'Junio C Hamano Tue, 6 Apr 2010 21:50:47 +0000 (14:50 -0700)

Merge branch 'ic/bash-completion-rpm'

* ic/bash-completion-rpm:
RPM spec: include bash completion support

Merge branch 'sb/fmt-merge-msg'Junio C Hamano Tue, 6 Apr 2010 21:50:46 +0000 (14:50 -0700)

Merge branch 'sb/fmt-merge-msg'

* sb/fmt-merge-msg:
fmt-merge-msg: hide summary option
fmt-merge-msg: remove custom string_list implementation
string-list: add unsorted_string_list_lookup()
fmt-merge-msg: use pretty.c routines
t6200: test fmt-merge-msg more
t6200: modernize with test_tick
fmt-merge-msg: be quiet if nothing to merge

Merge branch 'jc/conflict-marker-size'Junio C Hamano Tue, 6 Apr 2010 21:50:46 +0000 (14:50 -0700)

Merge branch 'jc/conflict-marker-size'

* jc/conflict-marker-size:
diff --check: honor conflict-marker-size attribute

Merge branch 'ef/maint-empty-commit-log'Junio C Hamano Tue, 6 Apr 2010 21:50:46 +0000 (14:50 -0700)

Merge branch 'ef/maint-empty-commit-log'

* ef/maint-empty-commit-log:
rev-list: fix --pretty=oneline with empty message

Merge branch 'sg/bash-completion'Junio C Hamano Tue, 6 Apr 2010 21:50:45 +0000 (14:50 -0700)

Merge branch 'sg/bash-completion'

* sg/bash-completion:
bash: completion for gitk aliases
bash: support user-supplied completion scripts for aliases
bash: support user-supplied completion scripts for user's git commands
bash: improve aliased command recognition

log --pretty/--oneline: ignore log.decorateJunio C Hamano Tue, 6 Apr 2010 21:48:55 +0000 (14:48 -0700)

log --pretty/--oneline: ignore log.decorate

Many scripts, most notably gitk, rely on output from the log family of
command not to be molested by random user configuration. This is
especially true when --pretty=raw is given.

Just like we disable notes output unless the command line explicitly
asks for --show-notes, disable the decoration code unless --decorate is
given explicitly from the command line and --pretty or --oneline is
given.

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

Add `%B' in format strings for raw commit body in ... Eli Barzilay Thu, 25 Mar 2010 02:51:52 +0000 (22:51 -0400)

Add `%B' in format strings for raw commit body in `git log' and friends

Also update the documentation text and add a test.

Signed-off-by: Eli Barzilay <eli@barzilay.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Revert "Link against libiconv on IRIX"Junio C Hamano Mon, 5 Apr 2010 17:16:11 +0000 (10:16 -0700)

Revert "Link against libiconv on IRIX"

Brandon Casey reports:

Subject: Re: [PATCH] Link against libiconv on IRIX
Date: Mon, 05 Apr 2010 11:45:32 -0500
Message-Id: <1UypQMCHLT57SnjSQIM66RTkLalsvavG8xXoQJv4rEQ@cipher.nrlssc.navy.mil>

This breaks compilation on IRIX 6.5.29m for me since there
is no separate libiconv.so.

What version of IRIX are you using?

On my system, even the iconv utility doesn't link against
a libiconv shared object. It seems the iconv functionality is in libc.

# ldd /usr/bin/iconv
libc.so.1 => /usr/lib32/libc.so.1

Could it be that you are using a third party iconv library?
I've experienced this on another system and the problem was related
to curl. In that case, curl was linked against an external iconv and
not the native library, so if I tried to build with curl support, I had
to also build against the external iconv library.

While we wait for an improved solution, revert the regression caused by
21704227904b51197976c61c595b52d807677533.

whitespace: tests for git-apply --whitespace=fix with... Chris Webb Fri, 2 Apr 2010 23:37:37 +0000 (00:37 +0100)

whitespace: tests for git-apply --whitespace=fix with tab-in-indent

Signed-off-by: Chris Webb <chris@arachsys.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

whitespace: add tab-in-indent support for --whitespace=fixChris Webb Fri, 2 Apr 2010 23:37:30 +0000 (00:37 +0100)

whitespace: add tab-in-indent support for --whitespace=fix

If tab-in-indent is set, --whitespace=fix will ensure that any stray tabs in
the initial indent are expanded to the correct number of space characters.

Signed-off-by: Chris Webb <chris@arachsys.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

whitespace: replumb ws_fix_copy to take a strbuf *dst... Chris Webb Fri, 2 Apr 2010 23:37:23 +0000 (00:37 +0100)

whitespace: replumb ws_fix_copy to take a strbuf *dst instead of char *dst

To implement --whitespace=fix for tab-in-indent, we have to allow for the
possibility that whitespace can increase in size when it is fixed, expanding
tabs to to multiple spaces in the initial indent.

Signed-off-by: Chris Webb <chris@arachsys.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

whitespace: tests for git-diff --check with tab-in... Chris Webb Fri, 2 Apr 2010 23:37:15 +0000 (00:37 +0100)

whitespace: tests for git-diff --check with tab-in-indent error class

[jc: with test fixes from J6t]

Signed-off-by: Chris Webb <chris@arachsys.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Sun, 4 Apr 2010 17:23:21 +0000 (10:23 -0700)

Merge branch 'maint'

* maint:
pack-protocol.txt: fix pkt-line lengths
pack-protocol.txt: fix spelling

pack-protocol.txt: fix pkt-line lengthsTay Ray Chuan Sun, 4 Apr 2010 13:12:17 +0000 (21:12 +0800)

pack-protocol.txt: fix pkt-line lengths

Previously, the lengths were 4-bytes short. Fix it such that the lengths
reflect the total length of the pkt-line, as per spec.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

pack-protocol.txt: fix spellingTay Ray Chuan Sun, 4 Apr 2010 13:12:16 +0000 (21:12 +0800)

pack-protocol.txt: fix spelling

s/paramater/parameter/.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Teach mailinfo %< as an alternative scissors markJonathan Nieder Sat, 3 Apr 2010 19:52:17 +0000 (14:52 -0500)

Teach mailinfo %< as an alternative scissors mark

Handle perforations found “in the wild” more robustly by recognizing
“%<” as an alternative scissors mark.

This feature is only meant to support old habits. Discourage new use
of the percent-based version by only documenting the 8< symbol so new
users’ perforations can still be recognized by old versions of Git.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'mb/rebase-i-no-ff'Junio C Hamano Sat, 3 Apr 2010 19:28:44 +0000 (12:28 -0700)

Merge branch 'mb/rebase-i-no-ff'

* mb/rebase-i-no-ff:
Teach rebase the --no-ff option.

Conflicts:
git-rebase--interactive.sh
t/t3404-rebase-interactive.sh

Merge branch 'sp/maint-http-backend-die-triggers-die... Junio C Hamano Sat, 3 Apr 2010 19:28:43 +0000 (12:28 -0700)

Merge branch 'sp/maint-http-backend-die-triggers-die-recursively'

* sp/maint-http-backend-die-triggers-die-recursively:
http-backend: Don't infinite loop during die()

Merge branch 'rr/imap-send-unconfuse-from-line'Junio C Hamano Sat, 3 Apr 2010 19:28:42 +0000 (12:28 -0700)

Merge branch 'rr/imap-send-unconfuse-from-line'

* rr/imap-send-unconfuse-from-line:
imap-send: Remove limitation on message body

Merge branch 'mg/use-default-abbrev-length-in-rev-list'Junio C Hamano Sat, 3 Apr 2010 19:28:42 +0000 (12:28 -0700)

Merge branch 'mg/use-default-abbrev-length-in-rev-list'

* mg/use-default-abbrev-length-in-rev-list:
rev-list: use default abbrev length when abbrev-commit is in effect

Merge branch 'mg/maint-send-email-lazy-editor'Junio C Hamano Sat, 3 Apr 2010 19:28:42 +0000 (12:28 -0700)

Merge branch 'mg/maint-send-email-lazy-editor'

* mg/maint-send-email-lazy-editor:
send-email: lazily assign editor variable

Merge branch 'rb/maint-python-path'Junio C Hamano Sat, 3 Apr 2010 19:28:41 +0000 (12:28 -0700)

Merge branch 'rb/maint-python-path'

* rb/maint-python-path:
Correct references to /usr/bin/python which does not exist on FreeBSD

Merge branch 'jn/merge-diff3-label'Junio C Hamano Sat, 3 Apr 2010 19:28:41 +0000 (12:28 -0700)

Merge branch 'jn/merge-diff3-label'

* jn/merge-diff3-label:
merge-recursive: add a label for ancestor
cherry-pick, revert: add a label for ancestor
revert: clarify label on conflict hunks
compat: add mempcpy()
checkout -m --conflict=diff3: add a label for ancestor
merge_trees(): add ancestor label parameter for diff3-style output
merge_file(): add comment explaining behavior wrt conflict style
checkout --conflict=diff3: add a label for ancestor
ll_merge(): add ancestor label parameter for diff3-style output
merge-file --diff3: add a label for ancestor
xdl_merge(): move file1 and file2 labels to xmparam structure
xdl_merge(): add optional ancestor label to diff3-style output
tests: document cherry-pick behavior in face of conflicts
tests: document format of conflicts from checkout -m

Conflicts:
builtin/revert.c

Merge branch 'ef/cherry-abbrev'Junio C Hamano Sat, 3 Apr 2010 19:28:40 +0000 (12:28 -0700)

Merge branch 'ef/cherry-abbrev'

* ef/cherry-abbrev:
ls: remove redundant logic
cherry: support --abbrev option

Merge branch 'bw/template-tool-buildconfig'Junio C Hamano Sat, 3 Apr 2010 19:28:40 +0000 (12:28 -0700)

Merge branch 'bw/template-tool-buildconfig'

* bw/template-tool-buildconfig:
Modernize git calling conventions in hook templates
Make templates honour SHELL_PATH and PERL_PATH

Merge branch 'mg/mailmap-update'Junio C Hamano Sat, 3 Apr 2010 19:28:40 +0000 (12:28 -0700)

Merge branch 'mg/mailmap-update'

* mg/mailmap-update:
.mailmap: Entries for Alex Bennée, Deskin Miller, Vitaly "_Vi" Shukela

Merge branch 'bc/t5505-fix'Junio C Hamano Sat, 3 Apr 2010 19:28:40 +0000 (12:28 -0700)

Merge branch 'bc/t5505-fix'

* bc/t5505-fix:
t/t5505-remote.sh: escape * to prevent interpretation by shell as glob
t5505: add missing &&
t5505: remove unnecessary subshell invocations

Merge branch 'gh/maint-stash-show-error-message'Junio C Hamano Sat, 3 Apr 2010 19:28:40 +0000 (12:28 -0700)

Merge branch 'gh/maint-stash-show-error-message'

* gh/maint-stash-show-error-message:
Improve error messages from 'git stash show'

Merge branch 'rs/threaded-grep-context'Junio C Hamano Sat, 3 Apr 2010 19:28:39 +0000 (12:28 -0700)

Merge branch 'rs/threaded-grep-context'

* rs/threaded-grep-context:
grep: enable threading for context line printing

Conflicts:
grep.c

Merge branch 'bc/maint-daemon-sans-ss-family'Junio C Hamano Sat, 3 Apr 2010 19:28:39 +0000 (12:28 -0700)

Merge branch 'bc/maint-daemon-sans-ss-family'

* bc/maint-daemon-sans-ss-family:
daemon.c: avoid accessing ss_family member of struct sockaddr_storage

Merge branch 'bc/acl-test'Junio C Hamano Sat, 3 Apr 2010 19:28:39 +0000 (12:28 -0700)

Merge branch 'bc/acl-test'

* bc/acl-test:
t/t1304: make a second colon optional in the mask ACL check
t/t1304: set the ACL effective rights mask
t/t1304: use 'test -r' to test readability rather than looking at mode bits
t/t1304: set the Default ACL base entries
t/t1304: avoid -d option to setfacl

Merge branch 'ja/send-email-ehlo'Junio C Hamano Sat, 3 Apr 2010 19:28:39 +0000 (12:28 -0700)

Merge branch 'ja/send-email-ehlo'

* ja/send-email-ehlo:
git-send-email.perl - try to give real name of the calling host to HELO/EHLO
git-send-email.perl: add option --smtp-debug
git-send-email.perl: improve error message in send_message()

Merge branch 'do/rebase-i-arbitrary'Junio C Hamano Sat, 3 Apr 2010 19:28:38 +0000 (12:28 -0700)

Merge branch 'do/rebase-i-arbitrary'

* do/rebase-i-arbitrary:
rebase--interactive: don't require what's rebased to be a branch

Conflicts:
t/t3404-rebase-interactive.sh

Merge branch 'ak/everyday-git'Junio C Hamano Sat, 3 Apr 2010 19:28:38 +0000 (12:28 -0700)

Merge branch 'ak/everyday-git'

* ak/everyday-git:
everyday: fsck and gc are not everyday operations

Makefile: future-proof Cygwin version checkJonathan Nieder Sat, 3 Apr 2010 07:47:00 +0000 (02:47 -0500)

Makefile: future-proof Cygwin version check

Tweak the condition that detects old Cygwin versions to not include
versions such as 1.8, 1.11, and 2.1.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7508: add a test for "git status" in a read-only repos... Markus Heidelberg Sat, 3 Apr 2010 10:11:57 +0000 (12:11 +0200)

t7508: add a test for "git status" in a read-only repository

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git status: refresh the index if possibleMarkus Heidelberg Fri, 2 Apr 2010 21:44:21 +0000 (23:44 +0200)

git status: refresh the index if possible

This was already the case before commit 9e4b7ab6 (git status: not
"commit --dry-run" anymore, 2009-08-15) with the difference that it died
at failure.
It got lost during the new implementation of "git status", which was
meant to only change behaviour when invoked with arguments.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7508: add test for "git status" refreshing the indexMarkus Heidelberg Fri, 2 Apr 2010 12:27:20 +0000 (14:27 +0200)

t7508: add test for "git status" refreshing the index

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix _XOPEN_SOURCE problem on DragonFlyYONETANI Tomokazu Fri, 2 Apr 2010 07:52:09 +0000 (16:52 +0900)

Fix _XOPEN_SOURCE problem on DragonFly

As on FreeBSD, defining _XOPEN_SOURCE to 600 on DragonFly BSD 2.4-RELEASE
or later hides symbols from programs, which leads to implicit declaration
of functions, making the return value to be assumed an int. On architectures
where sizeof(int) < sizeof(void *), this can cause unexpected behaviors or
crashes.
This change won't affect other OSes unless they define __DragonFly__ macro,
or older versions of DragonFly BSD as the current git code doesn't rely on
the features only available with _XOPEN_SOURCE set to 600 on DragonFly.

Signed-off-by: YONETANI Tomokazu <y0netan1@dragonflybsd.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: update INSTALL to use shorter make targetMark Rada Sat, 3 Apr 2010 00:37:33 +0000 (20:37 -0400)

gitweb: update INSTALL to use shorter make target

Gitweb can be generated by the gitweb/gitweb.cgi target or the gitweb
target. Since the gitweb target is shorter, I think it would be better
to have new users be instructed to use it.

Signed-off-by: Mark Rada <marada@uwaterloo.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: add documentation to INSTALL regarding gitweb.jsMark Rada Sat, 3 Apr 2010 00:36:44 +0000 (20:36 -0400)

gitweb: add documentation to INSTALL regarding gitweb.js

This patch updates gitweb/INSTALL to mention gitweb.js, including
JavaScript minification support.

Signed-off-by: Mark Rada <marada@uwaterloo.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

instaweb: add minification awarenessMark Rada Sat, 3 Apr 2010 00:40:33 +0000 (20:40 -0400)

instaweb: add minification awareness

This patch will cause git-instaweb to use the minified version of gitweb
support files (e.g. CSS and JavaScript) if they were generated.

Without minification awareness, generating the minified version of
gitweb's support files will generate a broken instaweb script since the
copy of gitweb.cgi will look for gitweb.min.* which will not exist.

Signed-off-by: Mark Rada <marada@uwaterloo.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Gitweb: add autoconfigure support for minifiersMark Rada Sat, 3 Apr 2010 00:35:54 +0000 (20:35 -0400)

Gitweb: add autoconfigure support for minifiers

This will allow users to set a JavaScript/CSS minifier when/if they run
the autoconfigure script while building git.

Signed-off-by: Mark Rada <marada@uwaterloo.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Gitweb: add support for minifying gitweb.cssMark Rada Sat, 3 Apr 2010 00:35:05 +0000 (20:35 -0400)

Gitweb: add support for minifying gitweb.css

The build system added support minifying gitweb.js through a
JavaScript minifier, but most minifiers come with support for
minifying CSS files as well, so we should use it if we can.

This patch will add the same facilities to gitweb.css that
gitweb.js has for minification. That does not mean that they
will use the same minifier though, as it is not safe to assume
that all JavaScript minifiers will also minify CSS files.

This patch also adds the GITWEB_PROGRAMS variable to the Makefile
to keep a list of potential gitweb dependencies separate from
OTHER_PROGRAMS when we need to know just the gitweb dependencies.

Though the bandwidth savings will not be as dramatic as with
the JavaScript minifier, every byte saved is important.

Signed-off-by: Mark Rada <marada@uwaterloo.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Gitweb: add ignore and clean rules for minified filesMark Rada Sat, 3 Apr 2010 00:33:55 +0000 (20:33 -0400)

Gitweb: add ignore and clean rules for minified files

Signed-off-by: Mark Rada <marada@uwaterloo.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>