gitweb.git
gitweb: Handle commits with empty commit messages more... Petr Baudis Fri, 6 Oct 2006 16:55:04 +0000 (18:55 +0200)

gitweb: Handle commits with empty commit messages more reasonably

Currently those look very weird, you can't get easily at the commit view
etc. This patch makes their title '(no commit message)'.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Separate (new) and (deleted) in commitdiff... Petr Baudis Fri, 6 Oct 2006 16:00:17 +0000 (18:00 +0200)

gitweb: Separate (new) and (deleted) in commitdiff by a space

Currently it's pasted to the sha1 of the blob and looks ugly.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Show snapshot link in shortlog only if have_snapshoPetr Baudis Fri, 6 Oct 2006 13:57:52 +0000 (15:57 +0200)

Show snapshot link in shortlog only if have_snapsho

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: refactor decode() for utf8 conversionYasushi SHOJI Sun, 1 Oct 2006 21:21:33 +0000 (06:21 +0900)

gitweb: refactor decode() for utf8 conversion

we already had a few place using decode() to convert perl internal
encode to utf8. added a new thin wrapper to do just that.

Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Add default values for --window and --depth to the... Dennis Stosberg Fri, 6 Oct 2006 09:15:03 +0000 (11:15 +0200)

Add default values for --window and --depth to the docs

Currently, you actually have to read the source to find out the
default values. While at it, fix two typos and suggest that these
options actually take a parameter in git-pack-objects.txt.

Signed-off-by: Dennis Stosberg <dennis@stosberg.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-send-email: real name with period need to be dq... Junio C Hamano Fri, 6 Oct 2006 06:40:15 +0000 (23:40 -0700)

git-send-email: real name with period need to be dq-quoted on From: line

An author name like 'A. U. Thor <a.u.thor@example.com>" is not a
valid RFC 2822 address; when placing it on From: line, we would
need to quote it, like this:

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

git-send-email: do not drop custom headers the user... Junio C Hamano Thu, 5 Oct 2006 23:36:49 +0000 (16:36 -0700)

git-send-email: do not drop custom headers the user prepared

The command picked up only Subject, CC, and From headers in the
incoming mbox text. Sending out patches prepared by
git-format-patch with user's custom headers was impossible with
that.

Just keep the ones it does not need to look at and add them to
the header of the message when sending it out.

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

cherry-pick: make -r the defaultJunio C Hamano Fri, 6 Oct 2006 00:54:14 +0000 (17:54 -0700)

cherry-pick: make -r the default

And introduce -x to expose (possibly) private commit object name
for people who cherry-pick between public branches.

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

git-send-email: avoid uninitialized variable warning.Junio C Hamano Thu, 5 Oct 2006 23:36:15 +0000 (16:36 -0700)

git-send-email: avoid uninitialized variable warning.

The code took length of $reply_to when it was not even defined,
causing -w to warn.

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

Turn on recursive with --summaryJohannes Schindelin Tue, 3 Oct 2006 21:09:56 +0000 (23:09 +0200)

Turn on recursive with --summary

This makes "git log/diff --summary" imply recursive behaviour,
whose effect is summarized in one test output:

--- a/t/t4013/diff.diff-tree_--pretty_--root_--summary_initial
+++ b/t/t4013/diff.diff-tree_--pretty_--root_--summary_initial
@@ -5,7 +5,7 @@ Date: Mon Jun 26 00:00:00 2006 +0000

Initial

- create mode 040000 dir
+ create mode 100644 dir/sub
create mode 100644 file0
create mode 100644 file2
$

When a file is created in a subdirectory, we used to say just
the directory name only when that directory also was created,
which did not make sense from two reasons. It is not any more
significant to create a new file in a new directory than to
create a new file in an existing directory, and even if it were,
reportinging the new directory name without saying the actual
filename is not useful.

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

gitweb: Make the Git logo link target to point to the... Junio C Hamano Sat, 23 Sep 2006 19:36:01 +0000 (12:36 -0700)

gitweb: Make the Git logo link target to point to the homepage

It provides more useful information for causual Git users than the Git docs
(especially about where to get Git and such).

People can override with GITWEB_CONFIG if they want to.

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

gitweb: blame: Minimize vertical table row paddingLuben Tuikov Thu, 5 Oct 2006 20:30:31 +0000 (13:30 -0700)

gitweb: blame: Minimize vertical table row padding

Minimize vertical table row padding for blame only. I
discovered this while having the browser's blame output
right next to my editor's window, only to notice how much
vertically stretched the blame output was.

Blame most likely shows source code and is in this way
more "spartan" than the rest of the tables gitweb shows.

This patch makes the blame table more vertically compact,
thus being closer to what you'd see in your editor's window,
as well as reusing more window estate to show more
information (which in turn minimizes scrolling).

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Do not print "log" and "shortlog" redundantly... Luben Tuikov Thu, 5 Oct 2006 19:22:57 +0000 (12:22 -0700)

gitweb: Do not print "log" and "shortlog" redundantly in commit view

Do not print "log" and "shortlog" redundantly in commit
view. This is passed into the $extra argument of
git_print_page_nav from git_commit, but git_print_page_nav
prints "log" and "shortlog" already with the same head.

Noticed by Junio.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

