@@ -941,7 +941,8 @@ static size_t format_commit_item(struct strbuf *sb, const char *placeholder,
941941 enum {
942942 NO_MAGIC ,
943943 ADD_LF_BEFORE_NON_EMPTY ,
944- DEL_LF_BEFORE_EMPTY
944+ DEL_LF_BEFORE_EMPTY ,
945+ ADD_SP_BEFORE_NON_EMPTY
945946 } magic = NO_MAGIC ;
946947
947948 switch (placeholder [0 ]) {
@@ -951,6 +952,9 @@ static size_t format_commit_item(struct strbuf *sb, const char *placeholder,
951952 case '+' :
952953 magic = ADD_LF_BEFORE_NON_EMPTY ;
953954 break ;
955+ case ' ' :
956+ magic = ADD_SP_BEFORE_NON_EMPTY ;
957+ break ;
954958 default :
955959 break ;
956960 }
@@ -965,8 +969,11 @@ static size_t format_commit_item(struct strbuf *sb, const char *placeholder,
965969 if ((orig_len == sb -> len ) && magic == DEL_LF_BEFORE_EMPTY ) {
966970 while (sb -> len && sb -> buf [sb -> len - 1 ] == '\n' )
967971 strbuf_setlen (sb , sb -> len - 1 );
968- } else if ((orig_len != sb -> len ) && magic == ADD_LF_BEFORE_NON_EMPTY ) {
969- strbuf_insert (sb , orig_len , "\n" , 1 );
972+ } else if (orig_len != sb -> len ) {
973+ if (magic == ADD_LF_BEFORE_NON_EMPTY )
974+ strbuf_insert (sb , orig_len , "\n" , 1 );
975+ else if (magic == ADD_SP_BEFORE_NON_EMPTY )
976+ strbuf_insert (sb , orig_len , " " , 1 );
970977 }
971978 return consumed + 1 ;
972979}
@@ -976,7 +983,7 @@ static size_t userformat_want_item(struct strbuf *sb, const char *placeholder,
976983{
977984 struct userformat_want * w = context ;
978985
979- if (* placeholder == '+' || * placeholder == '-' )
986+ if (* placeholder == '+' || * placeholder == '-' || * placeholder == ' ' )
980987 placeholder ++ ;
981988
982989 switch (* placeholder ) {
0 commit comments