gitweb.git
fix typo in git-am manpageMichael S. Tsirkin Wed, 21 Mar 2007 08:37:36 +0000 (10:37 +0200)

fix typo in git-am manpage

Fix typo in git-am manpage

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Junio C Hamano <junkio@cox.net>

GIT 1.5.0.5 v1.5.0.5Junio C Hamano Sun, 18 Mar 2007 21:40:35 +0000 (14:40 -0700)

GIT 1.5.0.5

Signed-off-by: Junio C Hamano <junkio@cox.net>

git-merge: finish when git-read-tree failsSanti Béjar Fri, 16 Mar 2007 10:46:09 +0000 (11:46 +0100)

git-merge: finish when git-read-tree fails

The message formating (commit v1.5.0.3-28-gbe242d5) broke the && chain.

Noticed by Dmitry Torokhov.

Signed-off-by: Santi Béjar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

GIT 1.5.0.4 v1.5.0.4Junio C Hamano Wed, 14 Mar 2007 22:56:49 +0000 (15:56 -0700)

GIT 1.5.0.4

Signed-off-by: Junio C Hamano <junkio@cox.net>

Clarify doc for git-config --unset-all.Yann Dirson Wed, 14 Mar 2007 21:08:41 +0000 (22:08 +0100)

Clarify doc for git-config --unset-all.

Previous formulation could make it appear as removing all lines
matching a regexp (at least, I was looking for such a flag, and
confused this flag for what I was looking for).

Signed-off-by: Yann Dirson <ydirson@altern.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-checkout: fix "eval" used for merge labelling.Junio C Hamano Wed, 14 Mar 2007 16:48:13 +0000 (09:48 -0700)

git-checkout: fix "eval" used for merge labelling.

The symbolic notation of the fork point can contain whitespaces (e.g.
"git checkout -m 'HEAD@{9 hours ago}'"). Quote strings properly
when using eval to prepare GITHEAD_$new

Signed-off-by: Junio C Hamano <junkio@cox.net>

cvsserver: asciidoc formatting changesFrank Lichtenheld Tue, 13 Mar 2007 17:24:26 +0000 (18:24 +0100)

cvsserver: asciidoc formatting changes

Format some lists really as lists. Improves both html and man
output.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint' of git://repo.or.cz/git/fastimport... Junio C Hamano Tue, 13 Mar 2007 06:08:27 +0000 (23:08 -0700)

Merge branch 'maint' of git://repo.or.cz/git/fastimport into maint

* 'maint' of git://repo.or.cz/git/fastimport:
fast-import: grow tree storage more aggressively

fast-import: grow tree storage more aggressivelyJeff King Sun, 11 Mar 2007 02:39:17 +0000 (21:39 -0500)

fast-import: grow tree storage more aggressively

When building up a tree for a commit, fast-import
dynamically allocates memory for the tree entries. When more
space is needed, the allocated memory is increased by a
constant amount. For very large trees, this means
re-allocating and memcpy()ing the memory O(n) times.

To compound this problem, releasing the previous tree
resource does not free the memory; it is kept in a pool
for future trees. This means that each of the O(n)
allocations will consume increasing amounts of memory,
giving O(n^2) memory consumption.

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

Don't package the git-gui credits file anymoreShawn O. Pearce Mon, 12 Mar 2007 17:40:31 +0000 (13:40 -0400)

Don't package the git-gui credits file anymore

Since git-gui 0.6.4 the credits file is no longer produced.
This file was removed from git-gui due to build issues that
a lot of users and Git developers have reported running into.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint' of git://repo.or.cz/git-gui into... Junio C Hamano Mon, 12 Mar 2007 18:43:22 +0000 (11:43 -0700)

Merge branch 'maint' of git://repo.or.cz/git-gui into maint

* 'maint' of git://repo.or.cz/git-gui:
git-gui: Allow 'git gui version' outside of a repository
git-gui: Revert "git-gui: Display all authors of git-gui."
git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed."
git-gui: Allow committing empty merges

git-gui: Allow 'git gui version' outside of a repository gitgui-0.6.4Shawn O. Pearce Mon, 12 Mar 2007 17:24:10 +0000 (13:24 -0400)

git-gui: Allow 'git gui version' outside of a repository

I got a little surprise one day when I tried to run 'git gui version'
outside of a Git repository to determine what version of git-gui was
installed on that system. Turns out we were doing the repository
check long before we got around to command line argument handling.

We now look to see if the only argument we have been given is
'version' or '--version', and if so, print out the version and
exit immediately; long before we consider looking at the Git
version or working directory. This way users can still get to
the git-gui version number even if Git's version cannot be read.

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

git-gui: Revert "git-gui: Display all authors of git... Shawn O. Pearce Mon, 12 Mar 2007 17:26:04 +0000 (13:26 -0400)

git-gui: Revert "git-gui: Display all authors of git-gui."
This reverts commit 871f4c97ad7e021d1a0a98c80c5da77fcf70e4af.

Too many users have complained about the credits generator in
git-gui, so I'm backing the entire thing out. This revert will
finish that series.

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