vc-git.el: Switch to using git-blame instead of git... Alexandre Julliard Thu, 5 Oct 2006 09:30:44 +0000 (11:30 +0200)

vc-git.el: Switch to using git-blame instead of git-annotate.

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

git.el: Fixed inverted "renamed from/to" message.Alexandre Julliard Thu, 5 Oct 2006 09:29:57 +0000 (11:29 +0200)

git.el: Fixed inverted "renamed from/to" message.

The deleted file should be labeled "renamed to" and the added file
"renamed from", not the other way around (duh!)

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

tar-tree deprecation: we eat our own dog food.Junio C Hamano Thu, 5 Oct 2006 09:26:12 +0000 (02:26 -0700)

tar-tree deprecation: we eat our own dog food.

It is silly to keep using git-tar-tree in dist target when the
command gives a big deprecation warning when called. Instead,
use "git-archive --format=tar" which we recommend to our users.

Update gitweb's snapshot feature to use git-archive for the same
reason.

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

Add git-upload-archive to the main git man pageFranck Bui-Huu Thu, 5 Oct 2006 08:42:16 +0000 (10:42 +0200)

Add git-upload-archive to the main git man page

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: warn if feature cannot be overridden.Martin Waitz Tue, 3 Oct 2006 18:07:43 +0000 (20:07 +0200)

gitweb: warn if feature cannot be overridden.

If the administrator configures pathinfo to be overrideable by the
local repository a warning is shown.

Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-rebase: Add a -v option to show a diffstat of the... Robert Shearman Tue, 3 Oct 2006 16:29:31 +0000 (17:29 +0100)

git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.

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

git-rebase: Use --ignore-if-in-upstream option when... Robert Shearman Tue, 3 Oct 2006 16:29:26 +0000 (17:29 +0100)

git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.

This reduces the number of conflicts when rebasing after a series of
patches to the same piece of code is committed upstream.

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

Gitweb - provide site headers and footersAlan Chandler Tue, 3 Oct 2006 12:49:03 +0000 (13:49 +0100)

Gitweb - provide site headers and footers

This allows web sites with a header and footer standard for each page
to add them to the pages produced by gitweb.

Two new variables $site_header and $site_footer are defined (default
to null) each of which can specify a file containing the header and
footer html.

In addition, if the $stylesheet variable is undefined, a new array
@stylesheets (which defaults to a single element of gitweb.css) can be
used to specify more than one style sheet. This allows the clasical
gitweb.css styles to be retained, but a site wide style sheet used
within the header and footer areas.

Signed-off-by: Alan Chandler <alan@chandlerfamily.org.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: blame: Mouse-over commit-8 shows author and... Luben Tuikov Wed, 4 Oct 2006 07:13:38 +0000 (00:13 -0700)

gitweb: blame: Mouse-over commit-8 shows author and date

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: blame: print commit-8 on the leading row of... Luben Tuikov Wed, 4 Oct 2006 07:12:17 +0000 (00:12 -0700)

gitweb: blame: print commit-8 on the leading row of a commit-block

Print commit-8 only on the first, leading row of
a commit block, to complement the per-commit block coloring.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Revert 954a6183756a073723a7c9fd8d2feb13132876b0Junio C Hamano Wed, 4 Oct 2006 21:54:32 +0000 (14:54 -0700)

Revert 954a6183756a073723a7c9fd8d2feb13132876b0

Luben makes a good argument against it, and I agree with him in general.
The clickable handle that appear at seemingly random places makes them
look as if they are separating groups when it is not.

This also restores the executable bit I lost by mistake.

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

git-commit: cleanup unused function.Martin Waitz Tue, 3 Oct 2006 16:38:25 +0000 (18:38 +0200)

git-commit: cleanup unused function.

The report() function is not used anymore. Kill it.

Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Fix usage string to match that given in the man pageAlan Chandler Tue, 3 Oct 2006 20:11:25 +0000 (21:11 +0100)

Fix usage string to match that given in the man page

Still not managed to understand git-send-mail sufficiently well to not
accidently miss of this list when I sending it to Junio

Signed-off-by: Alan Chandler <alan@chandlerfamily.org.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Update the gitweb/README file to include setting the... Alan Chandler Tue, 3 Oct 2006 21:48:46 +0000 (22:48 +0100)

Update the gitweb/README file to include setting the GITWEB_CONFIG environment

Signed-off-by: Alan Chandler <alan@chandlerfamily.org.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: prepare for repositories with packed refs.Junio C Hamano Tue, 3 Oct 2006 09:30:47 +0000 (02:30 -0700)

gitweb: prepare for repositories with packed refs.

When a repository is initialized long time ago with symbolic
HEAD, and "git-pack-refs --prune" is run, HEAD will be a
dangling symlink to refs/heads/ somewhere.

Running -e "$dir/HEAD" to guess if $dir is a git repository does
not give us the right answer anymore in such a case.

Also factor out two places that checked if the repository can be
exported with similar code into a call to a new function,
check_export_ok.

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

gitweb: make leftmost column of blame less cluttered.Junio C Hamano Sun, 1 Oct 2006 09:16:11 +0000 (02:16 -0700)

gitweb: make leftmost column of blame less cluttered.

