git rev-list --pretty=raw strips empty lines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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: test.sh
Description: Binary data


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]