git-gui: Revert "Don't modify CREDITS-FILE if it hasn... Shawn O. Pearce Mon, 12 Mar 2007 17:25:58 +0000 (13:25 -0400)

git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed."
This reverts commit 92446aba47b0e0db28f7b858ea387efcca30ab44.

Too many users have complained about the credits generator in
git-gui, so I'm backing the entire thing out.

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

git-gui: Allow committing empty mergesShawn O. Pearce Mon, 12 Mar 2007 17:03:47 +0000 (13:03 -0400)

git-gui: Allow committing empty merges

Johannes Sixt noticed that git-gui would not let the user commit
a merge created by `git merge -s ours` as the ours strategy does
not alter the tree (that is HEAD^1^{tree} = HEAD^{tree} after the
merge). The same issue arises from amending such a merge commit.

We now permit an empty commit (no changed files) if we are doing
a merge commit. Core Git does this with its command line based
git-commit tool, so it makes sense for the GUI to do the same.

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

git-send-email: Document configuration optionsAvi Kivity Sun, 11 Mar 2007 17:19:43 +0000 (19:19 +0200)

git-send-email: Document configuration options

Wishing to implement an email aliases file, I found that they were already
implmented. Document them for the next user.

Signed-off-by: Avi Kivity <avi@qumranet.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-merge: warn when -m provided on a fast forwardJ. Bruce Fields Sun, 11 Mar 2007 16:28:56 +0000 (12:28 -0400)

git-merge: warn when -m provided on a fast forward

Warn the user that the "-m" option is ignored in the case of a fast
forward. That may save some confusion in the case where the user
doesn't know about fast forwards yet and may not realize that the
behavior here is intentional.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git.el: Retrieve commit log information from .dotest... Alexandre Julliard Sat, 10 Mar 2007 18:22:26 +0000 (19:22 +0100)

git.el: Retrieve commit log information from .dotest directory.

If a git-am or git-rebase is in progress, fill the commit log buffer
from the commit information found in the various files in the .dotest
directory.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git.el: Avoid appending a signoff line that is already... Alexandre Julliard Sat, 10 Mar 2007 18:21:25 +0000 (19:21 +0100)

git.el: Avoid appending a signoff line that is already present.

Also avoid inserting an extra newline if other signoff lines are
present.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

setup_git_directory_gently: fix off-by-one errorMatthias Lederhofer Sun, 11 Mar 2007 01:35:00 +0000 (02:35 +0100)

setup_git_directory_gently: fix off-by-one error

don't tell getcwd that the buffer has one spare byte for an extra /

Signed-off-by: Matthias Lederhofer <matled@gmx.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint' of git://linux-nfs.org/~bfields... Junio C Hamano Sun, 11 Mar 2007 05:47:01 +0000 (21:47 -0800)

Merge branch 'maint' of git://linux-nfs.org/~bfields/git into maint

* 'maint' of git://linux-nfs.org/~bfields/git:
user-manual: install user manual stylesheet with other web documents
user-manual: fix rendering of history diagrams
user-manual: fix missing colon in git-show example
user-manual: fix inconsistent use of pull and merge
user-manual: fix inconsistent example
glossary: fix overoptimistic automatic linking of defined terms

user-manual: install user manual stylesheet with other... J. Bruce Fields Sun, 11 Mar 2007 03:58:54 +0000 (22:58 -0500)

user-manual: install user manual stylesheet with other web documents

Install the stylesheet needed for the user manual. This should solve
the problem of, e.g.,

http://www.kernel.org/pub/software/scm/git/docs/user-manual.html

lacking a lot of formatting.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>

user-manual: fix rendering of history diagramsJ. Bruce Fields Sun, 11 Mar 2007 03:38:13 +0000 (22:38 -0500)

user-manual: fix rendering of history diagrams

Asciidoc appears to interpret a backslash at the end of a line as
escaping the end-of-line character, which screws up the display of
history diagrams like

o--o--o
\
o--...

