gitweb.git
Merge branch 'maint'Shawn O. Pearce Thu, 25 Sep 2008 15:27:53 +0000 (08:27 -0700)

Merge branch 'maint'

* maint:
Update release notes for 1.6.0.3
checkout: Do not show local changes when in quiet mode
for-each-ref: Fix --format=%(subject) for log message without newlines
git-stash.sh: don't default to refs/stash if invalid ref supplied
maint: check return of split_cmdline to avoid bad config strings

Update release notes for 1.6.0.3Shawn O. Pearce Thu, 25 Sep 2008 15:27:41 +0000 (08:27 -0700)

Update release notes for 1.6.0.3

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Fix submodule sync with relative submodule URLsJohan Herland Mon, 22 Sep 2008 16:08:31 +0000 (18:08 +0200)

Fix submodule sync with relative submodule URLs

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

graph.c: make many functions staticNanako Shiraishi Thu, 25 Sep 2008 09:41:08 +0000 (18:41 +0900)

graph.c: make many functions static

These function are not used anywhere. Also removes graph_release()
that is never called.

Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

remote.c: make free_ref(), parse_push_refspec() and... Nanako Shiraishi Thu, 25 Sep 2008 09:41:00 +0000 (18:41 +0900)

remote.c: make free_ref(), parse_push_refspec() and free_refspecs() static.

These functions are not used by any other file.

Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

checkout: Do not show local changes when in quiet modeJonas Fonseca Thu, 25 Sep 2008 08:35:38 +0000 (10:35 +0200)

checkout: Do not show local changes when in quiet mode

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

for-each-ref: Fix --format=%(subject) for log message... Johan Herland Wed, 24 Sep 2008 23:10:54 +0000 (01:10 +0200)

for-each-ref: Fix --format=%(subject) for log message without newlines

'git for-each-ref --format=%(subject)' currently returns an empty string
if the log message does not contain a newline.

This patch teaches 'git for-each-ref' to return the entire log message
(instead of an empty string) if there is no newline in the log message.

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-web--browse: Support for using /bin/start on MinGWPetr Baudis Wed, 24 Sep 2008 21:52:39 +0000 (23:52 +0200)

git-web--browse: Support for using /bin/start on MinGW

In the future, I think we should also default to xdg-open on Linux instead
of having a KDE-specific hack.

This patch has been sponsored by Novartis.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-stash.sh: don't default to refs/stash if invalid... Brandon Casey Tue, 23 Sep 2008 23:57:09 +0000 (18:57 -0500)

git-stash.sh: don't default to refs/stash if invalid ref supplied

apply_stash() and show_stash() each call rev-parse with
'--default refs/stash' as an argument. This option causes rev-parse to
operate on refs/stash if it is not able to successfully operate on any
element of the command line. This includes failure to supply a "valid"
revision. This has the effect of causing 'stash apply' and 'stash show'
to operate as if stash@{0} had been supplied when an invalid revision is
supplied.

e.g. 'git stash apply stash@{1}' would fall back to
'git stash apply stash@{0}'

This patch modifies these two functions so that they avoid using the
--default option of rev-parse.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Fixed some grammatical errors in git-rebase.txt documen... Garry Dolley Wed, 24 Sep 2008 09:51:27 +0000 (02:51 -0700)

Fixed some grammatical errors in git-rebase.txt documentation.

Generally, the dependent clause "for example" is suffixed with a comma.
Used present tense where appropriate to be consistent with the other
paragraphs.

Rewrote the paragraph in the second hunk to be more clear.

Signed-off-by: Garry Dolley <gdolley@ucla.edu>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

maint: check return of split_cmdline to avoid bad confi... Deskin Miller Mon, 22 Sep 2008 15:06:41 +0000 (11:06 -0400)

maint: check return of split_cmdline to avoid bad config strings

As the testcase demonstrates, it's possible for split_cmdline to return -1 and
deallocate any memory it's allocated, if the config string is missing an end
quote. In both the cases below, which are the only calling sites, the return
isn't checked, and using the pointer causes a pretty immediate segfault.

Signed-off-by: Deskin Miller <deskinm@umich.edu>
Acked-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge branch 'maint'Junio C Hamano Tue, 23 Sep 2008 09:05:35 +0000 (02:05 -0700)

Merge branch 'maint'

* maint:
builtin-prune.c: prune temporary packs in <object_dir>/pack directory
Do not perform cross-directory renames when creating packs

builtin-prune.c: prune temporary packs in <object_dir... Brandon Casey Mon, 22 Sep 2008 23:34:26 +0000 (18:34 -0500)

builtin-prune.c: prune temporary packs in <object_dir>/pack directory

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

Do not perform cross-directory renames when creating... Petr Baudis Mon, 22 Sep 2008 17:20:21 +0000 (19:20 +0200)

Do not perform cross-directory renames when creating packs

