]> Kevux Git Server - rit/log
rit
19 years agoAccount for tree entry memory costs in fast-import.
Shawn O. Pearce [Fri, 25 Aug 2006 18:53:32 +0000 (14:53 -0400)]
Account for tree entry memory costs in fast-import.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoMoved from command to after data to help cvs2svn.
Shawn O. Pearce [Fri, 25 Aug 2006 02:38:13 +0000 (22:38 -0400)]
Moved from command to after data to help cvs2svn.

cvs2svn has three phases: begin_commit, middle_commit, end_commit.
The ancester is computed in the middle_commit phase. So its easier
to generate a stream if the from command appears after the commit
message itself but before the file change commands.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoRemove branch creation command from fast-import.
Shawn O. Pearce [Thu, 24 Aug 2006 22:45:26 +0000 (18:45 -0400)]
Remove branch creation command from fast-import.

Jon Smirl was finding it difficult to alter cvs2svn to generate
branch commands prior to the first commit of the same branch.
This change moves the 'from' command to be an optional parameter of
the 'commit' command, thereby allowing a new branch to be defined
at the moment it gets used to create the first commit on that branch.

This change makes it impossible to create a branch with no commits
on it as at least one commit is needed to register the branch.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoRound out memory pool allocations in fast-import to pointer sizes.
Shawn O. Pearce [Thu, 24 Aug 2006 08:46:29 +0000 (04:46 -0400)]
Round out memory pool allocations in fast-import to pointer sizes.

Some architectures (e.g. SPARC) would require that we access pointers
only on pointer-sized alignments.  So ensure the pool allocator
rounds out non-pointer sized allocations to the next pointer so we
don't generate bad memory addresses.  This could have occurred if
we had previously allocated an atom whose string was not a whole
multiple of the pointer size, for example.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoImplemented tree reloading in fast-import.
Shawn O. Pearce [Thu, 24 Aug 2006 08:37:35 +0000 (04:37 -0400)]
Implemented tree reloading in fast-import.

Tree reloading allows fast-import to swap out the least-recently used
branch by simply deallocating the data structures from memory that
were associated with that branch.  Later if the branch becomes active
again it can lazily recreate those structures on demand by reloading
the necessary trees from the pack file it originally wrote them to.

The reloading process is implemented by mmap'ing the pack into
memory and using a much tighter variant of the pack reading code
contained in sha1_file.c.  This was a blatent copy from sha1_file.c
but the unpacking functions were significantly simplified and are
actually now in a form that should make it easier to map only the
necessary regions of a pack rather than the entire file.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoImplemented 'tag' command in fast-import.
Shawn O. Pearce [Thu, 24 Aug 2006 07:12:13 +0000 (03:12 -0400)]
Implemented 'tag' command in fast-import.

Tags received from the frontend are generated in memory in a simple
linked list in the order that the tag commands were sent by the
frontend.  If multiple different tag objects for the same tag name
get generated the last one sent by the frontend will be the one
that gets written out at termination.  Multiple tag objects for
the same name will cause all older tags of the same name to be lost.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoAdded branch load counter to fast-import.
Shawn O. Pearce [Wed, 23 Aug 2006 08:31:12 +0000 (04:31 -0400)]
Added branch load counter to fast-import.

If the branch load count exceeds the number of branches created then
the frontend is causing fast-import to page branches into and out of
memory due to the way its ordering its commits.  Performance can
likely be increased if the frontend were to alter its commit
sequence such that it stays on one branch before switching to another
branch, then never returns to the prior branch.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoAdded mark store/find to fast-import.
Shawn O. Pearce [Wed, 23 Aug 2006 08:17:45 +0000 (04:17 -0400)]
Added mark store/find to fast-import.

Marks are now saved when the mark directive gets used by the frontend
and may be used in place of a SHA1 expression to locate a previous
SHA1 which fast-import may have generated.  This is particularly
useful with commits where the frontend does not (easily) have the
ability to compute the SHA1 for an arbitrary commit but needs it
to generate a branch or tag from that commit.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoConverted fast-import to accept standard command line parameters.
Shawn O. Pearce [Wed, 23 Aug 2006 06:00:31 +0000 (02:00 -0400)]
Converted fast-import to accept standard command line parameters.

The following command line options are now accepted before the
pack name:

  --objects=n           # replaces the object count after the pack name
  --depth=n             # delta chain depth to use (default is 10)
  --active-branches=n   # maximum number of branches to keep in memory

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoFixed segfault in fast-import after growing a tree.
Shawn O. Pearce [Wed, 23 Aug 2006 05:33:47 +0000 (01:33 -0400)]
Fixed segfault in fast-import after growing a tree.

Growing a tree caused all subtrees to be deallocated and put back
into the free list yet those subtree's contents were still actively
in use.  Consequently they were doled out again and got stomped
on elsewhere.  Releasing a tree is now performed in two parts,
either releasing only the content array or releasing the content
array and recursively releasing the subtree(s).

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoAllow symlink blobs in trees during fast-import.
Shawn O. Pearce [Mon, 21 Aug 2006 07:29:13 +0000 (03:29 -0400)]
Allow symlink blobs in trees during fast-import.

