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
-------
<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
--------
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
------
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;
}
else
not_for_merge=
fi
- if expr "z$ref" : 'z\+' >/dev/null
+ if expr "z$ref" : 'z+' >/dev/null
then
single_force=t
- ref=$(expr "z$ref" : 'z\+\(.*\)')
+ ref=$(expr "z$ref" : 'z+\(.*\)')
else
single_force=
fi
+++ /dev/null
-#!/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}
force=
case "$ref" in
+*)
- ref=$(expr "z$ref" : 'z\+\(.*\)')
+ ref=$(expr "z$ref" : 'z+\(.*\)')
force=+
;;
esac
fi
case "$1" in
- --h|--he|--hel|--help)
+ -h|--h|--he|--hel|--help)
echo "$LONG_USAGE"
exit
esac
{
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))
# Some convenience functions
-function show_count () {
- commit_count=$(($commit_count+1))
- printf " %d\r" $commit_count
-}
-
function add () {
local name=$1
local text="$@"
"test $count = $output"
}
-function test_repack () {
- local rep=$1
-
- test_expect_success "repack && prune-packed in $rep" \
- '(git-repack && git-prune-packed)2>>log.txt'
-}
-
function pull_to_client () {
local number=$1
local heads=$2
cd client
test_expect_success "$number pull" \
- "git-fetch-pack -v .. $heads > log.txt 2>&1"
+ "git-fetch-pack -k -v .. $heads"
case "$heads" in *A*) echo $ATIP > .git/refs/heads/A;; esac
case "$heads" in *B*) echo $BTIP > .git/refs/heads/B;; esac
git-symbolic-ref HEAD refs/heads/${heads:0:1}
+
test_expect_success "fsck" 'git-fsck-objects --full > fsck.txt 2>&1'
- test_expect_object_count "after $number pull" $count
- pack_count=$(grep Unpacking log.txt|tr -dc "0-9")
+
+ test_expect_success 'check downloaded results' \
+ 'mv .git/objects/pack/pack-* . &&
+ p=`ls -1 pack-*.pack` &&
+ git-unpack-objects <$p &&
+ git-fsck-objects --full'
+
+ test_expect_success "new object count after $number pull" \
+ 'idx=`echo pack-*.idx` &&
+ pack_count=`git-show-index <$idx | wc -l` &&
+ test $pack_count = $count'
test -z "$pack_count" && pack_count=0
if [ -z "$no_strict_count_check" ]; then
test_expect_success "minimal count" "test $count = $pack_count"
test $count != $pack_count && \
echo "WARNING: $pack_count objects transmitted, only $count of which were needed"
fi
+ rm -f pack-*
cd ..
}
pull_to_client 1st "B A" $((11*3))
-(cd client; test_repack client)
-
add A11 $A10
prev=1; cur=2; while [ $cur -le 65 ]; do
pull_to_client 2nd "B" $((64*3))
-(cd client; test_repack client)
-
pull_to_client 3rd "A" $((1*3)) # old fails
test_done