git.git
18 years agogit-cvsserver: read from git with -z to get non-ASCII pathnames. v1.4.3.5
Junio C Hamano [Fri, 10 Nov 2006 19:53:41 +0000 (11:53 -0800)]
git-cvsserver: read from git with -z to get non-ASCII pathnames.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agopath-list: fix path-list-insert return value
Junio C Hamano [Sat, 11 Nov 2006 22:45:35 +0000 (14:45 -0800)]
path-list: fix path-list-insert return value

When path-list-insert is called on an existing path, it returned an
unrelated element in the list.  Luckily most of the callers are
ignoring the return value, but merge-recursive uses it at three places
and this would have resulted in a bogus rename detection.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.
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>
18 years agogit-svn: fix dcommit losing changes when out-of-date from svn
Eric Wong [Thu, 9 Nov 2006 09:19:37 +0000 (01:19 -0800)]
git-svn: fix dcommit losing changes when out-of-date from svn

There was a bug in dcommit (and commit-diff) which caused deltas
to be generated against the latest version of the changed file
in a repository, and not the revision we are diffing (the tree)
against locally.

This bug can cause recent changes to the svn repository to be
silently clobbered by git-svn if our repository is out-of-date.

Thanks to Steven Grimm for noticing the bug.

The (few) people using the commit-diff command are now required
to use the -r/--revision argument.  dcommit usage is unchanged.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-svn: don't die on rebuild when --upgrade is specified
Eric Wong [Sun, 5 Nov 2006 05:51:11 +0000 (21:51 -0800)]
git-svn: don't die on rebuild when --upgrade is specified

--copy-remote and --upgrade are rarely (never?) used together,
so if --copy-remote is specified, that means the user really
wanted to copy the remote ref, and we should fail if that fails.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-svn: avoid printing filenames of files we're not tracking
Eric Wong [Sun, 5 Nov 2006 05:51:10 +0000 (21:51 -0800)]
git-svn: avoid printing filenames of files we're not tracking

This is purely an aesthetic change, we already skip importing of
files that don't affect the subdirectory we import.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoNicer error messages in case saving an object to db goes wrong
Petr Baudis [Thu, 9 Nov 2006 12:52:05 +0000 (13:52 +0100)]
Nicer error messages in case saving an object to db goes wrong

Currently the error e.g. when pushing to a read-only repository is quite
confusing, this attempts to clean it up, unifies error reporting between
various object writers and uses error() on couple more places.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoremove an unneeded test
Tero Roponen [Tue, 7 Nov 2006 10:44:33 +0000 (12:44 +0200)]
remove an unneeded test

In wt-status.c there is a test which does nothing.
This patch removes it.

Signed-off-by: Tero Roponen <teanropo@jyu.fi>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoDocumentation: Transplanting branch with git-rebase --onto
Jakub Narebski [Mon, 6 Nov 2006 18:12:45 +0000 (19:12 +0100)]
Documentation: Transplanting branch with git-rebase --onto

Added example of transplantig feature branch from one development
branch (for example "next") into the other development branch (for
example "master").

[jc: talking Carl's advice this contains both examples sent to
 the list by Jakub in his original message.]

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agomerge-recursive implicitely depends on trust_executable_bit
Alex Riesen [Mon, 6 Nov 2006 10:38:52 +0000 (11:38 +0100)]
merge-recursive implicitely depends on trust_executable_bit

Read the configuration in to get core.filemode value for this
particular repository.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoadjust_shared_perm: chmod() only when needed.
Junio C Hamano [Sat, 4 Nov 2006 20:24:05 +0000 (12:24 -0800)]
adjust_shared_perm: chmod() only when needed.

When widening permission for files and directories in a 'shared'
repository for a user with inappropriate umask() setting for
shared work, make sure we call chmod() only when we actually
need to.

The primary idea owes credit to Johannes.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoFix git-runstatus for repositories containing a file named HEAD
Jeff King [Sun, 5 Nov 2006 22:22:15 +0000 (17:22 -0500)]
Fix git-runstatus for repositories containing a file named HEAD

The wt_status_print_updated() and wt_status_print_untracked() routines
call setup_revisions() with 'HEAD' being the reference to the tip of the
current branch. However, setup_revisions() gets confused if the branch
also contains a file named 'HEAD' resulting in a fatal error.

Instead, don't pass an argv to setup_revisions() at all; simply give it no
arguments, and make 'HEAD' the default revision.

Bug noticed by Rocco Rutte <pdmef@gmx.net>.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoRemove unsupported C99 style struct initializers in git-archive. v1.4.3.4
Shawn O. Pearce [Sun, 5 Nov 2006 05:37:23 +0000 (00:37 -0500)]
Remove unsupported C99 style struct initializers in git-archive.

