gitweb.git
Merge branch 'master' of git://repo.or.cz/git-guiJunio C Hamano Wed, 18 Apr 2007 00:16:56 +0000 (17:16 -0700)

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

* 'master' of git://repo.or.cz/git-gui:
git-gui: Honor TCLTK_PATH if supplied
Revert "Allow wish interpreter to be defined with TCLTK_PATH"
git-gui: Display the directory basename in the title
git-gui: Brown paper bag fix division by 0 in blame
Always bind the return key to the default button
Do not break git-gui messages into multiple lines.
Improve look-and-feel of the git-gui tool.
Teach git-gui to use the user-defined UI font everywhere.
Allow wish interpreter to be defined with TCLTK_PATH

Merge branch 'jc/read-tree-df'Junio C Hamano Tue, 17 Apr 2007 23:55:46 +0000 (16:55 -0700)

Merge branch 'jc/read-tree-df'

* jc/read-tree-df:
t3030: merge-recursive backend test.
merge-recursive: handle D/F conflict case more carefully.
merge-recursive: do not barf on "to be removed" entries.
Treat D/F conflict entry more carefully in unpack-trees.c::threeway_merge()
t1000: fix case table.

git-gui: Honor TCLTK_PATH if suppliedJunio C Hamano Tue, 17 Apr 2007 10:31:47 +0000 (03:31 -0700)

git-gui: Honor TCLTK_PATH if supplied

Mimick what we do for gitk. Since you do have a source file,
git-gui.sh, which is separate from the target, it should be much
easier in git-gui's Makefile.

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

Revert "Allow wish interpreter to be defined with TCLTK... Shawn O. Pearce Tue, 17 Apr 2007 17:15:56 +0000 (13:15 -0400)

Revert "Allow wish interpreter to be defined with TCLTK_PATH"

This reverts commit e2a1bc67d321a0c03737179f331c39a52e7049d7.

Junio rightly pointed out this patch doesn't handle the
`make install` target very well:

Junio C Hamano <junkio@cox.net> writes:
> You should never generate new files in the source tree from
> 'install' target. Otherwise, the usual pattern of "make" as
> yourself and then "make install" as root would not work from a
> "root-to-nobody-squashing" NFS mounted source tree to local
> filesystem. You should know better than accepting such a patch.

Add --ignore-unmatch option to exit with zero status... Steven Grimm Mon, 16 Apr 2007 07:53:24 +0000 (00:53 -0700)

Add --ignore-unmatch option to exit with zero status when no files are removed.

Signed-off-by: Steven Grimm <koreth@midwinter.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Bisect: rename "t/t6030-bisect-run.sh" to "t/t6030... Christian Couder Tue, 17 Apr 2007 04:51:48 +0000 (06:51 +0200)

Bisect: rename "t/t6030-bisect-run.sh" to "t/t6030-bisect-porcelain.sh".

[jc: also fix 0a5280a9 that incorrectly changed the title of one test.]

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Bisect: simplify "bisect start" logging.Christian Couder Tue, 17 Apr 2007 04:40:50 +0000 (06:40 +0200)

Bisect: simplify "bisect start" logging.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'js/wrap-log'Junio C Hamano Mon, 16 Apr 2007 23:53:29 +0000 (16:53 -0700)

Merge branch 'js/wrap-log'

* js/wrap-log:
Fix permissions on test scripts
Fix t4201: accidental arithmetic expansion
shortlog -w: make wrap-line behaviour optional.
Use print_wrapped_text() in shortlog

Fix permissions on test scriptsAlex Riesen Fri, 13 Apr 2007 20:13:51 +0000 (22:13 +0200)

Fix permissions on test scripts

Make every test executable. Remove exec-attribute from included shell files,
they can't used standalone anyway.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix t4201: accidental arithmetic expansionAlex Riesen Fri, 13 Apr 2007 20:13:10 +0000 (22:13 +0200)

Fix t4201: accidental arithmetic expansion

instead of embedded subshell. It actually breaks here (dash as /bin/sh):

t4201-shortlog.sh: 27: Syntax error: Missing '))'
FATAL: Unexpected exit with code 2

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

send-email: do not leave an empty CC: line if no cc... Junio C Hamano Mon, 16 Apr 2007 23:51:47 +0000 (16:51 -0700)

send-email: do not leave an empty CC: line if no cc is present.

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

Add support for "commit name decorations" to log family... Linus Torvalds Mon, 16 Apr 2007 23:05:10 +0000 (16:05 -0700)

Add support for "commit name decorations" to log family of commands

This adds "--decorate" as a log option, which prints out the ref names
of any commits that are shown.

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

Add a generic "object decorator" interface, and make... Linus Torvalds Mon, 16 Apr 2007 23:03:15 +0000 (16:03 -0700)

Add a generic "object decorator" interface, and make object refs use it

