gitweb.git
Docs: send-email's usage text and man page mention... Michael Witten Tue, 30 Sep 2008 12:58:24 +0000 (07:58 -0500)

Docs: send-email's usage text and man page mention same options

Specifically, boolean options are now listed in the form

--[no-]option

and both forms of documentation now consistently use

--[no-]signed-off-by-cc

Signed-off-by: Michael Witten <mfwitten@mit.edu>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

gitweb: Sort the list of forks on the summary page... Mike Ralphson Thu, 25 Sep 2008 16:48:48 +0000 (18:48 +0200)

gitweb: Sort the list of forks on the summary page by age

The list of forks on the summary page was unsorted, this just makes
them sorted by age, which seems a fair way to decide which forks are
shown before the list size cut-off (15) kicks in.

s/noheader/no_header was just to make it obvious what the parameter
affects, so all the code can be found with one grep.

pb: As suggested by Mike, I have augmented this by an additional patch
that refactors the sorting logic so that it is not tied to printing
the headers.

Signed-off-by: Mike Ralphson <mike@abacus.co.uk>
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

gitweb: Clean-up sorting of project listPetr Baudis Thu, 25 Sep 2008 16:48:37 +0000 (18:48 +0200)

gitweb: Clean-up sorting of project list

This decouples the sorting of project list and printing the column
headers, so that the project list can be easily sorted even when
the headers are not shown.

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

Merge branch 'maint'Shawn O. Pearce Wed, 1 Oct 2008 15:56:36 +0000 (08:56 -0700)

Merge branch 'maint'

* maint:
Improve git-log documentation wrt file filters
Documentation: remove '\' in front of short options

Improve git-log documentation wrt file filtersmartin f. krafft Tue, 30 Sep 2008 19:57:50 +0000 (21:57 +0200)

Improve git-log documentation wrt file filters

The need for "--" in the git-log synopsis was previously unclear and
confusing. This patch makes it a little clearer.

Thanks to hyy <yiyihu@gmail.com> for his help.

[sp: Changed -- to \-- per prior commit e1ccf53.]

Signed-off-by: martin f. krafft <madduck@madduck.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Documentation: remove '\' in front of short optionsSZEDER Gábor Tue, 30 Sep 2008 17:27:10 +0000 (19:27 +0200)

Documentation: remove '\' in front of short options

... because they show up in the man and html outputs.

This escaping is only needed for double dashes to be compatible with
older asciidoc versions; see commit e1ccf53 ([PATCH] Escape asciidoc's
built-in em-dash replacement, 2005-09-12).

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

rebase: Support preserving merges in non-interactive... Andreas Ericsson Mon, 29 Sep 2008 20:28:57 +0000 (22:28 +0200)

rebase: Support preserving merges in non-interactive mode

As a result of implementation details, 'git rebase' could
previously only preserve merges in interactive mode. That
limitation was hard for users to understand and awkward to
explain.

This patch works around it by running the interactive rebase
helper git-rebase--interactive with GIT_EDITOR set to ':'
when the user passes "-p" but not "-i" to the rebase command.
The effect is that the interactive rebase helper is used but
the user never sees an editor.

The test-case included in this patch was originally written
by Stephen Habermann <stephen@exigencecorp.com>, but has
been extensively modified since its creation.

Signed-off-by: Andreas Ericsson <ae@op5.se>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git commit: Reformat output somewhatAndreas Ericsson Tue, 30 Sep 2008 09:52:50 +0000 (11:52 +0200)

git commit: Reformat output somewhat

Previously, we used to print something along the lines of

Created commit abc9056 on master: Snib the sprock

but that output was sometimes confusing, as many projects use
the "subsystem: message" style of commit subjects (just like
this commit message does). When such improvements are done on
topic-branches, it's not uncommon to name the topic-branch the
same as the subsystem, leading to output like this:

Created commit abc9056 on i386: i386: Snib the sprock

which doesn't look very nice and can be highly confusing.
This patch alters the format so that the noise-word "commit"
is dropped except when it makes the output read better and
the commit subject is put inside parentheses. We also
emphasize the detached case so that users do not overlook it
in case the commit subject is long enough to extend to the
next line. The end result looks thusly:

normal case
Created abc9056 (i386: Snib the sprock) on i386

detached head
Created DETACHED commit abc9056 (i386: Snib the sprock)

While we're at it, we rename "initial commit" to "root-commit"
to align it with the argument to 'git log', producing this:

initial commit
Created root-commit abc9056 (i386: Snib the sprock) on i386

Documentation/gittutorial-2.txt is updated accordingly so that
new users recognize what they're looking at.

Signed-off-by: Andreas Ericsson <ae@op5.se>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

cygwin: Use native Win32 API for statDmitry Potapov Tue, 30 Sep 2008 13:53:47 +0000 (17:53 +0400)

cygwin: Use native Win32 API for stat

lstat/stat functions in Cygwin are very slow, because they try to emulate
some *nix things that Git does not actually need. This patch adds Win32
specific implementation of these functions for Cygwin.

This implementation handles most situation directly but in some rare cases
it falls back on the implementation provided for Cygwin. This is necessary
for two reasons:

