diff options
-rw-r--r-- | Documentation/git-log.txt | 24 | ||||
-rw-r--r-- | commit.c | 15 | ||||
-rwxr-xr-x | git-log.sh | 15 | ||||
-rwxr-xr-x | git-sh-setup.sh | 2 | ||||
-rw-r--r-- | stripspace.c | 4 |
5 files changed, 29 insertions, 31 deletions
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt index e995d1b74b..76cb894caa 100644 --- a/Documentation/git-log.txt +++ b/Documentation/git-log.txt @@ -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 ------ @@ -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 index c2ea71cf14..0000000000 --- a/git-log.sh +++ /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} diff --git a/git-sh-setup.sh b/git-sh-setup.sh index 025ef2d5f6..d15747f1ed 100755 --- a/git-sh-setup.sh +++ b/git-sh-setup.sh @@ -30,7 +30,7 @@ $LONG_USAGE" fi case "$1" in - --h|--he|--hel|--help) + -h|--h|--he|--hel|--help) echo "$LONG_USAGE" exit esac diff --git a/stripspace.c b/stripspace.c index dee1ef06ed..65a6346452 100644 --- a/stripspace.c +++ b/stripspace.c @@ -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)) |