gitweb.git
gitk: Allow view to specify arbitrary arguments to... Paul Mackerras Tue, 2 May 2006 23:32:53 +0000 (09:32 +1000)

gitk: Allow view to specify arbitrary arguments to git-rev-list

The list of arguments to git-rev-list, including arguments that
select the range of commits, is now a part of the view specification.
If any arguments are given to gitk, they become part of the
"Command line" view, and the non-file arguments become the default
for any new views created.

Getting an error from git-rev-list is no longer fatal; instead the
error window pops up, and when you press OK, the main window just
shows "No commits selected".

The git-rev-list arguments are entered in an entry widget in the
view editor window using shell quoting conventions, not Tcl quoting
conventions.

Signed-off-by: Paul Mackerras <paulus@samba.org>

Merge branch 'fix'Junio C Hamano Tue, 2 May 2006 22:05:34 +0000 (15:05 -0700)

Merge branch 'fix'

* fix:
git-send-email: fix version string to be valid perl
Give the user a hint for how to continue in the case that git-am fails because it requires user intervention

git-send-email: fix version string to be valid perlMartin Langhoff Tue, 2 May 2006 21:44:36 +0000 (09:44 +1200)

git-send-email: fix version string to be valid perl

This makes git-send-email easier to develop and debug, skipping the need
to `make git-send-email` every time.

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

Revert "fetch, pull: ask config for remote information"Junio C Hamano Tue, 2 May 2006 21:16:46 +0000 (14:16 -0700)

Revert "fetch, pull: ask config for remote information"

This reverts 5a223a0d434c874984a0251eca4520ef95718a6d commit.
I asked Johannes to roll an updated version, so let's wait for it.

repo-config: trim white-space before commentJohannes Schindelin Tue, 2 May 2006 14:58:37 +0000 (16:58 +0200)

repo-config: trim white-space before comment

Earlier, calling

git-repo-config core.hello

on a .git/config like this:

[core]
hello = world ; a comment

would yield "world " (i.e. with a trailing space).

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

repo-config: fix segfault with no argument.Johannes Schindelin Tue, 2 May 2006 19:54:12 +0000 (12:54 -0700)

repo-config: fix segfault with no argument.

An earlier addition of --list feature was carelessly done and
caused an invalid access to argv[1] when it was not given.

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

Give the user a hint for how to continue in the case... Robert Shearman Tue, 2 May 2006 12:32:43 +0000 (13:32 +0100)

Give the user a hint for how to continue in the case that git-am fails because it requires user intervention

Give the user a hint for how to continue in the case that git-am fails
because it requires user intervention.

Signed-off-by: Robert Shearman <rob@codeweaves.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitk: Fix file list display when files are renamedPaul Mackerras Tue, 2 May 2006 09:55:31 +0000 (19:55 +1000)

gitk: Fix file list display when files are renamed

The conversion of the file list to use a text widget assumed incorrectly
that the list of files from git-diff-tree -r would correspond 1-1 with
the diff sections in the output of git-diff-tree -r -p -C, which is
not true when renames are detected. This fixes it by keeping the
elements in the difffilestart list in the order they appear in the
file list window.

Since this means that the elements of difffilestart are no longer
necessarily in ascending order, it's somewhat hard to do the dynamic
highlighting in the file list as the diff window is scrolled, so I
have taken that out for now.

Signed-off-by: Paul Mackerras <paulus@samba.org>

fetch, pull: ask config for remote informationJohannes Schindelin Sun, 30 Apr 2006 13:24:03 +0000 (15:24 +0200)

fetch, pull: ask config for remote information

Now you can say

[remote.junio]
url = git://git.kernel.org/pub/scm/git/git.git
pull = next:next

in your .git/config.

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

builtin-push: also ask config for remote informationJohannes Schindelin Sun, 30 Apr 2006 13:23:48 +0000 (15:23 +0200)

builtin-push: also ask config for remote information

Now you can store your remote information in the config file like this:

[remote.upstream]
url = me@company.com:the-project
push = master:iceballs

[jc: fixed up to adjust a different fix for Push: lines earlier.]

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

builtin-push: make it official.Junio C Hamano Tue, 2 May 2006 06:40:37 +0000 (23:40 -0700)

builtin-push: make it official.

Remove the shell script version, and hardlink the git binary to it.

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

show-branch: omit uninteresting merges.Junio C Hamano Tue, 2 May 2006 00:12:26 +0000 (17:12 -0700)

show-branch: omit uninteresting merges.

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

builtin-log/whatchanged/show: make them official.Junio C Hamano Tue, 2 May 2006 06:14:58 +0000 (23:14 -0700)

