{"thread":{"id":"9648","subject":"[RFC] Branch naming -- allowed characters?","startedAt":"2007-08-26T08:54:43Z","lastAt":"2007-08-26T10:17:35Z","messageCount":2,"participants":["Jari Aalto","Petr Baudis"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"51550","messageId":"bqcuhe0c.fsf@cante.net","threadId":"9648","inReplyTo":null,"subject":"[RFC] Branch naming -- allowed characters?","fromName":"Jari Aalto","fromEmail":"jari.aalto@cante.net","sentAt":"2007-08-26T08:54:43Z","receivedAt":"2007-08-26T08:54:43Z","isPatch":false,"sender":{"key":"jari.aalto@cante.net","avatar":"https://avatars.githubusercontent.com/u/34601?v=4"},"body":"\nI just noticed this while trying to track quilt project and making a\nlocal branch with name '.pc':\n\n    'fatal: '.pc' is not a valid branch name.'\n\nWould it be possible to allow using arbitrary names with branches in\nfuture git, even UTF-8?\n\nIf that is not possible, would it be possible to at least broaden the\ncharcter set with regular typeable US ascii letters, excluding the\ncontrol ones. Something found in filenames/URLs. Like regexp:\n\n    [][{}()_=+%!&@#~*.:;,/A-Za-z-]\n\nJari\n\n[*] Emacs even saves with names like: *Messages*\n"},{"id":"51555","messageId":"20070826101735.GI1219@pasky.or.cz","threadId":"9648","inReplyTo":"bqcuhe0c.fsf@cante.net","subject":"Re: [RFC] Branch naming -- allowed characters?","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2007-08-26T10:17:35Z","receivedAt":"2007-08-26T10:17:35Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"On Sun, Aug 26, 2007 at 10:54:43AM CEST, Jari Aalto wrote:\n> I just noticed this while trying to track quilt project and making a\n> local branch with name '.pc':\n> \n>     'fatal: '.pc' is not a valid branch name.'\n> \n> Would it be possible to allow using arbitrary names with branches in\n> future git, even UTF-8?\n> \n> If that is not possible, would it be possible to at least broaden the\n> charcter set with regular typeable US ascii letters, excluding the\n> control ones. Something found in filenames/URLs. Like regexp:\n> \n>     [][{}()_=+%!&@#~*.:;,/A-Za-z-]\n\nI think UTF-8 might be possible, though I'd be careful because of legacy\nsystems (my main home system could be still considered \"legacy\", for\nexample; BTW, does Linux fbcon already support reasonable utf8 _and_\n16*16 colors?). If legacy system cannot display commit message properly,\nit's not that big deal and besides the message is usually still mostly\nlegible. If you cannot properly refer a branch because you live on a\nlegacy system, that makes for a showstopper.\n\nAbout extending the allowed characters, one issue is caring whether we\nand all the procelain make sure to quote branch name properly\neverywhere. Hopefully so, but is anybode sure?\n\nBigger issue is that some of these characters have special meaning in\nrevids. For example ':' is special for Git, meaning \"blob of given\nfilename in given tree\". We want to keep some room for further grow and\npossible added semantics. (For example, I still haven't completely given\nup the idea of using dot-starting names for \"autoprivate\" refs. ;-)\n\nCompared to this, the benefit of _allowing_ the special characters\ndoesn't seem to be very large and I can't really imagine many people\nwanting to use = or + in their refnames.\n\n> [*] Emacs even saves with names like: *Messages*\n\nI'm sure vim can too. ;-)\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nEver try. Ever fail. No matter. // Try again. Fail again. Fail better.\n\t\t-- Samuel Beckett\n"}]}