If a frontend is smart enough to import a symlink then we should
let them do so.  We'll assume that they were smart enough to first
generate a blob to hold the link target, as that's how symlinks
get represented in GIT.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoChanged fast-import's pack header creation to use pack.h
Shawn O. Pearce [Wed, 16 Aug 2006 05:57:57 +0000 (01:57 -0400)]
Changed fast-import's pack header creation to use pack.h

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoConverted fast-import to a text based protocol.
Shawn O. Pearce [Tue, 15 Aug 2006 00:16:28 +0000 (20:16 -0400)]
Converted fast-import to a text based protocol.

Frontend clients can now send a text stream to fast-import rather
than a binary stream.  This should facilitate developing frontend
software as the data stream is easier to view, manipulate and debug
my hand and Mark-I eyeball.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoImplement blob ID validation in fast-import.
Shawn O. Pearce [Mon, 14 Aug 2006 06:50:18 +0000 (02:50 -0400)]
Implement blob ID validation in fast-import.

When accepting revision SHA1 IDs from the frontend verify the SHA1
actually refers to a blob and is known to exist.  Its an error
to use a SHA1 in a tree if the blob doesn't exist as this would
cause git-fsck-objects to report a missing blob should the pack get
closed without the blob being appended into it or a subsequent pack.
So right now we'll just ask that the frontend "pre-declare" any
blobs it wants to use in a tree before it can use them.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoAdded tree and commit writing to fast-import.
Shawn O. Pearce [Mon, 14 Aug 2006 04:58:19 +0000 (00:58 -0400)]
Added tree and commit writing to fast-import.

The tree of the current commit can be altered by file_change commands
before the commit gets written to the pack.  The file changes are
rather primitive as they simply allow removal of a tree entry or
setting/adding a tree entry.

Currently trees and commits aren't being deltafied when written to
the pack and branch reloading from the current pack doesn't work,
so at most 5 branches can be worked with at any one time.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoImplemented branch handling and basic tree support in fast-import.
Shawn O. Pearce [Tue, 8 Aug 2006 07:36:45 +0000 (03:36 -0400)]
Implemented branch handling and basic tree support in fast-import.

This provides the basic data structures needed to store trees in
memory while we are processing them for a branch.  What we are
attempting to do is track one complete tree for each branch that
the frontend has registered with us through the 'newb' (new_branch)
command.  When the frontend edits that tree through 'updf' or 'delf'
commands we'll mark the affected tree(s) as being dirty and recompute
their objects during 'comt' (commit).

Currently the protocol is decidedly _not_ user friendly.  I crashed
fast-import by giving it bad input data from Perl.  I may try to
improve upon it, or at least upon its error handling.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoAdded basic command handler to fast-import.
Shawn O. Pearce [Tue, 8 Aug 2006 05:14:21 +0000 (01:14 -0400)]
Added basic command handler to fast-import.

Moved the new_blob logic off into a new subroutine and
invoked it when getting the 'blob' command.

Added statistics dump to STDERR when the program terminates listing
what it did at a high level.  This is somewhat interesting.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoRefactored fast-import's internals for future additions.
Shawn O. Pearce [Tue, 8 Aug 2006 04:46:13 +0000 (00:46 -0400)]
Refactored fast-import's internals for future additions.

Too many globals variables were being used not not enough
code was resuable to process trees and commits so this is
a simple refactoring of the existing blob processing code
to get into a state that will be easier to handle trees
and commits in.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoCleaned up memory allocation for object_entry structs.
Shawn O. Pearce [Tue, 8 Aug 2006 04:03:59 +0000 (00:03 -0400)]
Cleaned up memory allocation for object_entry structs.

Although its easy to ask the user to tell us how many objects they
will need, its probably better to dynamically grow the object table
in large units.  But if the user can give us a hint as to roughly
how many objects then we can still use it during startup.

Also stopped printing the SHA1 strings to stdout as no user is
currently making use of that facility.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoAdded automatic index generation to fast-import.
Shawn O. Pearce [Sun, 6 Aug 2006 17:51:39 +0000 (13:51 -0400)]
Added automatic index generation to fast-import.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agoCreated fast-import, a tool to quickly generating a pack from blobs.
Shawn O. Pearce [Sat, 5 Aug 2006 06:04:21 +0000 (02:04 -0400)]
Created fast-import, a tool to quickly generating a pack from blobs.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
19 years agosimplify the "no changes added to commit" message
Nicolas Pitre [Sun, 14 Jan 2007 02:23:55 +0000 (21:23 -0500)]
simplify the "no changes added to commit" message

