Commit Graph

3827 Commits

Author SHA1 Message Date
Nick Hengeveld
3030baa7f0 http-push: refactor remote file/directory processing
Replace single-use functions with one that can get a list of remote
collections and pass file/directory information to user-defined functions
for processing.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-10 23:01:50 -08:00
Nick Hengeveld
baa7b67d09 HTTP slot reuse fixes
Incorporate into http-push a fix related to accessing slot results after
the slot was reused, and fix a case in run_active_slot where a
finished slot wasn't detected if the slot was reused.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-10 23:01:48 -08:00
Nick Hengeveld
5241bfe6d1 http-push: fix revision walk
The revision walk was not including tags because setup_revisions zeroes out
the revs flags.  Pass --objects so it picks up all the necessary bits.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-10 23:01:45 -08:00
Fredrik Kuivinen
27e7304567 blame: Rename detection (take 2)
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-10 22:22:20 -08:00
Fredrik Kuivinen
8efdc326c9 rev-lib: Make it easy to do rename tracking (take 2)
prune_fn in the rev_info structure is called in place of
try_to_simplify_commit. This makes it possible to do rename tracking
with a custom try_to_simplify_commit-like function.

This commit also introduces init_revisions which initialises the rev_info
structure with default values.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-10 22:22:00 -08:00
Fredrik Kuivinen
6b6dcfc297 Make it possible to not clobber object.util in sort_in_topological_order (take 2)
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-10 22:11:14 -08:00
Mike McCormack
f2561fda36 Add git-imap-send, derived from isync 1.0.1.
git-imap-send drops a patch series generated by git-format-patch into an
IMAP folder. This allows patch submitters to send patches through their
own mail program.

git-imap-send uses the following values from the GIT repository
configuration:

The target IMAP folder:

[imap]
         Folder = "INBOX.Drafts"

A command to open an ssh tunnel to the imap mail server.

[imap]
         Tunnel = "ssh -q user@imap.server.com /usr/bin/imapd ./Maildir
2> /dev/null"

[imap]
         Host = imap.server.com
         User = bob
         Password = pwd
         Port = 143
2006-03-10 22:09:24 -08:00
Junio C Hamano
2d0048e681 repack: prune loose objects when -d is given
[jc: the request originally came from Martin Atukunda, which was
 improved further by Alex Riesen]

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-10 22:07:23 -08:00
Junio C Hamano
f3219fbbba try_to_simplify_commit(): do not skip inspecting tree change at boundary.
When git-rev-list (and git-log) collapsed ancestry chain to
commits that touch specified paths, we failed to inspect and
notice tree changes when we are about to hit uninteresting
parent.  This resulted in "git rev-list since.. -- file" to
always show the child commit after the lower bound, even if it
does not touch the file.  This commit fixes it.

Thanks for Catalin for reporting this.

See also:
	461cf59f89

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-10 21:59:37 -08:00
Junio C Hamano
eb0e0024b7 Fix t1200 test for breakage caused by removal of full-stop at the end of fast-forward message.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 22:51:21 -08:00
Mike McCormack
96ce6d2607 Describe how to add extra mail header lines in mail generated by git-format-patch. 2006-03-09 22:01:10 -08:00
Mike McCormack
a15a44ef6e Document the --attach flag. 2006-03-09 22:01:00 -08:00
Olaf Hering
180b0d7483 allow double click on current HEAD id after git-pull
Double click on to current HEAD commit id is not possible,
the dot has to go.

[jc: by popular requests.]

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 18:13:19 -08:00
Junio C Hamano
7aaa715d0a fsck-objects: Remove --standalone
The fsck-objects command (back then it was called fsck-cache)
used to complain if objects referred to by files in .git/refs/
or objects stored in files under .git/objects/??/ were not found
as stand-alone SHA1 files (i.e.  found in alternate object pools
or packed archives stored under .git/objects/pack).  Back then,
packs and alternates were new curiosity and having everything as
loose objects were the norm.

When we adjusted the behaviour of fsck-cache to consider objects
found in packs are OK, we introduced the --standalone flag as a
backward compatibility measure.

It still correctly checks if your repository is complete and
consists only of loose objects, so in that sense it is doing the
"right" thing, but checking that is pointless these days.  This
commit removes --standalone flag.

See also:

	23676d407c
	8a498a05c3

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 13:10:31 -08:00
Junio C Hamano
f61c2c970c refs.c::do_for_each_ref(): Finish error message lines with "\n"
We used fprintf() to show an error message without terminating
it with LF; use error() for that.

