git/git.git
11 years agoMerge branch 'maint'
Junio C Hamano [Fri, 9 Oct 2009 06:51:38 +0000 (23:51 -0700)]
Merge branch 'maint'

* maint:
  ls-files: die instead of fprintf/exit in -i error

11 years agoMakefile: add a note about the NO_MMAP setting on IRIX and IRIX64
Brandon Casey [Fri, 9 Oct 2009 00:09:37 +0000 (19:09 -0500)]
Makefile: add a note about the NO_MMAP setting on IRIX and IRIX64

When git is compiled with the MIPSpro 7.4.4m compiler, and NO_PTHREADS is
set, and NO_MMAP is _not_ set, then git segfaults when trying to access the
first entry in a reflog.  If NO_PTHREADS is not set (which implies that the
pthread library is linked in), or NO_MMAP _is_ set, then the segfault is
not encountered.  The conservative choice has been made to set NO_MMAP in
the Makefile to avoid this flaw.  The GNU C compiler does not produce this
behavior.

The segfault happens in refs.c:read_ref_at().  The mmap succeeds, and the
loop is executed properly until rec is rewound into the first line (reflog
entry) of the file.  The segfault is caught by test 28 of
t1400-update-ref.sh which fails when 'git rev-parse --verify "master@{May 25
2005}"' is called.

So, add a comment in the Makefile to describe why NO_MMAP is set and as a
hint to those who may be interested in unsetting it.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agols-files: die instead of fprintf/exit in -i error
Ben Walton [Fri, 9 Oct 2009 01:53:35 +0000 (21:53 -0400)]
ls-files: die instead of fprintf/exit in -i error

When ls-files was called with -i but no exclude pattern, it was
calling fprintf(stderr, "...", NULL) and then exiting.  On Solaris,
passing NULL into fprintf was causing a segfault.  On glibc systems,
it was simply producing incorrect output (eg: "(null)": ...).  The
NULL pointer was a result of argv[0] not being preserved by the option
parser.  Instead of requesting that the option parser preserve
argv[0], use die() with a constant string.

A trigger for this bug was: `git ls-files -i`

Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMakefile: enable THREADED_DELTA_SEARCH on IRIX and IRIX64
Brandon Casey [Thu, 8 Oct 2009 23:07:41 +0000 (18:07 -0500)]
Makefile: enable THREADED_DELTA_SEARCH on IRIX and IRIX64

Since commit dcda3614 removed the use of a variable length array from
builtin-pack-objects.c, it is now safe to compile with the threaded delta
search feature enabled.  Formerly, the MIPSpro 7.4.4m compiler warned that
variable length arrays should not be used with pthreads.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocompletion: add dirstat and friends to diff options v1.6.5-rc3
Stephen Boyd [Wed, 7 Oct 2009 08:48:51 +0000 (01:48 -0700)]
completion: add dirstat and friends to diff options

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agocompletion: update am, commit, and log
Stephen Boyd [Wed, 7 Oct 2009 08:48:50 +0000 (01:48 -0700)]
completion: update am, commit, and log

git am learned --scissors, git commit learned --dry-run and git log
learned --decorate=long|short recently.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMakefile: enable THREADED_DELTA_SEARCH on SunOS
Brandon Casey [Wed, 7 Oct 2009 01:02:22 +0000 (20:02 -0500)]
Makefile: enable THREADED_DELTA_SEARCH on SunOS

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Thu, 8 Oct 2009 04:32:39 +0000 (21:32 -0700)]
Merge branch 'maint'

* maint:
  fast-import.c::validate_raw_date(): really validate the value

11 years agofast-import.c::validate_raw_date(): really validate the value
Junio C Hamano [Tue, 29 Sep 2009 06:40:09 +0000 (23:40 -0700)]
fast-import.c::validate_raw_date(): really validate the value

When reading the "raw format" timestamp from the input stream, make sure
that the timezone offset is a reasonable value by imitating 7122f82
(date.c: improve guess between timezone offset and year., 2006-06-08).

We _might_ want to also check if the timestamp itself is reasonable, but
that is left for a separate commit.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoREADME: git lives at http://git-scm.com these days
Stefan Naewe [Wed, 7 Oct 2009 12:14:24 +0000 (14:14 +0200)]
README: git lives at http://git-scm.com these days

Signed-off-by: Stefan Naewe <stefan.naewe+git@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agogit-pull: dead code removal
Junio C Hamano [Mon, 5 Oct 2009 19:03:25 +0000 (12:03 -0700)]
git-pull: dead code removal

Back when a74b170 (git-pull: disallow implicit merging to detached HEAD,
2007-01-15) added this check, $? referred to the error status of reading
HEAD as a symbolic-ref; but cd67e4d (Teach 'git pull' about --rebase,
2007-11-28) moved the command away from where the check is, and nobody
noticed the breakage.  Ever since, $? has always been 0 (tr at the end of
the pipe to find merge_head never fails) and other case arms were never
reached.

