Commit graph

6698 commits

Author SHA1 Message Date
Martin Waitz c065b6e429 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>
2006-10-03 23:58:38 -07:00
Alan Chandler 281e67d6fa 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>
2006-10-03 23:58:38 -07:00
Alan Chandler 604cb211a9 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>
2006-10-03 23:58:38 -07:00
Junio C Hamano 2172ce4b01 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>
2006-10-03 02:30:47 -07:00
Junio C Hamano 954a618375 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>
2006-10-03 01:10:03 -07:00
Martin Waitz 128eead198 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>
2006-10-03 01:09:56 -07:00
Luben Tuikov e70866f53a gitweb: Escape ESCAPE (\e) character
Take a look at commit 20a3847d8a
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>
2006-10-03 01:04:41 -07:00
Junio C Hamano 54bd25580e 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>
2006-10-03 01:04:19 -07:00
Robin Rosenberg b599deec18 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>
2006-10-03 01:02:27 -07:00
Dennis Stosberg cb626bc630 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>
2006-10-03 01:02:27 -07:00
Martin Waitz 9e756904d0 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>
2006-10-02 00:49:42 -07:00
Junio C Hamano f5961572a0 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
2006-10-02 00:47:32 -07:00
Junio C Hamano 6fe5b7ff6c 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>
2006-10-02 00:43:52 -07:00
Junio C Hamano 4fddf5798d 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>
2006-10-01 23:32:39 -07:00
Junio C Hamano 7c2738cefb 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>
2006-10-01 21:41:46 -07:00
Junio C Hamano 1965efb159 GIT 1.4.3-rc1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-10-01 03:08:55 -07:00
Junio C Hamano 284fe4beb6 Merge branch 'maint'
* maint:
  git-diff -B output fix.
  Fix git-am safety checks
  Fix duplicate xmalloc in builtin-add
2006-10-01 01:10:03 -07:00
Junio C Hamano 69de8cc852 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 *
  ...
2006-09-30 23:38:24 -07:00
Santi Béjar ba0ac36ec5 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>
2006-09-30 22:13:28 -07:00
Santi B,Ai(Bjar 20a3847d8a 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.ANijar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-09-30 22:02:36 -07:00
Junio C Hamano dd0c367e5e 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.
2006-09-30 21:29:18 -07:00
Junio C Hamano 99692dc213 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"
2006-09-30 21:27:51 -07:00
Luben Tuikov 6f7ea5fb33 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>
2006-09-30 00:23:23 -07:00
Junio C Hamano 82ca505564 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 bc1a580757 commit)
2006-09-29 22:32:16 -07:00
Junio C Hamano ce74618d95 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>
2006-09-29 19:20:27 -07:00
Santi Béjar 4839bd8a66 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>
2006-09-29 18:54:13 -07:00
Junio C Hamano f7661ce0b8 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>
2006-09-29 18:52:38 -07:00
Linus Torvalds 18b633cafc 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>
2006-09-29 13:04:09 -07:00
Junio C Hamano bc1a580757 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>
2006-09-29 02:06:24 -07:00
Robin Rosenberg 21ff2bdb88 Make cvsexportcommit remove files.
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-09-29 00:51:05 -07:00
Johannes Schindelin 3ed74e608a 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>
2006-09-28 22:32:53 -07:00
Linus Torvalds 5c5b2ea9ab 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>
2006-09-28 22:27:29 -07:00
Luben Tuikov 6d81c5a2ea 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>
2006-09-28 19:04:01 -07:00
Luben Tuikov e46b3c027e 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>
2006-09-28 19:03:28 -07:00
Sasha Khapyorsky 3ea099d48b 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>
2006-09-28 19:02:46 -07:00
Luben Tuikov a2a3bf7b2b 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>
2006-09-28 18:58:16 -07:00
Luben Tuikov ba6ef81017 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>
2006-09-28 18:57:00 -07:00
Luben Tuikov de9272f4bd 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>
2006-09-28 18:56:35 -07:00
Luben Tuikov d1d866e9b8 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>
2006-09-28 18:52:36 -07:00
Luben Tuikov 6dd36acd32 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>
2006-09-28 18:52:26 -07:00
Matthias Lederhofer 77e565d8f7 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>
2006-09-28 18:26:09 -07:00
Alex Riesen a28383770e 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>
2006-09-28 18:25:36 -07:00
Linus Torvalds 393d340e4f 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>
2006-09-28 18:25:25 -07:00
Linus Torvalds e92a54d99c 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>
2006-09-28 18:23:25 -07:00
Alex Riesen 100690b6e8 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>
2006-09-28 18:22:37 -07:00
Johannes Schindelin 695dffe2ef 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>
2006-09-28 09:14:09 -07:00
Matthias Lederhofer c08e52486a format-patch: use cwd as default output directory
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-09-28 09:13:16 -07:00
Andy Whitcroft 7b40e7d1ab 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>
2006-09-28 09:12:57 -07:00
Junio C Hamano 690d8824c8 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>
2006-09-28 02:31:25 -07:00
Junio C Hamano 70d0afba91 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>
2006-09-27 23:59:10 -07:00