Merge branch 'jc/bottomless' into next
authorJunio C Hamano <junkio@cox.net>
Sat, 15 Apr 2006 04:56:37 +0000 (21:56 -0700)
committerJunio C Hamano <junkio@cox.net>
Sat, 15 Apr 2006 04:56:37 +0000 (21:56 -0700)
* jc/bottomless:
rev-list --bisect: limit list before bisecting.
Clean up trailing whitespace when pretty-printing commits
"git cmd -h" for shell scripts.
git-log <diff-options> <paths> documentation
Retire git-log.sh (take #4)
stripspace: incomplete line fix (take #2)

Documentation/git-log.txt
commit.c
git-log.sh [deleted file]
git-sh-setup.sh
rev-list.c
stripspace.c
index e995d1b74bdbcedf3cc656ee06e939ec39a87795..76cb894caab08de47f2ba3ceb17850f5b49acbda 100644 (file)
@@ -12,11 +12,16 @@ SYNOPSIS
 
 DESCRIPTION
 -----------
-Shows the commit logs.  This command internally invokes
-'git-rev-list', and the command line options are passed to that
-command.
+Shows the commit logs.
+
+The command takes options applicable to the gitlink::git-rev-list[1]
+command to control what is shown and how, and options applicable to
+the gitlink::git-diff-tree[1] commands to control how the change
+each commit introduces are shown.
+
+This manual page describes only the most frequently used
+options.
 
-This manual page describes only the most frequently used options.
 
 OPTIONS
 -------
@@ -29,6 +34,12 @@ OPTIONS
 <since>..<until>::
        Show only commits between the named two commits.
 
+-p::
+       Show the change the commit introduces in a patch form.
+
+<paths>...::
+       Show only commits that affect the specified paths.
+
 
 Examples
 --------
@@ -47,6 +58,11 @@ git log --since="2 weeks ago" -- gitk::
        The "--" is necessary to avoid confusion with the *branch* named
        'gitk'
 
+git log -r --name-status release..test::
+
+       Show the commits that are in the "test" branch but not yet
+       in the "release" branch, along with the list of paths
+       each commit modifies.
 
 Author
 ------
index c7bb8dba64d37a6733f521c166d24e348778965b..ca25574500fe3c88d2cc2953b7dd019b3acab9e7 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -557,16 +557,11 @@ unsigned long pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit
                if (fmt == CMIT_FMT_ONELINE)
                        break;
        }
-       if (fmt == CMIT_FMT_ONELINE) {
-               /* We do not want the terminating newline */
-               if (buf[offset - 1] == '\n')
-                       offset--;
-       }
-       else {
-               /* Make sure there is an EOLN */
-               if (buf[offset - 1] != '\n')
-                       buf[offset++] = '\n';
-       }
+       while (offset && isspace(buf[offset-1]))
+               offset--;
+       /* Make sure there is an EOLN for the non-oneline case */
+       if (fmt != CMIT_FMT_ONELINE)
+               buf[offset++] = '\n';
        buf[offset] = '\0';
        return offset;
 }
diff --git a/git-log.sh b/git-log.sh
deleted file mode 100755 (executable)
index c2ea71c..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2005 Linus Torvalds
-#
-
-USAGE='[--max-count=<n>] [<since>..<limit>] [--pretty=<format>] [git-rev-list options]'
-SUBDIRECTORY_OK='Yes'
-. git-sh-setup
-
-revs=$(git-rev-parse --revs-only --no-flags --default HEAD "$@") || exit
-[ "$revs" ] || {
-       die "No HEAD ref"
-}
-git-rev-list --pretty $(git-rev-parse --default HEAD "$@") |
-LESS=-S ${PAGER:-less}
index 025ef2d5f6b37d89dab1d602e1d8d1a80ab7f42e..d15747f1ed8f875a3c1bb7129e50bfbc8d2b033f 100755 (executable)
@@ -30,7 +30,7 @@ $LONG_USAGE"
 fi
 
 case "$1" in
-       --h|--he|--hel|--help)
+       -h|--h|--he|--hel|--help)
        echo "$LONG_USAGE"
        exit
 esac
index 963707a495092405c3eb5b155c195b2968afdac7..cb67b399fc560c17e1611139aeebb0a51553ecfa 100644 (file)
@@ -371,6 +371,8 @@ int main(int argc, const char **argv)
 
        save_commit_buffer = verbose_header;
        track_object_refs = 0;
+       if (bisect_list)
+               revs.limited = 1;
 
        prepare_revision_walk(&revs);
        if (revs.tree_objects)
index dee1ef06edae928c6103fea6b21812de22140a6e..65a6346452bb924d203724a9bfeb1c4ed98025e1 100644 (file)
@@ -12,7 +12,9 @@ static int cleanup(char *line)
 {
        int len = strlen(line);
 
-       if (len > 1 && line[len-1] == '\n') {
+       if (len && line[len-1] == '\n') {
+               if (len == 1)
+                       return 0;
                do {
                        unsigned char c = line[len-2];
                        if (!isspace(c))