builtin-log/whatchanged/show: make them official.

Remove the shell script version, and hardlink the git binary to
them.

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

builtin-diff: call it "git-diff", really.Junio C Hamano Tue, 2 May 2006 05:58:18 +0000 (22:58 -0700)

builtin-diff: call it "git-diff", really.

Call it "git diff" not "git diffn", remove the shell script
version, and hardlink the git binary to it.

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

builtin-count-objects: make it official.Junio C Hamano Tue, 2 May 2006 06:05:39 +0000 (23:05 -0700)

builtin-count-objects: make it official.

Remove the shell-script version, make the hardlink from the git
binary, and update the documentation to describe a new option.

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

Merge branch 'jc/xsha1-2'Junio C Hamano Tue, 2 May 2006 05:55:40 +0000 (22:55 -0700)

Merge branch 'jc/xsha1-2'

* jc/xsha1-2:
Extended SHA1 -- "rev^@" syntax to mean "all parents"

Merge branch 'jc/pack'Junio C Hamano Tue, 2 May 2006 05:54:22 +0000 (22:54 -0700)

Merge branch 'jc/pack'

Merge branch 'jc/pathcheck'Junio C Hamano Tue, 2 May 2006 05:51:27 +0000 (22:51 -0700)

Merge branch 'jc/pathcheck'

* jc/pathcheck:
revision parsing: make "rev -- paths" checks stronger.

Merge branch 'nh/fetch-http'Junio C Hamano Tue, 2 May 2006 05:42:01 +0000 (22:42 -0700)

Merge branch 'nh/fetch-http'

* nh/fetch-http:
git-fetch: resolve remote symrefs for HTTP transport

Merge branch 'se/rebase'Junio C Hamano Tue, 2 May 2006 05:39:57 +0000 (22:39 -0700)

Merge branch 'se/rebase'

* se/rebase:
Add --continue and --abort options to git-rebase.

gitk: Basic support for highlighting one view within... Paul Mackerras Tue, 2 May 2006 01:15:29 +0000 (11:15 +1000)

gitk: Basic support for highlighting one view within another

With this, one view can be used as a highlight for another, so that
the commits that are in the highlight view are displayed in bold.
This required some fairly major changes to how the list of ids,
parents, children, and id to row mapping were stored for each view.
We can now be reading in several views at once; for all except the
current view, we just update the displayorder and the lists of parents
and children for the view.

This also creates a little bit of infrastructure for handling the
watch cursor.

Signed-off-by: Paul Mackerras <paulus@samba.org>

get_sha1(): :path and :[0-3]:path to extract from index.Junio C Hamano Sat, 22 Apr 2006 00:31:04 +0000 (17:31 -0700)

get_sha1(): :path and :[0-3]:path to extract from index.

Earlier patch to say <ent>:<path> by Linus was very useful, and
this extends the same idea to the current index. An sha1
expression :<path> extracts the object name for the named path
from the current index.

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

Extended SHA1 -- "rev^@" syntax to mean "all parents"Junio C Hamano Sun, 30 Apr 2006 07:54:29 +0000 (00:54 -0700)

Extended SHA1 -- "rev^@" syntax to mean "all parents"

A short-hand "rev^@" is understood to be "all parents of the
named commit" with this patch. So you can do

git show v1.0.0^@

to view the parents of a merge commit,

gitk ^v1.0.0^@ v1.0.4

to view the log between two revs (including the bottom one), and

git diff --cc v1.1.0 v1.0.0^@

to inspect what got changed from the merge parents of v1.0.0 to v1.1.0.

This might be just my shiny new toy that is not very useful in
practice. I needed it to do the multi-tree diff on Len's
infamous 12-way Octopus; typing "diff --cc funmerge funmerge^1
funmerge^2 funmerge^3 ..." was too painful.

[jc: taking suggestions from Linus and Johannes to match expectations
from shell users who are used to see $@ or $* either of which makes
sense. I tend to write "$@" more often so...]

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

gitk: Add a tree-browsing modePaul Mackerras Sun, 30 Apr 2006 23:50:57 +0000 (09:50 +1000)

gitk: Add a tree-browsing mode

You can now select whether you want to see the patch for a commit
or the whole tree. If you select the tree, gitk will now display
the commit message plus the contents of one file in the bottom-left
pane, when you click on the name of the file in the bottom-right pane.

Signed-off-by: Paul Mackerras <paulus@samba.org>

Fix builtin-push to honor Push: lines in remotes file.Junio C Hamano Sun, 30 Apr 2006 23:03:27 +0000 (16:03 -0700)