Suggesting the use of [-a|-i|-o] with git-commit is unnecessarily
complex and confusing.  In this context -o is totally useless and -i
requires extra arguments which are not mentioned.  The only sensible
hint (besides reading the man page but let's not go there) is
"commit -a".

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMore tests in t3901.
Junio C Hamano [Sat, 13 Jan 2007 21:34:44 +0000 (13:34 -0800)]
More tests in t3901.

This adds tests for "cherry-pick" and "rebase --merge" (and
indirectly "commit -C" since it is used in the latter) to make
sure they create a new commit with correct encoding.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoConsistent message encoding while reusing log from an existing commit.
Junio C Hamano [Sat, 13 Jan 2007 21:33:07 +0000 (13:33 -0800)]
Consistent message encoding while reusing log from an existing commit.

The following commands can reuse log message from an existing
commit while creating a new commit:

git-cherry-pick
git-rebase (both with and without --merge)
git-commit (-c and -C)

When the original commit was made in a different encoding from
the current i18n.commitencoding, "cat-file commit" would give a
string that is inconsistent with what the resulting commit will
claim to be in.  Replace them with "git show -s --encoding".

"git-rebase" without --merge is "git format-patch" piped to "git
am" in essence, and has been taken care of before this commit.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-commit documentation: -a adds and also removes
Junio C Hamano [Sat, 13 Jan 2007 20:26:13 +0000 (12:26 -0800)]
git-commit documentation: -a adds and also removes

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agot3901: test "format-patch | am" pipe with i18n
Junio C Hamano [Sat, 13 Jan 2007 09:20:53 +0000 (01:20 -0800)]
t3901: test "format-patch | am" pipe with i18n

This checks combinations of i18n.commitencoding (declares what
encoding you are feeding commit-tree to make commits) and
i18n.logoutputencoding (instructs what encoding to emit the
commit message out to log output, including e-mail format) to
make sure the "format-patch | am" pipe used in git-rebase works
correctly.

I suspect "git cherry-pick" and "git rebase --merge" may fail
similar tests.  We'll see.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoUse log output encoding in --pretty=email headers.
Junio C Hamano [Sat, 13 Jan 2007 01:32:38 +0000 (17:32 -0800)]
Use log output encoding in --pretty=email headers.

Private functions add_rfc2047() and pretty_print_commit() assumed
they are only emitting UTF-8.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-remote: no longer silent on unknown commands.
Quy Tonthat [Sat, 13 Jan 2007 11:55:21 +0000 (22:55 +1100)]
git-remote: no longer silent on unknown commands.

Signed-off-by: Quy Tonthat <qtonthat@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-svn: fix tests to work with older svn
Eric Wong [Sat, 13 Jan 2007 10:47:53 +0000 (02:47 -0800)]
git-svn: fix tests to work with older svn

Some of the recent changes and shortcuts to the tests broke
things for people using older versions of svn:

t9104-git-svn-follow-parent.sh:
  v1.2.3 (from SuSE 10.0 as reported by riddochc on #git
  (thanks!)) required an extra 'svn up'.  I was also able to
  reproduce this with v1.1.4 (Debian Sarge).

lib-git-svn.sh:
  SVN::Repos bindings in versions up to and including 1.1.4
  (Sarge again) do not pass fs-config options to the underlying
  library.  BerkeleyDB repositories also seem completely broken
  on all my Sarge machines; so not using FSFS does not seem to
  be an option for most people.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago[PATCH] Make gitk work when launched in a subdirectory
Peter Baumann [Tue, 9 Jan 2007 14:30:19 +0000 (15:30 +0100)]
[PATCH] Make gitk work when launched in a subdirectory

Make gitk use git-rev-parse --git-dir to find the repository.

Signed-off-by: Peter Baumann <siprbaum@stud.informatik.uni-erlangen.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] gitk: add current directory to main window title
Doug Maxey [Sun, 10 Dec 2006 20:31:46 +0000 (14:31 -0600)]
[PATCH] gitk: add current directory to main window title

This can help people keep track of which gitk is which, when they
have several on the screen.

Signed-off-by: Doug Maxey <dwm@enoyolf.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoAllow whole-tree operations to be started from a subdirectory
Junio C Hamano [Fri, 12 Jan 2007 20:52:03 +0000 (12:52 -0800)]
Allow whole-tree operations to be started from a subdirectory

This updates five commands (merge, pull, rebase, revert and cherry-pick)
so that they can be started from a subdirectory.

This may not actually be what we want to do.  These commands are
inherently whole-tree operations, and an inexperienced user may
mistakenly expect a "git pull" from a subdirectory would merge
only the subdirectory the command started from.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoUse cd_to_toplevel in scripts that implement it by hand.
Junio C Hamano [Fri, 12 Jan 2007 20:49:05 +0000 (12:49 -0800)]
Use cd_to_toplevel in scripts that implement it by hand.

This converts scripts that do "cd $(rev-parse --show-cdup)" by
hand to use cd_to_toplevel.

I think git-fetch does not have to go to the toplevel, but that
should be dealt with in a separate patch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDefine cd_to_toplevel shell function in git-sh-setup
Junio C Hamano [Fri, 12 Jan 2007 20:44:08 +0000 (12:44 -0800)]
Define cd_to_toplevel shell function in git-sh-setup

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMake git-prune-packed a bit more chatty.
Junio C Hamano [Fri, 12 Jan 2007 23:00:13 +0000 (15:00 -0800)]
Make git-prune-packed a bit more chatty.

Steven Grimm noticed that git-repack's verbosity is inconsistent
because pack-objects is chatty and prune-packed is not.  This
makes the latter a bit more chatty and gives -q option to
squelch it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoglossary typofix
Junio C Hamano [Fri, 12 Jan 2007 22:13:53 +0000 (14:13 -0800)]
glossary typofix

Pointed out by Paul Witt <paul.witt@oxix.org>

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agouse 'init' instead of 'init-db' for shipped docs and tools
Nicolas Pitre [Fri, 12 Jan 2007 21:01:46 +0000 (16:01 -0500)]
use 'init' instead of 'init-db' for shipped docs and tools

