On Wed, Mar 15, 2017 at 09:08:10AM -0500, Robert Dailey wrote: > $ git log > > commit 7ffb909bb8f38607e3d6d9f3504a66ca978f0ac2 > Author: Robert Dailey <robert@xxxxxxxxx> > Date: Mon Dec 12 11:01:00 2016 -0600 > > Add initial skeleton files & a few interfaces for new kizi/sc16 stuff > > This is still FAR from complete.... > > > I want to generate changelogs, using github markdown list format. I > tried doing that using this command: > > $ git log --pretty=format:"* %s%n%w(100,2,2)%+b" > > However, the 2nd newline is not inserted: > > * Add initial skeleton files & a few interfaces for new kizi/sc16 stuff > This is still FAR from complete.... > > The format I'm expecting is: > > * Add initial skeleton files & a few interfaces for new kizi/sc16 stuff > > This is still FAR from complete.... Hmm. I think the leading newline is added, but it gets eaten by the wrapping code. If I run your example in a debugger, we enter strbuf_add_wrapped_text() with: buf = "* the subject line\n" text = "\nthe body text" indent1=2, indent2=2, width=100 Which looks right. But the wrapping code seems to treat blank lines oddly. I can't quite figure out what it's _trying_ to do, but if there's one blank line, it gets converted into a space (and thus the weird three-space indent you see). But if there are two, they are both preserved! So I think the line-wrapping code is simply buggy, and you are not doing anything wrong. But maybe I am missing some subtle case. -Peff