sequencer.c: teach append_signoff to avoid adding a duplicate newline
Teach append_signoff to detect whether a blank line exists at the position that the signed-off-by line will be added, and refrain from adding an additional one if one already exists. Or, add an additional line if one is needed to make sure the new footer is separated from the message body by a blank line. Signed-off-by: Brandon Casey <bcasey@nvidia.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									bab4d1097c
								
							
						
					
					
						commit
						33f2f9ab4e
					
				
							
								
								
									
										15
									
								
								sequencer.c
								
								
								
								
							
							
						
						
									
										15
									
								
								sequencer.c
								
								
								
								
							|  | @ -1123,8 +1123,19 @@ void append_signoff(struct strbuf *msgbuf, int ignore_footer, unsigned flag) | |||
| 	else | ||||
| 		has_footer = has_conforming_footer(msgbuf, &sob, ignore_footer); | ||||
|  | ||||
| 	if (!has_footer) | ||||
| 		strbuf_splice(msgbuf, msgbuf->len - ignore_footer, 0, "\n", 1); | ||||
| 	if (!has_footer) { | ||||
| 		const char *append_newlines = NULL; | ||||
| 		size_t len = msgbuf->len - ignore_footer; | ||||
|  | ||||
| 		if (len && msgbuf->buf[len - 1] != '\n') | ||||
| 			append_newlines = "\n\n"; | ||||
| 		else if (len > 1 && msgbuf->buf[len - 2] != '\n') | ||||
| 			append_newlines = "\n"; | ||||
|  | ||||
| 		if (append_newlines) | ||||
| 			strbuf_splice(msgbuf, msgbuf->len - ignore_footer, 0, | ||||
| 				append_newlines, strlen(append_newlines)); | ||||
| 	} | ||||
|  | ||||
| 	if (has_footer != 3 && (!no_dup_sob || has_footer != 2)) | ||||
| 		strbuf_splice(msgbuf, msgbuf->len - ignore_footer, 0, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Brandon Casey
						Brandon Casey