These days, error_on_no_merge_candidates function is prepared to handle a
detached HEAD case, which was what the code this patch removes used to
handle.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoMerge branch 'maint'
Junio C Hamano [Sun, 4 Oct 2009 21:48:51 +0000 (14:48 -0700)]
Merge branch 'maint'

* maint:
  show-branch: fix segfault when showbranch.default exists

11 years agoMerge branch 'jc/maint-1.6.4-show-branch-default' into maint
Junio C Hamano [Sun, 4 Oct 2009 21:48:44 +0000 (14:48 -0700)]
Merge branch 'jc/maint-1.6.4-show-branch-default' into maint

* jc/maint-1.6.4-show-branch-default:
  show-branch: fix segfault when showbranch.default exists

11 years agoshow-branch: fix segfault when showbranch.default exists
Junio C Hamano [Tue, 9 Jun 2009 06:26:44 +0000 (23:26 -0700)]
show-branch: fix segfault when showbranch.default exists

When running "git show-branch" without any parameter in a repository that
has showbranch.default defined, we used to rely on the fact that our
handcrafted option parsing loop never looked at av[0].

The array of default strings had the first real command line argument in
default_arg[0], but the option parser wanted to look at the array starting
at av[1], so we assigned the address of -1th element to av to force the
loop start working from default_arg[0].

This no longer worked since 5734365 (show-branch: migrate to parse-options
API, 2009-05-21), as parse_options_start() saved the incoming &av[0] in
its ctx->out and later in parse_options_end() it did memmove to ctx->out
(with ctx->cpidx == 0), overwriting the memory before default_arg[] array.

I am not sure if this is a bug in parse_options(), or a bug in the caller,
and tonight I do not have enough concentration to figure out which.  In
any case, this patch works the issue around.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
11 years agoFix '--relative-date'
Johan Sageryd [Sat, 3 Oct 2009 04:20:18 +0000 (13:20 +0900)]
Fix '--relative-date'

This fixes '--relative-date' so that it does not give '0
year, 12 months', for the interval 360 <= diff < 365.

Signed-off-by: Johan Sageryd <j416@1616.se>
Signed-off-by: Jeff King <peff@peff.net>
11 years agotests: make all test files executable
Mark Rada [Fri, 2 Oct 2009 01:59:20 +0000 (21:59 -0400)]
tests: make all test files executable

For consistency with the rest of the test files.

Signed-off-by: Mark Rada <marada@uwaterloo.ca>
Signed-off-by: Jeff King <peff@peff.net>
11 years agofilter-branch: add --prune-empty to option summary
Adam Brewster [Fri, 2 Oct 2009 00:52:11 +0000 (20:52 -0400)]
filter-branch: add --prune-empty to option summary

Signed-off-by: Adam Brewster <adambrewster@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
11 years agoFix some printf format warnings
Ramsay Jones [Wed, 30 Sep 2009 18:49:24 +0000 (19:49 +0100)]
Fix some printf format warnings

commit 51ea551 ("make sure byte swapping is optimal for git"
2009-08-18) introduced a "sane definition for ntohl()/htonl()"
for use on some GNU C platforms. Unfortunately, for some of
these platforms, this results in the introduction of a problem
which is essentially the reverse of a problem that commit 6e1c234
("Fix some warnings (on cygwin) to allow -Werror" 2008-07-3) was
intended to fix.

In particular, on platforms where the uint32_t type is defined
to be unsigned long, the return type of the new ntohl()/htonl()
is causing gcc to issue printf format warnings, such as:

    warning: long unsigned int format, unsigned int arg (arg 3)

(nine such warnings, covering six different files). The earlier
commit (6e1c234) needed to suppress these same warnings, except
that the types were in the opposite direction; namely the format
specifier ("%u") was 'unsigned int' and the argument type (ie the
return type of ntohl()) was 'long unsigned int' (aka uint32_t).

In order to suppress these warnings, the earlier commit used the
(C99) PRIu32 format specifier, since the definition of this macro
is suitable for use with the uint32_t type on that platform.
This worked because the return type of the (original) platform
ntohl()/htonl() functions was uint32_t.

