gitweb.git
gitweb: check given hash before trying to create snapshotMark Rada Sat, 26 Sep 2009 17:46:08 +0000 (13:46 -0400)

gitweb: check given hash before trying to create snapshot

Makes things nicer in cases when you hand craft the snapshot URL but
make a typo in defining the hash variable (e.g. netx instead of next);
you will now get an error message instead of a broken tarball.

Tests for t9501 are included to demonstrate added functionality.

Signed-off-by: Mark Rada <marada@uwaterloo.ca>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

builtin-mailinfo.c: check error status from rewind... Junio C Hamano Tue, 29 Sep 2009 06:40:08 +0000 (23:40 -0700)

builtin-mailinfo.c: check error status from rewind and ftruncate

A recent "cut at scissors" implementation rewinds and truncates
the output file to store the message when it sees a scissors mark,
but it did not check if these library calls succeeded.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
[sp: Use fseek as rewind returns void]
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Make just opening the generated MSVC solution file... Sebastian Schuberth Mon, 28 Sep 2009 11:34:21 +0000 (13:34 +0200)

Make just opening the generated MSVC solution file not modify it

The format of the generated MSVC solution file is fixed in a way that
just opening it in Visual Studio and immediately closing it again
without performing any modifications does not trigger a prompt to save
the solution file. This behavior was caused by several minor
incompatibilities between the generated file and what Visual Studio
2008 expected, so Visual Studio transparently fixed the file format,
marking it internally as modified.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Acked-by: Marius Storm-Olsen <mstormo@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Make generated MSVC solution file open from Windows... Sebastian Schuberth Mon, 28 Sep 2009 11:34:20 +0000 (13:34 +0200)

Make generated MSVC solution file open from Windows Explorer

In order to be able to open the generated solution file by double-
clicking it in Windows Explorer, all project files need to use DOS
line-endings and a comment about the Visual Studio version needs to
be added to the header of the solution file. This also fixes the icon
that is displayed for the solution file in Windows Explorer.
Note that opening the solution file from a running instance of Visual
Studio already worked before.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Acked-by: Marius Storm-Olsen <mstormo@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

generators/vcproj.pm: remove UNICODE from buildMichael Wookey Mon, 28 Sep 2009 10:46:52 +0000 (20:46 +1000)

generators/vcproj.pm: remove UNICODE from build

Defining UNICODE for MSVC IDE builds results in certain Win32 WIDE
API's receiving ANSI strings. The result of which is an invalid use
of the API and will end in either data corruption or an application
crash.

Prevent the use of WIDE API's when building with the MSVC IDE for
compatibility with msysGit.

Signed-off-by: Michael Wookey <michaelwookey@gmail.com>
Acked-by: Marius Storm-Olsen <mstormo@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

typo fix: Directory `...' exist, ...: s/exist/exists/Jim Meyering Tue, 29 Sep 2009 05:42:25 +0000 (07:42 +0200)

typo fix: Directory `...' exist, ...: s/exist/exists/

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Documentation/git-gc.txt: default --aggressive window... Brandon Casey Mon, 28 Sep 2009 14:56:00 +0000 (09:56 -0500)

Documentation/git-gc.txt: default --aggressive window is 250, not 10

The default --aggressive window has been 250 since 1c192f34 "gc
--aggressive: make it really aggressive", released in git v1.6.3.

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

Correct minor typo in post-receive hook templateFrederik Schwarzer Mon, 28 Sep 2009 08:25:55 +0000 (10:25 +0200)

Correct minor typo in post-receive hook template

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

git branch -D: give a better error message when lockfil... Miklos Vajna Sat, 26 Sep 2009 23:15:09 +0000 (01:15 +0200)

git branch -D: give a better error message when lockfile creation fails

Previously the old error message just told the user that it was not
possible to delete the ref from the packed-refs file. Give instructions
on how to resolve the problem.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

parse-opt: ignore negation of OPT_NONEG for ambiguity... Andreas Schwab Fri, 25 Sep 2009 18:44:44 +0000 (20:44 +0200)

parse-opt: ignore negation of OPT_NONEG for ambiguity checks