At least one older version of the Solaris C compiler doesn't support
the newer C99 style struct initializers.  To allow Git to compile
on those systems use an archive description struct which is easier
to initialize without the C99 struct initializer syntax.

Also since the archives array is not used by anyone other than
archive.c we can make it static.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoRemove SIMPLE_PROGRAMS and make git-daemon a normal program.
Shawn O. Pearce [Sun, 5 Nov 2006 07:28:25 +0000 (02:28 -0500)]
Remove SIMPLE_PROGRAMS and make git-daemon a normal program.

Some platforms (Solaris in particular) appear to require -lz as
part of the link line for git-daemon, due to it linking against
sha1_file.o and that module requiring inflate/deflate support.

So its time to retire SIMPLE_PROGRAMS and move its last remaining
member into the standard PROGRAMS list, allowing it to link against
all libraries used by the rest of Git.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoUse ULONG_MAX rather than implicit cast of -1.
Shawn O. Pearce [Sun, 5 Nov 2006 07:27:07 +0000 (02:27 -0500)]
Use ULONG_MAX rather than implicit cast of -1.

At least one (older) version of the Solaris C compiler won't allow
'unsigned long x = -1' without explicitly casting -1 to a type of
unsigned long.  So instead use ULONG_MAX, which is really the
correct constant anyway.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoapply: handle "traditional" creation/deletion diff correctly.
Junio C Hamano [Sat, 4 Nov 2006 10:28:53 +0000 (02:28 -0800)]
apply: handle "traditional" creation/deletion diff correctly.

We deduced a GNU diff output that does not use /dev/null convention
as creation (deletion) diff correctly by looking at the lack of context
and deleted lines (added lines), but forgot to reset the new (old) name
field properly.

This was a regression when we added a workaround for --unified=0 insanity.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-clone documentation didn't mention --origin as equivalent of -o
Andy Parkins [Thu, 2 Nov 2006 11:11:56 +0000 (12:11 +0100)]
git-clone documentation didn't mention --origin as equivalent of -o

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMinor grammar fixes for git-diff-index.txt
Andy Parkins [Thu, 2 Nov 2006 11:12:44 +0000 (12:12 +0100)]
Minor grammar fixes for git-diff-index.txt

"what you are going to commit is" doesn't need the "is" and does need a comma.

"can trivially see" is an unecessary split infinitive and "easily" is a more
appropriate adverb.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agolink_temp_to_file: call adjust_shared_perm() only when we created the directory
Johannes Schindelin [Fri, 3 Nov 2006 02:02:17 +0000 (18:02 -0800)]
link_temp_to_file: call adjust_shared_perm() only when we created the directory

18 years agopack-objects doesn't create random pack names
Nicolas Pitre [Wed, 1 Nov 2006 22:34:47 +0000 (17:34 -0500)]
pack-objects doesn't create random pack names

Documentation for pack-objects seems to be out of date in this regard.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agolink_temp_to_file: don't leave the path truncated on adjust_shared_perm failure
Junio C Hamano [Tue, 31 Oct 2006 23:56:58 +0000 (15:56 -0800)]
link_temp_to_file: don't leave the path truncated on adjust_shared_perm failure

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agorevision traversal: --unpacked does not limit commit list anymore.
Junio C Hamano [Tue, 31 Oct 2006 02:58:03 +0000 (18:58 -0800)]
revision traversal: --unpacked does not limit commit list anymore.

This is needed to gain smaller latency back.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoContinue traversal when rev-list --unpacked finds a packed commit.
Jan Harkes [Tue, 31 Oct 2006 01:37:49 +0000 (20:37 -0500)]
Continue traversal when rev-list --unpacked finds a packed commit.

When getting the list of all unpacked objects by walking the commit history,
we would stop traversal whenever we hit a packed commit. However the fact
that we found a packed commit does not guarantee that all previous commits
are also packed. As a result the commit walkers did not show all reachable
unpacked objects.

Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoUse memmove instead of memcpy for overlapping areas
Edgar Toernig [Tue, 31 Oct 2006 01:39:17 +0000 (17:39 -0800)]
Use memmove instead of memcpy for overlapping areas

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoquote.c: ensure the same quoting across platforms.
Junio C Hamano [Tue, 31 Oct 2006 00:07:54 +0000 (16:07 -0800)]
quote.c: ensure the same quoting across platforms.