While 'init-db' still is and probably will always remain a valid git
command for obvious backward compatibility reasons, it would be a good
idea to move shipped tools and docs to using 'init' instead.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoExplain "Not a git repository: '.git'".
Junio C Hamano [Fri, 12 Jan 2007 20:24:16 +0000 (12:24 -0800)]
Explain "Not a git repository: '.git'".

Andy Parkins noticed that the error message some "whole tree"
oriented commands emit is stated misleadingly when they refused
to run from a subdirectory.

We could probably allow some of them to work from a subdirectory
but that is a semantic change that could have unintended side
effects, so let's start at first by rewording the error message
to be easier to read without doing anything else to be safe.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agomerge-recursive: do not report the resulting tree object name
Junio C Hamano [Fri, 12 Jan 2007 20:05:58 +0000 (12:05 -0800)]
merge-recursive: do not report the resulting tree object name

It is not available in the outermost merge, and it is only
useful for debugging merge-recursive in the inner merges.

Sergey Vlasov noticed that the old code accesses an
uninitialized location.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-revert: Fix die before git-sh-setup defines it.
Bob Proulx [Fri, 12 Jan 2007 06:45:38 +0000 (23:45 -0700)]
git-revert: Fix die before git-sh-setup defines it.

The code previously checked it's own name and called 'die' upon
an error.  However 'die' was not yet defined because git-sh-setup
had not been sourced yet.  Instead simply write the error message
to stderr and exit with an error as was originally desired.

Signed-off-by: Bob Proulx <bob@proulx.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agofix documentation for git-commit --no-verify
Michael S. Tsirkin [Fri, 12 Jan 2007 07:49:35 +0000 (09:49 +0200)]
fix documentation for git-commit --no-verify

Despite what the documentation claims, git-commit does not check commit
for suspicious lines: all hooks are disabled by default,
and the pre-comit hook could be changed to do something else.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoFix up totally buggered read_or_die()
Linus Torvalds [Fri, 12 Jan 2007 04:37:38 +0000 (20:37 -0800)]
Fix up totally buggered read_or_die()

The "read_or_die()" function would silently NOT die for a partial read,
and since it was of type "void" it obviously couldn't even return the
partial number of bytes read.

IOW, it was totally broken. This hopefully fixes it up.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoClean up write_in_full() users
Linus Torvalds [Fri, 12 Jan 2007 04:23:00 +0000 (20:23 -0800)]
Clean up write_in_full() users

With the new-and-improved write_in_full() semantics, where a partial write
simply always returns a real error (and always sets 'errno' when that
happens, including for the disk full case), a lot of the callers of
write_in_full() were just unnecessarily complex.

In particular, there's no reason to ever check for a zero length or
return: if the length was zero, we'll return zero, otherwise, if a disk
full resulted in the actual write() system call returning zero the
write_in_full() logic would have correctly turned that into a negative
return value, with 'errno' set to ENOSPC.

I really wish every "write_in_full()" user would just check against "<0"
now, but this fixes the nasty and stupid ones.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoreflog-expire: brown paper bag fix.
Junio C Hamano [Fri, 12 Jan 2007 03:56:43 +0000 (19:56 -0800)]
reflog-expire: brown paper bag fix.

When --stale-fix is not passed, the code did not initialize the
two commit objects properly.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoGIT v1.5.0-rc1
Junio C Hamano [Fri, 12 Jan 2007 02:22:48 +0000 (18:22 -0800)]
GIT v1.5.0-rc1

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoplug a few leaks in revision walking used in describe.
Junio C Hamano [Thu, 11 Jan 2007 06:36:16 +0000 (22:36 -0800)]
plug a few leaks in revision walking used in describe.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoChose better tag names in git-describe after merges.
Shawn O. Pearce [Wed, 10 Jan 2007 11:39:47 +0000 (06:39 -0500)]
Chose better tag names in git-describe after merges.

Recently git.git itself encountered a situation on its master and
next branches where git-describe stopped reporting 'v1.5.0-rc0-gN'
and instead started reporting 'v1.4.4.4-gN'.  This appeared to be
a backward jump in version numbering.

  maint     o-------------------4
            \                    \
  master     o-o-o-o-o-o-o-5-o-C-o-W

The issue is that commit C in the diagram claims it is version
1.5.0, as the tag v1.5.0 is placed on commit 5.  Yet commit W
claims it is version 1.4.4.4 as the tag v1.5.0 has an older tag
date than the v1.4.4.4 tag.

As it turns out this situation is very common.  A bug fix applied
to maint and later merged into master occurs frequently enough that
it should Just Work Right(tm).

Rather than taking the first tag that gets found git-describe will
now generate a list of all possible tags and select the one which
has the most number of commits in common with HEAD (or whatever
revision the user requested the description of).

This rule is based on the principle shown in the diagram above.
There are a large number of commits on the primary development branch
'master' which do not appear in the 'maint' branch, and many of
these are already tagged as part of v1.5.0-rc0.  Additionally these
commits are not in v1.4.4.4, as they are part of the v1.5.0 release
still being developed.  The v1.5.0-rc0 tag is more descriptive of
W than v1.4.4.4 is, and therefore should be used.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge branch 'jc/bare'
Junio C Hamano [Fri, 12 Jan 2007 00:50:36 +0000 (16:50 -0800)]
Merge branch 'jc/bare'

