git
19 years agoAdd a new merge strategy by Fredrik Kuivinen.
Junio C Hamano [Sun, 11 Sep 2005 00:46:27 +0000 (17:46 -0700)] 
Add a new merge strategy by Fredrik Kuivinen.

I really wanted to try this out, instead of asking for an adjustment
to the 'git merge' driver and waiting.  For now the new strategy is
called 'fredrik' and not in the list of default strategies to be tried.

The script wants Python 2.4 so this commit also adjusts Debian and RPM
build procecure files.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago'git-merge': Documentation.
Junio C Hamano [Fri, 9 Sep 2005 08:15:47 +0000 (01:15 -0700)] 
'git-merge': Documentation.

... and add link from git.txt, as usual.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoUse Daniel's read-tree in the merge strategy 'resolve'.
Junio C Hamano [Sun, 11 Sep 2005 00:56:19 +0000 (17:56 -0700)] 
Use Daniel's read-tree in the merge strategy 'resolve'.

And rename the one Linus kept calling stupid, 'stupid'.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMulti-backend merge driver.
Junio C Hamano [Thu, 8 Sep 2005 20:47:12 +0000 (13:47 -0700)] 
Multi-backend merge driver.

The new command 'git merge' takes the current head and one or more
remote heads, with the commit log message for the automated case.

If the heads being merged are simple fast-forwards, it acts the
same way as the current 'git resolve'.  Otherwise, it tries
different merge strategies and takes the result from the one that
succeeded auto-merging, if there is any.

If no merge strategy succeeds auto-merging, their results are
evaluated for number of paths needed for hand resolving, and the
one with the least number of such paths is left in the working
tree.  The user is asked to resolve them by hand and make a
commit manually.

The calling convention from the 'git merge' driver to merge
strategy programs is very simple:

 - A strategy program is to be called 'git-merge-<strategy>'.

 - They take input of this form:

<common1> <common2> ... '--' <head> <remote1> <remote2>...

   That is, one or more the common ancestors, double dash, the
   current head, and one or more remote heads being merged into
   the current branch.

 - Before a strategy program is called, the working tree is
   matched to the current <head>.

 - The strategy program exits with status code 0 when it
   successfully auto-merges the given heads.  It should do
   update-cache for all the merged paths when it does so -- the
   index file will be used to record the merge result as a
   commit by the driver.

 - The strategy program exits with status code 1 when it leaves
   conflicts behind.  It should do update-cache for all the
   merged paths that it successfully auto-merged, and leave the
   cache entry in the index file as the same as <head> for paths
   it could not auto-merge, and leave its best-effort result
   with conflict markers in the working tree when it does so.

 - The strategy program exists with status code other than 0 or
   1 if it does not handle the given merge at all.

As examples, this commit comes with merge strategies based on
'git resolve' and 'git octopus'.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoPlug leak in Daniel's read-tree.
Junio C Hamano [Sun, 11 Sep 2005 01:14:14 +0000 (18:14 -0700)] 
Plug leak in Daniel's read-tree.

... and it is ready to be pushed out in the "master" branch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Add debugging help for case #16 to read-tree.c
Junio C Hamano [Tue, 6 Sep 2005 19:53:56 +0000 (12:53 -0700)] 
[PATCH] Add debugging help for case #16 to read-tree.c

This will help us detect if real-world example merges have multiple
merge-base candidates and one of them matches one head while another
matches the other head.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Disable debugging from read-tree.
Junio C Hamano [Mon, 5 Sep 2005 08:13:36 +0000 (01:13 -0700)] 
[PATCH] Disable debugging from read-tree.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Document the trivial merge rules for 3(+more ancestors)-way merges.
Daniel Barkalow [Mon, 5 Sep 2005 06:05:17 +0000 (02:05 -0400)] 
[PATCH] Document the trivial merge rules for 3(+more ancestors)-way merges.

Signed-off-by: Daniel Barkalow
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Rewrite read-tree
Daniel Barkalow [Mon, 5 Sep 2005 06:04:48 +0000 (02:04 -0400)] 
[PATCH] Rewrite read-tree

