fossil import --git
fossil does not decode file name that encorded by octal string when you import
from the git.
utf8 file name will become the numbers
static void dequote_git_filename(char *zName)
--- src/import.c
+++ src/import.c
@@ -463,11 +463,27 @@
if( zName==0 || zName[0]!='"' ) return;
n = (int)strlen(zName);
if( zName[n-1]!='"' ) return;
for(i=0, j=1; j<n-1; j++){
char c = zName[j];
- if( c=='\\' ) c = zName[++j];
+ int w;
+ if( c=='\\' ) {
+ if ( (j+3 <= n-1)
+ && (zName[j+1]>='0') && (zName[j+1]<='3')
+ && (zName[j+2]>='0') && (zName[j+2]<='7')
+ && (zName[j+3]>='0') && (zName[j+3]<='7') ) {
+ w = 64*(zName[j+1]-'0') + 8*(zName[j+2]-'0') + (zName[j+3]-'0');
+ if (w > 0xFFFF || w == 0) {
+ c = zName[++j];
+ } else {
+ c = (char) w & 0xFFFF;
+ j = j + 3;
+ }
+ } else {
+ c = zName[++j];
+ }
+ }
zName[i++] = c;
}
zName[i] = 0;
}
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users