* jc/bare:
  Disallow working directory commands in a bare repository.
  git-fetch: allow updating the current branch in a bare repository.
  Introduce is_bare_repository() and core.bare configuration variable
  Move initialization of log_all_ref_updates

19 years agoMerge branch 'ar/merge-recursive'
Junio C Hamano [Fri, 12 Jan 2007 00:48:28 +0000 (16:48 -0800)]
Merge branch 'ar/merge-recursive'

* ar/merge-recursive:
  merge-recursive: do not use on-file index when not needed.
  Speed-up recursive by flushing index only once for all entries

19 years agoMerge branch 'jc/detached-head'
Junio C Hamano [Fri, 12 Jan 2007 00:47:34 +0000 (16:47 -0800)]
Merge branch 'jc/detached-head'

* jc/detached-head:
  git-checkout: handle local changes sanely when detaching HEAD
  git-checkout: safety check for detached HEAD checks existing refs
  git-checkout: fix branch name output from the command
  git-checkout: safety when coming back from the detached HEAD state.
  git-checkout: rewording comments regarding detached HEAD.
  git-checkout: do not warn detaching HEAD when it is already detached.
  Detached HEAD (experimental)
  git-branch: show detached HEAD
  git-status: show detached HEAD

19 years agogit-status: wording update to deal with deleted files.
Junio C Hamano [Thu, 11 Jan 2007 23:34:41 +0000 (15:34 -0800)]
git-status: wording update to deal with deleted files.

If you do:

$ /bin/rm foo
$ git status

we used to say "git add ... to add content to commit".  But
suggsting "git add" to record the deletion of a file is simply
insane.

So this rewords various things:

 - The section header is the old "Changed but not updated",
   instead of "Changed but not added";

 - Suggestion is "git add ... to update what will be committed",
   instead of "... to add content to commit";

 - If there are removed paths, the above suggestion becomes "git
   add/rm ... to update what will be committed";

 - For untracked files, the suggestion is "git add ... to
   include in what will be committed".

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-rm: do not fail on already removed file.
Junio C Hamano [Thu, 11 Jan 2007 22:58:47 +0000 (14:58 -0800)]
git-rm: do not fail on already removed file.

Often the user would do "/bin/rm foo" before telling git, but
then want to tell git about it.  "git rm foo" however would fail
because it cannot unlink(2) foo.

Treat ENOENT error return from unlink(2) as if a successful
removal happened.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoAvoid errors and warnings when attempting to do I/O on zero bytes
Eric Wong [Thu, 11 Jan 2007 21:43:40 +0000 (13:43 -0800)]
Avoid errors and warnings when attempting to do I/O on zero bytes

Unfortunately, while {read,write}_in_full do take into account
zero-sized reads/writes; their die and whine variants do not.

I have a repository where there are zero-sized files in
the history that was triggering these things.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoBetter error messages for corrupt databases
Linus Torvalds [Thu, 11 Jan 2007 22:09:31 +0000 (14:09 -0800)]
Better error messages for corrupt databases

This fixes another problem that Andy's case showed: git-fsck-objects
reports nonsensical results for corrupt objects.

There were actually two independent and confusing problems:

 - when we had a zero-sized file and used map_sha1_file, mmap() would
   return EINVAL, and git-fsck-objects would report that as an insane and
   confusing error. I don't know when this was introduced, it might have
   been there forever.

 - when "parse_object()" returned NULL, fsck would say "object not found",
   which can be very confusing, since obviously the object might "exist",
   it's just unparseable because it's totally corrupt.

So this just makes "xmmap()" return NULL for a zero-sized object (which is
a valid thing pointer, exactly the same way "malloc()" can return NULL for
a zero-sized allocation). That fixes the first problem (but we could have
fixed it in the caller too - I don't personally much care whichever way it
goes, but maybe somebody should check that the NO_MMAP case does
something sane in this case too?).

And the second problem is solved by just making the error message slightly
clearer - the failure to parse an object may be because it's missing or
corrupt, not necessarily because it's not "found".

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoconfig-set: check write-in-full returns in set_multivar
Junio C Hamano [Thu, 11 Jan 2007 21:16:26 +0000 (13:16 -0800)]
config-set: check write-in-full returns in set_multivar

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoindex-pack: write-or-die instead of unchecked write-in-full.
Junio C Hamano [Thu, 11 Jan 2007 21:15:51 +0000 (13:15 -0800)]
index-pack: write-or-die instead of unchecked write-in-full.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agowrite_in_full: really write in full or return error on disk full.
Linus Torvalds [Thu, 11 Jan 2007 21:04:11 +0000 (13:04 -0800)]
write_in_full: really write in full or return error on disk full.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDocument git-init
Junio C Hamano [Thu, 11 Jan 2007 20:58:10 +0000 (12:58 -0800)]
Document git-init

These days, the command does a lot more than just initialise the
object database (such as setting default config-variables,
installing template hooks...), and "git init" is actually a more
sensible name nowadays.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agowrite-cache: do not leak the serialized cache-tree data.
Linus Torvalds [Thu, 11 Jan 2007 20:25:16 +0000 (12:25 -0800)]
write-cache: do not leak the serialized cache-tree data.

