gitweb.git
Merge branch 'jn/maint-setup-fix' (early part) into... Junio C Hamano Mon, 16 Aug 2010 02:58:40 +0000 (19:58 -0700)

Merge branch 'jn/maint-setup-fix' (early part) into jn/paginate-fix

* 'jn/maint-setup-fix' (early part):
Revert "rehabilitate 'git index-pack' inside the object store"
setup: do not forget working dir from subdir of gitdir
t4111 (apply): refresh index before applying patches to it
setup: split off get_device_or_die helper
setup: split off a function to handle hitting ceiling in repo search
setup: split off code to handle stumbling upon a repository
setup: split off a function to checks working dir for .git file
setup: split off $GIT_DIR-set case from setup_git_directory_gently
tests: try git apply from subdir of toplevel
t1501 (rev-parse): clarify

config: run setup_git_directory_gently() soonerNguyễn Thái Ngọc Duy Fri, 6 Aug 2010 03:15:09 +0000 (22:15 -0500)

config: run setup_git_directory_gently() sooner

For the pager choice (and the choice to paginate) to reflect the
current repository configuration, the repository needs to be
located first.

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

bundle: run setup_git_directory_gently() soonerNguyễn Thái Ngọc Duy Fri, 6 Aug 2010 03:12:46 +0000 (22:12 -0500)

bundle: run setup_git_directory_gently() sooner

Without this change, “git -p bundle” does not always
respect the repository-local “[core] pager” setting.

It is hard to notice because subcommands other than
“git bundle unbundle” do not produce much output.

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

apply: run setup_git_directory_gently() soonerNguyễn Thái Ngọc Duy Mon, 16 Aug 2010 00:36:12 +0000 (10:36 +1000)

apply: run setup_git_directory_gently() sooner

As v1.7.2~16^2 (2010-07-14) explains, without this change,
“git --paginate apply” can ignore the repository-local
“[core] pager” configuration.

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

grep: run setup_git_directory_gently() soonerNguyễn Thái Ngọc Duy Fri, 6 Aug 2010 03:06:39 +0000 (22:06 -0500)

grep: run setup_git_directory_gently() sooner

git grep already runs a repository search unconditionally,
even when the --no-index option is supplied; running such a
search earlier is not very risky.

Just like with shortlog, without this change, the
“[pager] grep” configuration is not respected at all.

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

shortlog: run setup_git_directory_gently() soonerNguyễn Thái Ngọc Duy Fri, 6 Aug 2010 03:01:37 +0000 (22:01 -0500)

shortlog: run setup_git_directory_gently() sooner

shortlog already runs a repository search unconditionally;
running such a search earlier is not very risky.

Without this change, the “[pager] shortlog” configuration
is not respected at all: “git shortlog” unconditionally paginates.

The tests are a bit slow. Running the full battery like this
for all built-in commands would be counterproductive; the intent is
rather to test shortlog as a representative example command using
..._gently().

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

git wrapper: allow setup_git_directory_gently() be... Nguyễn Thái Ngọc Duy Fri, 6 Aug 2010 02:52:16 +0000 (21:52 -0500)

git wrapper: allow setup_git_directory_gently() be called earlier

In the spirit of v1.4.2-rc3~34^2^2 (Call setup_git_directory() much
earlier, 2006-07-28), let run_builtin() take care of searching for a
repository for built-ins that want to make use of one if present.

So now you can mark your command with RUN_SETUP_GENTLY and use

nongit = !startup_info->have_repository;

in place of

prefix = setup_git_directory_gently(&nongit);

and everything will be the same, except the repository is
discovered a little sooner.

As v1.7.2~16^2 (2010-07-14) explains, this should allow more commands
to robustly use features like "git --paginate" that look at local
configuration before the command is actually run.

This patch sets up the infrastructure. Later patches will teach
particular commands to use it.

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

setup: remember whether repository was foundNguyễn Thái Ngọc Duy Fri, 6 Aug 2010 02:46:33 +0000 (21:46 -0500)

setup: remember whether repository was found

As v1.7.2~16^2 (git --paginate: paginate external commands
again, 2010-07-14) explains, builtins (like git config) that
do not use RUN_SETUP are not finding GIT_DIR set correctly when
it is time to launch the pager from run_builtin(). If they
were to search for a repository sooner, then the outcome of such
early repository accesses would be more predictable and reliable.

The cmd_*() functions learn whether a repository was found through the
*nongit_ok return value from setup_git_directory_gently(). If
run_builtin() is to take care of the repository search itself, that
datum needs to be retrievable from somewhere else. Use the
startup_info struct for this.

As a bonus, this information becomes available to functions such as
git_config() which might want to avoid trying to access a repository
when none is present.

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

git wrapper: introduce startup_info structNguyễn Thái Ngọc Duy Fri, 6 Aug 2010 02:40:35 +0000 (21:40 -0500)

git wrapper: introduce startup_info struct

The startup_info struct will collect information managed by the git
setup code, such as the prefix for relative paths passed on the
command line (i.e., path to the starting cwd from the toplevel of
the work tree) and whether a git repository has been found.

In other words, startup_info is intended to be a collection of global
variables with results that were previously returned from setup
functions. This state is global anyway (since the cwd is), even
if it is not currently tracked that way. Letting these values persist
means there is more flexibility in deciding when to run setup.

For now, the struct is empty.

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

Merge branch 'maint'Junio C Hamano Mon, 9 Aug 2010 20:05:47 +0000 (13:05 -0700)

Merge branch 'maint'