Instead of labelling each and every line with clickable commit
object name, this makes the blame output to show them only on
the first line of each group of lines from the same revision.
Placing too many lines in one group would make the commit object
name to appear too widely separated and also makes it consume
more memory, the number of lines in one group is capped to 20
lines or so.

Also it makes mouse-over to show the minimum authorship and
authordate information for extra cuteness ;-).

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

gitweb: document webserver configuration for common... Martin Waitz Tue, 3 Oct 2006 08:03:28 +0000 (10:03 +0200)

gitweb: document webserver configuration for common gitweb/repo URLs.

Add a small apache configuration which shows how to use apache
to put gitweb and GIT repositories at the same URL.

Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Escape ESCAPE (\e) characterLuben Tuikov Mon, 2 Oct 2006 21:54:53 +0000 (14:54 -0700)

gitweb: Escape ESCAPE (\e) character

Take a look at commit 20a3847d8a5032ce41f90dcc68abfb36e6fee9b1
using gitweb before this patch. This patch fixes this.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

escape tilde in Documentation/git-rev-parse.txtJunio C Hamano Tue, 3 Oct 2006 05:52:57 +0000 (22:52 -0700)

escape tilde in Documentation/git-rev-parse.txt

Fixes a failure to build the git-rev-parse manpage, seen with
asciidoc 8.0.0

We would love to use nicer quoting $$~$$ but alas asciidoc 7
does not know about it. So use asciidoc.conf and define {tilde}
to be &#126;.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de>

Error in test description of t1200-tutorialRobin Rosenberg Tue, 3 Oct 2006 00:02:15 +0000 (02:02 +0200)

Error in test description of t1200-tutorial

Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

lock_ref_sha1_basic does not remove empty directories... Dennis Stosberg Mon, 2 Oct 2006 17:23:53 +0000 (19:23 +0200)

lock_ref_sha1_basic does not remove empty directories on BSD

lock_ref_sha1_basic relies on errno beeing set to EISDIR by the
call to read() in resolve_ref() to detect directories. But calling
read() on a directory under NetBSD returns EPERM, and even succeeds
for local filesystems on FreeBSD.

Signed-off-by: Dennis Stosberg <dennis@stosberg.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: start to generate PATH_INFO URLs.Martin Waitz Sun, 1 Oct 2006 21:57:48 +0000 (23:57 +0200)

gitweb: start to generate PATH_INFO URLs.

Instead of providing the project as a ?p= parameter it is simply appended to
the base URI. All other parameters are appended to that, except for ?a=summary
which is the default and can be omitted.

The this can be enabled with the "pathinfo" feature in gitweb_config.perl.

[jc: let's introduce new features disabled by default not to
upset too many existing installations.]

Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'maint'Junio C Hamano Mon, 2 Oct 2006 07:47:32 +0000 (00:47 -0700)

Merge branch 'maint'

* maint:
git-push: .git/remotes/ file does not require SP after colon
git-mv: invalidate the removed path properly in cache-tree

git-push: .git/remotes/ file does not require SP after... v1.4.2.3Junio C Hamano Mon, 2 Oct 2006 07:43:52 +0000 (00:43 -0700)

git-push: .git/remotes/ file does not require SP after colon

Although most people would have one after colon if only for
readability, we never required it in git-parse-remote, so let's
not require one only in git-push.

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

git-mv: invalidate the removed path properly in cache... Junio C Hamano Mon, 2 Oct 2006 05:22:07 +0000 (22:22 -0700)

git-mv: invalidate the removed path properly in cache-tree

The command updated the cache without invalidating the cache
tree entries while removing an existing entry.

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

Makefile: install and clean merge-recur, still.Junio C Hamano Mon, 2 Oct 2006 04:41:46 +0000 (21:41 -0700)

Makefile: install and clean merge-recur, still.

We advertised git-merge-recur for some time, and we planned to
support it for one release after we made it the 'recursive'.

However we forgot to install it nor have "make clean" clean it.

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

GIT 1.4.3-rc1 v1.4.3-rc1Junio C Hamano Sun, 1 Oct 2006 10:08:55 +0000 (03:08 -0700)

GIT 1.4.3-rc1

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

Merge branch 'maint'Junio C Hamano Sun, 1 Oct 2006 08:10:03 +0000 (01:10 -0700)

Merge branch 'maint'

* maint:
git-diff -B output fix.
Fix git-am safety checks
Fix duplicate xmalloc in builtin-add

Merge branch 'jc/gitpm'Junio C Hamano Sun, 1 Oct 2006 06:38:24 +0000 (23:38 -0700)

Merge branch 'jc/gitpm'

* jc/gitpm: (52 commits)
Remove -fPIC which was only needed for Git.xs
Git.pm: Kill Git.xs for now
Revert "Make it possible to set up libgit directly (instead of from the environment)"
Revert "Git.pm: Introduce fast get_object() method"
Revert "Convert git-annotate to use Git.pm"
Fix compilation with Sun CC
pass DESTDIR to the generated perl/Makefile
Eliminate Scalar::Util usage from private-Error.pm
Convert git-annotate to use Git.pm
Git.pm: Introduce fast get_object() method
Make it possible to set up libgit directly (instead of from the environment)
Work around sed and make interactions on the backslash at the end of line.
Git.pm: Introduce ident() and ident_person() methods
Convert git-send-email to use Git.pm
Git.pm: Add config() method
Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging
INSTALL: a tip for running after building but without installing.
Perly Git: make sure we do test the freshly built one.
Git.pm: Don't #define around die
Git.xs: older perl do not know const char *
...