Adds support for multiple ancestors, removes --emu23, much simplification.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Add function to append to an object_list.
Daniel Barkalow [Mon, 5 Sep 2005 06:04:18 +0000 (02:04 -0400)] 
[PATCH] Add function to append to an object_list.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Add a function for getting a struct tree for an ent.
Daniel Barkalow [Mon, 5 Sep 2005 06:03:51 +0000 (02:03 -0400)] 
[PATCH] Add a function for getting a struct tree for an ent.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoFix 'git-show-branch --list <head>'
Junio C Hamano [Sun, 11 Sep 2005 01:24:46 +0000 (18:24 -0700)] 
Fix 'git-show-branch --list <head>'

It mistakenly failed to output anything when given a single head.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoAdd 'git bisect replay/log' documentation.
Junio C Hamano [Sat, 10 Sep 2005 22:23:09 +0000 (15:23 -0700)] 
Add 'git bisect replay/log' documentation.

... lest I get yelled at by a very angry scm ;-).

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoKeep bisection log so that it can be replayed later.
Junio C Hamano [Sat, 10 Sep 2005 22:18:31 +0000 (15:18 -0700)] 
Keep bisection log so that it can be replayed later.

The 'git bisect' command was very unforgiving in that once you made a
mistake telling it good/bad it was very hard to take it back.  Keep a
log of what you told it in an earlier session, so that it can be
replayed after removing everything after what you botched last time.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoFix copy marking from diffcore-rename.
Junio C Hamano [Sat, 10 Sep 2005 19:42:32 +0000 (12:42 -0700)] 
Fix copy marking from diffcore-rename.

When (A,B) ==> (B,C) rename-copy was detected, we incorrectly said
that C was created by copying B.  This is because we only check if the
path of rename/copy source still exists in the resulting tree to see
if the file is renamed out of existence.  In this case, the new B is
created by copying or renaming A, so the original B is lost and we
should say C is a rename of B not a copy of B.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] archimport - add merge detection
martin@catalyst.net.nz [Sat, 10 Sep 2005 11:42:24 +0000 (23:42 +1200)] 
[PATCH] archimport - add merge detection

We now keep track of the patches merged in each branch since they have
diverged, using the records that the Arch "logs" provide. Merge parents
for a commit are defined if we are merging a series of patches that starts
from the mergebase.

If patches from a related branch are merged out-of-order, we keep track of
how much has been merged sequentially -- the tip of that sequential merge
is our new parent from that branch.

This mechanism works very well for branches that merge in dovetail and/or
flying fish patterns, probably less well for others.

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMake sure we have leading directories under refs/{heads,tags}
Junio C Hamano [Sat, 10 Sep 2005 17:40:47 +0000 (10:40 -0700)] 
Make sure we have leading directories under refs/{heads,tags}

Otherwise having subdirectories under refs/heads becomes rather
unwieldy.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Documentation/repository-layout.txt typo
Sven Verdoolaege [Sat, 10 Sep 2005 09:51:51 +0000 (11:51 +0200)] 
[PATCH] Documentation/repository-layout.txt typo

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoshow-branch: --list and --independent
Junio C Hamano [Fri, 9 Sep 2005 22:40:45 +0000 (15:40 -0700)] 
show-branch: --list and --independent

The --list option is what 'git branch' without parameter should
have been; it shows the one-line commit message for each branch
name.  The --independent option is used to filter out commits
that can be reachable from other commits, to make detection of
fast forward condition in multi-head merge easier.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoRetire support for old environment variables.
Junio C Hamano [Fri, 9 Sep 2005 21:48:54 +0000 (14:48 -0700)] 
Retire support for old environment variables.

We have deprecated the old environment variable names for quite a
while and now it's time to remove them.  Gone are:

    SHA1_FILE_DIRECTORIES AUTHOR_DATE AUTHOR_EMAIL AUTHOR_NAME
    COMMIT_AUTHOR_EMAIL COMMIT_AUTHOR_NAME SHA1_FILE_DIRECTORY

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoAdjust .gitignore for big rename.
Junio C Hamano [Fri, 9 Sep 2005 18:55:56 +0000 (11:55 -0700)] 
Adjust .gitignore for big rename.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] remove duplicate git-send-email-script.perl target in Makefile
Marco Roeland [Fri, 9 Sep 2005 18:08:50 +0000 (20:08 +0200)] 
[PATCH] remove duplicate git-send-email-script.perl target in Makefile

Remove duplicate git-send-email-perl target in Makefile.

When WITH_SEND_EMAIL was defined, as in the Debian 'deb' target,
git-send-email-perl was added twice to SCRIPT_PERL, leading to a
duplicate definition in the Makefile. Creating a ".deb" then failed.