* maint:
gitweb: clarify search results page when no matching commit found
Documentation: add a FILES section for show-ref
Makefile: add missing dependency on http.h
Makefile: add missing dependencies on url.h
Documentation/git-log: Clarify --full-diff
git-rebase: fix typo when parsing --force-rebase
imap-send: Fix sprintf usage
prune: allow --dry-run for -n and --verbose for -v
notes: allow --dry-run for -n and --verbose for -v
Document -B<n>[/<m>], -M<n> and -C<n> variants of -B, -M and -C
Documentation: cite git-am from git-apply
t7003: fix subdirectory-filter test
Allow "check-ref-format --branch" from subdirectory
check-ref-format: handle subcommands in separate functions
pretty-options.txt: match --format's documentation with implementation.

gitweb: clarify search results page when no matching... Jonathan Nieder Sat, 7 Aug 2010 21:56:47 +0000 (16:56 -0500)

gitweb: clarify search results page when no matching commit found

When searching commits for a string that never occurs, the results
page looks something like this:

projects / foo.git / search \o/
summary | ... | tree [commit] search: [ kfjdkas ] [ ]re
first ⋅ prev ⋅ next

Merge branch 'maint'

Foo: a demonstration project

Without a list of hits to compare it to, the header describing the
commit named by the hash parameter (usually HEAD) may itself look
like a hit. Add some text (“No match.”) to replace the empty
list of hits and avoid this confusion.

While at it, remove some nearby dead code, left behind from a
simplification a few years ago (v1.5.4-rc0~276^2~4, 2007-11-01).

Noticed-by: Erick Mattos <erick.mattos@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation: add a FILES section for show-refJonathan Nieder Mon, 9 Aug 2010 01:32:43 +0000 (20:32 -0500)

Documentation: add a FILES section for show-ref

A peek at where the refs are kept might help understanding, even if,
as the DESCRIPTION section suggests, direct access is not part of the
public API.

Balance that out with a pointer to update-ref.

Suggested-by: Geoff Russell <geoffrey.russell@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Makefile: add missing dependency on http.hJonathan Nieder Sun, 8 Aug 2010 21:48:59 +0000 (16:48 -0500)

Makefile: add missing dependency on http.h

v1.7.1-rc0~65^2~2 (http: init and cleanup separately from
http-walker, 2010-03-02) introduced a direct dependency from
http-fetch on the HTTP request library. Declare it.

Detected with "make CHECK_HEADER_DEPENDENCIES=1".

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

Makefile: add missing dependencies on url.hJonathan Nieder Sun, 8 Aug 2010 21:25:11 +0000 (16:25 -0500)

Makefile: add missing dependencies on url.h

v1.7.2-rc0~56^2 and its parent (decode file:// and ssh://
URLs, 2010-05-23) introduced a new url library. Update the
Makefile with the relevant dependencies.

Detected with "make CHECK_HEADER_DEPENDENCIES=1".

Cc: Jeff King <peff@peff.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Documentation/git-log: Clarify --full-diffMichael J Gruber Sun, 8 Aug 2010 15:31:34 +0000 (17:31 +0200)

Documentation/git-log: Clarify --full-diff

The current description gives the impression that "--full-diff" affects
"log -p" only.

Make it clearer that it affects all diff-based output types.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git-rebase: fix typo when parsing --force-rebaseWilly Tarreau Sun, 8 Aug 2010 05:13:32 +0000 (07:13 +0200)

git-rebase: fix typo when parsing --force-rebase

Due to two missing hyphens, The "force" keyword on the command line
would be taken as an alias for the --force-rebase option.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

imap-send: Fix sprintf usageÆvar Arnfjörð Bjarmason Sat, 7 Aug 2010 23:09:45 +0000 (18:09 -0500)

imap-send: Fix sprintf usage

When composing a command for the imap server, imap-send uses a single
nfsnprintf() invocation for brevity instead of dealing separately with
the case when there is a message to be sent and the case when there
isn’t. The unused argument in the second case, while valid, is
confusing for static analyzers and human readers.

v1.6.4-rc0~117 (imap-send: add support for IPv6, 2009-05-25)
mistakenly used %hu as the format for an int “port”, by analogy with
existing usage for the unsigned short “addr.sin_port”.  Use %d
instead.

Noticed with clang.

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

prune: allow --dry-run for -n and --verbose for -vRené Scharfe Fri, 6 Aug 2010 20:28:05 +0000 (22:28 +0200)

prune: allow --dry-run for -n and --verbose for -v

For consistency with other git commands, let git prune accept the long
options --dry-run and --verbose for the respective short ones -n and -v.

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

notes: allow --dry-run for -n and --verbose for -vRené Scharfe Fri, 6 Aug 2010 20:28:09 +0000 (22:28 +0200)

notes: allow --dry-run for -n and --verbose for -v

For consistency with other git commands, let the prune subcommand of
git notes accept the long options --dry-run and --verbose for the
respective short ones -n and -v.

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

Merge branch 'webrick' of git://git.bogomips.org/git-svnJunio C Hamano Mon, 9 Aug 2010 16:46:52 +0000 (09:46 -0700)

Merge branch 'webrick' of git://git.bogomips.org/git-svn

* 'webrick' of git://git.bogomips.org/git-svn:
instaweb: add access+error logging for WEBrick
instaweb: minimize moving parts for WEBrick
instaweb: fix WEBrick server support

Document -B<n>[/<m>], -M<n> and -C<n> variants of ... Matthieu Moy Thu, 5 Aug 2010 16:14:25 +0000 (18:14 +0200)

Document -B<n>[/<m>], -M<n> and -C<n> variants of -B, -M and -C

These options take an optional argument, but this optional argument was
not documented.

Original patch by Matthieu Moy, but documentation for -B mostly copied
from the explanations of Junio C Hamano.

While we're there, fix a typo in a comment in diffcore.h.

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

Documentation: cite git-am from git-applyBrad King Tue, 3 Aug 2010 18:41:50 +0000 (14:41 -0400)