Fix builtin-push to honor Push: lines in remotes file.

[jc: originally from Johannes Schindelin, but reworked to lift a
hard limit of Push: lines]

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

builtin-push: resurrect parsing of Push: linesJohannes Schindelin Sun, 30 Apr 2006 12:05:55 +0000 (14:05 +0200)

builtin-push: resurrect parsing of Push: lines

The C'ification of push left these behind.

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

Merge with git://kernel.org/pub/scm/git/git.gitMartin Langhoff Sun, 30 Apr 2006 22:20:56 +0000 (10:20 +1200)

Merge with git://kernel.org/pub/scm/git/git.git

git builtin "push"Linus Torvalds Sun, 30 Apr 2006 04:22:49 +0000 (21:22 -0700)

git builtin "push"

This adds a builtin "push" command, which is largely just a C'ification of
the "git-push.sh" script.

Now, the reason I did it as a built-in is partly because it's yet another
step on relying less on shell, but it's actually mostly because I've
wanted to be able to push to _multiple_ repositories, and the most obvious
and simplest interface for that would seem be to just have a "remotes"
file that has multiple URL entries.

(For "pull", having multiple entries should either just select the first
one, or you could fall back on the others on failure - your choice).

And quite frankly, it just became too damn messy to do that in shell.
Besides, we actually have a fair amount of infrastructure in C, so it just
wasn't that hard to do.

Of course, this is almost totally untested. It probably doesn't work for
anything but the one trial I threw at it. "Simple" doesn't necessarily
mean "obviously correct".

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

Merge branch 'fix'Junio C Hamano Sun, 30 Apr 2006 07:59:10 +0000 (00:59 -0700)

Merge branch 'fix'

* fix:
git-format-patch: Use rfc2822 compliant date.

git-format-patch: Use rfc2822 compliant date.Huw Davies Sat, 29 Apr 2006 15:50:28 +0000 (15:50 +0000)

git-format-patch: Use rfc2822 compliant date.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

builtin-diff.c: die() formatting type fix.Junio C Hamano Sun, 30 Apr 2006 07:26:41 +0000 (00:26 -0700)

builtin-diff.c: die() formatting type fix.

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

built-in diff: assorted updates.Junio C Hamano Sat, 29 Apr 2006 08:24:49 +0000 (01:24 -0700)

built-in diff: assorted updates.

"git diff(n)" without --base, --ours, etc. defaults to --cc,
which usually is the same as -p unless you are in the middle of
a conflicted merge, just like the shell script version.

"git diff(n) blobA blobB path" complains and dies.

"git diff(n) tree0 tree1 tree2...treeN" does combined diff that
shows a merge of tree1..treeN to result in tree0.

Giving "-c" option to any command that defaults to "--cc" turns
off dense-combined flag.

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

built-in diff.Junio C Hamano Sat, 29 Apr 2006 06:20:52 +0000 (23:20 -0700)

built-in diff.

This starts to replace the shell script version of "git diff".

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

replace adler32 with Rabin's polynomial in diff-deltaNicolas Pitre Sat, 29 Apr 2006 04:58:05 +0000 (00:58 -0400)

replace adler32 with Rabin's polynomial in diff-delta

This brings another small repacking speedup for sensibly the same pack
size. On the Linux kernel repo, git-repack -a -f is 3.7% faster for a
0.4% larger pack.

Credits to Geert Bosch who brought the Rabin's polynomial idea to my
attention.

This also eliminate the issue of adler32() reading past the data buffer,
as noticed by Johannes Schindelin.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'fix'Junio C Hamano Fri, 28 Apr 2006 23:57:32 +0000 (16:57 -0700)

Merge branch 'fix'

* fix:
Fix trivial typo in git-log man page.
Properly render asciidoc "callouts" in git man pages.
Fix up remaining man pages that use asciidoc "callouts".
Update the git-branch man page to include the "-r" option,
annotate: display usage information if no filename was given
annotate: fix warning about uninitialized scalar
git-am --resolved: more usable error message.

Fix trivial typo in git-log man page.Sean Estabrooks Fri, 28 Apr 2006 13:15:03 +0000 (09:15 -0400)

Fix trivial typo in git-log man page.

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>

Properly render asciidoc "callouts" in git man pages.Sean Estabrooks Fri, 28 Apr 2006 13:15:06 +0000 (09:15 -0400)

Properly render asciidoc "callouts" in git man pages.

Adds an xsl fragment to render docbook callouts when
converting to man page format. Update the Makefile
to have "xmlto" use it when generating man pages.

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>