merge and resolve: Output short hashes and .. in "Updat... Santi Béjar Sun, 1 Oct 2006 03:34:17 +0000 (05:34 +0200)

merge and resolve: Output short hashes and .. in "Updating ..."

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

fetch: Misc output cleanupSanti B\e,Ai\e(Bjar Sun, 1 Oct 2006 03:33:05 +0000 (05:33 +0200)

fetch: Misc output cleanup

In particular it removes duplicate information, uses short hashes (as
git-log and company) and uses .. for fast forwarding commits and ... for
not-fast-forwarding commits (shorter, easier to copy&paste). It also
reformat the output as:

1. the ones we store in our local ref (either branches or tags):

1a) fast-forward

* refs/heads/origin: fast forward to branch 'master' of ../git/
old..new: 1ad7a06..bc1a580

1b) same (only shown under -v)

* refs/heads/next: same as branch 'origin/next' of ../git/
commit: ce47b9f

1c) non-fast-forward, forced

* refs/heads/pu: forcing update to non-fast forward branch 'pu' of ../git/
old...new: 7c733a8...5faa935

1d) non-fast-forward, did not update because not forced

* refs/heads/po: not updating to non-fast forward branch 'po' of ../git/
old...new: 7c733a8...5faa935

1e) creating a new local ref to store

* refs/tags/v1.4.2-rc4: storing tag 'v1.4.2-rc4' of ../git/
tag: 8c7a107
* refs/heads/next: storing branch 'next' of ../git/
commit: f8a20ae

2. the ones we do not store in our local ref (only shown under -v):

* fetched branch 'master' of ../git
commit: 695dffe
* fetched tag 'v1.4.2-rc4' of ../git
tag: 8c7a107

Signed-off-by: Santi B\e.A\eNijar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'jc/diff-stat'Junio C Hamano Sun, 1 Oct 2006 04:29:18 +0000 (21:29 -0700)

Merge branch 'jc/diff-stat'

* jc/diff-stat:
diff --stat: ensure at least one '-' for deletions, and one '+' for additions
diff --stat=width[,name-width]: allow custom diffstat output width.
diff --stat: color output.
diff --stat: allow custom diffstat output width.

Merge branch 'lt/web'Junio C Hamano Sun, 1 Oct 2006 04:27:51 +0000 (21:27 -0700)

Merge branch 'lt/web'

* lt/web:
gitweb: tree view: hash_base and hash are now context sensitive
gitweb: History: blob and tree are first, then commitdiff, etc
gitweb: Remove redundant "commit" from history
gitweb: Don't use quotemeta on internally generated strings
gitweb: Add snapshot to shortlog
gitweb: Factor out gitweb_have_snapshot()
gitweb: Remove redundant "commit" link from shortlog
gitweb: "alternate" starts with shade (i.e. 1)
gitweb: Add history and blame to git_difftree_body()
gitweb: Remove excessively redundant entries from git_difftree_body
Revert "gitweb: extend blame to show links to diff and previous"
gitweb: Quote filename in HTTP Content-Disposition: header
gitweb: Add git_url subroutine, and use it to quote full URLs
gitweb: Split validate_input into validate_pathname and validate_refname
gitweb: Use "return" instead of "return undef" for some subs
gitweb: Strip trailing slashes from $path in git_get_hash_by_path
gitweb: extend blame to show links to diff and previous
gitweb: Remove redundant "tree" link
gitweb: tree view: eliminate redundant "blob"

gitweb: tree view: hash_base and hash are now context... Luben Tuikov Fri, 29 Sep 2006 16:57:43 +0000 (09:57 -0700)

gitweb: tree view: hash_base and hash are now context sensitive

In tree view, by default, hash_base is HEAD and hash is the
entry equivalent. Else the user had selected a hash_base or
hash, say by clicking on a revision or commit, in which case
those values are used.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-diff -B output fix. v1.4.2.2Junio C Hamano Fri, 29 Sep 2006 09:06:24 +0000 (02:06 -0700)

git-diff -B output fix.

Geert noticed that complete rewrite diff missed the usual a/ and b/
leading paths. Pickaxe says it never worked, ever.

Embarrassing.

Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from bc1a5807575b2f34538d4158834da6524a4fc1f7 commit)

git-diff/git-apply: make diff output a bit friendlier... Junio C Hamano Fri, 22 Sep 2006 23:17:58 +0000 (16:17 -0700)

git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 1)

Somebody was wondering on #git channel why a git generated diff
does not apply with GNU patch when the filename contains a SP.
It is because GNU patch expects to find TAB (and trailing timestamp)
on ---/+++ (old_name and new_name) lines after the filenames.

The "diff --git" output format was carefully designed to be
compatible with GNU patch where it can, but whitespace
characters were always a pain.

We can make our output a bit more GNU patch friendly by adding an
extra TAB (but not trailing timestamp) to old/new name lines when
the filename as a SP in it. This updates git-apply to prepare
ourselves to accept such a patch, but we still do not generate
output that is patch friendly yet. That change needs to wait
until everybody has this change.