Signed-off-by: Marco Roeland <marco.roeland@xs4all.nl>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] fix tutorial typo
jdl@freescale.com [Fri, 9 Sep 2005 15:41:15 +0000 (10:41 -0500)] 
[PATCH] fix tutorial typo

Fix a minor typo in the tutorial.txt.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Fix tutorial reference to git-*-scripts.
jdl@freescale.com [Fri, 9 Sep 2005 14:11:35 +0000 (09:11 -0500)] 
[PATCH] Fix tutorial reference to git-*-scripts.

There was a lingering reference to the git-*-scripts in
the tutorial.  This patch reworks that paragraph a bit.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoIgnore datestamp-only changes when installing webdoc.
Junio C Hamano [Fri, 9 Sep 2005 08:17:54 +0000 (01:17 -0700)] 
Ignore datestamp-only changes when installing webdoc.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoSquelch `removal' message from 'git reset --hard'.
Junio C Hamano [Fri, 9 Sep 2005 06:14:33 +0000 (23:14 -0700)] 
Squelch `removal' message from 'git reset --hard'.

We do not say anything about checking out, so mentioning removal only
gets unnecessarily alarming.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago'build' scripts before installing.
Junio C Hamano [Fri, 9 Sep 2005 01:50:33 +0000 (18:50 -0700)] 
'build' scripts before installing.

Earlier we renamed git-foo.sh to git-foo while installing, which
was mostly done by inertia than anything else.  This however
made writing tests to use scripts harder.

This patch builds the scripts the same way as we build binaries
from their sources.  As a side effect, you can now specify
non-standard paths you have your Perl binary is in when running
the make.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoShow all merge-base candidates from show-branch --merge-base
Junio C Hamano [Thu, 8 Sep 2005 19:15:52 +0000 (12:15 -0700)] 
Show all merge-base candidates from show-branch --merge-base

This would make things easier to use for Octopus.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDocumentation updates.
Junio C Hamano [Thu, 8 Sep 2005 06:04:52 +0000 (23:04 -0700)] 
Documentation updates.

Fill in more missing documentation.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] git-daemon --inetd
lars.doelle@on-line.de [Thu, 8 Sep 2005 01:50:01 +0000 (03:50 +0200)] 
[PATCH] git-daemon --inetd

git-daemon using inetd. does not work properly. inetd routes stderr onto the
network line just like stdout, which was apparently not expected to be so.

As the result of this, the stream is closed by the receiver, because some
"Packing %d objects\n" originating from pack_objects is first reported over
the line instead of the expected pack_header, and so the SIGNATURE test
fails.  Here is a workaround.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit --version tells which version of git you have.
Junio C Hamano [Thu, 8 Sep 2005 04:26:52 +0000 (21:26 -0700)] 
git --version tells which version of git you have.

Originally from Martin Atukunda <matlads@dsmagic.com> but adjusted for
post-rename code.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Do not create bogus branch from flag to git branch
Amos Waterland [Thu, 8 Sep 2005 02:13:26 +0000 (21:13 -0500)] 
[PATCH] Do not create bogus branch from flag to git branch

