git感知但(远程)svn忽略

git感知但(远程)svn忽略,git,git-svn,svnignore,Git,Git Svn,Svnignore,我在google代码上有一个公共托管的svn存储库,但是由于各种原因,我在本地切换到git。我目前是唯一一个可以访问googlecode repo的开发人员,因此不需要进行抓取。所有提交都通过dev分支,到svn的主分支,使用git svn dcommit。一切都好。现在我的情况是,我在本地有一些文件在git的版本控制中,但我不想让它们公开 所以我有了一个想法:我创建了一个目录private,并将svn:ignore“private/*”属性添加到我的svn repo中。但是比之后 git sv

我在google代码上有一个公共托管的svn存储库,但是由于各种原因,我在本地切换到git。我目前是唯一一个可以访问googlecode repo的开发人员,因此不需要进行抓取。所有提交都通过dev分支,到svn的主分支,使用git svn dcommit。一切都好。现在我的情况是,我在本地有一些文件在git的版本控制中,但我不想让它们公开

所以我有了一个想法:我创建了一个目录private,并将svn:ignore“private/*”属性添加到我的svn repo中。但是比之后

git svn dcommmit
我收到一个错误:提交期间合并冲突:文件或目录“.”已过期;尝试更新:资源已过期;尝试在/usr/local/git/libexec/git-core/git-svn第574行进行更新

我尝试将svn:ignore属性导入到.git/info/exclude中,但这会从git中排除“private”中的所有git文件,这绝对不是我想要的

[08-06-2011]

我认为这个错误不是因为svn:ignore,似乎git-svn完全忽略了svn:ignore,而是因为其他一些未知的原因。问题变成了:是否可以从
git svn dcommit
中排除路径,方法与使用--ignore path

git svn fetch
中排除路径相同?页面表明,使用以下配置键可以做到这一点:

svn-remote.<name>.ignore-paths
svn remote..忽略路径

git svn忽略svn:如果您使用SmartGit签出存储库,则忽略但不忽略。它将其转换为相应的.gitignore文件,反之亦然。
因此,我建议您使用SmartGit而不是git svn。

自从您添加了该属性后,尝试了拉入和合并?确实做了:git svn rebase/git svn fetch,不确定拉入如何与git svn一起工作?对不起,我是指提取。是在黑暗中拍摄,看看是否有一个快速简单的方式为你;看起来这是git专业版的。这是一个很好的问题,所以+1。别忘了停止在公共回购中“跟踪”那些私人文件。谢谢你的回答,我想我在我的探索中也看到了这面旗帜。当时我把它看作是一个单向块:从svn->git<代码>这允许指定一个Perl正则表达式,该表达式将导致从SVN签出中跳过所有匹配路径。--ignore path选项应该匹配给定存储库中的每个获取(包括由于克隆、dcommit、rebase等而自动获取)。我再次阅读了它,我仍然坚持我最初的信念,但英语不是我的母语,通常我会误读手册页(尤其是git的)