When a filename contains a real tab, "diff --git" format
always c-quotes it as discussed on the list with GNU patch
maintainer previously:

http://marc.theaimsgroup.com/?l=git&m=112927316408690&w=2

so there should be no downside.

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

fetch: Reset remote refs list each time fetch_main... Santi Béjar Fri, 29 Sep 2006 18:05:40 +0000 (20:05 +0200)

fetch: Reset remote refs list each time fetch_main is called

This prevents the fetch of the heads again in the second call of fetch_main.

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

Remove -fPIC which was only needed for Git.xsJunio C Hamano Fri, 29 Sep 2006 07:34:51 +0000 (00:34 -0700)

Remove -fPIC which was only needed for Git.xs

The distinction between BASIC_ vs ALL_ is still kept, since it
is not Git.xs specific -- we could face the same issue when we
do other language bindings (e.g. Python).

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

Fix approxidate() to understand 12:34 AM/PM are 00... Linus Torvalds Fri, 29 Sep 2006 19:36:13 +0000 (12:36 -0700)

Fix approxidate() to understand 12:34 AM/PM are 00:34 and 12:34

It just simplifies the whole thing to say

"hour = (hour % 12) + X"

where X is 12 for PM and 0 for AM.

It also fixes the "exact date" parsing, which didn't parse AM at all, and
as such would do the same "12:30 AM" means "12:30 24-hour-format" bug. Of
course, I hope that no exact dates use AM/PM anyway, but since we support
the PM format, let's just get it right.

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

git-diff -B output fix.Junio C Hamano Fri, 29 Sep 2006 09:06:24 +0000 (02:06 -0700)

git-diff -B output fix.

Geert noticed that complete rewrite diff missed the usual a/ and b/
leading paths. Pickaxe says it never worked, ever.

Embarrassing.

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

Make cvsexportcommit remove files.Robin Rosenberg Thu, 28 Sep 2006 23:28:55 +0000 (01:28 +0200)

Make cvsexportcommit remove files.

Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

diff --stat: ensure at least one '-' for deletions... Johannes Schindelin Thu, 28 Sep 2006 15:37:39 +0000 (17:37 +0200)

diff --stat: ensure at least one '-' for deletions, and one '+' for additions

The number of '-' and '+' is still linear. The idea is that
scaled-length := floor(a * length + b) with the following constraints: if
length == 1, scaled-length == 1, and the combined length of plusses
and minusses should not be larger than the width by a small margin. Thus,

a + b == 1

and
a * max_plusses + b + a * max_minusses + b = width + 1

The solution is

a * x + b = ((width - 1) * (x - 1) + max_change - 1)
/ (max_change - 1)

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

diff --stat=width[,name-width]: allow custom diffstat... Linus Torvalds Thu, 28 Sep 2006 22:07:16 +0000 (15:07 -0700)

diff --stat=width[,name-width]: allow custom diffstat output width.

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

gitweb: History: blob and tree are first, then commitdi... Luben Tuikov Fri, 29 Sep 2006 00:21:07 +0000 (17:21 -0700)

gitweb: History: blob and tree are first, then commitdiff, etc

Reorder link display in history to be consistent with other
list displays: log, shortlog, etc. We now display:

blob | commitdiff
blob | commitdiff | diff_to_current

and

tree | commitdiff

Instead of the old history format where "blob" and "tree"
are between "commitdiff" and "diff_to_current" if present/
applicable.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Remove redundant "commit" from historyLuben Tuikov Fri, 29 Sep 2006 00:20:23 +0000 (17:20 -0700)

gitweb: Remove redundant "commit" from history

Remove redundant "commit" from history -- it can be had
by clicking on the title of the commit. This commit
makes visualization consistent with shortlog, log, etc.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

http/ftp: optionally ask curl to not use EPSV commandSasha Khapyorsky Fri, 29 Sep 2006 00:10:44 +0000 (03:10 +0300)

http/ftp: optionally ask curl to not use EPSV command

If http.noEPSV config variable is defined and true, or if
GIT_CURL_FTP_NO_EPSV environment variable is defined, disable using
of EPSV ftp command (PASV will be used instead). This is helpful with
some "poor" ftp servers which does not support EPSV mode.

Signed-off-by: Sasha Khapyorsky <sashak@voltaire.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Don't use quotemeta on internally generated... Luben Tuikov Thu, 28 Sep 2006 23:51:43 +0000 (16:51 -0700)

gitweb: Don't use quotemeta on internally generated strings

Do not use quotemeta on internally generated strings
such as filenames of snapshot, blobs, etc.
quotemeta quotes any characters not matching /A-Za-z_0-9/.
Which means that we get strings like this:

before: linux\-2\.6\.git\-5c2d97cb31fb77981797fec46230ca005b865799\.tar\.gz
after: linux-2.6.git-5c2d97cb31fb77981797fec46230ca005b865799.tar.gz

This patch fixes this.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Add snapshot to shortlogLuben Tuikov Thu, 28 Sep 2006 23:50:09 +0000 (16:50 -0700)

gitweb: Add snapshot to shortlog