In order to suppress these warnings, we change the return type of
the new byte swapping functions in the compat/bswap.h header file
from 'unsigned int' to uint32_t.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Jeff King <peff@peff.net>
11 years agobuiltin-mailinfo.c: check error status from rewind and ftruncate
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>
11 years agoMake just opening the generated MSVC solution file not modify it
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>
11 years agoMake generated MSVC solution file open from Windows Explorer
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>
11 years agogenerators/vcproj.pm: remove UNICODE from build
Michael 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>
11 years agotypo 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>
11 years agoDocumentation/git-gc.txt: default --aggressive window is 250, not 10
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>
11 years agoCorrect minor typo in post-receive hook template
Frederik 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>
11 years agogit branch -D: give a better error message when lockfile creation fails
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>
11 years agoparse-opt: ignore negation of OPT_NONEG for ambiguity checks
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>
11 years agomake 'git clone' ask the remote only for objects it cares about
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>
11 years agosend-email: fix obscure error when encryption=tls and smtp cannot connect
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>
11 years agobash: teach 'git checkout' options
SZEDER 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>
11 years agoperl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIR
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>
11 years agopull: Clarify "helpful" message for another corner case v1.6.5-rc2
Junio 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>
11 years agoUpdate "describe" documentation to match reality
Thiago 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>
11 years agobash: 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>
11 years agobash: update 'git stash' completion
SZEDER 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>
11 years agobash: rename __git_find_subcommand() to __git_find_on_cmdline()
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>
11 years agopay attention to DESTDIR when building with NO_PERL_MAKEMAKER
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>
11 years agopre-commit.sample: add comment re tr portability; fix grammar
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>
11 years agoUpdate Release Notes to 1.6.5
Junio 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>
11 years agotest-genrandom: ensure stdout is set to _O_BINARY on Windows
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>
11 years agoMerge git://git.kernel.org/pub/scm/gitk/gitk
Junio 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)

11 years agogitk: Work around leftover temporary save file
Pat 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>
11 years agoMerge 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.

11 years agopush: Correctly initialize nonfastforward in transport_push.
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>
11 years agoTag GIT_VERSION when Git is built with MSVC
Marius 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>
11 years agoAdd scripts to generate projects for other buildsystems (MSVC vcproj, QMake)
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>
11 years agoAdd README for MSVC build
Marius 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>
11 years agoAdd MSVC to Makefile
Marius 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>
11 years agoDefine strncasecmp and ftruncate for MSVC
Marius 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>
11 years agoMake usage of windows.h lean and mean
Marius 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>
11 years agoAdd platform files for porting to MSVC
Frank 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>
11 years agoAdd MinGW header files to build git with MSVC
Frank 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>
11 years agoAdd empty header files for MSVC port
Marius 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>
11 years agoTest 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>
11 years agoFix __stdcall placement and function prototype
Frank 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>
11 years agoSet _O_BINARY as default fmode for both MinGW and MSVC
Marius 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>
11 years agoChange regerror() declaration from K&R style to ANSI C (C89)
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>
11 years agoAdd include guards to compat/win32.h
Marius 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>
11 years agoAvoid declaration after statement
Frank 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>
11 years agopack-objects: remove SP at the end of usage string
Thiago 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>
11 years agoUpdate 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>
11 years agocvs: initialize empty password
Clemens 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>
11 years agoMerge 1.6.4.4 in
Junio 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>
11 years agoGIT 1.6.4.4 v1.6.4.4
Junio 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>
11 years agoMerge branch 'jc/maint-unpack-objects-strict' into maint
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

11 years agoMerge branch 'tf/diff-whitespace-incomplete-line' into maint
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

11 years agoMerge branch 'jk/maint-1.6.3-checkout-unborn' into maint
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

11 years agoMerge branch 'jc/maint-checkout-index-to-prefix' into maint
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

11 years agoMerge 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

11 years agoMerge branch 'rc/maint-http-no-head-pack-check' into maint
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

11 years agohttp.c: avoid freeing an uninitialized pointer
Junio 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>
11 years agoweb--browse: fix Mac OS X GUI detection for 10.6
Heiko 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>
11 years agoremove logical typo in documentation of sample update hook
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>
11 years agoNicolas Pitre has a new email address
Nicolas 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>
11 years agogit-archive: infer output format from filename when unspecified
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>
11 years agocompletion: Replace config --list with --get-regexp
Todd 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>
11 years agogit-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>
11 years agotest local clone by copying
Clemens 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>
11 years agogit-clone doc: typofix
Johannes 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>
11 years agogit-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>
11 years agogit-commit doc: remove duplicated --dry-run description
Junio 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>
11 years agoGIT 1.6.5-rc1 v1.6.5-rc1
Junio 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>
11 years agoImprove --patch option documentation in git-add
Jari 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>
11 years agoMerge 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.

11 years agoMerge 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.

11 years agoMerge 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

11 years agoMerge 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

11 years agoMerge 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

11 years agoquiltimport documentation: --dry-run and -n are synonyms
Junio 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>
11 years agopreserve mtime of local clone
Clemens 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>
11 years agodon't dereference NULL upon fdopen failure
Jim 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>
11 years agouse write_str_in_full helper to avoid literal string lengths
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>
11 years agoMerge 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

11 years agouse write_str_in_full helper to avoid literal string lengths
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>
11 years agowrap 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>
11 years agoMerge 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

11 years agoGIT 1.6.4.3 v1.6.4.3
Junio 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>
11 years agosvn: properly escape arguments for authors-prog
Mark 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>
11 years agoMerge branch 'cb/maint-1.6.3-grep-relative-up' into maint
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

11 years agoMakefile: remove remnant of separate http/https/ftp helpers
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>