- Cygwin has its own file hierarchy, so absolute paths used in Cygwin is
not suitable to be used Win32 API. cygwin_conv_to_win32_path can not be
used because it automatically dereference Cygwin symbol links, also it
causes extra syscall. Fortunately Git rarely use absolute paths, so we
always use Cygwin implementation for absolute paths.

- Support of symbol links. Cygwin stores symbol links as ordinary using
one of two possible formats. Therefore, the fast implementation falls
back to Cygwin functions if it detects potential use of symbol links.

The speed of this implementation should be the same as mingw_lstat for
common cases, but it is considerable slower when the specified file name
does not exist.

Despite all efforts to make the fast implementation as robust as possible,
it may not work well for some very rare situations. I am aware only one
situation: use Cygwin mount to bind unrelated paths inside repository
together. Therefore, the core.ignoreCygwinFSTricks configuration option is
provided, which controls whether native or Cygwin version of stat is used.

Signed-off-by: Dmitry Potapov <dpotapov@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

mingw: move common functionality to win32.hDmitry Potapov Sat, 27 Sep 2008 08:43:01 +0000 (12:43 +0400)

mingw: move common functionality to win32.h

Some small Win32 specific functions will be shared by MinGW and
Cygwin compatibility layer. Place them into a separate header.

Signed-off-by: Dmitry Potapov <dpotapov@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

add have_git_dir() functionDmitry Potapov Sat, 27 Sep 2008 08:41:50 +0000 (12:41 +0400)

add have_git_dir() function

This function is used to learn whether git_dir is already set up or not.
It is necessary, because we want to read configuration in compat/cygwin.c

Signed-off-by: Dmitry Potapov <dpotapov@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

make prune report removed objects on -vMichael J Gruber Mon, 29 Sep 2008 16:49:52 +0000 (18:49 +0200)

make prune report removed objects on -v

This adds an option "-v" which makes "git prune" more verbose:
It outputs all removed objects while removing them.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge branch 'maint'Shawn O. Pearce Tue, 30 Sep 2008 21:14:09 +0000 (14:14 -0700)

Merge branch 'maint'

* maint:
git-svn: call 'fatal' correctly in set-tree
Replace svn.foo.org with svn.example.com in git-svn docs (RFC 2606)
t0024: add executable permission

git-svn: call 'fatal' correctly in set-treeLuc Heinrich Mon, 29 Sep 2008 13:58:18 +0000 (15:58 +0200)

git-svn: call 'fatal' correctly in set-tree

When doing a set-tree and there is no revision to commit to, the following unrelated error message is displayed: "Undefined subroutine &Git::SVN::fatal called at /opt/local/libexec/git-core/git-svn line 2575." The following patch fixes the problem and allows the real error message to be shown.

Signed-off-by: Luc Heinrich <luc@honk-honk.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Replace svn.foo.org with svn.example.com in git-svn... Michael Prokop Mon, 29 Sep 2008 23:01:34 +0000 (01:01 +0200)

Replace svn.foo.org with svn.example.com in git-svn docs (RFC 2606)

foo.org is an existing domain, use RFC 2606 complying example.com instead
as used in other docs as well.

Signed-off-by: Michael Prokop <mika@grml.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

diff.c: remove duplicate bibtex pattern introduced... Brandon Casey Mon, 29 Sep 2008 21:52:01 +0000 (16:52 -0500)

diff.c: remove duplicate bibtex pattern introduced by merge 92bb9785

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

Use "git_config_string" to simplify "builtin-gc.c"... David Bryson Tue, 30 Sep 2008 20:28:58 +0000 (13:28 -0700)

Use "git_config_string" to simplify "builtin-gc.c" code where "prune_expire" is set

Signed-off-by: David Bryson <david@statichacks.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Fix fetching from remotes when adding themPetr Baudis Wed, 24 Sep 2008 23:39:13 +0000 (01:39 +0200)

git-gui: Fix fetching from remotes when adding them

As you can see, this particular code branch did not see a lot
of testing for some time now. Apologies for that.

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

git-gui: Fix removing non-pushable remotesPetr Baudis Wed, 24 Sep 2008 23:32:47 +0000 (01:32 +0200)

git-gui: Fix removing non-pushable remotes

Git-gui does not add most of the remotes to the 'push' menu
since they are missing the "Push" line in their remotespec.
In that case, removing the remote would end up with an error.

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

git-gui: Make input boxes in init/clone/open dialogs... Petr Baudis Wed, 24 Sep 2008 22:12:51 +0000 (00:12 +0200)

git-gui: Make input boxes in init/clone/open dialogs consistent

Before, the input boxes would not be sunken and would have larger border,
which is inconsistent with the rest of the inputboxes for repository
locations in the git-gui UI.

Signed-off-by: Petr Baudis <petr.baudis@novartis.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Avoid using the term URL when specifying repos... Petr Baudis Wed, 24 Sep 2008 22:12:50 +0000 (00:12 +0200)

git-gui: Avoid using the term URL when specifying repositories

