From 628894b26dbfd4e3619eba0996f7da3f69e7dc5b Mon Sep 17 00:00:00 2001
From: Junio C Hamano <junkio@cox.net>
Date: Wed, 24 Aug 2005 23:26:20 -0700
Subject: [PATCH 01/11] Sort branch names snarfed from refs/ hierarchy.
 Signed-off-by: Junio C Hamano <junkio@cox.net>

---
 show-branch.c | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/show-branch.c b/show-branch.c
index fc827ee4972..2a4e1768adc 100644
--- a/show-branch.c
+++ b/show-branch.c
@@ -141,6 +141,18 @@ static void show_one_commit(struct commit *commit, char **head_name)
 static char *ref_name[MAX_REVS + 1];
 static int ref_name_cnt;
 
+static int compare_ref_name(const void *a_, const void *b_)
+{
+	const char * const*a = a_, * const*b = b_;
+	return strcmp(*a, *b);
+}
+
+static void sort_ref_range(int bottom, int top)
+{
+	qsort(ref_name + bottom, top - bottom, sizeof(ref_name[0]),
+	      compare_ref_name);
+}
+
 static int append_ref(const char *refname, const unsigned char *sha1)
 {
 	struct commit *commit = lookup_commit_reference_gently(sha1, 1);
@@ -161,7 +173,7 @@ static int append_head_ref(const char *refname, const unsigned char *sha1)
 {
 	if (strncmp(refname, "refs/heads/", 11))
 		return 0;
-	return append_ref(refname + 5, sha1);
+	return append_ref(refname + 11, sha1);
 }
 
 static int append_tag_ref(const char *refname, const unsigned char *sha1)
@@ -173,10 +185,16 @@ static int append_tag_ref(const char *refname, const unsigned char *sha1)
 
 static void snarf_refs(int head, int tag)
 {
-	if (head)
+	if (head) {
+		int orig_cnt = ref_name_cnt;
 		for_each_ref(append_head_ref);
-	if (tag)
+		sort_ref_range(orig_cnt, ref_name_cnt);
+	}
+	if (tag) {
+		int orig_cnt = ref_name_cnt;
 		for_each_ref(append_tag_ref);
+		sort_ref_range(orig_cnt, ref_name_cnt);
+	}
 }
 
 static int rev_is_head(char *head_path, int headlen,

From e6fc2346c17b9a4ee274d509429042eec9c14db5 Mon Sep 17 00:00:00 2001
From: Junio C Hamano <junkio@cox.net>
Date: Thu, 25 Aug 2005 00:28:18 -0700
Subject: [PATCH 02/11] Link howto documents from the main git.txt
 documentation.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 Documentation/Makefile          | 15 ++++++++++++++-
 Documentation/git.txt           |  5 +++++
 Documentation/howto-index.sh    | 27 +++++++++++++++++++++++++++
 Documentation/install-webdoc.sh | 25 +++++++++++++++++++++++++
 4 files changed, 71 insertions(+), 1 deletion(-)
 create mode 100755 Documentation/howto-index.sh
 create mode 100755 Documentation/install-webdoc.sh

diff --git a/Documentation/Makefile b/Documentation/Makefile
index 91addedca0c..bff43e0c6ec 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -44,7 +44,7 @@ git-diff-%.txt: diff-format.txt diff-options.txt
 	touch $@
 
 clean:
-	rm -f *.xml *.html *.1 *.7
+	rm -f *.xml *.html *.1 *.7 howto-index.txt
 
 %.html : %.txt
 	asciidoc -b xhtml11 -d manpage $<
@@ -62,3 +62,16 @@ glossary.html : glossary.txt sort_glossary.pl
 
 tutorial.html : tutorial.txt
 	asciidoc -b xhtml11 tutorial.txt
+
+howto-index.txt: howto-index.sh $(wildcard howto/*.txt)
+	rm -f $@+ $@
+	sh ./howto-index.sh $(wildcard howto/*.txt) >$@+
+	mv $@+ $@
+
+howto-index.html: howto-index.txt
+	asciidoc -b xhtml11 howto-index.txt
+
+WEBDOC_DEST = /pub/software/scm/git/docs
+
+install-webdoc : html
+	sh ./install-webdoc.sh $(WEBDOC_DEST)
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 664b88a917c..d4ede094f86 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -24,6 +24,11 @@ clarification info - read that first.  And of the commands, I suggest
 reading link:git-update-cache.html[git-update-cache] and
 link:git-read-tree.html[git-read-tree] first - I wish I had!
 
+After you get the general feel from the tutorial and this
+overview page, you may want to take a look at the
+link:howto-index.html[howto] documents.
+
+
 David Greaves <david@dgreaves.com>
 08/05/05
 
diff --git a/Documentation/howto-index.sh b/Documentation/howto-index.sh
new file mode 100755
index 00000000000..3a6afb9f6ab
--- /dev/null
+++ b/Documentation/howto-index.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+cat <<\EOF
+GIT Howto Index
+===============
+
+Here is a collection of mailing list postings made by various
+people describing how they use git in their workflow.
+
+EOF
+
+for txt
+do
+	title=`expr "$txt" : '.*/\(.*\)\.txt$'`
+	from=`sed -ne '
+	/^$/q
+	/^From:[ 	]/{
+		s///
+		s/^[ 	]*//
+		s/[ 	]*$//
+		s/^/by /
+		p
+	}' "$txt"`
+	echo "
+	* link:$txt[$title] $from"
+
+done
diff --git a/Documentation/install-webdoc.sh b/Documentation/install-webdoc.sh
new file mode 100755
index 00000000000..1f534f1e778
--- /dev/null
+++ b/Documentation/install-webdoc.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+T="$1"
+
+for h in *.html howto/*.txt
+do
+	diff -u "$T/$h" "$h" || {
+		echo >&2 "# install $h $T/$h"
+		rm -f "$T/$h"
+		mkdir -p `dirname "$T/$h"`
+		cp "$h" "$T/$h"
+	}
+done
+strip_leading=`echo "$T/" | sed -e 's|.|.|g'`
+for th in "$T"/*.html "$T"/howto/*.txt
+do
+	h=`expr "$th" : "$strip_leading"'\(.*\)'`
+	case "$h" in
+	index.html) continue ;;
+	esac
+	test -f "$h" && continue
+	echo >&2 "# rm -f $th"
+	rm -f "$th"
+done
+ln -sf git.html "$T/index.html"

From 248542ea9ae9125a7ccf214b979ada9908ea1358 Mon Sep 17 00:00:00 2001
From: Junio C Hamano <junkio@cox.net>
Date: Thu, 25 Aug 2005 00:36:41 -0700
Subject: [PATCH 03/11] Don't forget to build the howto-index file.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 Documentation/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/Makefile b/Documentation/Makefile
index bff43e0c6ec..e928bcf2805 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -4,6 +4,7 @@ MAN7_TXT=git.txt
 DOC_HTML=$(patsubst %.txt,%.html,$(MAN1_TXT) $(MAN7_TXT))
 DOC_HTML += glossary.html
 DOC_HTML += tutorial.html
+DOC_HTML += howto-index.html
 DOC_MAN1=$(patsubst %.txt,%.1,$(MAN1_TXT))
 DOC_MAN7=$(patsubst %.txt,%.7,$(MAN7_TXT))
 

From 23e8673093ff78c32d2e6aa271987d489e2f4c76 Mon Sep 17 00:00:00 2001
From: "tony.luck@intel.com" <tony.luck@intel.com>
Date: Thu, 25 Aug 2005 22:11:08 -0700
Subject: [PATCH 04/11] [PATCH] update howto/using-topic-branches.txt

Various updates and cleanups for my howto on using branches in GIT
as a Linux subsystem maintainer.  Three categories of changes:

1) Updates for new features in GIT 0.99.5
2) Changes to use "git fetch" rather than "git pull" to update
   local linus branch.
3) Cleanups suggested by Len Brown

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 Documentation/howto/using-topic-branches.txt | 68 +++++++++++++-------
 1 file changed, 45 insertions(+), 23 deletions(-)

diff --git a/Documentation/howto/using-topic-branches.txt b/Documentation/howto/using-topic-branches.txt
index 52fa4c012a8..6fc69e12ebf 100644
--- a/Documentation/howto/using-topic-branches.txt
+++ b/Documentation/howto/using-topic-branches.txt
@@ -5,12 +5,10 @@ Subject: Some tutorial text (was git/cogito workshop/bof at linuxconf au?)
 Here's something that I've been putting together on how I'm using
 GIT as a Linux subsystem maintainer.
 
-I suspect that I'm a bit slap-happy with the "git checkout" commands in
-the examples below, and perhaps missing some of the _true-git_ ways of
-doing things.
-
 -Tony
 
+Last updated w.r.t. GIT 0.99.5
+
 Linux subsystem maintenance using GIT
 -------------------------------------
 
@@ -48,24 +46,38 @@ Change directory into the cloned tree you just created
 
  $ cd work
 
-Make a GIT branch named "linus", and rename the "origin" branch as linus too:
+Set up a remotes file so that you can fetch the latest from Linus' master
+branch into a local branch named "linus":
 
- $ git checkout -b linus
- $ mv .git/branches/origin .git/branches/linus
+ $ cat > .git/remotes/linus
+ URL: rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+ Pull: master:linus
+ ^D
+
+and create the linus branch:
+
+ $ git branch linus
 
 The "linus" branch will be used to track the upstream kernel.  To update it,
 you simply run:
 
- $ git checkout linus && git pull linus
+ $ git fetch linus
 
-you can do this frequently (as long as you don't have any uncommited work
-in your tree).
+you can do this frequently (and it should be safe to do so with pending
+work in your tree, but perhaps not if you are in mid-merge).
 
-If you need to keep track of other public trees, you can add branches for
-them too:
+If you need to keep track of other public trees, you can add remote branches
+for them too:
 
- $ git checkout -b another linus
- $ echo URL-for-another-public-tree > .git/branches/another
+ $ git branch another
+ $ cat > .git/remotes/another
+ URL: ... insert URL here ...
+ Pull: name-of-branch-in-this-remote-tree:another
+ ^D
+
+and run:
+
+ $ git fetch another
 
 Now create the branches in which you are going to work, these start
 out at the current tip of the linus branch.
@@ -78,15 +90,25 @@ These can be easily kept up to date by merging from the "linus" branch:
  $ git checkout test && git resolve test linus "Auto-update from upstream"
  $ git checkout release && git resolve release linus "Auto-update from upstream"
 
-Set up so that you can push upstream to your public tree:
+Set up so that you can push upstream to your public tree (you need to
+log-in to the remote system and create an empty tree there before the
+first push).
 
- $ echo master.kernel.org:/ftp/pub/scm/linux/kernel/git/aegl/linux-2.6.git > .git/branches/origin
+ $ cat > .git/remotes/mytree
+ URL: master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git
+ Push: release
+ Push: test
+ ^D
 
-and then push each of the test and release branches using:
+and the push both the test and release trees using:
 
- $ git push origin test
-and
- $ git push origin release
+ $ git push mytree
+
+or push just one of the test and release branches using:
+
+ $ git push mytree test
+or
+ $ git push mytree release
 
 Now to apply some patches from the community.  Think of a short
 snappy name for a branch to hold this patch (or related group of
@@ -169,9 +191,9 @@ test|release)
 	git checkout $1 && git resolve $1 linus "Auto-update from upstream"
 	;;
 linus)
-	before=$(cat .git/HEAD)
-	git checkout linus && git pull linus
-	after=$(cat .git/HEAD)
+	before=$(cat .git/refs/heads/linus)
+	git fetch linus
+	after=$(cat .git/refs/heads/linus)
 	if [ $before != $after ]
 	then
 		git-whatchanged $after ^$before | git-shortlog

From d8ddb0a41610fffdf9ef1a256d19d5a27face9d7 Mon Sep 17 00:00:00 2001
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Date: Thu, 25 Aug 2005 16:24:13 +0200
Subject: [PATCH 05/11] [PATCH] More missing terms in glossary.txt

Describe a DAG and octopus, and change wording of tree object.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 Documentation/glossary.txt | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/Documentation/glossary.txt b/Documentation/glossary.txt
index 7456cffd330..a069b7bb0cf 100644
--- a/Documentation/glossary.txt
+++ b/Documentation/glossary.txt
@@ -27,14 +27,20 @@ blob object::
 
 tree object::
 	An object containing a list of file names and modes along with refs
-	to the associated blob and/or tree objects. A tree object is
-	equivalent to a directory.
+	to the associated blob and/or tree objects. A tree is equivalent
+	to a directory.
 
 tree::
 	Either a working tree, or a tree object together with the
 	dependent blob and tree objects (i.e. a stored representation
 	of a working tree).
 
+DAG::
+	Directed acyclic graph. The commit objects form a directed acyclic
+	graph, because they have parents (directed), and the graph of commit
+	objects is acyclic (there is no chain which begins and ends with the
+	same object).
+
 index::
 	A collection of files with stat information, whose contents are
 	stored as objects. The cache is a stored version of your working
@@ -142,6 +148,10 @@ merge::
 	merge uses heuristics to accomplish that. Evidently, an automatic
 	merge can fail.
 
+octopus::
+	To merge more than two branches. Also denotes an intelligent
+	predator.
+
 resolve::
 	The action of fixing up manually what a failed automatic merge
 	left behind.

From f358c10f91889b1b75edc257fb45c20b583baf28 Mon Sep 17 00:00:00 2001
From: Junio C Hamano <junkio@cox.net>
Date: Fri, 26 Aug 2005 12:35:51 -0700
Subject: [PATCH 06/11] Add Abstract: support for howto index generator.

Maybe it's time for me to really learn asciidoc.  Also I should do Perl ;-).

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 Documentation/howto-index.sh                  | 26 +++++++++++++++++--
 Documentation/howto/make-dist.txt             |  5 ++++
 Documentation/howto/rebase-and-edit.txt       |  3 +++
 .../howto/rebase-from-internal-branch.txt     |  5 ++++
 Documentation/howto/using-topic-branches.txt  |  2 ++
 5 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/Documentation/howto-index.sh b/Documentation/howto-index.sh
index 3a6afb9f6ab..f9d3e57a917 100755
--- a/Documentation/howto-index.sh
+++ b/Documentation/howto-index.sh
@@ -20,8 +20,30 @@ do
 		s/[ 	]*$//
 		s/^/by /
 		p
+	}
+	' "$txt"`
+
+	abstract=`sed -ne '
+	/^Abstract:[ 	]/{
+		s/^[^ 	]*//
+		x
+		s/.*//
+		x
+		: again
+		/^[ 	]/{
+			s/^[ 	]*//
+			H
+			n
+			b again
+		}
+		x
+		p
+		q
 	}' "$txt"`
-	echo "
-	* link:$txt[$title] $from"
+
+	echo "* link:$txt[$title] $from
+$abstract
+
+"
 
 done
diff --git a/Documentation/howto/make-dist.txt b/Documentation/howto/make-dist.txt
index ae9094157c8..132d5eca66e 100644
--- a/Documentation/howto/make-dist.txt
+++ b/Documentation/howto/make-dist.txt
@@ -3,6 +3,11 @@ From: Linus Torvalds <torvalds@osdl.org>
 To: Dave Jones <davej@redhat.com>
 cc: git@vger.kernel.org
 Subject: Re: Fwd: Re: git checkout -f branch doesn't remove extra files
+Abstract: In this article, Linus talks about building a tarball,
+ incremental patch, and ChangeLog, given a base release and two
+ rc releases, following the convention of giving the patch from
+ the base release and the latest rc, with ChangeLog between the
+ last rc and the latest rc.
 
 On Sat, 13 Aug 2005, Dave Jones wrote:
 >
diff --git a/Documentation/howto/rebase-and-edit.txt b/Documentation/howto/rebase-and-edit.txt
index 8299ca5cdcc..6cc1c7921f0 100644
--- a/Documentation/howto/rebase-and-edit.txt
+++ b/Documentation/howto/rebase-and-edit.txt
@@ -3,6 +3,9 @@ From:	Linus Torvalds <torvalds@osdl.org>
 To:	Steve French <smfrench@austin.rr.com>
 cc:	git@vger.kernel.org
 Subject: Re: sending changesets from the middle of a git tree
+Abstract: In this article, Linus demonstrates how a broken commit
+ in a sequence of commits can be removed by rewinding the head and
+ reapplying selected changes.
 
 On Sat, 13 Aug 2005, Linus Torvalds wrote:
 
diff --git a/Documentation/howto/rebase-from-internal-branch.txt b/Documentation/howto/rebase-from-internal-branch.txt
index 8109b7ff26d..f627e4271c4 100644
--- a/Documentation/howto/rebase-from-internal-branch.txt
+++ b/Documentation/howto/rebase-from-internal-branch.txt
@@ -3,6 +3,11 @@ To:	git@vger.kernel.org
 Cc:	Petr Baudis <pasky@suse.cz>, Linus Torvalds <torvalds@osdl.org>
 Subject: Re: sending changesets from the middle of a git tree
 Date:	Sun, 14 Aug 2005 18:37:39 -0700
+Abstract: In this article, JC talks about how he rebases the
+ public "pu" branch using the core GIT tools when he updates
+ the "master" branch, and how "rebase" works.  Also discussed
+ is how this applies to individual developers who sends patches
+ upstream.
 
 Petr Baudis <pasky@suse.cz> writes:
 
diff --git a/Documentation/howto/using-topic-branches.txt b/Documentation/howto/using-topic-branches.txt
index 6fc69e12ebf..b3b4d2c97aa 100644
--- a/Documentation/howto/using-topic-branches.txt
+++ b/Documentation/howto/using-topic-branches.txt
@@ -1,6 +1,8 @@
 Date: Mon, 15 Aug 2005 12:17:41 -0700
 From: tony.luck@intel.com
 Subject: Some tutorial text (was git/cogito workshop/bof at linuxconf au?)
+Abstract: In this article, Tony Luck discusses how he uses GIT
+ as a Linux subsystem maintainer.
 
 Here's something that I've been putting together on how I'm using
 GIT as a Linux subsystem maintainer.

From 814be007dff08597f6f550f243916aae4bf1d0f8 Mon Sep 17 00:00:00 2001
From: Tommi Virtanen <tv@debian.org>
Date: Fri, 26 Aug 2005 14:00:03 +0300
Subject: [PATCH 07/11] [PATCH] git bugfixes and cleanups, mainly Debian things

Fix syntax error in debian Build-Depends-Indep, dpkg-checkbuilddeps used
to give false ok results.

Signed-off-by: Tommi Virtanen <tv@debian.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 debian/control | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index 5df89dde323..a044535065d 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: git-core
 Section: devel
 Priority: optional
 Maintainer: Junio C Hamano <junkio@cox.net>
-Build-Depends-Indep: libz-dev, libssl-dev, libcurl3-dev, asciidoc > 6.0.3, xmlto, debhelper (>= 4.0.0)
+Build-Depends-Indep: libz-dev, libssl-dev, libcurl3-dev, asciidoc (>= 6.0.3), xmlto, debhelper (>= 4.0.0)
 Standards-Version: 3.6.1
 
 Package: git-core

From 579fbe598ddd9608bd2fbcf8411299dde06d1912 Mon Sep 17 00:00:00 2001
From: Tommi Virtanen <tv@debian.org>
Date: Fri, 26 Aug 2005 14:00:04 +0300
Subject: [PATCH 08/11] [PATCH] git bugfixes and cleanups, mainly Debian things

Make the git deb conflict with cogito versions prior to 0.13, as those
versions used to contain git. Suggest cogito.

Signed-off-by: Tommi Virtanen <tv@debian.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 debian/control | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index a044535065d..6735a0da031 100644
--- a/debian/control
+++ b/debian/control
@@ -9,7 +9,8 @@ Package: git-core
 Architecture: any
 Depends: ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}, patch, rcs
 Recommends: rsync, curl, ssh, libmail-sendmail-perl, libemail-valid-perl
-Conflicts: git
+Suggests: cogito
+Conflicts: git, cogito (<< 0.13)
 Description: The git content addressable filesystem
  GIT comes in two layers. The bottom layer is merely an extremely fast
  and flexible filesystem-based database designed to store directory trees

From 88db5f809d1e4a4afd28514151e97b40fd367661 Mon Sep 17 00:00:00 2001
From: Tommi Virtanen <tv@debian.org>
Date: Fri, 26 Aug 2005 14:00:04 +0300
Subject: [PATCH 09/11] [PATCH] git bugfixes and cleanups, mainly Debian things

Generate docs for gitk. Install them in the right deb package.

Signed-off-by: Tommi Virtanen <tv@debian.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 Documentation/Makefile | 2 +-
 debian/git-tk.files    | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/Makefile b/Documentation/Makefile
index e928bcf2805..bd6833b79ef 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -1,4 +1,4 @@
-MAN1_TXT=$(wildcard git-*.txt)
+MAN1_TXT=$(wildcard git-*.txt) gitk.txt
 MAN7_TXT=git.txt
 
 DOC_HTML=$(patsubst %.txt,%.html,$(MAN1_TXT) $(MAN7_TXT))
diff --git a/debian/git-tk.files b/debian/git-tk.files
index 3801e7564b4..e54f897ce3f 100644
--- a/debian/git-tk.files
+++ b/debian/git-tk.files
@@ -1 +1,3 @@
 /usr/bin/gitk
+/usr/share/man/man1/gitk.*
+/usr/share/doc/git-core/gitk.*

From c68e10b197404a4af0e7b59b5be4167d214b08da Mon Sep 17 00:00:00 2001
From: Tommi Virtanen <tv@debian.org>
Date: Fri, 26 Aug 2005 14:00:05 +0300
Subject: [PATCH 10/11] [PATCH] git bugfixes and cleanups, mainly Debian things

Ignore generated files.

Signed-off-by: Tommi Virtanen <tv@debian.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 .gitignore               | 51 ++++++++++++++++++++++++++++++++++++++++
 Documentation/.gitignore |  5 ++++
 debian/.gitignore        |  6 +++++
 templates/.gitignore     |  1 +
 tools/.gitignore         |  2 ++
 5 files changed, 65 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 Documentation/.gitignore
 create mode 100644 debian/.gitignore
 create mode 100644 templates/.gitignore
 create mode 100644 tools/.gitignore

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000000..245f54e050b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,51 @@
+git-apply
+git-build-rev-cache
+git-cat-file
+git-checkout-cache
+git-clone-pack
+git-commit-tree
+git-convert-cache
+git-daemon
+git-diff-cache
+git-diff-files
+git-diff-helper
+git-diff-stages
+git-diff-tree
+git-export
+git-fetch-pack
+git-fsck-cache
+git-get-tar-commit-id
+git-hash-object
+git-http-pull
+git-init-db
+git-local-pull
+git-ls-files
+git-ls-tree
+git-merge-base
+git-merge-cache
+git-mktag
+git-pack-objects
+git-patch-id
+git-peek-remote
+git-prune-packed
+git-read-tree
+git-receive-pack
+git-rev-list
+git-rev-parse
+git-rev-tree
+git-send-pack
+git-show-branch
+git-show-index
+git-show-rev-cache
+git-ssh-pull
+git-ssh-push
+git-stripspace
+git-tar-tree
+git-unpack-file
+git-unpack-objects
+git-update-cache
+git-update-server-info
+git-upload-pack
+git-var
+git-verify-pack
+git-write-tree
diff --git a/Documentation/.gitignore b/Documentation/.gitignore
new file mode 100644
index 00000000000..dad52b80d35
--- /dev/null
+++ b/Documentation/.gitignore
@@ -0,0 +1,5 @@
+*.xml
+*.html
+*.1
+*.7
+howto-index.txt
diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644
index 00000000000..335ce9c5964
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1,6 @@
+git-core
+git-tk
+*.debhelper
+*.substvars
+build-stamp
+files
diff --git a/templates/.gitignore b/templates/.gitignore
new file mode 100644
index 00000000000..ca680c5b9c5
--- /dev/null
+++ b/templates/.gitignore
@@ -0,0 +1 @@
+blt
diff --git a/tools/.gitignore b/tools/.gitignore
new file mode 100644
index 00000000000..d1ea9ea3065
--- /dev/null
+++ b/tools/.gitignore
@@ -0,0 +1,2 @@
+git-mailinfo
+git-mailsplit

From 85002315798dfcd28da6120ac3a461ca3fadfd2e Mon Sep 17 00:00:00 2001
From: Tommi Virtanen <tv@debian.org>
Date: Fri, 26 Aug 2005 14:00:04 +0300
Subject: [PATCH 11/11] [PATCH] git bugfixes and cleanups, mainly Debian things

Point Debian doc-base at the right files. Clean up.

Signed-off-by: Tommi Virtanen <tv@debian.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 debian/git-core.doc-base | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/debian/git-core.doc-base b/debian/git-core.doc-base
index f1bbea81197..1ed46333d18 100644
--- a/debian/git-core.doc-base
+++ b/debian/git-core.doc-base
@@ -1,6 +1,5 @@
 Document: git-core
-Title: git-core
-Author: 
+Title: git reference
 Abstract: This manual describes git
 Section: Devel
 
@@ -9,4 +8,4 @@ Index: /usr/share/doc/git-core/git.html
 Files: /usr/share/doc/git-core/*.html
 
 Format: text
-Files: /usr/share/doc/git-core/git-core.txt
+Files: /usr/share/doc/git-core/git.txt*