我希望任何人都能帮助我。
当我尝试将我的本地git分支推送到svn服务器时,总是会导致以下错误:
$ git svn dcommit
Committing to http://.../Dev_Stream/01_workspace ...
C path/to/file/AbstractSystemThread.java => other/path/to/file/Thread/AbstractThread.java
assertion "svn_fspath__is_canonical(child_fspath)" failed: file "/usr/src/subversion/subversion-1.8.0-1/src/subversion-1.8.0/subversion/libsvn_subr/dirent_uri.c", line 2502, function: svn_fspath__skip_ancestor
前提条件:
之前没有暂存或未暂存的changes)
Cygwin安装包含以下软件包:
svn 1.7.9-1
当我在互联网上搜索这个问题时,我发现了几个这样的错误,其中一个路径无法被规范化。但我并没有找到解决这个问题的方法。
有谁知道怎么解决这个问题吗?有什么信息丢失了吗?
发布于 2013-08-02 23:10:44
我也遇到了这个问题(git版本1.8.3),并通过将subversion降级到1.7.9 (从1.8.0)来解决它。
发布于 2013-12-21 09:07:15
如果您不能降级到SVN 1.7.X,另一个选择是以这种方式执行Git-SVN提交:
git svn dcommit -C1 -l1
这基本上关闭了Git重命名检测(所以这是一种变通方法,而不是修复方法)。您将丢失重命名曲目信息(重命名将提交为delete,然后是一个新文件,如SVN 1.4)。但是提交将会起作用。
编辑尽管这里有一些注释,但我相信这将适用于Cygwin存储库(1.7.9.1)上的当前Git版本。如果有一天情况发生变化,我会相应地更新我的答案。
事实上,让我们希望情况有所改善,这样我们就不需要任何修复或变通了,Git-SVN就可以工作了(就像以前一样)。:-)
发布于 2014-02-10 18:43:54
从github安装git-svn修补版本的一种简单方法:
find /usr -name Editor.pm
cd /usr/lib/perl5/vendor_perl/5.18.1/Git/SVN mv Editor.pm Editor.pm.bak wget https://raw.github.com/git/git/2394e94e831991348688831a384b088a424c7ace/perl/Git/SVN/Editor.pm
https://stackoverflow.com/questions/17693255
复制相似问题