Instead, 'Location' is used to label such inputs; in the Clone dialog,
'Source' and 'Target' are also introduced to further clarify the situation.
The intent is to increase GUI consistency in the case location templates
(upcoming) are used - then, other locators than URL may be used.

Signed-off-by: Petr Baudis <petr.baudis@novartis.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: gui.autoexplore makes explorer to pop up autom... Petr Baudis Wed, 24 Sep 2008 22:07:02 +0000 (00:07 +0200)

git-gui: gui.autoexplore makes explorer to pop up automatically after picking

Especially for Windows users used to work with the Windows Explorer,
it is very useful when after picking a repository (either opening
a local one or initializing/cloning a new one) in the "intro" window,
the explorer view of the working copy pops up along the standard
Git GUI window, so that the users can, well, actually work with
the repository.

Signed-off-by: Petr Baudis <petr.baudis@novartis.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Add Explore Working Copy to the Repository... Petr Baudis Wed, 24 Sep 2008 22:05:53 +0000 (00:05 +0200)

git-gui: Add Explore Working Copy to the Repository menu

Especially when cloning is finished, the Git GUI window pops up,
but there is not really much one can do within it - there needs to be
a way to easily start exploring and working with the new working copy
using the standard system interface: explorer.exe on Windows, open on
MacOS/X and xdg-open as a fallback (all modern Linux desktops).

This might be also a post-clone option instead (possibly opening the window
automagically) but I believe that this might be useful also in other
situations, e.g. you don't have to keep the working copy window around
if you work in multiple repositories.

This operation will not make sense on bare repositories.

Signed-off-by: Petr Baudis <petr.baudis@novartis.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Use git web--browser for web browsingPetr Baudis Wed, 24 Sep 2008 21:57:16 +0000 (23:57 +0200)

git-gui: Use git web--browser for web browsing

This patch removes git-gui specific webbrowser guessing and instead
relies on git web--browser to do the right thing, removing unnecessary
code duplication. New function start_browser encapsulates the browser
execution, for usage from other parts of code. This will also make
git-gui show the documentation menu item even in cases it might not
be able to start up a browser, these cases should be however only
very rare.

Signed-off-by: Petr Baudis <petr.baudis@novartis.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: mkdir -p when initializing new remote repositoryPetr Baudis Wed, 24 Sep 2008 20:44:03 +0000 (22:44 +0200)

git-gui: mkdir -p when initializing new remote repository

This allows the user to create repositories with arbitrary paths
on the server. The downside is that errorneously typed paths are
not caught but instead created remotely; YMMV.

Signed-off-by: Petr Baudis <petr.baudis@novartis.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Add support for removing remotesPetr Baudis Wed, 24 Sep 2008 20:44:02 +0000 (22:44 +0200)

git-gui: Add support for removing remotes

We introduce new submenu Remote -> Remove Remote, allowing to remove
remotes. In the future, we might consider a confirmation popup to avoid
misclicks, but removing a remote is not very lossy operation.

Signed-off-by: Petr Baudis <petr.baudis@novartis.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Add support for adding remotesPetr Baudis Wed, 24 Sep 2008 20:44:01 +0000 (22:44 +0200)

git-gui: Add support for adding remotes

When a remote is being added, it can also be automatically either fetched
or initialized and pushed; this patch adds capability for initializing
of local and ssh repositories. This also of course leaves a lot of space
for further customization features, like individually turning the
initialization phase on/off or tuning attributes of the remote
repository; I consider that out of scope of this patch, however.

Signed-off-by: Petr Baudis <petr.baudis@novartis.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Squash populate_{push,fetch}_menu to populate_... Petr Baudis Wed, 24 Sep 2008 20:44:00 +0000 (22:44 +0200)

git-gui: Squash populate_{push,fetch}_menu to populate_remotes_menu

The meat of the routines is now separated to add_fetch_entry() and
add_push_entry(). This refactoring will allow easy implementation of adding
individual remotes later.

Signed-off-by: Petr Baudis <petr.baudis@novartis.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Clarify the Remote -> Delete... actionPetr Baudis Wed, 24 Sep 2008 20:43:59 +0000 (22:43 +0200)

git-gui: Clarify the Remote -> Delete... action

Currently, it was not really clear what all does this perform. We rename
"Delete..." to "Delete Branch..." (since this does not delete the remote
as a whole) and relabel the window from "Delete Remote Branch" to "Delete
Branch Remotely" (since the action also involves pushing the delete out).

Signed-off-by: Petr Baudis <petr.baudis@novartis.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Remove space from the end of aspell's reply... Johannes Sixt Tue, 30 Sep 2008 06:39:29 +0000 (08:39 +0200)

git-gui: Remove space from the end of aspell's reply before processing

When git gui processes a reply from aspell it explicitly ignores an empty
line. The Windows version of aspell, however, terminates lines with CRLF,
but TCL's 'gets' does not remove CR, hence, a "visibly" empty line was not
actually recognized as empty. With this change we explicitly trim off
whitespace before the line is further processed.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

tests: grep portability fixesJeff King Tue, 30 Sep 2008 08:03:55 +0000 (04:03 -0400)

tests: grep portability fixes