cf. c401cb48e7

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 12:59:16 -08:00
Fredrik Kuivinen
a87cd02ce0 Nicer output from 'git'
[jc: with suggestions by Jan-Benedict Glaw]

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 12:03:14 -08:00
Junio C Hamano
b4f2a6ac92 Use #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 11:58:05 -08:00
Fredrik Kuivinen
7bd7f2804d Remove trailing dot after short description
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 11:44:11 -08:00
Fredrik Kuivinen
5001422d30 Fix some inconsistencies in the docs
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 11:43:58 -08:00
Eric Wong
779b144625 contrib/git-svn: fix a harmless warning on rebuild (with old repos)
It's only for repositories that were imported with very early
versions of git-svn.  Unfortunately, some of those repos are out
in the wild already, so fix this warning.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 10:10:30 -08:00
Eric Wong
7317ed906a contrib/git-svn: remove the --no-stop-on-copy flag
Output a big warning if somebody actually has a pre-1.0 version
of svn that doesn't support it.

Thanks to Yann Dirson for reminding me it still existed
and attempting to re-enable it :)

I think I subconciously removed support for it earlier...

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 10:10:18 -08:00
Eric Wong
1d52aba839 contrib/git-svn: fix svn compat and fetch args
'svn info' doesn't work with URLs in svn <= 1.1.  Now we
only run svn info in local directories.

As a side effect, this should also work better for 'init' off
directories that are no longer in the latest revision of the
repository.

svn checkout -r<revision> arguments are fixed.
Newer versions of svn (1.2.x) seem to need URL@REV as well as
-rREV to checkout a particular revision...

Add an example in the manpage of how to track directory that has
been moved since its initial revision.

A huge thanks to Yann Dirson for the bug reporting and testing
my original patch.  Thanks also to Junio C Hamano for suggesting
a safer way to use git-rev-parse.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 10:04:58 -08:00
Matthias Urlichs
d2c4af7373 Don't recurse into parents marked uninteresting.
revision.c:make_parents_uninteresting() is exponential with the number
of merges in the tree. That's fine -- unless some other part of git
already has pulled the whole commit tree into memory ...

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 01:49:07 -08:00
Nicolas Pitre
c13c6bf758 diff-delta: bound hash list length to avoid O(m*n) behavior
The diff-delta code can exhibit O(m*n) behavior with some patological
data set where most hash entries end up in the same hash bucket.

To prevent this, a limit is imposed to the number of entries that can
exist in the same hash bucket.

Because of the above the code is a tiny bit more expensive on average,
even if some small optimizations were added as well to atenuate the
overhead. But the problematic samples used to diagnoze the issue are now
orders of magnitude less expensive to process with only a slight loss in
compression.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 01:35:14 -08:00
Nicolas Pitre
3d99a7f4fa test-delta needs zlib to compile
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09 01:35:07 -08:00
Linus Torvalds
bbe60241ae git-fmt-merge-msg cleanup
Since I've started using the "merge.summary" flag in my repo, my merge
messages look nicer, but I dislike how I get notifications of merges
within merges.

So I'd suggest this trivial change..

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-08 18:27:15 -08:00
Jonas Fonseca
f067a13745 repo-config: give value_ a sane default so regexec won't segfault
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-07 17:06:10 -08:00
Nick Hengeveld
aa1dbc9897 Update http-push functionality
This brings http-push functionality more in line with the ssh/git version,
by borrowing bits from send-pack and rev-list to process refspecs and
revision history in more standard ways.  Also, the status of remote objects
is determined using PROPFIND requests for the object directory rather than
HEAD requests for each object - while it may be less efficient for small
numbers of objects, this approach is able to get the status of all remote
loose objects in a maximum of 256 requests.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-07 17:03:21 -08:00
Matthias Urlichs
a541211ef4 cvsimport: Remove master-updating code
The code which tried to update the master branch was somewhat broken.
=> People should do that manually, with "git merge".

Signed-off-by: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-07 17:00:45 -08:00
Junio C Hamano
2dcdb4c697 Merge branch 'sp/checkout'
* sp/checkout:
  Add --temp and --stage=all options to checkout-index.
2006-03-06 20:58:17 -08:00
Junio C Hamano
3ca1fff611 Merge branch 'fd/asciidoc'
* fd/asciidoc:
  Tweak asciidoc output to work with broken docbook-xsl
2006-03-06 20:51:23 -08:00
Mike McCormack
19bb732728 Allow format-patch to attach patches
The --attach patch to git-format-patch to attach patches instead of
inlining them.  Some mailers linewrap inlined patches (eg. Mozilla).

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-06 17:04:53 -08:00
Mike McCormack
00333ca35c Allow adding arbitary lines in the mail header generated by format-patch.
Entries may be added to the config file as follows:

[format]
         headers = "Organization: CodeWeavers\nTo: wine-patches
<wine-patches@winehq.org>\n"

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-06 17:04:07 -08:00
Junio C Hamano
70ca1a3f85 pack-objects: simplify "thin" pack.
There was a misguided logic to overly prefer using objects that
we are not going to pack as the base object.  This was
unnecessary.  It does not matter to the unpacking side where the
base object is -- it matters more to make the resulting delta
smaller.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-06 03:03:56 -08:00
Junio C Hamano
1242642c46 annotate-blame: tests incomplete lines.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-06 00:41:17 -08:00
Junio C Hamano
690e307f54 blame: unbreak "diff -U 0".
The commit 604c86d15b changed the
original "diff -u0" to "diff -u -U 0" for portability.

A big mistake without proper testing.

The form "diff -u -U 0" shows the default 3-line contexts,
because -u and -U 0 contradicts with each other; "diff -U 0" (or
its longhand "diff --unified=0") is what we meant.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-06 00:32:50 -08:00
Francis Daly
e920b56557 Tweak asciidoc output to work with broken docbook-xsl
docbook-xsl v1.68 incorrectly converts "<screen>" from docbook to
manpage by not rendering it verbatim. v1.69 handles it correctly, but
not many current popular distributions ship with it.

asciidoc by default converts "listingblock" to "<screen>". This change
causes asciidoc in git to convert "listingblock" to "<literallayout>", which
both old and new docbook-xsl handle correctly.

The difference can be seen in any manpage which includes a multi-line
example, such as git-branch.

[jc: the original patch was an disaster for html backends, so I made
 it apply only to docbook backends. ]

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 22:38:12 -08:00
Junio C Hamano
ce5b6e7111 annotate-blame test: add evil merge.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 22:37:15 -08:00
Junio C Hamano
8ad02bc964 annotate-blame test: don't "source", but say "."
Just I am old fashioned.  Source inclusion in bourne shell is
"." (dot), not "source" -- that's csh.

[jc: yes I know bash groks it, but I am old fashioned.]

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 22:10:26 -08:00
Junio C Hamano
92a903acfd annotate/blame tests updates.
This rewrites the result check code a bit.  The earlier one
using awk was splitting columns at any whitespace, which
confused lines attributed incorrectly to the merge made by the
default author "A U Thor <author@example.com>" with lines
attributed to author "A".

The latest test by Ryan to add the "starting from older commit"
test is also included, with another older commit test.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 22:09:15 -08:00
Ryan Anderson
5fcab3d7db annotate: Support annotation of files on other revisions.
This is a bug fix, and cleans up one or two other things spotted during the
course of tracking down the main bug here.

[jc: the part that updates test-suite is split out to the next
 one. Also I dropped "use Data::Dumper;" which seemed leftover
 from debugging session.]

Signed-off-by: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 22:01:28 -08:00
Dmitry V. Levin
bd494fc76b git/Documentation: fix SYNOPSIS style bugs
This trivial patch fixes SYNOPSIS style bugs.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 17:02:02 -08:00
Junio C Hamano
604c86d15b blame: avoid "diff -u0".
As Linus suggests, use "diff -u -U 0" instead.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 16:02:44 -08:00
Fredrik Kuivinen
8752d11d60 git-blame: Use the same tests for git-blame as for git-annotate
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 16:02:44 -08:00
Junio C Hamano
cfea8e077b blame and annotate: show localtime with timezone.
Earlier they showed gmtime and timezone, which was inconsistent
with the way our commits and tags are pretty-printed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 16:02:44 -08:00
Junio C Hamano
a0fb95e319 blame: avoid -lm by not using log().
... as suggested on the list.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 16:02:44 -08:00
Fredrik Kuivinen
ea4c7f9bf6 git-blame: Make the output human readable
The default output mode is slightly different from git-annotate's.
However, git-annotate's output mode can be obtained by using the
'-c' flag.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 14:49:58 -08:00
Linus Torvalds
ea5ed3abce get_revision(): do not dig deeper when we know we are at the end.
This resurrects the special casing for "rev-list -n 1" which
avoided reading parents unnecessarily.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 13:35:41 -08:00
Jeff Muizelaar
872d001f7f documentation: add 'see also' sections to git-rm and git-add
Pair up git-add and git-rm by adding a 'see also' section that
references the opposite command to each of their documentation files.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 13:33:13 -08:00
Mark Wooding
8911db70f8 contrib/emacs/Makefile: Provide tool for byte-compiling files.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05 11:32:49 -08:00