Add snapshot to each commit-row of shortlog.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Factor out gitweb_have_snapshot()Luben Tuikov Thu, 28 Sep 2006 23:49:21 +0000 (16:49 -0700)

gitweb: Factor out gitweb_have_snapshot()

Create gitweb_have_snapshot() which returns true
of snapshot is available and enabled, else false.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Remove redundant "commit" link from shortlogLuben Tuikov Thu, 28 Sep 2006 23:48:40 +0000 (16:48 -0700)

gitweb: Remove redundant "commit" link from shortlog

Remove the redundant "commit" link from shortlog.
It can be had by simply clicking on the entry title
of the row.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: "alternate" starts with shade (i.e. 1)Luben Tuikov Thu, 28 Sep 2006 23:47:50 +0000 (16:47 -0700)

gitweb: "alternate" starts with shade (i.e. 1)

When displaying a list of rows (difftree, shortlog, etc),
the first entry is now printed shaded, i.e. alternate is
initialized to 1, as opposed to non-shaded (alternate
initialized to 0).

This solves the problem when there is only one row to
display -- it is displayed shaded to visually indicate that
it is "active", part of a "list", etc.

(Compare this to the trivial case of more than one entry,
where the rows have alternating shade, thus suggesting
being part of a "list" of "active" entries, etc.)

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

git-format-patch: fix bug using -o in subdirectoriesMatthias Lederhofer Thu, 28 Sep 2006 19:55:35 +0000 (21:55 +0200)

git-format-patch: fix bug using -o in subdirectories

This was introduced by me in commit v1.4.2.1-gc08e524.

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

do not discard constness in interp_set_entry value... Alex Riesen Thu, 28 Sep 2006 19:12:55 +0000 (21:12 +0200)

do not discard constness in interp_set_entry value argument

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

Fix approxidate() to understand more extended numbersLinus Torvalds Thu, 28 Sep 2006 19:14:27 +0000 (12:14 -0700)

Fix approxidate() to understand more extended numbers

You can now say "5:35 PM yesterday", and approxidate() gets the right answer.

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

Clean up approxidate() in preparation for fixesLinus Torvalds Thu, 28 Sep 2006 19:12:28 +0000 (12:12 -0700)

Clean up approxidate() in preparation for fixes

Our approxidate cannot handle simple times like "5 PM yesterday", and to
fix that, we will need to add some logic for number handling. This just
splits that out into a function of its own (the same way the _real_ date
parsing works).

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

fix daemon.c compilation for NO_IPV6=1Alex Riesen Thu, 28 Sep 2006 18:48:14 +0000 (20:48 +0200)

fix daemon.c compilation for NO_IPV6=1

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

daemon: default to 256 for HOST_NAME_MAX if it is not... Johannes Schindelin Thu, 28 Sep 2006 10:00:35 +0000 (12:00 +0200)

daemon: default to 256 for HOST_NAME_MAX if it is not defined

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

format-patch: use cwd as default output directoryMatthias Lederhofer Fri, 22 Sep 2006 11:12:01 +0000 (13:12 +0200)

format-patch: use cwd as default output directory

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

svnimport: add support for parsing From: lines for... Andy Whitcroft Mon, 25 Sep 2006 11:08:13 +0000 (12:08 +0100)

svnimport: add support for parsing From: lines for author

When commiting a non-signed off contribution you cannot just add
a Signed-off-by: from the author as they did not sign it off.
But if you then commit it, and necessarily sign it off yourself,
the change appears to be yours. In this case it is common to use
the following form:

Commentry

From: originator <email>
Signed-of-by: me <my email>
Now that we have support for parsing Signed-off-by: for author
information it makes sense to handle From: as well. This patch
adds a new -F which will handle From: lines in the comments. It
may be used in combination with -S.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Contributed bash completion support for core Git tools.Junio C Hamano Thu, 28 Sep 2006 09:31:25 +0000 (02:31 -0700)

Contributed bash completion support for core Git tools.

This is a set of bash completion routines for many of the
popular core Git tools. I wrote these routines from scratch
after reading the git-compl and git-compl-lib routines available
from the gitcompletion package at http://gitweb.hawaga.org.uk/
and found those to be lacking in functionality for some commands.
Consequently there may be some similarities but many differences.

Since these are completion routines only for tools shipped with
core Git and since bash is a popular shell on many of the native
core Git platforms (Linux, Mac OS X, Solaris, BSD) including these
routines as part of the stock package would probably be convienent
for many users.

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

teach revision walker about --all-match.Junio C Hamano Thu, 28 Sep 2006 00:55:58 +0000 (17:55 -0700)

teach revision walker about --all-match.

This lets you say:

git log --all-match --author=Linus --committer=Junio --grep=rev-list

to limit commits that was written by Linus, committed by me and
the log message contains word "rev-list".

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

grep --all-matchJunio C Hamano Thu, 28 Sep 2006 00:50:52 +0000 (17:50 -0700)

grep --all-match

This lets you say:

git grep --all-match -e A -e B -e C

to find lines that match A or B or C but limit the matches from
the files that have all of A, B and C.

This is different from

git grep -e A --and -e B --and -e C

in that the latter looks for a single line that has all of these
at the same time.

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