We try to avoid using the "-q" or "-e" options, as they are
largely useless, as explained in aadbe44f.

There is one exception for "-e" here, which is in t7701 used
to produce an "or" of patterns. This can be rewritten as an
egrep pattern.

This patch also removes use of "grep -F" in favor of the
more widely available "fgrep".

[sp: Tested on AIX 5.3 by Mike Ralphson,
Tested on MinGW by Johannes Sixt]

Signed-off-by: Jeff King <peff@peff.net>
Tested-by: Mike Ralphson <mike@abacus.co.uk>
Tested-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Add OS X support to the pre-auto-gc example hookJonathan del Strother Mon, 29 Sep 2008 23:36:28 +0000 (00:36 +0100)

Add OS X support to the pre-auto-gc example hook

Signed-off-by: Jonathan del Strother <jon.delStrother@bestbefore.tv>
Acked-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

t0024: add executable permissionSZEDER Gábor Tue, 30 Sep 2008 13:32:47 +0000 (15:32 +0200)

t0024: add executable permission

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

Correct typos in RelNotes-1.6.1Ralf Wildenhues Mon, 29 Sep 2008 20:30:00 +0000 (22:30 +0200)

Correct typos in RelNotes-1.6.1

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

remove vim syntax highlighting in favor of upstreamSZEDER Gábor Mon, 29 Sep 2008 20:08:14 +0000 (22:08 +0200)

remove vim syntax highlighting in favor of upstream

As of version 7.2, vim ships with its own syntax
highlighting for git commit messages, which is:

1. more comprehensive in splitting up the various
components of the file

2. in accordance with the usual vim behavior for syntax
highlighting (e.g., respecting b:current_syntax)

3. presumably better maintained (I have not been using
what's in git's contrib/ directory for some time in
favor of the upstream version)

Furthermore, vim upsream also provides syntax highlighting
for other git filetypes (gitconfig, rebase, send-email).

This patch gets rid of our local version and just points
interested parties to the upstream version.

The code for auto-detecting filetypes is taken from vim's
runtime/filetype.vim.

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

git-gui: Make Ctrl-T safe to use for conflicting files.Alexander Gavrilov Tue, 30 Sep 2008 08:12:16 +0000 (12:12 +0400)

git-gui: Make Ctrl-T safe to use for conflicting files.

A previous patch added a check for conflict markers, which
is done when the file is about to be staged due to a click
on the icon. However, pressing Ctrl-T still immediately
stages the file without confirmation. This patch fixes it.

The check requires a loaded diff, so staging multiple files
at once won't work if they are unmerged.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Do not automatically stage file after merge... Johannes Sixt Wed, 24 Sep 2008 19:08:01 +0000 (21:08 +0200)

git-gui: Do not automatically stage file after merge tool finishes

If a merge tool was invoked on a conflicted file and the tool completed,
then the conflicted file was staged automatically. However, the fact that
the user closed the merge tool cannot be understood as the unequivocal
sign that the conflict was completely resolved. For example, the user
could have decided to postpone the resolution of the conflict, or could
have accidentally closed the tool. We better leave the file unstaged and
let the user stage it explicitly.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge branch 'bc/master-diff-hunk-header-fix'Shawn O. Pearce Mon, 29 Sep 2008 18:04:20 +0000 (11:04 -0700)

Merge branch 'bc/master-diff-hunk-header-fix'

* bc/master-diff-hunk-header-fix:
Clarify commit error message for unmerged files
Use strchrnul() instead of strchr() plus manual workaround
Use remove_path from dir.c instead of own implementation
Add remove_path: a function to remove as much as possible of a path
git-submodule: Fix "Unable to checkout" for the initial 'update'
Clarify how the user can satisfy stash's 'dirty state' check.
t4018-diff-funcname: test syntax of builtin xfuncname patterns
t4018-diff-funcname: test syntax of builtin xfuncname patterns
make "git remote" report multiple URLs
diff hunk pattern: fix misconverted "\{" tex macro introducers
diff: fix "multiple regexp" semantics to find hunk header comment
diff: use extended regexp to find hunk headers
diff: use extended regexp to find hunk headers
diff.*.xfuncname which uses "extended" regex's for hunk header selection
diff.c: associate a flag with each pattern and use it for compiling regex
diff.c: return pattern entry pointer rather than just the hunk header pattern

Conflicts:
builtin-merge-recursive.c
t/t7201-co.sh
xdiff-interface.h

Merge branch 'maint' into bc/master-diff-hunk-header-fixShawn O. Pearce Mon, 29 Sep 2008 17:52:34 +0000 (10:52 -0700)

Merge branch 'maint' into bc/master-diff-hunk-header-fix