This allows you to add an arbitrary "decoration" of your choice to any
object. It's a space- and time-efficient way to add information to
arbitrary objects, especially if most objects probably do not have the
decoration.

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

Merge branch 'maint'Junio C Hamano Mon, 16 Apr 2007 09:54:18 +0000 (02:54 -0700)

Merge branch 'maint'

* maint:
Have sample update hook not refuse deleting a branch through push.
variable $projectdesc needs to be set before checking against unchanged default.
Update git-annotate/git-blame documentation
Update git-apply documentation
Update git-applymbox documentation
Update git-am documentation
user-manual: use detached head when rewriting history
user-manual: start revising "internals" chapter
user-manual: detached HEAD
user-manual: fix discussion of default clone
Documentation: clarify track/no-track option.
Documentation: clarify git-checkout -f, minor editing
Documentation: minor edits of git-lost-found manpage

Have sample update hook not refuse deleting a branch... Gerrit Pape Mon, 16 Apr 2007 08:31:35 +0000 (08:31 +0000)

Have sample update hook not refuse deleting a branch through push.

source ref might be 0000...0000 to delete a branch through git-push,
'git <remote> push :<branch>'. The update hook should not decline this.

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

variable $projectdesc needs to be set before checking... Gerrit Pape Mon, 16 Apr 2007 08:30:42 +0000 (08:30 +0000)

variable $projectdesc needs to be set before checking against unchanged default.

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

git-rm: Trivial fix for a comment typo.Steven Grimm Mon, 16 Apr 2007 08:17:32 +0000 (01:17 -0700)

git-rm: Trivial fix for a comment typo.

Signed-off-by: Steven Grimm <koreth@midwinter.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update git-annotate/git-blame documentationAndrew Ruder Mon, 16 Apr 2007 06:20:34 +0000 (01:20 -0500)

Update git-annotate/git-blame documentation

Moved options that pertained to both git-blame and git-annotate to a
common file blame-options.txt.

builtin-blame.c: Removed --compatibility, --long, --time from the
short usage as they are not handled in the code.

Documentation/git-blame.txt: Removed common options to git-annotate.
Added documentation for --score-debug. Removed --compatibility.
Adjusted usage at top to not wrap on 80 columns.

Documentation/git-annotate.txt: Using common options blame-options.txt.

Documentation/blame-options.txt: Added -b note about associated config
option, added --root note about associated config option, added
documentation for --show-stats. Removed --long, --time, --rev-file as
those options do not really exist. Added documentation for -M/-C taking
an optional score argument for detection of moved lines.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update git-apply documentationAndrew Ruder Mon, 16 Apr 2007 06:20:40 +0000 (01:20 -0500)

Update git-apply documentation

Document -v (short form of --verbose). Redo usage
to not wrap on 80 column terminal with typical
settings.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update git-applymbox documentationAndrew Ruder Mon, 16 Apr 2007 06:40:06 +0000 (01:40 -0500)

Update git-applymbox documentation

Documentation/git-applymbox.txt: updating -u documentation to include
fact that it encodes to the i18n.commitencoding setting, not just utf-8.
Added documentation of -n option to pass -n to git-mailinfo.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update git-am documentationAndrew Ruder Mon, 16 Apr 2007 07:21:31 +0000 (02:21 -0500)

Update git-am documentation

Documentation/git-am.txt missing several short versions
of options. Added documentation for --resolvemsg=<msg>
command-line option.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

user-manual: use detached head when rewriting historyJ. Bruce Fields Mon, 16 Apr 2007 04:37:16 +0000 (00:37 -0400)

user-manual: use detached head when rewriting history

This is slightly simpler if we use a detached head. And it's probably
good to have another example that uses this feature.

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

user-manual: start revising "internals" chapterJ. Bruce Fields Mon, 16 Apr 2007 04:37:15 +0000 (00:37 -0400)

user-manual: start revising "internals" chapter

Minor revisions, cross-references.

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

user-manual: detached HEADJ. Bruce Fields Mon, 16 Apr 2007 04:37:14 +0000 (00:37 -0400)

user-manual: detached HEAD

Add a brief mention of detached HEADs and .git/HEAD.

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

user-manual: fix discussion of default cloneJ. Bruce Fields Mon, 16 Apr 2007 04:37:13 +0000 (00:37 -0400)

user-manual: fix discussion of default clone

The name "master" isn't actually quite so special. Also, fix some bad
grammar.

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

Documentation: clarify track/no-track option.J. Bruce Fields Mon, 16 Apr 2007 04:37:12 +0000 (00:37 -0400)

Documentation: clarify track/no-track option.

Fix the description of the --no-track option so it no longer says the
opposite of what was intended. Also mention branch.autosetupmerge
explicitly.

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

Documentation: clarify git-checkout -f, minor editingJ. Bruce Fields Mon, 16 Apr 2007 04:37:11 +0000 (00:37 -0400)