If you run `git branch --help', you will unexpectedly have created a new
branch named "--help".  This simple patch adds logic and a usage
statement to catch this and similar problems, and adds a testcase for it.

Signed-off-by: Amos Waterland <apw@rossby.metr.ou.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Portability fix for Solaris 10/x86
Patrick Mauritz [Mon, 5 Sep 2005 23:24:03 +0000 (01:24 +0200)] 
[PATCH] Portability fix for Solaris 10/x86

 * getdomainname unavailable there.
 * needs -lsocket for linkage.
 * needs __EXTENSIONS__ at the beginning of convert-objects.c

[JC: I've done this slightly differently from what Patrick originally
sent to the list and dropped the bit that deals with installations
that has curl header and library at non-default location.  I am
resisting the slipperly slope called autoconf.]

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoBig tool rename.
Junio C Hamano [Thu, 8 Sep 2005 00:26:23 +0000 (17:26 -0700)] 
Big tool rename.

As promised, this is the "big tool rename" patch.  The primary differences
since 0.99.6 are:

  (1) git-*-script are no more.  The commands installed do not
      have any such suffix so users do not have to remember if
      something is implemented as a shell script or not.

  (2) Many command names with 'cache' in them are renamed with
      'index' if that is what they mean.

There are backward compatibility symblic links so that you and
Porcelains can keep using the old names, but the backward
compatibility support  is expected to be removed in the near
future.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoGIT 0.99.6 v0.99.6
Junio C Hamano [Wed, 7 Sep 2005 22:59:24 +0000 (15:59 -0700)] 
GIT 0.99.6

19 years ago[PATCH] Simplify git script
David_Kågedal [Wed, 7 Sep 2005 07:29:20 +0000 (09:29 +0200)] 
[PATCH] Simplify git script

The code for listing the available subcommands was unnecessarily
complex.

Signed-off-by: David Kågedal <davidk@lysator.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDocumentation updates.
Junio C Hamano [Wed, 7 Sep 2005 21:28:21 +0000 (14:28 -0700)] 
Documentation updates.

More commands are documented now; thanks Raymond.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Docs for git-build-rev-cache.
A Large Angry SCM [Wed, 7 Sep 2005 21:20:41 +0000 (17:20 -0400)] 
[PATCH] Docs for git-build-rev-cache.

Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Docs for git-show-rev-cache.
A Large Angry SCM [Wed, 7 Sep 2005 21:19:48 +0000 (17:19 -0400)] 
[PATCH] Docs for git-show-rev-cache.

Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Docs for git-reset-script.
A Large Angry SCM [Wed, 7 Sep 2005 21:18:51 +0000 (17:18 -0400)] 
[PATCH] Docs for git-reset-script.

Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Docs for git-checkout-script.
A Large Angry SCM [Wed, 7 Sep 2005 21:17:18 +0000 (17:17 -0400)] 
[PATCH] Docs for git-checkout-script.

Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDocumentation updates.
Junio C Hamano [Wed, 7 Sep 2005 21:08:38 +0000 (14:08 -0700)] 
Documentation updates.

parse-remote and rev-parse gets full documentation.  Add skeleton for
archimport.  Link them from the main git(7) page.  Also move git-daemon
and git-request-pull out of 'undocumented' section.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoFlatten tools/ directory to make build procedure simpler.
Junio C Hamano [Wed, 7 Sep 2005 19:22:56 +0000 (12:22 -0700)] 
Flatten tools/ directory to make build procedure simpler.

Also make platform specific part more isolated.  Currently we only
have Darwin defined, but I've taken a look at SunOS specific patch
(which I dropped on the floor for now) as well.  Doing things this way
would make adding it easier.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agomailinfo: barf and exist upon nested multipart.
Junio C Hamano [Tue, 6 Sep 2005 23:46:34 +0000 (16:46 -0700)] 
mailinfo: barf and exist upon nested multipart.

At least we can detect what we do not handle.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge branch 'master' of .
Junio C Hamano [Tue, 6 Sep 2005 20:51:33 +0000 (13:51 -0700)] 
Merge branch 'master' of .

19 years ago[PATCH] Update documentation for git-get-tar-commit-id
Rene Scharfe [Tue, 6 Sep 2005 19:21:16 +0000 (21:21 +0200)] 
[PATCH] Update documentation for git-get-tar-commit-id

... and add a copyright notice.

[jc: also move its entry in git.txt from undocumented section.]

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] git-cvsimport-script: handling of tags
H. Peter Anvin [Tue, 6 Sep 2005 17:36:01 +0000 (10:36 -0700)] 
[PATCH] git-cvsimport-script: handling of tags

This patch changes git-cvsimport-script so that it creates tag objects
instead of refs to commits, and adds an option, -u, to convert
underscores in branch and tag names to dots (since CVS doesn't allow
dots in branches and tags.)

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoFormat fix for asciidoc documentation titles.
Junio C Hamano [Tue, 6 Sep 2005 16:06:32 +0000 (09:06 -0700)] 
Format fix for asciidoc documentation titles.
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge branch 'master' of .
Junio C Hamano [Mon, 5 Sep 2005 08:42:11 +0000 (01:42 -0700)] 
Merge branch 'master' of .

19 years agoRetire git-clone-dumb-http.
Junio C Hamano [Mon, 5 Sep 2005 07:47:39 +0000 (00:47 -0700)] 
Retire git-clone-dumb-http.

... and fold it into git-clone-script.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Update documentation of --compose to git-send-email-script.txt
Ryan Anderson [Mon, 5 Sep 2005 05:13:07 +0000 (01:13 -0400)] 
[PATCH] Update documentation of --compose to git-send-email-script.txt

Signed-off-by: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Make git-send-email-script ignore some unnecessary options when operating...
Ryan Anderson [Mon, 5 Sep 2005 05:13:07 +0000 (01:13 -0400)] 
[PATCH] Make git-send-email-script ignore some unnecessary options when operating in batch mode.

Add a "--compose" option that uses $EDITOR to edit an "introductory" email to the patch series.

Signed-off-by: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoInstall archimport-script.
Junio C Hamano [Mon, 5 Sep 2005 06:30:08 +0000 (23:30 -0700)] 
Install archimport-script.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge branch 'master' of .
Junio C Hamano [Sun, 4 Sep 2005 22:47:28 +0000 (15:47 -0700)] 
Merge branch 'master' of .

19 years agoAdd copy/rename check for git-apply.
Junio C Hamano [Sun, 4 Sep 2005 22:40:18 +0000 (15:40 -0700)] 
Add copy/rename check for git-apply.

The new test pattern is taken from HPA's klibc and klibc-kbuild trees,
which has many interesting renames (the commits
001eef5a19219e5b0601068a3d13874b88c0653e and
0037d1bc0deaf7daec3778496656cb04b4e4b9d0).  The test pattern exposes
problems in the apply.c changes currently in the proposed updates
branch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoAdd a link from update-server-info documentation to repository layout.
Junio C Hamano [Sun, 4 Sep 2005 18:25:56 +0000 (11:25 -0700)] 
Add a link from update-server-info documentation to repository layout.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Make git-apply understand incomplete lines in non-C locales
Fredrik Kuivinen [Sun, 4 Sep 2005 17:29:02 +0000 (19:29 +0200)] 
[PATCH] Make git-apply understand incomplete lines in non-C locales

The message "\ No newline at end of file" used by diff(1) to mark
an incomplete line is locale dependent. We can't assume more than
that it begins with "\ ".

For example, given two files, "foo" and "bar", with appropriate
contents, 'diff -u foo bar' will produce the following output on
my system:

    --- foo 2005-09-04 18:59:38.000000000 +0200
    +++ bar 2005-09-04 18:59:16.000000000 +0200
    @@ -1 +1 @@
    -foobar
    +foo
    \ Ingen nyrad vid filslut

[jc: the check for the marker still uses the line length being no less
than 12 bytes for a sanity check, but I think it is safe to assume
that in other locales. I haven't checked the .po files from diff, tho'.]

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-applymbox: fix '-c'.
Junio C Hamano [Sun, 4 Sep 2005 17:37:07 +0000 (10:37 -0700)] 
git-applymbox: fix '-c'.

Earlier round b50abe8843006e9856c633b5abeb4eab53b46629 broke it
by carelessly rewriting the main loop.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] archimport: avoid committing on an Arch tag
Martin Langhoff [Sun, 4 Sep 2005 10:55:29 +0000 (22:55 +1200)] 
[PATCH] archimport: avoid committing on an Arch tag

Arch tags are full commits (without any changed files) as well. Trust Arch
to have put an unchanged tree in place (which seems to do reliably), and
just add a tag & new branch. Speeds up Arch imports significantly, and leaves
history in a much saner state.

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] archimport autodetects import status, supports incremental imports
Martin Langhoff [Sun, 4 Sep 2005 10:55:06 +0000 (22:55 +1200)] 
[PATCH] archimport autodetects import status, supports incremental imports

If there is no GIT directory, archimport will assume it is an initial import.

It now also supports incremental imports,  skipping "seen" commits. You can
now run it repeatedly to pull new commits from the Arch repository.

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] NUL terminate the object data in patch_delta()
Sergey Vlasov [Sun, 4 Sep 2005 09:43:16 +0000 (13:43 +0400)] 
[PATCH] NUL terminate the object data in patch_delta()

At least pretty_print_commit() expects to get NUL-terminated commit data to
work properly.  unpack_sha1_rest(), which reads objects from separate files,
and unpack_non_delta_entry(), which reads non-delta-compressed objects from
pack files, already add the NUL byte after the object data, but patch_delta()
did not do it, which caused problems with, e.g., git-rev-list --pretty when
there are delta-compressed commit objects.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Possible cleanups for local-pull.c
Peter Hagervall [Fri, 2 Sep 2005 12:17:10 +0000 (14:17 +0200)] 
[PATCH] Possible cleanups for local-pull.c

Hi. This patch contains the following possible cleanups:

 * Make some needlessly global functions in local-pull.c static
 * Change 'char *' to 'const char *' where appropriate

Signed-off-by: Peter Hagervall <hager@cs.umu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Doc: replace read-cache with git-read-tree.
Paolo 'Blaisorblade' Giarrusso [Fri, 2 Sep 2005 09:56:52 +0000 (11:56 +0200)] 
[PATCH] Doc: replace read-cache with git-read-tree.

Replace references to "read-cache" with references to git-read-tree in the
documentation. I chose that because reference say "see read-cache about
stages", and stages are explained in git-read-tree.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDocument hooks.
Junio C Hamano [Sat, 3 Sep 2005 04:19:26 +0000 (21:19 -0700)] 
Document hooks.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge branch 'master' of .
Junio C Hamano [Fri, 2 Sep 2005 22:32:55 +0000 (15:32 -0700)] 
Merge branch 'master' of .

19 years agoMention post-update when we first talk about publishing a repository.
Junio C Hamano [Fri, 2 Sep 2005 18:46:43 +0000 (11:46 -0700)] 
Mention post-update when we first talk about publishing a repository.

There is more detailed instruction for `project lead` later in
the tutorial to talk about the same, but at this point in the
flow of tutorial, the first time reader has no way of knowing it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoscripts: equality test '==' is not portable.
Junio C Hamano [Fri, 2 Sep 2005 17:53:15 +0000 (10:53 -0700)] 
scripts: equality test '==' is not portable.

On NetBSD 3 we trigger an error:

    [: ==: unexpected operator

Double-equal is accepted by bash built-in '[' and bash(1) suggests
using '=' for strict POSIX compliance (test(1) from coreutils does not
mention '==').  Eradicate their uses everywhere.

[jc: Somebody with a pseudonym kindly sent a message to let
 me know about the problem privately; I do not have access to a NetBSD
 box.]

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-checkout-script: Remove unnecessary variable.
Junio C Hamano [Fri, 2 Sep 2005 17:39:57 +0000 (10:39 -0700)] 
git-checkout-script: Remove unnecessary variable.

There was unused variable $i that counted the number of arguments
being processed.  Remove it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoFix automerge message.
Junio C Hamano [Fri, 2 Sep 2005 09:34:13 +0000 (02:34 -0700)] 
Fix automerge message.

The rewrite done while adding the shorthand support made the remote
refname recorded in the commit message too long for human consumption,
while losing information by using the shorthand not the real URL to
name the remote repository there.  They were both bad changes done
without enough thinking.

Pointed out by Linus.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Explain what went wrong on update-cache of new file
Amos Waterland [Thu, 1 Sep 2005 14:13:50 +0000 (09:13 -0500)] 
[PATCH] Explain what went wrong on update-cache of new file

If somebody tries to run `git update-cache foo', where foo is a new
file, git dies with a rather cryptic error message:

 fatal: Unable to add foo to database