* maint: (41 commits)
Clarify commit error message for unmerged files
Use strchrnul() instead of strchr() plus manual workaround
Use remove_path from dir.c instead of own implementation
Add remove_path: a function to remove as much as possible of a path
git-submodule: Fix "Unable to checkout" for the initial 'update'
Clarify how the user can satisfy stash's 'dirty state' check.
Remove empty directories in recursive merge
Documentation: clarify the details of overriding LESS via core.pager
Update release notes for 1.6.0.3
checkout: Do not show local changes when in quiet mode
for-each-ref: Fix --format=%(subject) for log message without newlines
git-stash.sh: don't default to refs/stash if invalid ref supplied
maint: check return of split_cmdline to avoid bad config strings
builtin-prune.c: prune temporary packs in <object_dir>/pack directory
Do not perform cross-directory renames when creating packs
Use dashless git commands in setgitperms.perl
git-remote: do not use user input in a printf format string
make "git remote" report multiple URLs
Start draft release notes for 1.6.0.3
git-repack uses --no-repack-object, not --no-repack-delta.
...

Conflicts:
RelNotes

Merge branch 'bc/maint-diff-hunk-header-fix' into maintShawn O. Pearce Mon, 29 Sep 2008 17:23:19 +0000 (10:23 -0700)

Merge branch 'bc/maint-diff-hunk-header-fix' into maint

* bc/maint-diff-hunk-header-fix:
t4018-diff-funcname: test syntax of builtin xfuncname patterns
diff hunk pattern: fix misconverted "\{" tex macro introducers
diff: use extended regexp to find hunk headers
diff.*.xfuncname which uses "extended" regex's for hunk header selection
diff.c: associate a flag with each pattern and use it for compiling regex
diff.c: return pattern entry pointer rather than just the hunk header pattern

Conflicts:
Documentation/gitattributes.txt

Merge branch 'jc/better-conflict-resolution'Shawn O. Pearce Mon, 29 Sep 2008 17:04:21 +0000 (10:04 -0700)

Merge branch 'jc/better-conflict-resolution'

* jc/better-conflict-resolution:
Fix AsciiDoc errors in merge documentation
git-merge documentation: describe how conflict is presented
checkout --conflict=<style>: recreate merge in a non-default style
checkout -m: recreate merge when checking out of unmerged index
git-merge-recursive: learn to honor merge.conflictstyle
merge.conflictstyle: choose between "merge" and "diff3 -m" styles
rerere: understand "diff3 -m" style conflicts with the original
rerere.c: use symbolic constants to keep track of parsing states
xmerge.c: "diff3 -m" style clips merge reduction level to EAGER or less
xmerge.c: minimum readability fixups
xdiff-merge: optionally show conflicts in "diff3 -m" style
xdl_fill_merge_buffer(): separate out a too deeply nested function
checkout --ours/--theirs: allow checking out one side of a conflicting merge
checkout -f: allow ignoring unmerged paths when checking out of the index

Conflicts:
Documentation/git-checkout.txt
builtin-checkout.c
builtin-merge-recursive.c
t/t7201-co.sh

Merge branch 'mg/maint-remote-fix' into maintShawn O. Pearce Mon, 29 Sep 2008 16:39:53 +0000 (09:39 -0700)

Merge branch 'mg/maint-remote-fix' into maint

* mg/maint-remote-fix:
make "git remote" report multiple URLs

Add contrib/rerere-train scriptNanako Shiraishi Sat, 27 Sep 2008 11:44:15 +0000 (20:44 +0900)

Add contrib/rerere-train script

This script takes a range of commits (e.g. maint..next) as its arguments,
recreates merge commits in the range to prime rr-cache database.

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

Clarify commit error message for unmerged filesRafael Garcia-Suarez Mon, 29 Sep 2008 16:04:41 +0000 (18:04 +0200)

Clarify commit error message for unmerged files

Currently, trying to use git-commit with unmerged files in the index
will show the message "Error building trees", which can be a bit
obscure to the end user. This patch makes the error message clearer, and
consistent with what git-write-tree reports in a similar situation.

Signed-off-by: Rafael Garcia-Suarez <rgarciasuarez@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Use strchrnul() instead of strchr() plus manual workaroundJohan Herland Sat, 27 Sep 2008 22:24:36 +0000 (00:24 +0200)

Use strchrnul() instead of strchr() plus manual workaround

Also gets rid of a C++ comment.

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

mingw: remove use of _getdrive() from lstat/fstatDmitry Potapov Sat, 27 Sep 2008 08:39:45 +0000 (12:39 +0400)

mingw: remove use of _getdrive() from lstat/fstat

The field device is not used by Git, and putting the number of the
current device is meaningless anyway.

Signed-off-by: Dmitry Potapov <dpotapov@gmail.com>
Acked-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Use remove_path from dir.c instead of own implementationAlex Riesen Fri, 26 Sep 2008 22:59:14 +0000 (00:59 +0200)

Use remove_path from dir.c instead of own implementation

Besides, it fixes a memleak (builtin-rm.c) and accidental change of
the input const argument (builtin-merge-recursive.c).

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Add remove_path: a function to remove as much as possib... Alex Riesen Fri, 26 Sep 2008 22:56:46 +0000 (00:56 +0200)

Add remove_path: a function to remove as much as possible of a path

The function has two potential users which both managed to get wrong
their implementations (the one in builtin-rm.c one has a memleak, and
builtin-merge-recursive.c scribles over its const argument).

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-submodule: Fix "Unable to checkout" for the initial... Ping Yin Fri, 26 Sep 2008 15:33:23 +0000 (23:33 +0800)