Fix up remaining man pages that use asciidoc "callouts".Sean Estabrooks Fri, 28 Apr 2006 13:15:05 +0000 (09:15 -0400)

Fix up remaining man pages that use asciidoc "callouts".

Unfortunately docbook does not allow a callout to be
referenced from inside a callout list description.
Rewrite one paragraph in git-reset man page to work
around this limitation.

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>

Update the git-branch man page to include the "-r"... Sean Estabrooks Fri, 28 Apr 2006 13:15:04 +0000 (09:15 -0400)

Update the git-branch man page to include the "-r" option,

and fix up asciidoc "callouts"

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>

annotate: display usage information if no filename... Matthias Kestenholz Fri, 28 Apr 2006 08:41:19 +0000 (10:41 +0200)

annotate: display usage information if no filename was given

Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>

annotate: fix warning about uninitialized scalarMatthias Kestenholz Fri, 28 Apr 2006 08:42:28 +0000 (10:42 +0200)

annotate: fix warning about uninitialized scalar

Use of uninitialized value in scalar chomp at
./git-annotate.perl line 212, <$kid> chunk 4.

Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>

git-am --resolved: more usable error message.Junio C Hamano Fri, 28 Apr 2006 09:32:44 +0000 (02:32 -0700)

git-am --resolved: more usable error message.

After doing the hard work of hand resolving the conflicts in the
working tree, if the user forgets to run update-index to mark
the paths that have been resolved, the command gave an
unfriendly "fatal: git-write-tree: not able to write tree" error
message. Catch the situation early and give more meaningful
message and suggestion.

Noticed and suggested by Len Brown.

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

built-in count-objects.Junio C Hamano Thu, 27 Apr 2006 22:37:18 +0000 (15:37 -0700)

built-in count-objects.

Also it learned to do -v (verbose) to report:

- number of loose objects
- disk occupied by loose objects
- number of objects in local packs
- number of loose objects that are also in pack
- unrecognised garbage in .git/objects/??/.

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

pack-objects: update size heuristucs.Junio C Hamano Fri, 28 Apr 2006 02:31:46 +0000 (19:31 -0700)

pack-objects: update size heuristucs.

We used to omit delta base candidates that is much bigger than
the target, but delta size does not grow when we delete more, so
that was not a very good heuristics.

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

Merge branch 'fix'Junio C Hamano Thu, 27 Apr 2006 22:42:32 +0000 (15:42 -0700)

Merge branch 'fix'

* fix:
verify-pack: check integrity in a saner order.

verify-pack: check integrity in a saner order.Junio C Hamano Thu, 27 Apr 2006 22:42:01 +0000 (15:42 -0700)

verify-pack: check integrity in a saner order.

Check internal integrity to report corrupt pack or idx, and
then check cross-integrity between idx and pack.

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

Merge branch 'pb/config'Junio C Hamano Thu, 27 Apr 2006 19:23:01 +0000 (12:23 -0700)

Merge branch 'pb/config'

* pb/config:
git-cvsserver: typofixes
Deprecate usage of git-var -l for getting config vars list
git-repo-config --list support

Merge branch 'jc/diffstat'Junio C Hamano Thu, 27 Apr 2006 18:58:33 +0000 (11:58 -0700)

Merge branch 'jc/diffstat'

* jc/diffstat:
diff --stat: show complete rewrites consistently.

Fix "git help -a" terminal autosizingLinus Torvalds Thu, 27 Apr 2006 16:02:54 +0000 (09:02 -0700)

Fix "git help -a" terminal autosizing

When I split out the builtin commands into their own files, I left the
include of <sys/ioctl.h> in git.c rather than moving it to the file that
needed it (builtin-help.c).

Nobody seems to have noticed, because everything still worked, but because
the TIOCGWINSZ macro was now no longer defined when compiling the
"term_columns()" function, it would no longer automatically notice the
terminal size unless your system used the ancient "COLUMNS" environment
variable approach.

Trivially fixed by just moving the header include to the file that
actually needs it.

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

gitk: Use a text widget for the file listPaul Mackerras Thu, 27 Apr 2006 09:21:49 +0000 (19:21 +1000)

gitk: Use a text widget for the file list

This lets us do things like highlighting all the entries for which
the corresponding part of the diff is at least partly visible in the
commit/patch display window, and in future it will let us display
the file list in a hierarchical form rather than as a flat file list.

Signed-off-by: Paul Mackerras <paulus@samba.org>

diff-index: fix compilation warnings.Junio C Hamano Thu, 27 Apr 2006 08:59:00 +0000 (01:59 -0700)