This trivial patch makes git explain what probably went wrong.  It is
not a perfect diagnosis of all error paths, but for 90% of the cases it
should provide the user with the clue they need.

[jc: I ended up wording slightly differently, and fixed another
 confusing error message I noticed while reviewing the code.]

Signed-off-by: Amos Waterland <apw@rossby.metr.ou.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoAdd repository-layout document.
Junio C Hamano [Thu, 1 Sep 2005 23:56:13 +0000 (16:56 -0700)] 
Add repository-layout document.

... and link to it from both the main index and the tutorial.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge refs/heads/master from .
Junio C Hamano [Thu, 1 Sep 2005 08:02:39 +0000 (01:02 -0700)] 
Merge refs/heads/master from .

19 years agoUse 'git status' now it can handle initial commit.
Junio C Hamano [Thu, 1 Sep 2005 00:15:25 +0000 (17:15 -0700)] 
Use 'git status' now it can handle initial commit.

Update 'git commit' to use the updated `git status`.  Also earlier
the `-s` flag was ignored for the initial commit.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoFix git-status when HEAD is invalid.
Junio C Hamano [Thu, 1 Sep 2005 00:13:48 +0000 (17:13 -0700)] 
Fix git-status when HEAD is invalid.

It tried to do git-diff-cache against HEAD, of course.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoFix git-log-script when HEAD is invalid.
Junio C Hamano [Thu, 1 Sep 2005 00:11:39 +0000 (17:11 -0700)] 
Fix git-log-script when HEAD is invalid.