parse_long_opt always matches both --opt and --no-opt for any option
"opt", and only get_value checks whether --no-opt is actually valid.
Since the options for git branch contains both "no-merged" and "merged"
there are two matches for --no-merge, but no exact match. With this
patch the negation of a NONEG option is rejected earlier, but it changes
the error message from "option `no-opt' isn't available" to "unknown
option `no-opt'".

[jk: added test]

Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

make 'git clone' ask the remote only for objects it... Nicolas Pitre Sat, 26 Sep 2009 03:54:42 +0000 (23:54 -0400)

make 'git clone' ask the remote only for objects it cares about

Current behavior of 'git clone' when not using --mirror is to fetch
everything from the peer, and then filter out unwanted refs just before
writing them out to the cloned repository. This may become highly
inefficient if the peer has an unusual ref namespace, or if it simply
has "remotes" refs of its own, and those locally unwanted refs are
connecting to a large set of objects which becomes unreferenced as soon
as they are fetched.

Let's filter out those unwanted refs from the peer _before_ asking it
what refs we want to fetch instead, which is the most logical thing to
do anyway.

Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

send-email: fix obscure error when encryption=tls and... Yakov Lerner Fri, 25 Sep 2009 22:10:21 +0000 (15:10 -0700)

send-email: fix obscure error when encryption=tls and smtp cannot connect

When encryption=tls and we cannot connect to the SMTP server,
git-send-email was printing an obtuse perl error:

Can't call method "command" on an undefined value
at git-send-email line 927.

This can occur when smtp host or port is misspelled, or the network
is down, and encryption has been set to tls.

Instead we expect some familiar "Cannot connect to SERVER:PORT"
message. Fix it to print normal "smtp can't connect" diagnostics.

Signed-off-by: Yakov Lerner <iler.ml@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

bash: teach 'git checkout' optionsSZEDER Gábor Thu, 24 Sep 2009 12:23:15 +0000 (14:23 +0200)

bash: teach 'git checkout' options

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

perl/Makefile.PL: detect MakeMaker versions incompatibl... Brandon Casey Thu, 24 Sep 2009 18:21:03 +0000 (13:21 -0500)

perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIR

It appears that ExtUtils::MakeMaker versions older than 6.11 do not
implement the DESTDIR mechanism. So add a test to the generated perl.mak
to detect when DESTDIR is used along with a too old ExtUtils::MakeMaker and
abort with a message suggesting the use of NO_PERL_MAKEMAKER.

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

pull: Clarify "helpful" message for another corner... v1.6.5-rc2Junio C Hamano Sun, 13 Sep 2009 20:38:48 +0000 (13:38 -0700)

pull: Clarify "helpful" message for another corner case

When the remote branch we asked for merging did not exist in the set of
fetched refs, we unconditionally hinted that it was because of lack of
configuration. It is not necessarily so, and risks sending users for a
wild goose chase.

Make sure to check if that is indeed the case before telling a wild guess
to the user.

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

Update "describe" documentation to match realityThiago Farina Tue, 22 Sep 2009 23:48:06 +0000 (19:48 -0400)

Update "describe" documentation to match reality

A sample "git describe -h" did not match what the program actually says.

Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

bash: teach 'git reset --patch'SZEDER Gábor Tue, 15 Sep 2009 10:21:45 +0000 (12:21 +0200)

bash: teach 'git reset --patch'

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>

bash: update 'git stash' completionSZEDER Gábor Tue, 15 Sep 2009 10:21:44 +0000 (12:21 +0200)

bash: update 'git stash' completion

This update adds 'git stash (apply|pop) --quiet' and all options known
to 'git stash save', and handles the DWIMery from 3c2eb80f (stash:
simplify defaulting to "save" and reject unknown options, 2009-08-18).
Care is taken to avoid offering subcommands in the DWIM case.

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>

bash: rename __git_find_subcommand() to __git_find_on_c... SZEDER Gábor Tue, 15 Sep 2009 10:21:43 +0000 (12:21 +0200)

bash: rename __git_find_subcommand() to __git_find_on_cmdline()

__git_find_subcommand() was originally meant to check whether
subcommands are already present on the command line. But the code is
general enough to be used for checking the presence of command line
options as well, and the next commit will use it for that purpose, so
let's give it a more general name.

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>

pay attention to DESTDIR when building with NO_PERL_MAK... Junio C Hamano Mon, 21 Sep 2009 19:44:05 +0000 (12:44 -0700)

pay attention to DESTDIR when building with NO_PERL_MAKEMAKER

Building with prefix=/some/where and temporarily installing it to
elsewhere for tar'ing up is done with:

make prefix=/some/where
make prefix=/some/where DESTDIR=/else/where install

Make handcrafted perl/perl.mak without NO_PERL_MAKEMAKER honour DESTDIR.

Ancient ExtUtils::MakeMaker (pre 6.11?) has the same issue, but recent
versions of Perl ships with at leat 6.17; this patch does not address that
issue.

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

pre-commit.sample: add comment re tr portability; fix... Jim Meyering Mon, 21 Sep 2009 11:00:34 +0000 (13:00 +0200)

pre-commit.sample: add comment re tr portability; fix grammar

Add a comment explaining why square brackets around a tr range
are not only ok, but actually required in this case.
Correct spelling and grammar.

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

Update Release Notes to 1.6.5Junio C Hamano Tue, 22 Sep 2009 01:14:12 +0000 (18:14 -0700)

Update Release Notes to 1.6.5

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

test-genrandom: ensure stdout is set to _O_BINARY on... Johannes Sixt Mon, 21 Sep 2009 07:34:58 +0000 (09:34 +0200)

test-genrandom: ensure stdout is set to _O_BINARY on Windows

Commit a6ca8c62 (Set _O_BINARY as default fmode for both MinGW and MSVC)
removed the definition of _CRT_fmode from mingw.c. Before this commit,
since test-genrandom is linked against libgit.a, the MinGW process
initialization code would pick up that definition of _CRT_fmode, which was
initialized to _O_BINARY. After this commit, however, text mode is used
for std(in|out|err) because it is the default in absence of _CRT_fmode.
In order to fix that, we must use git-compat-util.h, which overrides
main() to set the mode to binary.

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

Merge git://git.kernel.org/pub/scm/gitk/gitkJunio C Hamano Mon, 21 Sep 2009 06:47:52 +0000 (23:47 -0700)

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

* git://git.kernel.org/pub/scm/gitk/gitk:
gitk: Work around leftover temporary save file
gitk: Show diff of commits at end of compare-commits output
gitk: Update Swedish translation (280t0f0u)

gitk: Work around leftover temporary save filePat Thoyts Tue, 15 Sep 2009 09:26:30 +0000 (10:26 +0100)

gitk: Work around leftover temporary save file

If a file exists and is hidden on Windows the Tcl open command will
fail as the attributes provided in the CREAT call fail to match those
of the existing file. Forcing removal of the temporary file before we
begin solves any problems caused by previous failures to save the
application settings. An alternative would be to remove the hidden
attribute before calling 'open'.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>

Merge branch 'maint'Junio C Hamano Sun, 20 Sep 2009 19:13:47 +0000 (12:13 -0700)

Merge branch 'maint'

* maint:
push: Correctly initialize nonfastforward in transport_push.

push: Correctly initialize nonfastforward in transport_... Matthieu Moy Sun, 20 Sep 2009 17:33:20 +0000 (19:33 +0200)

push: Correctly initialize nonfastforward in transport_push.

The variable is assigned unconditionally in print_push_status, but
print_push_status is not reached by all codepaths. In particular, this
fixes a bug where "git push ... nonexisting-branch" was complaining about
non-fast forward.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Tag GIT_VERSION when Git is built with MSVCMarius Storm-Olsen Wed, 16 Sep 2009 08:20:31 +0000 (10:20 +0200)

Tag GIT_VERSION when Git is built with MSVC

This may help us debug issues on Windows, as we now can build Git
natively on Windows with both MinGW and MSVC.

Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add scripts to generate projects for other buildsystems... Marius Storm-Olsen Wed, 16 Sep 2009 08:20:30 +0000 (10:20 +0200)

Add scripts to generate projects for other buildsystems (MSVC vcproj, QMake)

These scripts generate projects for the MSVC IDE (.vcproj files) or
QMake (.pro files), based on the output of a 'make -n MSVC=1 V=1' run.

This enables us to simply do the necesarry changes in the Makefile, and you
can update the other buildsystems by regenerating the files. Keeping the
other buildsystems up-to-date with main development.

The generator system is designed to easily drop in pm's for other
buildsystems as well, if someone has an itch. However, the focus has been
Windows development, so the 'engine' might need patches to support any
platform.

Also add some .gitignore entries for MSVC files.

Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add README for MSVC buildMarius Storm-Olsen Wed, 16 Sep 2009 08:20:29 +0000 (10:20 +0200)

Add README for MSVC build

Based on original README patch from Frank Li, describe the steps
to build git with VS2008 (aka MSVC).

Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add MSVC to MakefileMarius Storm-Olsen Wed, 16 Sep 2009 08:20:28 +0000 (10:20 +0200)

Add MSVC to Makefile

Enable MSVC builds with GNU Make by simply calling
make MSVC=1
(Debug build possible by adding DEBUG=1 as well)

Two scripts, clink.pl and lib.pl, are used to convert certain GCC
specific command line options into something MSVC understands.
By building for MSVC with GNU Make, we can ensure that the MSVC
port always follows the latest code, and does not lag behind due
to unmaintained NMake Makefile or IDE projects.

Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Define strncasecmp and ftruncate for MSVCMarius Storm-Olsen Wed, 16 Sep 2009 08:20:27 +0000 (10:20 +0200)

Define strncasecmp and ftruncate for MSVC

Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Make usage of windows.h lean and meanMarius Storm-Olsen Wed, 16 Sep 2009 08:20:26 +0000 (10:20 +0200)

Make usage of windows.h lean and mean

Centralize the include of windows.h in git-compat-util.h, turn on
WIN32_LEAN_AND_MEAN to avoid including plenty of other header files
which is not needed in Git. Also ensure we load winsock2.h first,
so we don't load the older winsock definitions at a later stage,
since they contain duplicate definitions.

When moving windows.h into git-compat-util.h, we need to protect
the definition of struct pollfd in mingw.h, since this file is used
by both MinGW and MSVC, and the latter defines this struct in
winsock2.h.

We need to keep the windows.h include in compat/win32.h, since its
shared by both MinGW and Cygwin, and we're not touching Cygwin in
this commit. The include in git-compat-util.h is protected with an
ifdef WIN32, which is not the case when compiling for Cygwin.

Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add platform files for porting to MSVCFrank Li Wed, 16 Sep 2009 08:20:25 +0000 (10:20 +0200)

Add platform files for porting to MSVC

Add msvc.c and msvc.h to build git under MSVC.

Signed-off-by: Frank Li <lznuaa@gmail.com>
Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add MinGW header files to build git with MSVCFrank Li Wed, 16 Sep 2009 08:20:24 +0000 (10:20 +0200)

Add MinGW header files to build git with MSVC

Added the header files dirent.h, unistd.h and utime.h
Add alloca.h, which simply includes malloc.h, which defines alloca().

Signed-off-by: Frank Li <lznuaa@gmail.com>
Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add empty header files for MSVC portMarius Storm-Olsen Wed, 16 Sep 2009 08:20:23 +0000 (10:20 +0200)

Add empty header files for MSVC port

MSVC lacks many of the header files included by git-compat-util.h; add
blank header files for these instead of going ifdef crazy.

Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Test for WIN32 instead of __MINGW32_Frank Li Wed, 16 Sep 2009 08:20:22 +0000 (10:20 +0200)

Test for WIN32 instead of __MINGW32_

The code which is conditional on MinGW32 is actually conditional on Windows.
Use the WIN32 symbol, which is defined by the MINGW32 and MSVC environments,
but not by Cygwin.

Define SNPRINTF_SIZE_CORR=1 for MSVC too, as its vsnprintf function does
not add NUL at the end of the buffer if the result fits the buffer size
exactly.

Signed-off-by: Frank Li <lznuaa@gmail.com>
Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix __stdcall placement and function prototypeFrank Li Wed, 16 Sep 2009 08:20:21 +0000 (10:20 +0200)

Fix __stdcall placement and function prototype

MSVC requires __stdcall to be between the functions return value and the
function name, and that the function pointer type is in the form of

return_type (WINAPI *function_name)(arguments...)

Signed-off-by: Frank Li <lznuaa@gmail.com>
Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Set _O_BINARY as default fmode for both MinGW and MSVCMarius Storm-Olsen Wed, 16 Sep 2009 08:20:20 +0000 (10:20 +0200)

Set _O_BINARY as default fmode for both MinGW and MSVC

MinGW set the _CRT_fmode to set both the default fmode and _O_BINARY on
stdin/stdout/stderr. Rather use the main() define in mingw.h to set this
for both MinGW and MSVC.

This will ensure that a MinGW and MSVC build will handle input and output
identically.

Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Change regerror() declaration from K&R style to ANSI... Frank Li Wed, 16 Sep 2009 08:20:19 +0000 (10:20 +0200)

Change regerror() declaration from K&R style to ANSI C (C89)

The MSVC headers typedef errcode as int, and thus confused the compiler in
the K&R style definition. ANSI style deconfuses it.

Signed-off-by: Frank Li <lznuaa@gmail.com>
Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Add include guards to compat/win32.hMarius Storm-Olsen Wed, 16 Sep 2009 08:20:18 +0000 (10:20 +0200)

Add include guards to compat/win32.h

Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Avoid declaration after statementFrank Li Wed, 16 Sep 2009 08:20:17 +0000 (10:20 +0200)

Avoid declaration after statement

MSVC does not understand this C99 style.

Signed-off-by: Frank Li <lznuaa@gmail.com>
Signed-off-by: Marius Storm-Olsen <mstormo@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

pack-objects: remove SP at the end of usage stringThiago Farina Fri, 18 Sep 2009 19:11:52 +0000 (12:11 -0700)

pack-objects: remove SP at the end of usage string

These spaces immediately before the end of lines are unnecessary.

While at it, instead of using a single string literal with backslashes
at end of each line, split the lines into individual string literals
and tell the compiler to concatenate them.

Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Update the usage bundle string.Thiago Farina Thu, 17 Sep 2009 17:20:53 +0000 (13:20 -0400)

Update the usage bundle string.

"git bundle -h" gives a single long line that is hard to read. Rewrite it
into a multi-line format similar to the one used by other commands, e.g
"git stash -h".

Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

cvs: initialize empty passwordClemens Buchacher Thu, 17 Sep 2009 07:21:02 +0000 (09:21 +0200)

cvs: initialize empty password

If we do not read a password from the command line, and there are no
passwords stored in .cvspass, we have to initialize the password with
just "A".

This fixes a regression introduced by 3fb9d582 (Do not scramble
password read from .cvspass).

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge 1.6.4.4 inJunio C Hamano Wed, 16 Sep 2009 22:04:21 +0000 (15:04 -0700)

Merge 1.6.4.4 in

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

GIT 1.6.4.4 v1.6.4.4Junio C Hamano Wed, 16 Sep 2009 21:53:26 +0000 (14:53 -0700)

GIT 1.6.4.4

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

Merge branch 'jc/maint-unpack-objects-strict' into... Junio C Hamano Wed, 16 Sep 2009 21:45:18 +0000 (14:45 -0700)

Merge branch 'jc/maint-unpack-objects-strict' into maint

* jc/maint-unpack-objects-strict:
Fix "unpack-objects --strict"

Conflicts:
builtin-unpack-objects.c

Merge branch 'tf/diff-whitespace-incomplete-line' into... Junio C Hamano Wed, 16 Sep 2009 21:27:08 +0000 (14:27 -0700)

Merge branch 'tf/diff-whitespace-incomplete-line' into maint

* tf/diff-whitespace-incomplete-line:
xutils: Fix xdl_recmatch() on incomplete lines
xutils: Fix hashing an incomplete line with whitespaces at the end

Merge branch 'jk/maint-1.6.3-checkout-unborn' into... Junio C Hamano Wed, 16 Sep 2009 21:26:56 +0000 (14:26 -0700)

Merge branch 'jk/maint-1.6.3-checkout-unborn' into maint

* jk/maint-1.6.3-checkout-unborn:
checkout: do not imply "-f" on unborn branches

Merge branch 'jc/maint-checkout-index-to-prefix' into... Junio C Hamano Wed, 16 Sep 2009 21:26:40 +0000 (14:26 -0700)

Merge branch 'jc/maint-checkout-index-to-prefix' into maint

* jc/maint-checkout-index-to-prefix:
check_path(): allow symlinked directories to checkout-index --prefix

Merge branch 'maint'Junio C Hamano Mon, 14 Sep 2009 21:48:27 +0000 (14:48 -0700)

Merge branch 'maint'

* maint:
http.c: avoid freeing an uninitialized pointer

Merge branch 'rc/maint-http-no-head-pack-check' into... Junio C Hamano Mon, 14 Sep 2009 21:48:20 +0000 (14:48 -0700)

Merge branch 'rc/maint-http-no-head-pack-check' into maint

* rc/maint-http-no-head-pack-check:
http.c: avoid freeing an uninitialized pointer

http.c: avoid freeing an uninitialized pointerJunio C Hamano Mon, 14 Sep 2009 21:48:15 +0000 (14:48 -0700)

http.c: avoid freeing an uninitialized pointer

An earlier 59b8d38 (http.c: remove verification of remote packs) left
the variable "url" uninitialized; "goto cleanup" codepath can free it
which is not very nice.

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

web--browse: fix Mac OS X GUI detection for 10.6Heiko Voigt Mon, 14 Sep 2009 08:49:01 +0000 (10:49 +0200)

web--browse: fix Mac OS X GUI detection for 10.6

Since OS X 10.6 the variable $SECURITYSESSIONID does not exist anymore,
so lets look for the $TERM_PROGRAM variable as backup.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

remove logical typo in documentation of sample update... Heiko Voigt Mon, 14 Sep 2009 08:47:06 +0000 (10:47 +0200)

remove logical typo in documentation of sample update hook

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Nicolas Pitre has a new email addressNicolas Pitre Mon, 14 Sep 2009 06:41:16 +0000 (02:41 -0400)

Nicolas Pitre has a new email address

Due to problems at cam.org, my nico@cam.org email address is no longer
valid. From now on, nico@fluxnic.net should be used instead.

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

git-archive: infer output format from filename when... Dmitry Potapov Sun, 13 Sep 2009 20:17:01 +0000 (00:17 +0400)

git-archive: infer output format from filename when unspecified

A command line

$ git archive -o my-v2.0.zip v2.0

almost certainly wants the output in zip format, even though it does not
specify any --format option.

When --format is not given, but output filename is, try to infer what
format is requested from the filename extension. Currently this code only
knows about '.zip'. When the format is unspecified and the filename does
not tell us, the output will be in 'tar' format as before.

Of course, an explicit --format will not trigger this guesswork.

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

completion: Replace config --list with --get-regexpTodd Zullinger Fri, 11 Sep 2009 23:23:45 +0000 (19:23 -0400)

completion: Replace config --list with --get-regexp

James Bardin noted that the completion spewed warnings when no git config
file is present. This is likely a bug to be fixed in git config, but it's
also good to simplify the completion code by using the --get-regexp option
as Jeff King pointed out.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Trivially-acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-archive: add '-o' as a alias for '--output'Dmitry Potapov Sun, 13 Sep 2009 12:05:52 +0000 (16:05 +0400)

git-archive: add '-o' as a alias for '--output'

The '-o' option is commonly used in many tools to specify the output file.
Typing '--output' every time is a bit too long to be a practical alternative
to redirecting output. But specifying the output name has the advantage of
making possible to guess the desired output format by filename extension.

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

test local clone by copyingClemens Buchacher Sun, 13 Sep 2009 10:49:45 +0000 (12:49 +0200)

test local clone by copying

Test the effect of an earlier change by f7835a2 (preserve mtime of local
clone, 2009-09-12) to keep stale loose object files stale in the new
repository when a local clone is made by copying files in .git/
directory.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-clone doc: typofixJohannes Gilger Sun, 13 Sep 2009 13:35:05 +0000 (15:35 +0200)

git-clone doc: typofix

Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-push: Accept -n as a synonym for --dry-run.Nelson Elhage Sun, 13 Sep 2009 16:56:45 +0000 (12:56 -0400)

git-push: Accept -n as a synonym for --dry-run.

git-push is not currently using -n for anything else, and it seems
unlikely we will want to use it to mean anything else in the future,
so add it as an alias for convenience.

Signed-off-by: Nelson Elhage <nelhage@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-commit doc: remove duplicated --dry-run descriptionJunio C Hamano Sun, 13 Sep 2009 18:23:34 +0000 (11:23 -0700)

git-commit doc: remove duplicated --dry-run description

60c2993 (Documentation/git-commit.txt: describe --dry-run, 2009-08-15)
wanted to update the documentation to say that "git status" is not the
same as "git commit --dry-run" anymore, but it screwed up and also added
the description of --dry-run that was already present.

Noticed by Johannes Gilger.

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

GIT 1.6.5-rc1 v1.6.5-rc1Junio C Hamano Sun, 13 Sep 2009 08:50:22 +0000 (01:50 -0700)

GIT 1.6.5-rc1

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

Improve --patch option documentation in git-addJari Aalto Sun, 13 Sep 2009 06:43:10 +0000 (09:43 +0300)

Improve --patch option documentation in git-add

Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'pk/fast-import-tars'Junio C Hamano Sun, 13 Sep 2009 08:33:29 +0000 (01:33 -0700)

Merge branch 'pk/fast-import-tars'

* pk/fast-import-tars:
import-tars: Allow per-tar author and commit message.

Merge branch 'pk/fast-import-dirs'Junio C Hamano Sun, 13 Sep 2009 08:33:26 +0000 (01:33 -0700)

Merge branch 'pk/fast-import-dirs'

* pk/fast-import-dirs:
Add script for importing bits-and-pieces to Git.

Merge branch 'jt/pushinsteadof'Junio C Hamano Sun, 13 Sep 2009 08:33:20 +0000 (01:33 -0700)

Merge branch 'jt/pushinsteadof'

* jt/pushinsteadof:
Add url.<base>.pushInsteadOf: URL rewriting for push only
Wrap rewrite globals in a struct in preparation for adding another set

Merge branch 'jk/unwanted-advices'Junio C Hamano Sun, 13 Sep 2009 08:33:18 +0000 (01:33 -0700)

Merge branch 'jk/unwanted-advices'

* jk/unwanted-advices:
status: make "how to stage" messages optional
push: make non-fast-forward help message configurable

Merge branch 'jc/merge-saner-messages'Junio C Hamano Sun, 13 Sep 2009 08:33:15 +0000 (01:33 -0700)

Merge branch 'jc/merge-saner-messages'

* jc/merge-saner-messages:
merge-recursive: give less scary messages when merge did not start

quiltimport documentation: --dry-run and -n are synonymsJunio C Hamano Sun, 13 Sep 2009 02:40:27 +0000 (19:40 -0700)

quiltimport documentation: --dry-run and -n are synonyms

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

preserve mtime of local cloneClemens Buchacher Sat, 12 Sep 2009 09:03:48 +0000 (11:03 +0200)

preserve mtime of local clone

A local clone without hardlinks copies all objects, including dangling
ones, to the new repository. Since the mtimes are renewed, those
dangling objects cannot be pruned by "git gc --prune", even if they
would have been old enough for pruning in the original repository.

Instead, preserve mtime during copy. "git gc --prune" will then work
in the clone just like it did in the original.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

don't dereference NULL upon fdopen failureJim Meyering Sat, 12 Sep 2009 08:43:27 +0000 (10:43 +0200)

don't dereference NULL upon fdopen failure

There were several unchecked use of fdopen(); replace them with xfdopen()
that checks and dies.

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

use write_str_in_full helper to avoid literal string... Jim Meyering Sat, 12 Sep 2009 08:54:32 +0000 (10:54 +0200)

use write_str_in_full helper to avoid literal string lengths

This is the same fix to use write_str_in_full() helper to write a constant
string out without counting the length of it ourselves.

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

Merge branch 'db/vcs-helper'Junio C Hamano Sun, 13 Sep 2009 08:31:55 +0000 (01:31 -0700)

Merge branch 'db/vcs-helper'

* db/vcs-helper:
Makefile: remove remnant of separate http/https/ftp helpers
Use a clearer style to issue commands to remote helpers
Make the "traditionally-supported" URLs a special case
Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible
Makefile: do not link three copies of git-remote-* programs
Makefile: git-http-fetch does not need expat
http-fetch: Fix Makefile dependancies
Add transport native helper executables to .gitignore
git-http-fetch: not a builtin
Use an external program to implement fetching with curl
Add support for external programs for handling native fetches

use write_str_in_full helper to avoid literal string... Jim Meyering Sat, 12 Sep 2009 08:54:32 +0000 (10:54 +0200)

use write_str_in_full helper to avoid literal string lengths

In 2d14d65 (Use a clearer style to issue commands to remote helpers,
2009-09-03) I happened to notice two changes like this:

- write_in_full(helper->in, "list\n", 5);
+
+ strbuf_addstr(&buf, "list\n");
+ write_in_full(helper->in, buf.buf, buf.len);
+ strbuf_reset(&buf);

IMHO, it would be better to define a new function,

static inline ssize_t write_str_in_full(int fd, const char *str)
{
return write_in_full(fd, str, strlen(str));
}

and then use it like this:

- strbuf_addstr(&buf, "list\n");
- write_in_full(helper->in, buf.buf, buf.len);
- strbuf_reset(&buf);
+ write_str_in_full(helper->in, "list\n");

Thus not requiring the added allocation, and still avoiding
the maintenance risk of literal string lengths.
These days, compilers are good enough that strlen("literal")
imposes no run-time cost.

Transformed via this:

perl -pi -e \
's/write_in_full\((.*?), (".*?"), \d+\)/write_str_in_full($1, $2)/'\
$(git grep -l 'write_in_full.*"')

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

wrap git's main usage string.Matthieu Moy Sat, 12 Sep 2009 10:39:30 +0000 (12:39 +0200)

wrap git's main usage string.

It's now similar wrapped the same way as in Documentation/git.txt, and
fits in a 67 characters wide terminal.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint'Junio C Hamano Sun, 13 Sep 2009 08:30:53 +0000 (01:30 -0700)

Merge branch 'maint'

* maint:
GIT 1.6.4.3
svn: properly escape arguments for authors-prog
http.c: remove verification of remote packs
grep: accept relative paths outside current working directory
grep: fix exit status if external_grep() punts

Conflicts:
GIT-VERSION-GEN
RelNotes

GIT 1.6.4.3 v1.6.4.3Junio C Hamano Sun, 13 Sep 2009 08:04:23 +0000 (01:04 -0700)

GIT 1.6.4.3

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

svn: properly escape arguments for authors-progMark Lodato Sun, 13 Sep 2009 00:33:23 +0000 (20:33 -0400)

svn: properly escape arguments for authors-prog

Previously, the call to authors-prog was not properly escaped, so any
special characters in the Subversion username, such as spaces and
semi-colons, would be interpreted by the shell rather than being passed
in as the first argument. Now all unsafe characters are escaped using
"git rev-parse --sq-quote"

[ew: switched from "\Q..\E" to "rev-parse --sq-quote"]

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

Merge branch 'cb/maint-1.6.3-grep-relative-up' into... Junio C Hamano Sun, 13 Sep 2009 08:24:20 +0000 (01:24 -0700)

Merge branch 'cb/maint-1.6.3-grep-relative-up' into maint

* cb/maint-1.6.3-grep-relative-up:
grep: accept relative paths outside current working directory
grep: fix exit status if external_grep() punts

Conflicts:
t/t7002-grep.sh

Makefile: remove remnant of separate http/https/ftp... Junio C Hamano Sat, 12 Sep 2009 05:35:30 +0000 (22:35 -0700)

Makefile: remove remnant of separate http/https/ftp helpers

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

rebase: use plumbing to show dirty stateJeff King Wed, 9 Sep 2009 14:59:37 +0000 (10:59 -0400)

rebase: use plumbing to show dirty state

Commit 4cfbe06 introduced the use of "git diff" to show
dirty state in a format more familiar to users. However, it
should have used the plumbing "git diff-files" instead.

Not only is it good practice in general to use plumbing in
scripts, but in this case we really don't want the automatic
pager to kick in for an error message.

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

status: make "how to stage" messages optionalJeff King Wed, 9 Sep 2009 11:43:03 +0000 (07:43 -0400)

status: make "how to stage" messages optional

These messages are nice for new users, but experienced git
users know how to manipulate the index, and these messages
waste a lot of screen real estate.

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

push: make non-fast-forward help message configurableJeff King Wed, 9 Sep 2009 11:38:58 +0000 (07:38 -0400)

push: make non-fast-forward help message configurable

This message is designed to help new users understand what
has happened when refs fail to push. However, it does not
help experienced users at all, and significantly clutters
the output, frequently dwarfing the regular status table and
making it harder to see.

This patch introduces a general configuration mechanism for
optional messages, with this push message as the first
example.

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

pager: set LESS=FRSX also on WindowsJohannes Sixt Fri, 11 Sep 2009 17:45:07 +0000 (19:45 +0200)

pager: set LESS=FRSX also on Windows

Previously, this environment variable was set in the pager_preexec
callback, which is conditionally-compiled only on Unix, because it is not,
and cannot be, called on Windows.

With this patch the env member of struct child_process is used to set
the environment variable, which also works on Windows.

Noticed by Alexey Borzenkov.

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

start_command: do not clobber cmd->env on Windows code... Johannes Sixt Fri, 11 Sep 2009 17:40:08 +0000 (19:40 +0200)

start_command: do not clobber cmd->env on Windows code path

Previously, it would not be possible to call start_command twice for the
same struct child_process that has env set.

The fix is achieved by moving the loop that modifies the environment block
into a helper function. This also allows us to make two other helper
functions static.

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

http.c: remove verification of remote packsTay Ray Chuan Wed, 9 Sep 2009 12:33:50 +0000 (20:33 +0800)

http.c: remove verification of remote packs

Make http.c::fetch_pack_index() no longer check for the remote pack
with a HEAD request before fetching the corresponding pack index file.

Not only does sending a HEAD request before we do a GET incur a
performance penalty, it does not offer any significant error-
prevention advantages (pack fetching in the *_http_pack_request()
methods is capable of handling any errors on its own).

This addresses an issue raised elsewhere:

http://code.google.com/p/msysgit/issues/detail?id=323
http://support.github.com/discussions/repos/957-cant-clone-over-http-or-git

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

add documentation for mailinfo.scissors and '--no-scissors'Nicolas Sebrecht Fri, 11 Sep 2009 00:29:58 +0000 (02:29 +0200)

add documentation for mailinfo.scissors and '--no-scissors'

Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

mailinfo: add '--scissors' to usage messageNicolas Sebrecht Fri, 11 Sep 2009 00:09:20 +0000 (02:09 +0200)

mailinfo: add '--scissors' to usage message

Signed-off-by: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

INSTALL: Describe dependency knobs from MakefileBrian Gernhardt Thu, 10 Sep 2009 20:28:19 +0000 (16:28 -0400)

INSTALL: Describe dependency knobs from Makefile

We said that some of our dependencies were optional, but didn't say
how to turn them off. Add information for that and mention where to
save the options close to the top of the file.

Also, standardize on both using quotes for the names of the dependencies
and tabs for indentation of the list.

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

INSTALL: Reorder dependencies, split shell and PerlBrian Gernhardt Wed, 9 Sep 2009 01:51:00 +0000 (21:51 -0400)

INSTALL: Reorder dependencies, split shell and Perl

The most important and non-optional dependencies should go first, so put
them there. While we're moving them, the descriptions for shell and perl
were archaic, referring to "bare-bones Porcelainish scripts" that have
become powerful and essential.

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

git-p4: Avoid modules deprecated in Python 2.6.Reilly Grant Thu, 10 Sep 2009 07:02:38 +0000 (00:02 -0700)

git-p4: Avoid modules deprecated in Python 2.6.

The popen2, sha and sets modules are deprecated in Python 2.6 (sha in
Python 2.5). Both popen2 and sha are not actually used in git-p4.
Replace usage of sets.Set with the builtin set object.

The built-in set object was added in Python 2.4 and is already used in
other parts of this script, so this dependency is nothing new.

Signed-off-by: Reilly Grant <reillyeon@qotw.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: Add NEEDS_CRYPTO_WITH_SSLBrian Gernhardt Tue, 8 Sep 2009 13:54:38 +0000 (09:54 -0400)

Makefile: Add NEEDS_CRYPTO_WITH_SSL

The Makefile comment for NEEDS_SSL_WITH_CRYPTO says to define it "if
you need -lcrypto with -lssl (Darwin)." However, what it actually
does is add -lssl when you use -lcrypto and not the other way around.
However, libcrypto contains a majority of the ERR_* functions from
OpenSSL (at least on OS X) so we need it both ways.

So, add NEEDS_CRYPTO_WITH_SSL which adds -lcrypto to the OpenSSL link
flags and clarify the difference between it and NEEDS_SSL_WITH_CRYPTO.

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

gitk: Show diff of commits at end of compare-commits... Paul Mackerras Mon, 7 Sep 2009 00:08:21 +0000 (10:08 +1000)

gitk: Show diff of commits at end of compare-commits output

When comparing a string of commits, when we find two non-merge commits
that differ, we now write the two commits to files and diff the files.
This pulls out the logic for creating a temporary directory from
external_diff into a separate procedure so that the new diffcommits
procedure can use it.

Because the diff command returns an exit status of 1 when the files
differ, and Tcl treats that as an error, this adds catch {} around the
close statements in getblobdiffline.

At present this only removes the temporary files when gitk exits. It
should remove them when the diff is done.

Signed-off-by: Paul Mackerras <paulus@samba.org>

git.el: Use git-add-file for unmerged files, remove... Martin Nordholts Thu, 3 Sep 2009 20:27:24 +0000 (22:27 +0200)

git.el: Use git-add-file for unmerged files, remove git-resolve-file

Use `git-add-file' to mark unmerged files as resolved in the
*git-status* buffer to be consistent with git's CLI instructions. Also
remove `git-resolve-file' to make it clear that that "R" is a now a
free keybinding.

Signed-off-by: Martin Nordholts <martinn@src.gnome.org>
Acked-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

INSTALL: Update description of our SHA-1 codeBrian Gernhardt Wed, 9 Sep 2009 01:50:59 +0000 (21:50 -0400)

INSTALL: Update description of our SHA-1 code

We haven't had Mozilla's code or an ARM optimized algorithm since
30ae47b. Reword the paragraph to give credit but not authorship to
Mozilla.

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

merge-recursive: give less scary messages when merge... Junio C Hamano Tue, 8 Sep 2009 05:43:11 +0000 (22:43 -0700)

merge-recursive: give less scary messages when merge did not start

When unpack_trees() three-way merge logic is called from merge-recursive
and finds that local changes are going to be clobbered, its plumbing level
messages were given as errors first, and then the merge driver added even
more scary message "fatal: merging of trees <a long object name> and
<another long object name> failed".

This is most often encountered by new CVS/SVN migrants who are used to
start a merge from a dirty work tree. The saddest part is that the merge
refused to run to prevent _any_ damage from being done to your work tree
when these messages are given, but the messages look a lot more scarier
than the conflicted case where the user needs to resolve them.

Replace the plumbing level messages so that they talk about what it is
protecting the user from, and end the messages with "Aborting." so that it
becomes clear that the command did not do any harm.

The final "merging of trees failed" message is superfluous, unless you are
interested in debugging the merge-recursive itself. Squelch the current
die() message by default, but allow it to help people who debug git with
verbosity level 4 or greater.

Unless there is some bug, an inner merge that does not touch working tree
should not trigger any such error, so emit the current die() message when
we see an error return from it while running the inner merge, too. It
would also help people who debug git.

We could later add instructions on how to recover (i.e. "stash changes
away or commit on a side branch and retry") instead of the silent
exit(128) I have in this patch, and then use Peff's advice.* mechanism to
squelch it (e.g. "advice.mergeindirtytree"), but they are separate topics.

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

Add url.<base>.pushInsteadOf: URL rewriting for push... Josh Triplett Mon, 7 Sep 2009 08:56:33 +0000 (01:56 -0700)

Add url.<base>.pushInsteadOf: URL rewriting for push only

This configuration option allows systematically rewriting fetch-only URLs
to push-capable URLs when used with push. For instance:

[url "ssh://example.org/"]
pushInsteadOf = "git://example.org/"

This will allow clones of "git://example.org/path/to/repo" to subsequently
push to "ssh://example.org/path/to/repo", without manually configuring
pushurl for that remote.

Includes documentation for the new option, bash completion updates, and
test cases (both that pushInsteadOf applies to push, that it does not
apply to fetch, and that it is ignored when pushURL is already defined).

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>