Documentation: cite git-am from git-apply

Users reading git-apply documentation may also be interested in git-am,
especially after receiving an email created with git-format-patch. The
documentation for git-am already references git-apply. Add the reverse.

Signed-off-by: Brad King <brad.king@kitware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t7003: fix subdirectory-filter testThomas Rast Thu, 29 Jul 2010 15:10:22 +0000 (17:10 +0200)

t7003: fix subdirectory-filter test

The test would not fail if the filtering failed to do anything, since
in

test -z "$(git diff HEAD directorymoved:newsubdir)"'

'directorymoved:newsubdir' is not valid, so git-diff fails without
printing anything on stdout. But then the exit status of git-diff is
lost, whereas test -z "" succeeds.

Use 'git diff --exit-code' instead, which does the right thing and has
the added bonus of showing the differences if there are any.

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

Allow "check-ref-format --branch" from subdirectoryJonathan Nieder Fri, 6 Aug 2010 03:39:22 +0000 (22:39 -0500)

Allow "check-ref-format --branch" from subdirectory

check-ref-format --branch requires access to the repository
to resolve refs like @{-1}.

Noticed by Nguyễn Thái Ngọc Duy.

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

check-ref-format: handle subcommands in separate functionsJonathan Nieder Fri, 6 Aug 2010 03:36:07 +0000 (22:36 -0500)

check-ref-format: handle subcommands in separate functions

The code for each subcommand should be easier to read and manipulate
this way.

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

Merge git://git.bogomips.org/git-svnJunio C Hamano Fri, 6 Aug 2010 16:06:20 +0000 (09:06 -0700)

Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
git svn: URL-decode left-hand side of svn refspec

pretty-options.txt: match --format's documentation... Matthieu Moy Thu, 5 Aug 2010 13:08:05 +0000 (15:08 +0200)

pretty-options.txt: match --format's documentation with implementation.

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

instaweb: add access+error logging for WEBrickEric Wong Thu, 5 Aug 2010 08:46:04 +0000 (08:46 +0000)

instaweb: add access+error logging for WEBrick

This allows WEBrick to support all the logging functionality
in a manner consistent with the other web servers.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

instaweb: minimize moving parts for WEBrickEric Wong Thu, 5 Aug 2010 08:35:45 +0000 (08:35 +0000)

instaweb: minimize moving parts for WEBrick

Since there are WEBrick configuration settings (including the
upcoming AccessLog support) that cannot be represented in YAML
and require Ruby anyways, the YAML config file is an unnecessary
layer of complexity.

Additionally, the shell script wrapper to start WEBrick is
unecessary since our generated Ruby script can be made
executable in the same manner with /usr/bin/env.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

instaweb: fix WEBrick server supportEric Wong Wed, 4 Aug 2010 09:51:25 +0000 (09:51 +0000)

instaweb: fix WEBrick server support

