From 628894b26dbfd4e3619eba0996f7da3f69e7dc5b Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 24 Aug 2005 23:26:20 -0700 Subject: Sort branch names snarfed from refs/ hierarchy. Signed-off-by: Junio C Hamano --- show-branch.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/show-branch.c b/show-branch.c index fc827ee49..2a4e1768a 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, -- cgit v1.2.1 From e6fc2346c17b9a4ee274d509429042eec9c14db5 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 25 Aug 2005 00:28:18 -0700 Subject: Link howto documents from the main git.txt documentation. Signed-off-by: Junio C Hamano --- 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 91addedca..bff43e0c6 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 664b88a91..d4ede094f 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 08/05/05 diff --git a/Documentation/howto-index.sh b/Documentation/howto-index.sh new file mode 100755 index 000000000..3a6afb9f6 --- /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 000000000..1f534f1e7 --- /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" -- cgit v1.2.1 From 248542ea9ae9125a7ccf214b979ada9908ea1358 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 25 Aug 2005 00:36:41 -0700 Subject: Don't forget to build the howto-index file. Signed-off-by: Junio C Hamano --- Documentation/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/Makefile b/Documentation/Makefile index bff43e0c6..e928bcf28 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)) -- cgit v1.2.1 From 23e8673093ff78c32d2e6aa271987d489e2f4c76 Mon Sep 17 00:00:00 2001 From: "tony.luck@intel.com" Date: Thu, 25 Aug 2005 22:11:08 -0700 Subject: [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 Signed-off-by: Junio C Hamano --- 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 52fa4c012..6fc69e12e 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": + + $ cat > .git/remotes/linus + URL: rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + Pull: master:linus + ^D - $ git checkout -b linus - $ mv .git/branches/origin .git/branches/linus +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 (and it should be safe to do so with pending +work in your tree, but perhaps not if you are in mid-merge). -you can do this frequently (as long as you don't have any uncommited work -in your tree). +If you need to keep track of other public trees, you can add remote branches +for them too: -If you need to keep track of other public trees, you can add branches for -them too: + $ git branch another + $ cat > .git/remotes/another + URL: ... insert URL here ... + Pull: name-of-branch-in-this-remote-tree:another + ^D - $ git checkout -b another linus - $ echo URL-for-another-public-tree > .git/branches/another +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 -- cgit v1.2.1 From d8ddb0a41610fffdf9ef1a256d19d5a27face9d7 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 25 Aug 2005 16:24:13 +0200 Subject: [PATCH] More missing terms in glossary.txt Describe a DAG and octopus, and change wording of tree object. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- Documentation/glossary.txt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Documentation/glossary.txt b/Documentation/glossary.txt index 7456cffd3..a069b7bb0 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. -- cgit v1.2.1 From f358c10f91889b1b75edc257fb45c20b583baf28 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 26 Aug 2005 12:35:51 -0700 Subject: 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 --- 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 3a6afb9f6..f9d3e57a9 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 ae9094157..132d5eca6 100644 --- a/Documentation/howto/make-dist.txt +++ b/Documentation/howto/make-dist.txt @@ -3,6 +3,11 @@ From: Linus Torvalds To: Dave Jones 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 8299ca5cd..6cc1c7921 100644 --- a/Documentation/howto/rebase-and-edit.txt +++ b/Documentation/howto/rebase-and-edit.txt @@ -3,6 +3,9 @@ From: Linus Torvalds To: Steve French 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 8109b7ff2..f627e4271 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 , Linus Torvalds 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 writes: diff --git a/Documentation/howto/using-topic-branches.txt b/Documentation/howto/using-topic-branches.txt index 6fc69e12e..b3b4d2c97 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. -- cgit v1.2.1 From 814be007dff08597f6f550f243916aae4bf1d0f8 Mon Sep 17 00:00:00 2001 From: Tommi Virtanen Date: Fri, 26 Aug 2005 14:00:03 +0300 Subject: [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 Signed-off-by: Junio C Hamano --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 5df89dde3..a04453506 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: git-core Section: devel Priority: optional Maintainer: Junio C Hamano -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 -- cgit v1.2.1 From 579fbe598ddd9608bd2fbcf8411299dde06d1912 Mon Sep 17 00:00:00 2001 From: Tommi Virtanen Date: Fri, 26 Aug 2005 14:00:04 +0300 Subject: [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 Signed-off-by: Junio C Hamano --- debian/control | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/control b/debian/control index a04453506..6735a0da0 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 -- cgit v1.2.1 From 88db5f809d1e4a4afd28514151e97b40fd367661 Mon Sep 17 00:00:00 2001 From: Tommi Virtanen Date: Fri, 26 Aug 2005 14:00:04 +0300 Subject: [PATCH] git bugfixes and cleanups, mainly Debian things Generate docs for gitk. Install them in the right deb package. Signed-off-by: Tommi Virtanen Signed-off-by: Junio C Hamano --- Documentation/Makefile | 2 +- debian/git-tk.files | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/Makefile b/Documentation/Makefile index e928bcf28..bd6833b79 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 3801e7564..e54f897ce 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.* -- cgit v1.2.1 From c68e10b197404a4af0e7b59b5be4167d214b08da Mon Sep 17 00:00:00 2001 From: Tommi Virtanen Date: Fri, 26 Aug 2005 14:00:05 +0300 Subject: [PATCH] git bugfixes and cleanups, mainly Debian things Ignore generated files. Signed-off-by: Tommi Virtanen Signed-off-by: Junio C Hamano --- .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 000000000..245f54e05 --- /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 000000000..dad52b80d --- /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 000000000..335ce9c59 --- /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 000000000..ca680c5b9 --- /dev/null +++ b/templates/.gitignore @@ -0,0 +1 @@ +blt diff --git a/tools/.gitignore b/tools/.gitignore new file mode 100644 index 000000000..d1ea9ea30 --- /dev/null +++ b/tools/.gitignore @@ -0,0 +1,2 @@ +git-mailinfo +git-mailsplit -- cgit v1.2.1 From 85002315798dfcd28da6120ac3a461ca3fadfd2e Mon Sep 17 00:00:00 2001 From: Tommi Virtanen Date: Fri, 26 Aug 2005 14:00:04 +0300 Subject: [PATCH] git bugfixes and cleanups, mainly Debian things Point Debian doc-base at the right files. Clean up. Signed-off-by: Tommi Virtanen Signed-off-by: Junio C Hamano --- 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 f1bbea811..1ed46333d 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* -- cgit v1.2.1