2008/6/2 Jakub Narebski <jnareb@xxxxxxxxx>:> Dnia poniedziałek 2. czerwca 2008 15:26, Catalin Marinas napisał:>> 2008/6/2 Jakub Narebski <jnareb@xxxxxxxxx>:>>> On Sun, 1 June 2008, Jakub Narebski wrote:>>>>>>> StGIT errors out on rebasing patch which deletes file with Unicode>>>> characters in filename (with characters outside US-ASCII in filename).>>>> The patch in question is patch deleting gitweb/test/* in git directory,>>>> and is present already on the 'origin' branch (the branch we rebase>>>> onto), so stg-rebase should result in an empty patch (as first patch).>>>>>>>> "gitweb/test/M\303\244rchen" | 2 -->>>> gitweb/test/file with spaces | 4 ---->>>> gitweb/test/file+plus+sign | 6 ------>>>> 3 files changed, 0 insertions(+), 12 deletions(-)>>>> delete mode 100644 gitweb/test/Märchen>>>> delete mode 100644 gitweb/test/file with spaces>>>> delete mode 100644 gitweb/test/file+plus+sign>>>>>>>> I guess the error is caused by using unescaped (quoted) filename.>>>>>> You can WORKAROUND this bug by setting core.quotepath to false. This>>> allowed me to make stg-rebase.>>>> I can add a workaround in StGIT to actually ignore the exception>> raised by os.remove() but I don't know how to convert the quoted file>> name back to its unicode value in Python.>> In Perl it is as simple as (see unquote() in gitweb/gitweb.perl) Actually, Python seems OK at handling quoted characters, the onlyconfusion is that it doubles the backslash in the string since itdoesn't know that the text received from Git is quoted or not. I wouldprobably have to check for the "core.quotepath" value and actaccordingly. -- Catalin˙ôčş{.nÇ+?ˇ?Ž??+%?Ë˙ąéÝśĽ?w˙ş{.nÇ+?ˇ ?ßâ?Ř^n?rĄöŚzË?ëh?¨čÚ&ŁűŕzżäzšŢ?ú+?Ę+zfŁ˘ˇh??§~??Űi˙˙ď?ę˙?ęçz_čŽćj:+v?¨ţ)ߣřm