Documentation: clarify git-checkout -f, minor editing

"Force a re-read of everything" doesn't mean much to me.

Also some minor grammar fixes.

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

Documentation: minor edits of git-lost-found manpageJ. Bruce Fields Mon, 16 Apr 2007 04:37:10 +0000 (00:37 -0400)

Documentation: minor edits of git-lost-found manpage

Minor improvements to grammar and clarity of lost-found manpage.

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

Add --quiet option to suppress output of "rm" commands... Steven Grimm Mon, 16 Apr 2007 07:46:48 +0000 (00:46 -0700)

Add --quiet option to suppress output of "rm" commands for removed files.

Signed-off-by: Steven Grimm <koreth@midwinter.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Display the subject of the commit just made.Michael S. Tsirkin Mon, 16 Apr 2007 05:51:11 +0000 (08:51 +0300)

Display the subject of the commit just made.

Useful e.g. to figure out what I did from screen history,
or to make sure subject line is short enough and makes sense
on its own.

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

Add policy on user-interface changesAndrew Ruder Mon, 16 Apr 2007 05:35:25 +0000 (00:35 -0500)

Add policy on user-interface changes

Documentation/SubmittingPatches: Add note that all user interface changes
should include associated documentation updates.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint'Junio C Hamano Mon, 16 Apr 2007 00:52:07 +0000 (17:52 -0700)

Merge branch 'maint'

* maint:
Document -g (--walk-reflogs) option of git-log
sscanf/strtoul: parse integers robustly
git-blame: Fix overrun in fake_working_tree_commit()
[PATCH] Improve look-and-feel of the gitk tool.
[PATCH] Teach gitk to use the user-defined UI font everywhere.

Document -g (--walk-reflogs) option of git-logAlex Riesen Sun, 15 Apr 2007 22:36:06 +0000 (00:36 +0200)

Document -g (--walk-reflogs) option of git-log

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

ident.c: Use size_t (instead of int) to store sizesLuiz Fernando N. Capitulino Sun, 15 Apr 2007 18:51:29 +0000 (15:51 -0300)

ident.c: Use size_t (instead of int) to store sizes

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Junio C Hamano <junkio@cox.net>

ident.c: Use const qualifier for 'struct passwd' parametersLuiz Fernando N. Capitulino Sun, 15 Apr 2007 21:40:31 +0000 (18:40 -0300)

ident.c: Use const qualifier for 'struct passwd' parameters

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-gui: Display the directory basename in the titleShawn O. Pearce Sat, 14 Apr 2007 19:10:48 +0000 (15:10 -0400)

git-gui: Display the directory basename in the title

By showing the basename of the directory very early in the
title bar I can more easily locate a particular git-gui
session when I have 8 open at once and my Windows taskbar
is overflowing with items.

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

Merge branch 'er/ui'Shawn O. Pearce Sun, 15 Apr 2007 04:34:28 +0000 (00:34 -0400)

Merge branch 'er/ui'

* er/ui:
Always bind the return key to the default button
Do not break git-gui messages into multiple lines.
Improve look-and-feel of the git-gui tool.
Teach git-gui to use the user-defined UI font everywhere.
Allow wish interpreter to be defined with TCLTK_PATH

sscanf/strtoul: parse integers robustlyJim Meyering Mon, 9 Apr 2007 23:01:44 +0000 (01:01 +0200)

sscanf/strtoul: parse integers robustly

* builtin-grep.c (strtoul_ui): Move function definition from here, to...
* git-compat-util.h (strtoul_ui): ...here, with an added "base" parameter.
* builtin-grep.c (cmd_grep): Update use of strtoul_ui to include base, "10".
* builtin-update-index.c (read_index_info): Diagnose an invalid mode integer
that is out of range or merely larger than INT_MAX.
(cmd_update_index): Use strtoul_ui, not sscanf.
* convert-objects.c (write_subdirectory): Likewise.

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

Merge git://git2./pub/scm/gitk/gitk into maintJunio C Hamano Sun, 15 Apr 2007 02:45:16 +0000 (19:45 -0700)

Merge git://git2./pub/scm/gitk/gitk into maint

* git://git2.kernel.org/pub/scm/gitk/gitk:
[PATCH] Improve look-and-feel of the gitk tool.
[PATCH] Teach gitk to use the user-defined UI font everywhere.

git-blame: Fix overrun in fake_working_tree_commit()Michael Spang Sat, 14 Apr 2007 21:26:20 +0000 (17:26 -0400)

git-blame: Fix overrun in fake_working_tree_commit()

git-blame would overflow commit->buffer when annotating files with long paths.

Signed-off-by: Michael Spang <mspang@uwaterloo.ca>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint'Junio C Hamano Sat, 14 Apr 2007 11:18:46 +0000 (04:18 -0700)