We read a byte from "char *" and compared it with ' ' to decide
if it needs quoting to protect textual output.  With a platform
where char is unsigned char that would give different result.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoSurround "#define DEBUG 0" with "#ifndef DEBUG..#endif"
Junio C Hamano [Mon, 30 Oct 2006 23:29:53 +0000 (15:29 -0800)]
Surround "#define DEBUG 0" with "#ifndef DEBUG..#endif"

Otherwise "make CFLAGS=-DDEBUG=1" is cumbersome to run.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogitweb: Check git base URLs before generating URL from it
Jakub Narebski [Thu, 26 Oct 2006 10:26:44 +0000 (12:26 +0200)]
gitweb: Check git base URLs before generating URL from it

Check if each of git base URLs in @git_base_url_list is true before
appending "/$project" to it to generate project URL.

This fixes the error that for default configuration for gitweb in
Makefile, with GITWEB_BASE_URL empty (and "++GITWEB_BASE_URL++" being
"" in gitweb.cgi), we had URL of "/$project" in the summary view.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoDocumentation: add git in /etc/services.
Christian Couder [Fri, 27 Oct 2006 05:00:57 +0000 (07:00 +0200)]
Documentation: add git in /etc/services.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoDocumentation: add upload-archive service to git-daemon.
Christian Couder [Fri, 27 Oct 2006 04:59:18 +0000 (06:59 +0200)]
Documentation: add upload-archive service to git-daemon.

This patch minimaly documents the upload-archive service,
hoping that someone with better knowledge will improve upon.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-cherry: document limit and add diagram
Rene Scharfe [Thu, 26 Oct 2006 21:32:41 +0000 (23:32 +0200)]
git-cherry: document limit and add diagram

This patch adds the diagram from the long usage string of git-cherry to
its documentation, and documents the third option.  I changed some of
the + to - in order to save the reader from wondering where they might
fit into the picture.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMerge branch 'jc/combined' into maint
Junio C Hamano [Fri, 27 Oct 2006 01:45:52 +0000 (18:45 -0700)]
Merge branch 'jc/combined' into maint

* jc/combined:
  combine-diff: honour --no-commit-id
  combine-diff: fix hunk_comment_line logic.
  combine-diff: a few more finishing touches.

18 years agodiff-format.txt: Correct information about pathnames quoting in patch format
Jakub Narebski [Thu, 26 Oct 2006 20:21:02 +0000 (22:21 +0200)]
diff-format.txt: Correct information about pathnames quoting in patch format

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agocombine-diff: honour --no-commit-id
Junio C Hamano [Thu, 26 Oct 2006 09:05:59 +0000 (02:05 -0700)]
combine-diff: honour --no-commit-id

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agocombine-diff: fix hunk_comment_line logic.
Junio C Hamano [Thu, 26 Oct 2006 09:05:05 +0000 (02:05 -0700)]
combine-diff: fix hunk_comment_line logic.

We forgot that the last element of sline[] is a sentinel without
the actual line.  *BLUSH*

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agocombine-diff: a few more finishing touches.
Junio C Hamano [Thu, 26 Oct 2006 07:05:04 +0000 (00:05 -0700)]
combine-diff: a few more finishing touches.

"new file" and "deleted file" were already reported in the
original code, but the logic was not as transparent as it could
have.  This uses a few variables and more comments to clarify
the flow.  The rule is: (1) if a path exists in the merge result
when no parent had it, we report "new" (otherwise it came from
the parents, as opposed to have added by the evil merge). (2) if
the path does not exist in the merge result, it is "deleted".

Since we can say "new" and "deleted", there is no reason not to
follow the /dev/null convention.  This fixes it.

Appending function name after @@@ ... @@@ is trivial, so
implement it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoDocumentation: clarify refname disambiguation rules.
Junio C Hamano [Thu, 26 Oct 2006 08:15:42 +0000 (01:15 -0700)]
Documentation: clarify refname disambiguation rules.

Nobody should create ambiguous refs (i.e. have tag "foobar" and branch
"foobar" at the same time) that need to be disambiguated with these
rules to keep sanity, but the rules are there so document them.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agodiff-format.txt: Combined diff format documentation supplement
Jakub Narebski [Thu, 26 Oct 2006 03:44:49 +0000 (05:44 +0200)]
diff-format.txt: Combined diff format documentation supplement

Update example combined diff format to the current version
$ git diff-tree -p -c fec9ebf16c948bcb4a8b88d0173ee63584bcde76
and provide complete first chunk in example.

Document combined diff format headers: how "diff header" look like,
which of "extended diff headers" are used with combined diff and how
they look like, differences in two-line from-file/to-file header from
non-combined diff format, chunk header format.