diff-index: fix compilation warnings.

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

use delta index data when finding best delta matchesNicolas Pitre Thu, 27 Apr 2006 03:58:00 +0000 (23:58 -0400)

use delta index data when finding best delta matches

This patch allows for computing the delta index for each base object
only once and reuse it when trying to find the best delta match.

This should set the mark and pave the way for possibly better delta
generator algorithms.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

t0000-basic: more commit-tree tests.Junio C Hamano Thu, 27 Apr 2006 01:25:15 +0000 (18:25 -0700)

t0000-basic: more commit-tree tests.

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

git-fetch: resolve remote symrefs for HTTP transportNick Hengeveld Wed, 26 Apr 2006 16:10:01 +0000 (09:10 -0700)

git-fetch: resolve remote symrefs for HTTP transport

git-fetch validates that a remote ref resolves to a SHA1 prior to calling
git-http-fetch. This adds support for resolving a few levels of symrefs
to get to the SHA1.

Signed-off-by: Nick Hengeveld <nickh@reactrix.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Add --continue and --abort options to git-rebase.sean Wed, 26 Apr 2006 14:49:38 +0000 (10:49 -0400)

Add --continue and --abort options to git-rebase.

git rebase [--onto <newbase>] <upstream> [<branch>]
git rebase --continue
git rebase --abort

Add "--continue" to restart the rebase process after
manually resolving conflicts. The user is warned if
there are still differences between the index and the
working files.

Add "--abort" to restore the original branch, and
remove the .dotest working files.

Some minor additions to the git-rebase documentation.

[jc: fix that applies to the maintenance track has been dealt
with separately.]

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

revision parsing: make "rev -- paths" checks stronger.Junio C Hamano Wed, 26 Apr 2006 22:09:27 +0000 (15:09 -0700)

revision parsing: make "rev -- paths" checks stronger.

If you don't have a "--" marker, then:

- all of the arguments we are going to assume are pathspecs
must exist in the working tree.

- none of the arguments we parsed as revisions could be
interpreted as a filename.

so that there really isn't any possibility of confusion in case
somebody does have a revision that looks like a pathname too.

The former rule has been in effect; this implements the latter.

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

Merge branch 'fix'Junio C Hamano Thu, 27 Apr 2006 00:08:00 +0000 (17:08 -0700)

Merge branch 'fix'

* fix:
commit-tree.c: check_valid() microoptimization.
Fix filename verification when in a subdirectory
rebase: typofix.
socksetup: don't return on set_reuse_addr() error

commit-tree.c: check_valid() microoptimization.Junio C Hamano Wed, 26 Apr 2006 23:55:25 +0000 (16:55 -0700)

commit-tree.c: check_valid() microoptimization.

There is no point reading the whole object just to make sure it exists and
it is of the expected type. We added sha1_object_info() for such need
after this code was written, so use it.

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

Fix filename verification when in a subdirectoryLinus Torvalds Wed, 26 Apr 2006 17:15:54 +0000 (10:15 -0700)

Fix filename verification when in a subdirectory

When we are in a subdirectory of a git archive, we need to take the prefix
of that subdirectory into accoung when we verify filename arguments.

Noted by Matthias Lederhofer

This also uses the improved error reporting for all the other git commands
that use the revision parsing interfaces, not just git-rev-parse. Also, it
makes the error reporting for mixed filenames and argument flags clearer
(you cannot put flags after the start of the pathname list).

[jc: with fix to a trivial typo noticed by Timo Hirvonen]

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

rebase: typofix.Junio C Hamano Wed, 26 Apr 2006 19:07:42 +0000 (12:07 -0700)

rebase: typofix.

Noticed by Sean.

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

commit-tree: allow generic object name for the tree... Junio C Hamano Wed, 26 Apr 2006 10:18:51 +0000 (03:18 -0700)

commit-tree: allow generic object name for the tree as well.

We use get_sha1() for -p (parent) objects, but still used
get_sha1_hex() for the tree. Just to be consistent, allow
extended SHA1 expression for the tree object name.

Note that this is not to encourage funky things like this:

git-commit-tree HEAD^{tree} -p HEAD

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

Makefile: remove and create xdiff library from scratch.Junio C Hamano Wed, 26 Apr 2006 10:12:58 +0000 (03:12 -0700)

Makefile: remove and create xdiff library from scratch.

... in the same spirit as 71459c193d04870076efa0a387c317390b53e3e2.

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

t0000-basic: Add ls-tree recursive test back.Junio C Hamano Wed, 26 Apr 2006 09:27:59 +0000 (02:27 -0700)