Merge branch 'maint'

* maint:
git-quiltimport complaining yet still working
config.txt: Fix grammatical error in description of http.noEPSV
config.txt: Change pserver to server in description of gitcvs.*
config.txt: Document core.autocrlf
config.txt: Document gitcvs.allbinary
Do not default to --no-index when given two directories.
Use rev-list --reverse in git-rebase.sh

git-quiltimport complaining yet still workingLinus Torvalds Fri, 13 Apr 2007 21:34:18 +0000 (14:34 -0700)

git-quiltimport complaining yet still working

There were two bugs: "stop_here" doesn't exist, but the bug that causes
this code to trigger in the *first* place is the wrong use of "$dotest".
It should be ".dotest"

This is essentially the same bug introduced by 87ab7992, one was
fixed with 0d38ab25 but this was somehow left behind.

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

config.txt: Fix grammatical error in description of... Frank Lichtenheld Fri, 13 Apr 2007 16:02:33 +0000 (18:02 +0200)

config.txt: Fix grammatical error in description of http.noEPSV

s/doesn't/don't/ since "ftp servers" is plural

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

config.txt: Change pserver to server in description... Frank Lichtenheld Fri, 13 Apr 2007 16:02:32 +0000 (18:02 +0200)

config.txt: Change pserver to server in description of gitcvs.*

These variables apply to the SSH access as well, so don't use
pserver here which might confuse users.

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

config.txt: Document core.autocrlfFrank Lichtenheld Fri, 13 Apr 2007 16:02:31 +0000 (18:02 +0200)

config.txt: Document core.autocrlf

Text shamelessly stolen from the 1.5.1 release notes.

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

config.txt: Document gitcvs.allbinaryFrank Lichtenheld Fri, 13 Apr 2007 16:02:30 +0000 (18:02 +0200)

config.txt: Document gitcvs.allbinary

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

Do not default to --no-index when given two directories.Junio C Hamano Fri, 13 Apr 2007 10:23:20 +0000 (03:23 -0700)

Do not default to --no-index when given two directories.

git-diff -- a/ b/ always defaulted to --no-index, primarily
because the function is_in_index() was implemented quite
incorrectly.

Noticed by Patrick Maaß and Simon Schubert independently,
initial patch was provided by Patrick but I fixed it
differently.

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

Use rev-list --reverse in git-rebase.shAlex Riesen Fri, 13 Apr 2007 22:19:05 +0000 (00:19 +0200)

Use rev-list --reverse in git-rebase.sh

...and drop the last perl dependency in the script.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'jc/cherry'Junio C Hamano Fri, 13 Apr 2007 04:04:27 +0000 (21:04 -0700)

Merge branch 'jc/cherry'

* jc/cherry:
Documentation: --cherry-pick
git-log --cherry-pick A...B
Refactor patch-id filtering out of git-cherry and git-format-patch.
Add %m to '--pretty=format:'

Merge branch 'maint'Junio C Hamano Fri, 13 Apr 2007 04:04:09 +0000 (21:04 -0700)

Merge branch 'maint'

* maint:
handle_options in git wrapper miscounts the options it handled.

handle_options in git wrapper miscounts the options... Matthias Lederhofer Thu, 12 Apr 2007 18:52:03 +0000 (20:52 +0200)

handle_options in git wrapper miscounts the options it handled.

handle_options did not count the number of used arguments
correctly. When --git-dir was used the extra argument was
not added to the number of handled arguments.

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

Fix git {log,show,...} --pretty=emailJunio C Hamano Thu, 12 Apr 2007 10:04:05 +0000 (03:04 -0700)

Fix git {log,show,...} --pretty=email

An earlier --subject-prefix patch forgot that format-patch is
not the only codepath that adds the "[PATCH]" prefix, and broke
everybody else in the log family.

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

Don't yap about merge-subtree during makeShawn O. Pearce Thu, 12 Apr 2007 05:21:18 +0000 (01:21 -0400)

Don't yap about merge-subtree during make

By default we are pretty quiet about the actual commands that
we are running. So we should continue to be quiet about the new
merge-subtree hardlink to merge-recursive. Technically this is not
a builtin, but it is close because subtree is actually builtin to
a non-builtin. So lets just make things easy and call it a builtin.

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

Documentation: --cherry-pickJunio C Hamano Tue, 10 Apr 2007 22:28:32 +0000 (15:28 -0700)

Documentation: --cherry-pick

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

git-log --cherry-pick A...BJunio C Hamano Mon, 9 Apr 2007 10:40:38 +0000 (03:40 -0700)

git-log --cherry-pick A...B

This is meant to be a saner replacement for "git-cherry".

When used with "A...B", this filters out commits whose patch
text has the same patch-id as a commit on the other side. It
would probably most useful to use with --left-right.

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