It should be noted that combined diff format was designed for quick
_content_ inspection and renames would work correctly to pick which
blobs from each tree to compare but otherwise not reflected in the
output (the pathnames are not shown).

[jc: with minimum copyediting]

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoRemove --syslog in git-daemon inetd documentation examples.
Christian Couder [Thu, 26 Oct 2006 04:33:07 +0000 (06:33 +0200)]
Remove --syslog in git-daemon inetd documentation examples.

It is useless because --inetd implies --syslog.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoDocumentation: updates to "Everyday GIT"
J. Bruce Fields [Thu, 26 Oct 2006 02:43:47 +0000 (22:43 -0400)]
Documentation: updates to "Everyday GIT"

Remove the introduction: I think it should be obvious why
we have this.  (And if it isn't obvious then we've got other
problems.)

Replace reference to git whatchanged by git log.

Miscellaneous style and grammar fixes.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoDocumentation/SubmittingPatches: 3+1 != 6 v1.4.3.3
Junio C Hamano [Wed, 25 Oct 2006 21:38:24 +0000 (14:38 -0700)]
Documentation/SubmittingPatches: 3+1 != 6

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoxdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines
Petr Baudis [Wed, 25 Oct 2006 00:28:55 +0000 (02:28 +0200)]
xdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines

This removes the '#' and '(' tests and adds a '$' test instead although I have
no idea what it is actually good for - but hey, if that's what GNU diff does...

Pasky only went and did as Junio sayeth.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoUpdate cherry documentation.
Junio C Hamano [Wed, 25 Oct 2006 06:14:30 +0000 (23:14 -0700)]
Update cherry documentation.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoRefer to git-rev-parse:Specifying Revisions from git.txt
Junio C Hamano [Wed, 25 Oct 2006 18:33:08 +0000 (11:33 -0700)]
Refer to git-rev-parse:Specifying Revisions from git.txt

The brief list given in "Symbolic Identifiers" section of the
main documentation is good enough for overview, but help the
reader to find a more comrehensive list as needed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-fetch.sh printed protocol fix
Tuncer Ayaz [Wed, 25 Oct 2006 10:03:06 +0000 (12:03 +0200)]
git-fetch.sh printed protocol fix

We have supported https:// protocol for some time and in 1.4.3
added ftp:// protocol.  The transfer were still reported to be
over http.

[jc: Tuncer used substring parameter substitution ${remote%%:*}
 but I am deferring it to a later day.  We should replace
 colon-expr with substring substitution after everybody's shell
 can grok it someday, but we are not in a hurry. ]

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoRPM package re-classification.
Junio C Hamano [Wed, 25 Oct 2006 06:55:46 +0000 (23:55 -0700)]
RPM package re-classification.

Grabbing anything that had *arch* in its name into git-arch
package was a wrong idea and we lost git-archive from git-core
by mistake.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoDocumentation: note about contrib/.
Junio C Hamano [Tue, 24 Oct 2006 08:29:27 +0000 (01:29 -0700)]
Documentation: note about contrib/.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-svn: fix symlink-to-file changes when using command-line svn 1.4.0
Eric Wong [Tue, 24 Oct 2006 09:50:37 +0000 (02:50 -0700)]
git-svn: fix symlink-to-file changes when using command-line svn 1.4.0

I incorrectly thought this was hopelessly broken in svn 1.4.0,
but now it's just broken in that the old method didn't work.  It
looks like svn propdel and svn propset must be used now and the
(imho) more obvious svn rm --force && svn add no longer works.

"make -C t full-svn-test" should now work.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Acked-by: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoSet $HOME for selftests
Gerrit Pape [Tue, 24 Oct 2006 20:00:37 +0000 (20:00 +0000)]
Set $HOME for selftests

Set HOME environment variable to test trash directory and export for
selftests.  This fixes the git-svn selftests with nonexistent or not
readable home, as found in at least one automated build system:

 http://buildd.debian.org/fetch.cgi?&pkg=git-core&ver=1%3A1.4.2.3-2&arch=alpha&stamp=1161537466&file=log

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogitweb: Fix setting $/ in parse_commit() v1.4.3.2
Petr Baudis [Tue, 24 Oct 2006 00:39:14 +0000 (02:39 +0200)]
gitweb: Fix setting $/ in parse_commit()

If the commit couldn't have been read, $/ wasn't restored to \n properly,
causing random havoc like git_get_ref_list() returning the ref names with
trailing \n.

Aside of potential confusion in the body of git_search(), no other $/
surprises are hopefully hidden in the code.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agodaemon: do not die on older clients.
Junio C Hamano [Tue, 24 Oct 2006 01:26:05 +0000 (18:26 -0700)]
daemon: do not die on older clients.

