Petr Baudis wrote:
Dear diary, on Mon, Apr 18, 2005 at 06:42:26AM CEST, I got a letter
where Steven Cole <[EMAIL PROTECTED]> told me that...


This patch will provide the comment lines in the shell script associated
with the command, cleaned up a bit for presentation.

BUGS: This will also print any comments in the entire file, which may
not be desired.  If a command name and shell script filename
do not follow the usual convention, this won't work, e.g. ci for commit.

Hey, those BUGS are the only slightly non-trivial thing on the whole
thing! I could do this patch myself... ;-) Also, you don't want to print
the first newline and the Copyright notices.

OK, here is a patch which _may_ do what you want.

This one no longer prints comments embedded later in the file,
and doesn't print the first newline and disposes of the (c) notices
as requested.  And does the right thing for git help ci.


[EMAIL PROTECTED] git-pasky-testing]$ ./git help diff
Make a diff between two GIT trees.

By default compares the current working tree to the state at the
last commit. You can specify -r rev1:rev2 or -r rev1 -r rev2 to
tell it to make a diff between the specified revisions. If you
do not specify a revision, the current working tree is implied
(note that no revision is different from empty revision - -r rev:
compares between rev and HEAD, while -r rev compares between rev
and working tree).

-p instead of one ID denotes a parent commit to the specified ID
(which must not be a tree, obviously).

Outputs a diff converting the first tree to the second one.

Speaking of 'git diff', I ran that before applying the following patch,
and got a diff starting thusly:

 --- /dev/null
 +++ b/

I had earlier done a 'git pull pasky', which was 'Up to date'.

So, the following patch is a conventional diff.

If the Perl filename or code  is too hideous, you're more than
welcome to change it.

This patch will provide the comment lines in the shell script associated
with the command, cleaned up a bit for presentation.

Thanks to Bob Newell for some Perl help.

Signed-off-by: Steven Cole <[EMAIL PROTECTED]>

diff -urN git-pasky-orig/git git-pasky-testing/git
--- git-pasky-orig/git  2005-04-19 10:27:54.000000000 -0600
+++ git-pasky-testing/git       2005-04-19 10:19:08.000000000 -0600
@@ -19,6 +19,11 @@

help () { + +command=$1 +scriptfile=git$ + +if [ ! $command ]; then cat <<__END__ The GIT scripted toolkit $(

@@ -48,6 +53,8 @@
        track           [RNAME]

+Additional help is available with: git help COMMAND
 Note that these expressions can be used interchangably as "ID"s:
        empty string (current HEAD)
        remote name (as registered with git addremote)
@@ -56,6 +63,13 @@
        commit object hash (as returned by commit-id)
        tree object hash (accepted only by some commands)
+if [ $scriptfile = "" ]; then
+       scriptfile=""
+if [ ! $scriptfile = "" ]; then
+ <$scriptfile  | grep -v "(c)" | cut -c 3-

diff -urN git-pasky-orig/Makefile git-pasky-testing/Makefile --- git-pasky-orig/Makefile 2005-04-19 10:27:54.000000000 -0600 +++ git-pasky-testing/Makefile 2005-04-19 10:32:50.000000000 -0600 @@ -21,7 +21,7 @@ gitdiff-do \ \ commit-id \ - +

 COMMON=        read-cache.o

diff -urN git-pasky-orig/ 
--- git-pasky-orig/ 1969-12-31 17:00:00.000000000 -0700
+++ git-pasky-testing/      2005-04-19 10:24:34.000000000 
@@ -0,0 +1,10 @@
+# Prints the block of text preceded by #
+# Copyright (c) Steven Cole, 2005
+# reads from stdin   writes to stdout  no error checking
+while (substr( $line=<STDIN>, 0, 1) eq "#") {
+                 print $line;
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to