Refactor patch-id filtering out of git-cherry and git... Junio C Hamano Tue, 10 Apr 2007 00:01:27 +0000 (17:01 -0700)

Refactor patch-id filtering out of git-cherry and git-format-patch.

This implements the patch-id computation and recording library,
patch-ids.c, and rewrites the get_patch_ids() function used in
cherry and format-patch to use it, so that they do not pollute
the object namespace. Earlier code threw non-objects into the
in-core object database, and hoped for not getting bitten by
SHA-1 collisions. While it may be practically Ok, it still was
an ugly hack.

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

Add %m to '--pretty=format:'Junio C Hamano Mon, 9 Apr 2007 09:34:05 +0000 (02:34 -0700)

Add %m to '--pretty=format:'

When used with '--boundary A...B', this shows the -/</> marker
you would get with --left-right option to 'git-log' family.
When symmetric diff is not used, everybody is shown to be on the
"right" branch.

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

sscanf/strtoul: parse integers robustlyJim Meyering Mon, 9 Apr 2007 23:01:44 +0000 (01:01 +0200)

sscanf/strtoul: parse integers robustly

* builtin-grep.c (strtoul_ui): Move function definition from here, to...
* git-compat-util.h (strtoul_ui): ...here, with an added "base" parameter.
* builtin-grep.c (cmd_grep): Update use of strtoul_ui to include base, "10".
* builtin-update-index.c (read_index_info): Diagnose an invalid mode integer
that is out of range or merely larger than INT_MAX.
(cmd_update_index): Use strtoul_ui, not sscanf.
* convert-objects.c (write_subdirectory): Likewise.

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

Add testcase for format-patch --subject-prefix (take 3)Robin H. Johnson Wed, 11 Apr 2007 23:58:08 +0000 (16:58 -0700)

Add testcase for format-patch --subject-prefix (take 3)

Add testcase for format-patch --subject-prefix support.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Add custom subject prefix support to format-patch ... Robin H. Johnson Wed, 11 Apr 2007 23:58:07 +0000 (16:58 -0700)

Add custom subject prefix support to format-patch (take 3)

Add a new option to git-format-patch, entitled --subject-prefix that allows
control of the subject prefix '[PATCH]'. Using this option, the text 'PATCH' is
replaced with whatever input is provided to the option. This allows easily
generating patches like '[PATCH 2.6.21-rc3]' or properly numbered series like
'[-mm3 PATCH N/M]'. This patch provides the implementation and documentation.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint'Junio C Hamano Thu, 12 Apr 2007 01:43:01 +0000 (18:43 -0700)

Merge branch 'maint'

* maint:
GIT 1.5.1.1
cvsserver: Fix handling of diappeared files on update
fsck: do not complain on detached HEAD.
(encode_85, decode_85): Mark source buffer pointer as "const".

GIT 1.5.1.1 v1.5.1.1Junio C Hamano Wed, 11 Apr 2007 21:39:07 +0000 (14:39 -0700)

GIT 1.5.1.1

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

cvsserver: Fix handling of diappeared files on updateFrank Lichtenheld Wed, 11 Apr 2007 20:38:19 +0000 (22:38 +0200)

cvsserver: Fix handling of diappeared files on update

Only send a modified response if the client sent a
"Modified" entry. This fixes the case where the
file was locally deleted on the client without
being removed from CVS. In this case the client
will only have sent the Entry for the file but nothing
else.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Acked-by: Martin Langhoff <martin@catalyst.net.nz>
Acked-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

fsck: do not complain on detached HEAD.Junio C Hamano Wed, 11 Apr 2007 08:28:43 +0000 (01:28 -0700)

fsck: do not complain on detached HEAD.

Detached HEAD is just a normal state of a repository. Do not
say anything about it.

Do not give worrying "error:" messages when we let the user know
that the HEAD points at nothing (i.e. yet to be born branch),
nor we do not have any default refs to start following the
objects chain. Reword them as "notice:".

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

(encode_85, decode_85): Mark source buffer pointer... Jim Meyering Mon, 9 Apr 2007 22:56:33 +0000 (00:56 +0200)

(encode_85, decode_85): Mark source buffer pointer as "const".

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

gitweb: Allow configuring the default projects order... Frank Lichtenheld Fri, 6 Apr 2007 21:58:24 +0000 (23:58 +0200)

gitweb: Allow configuring the default projects order and add order 'none'

Introduce new configuration variable $default_projects_order
that can be used to specify the default order of projects on
the index page if no 'o' parameter is given.

Allow a new value 'none' for order that will cause the projects
to be in the order we learned about them. In case of reading the
list of projects from a file, this should be the order as they are
listed in the file. In case of reading the list of projects from
a directory this will probably give random results depending on the
filesystem in use.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Acked-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Allow forks with project list fileFrank Lichtenheld Fri, 6 Apr 2007 21:58:11 +0000 (23:58 +0200)