git-submodule: Fix "Unable to checkout" for the initial 'update'

Since commit 55218("checkout: do not lose staged removal"), in
cmd_add/cmd_update, "git checkout <commit>" following
"git clone -n" may fail if <commit> is different from HEAD.

So Use "git checkout -f <commit>" to fix this.

Signed-off-by: Ping Yin <pkufranky@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

compat/mingw: Support a timeout in the poll emulation... Johannes Sixt Tue, 23 Sep 2008 06:52:16 +0000 (08:52 +0200)

compat/mingw: Support a timeout in the poll emulation if no fds are given

Our poll() emulation did not support the timeout argument. With this patch
we support it for the simple case where poll() does not need to wait on
file descriptors as well because this case amounts to a mere Sleep().

This is needed if the user sets help.autocorrect is set to a positive
value.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Clarify how the user can satisfy stash's 'dirty state... Stephen Haberman Mon, 29 Sep 2008 09:12:04 +0000 (04:12 -0500)

Clarify how the user can satisfy stash's 'dirty state' check.

Signed-off-by: Stephen Haberman <stephen@exigencecorp.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

usage.c: remove unused functionsNanako Shiraishi Thu, 25 Sep 2008 09:41:04 +0000 (18:41 +0900)

usage.c: remove unused functions

This removes three functions that are not used anywhere.

Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com>
Acked-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge branch 'maint'Shawn O. Pearce Fri, 26 Sep 2008 15:31:56 +0000 (08:31 -0700)

Merge branch 'maint'

* maint:
Remove empty directories in recursive merge
Documentation: clarify the details of overriding LESS via core.pager

Conflicts:
builtin-merge-recursive.c

Cleanup remove_pathAlex Riesen Fri, 26 Sep 2008 15:21:39 +0000 (08:21 -0700)

Cleanup remove_path

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Remove empty directories in recursive mergeAlex Riesen Thu, 25 Sep 2008 20:12:45 +0000 (22:12 +0200)

Remove empty directories in recursive merge

The code was actually supposed to do that, but was accidentally broken.
Noticed by Anders Melchiorsen.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Documentation: clarify the details of overriding LESS... Chris Frey Wed, 24 Sep 2008 23:21:28 +0000 (19:21 -0400)

Documentation: clarify the details of overriding LESS via core.pager

The process of overriding the default LESS options using only
git-specific methods is rather obscure. Show the end user how
to do it in a step-by-step manner.

Signed-off-by: Chris Frey <cdfrey@foursquare.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Show/hide "Sign Off" based on nocommitmsg... Shawn O. Pearce Fri, 26 Sep 2008 14:44:40 +0000 (07:44 -0700)

git-gui: Show/hide "Sign Off" based on nocommitmsg option

If citool --nocommit is invoked we hide the Sign Off features, as
the commit message area is not editable. But we really want the
selection tied to the message area's editing ability.

Suggested-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge branch 'maint'Shawn O. Pearce Fri, 26 Sep 2008 14:07:40 +0000 (07:07 -0700)

Merge branch 'maint'

git-gui: Help identify aspell version on Windows tooGustaf Hendeby Thu, 25 Sep 2008 21:31:22 +0000 (23:31 +0200)

git-gui: Help identify aspell version on Windows too

On windows, git gui fails to correctly extract the aspell version
(experienced with aspell version 0.50.3) due to scilent white space at
the end of the version string. Trim the obtained version string to
work around this.

Signed-off-by: Gustaf Hendeby <hendeby@isy.liu.se>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge branch 'mv/merge-recursive'Shawn O. Pearce Thu, 25 Sep 2008 16:49:19 +0000 (09:49 -0700)

Merge branch 'mv/merge-recursive'

* mv/merge-recursive:
builtin-merge: release the lockfile in try_merge_strategy()
merge-recursive: get rid of virtual_id
merge-recursive: move current_{file,directory}_set to struct merge_options
merge-recursive: move the global obuf to struct merge_options
merge-recursive: get rid of the index_only global variable
merge-recursive: move call_depth to struct merge_options
cherry-pick/revert: make direct internal call to merge_tree()
builtin-merge: avoid run_command_v_opt() for recursive and subtree
merge-recursive: introduce merge_options
merge-recursive.c: Add more generic merge_recursive_generic()
Split out merge_recursive() to merge-recursive.c

Merge branch 'jc/alternate-push'Shawn O. Pearce Thu, 25 Sep 2008 16:39:24 +0000 (09:39 -0700)

Merge branch 'jc/alternate-push'

* jc/alternate-push:
push: receiver end advertises refs from alternate repositories
push: prepare sender to receive extended ref information from the receiver
receive-pack: make it a builtin
is_directory(): a generic helper function

Merge branch 'am/status'Shawn O. Pearce Thu, 25 Sep 2008 16:32:49 +0000 (09:32 -0700)

Merge branch 'am/status'

* am/status:
wt-status: Teach how to discard changes in the working directory
wt-status: Split header generation into three functions

Merge branch 'pb/autocorrect-wrapper'Shawn O. Pearce Thu, 25 Sep 2008 16:23:48 +0000 (09:23 -0700)

