hg-fast-export.py: sanitize tildes (~) in branch names
authorJonathan Nieder <jrnieder@uchicago.edu>
Mon, 2 Jun 2008 18:23:48 +0000 (13:23 -0500)
committerRocco Rutte <pdmef@gmx.net>
Tue, 3 Jun 2008 06:49:57 +0000 (08:49 +0200)
In git-check-ref-format (1), there is the following rule for refnames:

3. It cannot have ASCII control character (i.e. bytes
   whose values are lower than \040, or \177 DEL), space,
   tilde ~, caret ^, colon :, question-mark ?, asterisk *,
   or open bracket [ anywhere;

and indeed, this rule is enforced by "git fast-import". hg-fast-export
already checked for all of the visible characters listed except for ~
and converted them to underscores. For some reason the tilde was
forgotten. This patch makes good on the omission.

Note that control characters are still left alone.

Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
hg-fast-export.py

index e3af8a6..8c88921 100755 (executable)
@@ -141,7 +141,7 @@ def sanitize_name(name,what="branch"):
     return name
 
   n=name
-  p=re.compile('([[ ^:?*]|\.\.)')
+  p=re.compile('([[ ~^:?*]|\.\.)')
   n=p.sub('_', n)
   if n[-1] == '/': n=n[:-1]+'_'
   n='/'.join(map(dot,n.split('/')))