It used 'die' without including git-sh-setup-script; since everything
it uses are subdirectory-aware, instead of including the script to
force it to be run from the top, use echo & exit.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoAdd Pine 4.63 help from Daniel.
Junio C Hamano [Wed, 31 Aug 2005 18:48:41 +0000 (11:48 -0700)] 
Add Pine 4.63 help from Daniel.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge refs/heads/master from .
Junio C Hamano [Wed, 31 Aug 2005 06:11:12 +0000 (23:11 -0700)] 
Merge refs/heads/master from .

19 years agoUpdate tutorial.
Junio C Hamano [Wed, 31 Aug 2005 06:08:06 +0000 (23:08 -0700)] 
Update tutorial.

Finally I bit the bullet and did a full sweep of this document.
The changes are mostly clarifications, adjusting old terminology
to the glossary compatible one, and asciidoc formatting.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoshow-branch: make it work in a subdirectory.
Junio C Hamano [Tue, 30 Aug 2005 23:59:37 +0000 (16:59 -0700)] 
show-branch: make it work in a subdirectory.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Initial import of git-archimport-script
Martin Langhoff [Tue, 30 Aug 2005 09:56:52 +0000 (21:56 +1200)] 
[PATCH] Initial import of git-archimport-script

Imports a project history from one or more Arch repositories, following
the branching and tagging across repositories. Note you should import
separate projects to separate GIT repositories.

