git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git rev-list --pretty=raw strips empty lines
@ 2009-10-06 12:33 Rolf Bjarne Kvinge
  0 siblings, 0 replies; only message in thread
From: Rolf Bjarne Kvinge @ 2009-10-06 12:33 UTC (permalink / raw)
  To: git

[-- Attachment #1: Type: text/plain, Size: 1443 bytes --]

Hi,

It seems like the --pretty=raw format strips off empty newlines from the beginning of log messages, while I'd expect the raw format to not do any transformations (just as the documentation says: "The 'raw' format shows the entire commit exactly as stored in the commit object").

I've attached a test script that I can use to reproduce with current master (dbc1b1f71052c0)

The below changes works for me, not sure if I'm right about this though (my first time here ;-)

Rolf

diff --git a/pretty.c b/pretty.c
index f5983f8..1037700 100644
--- a/pretty.c
+++ b/pretty.c
@@ -868,7 +868,7 @@ void pp_remainder(enum cmit_fmt fmt,
                         break;

                 if (is_empty_line(line, &linelen)) {
-                       if (first)
+                       if (first && fmt != CMIT_FMT_RAW)
                                 continue;
                         if (fmt == CMIT_FMT_SHORT)
                                 break;
@@ -952,7 +952,8 @@ void pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit,
         }

         /* Skip excess blank lines at the beginning of body, if any... */
-       msg = skip_empty_lines(msg);
+       if (fmt != CMIT_FMT_RAW)
+               msg = skip_empty_lines(msg);

         /* These formats treat the title line specially. */
         if (fmt == CMIT_FMT_ONELINE || fmt == CMIT_FMT_EMAIL)



-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

[-- Attachment #2: test.sh --]
[-- Type: application/octet-stream, Size: 652 bytes --]

#!/bin/bash -e

cat > msg << EOF



first line

EOF

# the following exports are just to make the size of the rev-list output only dependent on the size of the log message
export GIT_COMMITTER_NAME=Bar
export GIT_COMMITTER_EMAIL="bar@foo.com"
export GIT_COMMITTER_DATE="2000/01/01 00:00"
export GIT_AUTHOR_NAME=Foo
export GIT_AUTHOR_EMAIL="foo@bar.com"
export GIT_AUTHOR_DATE="2000/01/01 00:00"

git add msg
git commit -F msg --cleanup=verbatim
git rev-list --pretty=raw -1 HEAD | tee msg.tmp
SIZE=`cat msg.tmp | wc -c`
# current master gives a message length of 244
echo Expected message length: 259, got message length: $SIZE
git reset HEAD^ --hard


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2009-10-06 12:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-06 12:33 git rev-list --pretty=raw strips empty lines Rolf Bjarne Kvinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).