t0000-basic: Add ls-tree recursive test back.

When we updated ls-tree recursive output to omit the tree nodes,
246cc52f388cae8ca99e5a12b8458c9bfa467765 adjusted the old test
so that we do not expect to see trees in its output. Later,
with 0f8f45cb4a7e664b396f73c25891da46b953b8b8, we added back the
ability to show both with -t option, but we forgot to update the
test as well.

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

git-cvsserver: typofixesJunio C Hamano Wed, 26 Apr 2006 06:59:28 +0000 (23:59 -0700)

git-cvsserver: typofixes

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

diff --stat: show complete rewrites consistently.Junio C Hamano Wed, 26 Apr 2006 06:40:09 +0000 (23:40 -0700)

diff --stat: show complete rewrites consistently.

The patch format shows complete rewrite as deletion of all old lines
followed by addition of all new lines. Count lines consistenly with
that when doing diffstat.

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

Merge branch 'new'Paul Mackerras Wed, 26 Apr 2006 06:32:59 +0000 (16:32 +1000)

Merge branch 'new'

Merge branch 'jc/diff'Junio C Hamano Wed, 26 Apr 2006 06:12:21 +0000 (23:12 -0700)

Merge branch 'jc/diff'

* jc/diff:
Libified diff-index: backward compatibility fix.
Libify diff-index.
Libify diff-files.

Makefile: remove and create libgit.a from scratch.Junio C Hamano Wed, 26 Apr 2006 06:11:17 +0000 (23:11 -0700)

Makefile: remove and create libgit.a from scratch.

Foolishly I renamed diff.o around which caused an old diff.o
taken out of libgit.a and got linked into resulting binary and
exhibited mysterious breakage for many people. This borrows
from the kernel Makefile (scripts/Makefile.build) to first remove
the target and then recreate.

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

git-cvsexportcommit: Add -f(orce) and -m(essage prefix... Martin Langhoff Wed, 26 Apr 2006 00:26:16 +0000 (12:26 +1200)

git-cvsexportcommit: Add -f(orce) and -m(essage prefix) flags, small cleanups.

[PATCH] gitk: Add a visual tag for remote refsJosef Weidendorfer Tue, 18 Apr 2006 21:53:07 +0000 (23:53 +0200)

[PATCH] gitk: Add a visual tag for remote refs

This patch partly changes the background color for remote refs.
It makes it easy to quickly distinguish remote refs from local
developer branches.

I ignore remote HEADs, as these really should be drawn as
aliases to other heads. But there is no simple way to
detect that HEADs really are aliases for other refs via
"git-ls-remote".

Signed-off-by: Josef Weidendorfer <Josef.Weidendorfer@gmx.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: add menu item for editing the current viewPaul Mackerras Tue, 25 Apr 2006 11:21:10 +0000 (21:21 +1000)

gitk: add menu item for editing the current view

This allows the user to change the name of the view, whether it is
permanent, and the list of files/directories for the view.

Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Implement "permanent" views (stored in ~/.gitk)Paul Mackerras Tue, 25 Apr 2006 07:12:46 +0000 (17:12 +1000)

gitk: Implement "permanent" views (stored in ~/.gitk)

With this the user can now mark a view as "permanent" and it will
appear in the list every time gitk is started (until it is deleted).
Also tidied up the view definition window, and changed the view
menu to use radiobuttons for the view selections so there is some
feedback as to which is the current view.

Signed-off-by: Paul Mackerras <paulus@samba.org>

socksetup: don't return on set_reuse_addr() error v1.3.1Serge E. Hallyn Tue, 18 Apr 2006 13:11:06 +0000 (08:11 -0500)

socksetup: don't return on set_reuse_addr() error

The set_reuse_addr() error case was the only error case in
socklist() where we returned rather than continued. Not sure
why. Either we must free the socklist, or continue. This patch
continues on error.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from 0032d548db56eac9ea09b4ba05843365f6325b85 commit)

Deprecate usage of git-var -l for getting config vars... Petr Baudis Mon, 24 Apr 2006 22:59:30 +0000 (00:59 +0200)

Deprecate usage of git-var -l for getting config vars list

This has been an unfortunate sideway in the git API evolution.
We use git-repo-config for all the other .git/config interaction
so let's also use git-repo-config -l for the variable listing.

Signed-off-by: Petr Baudis <pasky@suse.cz>

git-repo-config --list supportPetr Baudis Mon, 24 Apr 2006 22:59:25 +0000 (00:59 +0200)

git-repo-config --list support