In the older times, the clients did not say which host they were trying
to connect, and the code we recently added did not quite handle the
older clients correctly.

Noticed by Simon Arlott.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoxdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header.
Jim Meyering [Mon, 23 Oct 2006 20:22:25 +0000 (22:22 +0200)]
xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header.

This removes trailing blanks from git-generated diff headers
the same way a similar patch did that for GNU diff:

  http://article.gmane.org/gmane.comp.gnu.utils.bugs/13839

That is, it removes trailing blanks on the hunk header line that
shows the function name.

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-clone: honor --quiet
Jim Meyering [Mon, 23 Oct 2006 13:59:48 +0000 (15:59 +0200)]
git-clone: honor --quiet

I noticed that a cron-launched "git-clone --quiet" was generating
progress output to standard error -- and thus always spamming me.
The offending output was due to git-clone invoking git-read-tree with
its undocumented -v option.
This change turns off "-v" for --quiet.

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoDocumentation for the [remote] config
Santi Béjar [Mon, 23 Oct 2006 16:42:14 +0000 (18:42 +0200)]
Documentation for the [remote] config

Signed-off-by: Santi Béjar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoprune-packed: Fix uninitialized variable.
Alexandre Julliard [Mon, 23 Oct 2006 16:26:39 +0000 (18:26 +0200)]
prune-packed: Fix uninitialized variable.

The dryrun variable was made local instead of static by the previous
commit, and local variables aren't initialized to zero.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agopager: default to LESS=FRSX not LESS=FRS
Junio C Hamano [Mon, 23 Oct 2006 03:28:10 +0000 (20:28 -0700)]
pager: default to LESS=FRSX not LESS=FRS

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMake prune also run prune-packed
J. Bruce Fields [Sun, 22 Oct 2006 23:01:23 +0000 (19:01 -0400)]
Make prune also run prune-packed

Both the git-prune manpage and everday.txt say that git-prune should also prune
unpacked objects that are also found in packs, by running git prune-packed.

Junio thought this was "a regression when prune was rewritten as a built-in."

So modify prune to call prune-packed again.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
18 years agogit-vc: better installation instructions
Karl Hasselström [Sun, 22 Oct 2006 18:46:36 +0000 (20:46 +0200)]
git-vc: better installation instructions

Provide some more detailed installation instructions, for the
elisp-challenged among us.

Signed-off-by: Karl Hasselström <kha@treskal.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogitweb: Do not esc_html $basedir argument to git_print_tree_entry
Jakub Narebski [Sat, 21 Oct 2006 15:53:09 +0000 (17:53 +0200)]
gitweb: Do not esc_html $basedir argument to git_print_tree_entry

In git_tree, rename $base variable (which is passed as $basedir
argument to git_print_tree_entry) to $basedir. Do not esc_html
$basedir, as it is part of file_name ('f') argument in link and not
printed. Add '/' at the end only if $basedir is not empty (it is empty
for top directory) and doesn't end in '/' already.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)
Jakub Narebski [Sat, 21 Oct 2006 15:52:19 +0000 (17:52 +0200)]
gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)

Code should be aligned the same way, regardless of tab size.
Use tabs for indent, but spaces for align.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoFix usagestring for git-branch
Lars Hjemli [Sun, 22 Oct 2006 11:30:24 +0000 (13:30 +0200)]
Fix usagestring for git-branch

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-merge: show usage if run without arguments
Rene Scharfe [Sat, 21 Oct 2006 18:51:04 +0000 (20:51 +0200)]
git-merge: show usage if run without arguments

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoFix typo in show-index.c v1.4.3.1
Lars Hjemli [Fri, 20 Oct 2006 21:24:32 +0000 (23:24 +0200)]
Fix typo in show-index.c

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agopager: default to LESS=FRS
Junio C Hamano [Fri, 20 Oct 2006 23:37:49 +0000 (16:37 -0700)]
pager: default to LESS=FRS

Recent change to paginate "git diff" by default is often irritating
when you do not have any change (or very small change) in your working
tree.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-apply: prepare for upcoming GNU diff -u format change.
Linus Torvalds [Fri, 20 Oct 2006 02:26:08 +0000 (19:26 -0700)]
git-apply: prepare for upcoming GNU diff -u format change.