The obvious fix (replacing "\" by "\\") doesn't work. The only
workaround I've found is to include all such diagrams in a LiteralBlock.
Asciidoc claims that should be equivalent to a literal paragraph, so I
don't understand why the difference--perhaps it's an asciidoc bug.

Cc: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>

user-manual: fix missing colon in git-show exampleJ. Bruce Fields Sun, 11 Mar 2007 03:00:12 +0000 (22:00 -0500)

user-manual: fix missing colon in git-show example

There should be a colon in this git-show example.

Cc: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>

user-manual: fix inconsistent use of pull and mergeJ. Bruce Fields Sun, 11 Mar 2007 02:52:39 +0000 (21:52 -0500)

user-manual: fix inconsistent use of pull and merge

I used "git pull ." instead of "git merge" here without any explanation.
Stick instead to "git merge" for now (the equivalent pull syntax is
still covered in a later chapter).

Cc: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>

user-manual: fix inconsistent exampleJ. Bruce Fields Sun, 11 Mar 2007 02:45:29 +0000 (21:45 -0500)

user-manual: fix inconsistent example

The configuration file fragment here is inconsistent with the text
above. Thanks to Ramsay Jones for the correction.

Cc: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>

glossary: fix overoptimistic automatic linking of defin... J. Bruce Fields Mon, 5 Mar 2007 00:13:09 +0000 (19:13 -0500)

glossary: fix overoptimistic automatic linking of defined terms

The script sort_glossary.pl turns each use of "term" into a link to the
definition of "term". To avoid mangling links like

gitlink:git-term[1]

it doesn't replace any occurence of "term" preceded by "link:git-".
This fails for gitlink:git-symbolic-ref[1] when substituting for "ref".

So instead just refuse to replace anything preceded by a "-".
That could result in missing some opportunities, but that's a less
annoying error.

Actually I find the automatic substitution a little distracting; some
day maybe we should just run it once and commit the result, so it can
be hand-tuned.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>

Documentation: s/seperator/separator/Jeff King Fri, 9 Mar 2007 20:21:41 +0000 (15:21 -0500)

Documentation: s/seperator/separator/

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Adjust reflog filemode in shared repositoryMatthias Kestenholz Fri, 9 Mar 2007 22:38:57 +0000 (23:38 +0100)

Adjust reflog filemode in shared repository

Without this, committing in a group-shared repository would not work
even though all developers are in the same group.

Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Catch write_ref_sha1 failure in receive-packShawn O. Pearce Wed, 7 Mar 2007 17:04:24 +0000 (12:04 -0500)

Catch write_ref_sha1 failure in receive-pack

This failure to catch the failure of write_ref_sha1 was noticed
by Bill Lear. The ref will not update if the log file could not
be appended to (due to file permissions problems). Such a failure
should be flagged as a failure to update the ref, so that the client
knows the push did not succeed.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

make t8001 work on Mac OS X againJohannes Schindelin Wed, 7 Mar 2007 00:48:59 +0000 (19:48 -0500)

make t8001 work on Mac OS X again

The test was recently broken to expect sed to leave the
incomplete line at the end without newline.

POSIX says that output of the pattern space is to be followed by
a newline, while GNU adds the newline back only when it was
stripped when input. GNU behaviour is arguably more intuitive
and nicer, but we should not depend on it.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'master' of git://repo.or.cz/git-gui into... Junio C Hamano Tue, 6 Mar 2007 08:39:52 +0000 (00:39 -0800)

Merge branch 'master' of git://repo.or.cz/git-gui into maint

* 'master' of git://repo.or.cz/git-gui:
git-gui: Make 'make' quieter by default
git-gui: Remove unnecessary /dev/null redirection.
git-gui: Don't create empty (same tree as parent) commits.
git-gui: Add Reset to the Branch menu.
git-gui: Relocate the menu/transport menu code.

git-gui: Make 'make' quieter by default gitgui-0.6.3Shawn O. Pearce Tue, 6 Mar 2007 07:13:23 +0000 (02:13 -0500)

git-gui: Make 'make' quieter by default

To fit nicely into the output of the git.git project's own quieter
Makefile, we want to make the git-gui Makefile nice and quiet too.

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

git-commit: cd to top before showing the final statJunio C Hamano Mon, 5 Mar 2007 20:35:41 +0000 (12:35 -0800)

git-commit: cd to top before showing the final stat

Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix diff-options references in git-diff and git-format... Brian Gernhardt Tue, 6 Mar 2007 03:27:44 +0000 (22:27 -0500)

Fix diff-options references in git-diff and git-format-patch

Most of the git-diff-* documentation used [<common diff options>]
instead of [--diff-options], so make that change in git-diff and
git-format-patch.

In addition, git-format-patch didn't include the meanings of the diff
options.

Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Add definition of <commit-ish> to the main git man... Theodore Ts'o Mon, 5 Mar 2007 19:46:05 +0000 (14:46 -0500)

Add definition of <commit-ish> to the main git man page.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint-for-junio' of git://repo.or.cz... Junio C Hamano Tue, 6 Mar 2007 01:07:17 +0000 (17:07 -0800)

Merge branch 'maint-for-junio' of git://repo.or.cz/git/fastimport into maint

* 'maint-for-junio' of git://repo.or.cz/git/fastimport:
fast-import: Fail if a non-existant commit is used for merge
fast-import: Avoid infinite loop after reset

Begin SubmittingPatches with a check listJohannes Schindelin Mon, 5 Mar 2007 15:37:54 +0000 (16:37 +0100)

Begin SubmittingPatches with a check list

It seems that some people prefer a short list to a long text. But even for
the latter group, a quick reminder list is useful. So, add a check list to
Documentation/SubmittingPatches of what to do to get your patch accepted.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>

fast-import: Fail if a non-existant commit is used... Shawn O. Pearce Mon, 5 Mar 2007 17:43:14 +0000 (12:43 -0500)

fast-import: Fail if a non-existant commit is used for merge

Johannes Sixt noticed during one of his own imports that fast-import
did not fail if a non-existant commit is referenced by SHA-1 value
as an argument to the 'merge' command. This allowed the user to
unknowingly create commits that would fail in fsck, as the commit
contents would not be completely reachable.

A side effect of this bug was that a frontend process could mark
any SHA-1 object (blob, tree, tag) as a parent of a merge commit.
This should also fail in fsck, as the commit is not a valid commit.

We now use the same rule as the 'from' command. If a commit is
referenced in the 'merge' command by hex formatted SHA-1 then the
SHA-1 must be a commit or a tag that can be peeled back to a commit,
the commit must already exist, and must be readable by the core Git
infrastructure code. This requirement means that the commit must
have existed prior to fast-import starting, or the commit must have
been flushed out by a prior 'checkpoint' command.

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

fast-import: Avoid infinite loop after resetShawn O. Pearce Mon, 5 Mar 2007 17:31:09 +0000 (12:31 -0500)

fast-import: Avoid infinite loop after reset

Johannes Sixt noticed that a 'reset' command applied to a branch that
is already active in the branch LRU cache can cause fast-import to
relink the same branch into the LRU cache twice. This will cause
the LRU cache to contain a cycle, making unload_one_branch run in an
infinite loop as it tries to select the oldest branch for eviction.

I have trivially fixed the problem by adding an active bit to
each branch object; this bit indicates if the branch is already
in the LRU and allows us to avoid trying to add it a second time.
Converting the pack_id field into a bitfield makes this change take
up no additional memory.

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

GIT 1.5.0.3 v1.5.0.3Junio C Hamano Mon, 5 Mar 2007 01:20:38 +0000 (17:20 -0800)

GIT 1.5.0.3

Signed-off-by: Junio C Hamano <junkio@cox.net>

glossary: Add definitions for dangling and unreachable... Yasushi SHOJI Sun, 4 Mar 2007 18:07:43 +0000 (03:07 +0900)

glossary: Add definitions for dangling and unreachable objects

Define "dangling" and "unreachable" objects. Modified from original
text proposed by Yasushi Shoji.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

user-manual: more detailed merge discussionJ. Bruce Fields Sat, 3 Mar 2007 20:34:27 +0000 (15:34 -0500)

user-manual: more detailed merge discussion

Add more details on conflict, including brief discussion of file stages.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

user-manual: how to replace commits older than most... J. Bruce Fields Sat, 3 Mar 2007 19:30:32 +0000 (14:30 -0500)

user-manual: how to replace commits older than most recent

"Modifying" an old commit by checking it out, --amend'ing it, then
rebasing on top of it, is a slightly cumbersome technique, but I've
found it useful frequently enough to make it seem worth documenting.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

user-manual: insert earlier of mention content-addressa... J. Bruce Fields Sat, 3 Mar 2007 19:04:42 +0000 (14:04 -0500)

user-manual: insert earlier of mention content-addressable architecture

The content-addressable design is too important not to be worth at least
a brief mention a little earlier on.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

user-manual: ensure generated manual references stylesheetJ. Bruce Fields Sat, 3 Mar 2007 18:33:48 +0000 (13:33 -0500)

user-manual: ensure generated manual references stylesheet

The generated user manual is rather hard to read thanks to the lack of
the css that's supposed to be included from docbook-xsl.css.

I'm totally ignorant of the toolchain; grubbing through xmlto and
related scripts, the easiest way I could find to ensure that the
generated html links to the stylesheet is by calling xsltproc directly.
Maybe there's some better way.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

user-manual: reset to ORIG_HEAD not HEAD to undo mergeJ. Bruce Fields Mon, 19 Feb 2007 23:46:09 +0000 (18:46 -0500)

user-manual: reset to ORIG_HEAD not HEAD to undo merge

As Linus pointed out recently on the mailing list,

git reset --hard HEAD^

doesn't undo a merge in the case where the merge did a fast-forward. So
the rcommendation here is a little dangerous.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation: mention module option to git-cvsimportJ. Bruce Fields Tue, 6 Feb 2007 07:51:26 +0000 (02:51 -0500)

Documentation: mention module option to git-cvsimport

The git-cvsimport argument that specifies a cvs module to import should
probably be included in the default example.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Unset NO_C99_FORMAT on Cygwin.Ramsay Jones Sat, 3 Mar 2007 18:28:39 +0000 (18:28 +0000)

Unset NO_C99_FORMAT on Cygwin.

This should only be set based on the capability of your
compiler/library to support c99 format specifiers. In this
case the version of gcc/newlib and indirectly the version
of Cygwin. It should probably only be set in your config.mak
file.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix a "pointer type missmatch" warning.Ramsay Jones Sat, 3 Mar 2007 18:29:03 +0000 (18:29 +0000)

Fix a "pointer type missmatch" warning.

In particular, the second parameter in the call to iconv() will
cause this warning if your library declares iconv() with the
second (input buffer pointer) parameter of type const char **.
This is the old prototype, which is none-the-less used by the
current version of newlib on Cygwin. (It appears in old versions
of glibc too).

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix some "comparison is always true/false" warnings.Ramsay Jones Sat, 3 Mar 2007 18:28:57 +0000 (18:28 +0000)

Fix some "comparison is always true/false" warnings.

On Cygwin the wchar_t type is an unsigned short (16-bit) int.
This results in the above warnings from the return statement in
the wcwidth() function (in particular, the expressions involving
constants with values larger than 0xffff). Simply replace the
use of wchar_t with an unsigned int, typedef-ed as ucs_char_t.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix an "implicit function definition" warning.Ramsay Jones Sat, 3 Mar 2007 18:28:52 +0000 (18:28 +0000)

Fix an "implicit function definition" warning.

The function at issue being initgroups() from the <grp.h> header
file. On Cygwin, setting _XOPEN_SOURCE suppresses the definition
of initgroups(), which causes the warning while compiling daemon.c.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix a "label defined but unreferenced" warning.Ramsay Jones Sat, 3 Mar 2007 18:28:46 +0000 (18:28 +0000)

Fix a "label defined but unreferenced" warning.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Document the config variable format.suffixJohannes Schindelin Sat, 3 Mar 2007 23:17:23 +0000 (00:17 +0100)

Document the config variable format.suffix

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-merge: fail correctly when we cannot fast forward.Junio C Hamano Sat, 3 Mar 2007 21:04:54 +0000 (13:04 -0800)

git-merge: fail correctly when we cannot fast forward.

When we cannot fast forward the working tree and the current
branch, git-merge did not exit with non-zero status.

Noticed by Larry Streepy, the section to be fixed identfied by
Johannes Schindelin.

Signed-off-by: Junio C Hamano <junkio@cox.net>

builtin-archive: use RUN_SETUPJohannes Schindelin Sat, 3 Mar 2007 16:14:25 +0000 (17:14 +0100)

builtin-archive: use RUN_SETUP

It used to roll its own setup.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix git-gc usage noteMatthias Kestenholz Sat, 3 Mar 2007 17:28:14 +0000 (18:28 +0100)

Fix git-gc usage note

Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix quoting in update hook templateGerrit Pape Fri, 2 Mar 2007 12:20:10 +0000 (12:20 +0000)

Fix quoting in update hook template

By default allowunannotated is unset in the repo config, hence
$allowunannotated is empty, and must be quoted to not break the syntax.

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Another memory overrun in http-push.cEygene Ryabinkin Thu, 1 Mar 2007 16:09:12 +0000 (19:09 +0300)

Another memory overrun in http-push.c

Use of strlcpy() are wrong, as the source buffer at these
locations may not be NUL-terminated.

fetch.o depends on the headers, too.Johannes Schindelin Tue, 27 Feb 2007 23:55:48 +0000 (00:55 +0100)

fetch.o depends on the headers, too.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation: Correct minor typo in git-add documentation.Christian Schlotter Thu, 1 Mar 2007 17:08:17 +0000 (18:08 +0100)

Documentation: Correct minor typo in git-add documentation.

Signed-off-by: Christian Schlotter <schlotter@users.sourceforge.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation/git-send-email.txt: Fix labeled list... Sergey Vlasov Thu, 1 Mar 2007 19:41:16 +0000 (22:41 +0300)

Documentation/git-send-email.txt: Fix labeled list formatting

Mark continuation paragraphs of list entries as such to avoid
getting literal paragraphs instead.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation/git-quiltimport.txt: Fix labeled list... Sergey Vlasov Thu, 1 Mar 2007 19:41:15 +0000 (22:41 +0300)

Documentation/git-quiltimport.txt: Fix labeled list formatting

Mark the continuation paragraph of a list entry as such to avoid
getting a literal paragraph instead.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation/build-docdep.perl: Fix dependencies for... Sergey Vlasov Thu, 1 Mar 2007 19:41:14 +0000 (22:41 +0300)

Documentation/build-docdep.perl: Fix dependencies for included asciidoc files

Adding dependencies on included files to the generated man pages is
wrong - includes are processed by asciidoc, therefore the intermediate
Docbook XML files really depend on included files. Because of these
wrong dependencies the man pages were not rebuilt properly if the
intermediate XML files were left in the tree.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-gui: Remove unnecessary /dev/null redirection.Shawn O. Pearce Thu, 1 Mar 2007 19:37:34 +0000 (14:37 -0500)

git-gui: Remove unnecessary /dev/null redirection.

Git 1.5.0 and later no longer output useless messages to standard
error when making the initial (or what looks to be) commit of a
repository. Since /dev/null does not exist on Windows in the
MinGW environment we can't redirect there anyway. Since Git
does not output anymore, I'm removing the redirection.

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

Start preparing Release Notes for 1.5.0.3Junio C Hamano Wed, 28 Feb 2007 22:17:45 +0000 (14:17 -0800)

Start preparing Release Notes for 1.5.0.3

Documentation: git-remote add [-t <branch>] [-m <branch... Junio C Hamano Wed, 28 Feb 2007 22:05:42 +0000 (14:05 -0800)

Documentation: git-remote add [-t <branch>] [-m <branch>] [-f] name url

Signed-off-by: Junio C Hamano <junkio@cox.net>

Include config.mak in doc/MakefileUwe Kleine-König Wed, 28 Feb 2007 20:57:42 +0000 (21:57 +0100)

Include config.mak in doc/Makefile

config.mak.autogen is already there. Without this change it is not
possible to override mandir in config.mak.

Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git.el: Set the default commit coding system from the... Alexandre Julliard Wed, 28 Feb 2007 19:59:48 +0000 (20:59 +0100)

git.el: Set the default commit coding system from the repository config.

If not otherwise specified, take the default coding system for commits
from the 'i18n.commitencoding' repository configuration value.

Also set the buffer-file-coding-system variable in the log buffer to
make the selected coding system visible on the modeline.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-archimport: support empty summaries, put summary... Paolo Bonzini Wed, 28 Feb 2007 20:02:02 +0000 (21:02 +0100)

git-archimport: support empty summaries, put summary on a single line.

Don't fail if the summary line in an arch commit is empty. In this case,
try to use the first line in the commit message followed by an ellipsis.
In addition, if the summary is multi-line, it is joined on a single line.

Signed-off-by: Junio C Hamano <junkio@cox.net>

http-push.c::lock_remote(): validate all remote refs.Eygene Ryabinkin Wed, 28 Feb 2007 20:12:02 +0000 (12:12 -0800)

http-push.c::lock_remote(): validate all remote refs.

Starting from offset 11 might have been good back when it was
only used for updating "refs/heads/*", but it is used to update
"info/refs" and "refs/tags/*" as well.

Signed-off-by: Junio C Hamano <junkio@cox.net>

git-cvsexportcommit: don't cleanup .msg if not yet... Gerrit Pape Wed, 28 Feb 2007 12:35:39 +0000 (12:35 +0000)

git-cvsexportcommit: don't cleanup .msg if not yet committed to cvs.

Unless the -c option is given, and the commit to cvs was successful,
.msg shouldn't be deleted to be able to run the command suggested by
git-cvsexportcommit.

See http://bugs.debian.org/412732

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

builtin-fmt-merge-msg: fix bugs in --file optionMichael Coleman Wed, 28 Feb 2007 05:44:42 +0000 (23:44 -0600)

builtin-fmt-merge-msg: fix bugs in --file option

If --file's argument is missing, don't crash. If it cannot be opened,
die with an error message.

Signed-off-by: Junio C Hamano <junkio@cox.net>

index-pack: Loop over pread until data loading is complete.Shawn O. Pearce Wed, 28 Feb 2007 04:47:19 +0000 (23:47 -0500)

index-pack: Loop over pread until data loading is complete.

A filesystem might not be able to completely supply our pread
request in one system call, such as if we are reading data from a
network file system and the requested length is just simply huge.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

blameview: Fix the browse behavior in blameviewAneesh Kumar Mon, 26 Feb 2007 08:31:57 +0000 (14:01 +0530)

blameview: Fix the browse behavior in blameview

Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix minor typos/grammar in user-manual.txtMichael Coleman Wed, 28 Feb 2007 04:13:09 +0000 (22:13 -0600)

Fix minor typos/grammar in user-manual.txt

Signed-off-by: Junio C Hamano <junkio@cox.net>

Correct ordering in git-cvsimport's option documentationMichael Poole Wed, 28 Feb 2007 03:27:44 +0000 (22:27 -0500)

Correct ordering in git-cvsimport's option documentation

A pair of commits on January 8th added option documentation (for -a,
-S and -L) in the middle of the documentation for the -A option. This
makes -A's documentation contiguous again.

Signed-off-by: Michael Poole <mdpoole@troilus.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-show: Reject native refLinus Torvalds Wed, 28 Feb 2007 00:22:52 +0000 (16:22 -0800)

git-show: Reject native ref

So when we do

git show v1.4.4..v1.5.0

that's an illogical thing to do, since "git show" is defined to be a
non-revision-walking action, which means the range operator be pointless
and wrong. The fact that we happily accept it (and then _only_ show
v1.5.0, which is the positive end of the range) is quite arguably not very
logical.

We should complain, and say that you can only do "no_walk" with positive
refs. Negative object refs really don't make any sense unless you walk
the obejct list (or you're "git diff" and know about ranges explicitly).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix git-show man page formatting in the EXAMPLES sectionTheodore Tso Tue, 27 Feb 2007 15:43:28 +0000 (10:43 -0500)

Fix git-show man page formatting in the EXAMPLES section

Fix asciidoc markup so that the man page is properly formatted in the
EXAMPLES section.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-apply: do not fix whitespaces on context lines.Junio C Hamano Tue, 27 Feb 2007 09:31:42 +0000 (01:31 -0800)

git-apply: do not fix whitespaces on context lines.

Internal function apply_line() is called to copy both context lines
and added lines to the output buffer, while possibly fixing the
whitespace breakages depending on --whitespace=strip settings.
However, it did its fix-up on both context lines and added lines.

This resulted in two symptoms:

(1) The number of lines reported to have been fixed up included
these context lines.

(2) However, the lines actually shown were limited to the added
lines that had whitespace breakages.

Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --cc: integer overflow given a 2GB-or-larger fileJim Meyering Mon, 26 Feb 2007 23:11:35 +0000 (00:11 +0100)

diff --cc: integer overflow given a 2GB-or-larger file

Few of us use git to compare or even version-control 2GB files,
but when we do, we'll want it to work.

Reading a recent patch, I noticed two lines like this:

int len = st.st_size;

Instead of "int", that should be "size_t". Otherwise, in the
non-symlink case, with 64-bit size_t, if the file's size is 2GB,
the following xmalloc will fail:

result = xmalloc(len + 1);

trying to allocate 2^64 - 2^31 + 1 bytes (assuming sign-extension
in the int-to-size_t promotion). And even if it didn't fail, the
subsequent "result[len] = 0;" would be equivalent to an unpleasant
"result[-2147483648] = 0;"

The other nearby "int"-declared size variable, sz, should also be of
type size_t, for the same reason. If sz ever wraps around and becomes
negative, xread will corrupt memory _before_ the "result" buffer.

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

mailinfo: do not get confused with logical lines that... Linus Torvalds Mon, 26 Feb 2007 19:10:59 +0000 (11:10 -0800)

mailinfo: do not get confused with logical lines that are too long.

It basically considers all the continuation lines to be lines of their
own, and if the total line is bigger than what we can fit in it, we just
truncate the result rather than stop in the middle and then get confused
when we try to parse the "next" line (which is just the remainder of the
first line).

[jc: added test, and tightened boundary a bit per list discussion.]

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-gui: Don't create empty (same tree as parent) commits. gitgui-0.6.2Shawn O. Pearce Mon, 26 Feb 2007 16:47:14 +0000 (11:47 -0500)

git-gui: Don't create empty (same tree as parent) commits.

Mark Levedahl noticed that git-gui will let you create an empty
normal (non-merge) commit if the file state in the index is out
of whack. The case Mark was looking at was with the new autoCRLF
feature in git enabled and is actually somewhat difficult to create.

I found a different way to create an empty commit: turn on the
Trust File Modifications flag, touch a file, rescan, then move
the file into the "Changes To Be Committed" list without looking
at the file's diff. This makes git-gui think there are files
staged for commit, yet the update-index call did nothing other
than refresh the stat information for the affected file. In
this case git-gui allowed the user to make a commit that did
not actually change anything in the repository.

Creating empty commits is usually a pointless operation; rarely
does it record useful information. More often than not an empty
commit is actually an indication that the user did not properly
update their index prior to commit. We should help the user out
by detecting this possible mistake and guiding them through it,
rather than blindly recording it.

After we get the new tree name back from write-tree we compare
it to the parent commit's tree; if they are the same string and
this is a normal (non-merge, non-amend) commit then something
fishy is going on. The user is making an empty commit, but they
most likely don't want to do that. We now pop an informational
dialog and start a rescan, aborting the commit.

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

git-gui: Add Reset to the Branch menu.Shawn O. Pearce Mon, 26 Feb 2007 16:22:10 +0000 (11:22 -0500)

git-gui: Add Reset to the Branch menu.

cehteh on #git noticed that there was no way to perform a reset --hard
from within git-gui. When I pointed out this was Merge->Abort Merge
cehteh said this is not very understandable, and that most users would
never guess to try that option unless they were actually in a merge.

So Branch->Reset is now also a way to cause a reset --hard from within
the UI. Right now the confirmation dialog is the same as the one used
in Merge->Abort Merge.

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

git-gui: Relocate the menu/transport menu code.Shawn O. Pearce Mon, 26 Feb 2007 16:17:11 +0000 (11:17 -0500)

git-gui: Relocate the menu/transport menu code.

This code doesn't belong down in the main window UI creation,
its really part of the menu system and probably should be
located with it. I'm moving it because I could not find
the code when I was looking for it earlier today, as it was
not where I expected it to be found.

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

GIT 1.5.0.2 v1.5.0.2Junio C Hamano Mon, 26 Feb 2007 07:58:50 +0000 (23:58 -0800)

GIT 1.5.0.2

Signed-off-by: Junio C Hamano <junkio@cox.net>

git-remote: support remotes with a dot in the namePavel Roskin Wed, 21 Feb 2007 05:03:36 +0000 (00:03 -0500)

git-remote: support remotes with a dot in the name

[jc: the original from Pavel was limiting the variable names to only
fetch and url, but I loosened it to take valid variable names.]
[jc: cherry-picked from 'master', since people seem to be reinventing
this many times.]

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Documentation: describe "-f/-t/-m" options to "git... Junio C Hamano Mon, 26 Feb 2007 07:26:11 +0000 (23:26 -0800)

Documentation: describe "-f/-t/-m" options to "git-remote add"

Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --cc: fix display of symlink conflicts during... Junio C Hamano Mon, 26 Feb 2007 06:24:47 +0000 (22:24 -0800)

diff --cc: fix display of symlink conflicts during a merge.

"git-diff-files --cc" to show conflicts during merge did not pass
the correct mode information for the working tree down, and showed
bogus combined diff.

Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'jc/merge-symlink' into maintJunio C Hamano Mon, 26 Feb 2007 03:09:59 +0000 (19:09 -0800)

Merge branch 'jc/merge-symlink' into maint

* jc/merge-symlink:
merge-recursive: fix longstanding bug in merging symlinks
merge-index: fix longstanding bug in merging symlinks

merge-recursive: fix longstanding bug in merging symlinksJunio C Hamano Mon, 26 Feb 2007 02:42:07 +0000 (18:42 -0800)

merge-recursive: fix longstanding bug in merging symlinks

Commit 3af244ca added unlink(2) before running symlink(2) to
update the working tree with the merge result, but it was
unlinking a wrong path. This resulted in loss of the path
pointed by a symlink.

Signed-off-by: Junio C Hamano <junkio@cox.net>

merge-index: fix longstanding bug in merging symlinksJunio C Hamano Mon, 26 Feb 2007 02:17:15 +0000 (18:17 -0800)

merge-index: fix longstanding bug in merging symlinks

Ancient commit e2b6a9d0 added code to pass "file modes" from
merge-index to merge-one-file, and then later commit 54dd99a1
wanted to make sure we do not end up creating a nonsense symlink
that points at a path whose name contains conflict markers.

However, nobody noticed that the code in merge-index added by
e2b6a9d0 were stripping the S_IFMT bits and the code in 54dd99a1
was meaningless. This fixes it.

Signed-off-by: Junio C Hamano <junkio@cox.net>

Add Release Notes to prepare for 1.5.0.2Junio C Hamano Sun, 25 Feb 2007 18:53:42 +0000 (10:53 -0800)

Add Release Notes to prepare for 1.5.0.2

Signed-off-by: Junio C Hamano <junkio@cox.net>

Allow arbitrary number of arguments to git-pack-objectsRoland Dreier Sun, 25 Feb 2007 17:34:27 +0000 (09:34 -0800)

Allow arbitrary number of arguments to git-pack-objects

If a repository ever gets in a situation where there are too many
packs (more than 60 or so), perhaps because of frequent use of
git-fetch -k or incremental git-repack, then it becomes impossible to
fully repack the repository with git-repack -a. That command just
dies with the cryptic message

fatal: too many internal rev-list options

This message comes from git-pack-objects, which is passed one command
line option like --unpacked=pack-<SHA1>.pack for each pack file to be
repacked. However, the current code has a static limit of 64 command
line arguments and just aborts if more arguments are passed to it.

Fix this by dynamically allocating the array of command line
arguments, and doubling the size each time it overflows.

Signed-off-by: Roland Dreier <roland@digitalvampire.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

rerere: do not deal with symlinks.Junio C Hamano Sun, 25 Feb 2007 09:29:43 +0000 (01:29 -0800)

rerere: do not deal with symlinks.

Who would use multi-line symlinks that would benefit from rerere?
Just ignore them.

Signed-off-by: Junio C Hamano <junkio@cox.net>

rerere: do not skip two conflicted paths next to each... Junio C Hamano Sun, 25 Feb 2007 09:24:34 +0000 (01:24 -0800)

rerere: do not skip two conflicted paths next to each other.

The code forgot to take the for (;;) loop control into account,
incrementing the index once too many.

Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge git://repo.or.cz/git-gui into maintJunio C Hamano Sun, 25 Feb 2007 07:33:12 +0000 (23:33 -0800)

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

* git://repo.or.cz/git-gui:
Don't modify CREDITS-FILE if it hasn't changed.

Don't modify CREDITS-FILE if it hasn't changed.Junio C Hamano Sun, 25 Feb 2007 07:18:11 +0000 (02:18 -0500)

Don't modify CREDITS-FILE if it hasn't changed.

We should always avoid rewriting a built file during `make install`
if nothing has changed since `make all`. This is to help support
the typical installation process of compiling a package as yourself,
then installing it as root.

Forcing CREDITS-FILE to be always be rebuilt in the Makefile means
that CREDITS-GEN needs to check for a change and only update
CREDITS-FILE if the file content actually differs. After all,
content is king in Git.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

diff-patch: Avoid emitting double-slashes in textual... Junio C Hamano Fri, 23 Feb 2007 11:44:30 +0000 (03:44 -0800)

diff-patch: Avoid emitting double-slashes in textual patch.

Signed-off-by: Junio C Hamano <junkio@cox.net>

Reword git-am 3-way fallback failure message.Junio C Hamano Sat, 24 Feb 2007 09:05:27 +0000 (01:05 -0800)

Reword git-am 3-way fallback failure message.

When the blobs recorded on the index lines in the patch as pre-image
blobs are not found in the repository, "git-am" punted saying
that the index line does not record anything useful. This was not
clear enough -- the index line does have something useful but the
problem was that it was not useful in _that_ repository.

Reword the message as Francis Moreau suggests.

Signed-off-by: Junio C Hamano <junkio@cox.net>