This adds git-repo-config --list (or git-repo-config -l) support,
similar to what git-var -l does now (to be phased out so that we
have a single sane interface to the config file instead of fragmented
and confused API).

Signed-off-by: Petr Baudis <pasky@suse.cz>

split the diff-delta interfaceNicolas Pitre Tue, 25 Apr 2006 03:07:47 +0000 (23:07 -0400)

split the diff-delta interface

This patch splits the diff-delta interface into index creation and delta
generation. A wrapper is provided to preserve the diff-delta() call.

This will allow for an optimization in pack-objects.c where the source
object could be fixed and a full window of objects tentatively tried
against
that same source object without recomputing the source index each time.

This patch only restructure things, plus a couple cleanups for good
measure. There is no performance change yet.

Signed-off-by: Nicolas Pitre <nico@cam.org>

Merge branch 'fix'Junio C Hamano Tue, 25 Apr 2006 05:26:57 +0000 (22:26 -0700)

Merge branch 'fix'

* fix:
Document the configuration file
Document git-var -l listing also configuration variables
rev-parse: better error message for ambiguous arguments

Document the configuration filePetr Baudis Mon, 24 Apr 2006 22:59:33 +0000 (00:59 +0200)

Document the configuration file

This patch adds a Documentation/config.txt file included by git-repo-config
and currently aggregating hopefully all the available git plumbing / core
porcelain configuration variables, as well as briefly describing the format.

It also updates an outdated bit of the example in git-repo-config(1).

Signed-off-by: Petr Baudis <pasky@suse.cz>

Document git-var -l listing also configuration variablesPetr Baudis Mon, 24 Apr 2006 22:59:28 +0000 (00:59 +0200)

Document git-var -l listing also configuration variables

Signed-off-by: Petr Baudis <pasky@suse.cz>

rev-parse: better error message for ambiguous argumentsPaul Mackerras Tue, 25 Apr 2006 00:00:03 +0000 (10:00 +1000)

rev-parse: better error message for ambiguous arguments

Currently, if git-rev-parse encounters an argument that is neither a
recognizable revision name nor the name of an existing file or
directory, and it hasn't encountered a "--" argument, it prints an
error message saying "No such file or directory". This can be
confusing for users, including users of programs such as gitk that
use git-rev-parse, who may then think that they can't ask about the
history of files that no longer exist.

This makes it print a better error message, one that points out the
ambiguity and tells the user what to do to fix it.

Signed-off-by: Paul Mackerras <paulus@samba.org>

Merge branch 'ar/chmod-series'Junio C Hamano Mon, 24 Apr 2006 09:08:35 +0000 (02:08 -0700)

Merge branch 'ar/chmod-series'

* ar/chmod-series:
make update-index --chmod work with multiple files and --stdin

Merge branch 'sh/daemon'Junio C Hamano Mon, 24 Apr 2006 09:08:28 +0000 (02:08 -0700)

Merge branch 'sh/daemon'

* sh/daemon:
socksetup: don't return on set_reuse_addr() error

Merge branch 'jc/cc-stat'Junio C Hamano Mon, 24 Apr 2006 09:06:40 +0000 (02:06 -0700)

Merge branch 'jc/cc-stat'

* jc/cc-stat:
Fix "git show --stat"

Merge branch 'jc/unresolve'Junio C Hamano Mon, 24 Apr 2006 09:05:55 +0000 (02:05 -0700)

Merge branch 'jc/unresolve'

* jc/unresolve:
git-update-index --unresolve
Add git-unresolve <paths>...

Merge branch 'jc/color'Junio C Hamano Mon, 24 Apr 2006 09:05:07 +0000 (02:05 -0700)

Merge branch 'jc/color'

* jc/color:
Add colordiff for git to contrib/colordiff.

Merge git://git.kernel.org/pub/scm/gitk/gitkJunio C Hamano Mon, 24 Apr 2006 08:39:01 +0000 (01:39 -0700)

Merge git://git.kernel.org/pub/scm/gitk/gitk

* git://git.kernel.org/pub/scm/gitk/gitk:
gitk: Let git-rev-list do the argument list parsing

Merge branch 'master' into newPaul Mackerras Sun, 23 Apr 2006 12:47:07 +0000 (22:47 +1000)

Merge branch 'master' into new

gitk: Use git-rev-parse only to identify file/dir names... Paul Mackerras Sun, 23 Apr 2006 12:45:55 +0000 (22:45 +1000)

gitk: Use git-rev-parse only to identify file/dir names on cmd line

This uses git-rev-parse --no-revs --no-flags to give us just the
file and directory names on the command line, so that we can create
the "Command line" view if any were specified. All other arguments
just get passed to git-rev-list (without a pass through git-rev-parse).