The latest GNU diff from CVS emits an empty line to express
an empty context line, instead of more traditional "single
white space followed by a newline".  Do not get broken by it.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoAdd revspec documentation for ':path', ':[0-3]:path' and git-describe
pclouds@gmail.com [Thu, 19 Oct 2006 03:04:55 +0000 (10:04 +0700)]
Add revspec documentation for ':path', ':[0-3]:path' and git-describe

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoReject hexstring longer than 40-bytes in get_short_sha1()
pclouds@gmail.com [Thu, 19 Oct 2006 01:34:41 +0000 (08:34 +0700)]
Reject hexstring longer than 40-bytes in get_short_sha1()

Such a string can never be a valid object name.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoreduce delta head inflated size
Nicolas Pitre [Wed, 18 Oct 2006 19:56:22 +0000 (15:56 -0400)]
reduce delta head inflated size

Supposing that both the base and result sizes were both full size 64-bit
values, their encoding would occupy only 9.2 bytes each.  Therefore
inflating 64 bytes is way overkill.  Limit it to 20 bytes instead which
should be plenty enough for a couple years to come.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-imap-send: Strip smtp From_ header from imap message. v1.4.3
Markus Amsler [Thu, 12 Oct 2006 22:19:35 +0000 (00:19 +0200)]
git-imap-send: Strip smtp From_ header from imap message.

Cyrus imap refuses messages with a 'From ' Header.

[jc: Mike McCormack says this is fine with Courier as well.]

Signed-off-by: Markus Amsler <markus.amsler@oribi.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoadd proper dependancies on the xdiff source
Andy Whitcroft [Tue, 17 Oct 2006 18:08:08 +0000 (19:08 +0100)]
add proper dependancies on the xdiff source

We are not rebuilding the xdiff library when its header files change.
Add dependancies for those to the main Makefile.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Acked-by: Ryan Anderson <ryan@google.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMerge branch 'maint'
Junio C Hamano [Tue, 17 Oct 2006 04:58:54 +0000 (21:58 -0700)]
Merge branch 'maint'

* maint:
  Fix hash function in xdiff library

18 years agoFix hash function in xdiff library v1.4.2.4
Linus Torvalds [Tue, 17 Oct 2006 02:58:54 +0000 (19:58 -0700)]
Fix hash function in xdiff library

Jim Mayering noticed that xdiff library took insanely long time
when comparing files with many identical lines.

This was because the hash function used in the library is broken
on 64-bit architectures and caused too many collisions.

http://thread.gmane.org/gmane.comp.version-control.git/28962/focus=28994

Acked-by: Davide Libenzi <davidel@xmaliserver.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agosvnimport: Fix broken tags being generated
Petr Baudis [Mon, 16 Oct 2006 01:00:37 +0000 (03:00 +0200)]
svnimport: Fix broken tags being generated

Currently git-svnimport generates broken tags missing the timespec in the
'tagger' line. This is a random stab at a minimal fix.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoReplace open-coded version of hash_sha1_file()
Rene Scharfe [Sun, 15 Oct 2006 12:02:18 +0000 (14:02 +0200)]
Replace open-coded version of hash_sha1_file()

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMake write_sha1_file_prepare() void
Rene Scharfe [Sun, 15 Oct 2006 12:02:03 +0000 (14:02 +0200)]
Make write_sha1_file_prepare() void

Move file name generation from write_sha1_file_prepare() to the one
caller that cares and make it a void function.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoRevert "move pack creation to version 3"
Junio C Hamano [Sun, 15 Oct 2006 06:37:41 +0000 (23:37 -0700)]
Revert "move pack creation to version 3"

This reverts commit 16854571aae6302f457c5fbee41ac64669b09595.
Git as recent as v1.1.6 do not understand version 3 delta.

v1.2.0 is Ok and I personally would say it is old enough, but
the improvement between version 2 and version 3 delta is not
bit enough to justify breaking older clients.

We should resurrect this later, but when we do so we shold
make it conditional.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMerge branch 'jc/http' v1.4.3-rc3
Junio C Hamano [Sun, 15 Oct 2006 01:25:28 +0000 (18:25 -0700)]
Merge branch 'jc/http'

* jc/http:
  Add WEBDAV timeout to http-fetch.

18 years agoclone: the given repository dir should be relative to $PWD
Yasushi SHOJI [Sat, 14 Oct 2006 12:02:51 +0000 (21:02 +0900)]
clone: the given repository dir should be relative to $PWD

the repository argument for git-clone should be relative to $PWD
instead of the given target directory.  The old behavior gave us
surprising success and you need a few minute to know why it worked.