Supported
 - Imports, tags and simple commits.
 - File renames
 - Arch tags
 - Binary files
 - Large trees
 - Multiple repositories
 - Branches

TODO:
 - Allow re-running the import on an already-imported project
 - Follow merges using Arch data
 - Audit shell escaping of filenames
 - Better support for file metadata
 - Better/safer creation of temp directories

Unsupported:
 - Arch 'configuration'

[jc: my arch/tla is very rusty and after Tom announced he is stepping
 down as the maintainer I have very little motivation to relearn it,
 so I would appreciate if people discuss any bugs or enhancements
 directly with Martin.  Of course I can help with the git end of the
 issues.]

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge refs/heads/master from .
Junio C Hamano [Tue, 30 Aug 2005 21:33:27 +0000 (14:33 -0700)] 
Merge refs/heads/master from .

19 years agocat-file: make it work in a subdirectory.
Junio C Hamano [Tue, 30 Aug 2005 16:07:50 +0000 (09:07 -0700)] 
cat-file: make it work in a subdirectory.

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

19 years agoDocumentaion updates.
Junio C Hamano [Tue, 30 Aug 2005 20:51:01 +0000 (13:51 -0700)] 
Documentaion updates.

Mostly making the formatted html prettier.

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

19 years ago'git bisect visualize'
Junio C Hamano [Tue, 30 Aug 2005 19:45:41 +0000 (12:45 -0700)] 
'git bisect visualize'

Linus says:

    I'm testing bisection to find a bug that causes my G5 to no longer boot,
    and during the process have found this command line very nice:

    gitk bisect/bad --not $(cd .git/refs ; ls bisect/good-*)

    it basically shows the state of bisection with the known bad commit as the
    top, and cutting off all the good commits - so what you see are the
    potential buggy commits.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Fix bisection terminating condition
Linus Torvalds [Tue, 30 Aug 2005 18:04:39 +0000 (11:04 -0700)] 
[PATCH] Fix bisection terminating condition

When testing bisection and using gitk to visualize the result, it was
obvious that the termination condition was broken.

We know what the bad entry is only when the bisection ends up telling us
to test the known-bad entry again.

Also, add a safety net: if somebody marks as good something that includes
the known-bad point, we now notice and complain, instead of writing an
empty revision to the new bisection branch.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge refs/heads/master from .
Junio C Hamano [Tue, 30 Aug 2005 08:10:10 +0000 (01:10 -0700)] 
Merge refs/heads/master from .

19 years agoparse-remote: trivial fix to allow refs/{heads,tags}/ spelled easier.
Junio C Hamano [Tue, 30 Aug 2005 08:08:24 +0000 (01:08 -0700)] 
parse-remote: trivial fix to allow refs/{heads,tags}/ spelled easier.

