Thread (1 message) 1 message, 1 author, 2016-06-15

Re: remove CR/LF from .gitignore

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:10
Subsystem: the rest · Maintainer: Linus Torvalds

Possibly related (same subject, not in this thread)

Linus Torvalds [off-list ref] writes:
On Wed, 2 Nov 2005, Alex Riesen wrote:
quoted
For everyone cursed by dos/windows line endings (aka CRLF):
Btw, it would be good if somebody verified that the .git/config file also 
works with CR/LF. 

I'm pretty sure "\" at the end of line will break, but I didn't care 
enough. And maybe nobody does. Normal config files _should_ work, but 
you can guess how eager I'm to test it ;)
Something like this?

---
cd /opt/packrat/playpen/public/in-place/git/git.junio/
git diff
diff --git a/config.c b/config.c
index 519fecf..e89bab2 100644
--- a/config.c
+++ b/config.c
@@ -13,6 +13,14 @@ static int get_next_char(void)
 	c = '\n';
 	if ((f = config_file) != NULL) {
 		c = fgetc(f);
+		if (c == '\r') {
+			/* DOS like systems */
+			c = fgetc(f);
+			if (c != '\n') {
+				ungetc(c, f);
+				c = '\r';
+			}
+		}
 		if (c == '\n')
 			config_linenr++;
 		if (c == EOF) {
Compilation finished at Wed Nov  2 12:24:27
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help