GIT_DIR is already exported so no need to cd into $D. And this makes
$PWD for git-fetch-pack, which is the actual command to take the given
repository dir, the same as git-clone.

Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agocvsserver: fix "cvs diff" in a subdirectory
Johannes Schindelin [Tue, 10 Oct 2006 22:33:28 +0000 (00:33 +0200)]
cvsserver: fix "cvs diff" in a subdirectory

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agocvsserver: Show correct letters for modified, removed and added files
Johannes Schindelin [Tue, 10 Oct 2006 22:20:43 +0000 (00:20 +0200)]
cvsserver: Show correct letters for modified, removed and added files

Earlier, cvsserver showed always an 'U', sometimes even without a space
between the 'U' and the name. Now, the correct letter is shown, with a
space.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-svn: reduce memory usage for large commits
Eric Wong [Sat, 14 Oct 2006 22:48:35 +0000 (15:48 -0700)]
git-svn: reduce memory usage for large commits

apply_textdelta and send_stream can use a separate pool from the
rest of the editor interface, so we'll use a separate SVN::Pool
for them and clear the pool after each file is sent to SVN.

This drastically reduces memory usage per-changeset committed,
and makes large commits (and initial imports) of several
thousand files possible.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoFix tracing when GIT_TRACE is set to an empty string.
Christian Couder [Sat, 14 Oct 2006 14:05:25 +0000 (16:05 +0200)]
Fix tracing when GIT_TRACE is set to an empty string.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMake write_sha1_file_prepare() static
Rene Scharfe [Sat, 14 Oct 2006 10:45:45 +0000 (12:45 +0200)]
Make write_sha1_file_prepare() static

There are no callers of write_sha1_file_prepare() left outside of
sha1_file.c, so make it static.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoAdd hash_sha1_file()
Rene Scharfe [Sat, 14 Oct 2006 10:45:36 +0000 (12:45 +0200)]
Add hash_sha1_file()

Most callers of write_sha1_file_prepare() are only interested in the
resulting hash but don't care about the returned file name or the header.
This patch adds a simple wrapper named hash_sha1_file() which does just
that, and converts potential callers.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-svn: fix commits over svn+ssh://
Eric Wong [Sat, 14 Oct 2006 09:02:37 +0000 (02:02 -0700)]
git-svn: fix commits over svn+ssh://