Earlier we always prefixed refs/heads to the token given to "git fetch"
(and "git pull") as refspec.  This was a mistake.  Allow them to be
spelled like "master:refs/tags/paulus" to mean "I want to fetch the
master there and store it as my local "paulus" tag.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge refs/heads/master from paulus
Junio C Hamano [Tue, 30 Aug 2005 07:44:44 +0000 (00:44 -0700)] 
Merge refs/heads/master from paulus

19 years agoMake sure howto/*.html is built as well.
Junio C Hamano [Tue, 30 Aug 2005 06:09:22 +0000 (23:09 -0700)] 
Make sure howto/*.html is built as well.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Make "git resolve" less scary
Linus Torvalds [Tue, 30 Aug 2005 05:36:16 +0000 (22:36 -0700)] 
[PATCH] Make "git resolve" less scary

When we resolve a merge between two branches, and it removes a file in the
current branch, we notify the person doing the resolve with a big nice
notice like

Removing xyzzy

which is all well and good.

HOWEVER, we also do this when the file was actually removed in the current
branch, and we're merging with another branch that didn't have it removed
(or, indeed, if the other branch _did_ have it removed, but the common
parent was far enough back that the file still existed in there).

And that just doesn't make sense. In that case we're not removing
anything: the file didn't exist in the branch we're merging into in the
first place. So the message just makes people nervous, and makes no sense.

This has been around forever, but I never bothered to do anything about
it.

Until now.

The trivial fix is to only talk about removing files if the file existed
in the branch we're merging into, but will not exist in the result.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge refs/heads/master from .
Junio C Hamano [Tue, 30 Aug 2005 05:38:45 +0000 (22:38 -0700)] 
Merge refs/heads/master from .

19 years agoAllow asciidoc formatted documentation in howto/
Junio C Hamano [Tue, 30 Aug 2005 05:38:12 +0000 (22:38 -0700)] 
Allow asciidoc formatted documentation in howto/

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge refs/heads/master from .
Junio C Hamano [Tue, 30 Aug 2005 04:51:26 +0000 (21:51 -0700)] 
Merge refs/heads/master from .

19 years agoAdd [HOWTO] revert/branch/rebase.
Junio C Hamano [Tue, 30 Aug 2005 04:50:49 +0000 (21:50 -0700)] 
Add [HOWTO] revert/branch/rebase.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit commit: Allow editing on all occasions.
Junio C Hamano [Tue, 30 Aug 2005 04:25:19 +0000 (21:25 -0700)] 
git commit: Allow editing on all occasions.

Sometimes it may be handy to be able to edit messages that come
from somewhere other than an existing commit.

This makes 'git commit -F <file> -e' to start editor with the initial
log message contents taken from <file>.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDo not verify reverted/cherry-picked/rebased patches.
Junio C Hamano [Tue, 30 Aug 2005 04:19:04 +0000 (21:19 -0700)] 
Do not verify reverted/cherry-picked/rebased patches.

The original committer may have used validation criteria that is less
stricter than yours.  You do not want to lose the changes even if they
are done in substandard way from your 'commit -v' verifier's point of
view.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoFix compilation warnings.
Junio C Hamano [Tue, 30 Aug 2005 04:17:21 +0000 (21:17 -0700)] 
Fix compilation warnings.

... found by compiling them with gcc 2.95.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Update Thunderbird specific hints.
A Large Angry SCM [Tue, 30 Aug 2005 02:34:07 +0000 (22:34 -0400)] 
[PATCH] Update Thunderbird specific hints.

Setting the wraplength to zero keeps the bird from trimming WS.

Signed-off-by: <gitzilla@gmail.com>
(cherry picked from 1d535d525d6a0ddddc3755065d721278bc5f0aff commit)

19 years ago[PATCH] Documentation for git-request-pull-script.
A Large Angry SCM [Tue, 30 Aug 2005 02:33:14 +0000 (22:33 -0400)] 
[PATCH] Documentation for git-request-pull-script.

Copy & paste source comments into documentation.

Signed-off-by: <gitzilla@gmail.com>
(cherry picked from 10dce95490cb02f66b3a08984ccdee0a92b48236 commit)

19 years ago[PATCH] Documentation for git-clone-dumb-http.
A Large Angry SCM [Tue, 30 Aug 2005 02:32:04 +0000 (22:32 -0400)] 
[PATCH] Documentation for git-clone-dumb-http.

Copy & paste source comments into documentation.

Signed-off-by: <gitzilla@gmail.com>
(cherry picked from f79528e5d05a64d68b8e09a18521950775e99ec1 commit)