gitweb: Allow forks with project list file

Make it possible to use the forks feature even when
reading the list of projects from a file, by creating
a list of known prefixes as we go. Forks have to be
listed after the main project in order to be recognised
as such.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Acked-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint'Junio C Hamano Tue, 10 Apr 2007 20:53:07 +0000 (13:53 -0700)

Merge branch 'maint'

* maint:
Documentation: show-ref: document --exclude-existing
cvsexportcommit -p : fix the usage of git-apply -C.

t3030: merge-recursive backend test.Junio C Hamano Sat, 7 Apr 2007 14:17:35 +0000 (07:17 -0700)

t3030: merge-recursive backend test.

We have fairly extensive coverage of read-tree 3-way machinery,
and many Porcelain-ish tests use git-merge front-end tests, but
we did not have good basic test for merge-recursive, which made
it very hard to hack on it.

I used this during the recent work to teach D/F conflicts to
merge-recursive.

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

merge-recursive: handle D/F conflict case more carefully.Junio C Hamano Sat, 7 Apr 2007 13:41:13 +0000 (06:41 -0700)

merge-recursive: handle D/F conflict case more carefully.

When a path D that originally was blob in the ancestor was
modified on our branch while it was removed on the other branch,
we keep stages 1 and 2, and leave our version in the working
tree. If the other branch created a path D/F, however, that
path can cleanly be resolved in the index (after all, the
ancestor nor we do not have it and only the other side added),
but it cannot be checked out. The issue is the same when the
other branch had D and we had renamed it to D/F, or the ancestor
had D/F instead of D (so there are four combinations).

Do not stop the merge, but leave both D and D/F paths in the
index so that the user can clear things up.

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

merge-recursive: do not barf on "to be removed" entries.Junio C Hamano Sat, 7 Apr 2007 12:52:57 +0000 (05:52 -0700)

merge-recursive: do not barf on "to be removed" entries.

When update-trees::threeway_merge() decides that a path that
exists in the current index (and HEAD) is to be removed, it
leaves a stage 0 entry whose mode bits are set to 0. The code
mistook it as "this stage wants the blob here", and proceeded
to call update_file_flags() which ended up trying to put the
mode=0 entry in the index, got very confused, and ended up
barfing with "do not know what to do with 000000".

Since threeway_merge() does not handle case #10 (one side
removes while the other side does not do anything), this is not
a problem while we refuse to merge branches that have D/F
conflicts, but when we start resolving them, we would need to be
able to remove cache entries, and at that point it starts to
matter.

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

Treat D/F conflict entry more carefully in unpack-trees... Junio C Hamano Sat, 7 Apr 2007 12:49:19 +0000 (05:49 -0700)

Treat D/F conflict entry more carefully in unpack-trees.c::threeway_merge()

This fixes three buglets in threeway_merge() regarding D/F
conflict entries.

* After finishing with path D and handling path D/F, some stages
have D/F conflict entry which are obviously non-NULL. For the
purpose of determining if the path D/F is missing in the
ancestor, they should not be taken into account.

* D/F conflict entry is a marker to say "this stage does _not_
have the path", so do not send them to keep_entry().

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

t1000: fix case table.Junio C Hamano Sat, 7 Apr 2007 12:42:01 +0000 (05:42 -0700)

t1000: fix case table.

Case #10 is not handled with unpack-trees.c:threeway_merge()
internally, unless under the agressive rule, and it is not a
bug. As the test expects, ND (one side did not do anything,
other side deleted) case was meant to be handled by the caller's
policy (e.g. git-merge-one-file or git-merge-recursive).

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

shortlog -w: make wrap-line behaviour optional.Junio C Hamano Sun, 8 Apr 2007 08:28:00 +0000 (01:28 -0700)

shortlog -w: make wrap-line behaviour optional.

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

Use print_wrapped_text() in shortlogJohannes Schindelin Fri, 22 Dec 2006 21:15:59 +0000 (22:15 +0100)

Use print_wrapped_text() in shortlog

Some oneline descriptions are just too long. In shortlog, it looks much
nicer when they are wrapped. Since print_wrapped_text() is UTF-8 aware,
it also works with those descriptions.

[jc: with minimum fixes]

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

Documentation: show-ref: document --exclude-existingJulian Phillips Mon, 9 Apr 2007 20:57:36 +0000 (21:57 +0100)

Documentation: show-ref: document --exclude-existing

Use the comment in the code to document the --exclude-existing
function to git-show-ref.

Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

cvsexportcommit -p : fix the usage of git-apply -C.Tomash Brechko Mon, 9 Apr 2007 11:24:02 +0000 (15:24 +0400)

cvsexportcommit -p : fix the usage of git-apply -C.

Unlike 'patch --fuzz=NUM', which specifies the number of lines allowed
to mismatch, 'git-apply -CNUM' requests the match of NUM lines of
context. Omitting -C requests full context match, and that's what
should be used for cvsexportcommit -p.

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

