From: Jonas Fonseca <fonseca@diku.dk>
To: Petr Baudis <pasky@ucw.cz>
Cc: git@vger.kernel.org
Subject: [PATCH 4/4] Add quick reference
Date: Fri, 10 Mar 2006 15:48:35 +0100 [thread overview]
Message-ID: <20060310144835.GE7920@diku.dk> (raw)
In-Reply-To: <20060310144106.GA7920@diku.dk>
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
If someone wants to have a look, I've put it here:
http://www.diku.dk/hjemmesider/studerende/fonseca/cg-ref.pdf
Documentation/Makefile | 9 ++-
Documentation/asciidoc.conf | 4 +
Documentation/make-cg-ref-asciidoc | 61 +++++++++++++++++++
Documentation/quick-reference.txt | 114 ++++++++++++++++++++++++++++++++++++
4 files changed, 185 insertions(+), 3 deletions(-)
diff --git a/Documentation/Makefile b/Documentation/Makefile
index d316a14..439d20f 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -4,14 +4,14 @@ CG_SRC=$(filter-out $(CG_IGNORE), $(wild
PACKAGE=cogito
MAN1_TXT=$(patsubst ../cg%,cg%.1.txt,$(CG_SRC))
-MAN7_TXT=$(PACKAGE).7.txt
+MAN7_TXT=$(PACKAGE).7.txt cg-ref.7.txt
-DOC_HTML=$(patsubst %.txt,%.html,$(MAN1_TXT) $(MAN7_TXT)) introduction.html
+DOC_HTML=$(patsubst %.txt,%.html,$(MAN1_TXT) $(MAN7_TXT)) quick-reference.html introduction.html
DOC_MAN1=$(patsubst %.txt,%,$(MAN1_TXT))
DOC_MAN7=$(patsubst %.txt,%,$(MAN7_TXT))
-DOC_PDF=$(patsubst %.txt,%.pdf,$(MAN1_TXT) $(MAN7_TXT)) introduction.pdf
+DOC_PDF=$(patsubst %.txt,%.pdf,$(MAN1_TXT) $(MAN7_TXT)) quick-reference.pdf introduction.pdf
prefix=$(HOME)
bin=$(prefix)/bin
@@ -100,6 +100,9 @@ introduction.xml: ../README
$(PACKAGE).7.txt : make-$(PACKAGE)-asciidoc
./make-$(PACKAGE)-asciidoc > $@
+cg-ref.7.txt : quick-reference.txt make-cg-ref-asciidoc
+ CGPACKAGE=$(PACKAGE) ./make-cg-ref-asciidoc $< > $@
+
# It seems that cg%.txt won't match this so use an explicit rule
cg.1.txt : ../cg make-cg-asciidoc
CGPACKAGE=$(PACKAGE) ./make-cg-asciidoc $< > $@
diff --git a/Documentation/asciidoc.conf b/Documentation/asciidoc.conf
index baefb2f..69f1646 100644
--- a/Documentation/asciidoc.conf
+++ b/Documentation/asciidoc.conf
@@ -19,3 +19,7 @@ ifdef::backend-xhtml11[]
[gitlink-inlinemacro]
<a href="{target}.html">{target}{0?({0})}</a>
endif::backend-xhtml11[]
+
+[attributes]
+# Five non breaking spaces used for option indentation in the quick reference
+cg-refopt=     
diff --git a/Documentation/make-cg-ref-asciidoc b/Documentation/make-cg-ref-asciidoc
new file mode 100755
index 0000000..7fd60ca
--- /dev/null
+++ b/Documentation/make-cg-ref-asciidoc
@@ -0,0 +1,61 @@
+#!/usr/bin/env bash
+#
+# Generate asciidoc manpage markup from Cogito quick reference file.
+# Copyright (c) Jonas Fonseca, 2006
+#
+# Takes the path to the reference file. Prints the manpage to stdout.
+
+PACKAGE=${CGPACKAGE:-cogito}
+
+ref=$1
+
+cat <<__END__
+cg-ref(7)
+=========
+
+NAME
+----
+cg-ref - Cogito quick reference
+
+SYNOPSIS
+--------
+A list of frequently used commands grouped with related commands.
+
+DESCRIPTION
+-----------
+
+__END__
+
+sed '0,/^$/d' < "$ref" | \
+sed '/^`/d' | \
+sed 's/--/../g' | \
+sed '/frame="none"/,1d' | \
+sed 's/\\$//' | \
+while read line; do
+ if echo "$line" | grep -q '^.*:$'; then
+ echo "$line"
+ echo "$line" | sed "s/[^~]/~/g"
+ echo
+ echo "[verse]"
+ else
+ entry=$(echo "$line" | sed "s/^\([^ ]*\) /\1/")
+ space=$(echo "$entry" | sed "s/[^*']//g" | sed "s/[*']/ /g")
+
+ echo "$line" | sed "s/^\([^ ]*\) /\1$space /"
+ fi
+done | \
+sed 's/.*cg-refopt} \(-[^ ]*\)/ \1 /' | \
+sed "s/[*]\([^*]*\)[*]/\1/g" | \
+sed "s/[']\([^']*\)[']/\1/g"
+
+cat << __END__
+
+COPYRIGHT
+---------
+Copyright (C) Jonas Fonseca, 2006.
+
+SEE ALSO
+--------
+gitlink:cg-ref[7] is part of gitlink:${PACKAGE}[7],
+a toolkit for managing gitlink:git[7] trees.
+__END__
diff --git a/Documentation/quick-reference.txt b/Documentation/quick-reference.txt
new file mode 100644
index 0000000..11c0a13
--- /dev/null
+++ b/Documentation/quick-reference.txt
@@ -0,0 +1,114 @@
+Cogito Quick Reference
+======================
+
+[frame="none"]
+`-------------------------------`---------------------------------------------
+Getting help:
+------------------------------------------------------------------------------
+*cg help* 'command' Show help for a command
+*cg* 'command' -h Show usage summary for a command
+------------------------------------------------------------------------------
+
+[frame="none"]
+`-------------------------------`---------------------------------------------
+Repository creation:
+------------------------------------------------------------------------------
+*cg init* Create a repository in the current directory
+*cg clone* 'url' Clone a remote repository
+------------------------------------------------------------------------------
+
+[frame="none"]
+`-------------------------------`---------------------------------------------
+File operations:
+------------------------------------------------------------------------------
+*cg add* 'file' Add file to the working tree
+*cg add* -r 'directory' Recursively add files in directory
+*cg rm* 'file' Remove file or directory from the working tree
+*cg rm* -r 'directory' Recursively remove files in directory
+{cg-refopt} -f Delete file from disk
+*cg mv* 'file' 'dest' Move file or directory to new location
+{cg-refopt} -f Overwrite existing destination files
+*cg restore* 'file' Restore file
+{cg-refopt} -r 'rev' Bring back file from revision (and add it)
+{cg-refopt} -f Overwrite uncommitted changes
+------------------------------------------------------------------------------
+
+[frame="none"]
+`-------------------------------`---------------------------------------------
+Examining History:
+------------------------------------------------------------------------------
+*cg log* '[file]' View commit log
+{cg-refopt} -r 'rev' Limit to revision range
+{cg-refopt} -f List affected files
+{cg-refopt} -s Summarize commits to one line
+*cg diff* '[file]' Show diff of changes
+{cg-refopt} -r 'rev' Diff revision instead of working tree
+{cg-refopt} -p Diff against parent
+{cg-refopt} -s Show diff stat
+------------------------------------------------------------------------------
+
+[frame="none"]
+`-------------------------------`---------------------------------------------
+Working tree:
+------------------------------------------------------------------------------
+*cg status* '[file]' Show branches and status of the working tree
+*cg commit* Commit the working tree
+{cg-refopt} -m 'message' Append message to commit log
+*cg admin-uncommit* Undo commit
+*cg reset* Reset the working treeUndo commit
+*cg seek* 'rev' Temporarily switch the working tree
+*cg clean* Remove file not under revision control
+------------------------------------------------------------------------------
+
+[frame="none"]
+`-------------------------------`---------------------------------------------
+Remote branches:
+------------------------------------------------------------------------------
+*cg branch-ls* List remote branches
+*cg branch-add* 'branch' 'url' Add remote branch
+*cg branch-chg* 'branch' 'url' Change URL of existing branch
+*cg fetch* 'branch' Fetch changes from a remote branch
+*cg update* 'branch' Fetch and merge changes from a remote branch
+*cg push* 'branch' Push changes to a remote branch
+------------------------------------------------------------------------------
+
+[frame="none"]
+`-------------------------------`---------------------------------------------
+Local branches:
+------------------------------------------------------------------------------
+*cg merge* 'branch' Merge changes from branch
+*cg switch* 'branch' Switch the working tree to branch
+{cg-refopt} -r 'rev' Create branch from revision
+{cg-refopt} -f Overwrite existing branch
+------------------------------------------------------------------------------
+
+[frame="none"]
+`-------------------------------`---------------------------------------------
+Exporting and importing:
+------------------------------------------------------------------------------
+*cg patch* Apply patch
+*cg mkpatch* Format a patch with log message and diffstat
+{cg-refopt} -r 'rev' Limit to revision range
+*cg export* 'directory' Export "snapshot" to directory
+{cg-refopt} -r 'rev'
+------------------------------------------------------------------------------
+
+[frame="none"]
+`-------------------------------`---------------------------------------------
+Tags:
+------------------------------------------------------------------------------
+*cg tag* 'name' 'rev' Create tag for a given revision
+{cg-refopt} -s Sign tag with your private key using GPG
+*cg tag-ls* Show name and revision for all tags
+------------------------------------------------------------------------------
+
+`-------------------------------`---------------------------------------------
+File status flags:
+------------------------------------------------------------------------------
+? file is unknown
+A file has been added.
+D file has been deleted.
+! file is not in working tree
+M file has been touched or modified
+m file has been touched or modified (during merge)
+------------------------------------------------------------------------------
--
Jonas Fonseca
next prev parent reply other threads:[~2006-03-10 14:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-10 14:41 Cogito: Cleanup documentation building and add quick reference Jonas Fonseca
2006-03-10 14:43 ` [PATCH 1/4] Simplify wildcards for match files to be ignored Jonas Fonseca
2006-03-11 0:08 ` Horst von Brand
2006-03-17 17:19 ` Jonas Fonseca
2006-03-10 14:43 ` [PATCH 2/4] Encode the manpage section in the file name Jonas Fonseca
2006-03-10 14:44 ` [PATCH 3/4] Generate PDF documents using docbook2pdf Jonas Fonseca
2006-03-10 14:48 ` Jonas Fonseca [this message]
2006-03-11 13:12 ` [PATCH 4/4] Add quick reference Jonas Fonseca
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060310144835.GE7920@diku.dk \
--to=fonseca@diku.dk \
--cc=git@vger.kernel.org \
--cc=pasky@ucw.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).