Merge branch 'jl/virtual'Junio C Hamano Thu, 28 Sep 2006 06:56:55 +0000 (23:56 -0700)

Merge branch 'jl/virtual'

* jl/virtual:
Removed memory leaks from interpolation table uses.
Cleaned up git-daemon virtual hosting support.

Merge branch 'cc/branch-test'Junio C Hamano Thu, 28 Sep 2006 05:17:01 +0000 (22:17 -0700)

Merge branch 'cc/branch-test'

* cc/branch-test:
Remove empty ref directories that prevent creating a ref.

gitweb: Add history and blame to git_difftree_body()Luben Tuikov Thu, 28 Sep 2006 00:24:49 +0000 (17:24 -0700)

gitweb: Add history and blame to git_difftree_body()

Add blame and history to Deleted files.
Add blame and history to Modified or Type changed files.
Add blame and history to Renamed or Copied files.

This allows us to do
blame->commit->blame->commit->blame->...
instead of
blame->commit->file->blame->commit->file->blame->...
which is longer and easier to get wrong.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Merge branch 'sp/void'Junio C Hamano Thu, 28 Sep 2006 04:51:29 +0000 (21:51 -0700)

Merge branch 'sp/void'

* sp/void:
Allow git-checkout when on a non-existant branch.

Merge branch 'jc/whitespace'Junio C Hamano Thu, 28 Sep 2006 04:50:42 +0000 (21:50 -0700)

Merge branch 'jc/whitespace'

* jc/whitespace:
git-apply: second war on whitespace.
diff.c: second war on whitespace.

Merge branch 'jc/repack'Junio C Hamano Thu, 28 Sep 2006 04:46:07 +0000 (21:46 -0700)

Merge branch 'jc/repack'

* jc/repack:
git-repack: allow git-repack to run in subdirectory
repack: use only pack-objects, not rev-list.

Merge branch 'jc/deprecate-recursive'Junio C Hamano Thu, 28 Sep 2006 04:41:24 +0000 (21:41 -0700)

Merge branch 'jc/deprecate-recursive'

* jc/deprecate-recursive:
Deprecate merge-recursive.py

runstatus: do not recurse into subdirectories if not... Johannes Schindelin Thu, 28 Sep 2006 00:44:30 +0000 (02:44 +0200)

runstatus: do not recurse into subdirectories if not needed

This speeds up the case when you run git-status, having an untracked
subdirectory containing huge amounts of files.

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

gitweb: Remove excessively redundant entries from git_d... Luben Tuikov Thu, 28 Sep 2006 00:23:25 +0000 (17:23 -0700)

gitweb: Remove excessively redundant entries from git_difftree_body

1) All entries on the left are blobs and clicking on them
leads to blobs. No more diff or blob depending on what
happened (modified or mode changed) to the file -- this goes
to the right, in the "link" column.

2) Remove redundant "blob" from the link column on the right.
This can now be had by clicking on the entry itself.

This reduces and simplifies the code.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Revert "gitweb: extend blame to show links to diff... Luben Tuikov Thu, 28 Sep 2006 00:22:03 +0000 (17:22 -0700)

Revert "gitweb: extend blame to show links to diff and previous"

This concept is very fine, but it makes blame slow
across renames and across branches, so revert it.
There is a better way to do this.

This reverts commit 03d06a8e26f4fbd37800d1e1125c6ecf4c104466.

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

Removed memory leaks from interpolation table uses.Jon Loeliger Wed, 27 Sep 2006 16:16:10 +0000 (11:16 -0500)

Removed memory leaks from interpolation table uses.

Clarified that parse_extra_args()s results in interpolation
table entries. Removed a few trailing whitespace occurrences.

Signed-off-by: Jon Loeliger <jdl@jdl.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

Cleaned up git-daemon virtual hosting support.Jon Loeliger Tue, 26 Sep 2006 14:47:43 +0000 (09:47 -0500)

Cleaned up git-daemon virtual hosting support.

Standardized on lowercase hostnames from client.

Added interpolation values for the IP address, port and
canonical hostname of the server as it is contacted and
named by the client and passed in via the extended args.

Added --listen=host_or_ipaddr option suport. Renamed port
variable as "listen_port" correspondingly as well.

Documented mutual exclusivity of --inetd option with
--user, --group, --listen and --port options.

Added compat/inet_pton.c from Paul Vixie as needed.

Small memory leaks need to be cleaned up still.

Signed-off-by: Jon Loeliger <jdl@jdl.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

grep: fix --fixed-strings combined with expression.Junio C Hamano Wed, 27 Sep 2006 23:42:53 +0000 (16:42 -0700)

grep: fix --fixed-strings combined with expression.

"git grep --fixed-strings -e GIT --and -e VERSION .gitignore"
misbehaved because we did not notice this needs to grab lines
that have the given two fixed strings at the same time.

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

grep: free expressions and patterns when done.Junio C Hamano Wed, 27 Sep 2006 23:27:10 +0000 (16:27 -0700)

grep: free expressions and patterns when done.

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

allow delta data reuse even if base object is a preferr... Nicolas Pitre Wed, 27 Sep 2006 19:42:16 +0000 (15:42 -0400)

allow delta data reuse even if base object is a preferred base

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