git-archive: make tar the default formatRené Scharfe Mon, 9 Apr 2007 15:12:53 +0000 (17:12 +0200)

git-archive: make tar the default format

As noted by Junio, --format=tar should be assumed if no format
was specified.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'jc/push'Junio C Hamano Mon, 9 Apr 2007 06:54:47 +0000 (23:54 -0700)

Merge branch 'jc/push'

* jc/push:
git-push to multiple locations does not stop at the first failure
git-push reports the URL after failing.

Merge branch 'jc/merge-subtree'Junio C Hamano Mon, 9 Apr 2007 06:51:14 +0000 (23:51 -0700)

Merge branch 'jc/merge-subtree'

* jc/merge-subtree:
A new merge stragety 'subtree'.

It is safe to merge this early as this is a feature that user
explicitly needs to ask for and would not trigger otherwise. A
known issue with the current implementation is that the subtree
matching heuristics is very stupid. It could run ls-tree twice
and try to count intersection.

Giving it wider audience would help it to get improved by
motivated volunteers.

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

Merge branch 'js/fetch-progress'Junio C Hamano Mon, 9 Apr 2007 06:27:22 +0000 (23:27 -0700)

Merge branch 'js/fetch-progress'

* js/fetch-progress:
git-fetch: add --quiet

Merge branch 'maint'Junio C Hamano Mon, 9 Apr 2007 06:20:43 +0000 (23:20 -0700)

Merge branch 'maint'

* maint:
Add Documentation/cmd-list.made to .gitignore
git-svn: fix log command to avoid infinite loop on long commit messages
git-svn: dcommit/rebase confused by patches with git-svn-id: lines
git-svn: bail out on incorrect command-line options

Add Documentation/cmd-list.made to .gitignoreJunio C Hamano Mon, 9 Apr 2007 05:14:16 +0000 (22:14 -0700)

Add Documentation/cmd-list.made to .gitignore

Noticed by Randal L. Schwartz.

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

git-svn: fix log command to avoid infinite loop on... Eric Wong Sun, 8 Apr 2007 07:59:22 +0000 (00:59 -0700)

git-svn: fix log command to avoid infinite loop on long commit messages

This bug has been around since the the conversion to use the
Git.pm library back in October or November. Eventually I'd like
"git rev-list/log" to have the option to not truncate overly
long messages.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svn: dcommit/rebase confused by patches with git... Eric Wong Sun, 8 Apr 2007 07:59:19 +0000 (00:59 -0700)

git-svn: dcommit/rebase confused by patches with git-svn-id: lines

When patches are merged from another git-svn managed branch,
they will have the git-svn-id: metadata line in them (generated
by git-format-patch).

When doing rebase or dcommit via git-svn, this would cause
git-svn to find the wrong upstream branch. We now verify
that the commit is consistent with the value in the .rev_db
file.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-svn: bail out on incorrect command-line optionsEric Wong Tue, 3 Apr 2007 08:57:08 +0000 (01:57 -0700)

git-svn: bail out on incorrect command-line options

"git svn log" is the only command that needs the pass-through
option in Getopt::Long; otherwise we will bail out and let the
user know something is wrong.

Also, avoid printing out unaccepted mixed-case options (that
are reserved for the command-line) such as --useSvmProps
in the usage() function.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Start 1.5.2 cycle by prepareing RelNotes for it.Junio C Hamano Sun, 8 Apr 2007 06:59:32 +0000 (23:59 -0700)

Start 1.5.2 cycle by prepareing RelNotes for it.

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

Merge branch 'jc/read-tree-df' (early part)Junio C Hamano Sun, 8 Apr 2007 06:52:40 +0000 (23:52 -0700)

Merge branch 'jc/read-tree-df' (early part)

* 'jc/read-tree-df' (early part):
Fix switching to a branch with D/F when current branch has file D.
Fix twoway_merge that passed d/f conflict marker to merged_entry().
Fix read-tree --prefix=dir/.
unpack-trees: get rid of *indpos parameter.
unpack_trees.c: pass unpack_trees_options structure to keep_entry() as well.
add_cache_entry(): removal of file foo does not conflict with foo/bar

Merge branch 'maint'Junio C Hamano Sun, 8 Apr 2007 06:34:45 +0000 (23:34 -0700)

Merge branch 'maint'

* maint:
Prepare for 1.5.1.1
cvsserver: small corrections to asciidoc documentation

Prepare for 1.5.1.1Junio C Hamano Sun, 8 Apr 2007 06:33:14 +0000 (23:33 -0700)

Prepare for 1.5.1.1

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

cvsserver: small corrections to asciidoc documentationFrank Lichtenheld Sat, 7 Apr 2007 14:58:08 +0000 (16:58 +0200)

