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>
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('/')))