Code

script with rev-list instead of log
authorJeff King <peff@peff.net>
Thu, 8 Apr 2010 19:42:37 +0000 (15:42 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 9 Apr 2010 06:13:48 +0000 (23:13 -0700)
Because log.decorate now shows decorations for --pretty=oneline,
we must explicitly turn it off when scripting. Otherwise,
users with log.decorate set will get cruft like:

  $ git stash
  Saved working directory and index state WIP on master:
    2c1f7f5 (HEAD, master) commit subject

Instead of adding --no-decorate to the log command line,
let's just use the rev-list plumbing interface instead,
which does the right thing.

git-submodule has a similar call. Since it just counts the
commit lines, nothing is broken, but let's switch it, too,
for the sake of consistency and cleanliness.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-stash.sh
git-submodule.sh

index 3a0685f1893098e8f5c877f509183c8434e7c028..0726a4a725d75212539c9fce9e657de04bc227c3 100755 (executable)
@@ -57,7 +57,7 @@ create_stash () {
        # state of the base commit
        if b_commit=$(git rev-parse --verify HEAD)
        then
-               head=$(git log --no-color --abbrev-commit --pretty=oneline -n 1 HEAD --)
+               head=$(git rev-list --oneline -n 1 HEAD --)
        else
                die "You do not have the initial commit yet"
        fi
index 664f21721cb876eed7da167744066d834521c825..c8d80822c23ad0daea258314966321a2873bd5f0 100755 (executable)
@@ -643,7 +643,7 @@ cmd_summary() {
                                range=$sha1_dst
                        fi
                        GIT_DIR="$name/.git" \
-                       git log --pretty=oneline --first-parent $range | wc -l
+                       git rev-list --first-parent $range -- | wc -l
                        )
                        total_commits=" ($(($total_commits + 0)))"
                        ;;