Signed-off-by: Paul Mackerras <paulus@samba.org>

gitk: Let git-rev-list do the argument list parsingPaul Mackerras Sun, 23 Apr 2006 08:00:24 +0000 (18:00 +1000)

gitk: Let git-rev-list do the argument list parsing

This is a fix for a problem reported by Jim Radford where an argument
list somewhere overflows on repositories with lots of tags. In fact
it's now unnecessary to use git-rev-parse since git-rev-list can take
all the arguments that git-rev-parse can. This is inspired by but not
the same as the solutions suggested by Jim Radford and Linus Torvalds.

Signed-off-by: Paul Mackerras <paulus@samba.org>

make update-index --chmod work with multiple files... Alex Riesen Sun, 23 Apr 2006 07:01:29 +0000 (09:01 +0200)

make update-index --chmod work with multiple files and --stdin

The patch makes "--chmod=-x" and "--chmod=+x" act like "--add"
and "--remove" to affect the behaviour of the command for the
rest of the path parameters, not just the following one.

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

Libified diff-index: backward compatibility fix.Junio C Hamano Sat, 22 Apr 2006 10:58:04 +0000 (03:58 -0700)

Libified diff-index: backward compatibility fix.

"diff-index -m" does not mean "do not ignore merges", but means
"pretend missing files match the index".

The previous round tried to address this, but failed because
setup_revisions() ate "-m" flag before the caller had a chance
to intervene.

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

Libify diff-index.Junio C Hamano Sat, 22 Apr 2006 09:43:00 +0000 (02:43 -0700)

Libify diff-index.

The second installment to libify diff brothers. The pathname
arguments are checked more strictly than before because we now
use the revision.c::setup_revisions() infrastructure.

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

Libify diff-files.Junio C Hamano Sat, 22 Apr 2006 06:57:45 +0000 (23:57 -0700)

Libify diff-files.

This is the first installment to libify diff brothers.

The updated diff-files uses revision.c::setup_revisions()
infrastructure to parse its command line arguments, which means
the pathname arguments are checked more strictly than before.
The tests are adjusted to separate possibly missing paths from
the rest of arguments with double-dashes, to show the kosher
way.

As Linus pointed out, renaming diff.c to diff-lib.c was simply
stupid, so I am renaming it back. The new diff-lib.c is to
contain pieces extracted from diff brothers.

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

Fix "git show --stat"Junio C Hamano Sat, 22 Apr 2006 02:39:04 +0000 (19:39 -0700)

Fix "git show --stat"

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

Add colordiff for git to contrib/colordiff.Junio C Hamano Wed, 12 Apr 2006 06:05:14 +0000 (23:05 -0700)

Add colordiff for git to contrib/colordiff.

I hacked it up to teach it the git extended diff headers, made
it not to read the whole patch in the array.

Also, the original program, when arguments are given, ran "diff"
with the given arguments and showed the output from it. Of
course, I changed it to run "git diff" ;-).

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

Merge branch 'jc/diff'Junio C Hamano Sat, 22 Apr 2006 05:03:07 +0000 (22:03 -0700)

Merge branch 'jc/diff'

* jc/diff:
diff --stat: do not drop rename information.

Makefile: dependency for builtin-help.oJunio C Hamano Sat, 22 Apr 2006 04:56:13 +0000 (21:56 -0700)

Makefile: dependency for builtin-help.o

builtin-help.c wants to include common-cmds.h which is a
generated file.

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

Split up builtin commands into separate files from... Linus Torvalds Fri, 21 Apr 2006 17:27:34 +0000 (10:27 -0700)

Split up builtin commands into separate files from git.c

Right now it split it into "builtin-log.c" for log-related commands
("log", "show" and "whatchanged"), and "builtin-help.c" for the
informational commands (usage printing and "help" and "version").

This just makes things easier to read, I find.

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

Merge branch 'fix'Junio C Hamano Fri, 21 Apr 2006 20:14:30 +0000 (13:14 -0700)

Merge branch 'fix'

* fix:
git-log produces no output

git-log produces no outputLinus Torvalds Fri, 21 Apr 2006 19:25:13 +0000 (12:25 -0700)

git-log produces no output

When $PAGER is set to 'less -i', we used to fail because we
assumed the $PAGER is a command and simply exec'ed it.

Try exec first, and then run it through shell if it fails. This
allows even funkier PAGERs like these ;-):

PAGER='sed -e "s/^/`date`: /" | more'
PAGER='contrib/colordiff.perl | less -RS'

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