cvsserver: small corrections to asciidoc documentation

Fix a typo: s/Not/Note/

Some formating fixes: Use ` ` syntax for all filenames and
' ' syntax for all commandline switches.

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

A new merge stragety 'subtree'.Junio C Hamano Fri, 16 Feb 2007 00:32:45 +0000 (16:32 -0800)

A new merge stragety 'subtree'.

This merge strategy largely piggy-backs on git-merge-recursive.
When merging trees A and B, if B corresponds to a subtree of A,
B is first adjusted to match the tree structure of A, instead of
reading the trees at the same level. This adjustment is also
done to the common ancestor tree.

If you are pulling updates from git-gui repository into git.git
repository, the root level of the former corresponds to git-gui/
subdirectory of the latter. The tree object of git-gui's toplevel
is wrapped in a fake tree object, whose sole entry has name 'git-gui'
and records object name of the true tree, before being used by
the 3-way merge code.

If you are merging the other way, only the git-gui/ subtree of
git.git is extracted and merged into git-gui's toplevel.

The detection of corresponding subtree is done by comparing the
pathnames and types in the toplevel of the tree.

Heuristics galore! That's the git way ;-).

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

git-push to multiple locations does not stop at the... Junio C Hamano Sat, 7 Apr 2007 06:04:53 +0000 (23:04 -0700)

git-push to multiple locations does not stop at the first failure

When pushing into multiple repositories with git push, via
multiple URL in .git/remotes/$shorthand or multiple url
variables in [remote "$shorthand"] section, we used to stop upon
the first failure. Continue the operation and report the
failure at the end.

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

git-push reports the URL after failing.Junio C Hamano Sat, 7 Apr 2007 06:04:55 +0000 (23:04 -0700)

git-push reports the URL after failing.

This came up on #git when somebody was getting 'unable to create
./objects/tmp_oXXXX' but sweared he had write permission to that
directory. It turned out that the repository URL was changed
and he was accessing a repository he does not have a write
permission anymore.

I am not sure how much this would have helped somebody who
believed he was accessing location when the permission of that
location was changed while he was looking the other way, though.
But giving more information on the error path would be better,
and the next change would be helped with this as well.

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

Merge branch 'jc/index-output'Junio C Hamano Sat, 7 Apr 2007 09:26:24 +0000 (02:26 -0700)

Merge branch 'jc/index-output'

* jc/index-output:
git-read-tree --index-output=<file>
_GIT_INDEX_OUTPUT: allow plumbing to output to an alternative index file.

Conflicts:

builtin-apply.c

Merge branch 'fp/make-j'Junio C Hamano Sat, 7 Apr 2007 09:20:47 +0000 (02:20 -0700)

Merge branch 'fp/make-j'

* fp/make-j:
Makefile: Add '+' to QUIET_SUBDIR0 to fix parallel make.

Merge branch 'cc/bisect'Junio C Hamano Sat, 7 Apr 2007 09:20:39 +0000 (02:20 -0700)

Merge branch 'cc/bisect'

* cc/bisect:
git-bisect: allow bisecting with only one bad commit.
t6030: add a bit more tests to git-bisect
git-bisect: modernization
Documentation: bisect: "start" accepts one bad and many good commits
Bisect: teach "bisect start" to optionally use one bad and many good revs.

Merge branch 'jc/checkout' (early part)Junio C Hamano Sat, 7 Apr 2007 09:19:54 +0000 (02:19 -0700)

Merge branch 'jc/checkout' (early part)

* 'jc/checkout' (early part):
checkout: allow detaching to HEAD even when switching to the tip of a branch

Merge branch 'maint'Junio C Hamano Sat, 7 Apr 2007 08:30:43 +0000 (01:30 -0700)

Merge branch 'maint'

* maint:
Documentation: tighten dependency for git.{html,txt}
Makefile: iconv() on Darwin has the old interface
t5300-pack-object.sh: portability issue using /usr/bin/stat
t3200-branch.sh: small language nit
usermanual.txt: some capitalization nits
Make builtin-branch.c handle the git config file
rename_ref(): only print a warning when config-file update fails
Distinguish branches by more than case in tests.
Avoid composing too long "References" header.
cvsimport: Improve formating consistency
cvsimport: Reorder options in documentation for better understanding
cvsimport: Improve usage error reporting
cvsimport: Improve documentation of CVSROOT and CVS module determination
cvsimport: sync usage lines with existing options

Conflicts:

Documentation/Makefile

Documentation: tighten dependency for git.{html,txt}Junio C Hamano Fri, 6 Apr 2007 05:17:20 +0000 (22:17 -0700)

Documentation: tighten dependency for git.{html,txt}

Every time _any_ documentation page changed, cmds-*.txt files
were regenerated, which caused git.{html,txt} to be remade. Try
not to update cmds-*.txt files if their new contents match the
old ones.

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