A comment on top of create_tmpfile() describes caveats ('can have
problems on various systems (FAT, NFS, Coda)') that should apply
in this situation as well. This in the end did not end up solving
any of my personal problems, but it might be a useful cleanup patch
nevertheless.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Mon, 22 Sep 2008 16:41:43 +0000 (09:41 -0700)

Merge branch 'maint'

* maint:
Use dashless git commands in setgitperms.perl
git-remote: do not use user input in a printf format string

Use dashless git commands in setgitperms.perlTodd Zullinger Mon, 22 Sep 2008 11:30:08 +0000 (07:30 -0400)

Use dashless git commands in setgitperms.perl

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

git-remote: do not use user input in a printf format... Johannes Sixt Mon, 22 Sep 2008 11:03:25 +0000 (13:03 +0200)

git-remote: do not use user input in a printf format string

'git remote show' substituted the remote name into a string that was later
used as a printf format string. If a remote name contains a printf format
specifier like this:

$ git remote add foo%sbar .

then the command

$ git remote show foo%sbar

would print garbage (if you are lucky) or crash. This fixes it.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: do a partial rebuild if rev_map is out-of... Deskin Miller Tue, 16 Sep 2008 01:12:58 +0000 (21:12 -0400)

git-svn: do a partial rebuild if rev_map is out-of-date

Suppose you're using git-svn to work with a certain SVN repository.
Since you don't like 'git-svn fetch' to take forever, and you don't want
to accidentally interrupt it and end up corrupting your repository, you
set up a remote Git repository to mirror the SVN repository, which does
its own 'git-svn fetch' on a cronjob; now you can 'git-fetch' from the
Git mirror into your local repository, and still dcommit to SVN when you
have changes to push.

After you do this, though, git-svn will get very confused if you ever
try to do 'git-svn fetch' in your local repository again, since its
rev_map will differ from the branch's head, and it will be unable to
fetch new commits from SVN because of the metadata conflict. But all
the necessary metadata are there in the Git commit message; git-svn
already knows how to rebuild rev_map files that get blown away, by
using the metadata.

This patch teaches git-svn do a partial rebuild of the rev_map to
match the true state of the branch, if it ever is used to fetch again.

This will only work for projects not using either noMetadata or
useSvmProps configuration options; if you are using these options,
git-svn will fall back to the previous behaviour.

Signed-off-by: Deskin Miller <deskinm@umich.edu>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: testcase for partial rebuildDeskin Miler Thu, 18 Sep 2008 21:55:14 +0000 (17:55 -0400)

git-svn: testcase for partial rebuild

[jc: use expect_failure to mark the test to expose existing breakage]

Signed-off-by: Deskin Miller <deskinm@umich.edu>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'db/maint-checkout-b'Junio C Hamano Mon, 22 Sep 2008 06:50:05 +0000 (23:50 -0700)

Merge branch 'db/maint-checkout-b'

* db/maint-checkout-b:
Check early that a new branch is new and valid

t5510: test "git fetch" following tags minimallyJunio C Hamano Mon, 22 Sep 2008 06:50:01 +0000 (23:50 -0700)

t5510: test "git fetch" following tags minimally

When "git fetch" auto-follows tags, it should not download excess ones.
This new test makes sure that condition.

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

Check early that a new branch is new and validDaniel Barkalow Sun, 21 Sep 2008 18:36:06 +0000 (14:36 -0400)

Check early that a new branch is new and valid

If you fail to update refs to change branches in checkout, your index
and working tree are left already updated. We don't have an easy way
to undo this, but at least we can check things that would make the
creation of a new branch fail. These checks were in the shell version,
and were lost in the C conversion.

The messages are from the shell version, and should probably be made nicer.

[jc: added test to t7201]

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update draft release notes to 1.6.1Junio C Hamano Sat, 20 Sep 2008 08:01:30 +0000 (01:01 -0700)

Update draft release notes to 1.6.1

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

Merge branch 'maint'Junio C Hamano Sat, 20 Sep 2008 06:15:44 +0000 (23:15 -0700)

Merge branch 'maint'

* maint:
Start draft release notes for 1.6.0.3
git-repack uses --no-repack-object, not --no-repack-delta.
Typo "bogos" in format-patch error message.
builtin-clone: fix typo
Bust the ghost of long-defunct diffcore-pathspec.
completion: git commit should list --interactive

Conflicts:
RelNotes

Start draft release notes for 1.6.0.3Junio C Hamano Sat, 20 Sep 2008 06:15:13 +0000 (23:15 -0700)

Start draft release notes for 1.6.0.3

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

git-repack uses --no-repack-object, not --no-repack... Mikael Magnusson Fri, 19 Sep 2008 13:43:48 +0000 (15:43 +0200)

git-repack uses --no-repack-object, not --no-repack-delta.

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

Typo "bogos" in format-patch error message.Mikael Magnusson Fri, 19 Sep 2008 13:42:30 +0000 (15:42 +0200)

Typo "bogos" in format-patch error message.

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

builtin-clone: fix typoFabrizio Chiarello Fri, 19 Sep 2008 12:07:26 +0000 (14:07 +0200)

builtin-clone: fix typo

Signed-off-by: Fabrizio Chiarello <ponch@autistici.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Bust the ghost of long-defunct diffcore-pathspec.Yann Dirson Fri, 19 Sep 2008 20:12:53 +0000 (22:12 +0200)

Bust the ghost of long-defunct diffcore-pathspec.

This concept was retired by 77882f6 (Retire diffcore-pathspec.,
2006-04-10), more than 2 years ago.

Signed-off-by: Yann Dirson <ydirson@altern.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bash: use for-each-ref format 'refname:short'SZEDER Gábor Fri, 19 Sep 2008 22:15:25 +0000 (00:15 +0200)

bash: use for-each-ref format 'refname:short'

Using this format simplifies the code for completing refs and (in some
cases) improves performance significantly.

For repositories like the current git.git (with more than 200 refs)
there is no real performance difference, but for a repository with 2000
refs the total time needed to complete the refs is reduced by ~25% (from
around 400ms to around 305ms).

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

completion: git commit should list --interactiveEric Raible Thu, 11 Sep 2008 00:40:20 +0000 (17:40 -0700)

completion: git commit should list --interactive

Signed-off-by: Eric Raible <raible@gmail.com>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Fri, 19 Sep 2008 03:30:12 +0000 (20:30 -0700)

Merge branch 'maint'

* maint:
sha1_file: link() returns -1 on failure, not errno
Make git archive respect core.autocrlf when creating zip format archives
Add new test to demonstrate git archive core.autocrlf inconsistency
gitweb: avoid warnings for commits without body
Clarified gitattributes documentation regarding custom hunk header.
git-svn: fix handling of even funkier branch names
git-svn: Always create a new RA when calling do_switch for svn://
git-svn: factor out svnserve test code for later use
diff/diff-files: do not use --cc too aggressively

Merge branch 'jc/diff-prefix'Junio C Hamano Fri, 19 Sep 2008 03:30:07 +0000 (20:30 -0700)

Merge branch 'jc/diff-prefix'

* jc/diff-prefix:
diff: vary default prefix depending on what are compared

Merge branch 'np/pack'Junio C Hamano Fri, 19 Sep 2008 03:19:30 +0000 (20:19 -0700)

Merge branch 'np/pack'

* np/pack:
t5300: improve SHA1 collision test
pack-objects: don't include missing preferred base objects
sha1write: don't copy full sized buffers

Conflicts:
t/t5300-pack-object.sh

Merge branch 'bw/shortref'Junio C Hamano Fri, 19 Sep 2008 03:18:44 +0000 (20:18 -0700)

Merge branch 'bw/shortref'

* bw/shortref:
for-each-ref: `:short` format for `refname`

Merge branch 'rs/decorate'Junio C Hamano Fri, 19 Sep 2008 03:18:41 +0000 (20:18 -0700)

Merge branch 'rs/decorate'

* rs/decorate:
add '%d' pretty format specifier to show decoration
move load_ref_decorations() to log-tree.c and export it
log: add load_ref_decorations()

Merge branch 'tr/rev-list-reverse'Junio C Hamano Fri, 19 Sep 2008 03:18:37 +0000 (20:18 -0700)

Merge branch 'tr/rev-list-reverse'

* tr/rev-list-reverse:
t6013: replace use of 'tac' with equivalent Perl
rev-list: fix --reverse interaction with --parents

Merge branch 'cc/bisect'Junio C Hamano Fri, 19 Sep 2008 03:18:32 +0000 (20:18 -0700)

Merge branch 'cc/bisect'

* cc/bisect:
bisect: remove "checkout_done" variable used when checking merge bases
bisect: only check merge bases when needed
bisect: test merge base if good rev is not an ancestor of bad rev

Merge branch 'jc/setlinebuf-setvbuf'Junio C Hamano Fri, 19 Sep 2008 03:18:27 +0000 (20:18 -0700)

Merge branch 'jc/setlinebuf-setvbuf'

* jc/setlinebuf-setvbuf:
daemon.c: avoid setlinebuf()

Merge branch 'dp/maint-rebase-fix' into maintJunio C Hamano Fri, 19 Sep 2008 02:53:25 +0000 (19:53 -0700)

Merge branch 'dp/maint-rebase-fix' into maint

* dp/maint-rebase-fix:
git-rebase--interactive: auto amend only edited commit
git-rebase-interactive: do not squash commits on abort

Merge branch 'jc/maint-checkout-keep-remove' into maintJunio C Hamano Fri, 19 Sep 2008 02:53:22 +0000 (19:53 -0700)

Merge branch 'jc/maint-checkout-keep-remove' into maint

* jc/maint-checkout-keep-remove:
checkout: do not lose staged removal

Merge branch 'jc/maint-diff-quiet' into maintJunio C Hamano Fri, 19 Sep 2008 02:53:12 +0000 (19:53 -0700)

Merge branch 'jc/maint-diff-quiet' into maint

* jc/maint-diff-quiet:
diff --quiet: make it synonym to --exit-code >/dev/null
diff Porcelain: do not disable auto index refreshing on -C -C

Merge branch 'jc/maint-name-hash-clear' into maintJunio C Hamano Fri, 19 Sep 2008 02:53:06 +0000 (19:53 -0700)

Merge branch 'jc/maint-name-hash-clear' into maint

* jc/maint-name-hash-clear:
discard_cache: reset lazy name_hash bit

Merge branch 'jc/maint-template-permbits' into maintJunio C Hamano Fri, 19 Sep 2008 02:53:01 +0000 (19:53 -0700)

Merge branch 'jc/maint-template-permbits' into maint

* jc/maint-template-permbits:
Fix permission bits on sources checked out with an overtight umask

Merge branch 'mh/maint-honor-no-ssl-verify' into maintJunio C Hamano Fri, 19 Sep 2008 02:52:57 +0000 (19:52 -0700)

Merge branch 'mh/maint-honor-no-ssl-verify' into maint

* mh/maint-honor-no-ssl-verify:
Don't verify host name in SSL certs when GIT_SSL_NO_VERIFY is set

sha1_file: link() returns -1 on failure, not errnoThomas Rast Thu, 18 Sep 2008 22:24:46 +0000 (00:24 +0200)

sha1_file: link() returns -1 on failure, not errno

5723fe7 (Avoid cross-directory renames and linking on object creation,
2008-06-14) changed the call to use link() directly instead of through a
custom wrapper, but forgot that it returns 0 or -1, not 0 or errno.

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

Make git archive respect core.autocrlf when creating... Charles Bailey Thu, 18 Sep 2008 20:01:20 +0000 (21:01 +0100)

Make git archive respect core.autocrlf when creating zip format archives

There is currently no call to git_config at the start of cmd_archive.
When creating tar archives the core config is read as a side-effect of
reading the tar specific config, but this doesn't happen for zip
archives.

The consequence is that in a configuration with core.autocrlf set,
although files in a tar archive are created with crlf line endings,
files in a zip archive retain unix line endings.

Signed-off-by: Charles Bailey <charles@hashpling.org>
Acked-by: René Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add new test to demonstrate git archive core.autocrlf... Charles Bailey Thu, 18 Sep 2008 20:01:13 +0000 (21:01 +0100)

Add new test to demonstrate git archive core.autocrlf inconsistency

Signed-off-by: Charles Bailey <charles@hashpling.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: avoid warnings for commits without bodyJoey Hess Fri, 5 Sep 2008 18:26:29 +0000 (14:26 -0400)

gitweb: avoid warnings for commits without body

In the unusual case when there is no commit message, gitweb would
output an uninitialized value warning.

Signed-off-by: Joey Hess <joey@kitenet.net>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Clarified gitattributes documentation regarding custom... Garry Dolley Wed, 17 Sep 2008 06:20:39 +0000 (23:20 -0700)

Clarified gitattributes documentation regarding custom hunk header.

The only part of the hunk header that we can change is the "TEXT"
portion. Additionally, a few grammatical errors have been corrected.

Signed-off-by: Garry Dolley <gdolley@ucla.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: fix handling of even funkier branch namesEric Wong Sun, 7 Sep 2008 03:18:18 +0000 (20:18 -0700)

git-svn: fix handling of even funkier branch names

Apparently do_switch() tolerates the lack of escaping in less
funky branch names. For the really strange and scary ones, we
need to escape them properly. It strangely maintains compatible
with the existing handling of branch names with spaces and
exclamation marks.

Reported-by: m.skoric@web.de ($gmane/94677)
Signed-off-by: Eric Wong <normalperson@yhbt.net>

git-svn: Always create a new RA when calling do_switch... Alec Berryman Sun, 14 Sep 2008 21:14:16 +0000 (17:14 -0400)

git-svn: Always create a new RA when calling do_switch for svn://

Not doing so caused the "Malformed network data" error when a directoy
was deleted and replaced with a copy from an older version.

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

git-svn: factor out svnserve test code for later useAlec Berryman Sun, 14 Sep 2008 21:14:15 +0000 (17:14 -0400)

git-svn: factor out svnserve test code for later use

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

diff/diff-files: do not use --cc too aggressivelyJunio C Hamano Thu, 18 Sep 2008 07:32:37 +0000 (00:32 -0700)

diff/diff-files: do not use --cc too aggressively

Textual diff output for unmerged paths was too eager to give condensed
combined diff. Even though "diff -c" (and "diff-files -c -p") is a
request to view combined diff without condensing (otherwise the user would
have explicitly asked for --cc, not -c), we showed "--cc" output anyway.

0fe7c1d (built-in diff: assorted updates, 2006-04-29) claimed to be
careful about doing this, but its breakage was hidden because back then
"git diff" was still a shell script that did not use the codepath it
introduced fully.

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

Merge branch 'maint'Junio C Hamano Tue, 16 Sep 2008 08:24:58 +0000 (01:24 -0700)

Merge branch 'maint'

* maint:
Cosmetical command name fix
Start conforming code to "git subcmd" style part 3
t9700/test.pl: remove File::Temp requirement
t9700/test.pl: avoid bareword 'STDERR' in 3-argument open()

Merge branch 'dp/maint-rebase-fix'Junio C Hamano Tue, 16 Sep 2008 07:50:57 +0000 (00:50 -0700)

Merge branch 'dp/maint-rebase-fix'

* dp/maint-rebase-fix:
git-rebase--interactive: auto amend only edited commit
git-rebase-interactive: do not squash commits on abort

Merge branch 'jc/maint-checkout-keep-remove'Junio C Hamano Tue, 16 Sep 2008 07:49:59 +0000 (00:49 -0700)

Merge branch 'jc/maint-checkout-keep-remove'

* jc/maint-checkout-keep-remove:
checkout: do not lose staged removal

Merge branch 'jc/maint-diff-quiet'Junio C Hamano Tue, 16 Sep 2008 07:48:16 +0000 (00:48 -0700)

Merge branch 'jc/maint-diff-quiet'

* jc/maint-diff-quiet:
diff --quiet: make it synonym to --exit-code >/dev/null
diff Porcelain: do not disable auto index refreshing on -C -C

Merge branch 'jc/maint-name-hash-clear'Junio C Hamano Tue, 16 Sep 2008 07:47:52 +0000 (00:47 -0700)

Merge branch 'jc/maint-name-hash-clear'

* jc/maint-name-hash-clear:
discard_cache: reset lazy name_hash bit

Merge branch 'jc/maint-template-permbits'Junio C Hamano Tue, 16 Sep 2008 07:47:30 +0000 (00:47 -0700)

Merge branch 'jc/maint-template-permbits'

* jc/maint-template-permbits:
Fix permission bits on sources checked out with an overtight umask

Merge branch 'mh/maint-honor-no-ssl-verify'Junio C Hamano Tue, 16 Sep 2008 07:46:36 +0000 (00:46 -0700)

Merge branch 'mh/maint-honor-no-ssl-verify'

* mh/maint-honor-no-ssl-verify:
Don't verify host name in SSL certs when GIT_SSL_NO_VERIFY is set

Cosmetical command name fixHeikki Orsila Sat, 13 Sep 2008 16:31:31 +0000 (19:31 +0300)

Cosmetical command name fix

If we came from git.c the first arg would be "archive".
"git-archive" isn't a bug because cmd_archive() doesn't check
the first arg.

Signed-off-by: Heikki Orsila <heikki.orsila@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Start conforming code to "git subcmd" style part 3Heikki Orsila Sat, 13 Sep 2008 17:18:36 +0000 (20:18 +0300)

Start conforming code to "git subcmd" style part 3

User notifications are presented as 'git cmd', and code comments
are presented as '"cmd"' or 'git's cmd', rather than 'git-cmd'.

Signed-off-by: Heikki Orsila <heikki.orsila@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9700/test.pl: remove File::Temp requirementBrandon Casey Mon, 15 Sep 2008 16:25:22 +0000 (11:25 -0500)

t9700/test.pl: remove File::Temp requirement

The object oriented version of File::Temp is a rather new incarnation it
seems. The File::Temp man page for v5.8.0 says "(NOT YET IMPLEMENTED)" in
the 'Objects' section. Instead of creating a file with a unique name in
the system TMPDIR, we can create our own temporary file with a static
name and use that instead.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Tested-by: Tom G. Christensen <tgc@statsbiblioteket.dk> on RHEL 3, Perl 5.8.0
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t9700/test.pl: avoid bareword 'STDERR' in 3-argument... Brandon Casey Mon, 15 Sep 2008 16:23:24 +0000 (11:23 -0500)

t9700/test.pl: avoid bareword 'STDERR' in 3-argument open()

Some versions of perl complain when 'STDERR' is used as the third argument
in the 3-argument form of open(). Convert to the 2-argument form which is
described for duping STDERR in my second edition camel book.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Tested-by: Tom G. Christensen <tgc@statsbiblioteket.dk> on RHEL 3, Perl 5.8.0
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update RPM spec for the new location of git-cvsserver.Quy Tonthat Fri, 12 Sep 2008 16:22:44 +0000 (02:22 +1000)

Update RPM spec for the new location of git-cvsserver.

git-cvsserver has been moved from libexecdir to bindir.

Signed-off-by: Quy Tonthat <qtonthat@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Sync with 1.6.0.2Junio C Hamano Sat, 13 Sep 2008 00:20:39 +0000 (17:20 -0700)

Sync with 1.6.0.2

GIT 1.6.0.2 v1.6.0.2Junio C Hamano Fri, 12 Sep 2008 23:18:47 +0000 (16:18 -0700)

GIT 1.6.0.2

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

Merge branch 'ho/maint-dashless' into maintJunio C Hamano Fri, 12 Sep 2008 23:15:23 +0000 (16:15 -0700)

Merge branch 'ho/maint-dashless' into maint

* ho/maint-dashless:
Start conforming code to "git subcmd" style part 2

Fix some manual typos.Ralf Wildenhues Fri, 12 Sep 2008 19:10:26 +0000 (21:10 +0200)

Fix some manual typos.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Use compatibility regex library also on FreeBSDJeff King Thu, 11 Sep 2008 12:12:16 +0000 (08:12 -0400)

Use compatibility regex library also on FreeBSD

Commit 3632cfc24 makes the same change for Darwin; however, the problem
also exists on FreeBSD.

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

Use compatibility regex library also on AIXJohannes Sixt Thu, 11 Sep 2008 08:14:44 +0000 (10:14 +0200)

Use compatibility regex library also on AIX

This augments 3632cfc24 (Use compatibility regex library on Darwin,
2008-09-07), which already carries a "Tested-by" statement for AIX,
but that test was actually done with this patch included.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Tested-by: Mike Ralphson <mike@abacus.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Install git-cvsserver in $(bindir)Nanako Shiraishi Wed, 10 Sep 2008 11:03:18 +0000 (20:03 +0900)

Install git-cvsserver in $(bindir)

It is one of the server side programs and needs to be found on usual $PATH.

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

separate build targets for man and html documentationMichael J Gruber Wed, 10 Sep 2008 08:19:34 +0000 (10:19 +0200)

separate build targets for man and html documentation

This introduces new build targets "man" and "html" which allow building
the documentation in the respective formats separately. This helps
people with a partial documentation build chain: html pages can be built
without xmlto.

This is documented in INSTALL now, together with corrections: Before,
instructions in INSTALL would build man+html but install man only. Now
the instructions build and install both, and new and pre-existing
targets are explained.

Note that build targets "doc" and "man" correspond to install targets
"install-doc install-html" and "install-doc" respectively. This
inconsistency is not changed, in order to keep everyone's build scripts
from breaking.

Signed-off-by: Michael J Gruber <michaeljgruber+gmane@fastmail.fm>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

allow installation of man and html doc from the man... Michael J Gruber Tue, 9 Sep 2008 20:44:17 +0000 (22:44 +0200)

allow installation of man and html doc from the man and html branches

This patch introduces a make target "quick-install-html" which installs
the html documentation from the branch origin/html, without the need for
asciidoc/xmlto. This is analogous to the existing "quick-install-doc"
target for the man pages.

We advertise these targets in the INSTALL file now.

Signed-off-by: Michael J Gruber <michaeljgruber+gmane@fastmail.fm>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix git-diff-tree --stdinJunio C Hamano Wed, 10 Sep 2008 19:22:35 +0000 (12:22 -0700)

Fix git-diff-tree --stdin

140b378 (Teach git diff-tree --stdin to diff trees, 2008-08-10) broke the
more important case of reading series of commits to filter ones that touch
given pathspecs.

Noticed by Mark Levedahl, running "gitk ec3a4ba" and trying to focus on
commits that touch "t/" directory.

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

Merge branch 'maint'Junio C Hamano Wed, 10 Sep 2008 20:56:20 +0000 (13:56 -0700)

Merge branch 'maint'

* maint:
Update draft release notes for 1.6.0.2
Use compatibility regex library for OSX/Darwin
git-svn: Fixes my() parameter list syntax error in pre-5.8 Perl
Git.pm: Use File::Temp->tempfile instead of ->new
t7501: always use test_cmp instead of diff

Conflicts:
Makefile

Update draft release notes for 1.6.0.2Junio C Hamano Wed, 10 Sep 2008 19:45:02 +0000 (12:45 -0700)

Update draft release notes for 1.6.0.2

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

Use compatibility regex library for OSX/DarwinArjen Laarhoven Sun, 7 Sep 2008 18:45:37 +0000 (20:45 +0200)

Use compatibility regex library for OSX/Darwin

The standard libc regex library on OSX does not support alternation
in POSIX Basic Regular Expression mode. This breaks the diff.funcname
functionality on OSX.

To fix this, we use the GNU regex library which is already present in
the compat/ diretory for the MinGW port. However, simply adding compat/
to the COMPAT_CFLAGS variable causes a conflict between the system
fnmatch.h and the one present in compat/. To remedy this, move the
regex and fnmatch functionality to their own subdirectories in compat/
so they can be included seperately.

Signed-off-by: Arjen Laarhoven <arjen@yaph.org>
Tested-by: Mike Ralphson <mike@abacus.co.uk> (AIX)
Tested-by: Johannes Sixt <johannes.sixt@telecom.at> (MinGW)
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-svn: Fixes my() parameter list syntax error in... Marcus Griep Wed, 10 Sep 2008 15:09:46 +0000 (11:09 -0400)

git-svn: Fixes my() parameter list syntax error in pre-5.8 Perl

Signed-off-by: Marcus Griep <marcus@griep.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Git.pm: Use File::Temp->tempfile instead of ->newMarcus Griep Mon, 8 Sep 2008 16:53:01 +0000 (12:53 -0400)

Git.pm: Use File::Temp->tempfile instead of ->new

Perl 5.8.0 ships with File::Temp 0.13, which does not have the new()
interface introduced in 0.14, as pointed out by Tom G. Christensen.

This modifies Git.pm to use the more established tempfile() interface
and updates 'git svn' to match.

Signed-off-by: Marcus Griep <marcus@griep.us>
Acked-by: Eric Wong <normalperson@yhbt.net>
Tested-by: Tom G. Christensen <tgc@statsbiblioteket.dk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7501: always use test_cmp instead of diffMiklos Vajna Wed, 10 Sep 2008 17:32:44 +0000 (19:32 +0200)

t7501: always use test_cmp instead of diff

This should make the output more readable (by default using diff -u)
when some tests fail.

Also changed the diff order from "current expected" to "expected
current".

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

Merge branch 'jc/maint-log-grep' into maintJunio C Hamano Wed, 10 Sep 2008 09:15:08 +0000 (02:15 -0700)

Merge branch 'jc/maint-log-grep' into maint

* jc/maint-log-grep:
log --author/--committer: really match only with name part

Merge branch 'jc/maint-hide-cr-in-diff-from-less' into... Junio C Hamano Wed, 10 Sep 2008 09:14:18 +0000 (02:14 -0700)

Merge branch 'jc/maint-hide-cr-in-diff-from-less' into maint

* jc/maint-hide-cr-in-diff-from-less:
diff: Help "less" hide ^M from the output

Merge branch 'jc/maint-checkout-fix' into maintJunio C Hamano Wed, 10 Sep 2008 09:13:41 +0000 (02:13 -0700)

Merge branch 'jc/maint-checkout-fix' into maint

* jc/maint-checkout-fix:
checkout: do not check out unmerged higher stages randomly

Merge branch 'np/maint-safer-pack' into maintJunio C Hamano Wed, 10 Sep 2008 09:12:47 +0000 (02:12 -0700)

Merge branch 'np/maint-safer-pack' into maint

* np/maint-safer-pack:
fixup_pack_header_footer(): use nicely aligned buffer sizes
index-pack: use fixup_pack_header_footer()'s validation mode
pack-objects: use fixup_pack_header_footer()'s validation mode
improve reliability of fixup_pack_header_footer()
pack-objects: improve returned information from write_one()

t9101: use "git hash-object" without dashNanako Shiraishi Tue, 9 Sep 2008 21:25:28 +0000 (06:25 +0900)

t9101: use "git hash-object" without dash

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

tests: use "git foo" without dash in stringsNanako Shiraishi Tue, 9 Sep 2008 21:25:27 +0000 (06:25 +0900)

tests: use "git foo" without dash in strings

This changes "git-foo" to "git foo" when message strings in tests
name git subcommands.

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

t9700: use "git config" without dashNanako Shiraishi Tue, 9 Sep 2008 21:25:26 +0000 (06:25 +0900)

t9700: use "git config" without dash

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

t9300, t9301: use "git fast-import/fast-export" without... Nanako Shiraishi Tue, 9 Sep 2008 21:25:25 +0000 (06:25 +0900)

t9300, t9301: use "git fast-import/fast-export" without dash

Also use "git hash-object" and "git rev-parse" without dash.

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

t9200: use "git cvsexportcommit" without dashNanako Shiraishi Tue, 9 Sep 2008 21:25:24 +0000 (06:25 +0900)

t9200: use "git cvsexportcommit" without dash

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

Merge branch 'ho/dashless'Junio C Hamano Wed, 10 Sep 2008 05:57:35 +0000 (22:57 -0700)

Merge branch 'ho/dashless'

* ho/dashless:
Start conforming code to "git subcmd" style part 2

checkout: do not lose staged removalJunio C Hamano Mon, 8 Sep 2008 02:49:25 +0000 (19:49 -0700)

checkout: do not lose staged removal

The logic to checkout a different commit implements the safety to never
lose user's local changes. For example, switching from a commit to
another commit, when you have changed a path that is different between
them, need to merge your changes to the version from the switched-to
commit, which you may not necessarily be able to resolve easily. By
default, "git checkout" refused to switch branches, to give you a chance
to stash your local changes (or use "-m" to merge, accepting the risks of
getting conflicts).

This safety, however, had one deliberate hole since early June 2005. When
your local change was to remove a path (and optionally to stage that
removal), the command checked out the path from the switched-to commit
nevertheless.

This was to allow an initial checkout to happen smoothly (e.g. an initial
checkout is done by starting with an empty index and switching from the
commit at the HEAD to the same commit). We can tighten the rule slightly
to allow this special case to pass, without losing sight of removal
explicitly done by the user, by noticing if the index is truly empty when
the operation begins.

For historical background, see:

http://thread.gmane.org/gmane.comp.version-control.git/4641/focus=4646

This case is marked as *0* in the message, which both Linus and I said "it
feels somewhat wrong but otherwise we cannot start from an empty index".

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

Use xmalloc() and friends to catch allocation failuresDotan Barak Tue, 9 Sep 2008 18:57:10 +0000 (21:57 +0300)

Use xmalloc() and friends to catch allocation failures

Some places use the standard malloc/strdup without checking if the
allocation was successful; they should use xmalloc/xstrdup that
check the memory allocation result.

Signed-off-by: Dotan Barak <dotanba@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix permission bits on sources checked out with an... Junio C Hamano Fri, 22 Aug 2008 00:31:50 +0000 (19:31 -0500)

Fix permission bits on sources checked out with an overtight umask

Two patches 9907721 (templates/Makefile: don't depend on local umask
setting, 2008-02-28) and 96cda0b (templates/Makefile: install is
unnecessary, just use mkdir -p, 2008-08-21) tried to prevent an overtight
umask the builder/installer might have from screwing over the installation
procedure, but we forgot there was another source of trouble. If the
person who checked out the source tree had an overtight umask, it will
leak out to the built products, which is propagated to the installation
destination.

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

git-rebase--interactive: auto amend only edited commitDmitry Potapov Tue, 9 Sep 2008 12:05:26 +0000 (16:05 +0400)

git-rebase--interactive: auto amend only edited commit

"git rebase --continue" issued after git rebase being stop by "edit"
command is trying to amend the last commit using stage changes. However,
if the last commit is not the commit that was marked as "edit" then it
can produce unexpected results.

For instance, after being stop by "edit", I have made some changes to
commit message using "git commit --amend". After that I realized that
I forgot to add some changes to some file. So, I said "git add file"
and the "git rebase --continue". Unfortunately, it caused that the new
commit message was lost.

Another problem is that after being stopped at "edit", the user adds new
commits. In this case, automatic amend behavior of git rebase triggered
by some stage changes causes that not only that the log message of the
last commit is lost but that it will contain also wrong Author and Date
information.

Therefore, this patch restrict automatic amend only to the situation
where HEAD is the commit at which git rebase stop by "edit" command.

Signed-off-by: Dmitry Potapov <dpotapov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Start conforming code to "git subcmd" style part 2Heikki Orsila Tue, 9 Sep 2008 10:28:30 +0000 (13:28 +0300)

Start conforming code to "git subcmd" style part 2

User notifications are presented as 'git cmd', and code comments
are presented as '"cmd"' or 'git's cmd', rather than 'git-cmd'.

Signed-off-by: Heikki Orsila <heikki.orsila@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-rebase-interactive: do not squash commits on abortDmitry Potapov Mon, 8 Sep 2008 20:42:48 +0000 (00:42 +0400)

git-rebase-interactive: do not squash commits on abort

If git rebase interactive is stopped by "edit" command and then the user
said "git rebase --continue" while having some stage changes, git rebase
interactive is trying to amend the last commit by doing:
git --soft reset && git commit

However, the user can abort commit for some reason by providing an empty
log message, and that would leave the last commit undone, while the user
being completely unaware about what happened. Now if the user tries to
continue, by issuing "git rebase --continue" that squashes two previous
commits.

Signed-off-by: Dmitry Potapov <dpotapov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

refs: improve comments about "reading" argument of... Christian Couder Tue, 9 Sep 2008 05:10:56 +0000 (07:10 +0200)

refs: improve comments about "reading" argument of "resolve_ref"

The existing in-code comment was misleading. An access that is not
"reading" may often be "writing", but it does not have to be.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t6023-merge-file: Work around non-portable sed usageArjen Laarhoven Mon, 8 Sep 2008 18:29:18 +0000 (20:29 +0200)

t6023-merge-file: Work around non-portable sed usage

OS X sed doesn't understand '\n' on the right side of a substitution.
Use a valid substitution character instead and use 'tr' to convert
those to a newline.

Signed-off-by: Arjen Laarhoven <arjen@yaph.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>