This has been broken since commit be5347b ("httpd logs in a
"$httpd_only" subdirectory").

Since WEBrick has no other way of preserving environment
variables needed for gitweb, we create a shell script wrapper
that sets the environment variables as our CGI interpreter
to run gitweb.cgi.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

git svn: URL-decode left-hand side of svn refspecSteven Walter Tue, 3 Aug 2010 23:21:25 +0000 (19:21 -0400)

git svn: URL-decode left-hand side of svn refspec

This change allows git-svn to handle an URL with colons in the path

[ew: rewritten to use uri_decode() function]

Signed-off-by: Eric Wong <normalperson@yhbt.net>

Revert "rehabilitate 'git index-pack' inside the object... Nguyễn Thái Ngọc Duy Sat, 24 Jul 2010 11:30:49 +0000 (06:30 -0500)

Revert "rehabilitate 'git index-pack' inside the object store"

Now setup_git_directory_gently behaves sanely even from subdirs of
.git, so simplify index-pack by no longer protecting against that.

This reverts commit a672ea6ac5a1b876bc7adfe6534b16fa2a32c94b
(excluding tests).

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

setup: do not forget working dir from subdir of gitdirNguyễn Thái Ngọc Duy Sat, 24 Jul 2010 11:29:41 +0000 (06:29 -0500)

setup: do not forget working dir from subdir of gitdir

v1.6.1.3~4^2 (Fix gitdir detection when in subdir of gitdir,
2009-01-16) did not go far enough: when a git directory is
an ancestor of the original working directory, not only
should GIT_DIR be set to point to the .git directory, but
the original working directory should be restored before
carrying out the relevant command.

This way, the effect of running a git command from a subdir
of .git will be the same whether or not GIT_DIR is explicitly
set.

Noticed while investigating v1.6.0.3~1 (rehabilitate 'git
index-pack' inside the object store, 2008-10-20).

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

t4111 (apply): refresh index before applying patches... Jonathan Nieder Fri, 30 Jul 2010 18:31:22 +0000 (13:31 -0500)

t4111 (apply): refresh index before applying patches to it

"git apply", like most plumbing, does not automatically refresh the
index file even if it is only stat-dirty. So unless the two "cp"
commands in reset_preimage() for a given file happen to have the same
time stamp, there will be a spurious

error: sub/dir/file: does not match index

Refresh the index to eliminate this timing dependency. Noticed by
running the test with --valgrind (which slows things down a lot).

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

Merge branch 'maint'Junio C Hamano Tue, 3 Aug 2010 22:20:01 +0000 (15:20 -0700)

Merge branch 'maint'

* maint:
contrib/svn-fe: Add the svn-fe target to .gitignore
contrib/svn-fe: Fix IncludePath
Fix DIFF_QUEUE_CLEAR refactoring
git-gui: fix size and position of window panes on startup
git-gui: mc cannot be used before msgcat has been loaded
git-gui: use textconv filter for diff and blame
git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32
git-gui: fix shortcut creation on cygwin
git-gui: fix PATH environment for mingw development environment
git-gui: fix usage of _gitworktree when creating shortcut for windows
git-gui: fix "Explore Working Copy" for Windows again
git-gui: fix usage of themed widgets variable
git-gui: Handle failure of core.worktree to identify the working directory.
git-gui: check whether systems nice command works or disable it

Merge branch 'gp/pack-refs-remove-empty-dirs'Junio C Hamano Tue, 3 Aug 2010 22:19:02 +0000 (15:19 -0700)

Merge branch 'gp/pack-refs-remove-empty-dirs'

* gp/pack-refs-remove-empty-dirs:
pack-refs: remove newly empty directories

Merge branch 'sv/maint-diff-q-clear-fix' into maintJunio C Hamano Tue, 3 Aug 2010 22:17:34 +0000 (15:17 -0700)

Merge branch 'sv/maint-diff-q-clear-fix' into maint

* sv/maint-diff-q-clear-fix:
Fix DIFF_QUEUE_CLEAR refactoring

Merge branch 'rr/svn-fe' into maintJunio C Hamano Tue, 3 Aug 2010 22:17:11 +0000 (15:17 -0700)

Merge branch 'rr/svn-fe' into maint

* rr/svn-fe:
contrib/svn-fe: Add the svn-fe target to .gitignore
contrib/svn-fe: Fix IncludePath

Merge branch 'pt/git-gui' into maintJunio C Hamano Tue, 3 Aug 2010 22:16:38 +0000 (15:16 -0700)

Merge branch 'pt/git-gui' into maint

* pt/git-gui:
git-gui: fix size and position of window panes on startup
git-gui: mc cannot be used before msgcat has been loaded
git-gui: use textconv filter for diff and blame
git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32
git-gui: fix shortcut creation on cygwin
git-gui: fix PATH environment for mingw development environment
git-gui: fix usage of _gitworktree when creating shortcut for windows
git-gui: fix "Explore Working Copy" for Windows again
git-gui: fix usage of themed widgets variable
git-gui: Handle failure of core.worktree to identify the working directory.
git-gui: check whether systems nice command works or disable it

contrib/svn-fe: Add the svn-fe target to .gitignoreRamkumar Ramachandra Thu, 29 Jul 2010 05:36:20 +0000 (11:06 +0530)

contrib/svn-fe: Add the svn-fe target to .gitignore

Add the svn-fe target to .gitignroe.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

contrib/svn-fe: Fix IncludePathRamkumar Ramachandra Thu, 29 Jul 2010 05:36:19 +0000 (11:06 +0530)

contrib/svn-fe: Fix IncludePath

Include the path "../../vcs-svn" while compiling it in the Makefile
and change svn-fe.c to include svndump.h.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://git.bogomips.org/git-svnJunio C Hamano Mon, 2 Aug 2010 22:38:55 +0000 (15:38 -0700)

Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
git svn: fix dcommit to work with touched files
git svn: add an option to recode pathnames

upload-pack: Improve error message when bad ref requestedElijah Newren Sat, 31 Jul 2010 20:11:46 +0000 (14:11 -0600)

upload-pack: Improve error message when bad ref requested

When printing an error message saying a ref was requested that we do not
have, only print that ref, rather than the ref and everything sent to us
on the same packet line (e.g. protocol support specifications).

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Document git-instaweb start/stop/restartJared Hance Mon, 2 Aug 2010 18:20:38 +0000 (14:20 -0400)

Document git-instaweb start/stop/restart

The flags --start, --stop, and --restart can be used without the "--".
Document this feature.

Signed-off-by: Jared Hance <jaredhance@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

gitweb: Fix typo in run() subroutineJakub Narebski Mon, 2 Aug 2010 20:21:47 +0000 (22:21 +0200)

gitweb: Fix typo in run() subroutine

Run $post_dispatch_hook->() not $pre_dispatch_hook->() after each
request.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

git svn: fix dcommit to work with touched filesDavid D. Kilzer Mon, 2 Aug 2010 19:58:19 +0000 (12:58 -0700)

git svn: fix dcommit to work with touched files

The dcommit command fails if an otherwise unmodified file has
been touched in the working directory:

Cannot dcommit with a dirty index. Commit your changes
first, or stash them with `git stash'.

This happens because "git diff-index" reports a difference
between the index and the filesystem:

:100644 100644 d00491...... 000000...... M file

The fix is to run "git update-index --refresh" before
"git diff-index" as is done in git-rebase and
git-rebase--interactive before "git diff-files".

This changes dcommit to display a list of modified files before
exiting.

Also add a similar test case for "git svn rebase".

[ew: rearranged commit message subject]

Signed-off-by: David D. Kilzer <ddkilzer@kilzer.net>
Acked-by: Eric Wong <normalperson@yhbt.net>

ls-files: learn a debugging dump formatThomas Rast Fri, 30 Jul 2010 22:35:59 +0000 (00:35 +0200)

ls-files: learn a debugging dump format

Teach git-ls-files a new option --debug that just tacks all available
data from the cache onto each file's line.

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

Merge branch 'maint'Junio C Hamano Mon, 2 Aug 2010 19:02:16 +0000 (12:02 -0700)

Merge branch 'maint'

* maint:
test-lib: Remove 3 year old no-op --no-python option
test-lib: Ignore --quiet under a TAP harness
Documentation/rev-parse: quoting is required with --parseopt
Documentation: reporting bugs
Fix git rebase --continue to work with touched files
Document ls-files -t as semi-obsolete.

Merge branch 'ab/tap' into maintJunio C Hamano Mon, 2 Aug 2010 18:53:58 +0000 (11:53 -0700)

Merge branch 'ab/tap' into maint

* ab/tap:
test-lib: Remove 3 year old no-op --no-python option
test-lib: Ignore --quiet under a TAP harness

test-lib: Remove 3 year old no-op --no-python optionÆvar Arnfjörð Bjarmason Sat, 31 Jul 2010 16:49:53 +0000 (16:49 +0000)

test-lib: Remove 3 year old no-op --no-python option

The --no-python option was added to test-lib.sh by Johannes Schindelin
in early 2006 in abb7c7b3. It was later turned into a no-op by Junio C
Hamano in 7cdbff14 the same year.

Over three years is long enough before removing this old wart which
was retained for backwards compatibility. Our tests have been using
NO_PYTHON and "test_have_prereq PYTHON" for a long time now.

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

test-lib: Ignore --quiet under a TAP harnessÆvar Arnfjörð Bjarmason Sat, 31 Jul 2010 16:40:05 +0000 (16:40 +0000)

test-lib: Ignore --quiet under a TAP harness

Running the tests with --quiet under a TAP harness will always fail,
since a TAP harness always needs actual test output to go along with
the plan that's being emitted.

Change the test-lib.sh to ignore the --quiet option under
HARNESS_ACTIVE to work around this. Then users that have --quiet in
their GIT_TEST_OPTS can run tests under prove(1) without everything
breaking.

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

builtin/push.c: remove useless temporary variableJared Hance Sat, 31 Jul 2010 12:54:55 +0000 (08:54 -0400)

builtin/push.c: remove useless temporary variable

Creating a variable nr here to use throughout the function only to change
refspec_nr to nr at the end, having not used refspec_nr the entire time,
is rather pointless. Instead, simply increment refspec_nr.

While at it, use ALLOC_GROW() instead of xrealloc().

Signed-off-by: Jared Hance <jaredhance@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge git://repo.or.cz/git-gui into pt/git-guiJunio C Hamano Mon, 2 Aug 2010 16:28:30 +0000 (09:28 -0700)

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

* git://repo.or.cz/git-gui:
git-gui: fix size and position of window panes on startup
git-gui: mc cannot be used before msgcat has been loaded
git-gui: use textconv filter for diff and blame
git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32
git-gui: fix shortcut creation on cygwin
git-gui: fix PATH environment for mingw development environment
git-gui: fix usage of _gitworktree when creating shortcut for windows
git-gui: fix "Explore Working Copy" for Windows again
git-gui: fix usage of themed widgets variable
git-gui: Handle failure of core.worktree to identify the working directory.
git-gui: check whether systems nice command works or disable it

Documentation/rev-parse: quoting is required with ... Thomas Rast Fri, 30 Jul 2010 15:01:50 +0000 (17:01 +0200)

Documentation/rev-parse: quoting is required with --parseopt

When calling rev-parse --parseopt, as in the (now fixed) documented
example

eval "$(echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?)"

the outermost quoting is required, as otherwise all runs of arbitrary
whitespace inside the resulting 'set -- ...' call would be collapsed
into a single space.

This was exposed as a result of our new use of cat <<\EOF since
47e9cd2 (parseopt: wrap rev-parse --parseopt usage for eval
consumption, 2010-06-12), but has always been a problem when handling
arguments containing e.g. newlines.

Point this out in the documentation, and in particular correct the
example that did not have the quotes.

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

Documentation: reporting bugsJunio C Hamano Mon, 2 Aug 2010 16:07:39 +0000 (09:07 -0700)

Documentation: reporting bugs

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

Fix DIFF_QUEUE_CLEAR refactoringJunio C Hamano Mon, 2 Aug 2010 15:29:42 +0000 (08:29 -0700)

Fix DIFF_QUEUE_CLEAR refactoring

It introduced a macro to reduce repeated assignments to three fields,
but an unrelated and incorrect change snuck in by mistake, which broke
commands like "git diff-files -p --submodule".

Noticed by Sven Verdoolaege.

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

git-gui: fix size and position of window panes on startupPat Thoyts Mon, 2 Aug 2010 12:42:45 +0000 (13:42 +0100)

git-gui: fix size and position of window panes on startup

The themed panedwindow needs to have the sash position set after the
widget has been mapped therefore apply this setting in the Map event
binding. To avoid visible redraws as the application is constructed
the main window should be withdrawn until all the widgets have been added

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: mc cannot be used before msgcat has been loadedPat Thoyts Mon, 2 Aug 2010 11:13:05 +0000 (12:13 +0100)

git-gui: mc cannot be used before msgcat has been loaded

If someone attempts to use an older version that Tk 8.4 the error was
masked by the lack of a mc command.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: use textconv filter for diff and blameClément Poulain Fri, 30 Jul 2010 08:11:02 +0000 (09:11 +0100)

git-gui: use textconv filter for diff and blame

Create a checkbox "Use Textconv For Diffs and Blame" in git-gui options.
If checked and if the driver for the concerned file exists, git-gui calls diff
and blame with --textconv option

Signed-off-by: Clément Poulain <clement.poulain@ensimag.imag.fr>
Signed-off-by: Diane Gasselin <diane.gasselin@ensimag.imag.fr>
Signed-off-by: Axel Bonnet <axel.bonnet@ensimag.imag.fr>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: Avoid using the <<Copy>> binding as a menu... Pat Thoyts Mon, 8 Mar 2010 12:43:27 +0000 (12:43 +0000)

git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32

On Windows the Control-C binding is used to copy and is mapped to the Tk
virtual event <<Copy>>. In the initial git-gui dialog this is also bound
as an accelerator for the Clone menu item. The effect is that both bindings
run, copying the text but resetting the clone page or switching to the clone
page when the user tries to copy text from one of the entry fields.
This patch avoids this by using Control-L instead for Windows only.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: fix shortcut creation on cygwinHeiko Voigt Sat, 27 Feb 2010 20:48:48 +0000 (21:48 +0100)

git-gui: fix shortcut creation on cygwin

When the user tried to create a desktop icon with git gui on cygwin
wscript was complaining about an unknown option and displaying the
non-native path as such.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: fix PATH environment for mingw development... Heiko Voigt Sat, 27 Feb 2010 20:47:42 +0000 (21:47 +0100)

git-gui: fix PATH environment for mingw development environment

When creating a desktop shortcut from the gui the shortcut directly
starts wish with the git-gui script. In the msysgit development
environment some dll's reside in the mingw/bin directory which causes
that git can not start because libiconv2.dll is not found.

When using such a link the error is even more cryptic stating:
"child killed: unknown signal"

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: fix usage of _gitworktree when creating shortc... Heiko Voigt Sat, 27 Feb 2010 20:45:51 +0000 (21:45 +0100)

git-gui: fix usage of _gitworktree when creating shortcut for windows

This fixes msysGit issue 425.

Signed-off-by: Heiko Voigt <heiko.voigt@mahr.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git-gui: fix "Explore Working Copy" for Windows againMarkus Heidelberg Thu, 25 Feb 2010 00:14:22 +0000 (01:14 +0100)

git-gui: fix "Explore Working Copy" for Windows again

It has already been fixed in commit 454efb47 (git-gui (Win): make
"Explore Working Copy" more robust, 2009-04-01), but has been broken in
commit 21985a11 (git-gui: handle non-standard worktree locations,
2010-01-23) by accidentally replacing too much with a new variable.

The problem can be reproduced when starting git-gui from within a
subdirectory. The solution is to convert the path name, explorer.exe is
invoked with, to a platform native name.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

git svn: add an option to recode pathnamesDmitry Statyvka Fri, 30 Jul 2010 02:30:13 +0000 (04:30 +0200)

git svn: add an option to recode pathnames

Introduce a new option 'svn.pathnameencoding' that instructs git svn to
recode pathnames to a given encoding. It can be used by windows users
and by those who work in non-utf8 locales to avoid corrupted file names
with non-ascii characters.

[rp: renamed the option and added manpage documentation]

Signed-off-by: Dmitry Statyvka <dstatyvka@tmsoft-ltd.kiev.ua>
Signed-off-by: Robert Pollak <robert.pollak@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>

gitweb: move highlight config out of guess_file_syntax()Alejandro R. Sedeño Wed, 28 Jul 2010 18:40:53 +0000 (14:40 -0400)

gitweb: move highlight config out of guess_file_syntax()

Move highlight config out of guess_file_syntax() so that it can be
extended/overridden by system/user configuration.

Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix git rebase --continue to work with touched filesDavid D. Kilzer Wed, 28 Jul 2010 08:20:16 +0000 (01:20 -0700)

Fix git rebase --continue to work with touched files

When performing a non-interactive rebase, sometimes
"git rebase --continue" will fail if an unmodified file is
touched in the working directory:

You must edit all merge conflicts and then
mark them as resolved using git add

This is caused by "git diff-files" reporting a difference
between the index and the filesystem:

:100644 100644 d00491...... 000000...... M file

The fix is to run "git update-index --refresh" before
"git diff-files" as is done in git-rebase--interactive.

Signed-off-by: David D. Kilzer <ddkilzer@kilzer.net>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Document ls-files -t as semi-obsolete.Matthieu Moy Wed, 28 Jul 2010 07:24:27 +0000 (09:24 +0200)

Document ls-files -t as semi-obsolete.

The behavior of "git ls-files -t" is very misleading (see
http://thread.gmane.org/gmane.comp.version-control.git/126516 and
http://thread.gmane.org/gmane.comp.version-control.git/144394/focus=144397
for examples of mislead users) and badly documented, hence we point the
users to superior alternatives.

The feature is marked as "semi-obsolete" but not "scheduled for removal"
since it's a plumbing command, scripts might use it, and Git testsuite
already uses it to test the state of the index.

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

SubmittingPatches: Cite the 50 char subject limitÆvar Arnfjörð Bjarmason Wed, 28 Jul 2010 14:11:25 +0000 (14:11 +0000)

SubmittingPatches: Cite the 50 char subject limit

Change the SubmittingPatches recommendations to mention the 50
character soft limit on patch subject lines. 50 characters is the soft
limit mentioned in git-commit(1) and gittutorial(7), it's also the
point at which Gitweb, GitHub and various other Git front ends start
abbreviating the commit message.

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

SubmittingPatches: Clarify the Signed-off-by rulesÆvar Arnfjörð Bjarmason Wed, 28 Jul 2010 14:12:59 +0000 (14:12 +0000)

SubmittingPatches: Clarify the Signed-off-by rules

The wording of the Signed-off-by rules could be read as stating that
S-O-B should only be added when the submitter considered the patch
ready for inclusion in git.git.

We also want Signed-off-by to be used for e.g. RFC patches, in case
someone wants to dig an old patch out of the archive and improve
it. Change the wording to recommend a Signed-off-by for all submitted
patches.

The problem with the wording came up in the "[PATCH/RFC] Hacky version
of a glob() driven config include" thread[1]. Bert Wesarg suggested[2]
that it be removed to avoid confusion, which this change implements.

1. <1273180440-8641-1-git-send-email-avarab@gmail.com>
2. <AANLkTimziTKL13VKIOcaS1TX1F_xvTVjH8Q398Yx36Us@mail.gmail.com>

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

upload-pack: remove unused "create_full_pack" code... Nguyễn Thái Ngọc Duy Wed, 28 Jul 2010 09:39:10 +0000 (16:39 +0700)

upload-pack: remove unused "create_full_pack" code in do_rev_list

A bit of history in chronological order, the newest at bottom:

- 80ccaa7 (upload-pack: Move the revision walker into a separate function.)
do_rev_list was introduced with create_full_pack argument

- 21edd3f (upload-pack: Run rev-list in an asynchronous function.)
do_rev_list was now called by start_async, create_full_pack was
passed by rev_list.data

- f0cea83 (Shift object enumeration out of upload-pack)
rev_list.data was now zero permanently. Creating full pack was
done by passing --all to pack-objects

- ae6a560 (run-command: support custom fd-set in async)
rev_list.data = 0 was found out redudant and got rid of.

Get rid of the code as well, for less headache while reading do_rev_list.

[jc: noticed by Elijah Newren]

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

Sync with 1.7.2.1Junio C Hamano Tue, 27 Jul 2010 23:54:06 +0000 (16:54 -0700)

Sync with 1.7.2.1

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

Git 1.7.2.1 v1.7.2.1Junio C Hamano Tue, 27 Jul 2010 23:42:47 +0000 (16:42 -0700)

Git 1.7.2.1

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

Sync with 1.7.1.2Junio C Hamano Tue, 27 Jul 2010 23:40:15 +0000 (16:40 -0700)

Sync with 1.7.1.2

Git 1.7.1.2 v1.7.1.2Junio C Hamano Tue, 27 Jul 2010 22:04:49 +0000 (15:04 -0700)

Git 1.7.1.2

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

Sync with 1.7.0 seriesJunio C Hamano Tue, 27 Jul 2010 22:01:36 +0000 (15:01 -0700)

Sync with 1.7.0 series

Git 1.7.0.7 v1.7.0.7Junio C Hamano Tue, 27 Jul 2010 21:07:41 +0000 (14:07 -0700)

Git 1.7.0.7

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

config --get --path: check for unset $HOMEJonathan Nieder Mon, 26 Jul 2010 15:06:51 +0000 (10:06 -0500)

config --get --path: check for unset $HOME

If $HOME is unset (as in some automated build situations),
currently

git config --path path.home "~"
git config --path --get path.home

segfaults. Error out with

Failed to expand user dir in: '~/'

instead.

Reported-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

commit: remove full stop from usage help for -uStephen Boyd Tue, 27 Jul 2010 05:40:32 +0000 (22:40 -0700)

commit: remove full stop from usage help for -u

From api-parse-options.txt:

`description` is a short string to describe the effect of the option.
It shall begin with a lower-case letter and a full stop (`.`) shall be
omitted at the end.

It also makes it less confusing if the argument is 'no.' or 'no'.

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

Clarify help message when no remote is specified in... Matthieu Moy Mon, 26 Jul 2010 16:32:09 +0000 (18:32 +0200)

Clarify help message when no remote is specified in fetch/pull.

The message is especially confusing when "git fetch" is ran from "git
pull", for users not aware of "git fetch". The new message makes it clear
that "fetch" means "fetch new revisions", and gives hint on the solution.

We don't add a advice.* configuration option since this message doesn't
appear in normal use, and shouldn't disturb advanced users.

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

Makefile: add check-docs exception for gitrevisionsThomas Rast Mon, 26 Jul 2010 08:40:58 +0000 (10:40 +0200)

Makefile: add check-docs exception for gitrevisions

The manpage was added in 1ed6f2c (Documentation: gitrevisions,
2010-07-05), but since it does not have a corresponding git command,
it needs an exception for check-docs.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Acked-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Fix 'git' wrapper usage stringThomas Rast Mon, 26 Jul 2010 08:36:24 +0000 (10:36 +0200)

Fix 'git' wrapper usage string

8b1fa77 (Allow passing of configuration parameters in the command
line, 2010-03-26) forgot the closing ']' for the -c option.

While we're there, also rewrap. Instead of folding the last two lines
together, try to highlight that COMMAND is required by starting a line
with it.

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

tests: Ignore the Test::Harness .prove fileÆvar Arnfjörð Bjarmason Fri, 23 Jul 2010 22:58:44 +0000 (22:58 +0000)

tests: Ignore the Test::Harness .prove file

We document how to run prove with the --state option in t/README. This
produces a .prove YAML file in the current directory. Change the t/
gitignore to ignore it, and clean it up on `make clean'.

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

Documentation/git-push: Explain status output in more... Thomas Rast Sat, 24 Jul 2010 16:03:15 +0000 (18:03 +0200)

Documentation/git-push: Explain status output in more detail

Mention the effects of the receive.deny* family of options for the
"remote rejected" case. While there, also split up the explanation
into an easier-to-parse list format.

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

Document receive.denyDeleteCurrentThomas Rast Sat, 24 Jul 2010 16:07:53 +0000 (18:07 +0200)

Document receive.denyDeleteCurrent

This option was introduced by 747ca24 (receive-pack:
receive.denyDeleteCurrent, 2009-02-08) but never documented.

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

Cast execl*() NULL sentinels to (char *)Thomas Rast Sat, 24 Jul 2010 15:20:23 +0000 (17:20 +0200)

Cast execl*() NULL sentinels to (char *)

The NULL sentinel argument to the execl*() family of calls must be
cast to (char *), as otherwise:

- platforms where NULL is just 0 (not (void *)) would pass an int

- (admittedly esoteric) platforms where NULL is (void *)0 and (void *)
and (char *) have different memory layouts would pass the wrong kind
of pointer

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

git-read-tree.txt: acknowledge the directory matching... Nguyễn Thái Ngọc Duy Sun, 25 Jul 2010 09:30:32 +0000 (16:30 +0700)

git-read-tree.txt: acknowledge the directory matching bug in sparse checkout

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

INSTALL: configure /etc/xml/catalog to build docs on... Jon Seymour Sun, 25 Jul 2010 03:57:35 +0000 (13:57 +1000)

INSTALL: configure /etc/xml/catalog to build docs on Cygwin

Without additional configuration steps, the documentation build on Cygwin
fails because the XML catalog is missing required rewrites for certain
docbook resources.

This patch documents the required configuration.

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

t3700-add: fix dependence on stdout and stderr bufferingJohannes Sixt Thu, 22 Jul 2010 08:13:33 +0000 (10:13 +0200)

t3700-add: fix dependence on stdout and stderr buffering

One test case checked the stdout and stderr of 'git add' by constructing a
single 'expect' file that contained both streams. But when the command
runs, the order of stdout and stderr output is unpredictable because it
depends on how the streams are buffered. At least on Windows, the buffering
is different from what the test case expected. Hence, check the two output
texts separately.

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

git-rebase--interactive.sh: use printf instead of echo... Brandon Casey Thu, 22 Jul 2010 19:15:11 +0000 (14:15 -0500)

git-rebase--interactive.sh: use printf instead of echo to print commit message

On systems with an echo which defaults to the XSI-conformant behavior
(Solaris, or others using Ksh), echo will interpret certain backslashed
characters as control sequences. This can cause a problem for interactive
rebase when it is used to rebase commits whose commit "subject" (the first
line) contains any of these backslashed sequences. In this case, echo will
substitute the control sequence for the backslashed characters and either
the rebased commit message will differ from the original, or the rebase
process will fail. Neither is desirable.

So work around this issue by replacing the echo statements used to print
out portions of the commit message, with printf.

Also, add a test to test for this breakage.

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

Add a google-chrome option for web--browseNathan W. Panike Thu, 22 Jul 2010 16:58:20 +0000 (11:58 -0500)

Add a google-chrome option for web--browse

On some systems, the chrome browser is named google-chrome. We add
support for this case.

Signed-off-by: Nathan W. Panike <nathan.panike@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

Merge branch 'maint-1.7.1' into maintJunio C Hamano Mon, 26 Jul 2010 06:13:41 +0000 (23:13 -0700)

Merge branch 'maint-1.7.1' into maint

* maint-1.7.1:
request-pull.txt: Document -p option
Check size of path buffer before writing into it

setup: split off get_device_or_die helperJonathan Nieder Sat, 24 Jul 2010 11:27:58 +0000 (06:27 -0500)

setup: split off get_device_or_die helper

This does not eliminate any code, but it skims some off of
the main loop of setup_git_directory_gently so that can be
understood more easily.

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

setup: split off a function to handle hitting ceiling... Jonathan Nieder Sat, 24 Jul 2010 11:26:41 +0000 (06:26 -0500)

setup: split off a function to handle hitting ceiling in repo search

Perhaps some day, other similar conditions (hitting the mount point,
hitting the root of the file system) will share this code.

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

setup: split off code to handle stumbling upon a repositoryJonathan Nieder Sat, 24 Jul 2010 11:25:32 +0000 (06:25 -0500)

setup: split off code to handle stumbling upon a repository

If a repository is found as an ancestor of the original
working directory, it is assumed by default to be bare.
Handle this case with its own function.

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

setup: split off a function to checks working dir for... Jonathan Nieder Sat, 24 Jul 2010 11:20:15 +0000 (06:20 -0500)

setup: split off a function to checks working dir for .git file

The repository discovery procedure looks something like this:

while (same filesystem) {
check .git in working dir
check .
chdir(..)
}

Add a function for the first step to make the actual code look a bit
closer to that pseudocode.

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

setup: split off $GIT_DIR-set case from setup_git_direc... Jonathan Nieder Sat, 24 Jul 2010 11:19:44 +0000 (06:19 -0500)

setup: split off $GIT_DIR-set case from setup_git_directory_gently

If $GIT_DIR is set, setup_git_directory_gently does not have
to do any repository discovery at all. Split off a function
for the validation it still does do, in the hope that this will
make setup_git_directory_gently proper less daunting to read.

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

tests: try git apply from subdir of toplevelJonathan Nieder Sat, 24 Jul 2010 11:18:38 +0000 (06:18 -0500)

tests: try git apply from subdir of toplevel

Make sure git apply can apply patches with paths relative to the
toplevel of a work tree, a subdirectory, or within the repository
metadata directory.

Relative paths are broken for most commands when run from a
subdirectory of $GIT_DIR, "git apply" being no exception. The other
tests are meant to keep the demonstration of that company.

Based on a test by Duy.

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

t1501 (rev-parse): clarifyJonathan Nieder Sat, 24 Jul 2010 11:16:35 +0000 (06:16 -0500)

t1501 (rev-parse): clarify

Tweak the style of these tests to make them easier to read.

- Replace test_rev_parse() which produced multiple mini-tests with a
simple function that can be used with the test body.

- Combine multiple mini-tests into larger chunks that are easier
to read.

- Do not hard-code object IDs. We may use a different hash some day.

- Use test_cmp in preference to the test builtin. The former
produces useful output when tests are run with the "-v" option.

- Guard all test code with test_expect_success. This makes it much
easier to visually scan through the test and find code of interest.

- Use subshells to make the current directory easier to track.
Outside of any subshell, the current directory is always
$TEST_DIRECTORY now.

Also add a new test demonstrating a possible bug noticed in the
process of cleaning up: “git rev-parse --show-prefix” leaves out
the trailing newline after an empty prefix when cwd is at the
toplevel of the work tree.

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

Merge branch 'maint-1.7.0' into maint-1.7.1Junio C Hamano Mon, 26 Jul 2010 04:53:27 +0000 (21:53 -0700)

Merge branch 'maint-1.7.0' into maint-1.7.1

* maint-1.7.0:
request-pull.txt: Document -p option
Check size of path buffer before writing into it