It is not used after getting written, and just is leaking every time
we write the index out.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agouser-manual: replace init-db by init
J. Bruce Fields [Thu, 11 Jan 2007 17:44:08 +0000 (12:44 -0500)]
user-manual: replace init-db by init

Replace mentions of init-db by mentions of init.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
19 years agouser manual: answer some comments from Junio
J. Bruce Fields [Thu, 11 Jan 2007 04:23:37 +0000 (23:23 -0500)]
user manual: answer some comments from Junio

Junio left a few comments in his previous patch; deal with
each of them.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
19 years agoUser manual: fix typos in examples
Junio C Hamano [Thu, 11 Jan 2007 02:11:53 +0000 (18:11 -0800)]
User manual: fix typos in examples

Correct command line examples of repo-config, format-patch and am.

A full object name is 40-hexdigit; it may be 20-byte but
20-digit is misleading.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDocumentation: rev-list -> rev-parse, other typos, start examples
J. Bruce Fields [Thu, 11 Jan 2007 04:17:00 +0000 (23:17 -0500)]
Documentation: rev-list -> rev-parse, other typos, start examples

Fix some typos, start adding some more simple examples.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
19 years agoImprove merge performance by avoiding in-index merges.
Shawn O. Pearce [Thu, 28 Dec 2006 07:35:34 +0000 (02:35 -0500)]
Improve merge performance by avoiding in-index merges.

In the early days of Git we performed a 3-way read-tree based merge
before attempting any specific merge strategy, as our core merge
strategies of merge-one-file and merge-recursive were slower script
based programs which took far longer to execute.  This was a good
performance optimization in the past, as most merges were able to
be handled strictly by `read-tree -m -u`.

However now that merge-recursive is a C based program which performs
a full 3-way read-tree before it starts running we need to pay the
cost of the 3-way read-tree twice if we have to do any sort of file
level merging.  This slows down some classes of simple merges which
`read-tree -m -u` could not handle but which merge-recursive does
automatically.

For a really trivial merge which can be handled entirely by
`read-tree -m -u`, skipping the read-tree and just going directly
into merge-recursive saves on average 50 ms on my PowerPC G4 system.
May sound odd, but it does appear to be true.

In a really simple merge which needs to use merge-recursive to handle
a file that was modified on both branches, skipping the read-tree
in git-merge saves on average almost 100 ms (on the same PowerPC G4)
as we avoid doing some work twice.

We only avoid `read-tree -m -u` if the only strategy to use is
merge-recursive, as not all merge strategies perform as well as
merge-recursive does.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDisallow working directory commands in a bare repository.
Shawn O. Pearce [Sun, 31 Dec 2006 04:32:38 +0000 (23:32 -0500)]
Disallow working directory commands in a bare repository.

If the user tries to run a porcelainish command which requires
a working directory in a bare repository they may get unexpected
results which are difficult to predict and may differ from command
to command.

Instead we should detect that the current repository is a bare
repository and refuse to run the command there, as there is no
working directory associated with it.

