3

我在谷歌代码上有一个公共托管的 svn 存储库,但是由于各种原因,我在本地切换到了 git。我目前是唯一可以访问 googlecode 存储库的开发人员,因此无需进行获取。所有提交都通过 dev 分支,到 svn 的 master 分支,使用git svn dcommit. 一切安好。现在我的情况是,我在本地使用 git 进行版本控制,但我不希望它们公开可用。

所以我有了一个想法:我创建了一个私有目录并将一个 svn:ignore "private/*" 属性添加到我的 svn 存储库中。但比之后

git svn dcommmit

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

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

[08-06-2011]

我认为错误不是因为 svn:ignore,似乎 git svn 完全忽略了 svn:ignore,而是由于其他一些未知的原因。问题变成:是否有可能以与使用 --ignore-pathgit svn dcommit排除路径相同的方式排除路径git svn fetch

4

2 回答 2

1

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

于 2012-05-12T16:48:02.457 回答
0

git-svn 手册页表明使用以下配置键可以做到这一点:

svn-remote.<name>.ignore-paths
于 2011-08-18T15:35:05.557 回答