Corrected copy-and-paste thinko in ignore executable... Shawn Pearce Wed, 27 Sep 2006 15:18:49 +0000 (11:18 -0400)

Corrected copy-and-paste thinko in ignore executable bit test case.

This test should be testing update-index --add, not git-add as the
latter is implemented in terms of the former.

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

zap a debug remnantNicolas Pitre Wed, 27 Sep 2006 19:30:21 +0000 (15:30 -0400)

zap a debug remnant

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

An illustration of rev-list --parents --pretty=rawJunio C Hamano Wed, 27 Sep 2006 19:34:37 +0000 (12:34 -0700)

An illustration of rev-list --parents --pretty=raw

This script creates two separate histories, A and B, each of
which does:

(A0, B0): create fileA and subdir/fileB
(A1, B1): modify fileA
(A2, B2): modify subdir/fileB

and then grafts them together to make B0 a child of A2. So
the final history looks like (time flows from top to bottom):

true parent touches subdir?

A0 none yes (creates it)
A1 A0 no
A2 A1 yes
B0 none yes (different from what's in A2)
B1 B0 no
B2 B1 yes

"git rev-list --parents --pretty=raw B2" would give "fake"
parents on the "commit " header lines while "parent " header
lines show the parent as recorded in the commit object (i.e. B0
appears to have A2 as its parent on "commit " header but there
is no "parent A2" header line in it).

When you have path limiters, we simplify history to omit
commits that do not affect the specified paths.

So "git rev-list --parents --pretty=raw B2 subdir" would return
"B2 B0 A2 A0" (because B1 and A1 do not touch the path). When
it does so, the "commit " header lines have "fake" parents
(i.e. B2 appears to have B0 as its parent on "commit " header),
but you can still get the true parents by looking at "parent "
header.

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

diff --stat: color output.Junio C Hamano Wed, 27 Sep 2006 01:59:41 +0000 (18:59 -0700)

diff --stat: color output.

Under --color option, diffstat shows '+' and '-' in the graph
the same color as added and deleted lines.

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

diff --stat: allow custom diffstat output width.Junio C Hamano Wed, 27 Sep 2006 01:53:02 +0000 (18:53 -0700)

diff --stat: allow custom diffstat output width.

This adds two parameters to "diff --stat".

. --stat-width=72 tells that the page should fit on 72-column output.

. --stat-name-width=30 tells that the filename part is limited
to 30 columns.

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

Allow git-checkout when on a non-existant branch.Shawn Pearce Mon, 25 Sep 2006 05:24:38 +0000 (01:24 -0400)

Allow git-checkout when on a non-existant branch.

I've seen some users get into situtations where their HEAD
symbolic-ref is pointing at a non-existant ref. (Sometimes this
happens during clone when the remote repository lacks a 'master'
branch.) If this happens the user is unable to use git-checkout
to switch branches as there is no prior commit to merge from.

So instead of giving the user low-level errors about how HEAD
can't be resolved and how not a single revision was given change
the type of checkout to be a force and go through with the user's
request anyway.

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

gitweb: Quote filename in HTTP Content-Disposition... Jakub Narebski Mon, 25 Sep 2006 23:59:43 +0000 (01:59 +0200)

gitweb: Quote filename in HTTP Content-Disposition: header

Finish work started by commit a2f3db2 (although not documented
in commit message) of quoting using quotemeta the filename in
HTTP -content_disposition header.

Just in case filename contains end of line character.

Also use consistent coding style to compute -content_disposition
parameter.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Add git_url subroutine, and use it to quote... Jakub Narebski Mon, 25 Sep 2006 23:58:41 +0000 (01:58 +0200)

gitweb: Add git_url subroutine, and use it to quote full URLs

Add git_url subroutine, which does what git_param did before commit
a2f3db2f5de2a3667b0e038aa65e3e097e642e7d, and is used to quote full
URLs, currently only $home_link.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Split validate_input into validate_pathname... Jakub Narebski Mon, 25 Sep 2006 23:57:02 +0000 (01:57 +0200)

gitweb: Split validate_input into validate_pathname and validate_refname

Split validate_input subroutine into validate_pathname which is used
for $project, $file_name and $file_parent parameters, and
validate_refname which is used for $hash, $hash_base, $hash_parent and
$hash_parent_base parameters. Reintroduce validation of $file_name
and $file_parent parameters, removed in a2f3db2f

validate_pathname in addition to what validate_input did checks also
for doubled slashes and NUL character. It does not check if input is
textual hash, and does not check if all characters are from the
following set: [a-zA-Z0-9_\x80-\xff\ \t\.\/\-\+\#\~\%].

validate_refname first check if the input is textual hash, then checks
if it is valid pathname, then checks for invalid characters (according
to git-check-ref-format manpage). It does not check if all charactes
are from the [a-zA-Z0-9_\x80-\xff\ \t\.\/\-\+\#\~\%] set.

We do not have to validate pathnames we got from git.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>

gitweb: Use "return" instead of "return undef" for... Jakub Narebski Mon, 25 Sep 2006 23:56:17 +0000 (01:56 +0200)

gitweb: Use "return" instead of "return undef" for some subs

Use "return" instead of "return undef" when subroutine can return, or
always return, non-scalar (list) value.

Other places are left as is.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>