summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/git-log.txt24
-rw-r--r--commit.c15
-rwxr-xr-xgit-log.sh15
-rwxr-xr-xgit-sh-setup.sh2
-rw-r--r--stripspace.c4
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
------
diff --git a/commit.c b/commit.c
index c7bb8dba64..ca25574500 100644
--- 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
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))