[jc: updated Shawn's original somewhat -- bugs are mine.]

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agomerge-recursive: do not use on-file index when not needed.
Junio C Hamano [Wed, 10 Jan 2007 19:20:58 +0000 (11:20 -0800)]
merge-recursive: do not use on-file index when not needed.

This revamps the merge-recursive implementation following the
outline in:

Message-ID: <7v8xgileza.fsf@assigned-by-dhcp.cox.net>

There is no need to write out the index until the very end just
once from merge-recursive.  Also there is no need to write out
the resulting tree object for the simple case of merging with a
single merge base.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoSpeed-up recursive by flushing index only once for all entries
Alex Riesen [Thu, 4 Jan 2007 10:22:47 +0000 (11:22 +0100)]
Speed-up recursive by flushing index only once for all entries

The merge-recursive implementation in C inherited the invariant
that the on-file index file is written out and later read back
after any index operations and writing trees from the original
Python implementation.  But it was only because the original
implementation worked at the scripting level.

There is no need to write out the index file after handling
every path.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoProvide better feedback for the untracked only case in status output
Jürgen Rühle [Wed, 10 Jan 2007 22:25:03 +0000 (23:25 +0100)]
Provide better feedback for the untracked only case in status output

Since 98bf8a47c296f51ea9722fef4bb81dbfb70cd4bb status would claim that
git-commit could be useful even if there are no changes except untracked files.

Since wt-status is already computing all the information needed go the whole
way and actually track the (non-)emptiness of all three sections separately,
unify the code, and provide useful messages for each individual case.

Thanks to Junio and Michael Loeffler for suggestions.

Signed-off-by: Jürgen Rühle <j-r@online.de>
19 years agoMerge branch 'js/reflog'
Junio C Hamano [Wed, 10 Jan 2007 22:16:16 +0000 (14:16 -0800)]
Merge branch 'js/reflog'

* js/reflog:
  Sanitize for_each_reflog_ent()

19 years agoMakefile: remove $foo when $foo.exe is built/installed.
Junio C Hamano [Wed, 10 Jan 2007 20:24:54 +0000 (12:24 -0800)]
Makefile: remove $foo when $foo.exe is built/installed.

On Cygwin, newly builtins are not recognized, because there exist both
the executable binaries (with .exe extension) _and_ the now-obsolete
scripts (without extension), but the script is executed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agosend-email: work around double encoding of in-body From field.
Jürgen Rühle [Wed, 10 Jan 2007 21:36:39 +0000 (13:36 -0800)]
send-email: work around double encoding of in-body From field.

git-send-email sends out the message taken from format-patch
output without quoting nor encoding.  When copying the From:
line to form in-body From: field, it should not copy it
verbatim, because the From: for the header is quoted according
to RFC 2047 when not ASCII.

The original came from Jürgen Rühle, but I moved the
string munging into a separate function so that later other
people can tweak it more easily.  Bugs introduced during the
translation are mine.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoAdd git-init documentation.
Nicolas Pitre [Wed, 10 Jan 2007 17:56:41 +0000 (12:56 -0500)]
Add git-init documentation.

Oops. Commit 515377ea9ec6192f82a2fa5c5b5b7651d9d6cf6c missed one
file, git-init documentation.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoFix t1410 for core.filemode==false
Johannes Schindelin [Wed, 10 Jan 2007 12:22:50 +0000 (13:22 +0100)]
Fix t1410 for core.filemode==false

Since c869753e, core.filemode is hardwired to false on Cygwin.
So this test had no chance to succeed, since an early commit
(changing just the filemode) failed, and therefore all subsequent
tests.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMake git-describe a builtin.
Shawn O. Pearce [Wed, 10 Jan 2007 11:36:36 +0000 (06:36 -0500)]
Make git-describe a builtin.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDon't save the commit buffer in git-describe.
Shawn O. Pearce [Wed, 10 Jan 2007 11:36:29 +0000 (06:36 -0500)]
Don't save the commit buffer in git-describe.

The commit buffer (message of the commit) is not actually
used by the git-describe process.  We can save some memory
by not keeping it around.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoFix warnings in sha1_file.c - use C99 printf format if available
Pavel Roskin [Wed, 10 Jan 2007 04:07:11 +0000 (23:07 -0500)]
Fix warnings in sha1_file.c - use C99 printf format if available

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago-u is now default for 'git-mailinfo'.
Junio C Hamano [Wed, 10 Jan 2007 05:31:36 +0000 (21:31 -0800)]
-u is now default for 'git-mailinfo'.

Originally from David Woodhouse, but also adjusts the callers of
mailinfo to the new default.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years ago-u is now default for 'git-applymbox'
Junio C Hamano [Wed, 10 Jan 2007 05:20:01 +0000 (21:20 -0800)]
-u is now default for 'git-applymbox'

It has '-n' to disable it just in case, but do not even bother
documenting it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-am: should work when "--no-utf8 --utf8" is given
Junio C Hamano [Wed, 10 Jan 2007 05:16:45 +0000 (21:16 -0800)]
git-am: should work when "--no-utf8 --utf8" is given

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-checkout: handle local changes sanely when detaching HEAD
Junio C Hamano [Wed, 10 Jan 2007 04:39:09 +0000 (20:39 -0800)]
git-checkout: handle local changes sanely when detaching HEAD

When switching branches, we usually first try read-tree to make
sure that we do not lose the local changes and then updated the
HEAD using update-ref.  However, we detached and updated HEAD
before these checks, which was quite bad in a repository with
local changes.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoAllow in_merge_bases() to take more than one reference commits.
Junio C Hamano [Tue, 9 Jan 2007 07:22:31 +0000 (23:22 -0800)]
Allow in_merge_bases() to take more than one reference commits.

The internal function in_merge_bases(A, B) is used to make sure
that commit A is an ancestor of commit B.  This changes the
signature of it to take an array of B's and updates its current
callers.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMake merge-base a built-in.
Junio C Hamano [Tue, 9 Jan 2007 08:50:02 +0000 (00:50 -0800)]
Make merge-base a built-in.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDon't die in git-http-fetch when fetching packs.
Shawn O. Pearce [Wed, 10 Jan 2007 01:04:52 +0000 (20:04 -0500)]
Don't die in git-http-fetch when fetching packs.

My sp/mmap changes to pack-check.c modified the function such that
it expects packed_git.pack_size to be populated with the total
bytecount of the packfile by the caller.

But that isn't the case for packs obtained by git-http-fetch as
pack_size was not initialized before being accessed.  This caused
verify_pack to think it had 2^32-21 bytes available when the
downloaded pack perhaps was only 305 bytes in length.  The use_pack
function then later dies with "offset beyond end of packfile"
when computing the overall file checksum.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-checkout: safety check for detached HEAD checks existing refs
Junio C Hamano [Wed, 10 Jan 2007 01:37:50 +0000 (17:37 -0800)]
git-checkout: safety check for detached HEAD checks existing refs

Checking for reachability from refs does not help much if the
state we are currently on is somewhere in the middle.  We will
lose where we were.

So this makes sureh that HEAD is something directly pointed at
by one of the existing refs (most likely a tag for a user who
has been "sightseeing").

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoUpdate git-svn manpage to remove the implication that SVN::* is optional.
Steven Grimm [Wed, 10 Jan 2007 00:20:17 +0000 (16:20 -0800)]
Update git-svn manpage to remove the implication that SVN::* is optional.

Now that git-svn requires the SVN::* Perl library, the manpage doesn't need
to describe what happens when you don't have it.

Signed-off-by: Steven Grimm <koreth@midwinter.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoReplacing the system call pread() with lseek()/xread()/lseek() sequence.
Stefan-W. Hahn [Tue, 9 Jan 2007 21:04:12 +0000 (22:04 +0100)]
Replacing the system call pread() with lseek()/xread()/lseek() sequence.

Using cygwin with cygwin.dll before 1.5.22 the system call pread() is buggy.
This patch introduces NO_PREAD. If NO_PREAD is set git uses a sequence of
lseek()/xread()/lseek() to emulate pread.

Signed-off-by: Stefan-W. Hahn <stefan.hahn@s-hahn.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogitweb: Fix git_patchset_body not closing <div class="patch">
Jakub Narebski [Tue, 9 Jan 2007 23:07:43 +0000 (00:07 +0100)]
gitweb: Fix git_patchset_body not closing <div class="patch">

Fix case when git_patchset_body didn't close <div class="patch">,
for patchsets with last patch empty.

This patch also removes some commented out code in git_patchset_body.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit.el: Define the propertize function if needed, for XEmacs compatibility.
Alexandre Julliard [Tue, 9 Jan 2007 20:27:40 +0000 (21:27 +0100)]
git.el: Define the propertize function if needed, for XEmacs compatibility.

Also use `concat' instead of `format' in the pretty-printer since
format doesn't preserve properties under XEmacs.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-clone: Make sure the master branch exists before running cat on it.
Alexandre Julliard [Tue, 9 Jan 2007 20:26:52 +0000 (21:26 +0100)]
git-clone: Make sure the master branch exists before running cat on it.

Otherwise we get an error like this on stderr:

  cat: [...]/.git/refs/remotes/origin/master: No such file or directory

which makes it look like git-clone failed.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agogit-apply: Remove directories that have become empty after deleting a file.
Alexandre Julliard [Tue, 9 Jan 2007 20:25:46 +0000 (21:25 +0100)]
git-apply: Remove directories that have become empty after deleting a file.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoget_tree_entry: map blank requested entry to tree root
Jeff King [Tue, 9 Jan 2007 16:11:47 +0000 (11:11 -0500)]
get_tree_entry: map blank requested entry to tree root

This means that
  git show HEAD:
will now return HEAD^{tree}, which is logically consistent with
  git show HEAD:Documentation

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agobuiltin-archive: do not free a tree held by the object layer.
Junio C Hamano [Tue, 9 Jan 2007 22:07:59 +0000 (14:07 -0800)]
builtin-archive: do not free a tree held by the object layer.

Found by running "git archive --format=tar HEAD" in Documentation/
directory.

It's surprising that nobody has noticed this from the beginning...

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoMerge branch 'maint'
Junio C Hamano [Tue, 9 Jan 2007 20:04:30 +0000 (12:04 -0800)]
Merge branch 'maint'

* maint:
  Fix "Do not ignore a detected patchfile brokenness."
  Do not ignore a detected patchfile brokenness.

19 years agoFix "Do not ignore a detected patchfile brokenness."
Junio C Hamano [Tue, 9 Jan 2007 19:50:53 +0000 (11:50 -0800)]
Fix "Do not ignore a detected patchfile brokenness."

Returning negative value from there does not stop the caller from using
the earlier part.

Noticed by Linus.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoSanitize for_each_reflog_ent()
Johannes Schindelin [Mon, 8 Jan 2007 00:59:54 +0000 (01:59 +0100)]
Sanitize for_each_reflog_ent()

It used to ignore the return value of the helper function; now, it
expects it to return 0, and stops iteration upon non-zero return
values; this value is then passed on as the return value of
for_each_reflog_ent().

Further, it makes no sense to force the parsing upon the helper
functions; for_each_reflog_ent() now calls the helper function with
old and new sha1, the email, the timestamp & timezone, and the message.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoDo not ignore a detected patchfile brokenness.
Junio C Hamano [Tue, 9 Jan 2007 10:52:31 +0000 (02:52 -0800)]
Do not ignore a detected patchfile brokenness.

find_header() function is used to read and parse the patchfile
and it detects errors in the patch, but one place ignored the
error and went ahead, which was quite bad.

Noticed by Jeff Garzik.

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agomerge-base: do not leak commit list
Junio C Hamano [Tue, 9 Jan 2007 07:10:49 +0000 (23:10 -0800)]
merge-base: do not leak commit list

Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoAuto-quote config values in config.c:store_write_pair()
Brian Gernhardt [Tue, 9 Jan 2007 05:27:41 +0000 (00:27 -0500)]
Auto-quote config values in config.c:store_write_pair()

Suggested by Jakub Narebski <jnareb@gmail.com> on the list.

When we send a value to store_write_pair(), make sure that the value
that gets read out matches the one passed in.  This means that for any
value that contains leading or trailing whitespace or any comment
character (# and ;), we need to surround it in quotes.

Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agoIgnore git-init and git-remote
Brian Gernhardt [Tue, 9 Jan 2007 05:27:33 +0000 (00:27 -0500)]
Ignore git-init and git-remote

These new commands weren't added to .gitignore.  Add them so we don't
end up with copies of them in the repo.

Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
19 years agorm git-rerere.perl -- it is now a built-in.
Junio C Hamano [Tue, 9 Jan 2007 05:52:38 +0000 (21:52 -0800)]
rm git-rerere.perl -- it is now a built-in.

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