Once a get_commit_editor has been called from an SVN session, RA
layer operations are not allowed (well, unless you're using
file:// or http(s)://).  So we'll pass an alternate SVN::Ra
object to our editor object for running 'check-path'.

This should fix commits over svnserve (svn:// without ssh, too).

Closes Debian bug #392702, thanks to Pierre Habouzit for
reporting the bug.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agot4015: work-around here document problem on Cygwin.
Junio C Hamano [Fri, 13 Oct 2006 21:20:27 +0000 (14:20 -0700)]
t4015: work-around here document problem on Cygwin.

Signed-off-by: Junio C Hamano <junio@twinsun.com>
18 years agoDocumentation: add missing second colons and remove a typo
Rene Scharfe [Thu, 12 Oct 2006 16:26:34 +0000 (18:26 +0200)]
Documentation: add missing second colons and remove a typo

It takes two colons to mark text as item label.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agodiff: fix 2 whitespace issues
Johannes Schindelin [Thu, 12 Oct 2006 12:22:14 +0000 (14:22 +0200)]
diff: fix 2 whitespace issues

When whitespace or whitespace change was ignored, the function
xdl_recmatch() returned memcmp() style differences, which is wrong,
since it should return 0 on non-match.

Also, there were three horrible off-by-one bugs, even leading to wrong
hashes in the whitespace special handling.

The issue was noticed by Ray Lehtiniemi.

For good measure, this commit adds a test.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoapply --numstat -z: line termination fix.
Junio C Hamano [Thu, 12 Oct 2006 09:57:39 +0000 (02:57 -0700)]
apply --numstat -z: line termination fix.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-svn: add a message encouraging use of SVN::* libraries
Eric Wong [Thu, 12 Oct 2006 01:19:55 +0000 (18:19 -0700)]
git-svn: add a message encouraging use of SVN::* libraries

I'm using svn 1.4.0-4 in Debian unstable and apparently there's
a regression on the SVN side that prevents a symlink from
becoming a regular file (which git supports, of course).

It's not a noticeable regression for most people, but this broke
the full-svn-tests target in t/Makefile for me.

The SVN::* Perl libraries seem to have matured and improved over
the past year, and git-svn has supported them for several months
now, so with that I encourage all users to start using the
SVN::* Perl libraries with git-svn.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agocommit: fix a segfault when displaying a commit with unreachable parents
Eric Wong [Wed, 11 Oct 2006 23:16:02 +0000 (16:16 -0700)]
commit: fix a segfault when displaying a commit with unreachable parents

I was running git show on various commits found by fsck-objects
when I found this bug.  Since find_unique_abbrev() cannot find
an abbreviation for an object not in the database, it will
return NULL, which is bad to run strlen() on.  So instead, we'll
just display the unabbreviated sha1 that we referenced in the
commit.

I'm not sure that this is the best 'fix' for it because the
commit I was trying to show was broken, but I don't think a
program should segfault even if the user tries to do something
stupid.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-svn: -h(elp) message formatting fixes
Eric Wong [Wed, 11 Oct 2006 21:53:36 +0000 (14:53 -0700)]
git-svn: -h(elp) message formatting fixes

'graft-branches' is slightly longer than the rest of the
commands, so the text was squished together in the formatted
output.  This patch just adds some more whitespace to make
the text look more pleasant.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoDocumentation/git-svn: document some of the newer features
Eric Wong [Wed, 11 Oct 2006 21:53:35 +0000 (14:53 -0700)]
Documentation/git-svn: document some of the newer features

I've forgotten to document many of the features added along the
way in the manpages.  This fills in some holes in the
documentation and adds updates some outdated information.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-svn: log command fixes
Eric Wong [Wed, 11 Oct 2006 18:53:22 +0000 (11:53 -0700)]
git-svn: log command fixes

Change the --verbose flag to more closely match svn.  I was
somehow under the impression that --summary included --raw diff
output, but I was wrong.  We now pass -r --raw --name-status as
arguments if passed -v/--verbose.

-r (recursive) is passed by default, since users usually want
it, and accepting it causes difficulty with the -r<revision>
option used by svn users.  A --non-recursive switch has been
added to disable this.

Of course, --summary, --raw, -p and any other git-log options
can still be passed directly (without --name-status).

Also, several warnings about referencing undefined variables
have been fixed.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-svn: multi-init saves and reuses --tags and --branches arguments
Eric Wong [Wed, 11 Oct 2006 18:53:21 +0000 (11:53 -0700)]
git-svn: multi-init saves and reuses --tags and --branches arguments

This should make it much easier to track newly added tags and
branches.  Re-running multi-init without command-line arguments
should now detect new-tags and branches.

--trunk shouldn't change often, but running multi-init on it
is now idempotent.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoatomic write for sideband remote messages
Nicolas Pitre [Wed, 11 Oct 2006 15:49:15 +0000 (11:49 -0400)]
atomic write for sideband remote messages

It has been a few times that I ended up with such a confusing display:

|remote: Generating pack...
|remote: Done counting 17 objects.
|remote: Result has 9 objects.
|remote: Deltifying 9 objects.
|remote:  100% (9/9) done
|remote: Unpacking 9 objects
|Total 9, written 9 (delta 8), reused 0 (delta 0)
| 100% (9/9) done

The confusion can be avoided in most cases by writing the remote message
in one go to prevent interleacing with local messages.  The buffer
declaration has been moved inside recv_sideband() to avoid extra string
copies.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit.spec.in: perl subpackage is installed in perl_vendorlib not vendorarch
Junio C Hamano [Wed, 11 Oct 2006 07:57:17 +0000 (07:57 +0000)]
git.spec.in: perl subpackage is installed in perl_vendorlib not vendorarch

Signed-off-by: Junio C Hamano <junio@hera.kernel.org>
18 years agogit-pull: we say commit X, not X commit.
Junio C Hamano [Wed, 11 Oct 2006 06:00:29 +0000 (23:00 -0700)]
git-pull: we say commit X, not X commit.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-fetch --update-head-ok typofix
Junio C Hamano [Wed, 11 Oct 2006 05:29:02 +0000 (22:29 -0700)]
git-fetch --update-head-ok typofix

Martin Waitz noticed that one of the case arms had an impossible
choice.  It turns out that what it was checking was redundant and
the typo did not have any effect.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agopaginate git-diff by default
Martin Waitz [Tue, 10 Oct 2006 19:16:25 +0000 (21:16 +0200)]
paginate git-diff by default

18 years agoadd commit count options to git-shortlog v1.4.3-rc2
Nicolas Pitre [Fri, 6 Oct 2006 19:39:09 +0000 (15:39 -0400)]
add commit count options to git-shortlog

This patch does 3 things:

1) Output the number of commits along with the name for each author
   (nice to know for long lists spending more than a screen worth of
   commit lines).

2) Provide a switch (-n) to sort authors according to their number of
   commits instead of author alphabetic order.

3) Provide a switch (-s) to supress commit lines and only keep a
   summary of authors and the number of commits for each of them.

And for good measure a short usage is displayed with -h.

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