Merge branch 'pb/autocorrect-wrapper'

* pb/autocorrect-wrapper:
git wrapper: also use aliases to correct mistyped commands

Merge branch 'mv/commit-tree'Shawn O. Pearce Thu, 25 Sep 2008 16:16:33 +0000 (09:16 -0700)

Merge branch 'mv/commit-tree'

* mv/commit-tree:
t7603: add new testcases to ensure builtin-commit uses reduce_heads()
builtin-commit: use commit_tree()
commit_tree(): add a new author parameter

Merge branch 'jc/apply-include-exclude'Shawn O. Pearce Thu, 25 Sep 2008 16:09:41 +0000 (09:09 -0700)

Merge branch 'jc/apply-include-exclude'

* jc/apply-include-exclude:
git-apply:--include=pathspec

Merge branch 'jc/safe-c-l-d'Shawn O. Pearce Thu, 25 Sep 2008 15:50:01 +0000 (08:50 -0700)

Merge branch 'jc/safe-c-l-d'

* jc/safe-c-l-d:
safe_create_leading_directories(): make it about "leading" directories

gitweb: shortlog now also obeys $hash_parentGiuseppe Bilotta Fri, 8 Aug 2008 14:12:11 +0000 (16:12 +0200)

gitweb: shortlog now also obeys $hash_parent

If $hash_parent is defined, shortlog now limits the list of commits at
those between $hash_parent (exclusive) and $hash (inclusive).

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Acked-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

Merge branch 'ho/dirstat-by-file'Shawn O. Pearce Thu, 25 Sep 2008 15:41:42 +0000 (08:41 -0700)

Merge branch 'ho/dirstat-by-file'

* ho/dirstat-by-file:
diff --dirstat-by-file: count changed files, not lines

Merge git://repo.or.cz/git-guiShawn O. Pearce Thu, 25 Sep 2008 15:41:07 +0000 (08:41 -0700)

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

* git://repo.or.cz/git-gui:
git-gui: Reenable staging unmerged files by clicking the icon.
git-gui: Support the encoding menu in gui blame.
git-gui: Optimize encoding name resolution using a lookup table.
git-gui: Allow forcing display encoding for diffs using a submenu.
git-gui: Add a menu of available encodings.
git-gui: Cleanup handling of the default encoding.
git-gui: Assume `blame --incremental` output is in UTF-8
git-gui: Use gitattribute "encoding" for file content display
git-gui: Add support for calling out to the prepare-commit-msg hook
git-gui: Hide commit related UI during citool --nocommit
git-gui: Add more integration options to citool.
git-gui: Updated German translation.
git-gui: I18n fix sentence parts into full sentences for translation again.
git-gui: Restore ability to Stage Working Copy for conflicts.
git-gui: Fix Blame Parent & Context for working copy lines.

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

Merge branch 'maint'

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

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

Update release notes for 1.6.0.3

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

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

Fix submodule sync with relative submodule URLs

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

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

graph.c: make many functions static

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

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

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

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

These functions are not used by any other file.

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

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

checkout: Do not show local changes when in quiet mode

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

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

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

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

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

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

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

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

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

This patch has been sponsored by Novartis.

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

git-gui: Reenable staging unmerged files by clicking... Alexander Gavrilov Sat, 20 Sep 2008 08:19:18 +0000 (12:19 +0400)

git-gui: Reenable staging unmerged files by clicking the icon.

This restores functionality of the file icon for unmerged files.
Safety is enforced by loading the diff and checking for lines
that look like conflict markers. If such lines are found, or
the conflict involves deletion and/or symlinks, a confirmation
dialog is presented. Otherwise, the icon immediately stages the
working copy version of the file.

Includes a revert of 2fe5b2ee42897a3acc78e5ddaace3775eb2713ca
(Restore ability to Stage Working Copy for conflicts)

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Tested-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Support the encoding menu in gui blame.Alexander Gavrilov Wed, 17 Sep 2008 21:07:36 +0000 (01:07 +0400)

git-gui: Support the encoding menu in gui blame.

Allow dynamically changing the encoding from the blame
viewer as well.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Tested-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Optimize encoding name resolution using a... Alexander Gavrilov Wed, 17 Sep 2008 21:07:35 +0000 (01:07 +0400)

git-gui: Optimize encoding name resolution using a lookup table.

Encoding menu construction does almost a hundred of encoding
resolutions, which with the old implementation led to a
small but noticeable delay.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Tested-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Allow forcing display encoding for diffs using... Alexander Gavrilov Wed, 17 Sep 2008 21:07:34 +0000 (01:07 +0400)

git-gui: Allow forcing display encoding for diffs using a submenu.

Add a submenu to allow dynamically changing the encoding to use
for diffs. Encoding settings are remembered while git-gui runs.
The rules are:

1) Encoding set for a specific file overrides gitattributes.
2) Last explicitly set value of the encoding overrides gui.encoding

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Tested-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Add a menu of available encodings.Alexander Gavrilov Wed, 17 Sep 2008 21:07:33 +0000 (01:07 +0400)

