* 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).