git-gui: Add a menu of available encodings.

To make encoding selection easier, add a menu that
lists available encodings to the Options window.

Menu structure is borrowed from Firefox.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Tested-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Cleanup handling of the default encoding.Alexander Gavrilov Wed, 17 Sep 2008 21:07:32 +0000 (01:07 +0400)

git-gui: Cleanup handling of the default encoding.

- Make diffs and blame default to the system (locale)
encoding instead of hard-coding UTF-8.
- Add a gui.encoding option to allow overriding it.
- gitattributes still have the final word.

The rationale for this is Windows support:

1) Windows people are accustomed to using legacy encodings
for text files. For many of them defaulting to utf-8
will be counter-intuitive.
2) Windows doesn't support utf-8 locales, and switching
the system encoding is a real pain. Thus the option.

This patch also adds proper encoding conversion to Apply Hunk/Line.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Tested-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Assume `blame --incremental` output is in... Shawn O. Pearce Wed, 23 Jan 2008 05:39:50 +0000 (00:39 -0500)

git-gui: Assume `blame --incremental` output is in UTF-8

Most commits have author name encoded in UTF-8, but the incremental
blame output dumps raw bytes and doesn't give us the encoding header
from the commit. Rather than fixing up tooltip data after we have
viewed that particular commit in the blame viewer we can assume all
names are in UTF-8.

This is still going to cause problems when the author name is not
encoded in UTF-8, but the only (efficient) way to solve that is to
add an "encoding" header to the blame --incremental mode output,
as otherwise we need to run `git cat-file commit $sha1` for each
and every commit identified and that would be horribly expensive
on any platform.

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

git-gui: Use gitattribute "encoding" for file content... Shawn O. Pearce Wed, 23 Jan 2008 05:37:10 +0000 (00:37 -0500)

git-gui: Use gitattribute "encoding" for file content display

Most folks using git-gui on internationalized files have complained
that it doesn't recognize UTF-8 correctly. In the past we have just
ignored the problem and showed the file contents as binary/US-ASCII,
which is wrong no matter how you look at it.

This really should be a per-file attribute, managed by .gitattributes,
so we now pull the "encoding" attribute data for the given path from
the .gitattributes (if available) and use that, falling back to UTF-8
if the attributes are unavailable, git-check-attr is broken, or an
encoding for this path not specified.

We apply the encoding anytime we show file content, which currently
is limited to only the diff viewer and the blame viewer.

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

git-gui: Add support for calling out to the prepare... Joshua Williams Wed, 24 Sep 2008 19:11:53 +0000 (14:11 -0500)

git-gui: Add support for calling out to the prepare-commit-msg hook

Signed-off-by: Joshua Williams <joshua.williams@qlogic.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

git-gui: Hide commit related UI during citool --nocommitShawn O. Pearce Wed, 24 Sep 2008 16:48:20 +0000 (09:48 -0700)

git-gui: Hide commit related UI during citool --nocommit

If the user started git-gui as "git citool --nocommit" then they
don't need the new commit / amend commit radio buttons, or the sign
off button in the UI. Rather than use up space with options the
user cannot activate they are simply not installed into the UI.

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

git-gui: Add more integration options to citool.Alexander Gavrilov Fri, 12 Sep 2008 18:43:49 +0000 (22:43 +0400)

git-gui: Add more integration options to citool.

- Make citool return nonzero exit code if it did not commit.
- Add a mode where it does not actually commit and simply
exits with zero code. Commit message is either disabled,
or simply dumped to GITGUI_EDITMSG before exiting.
- Add an option to immediately start it in amend mode.

Rationale:

1) Use 'git citool --nocommit' instead of mergetool in scripts.
2) Use 'git citool --amend' to edit commits while rebasing.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

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

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

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

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

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

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

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

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

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

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

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

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

maint: check return of split_cmdline to avoid bad config strings

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

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

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

Merge branch 'maint'

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

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

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

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

t4018-diff-funcname: test syntax of builtin xfuncname... Brandon Casey Mon, 22 Sep 2008 23:26:20 +0000 (18:26 -0500)

t4018-diff-funcname: test syntax of builtin xfuncname patterns

[jc: fixes bibtex pattern breakage exposed by this test]

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

Merge branch 'bc/maint-diff-hunk-header-fix' into bc... Junio C Hamano Tue, 23 Sep 2008 03:01:33 +0000 (20:01 -0700)

Merge branch 'bc/maint-diff-hunk-header-fix' into bc/master-diff-hunk-header-fix

* bc/maint-diff-hunk-header-fix:
t4018-diff-funcname: test syntax of builtin xfuncname patterns

t4018-diff-funcname: test syntax of builtin xfuncname... Brandon Casey Mon, 22 Sep 2008 23:19:05 +0000 (18:19 -0500)

t4018-diff-funcname: test syntax of builtin xfuncname patterns

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

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

Do not perform cross-directory renames when creating packs

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

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

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

Merge branch 'maint'

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

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

Use dashless git commands in setgitperms.perl

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

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

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

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

$ git remote add foo%sbar .

then the command

$ git remote show foo%sbar

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

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