【发布时间】:2011-06-04 15:58:16
【问题描述】:
我在 google 代码上有一个公共托管的 svn 存储库,但是由于各种原因,我在本地切换到了 git。我目前是唯一可以访问 googlecode 存储库的开发人员,因此无需进行获取。所有提交都通过一个 dev 分支,到 svn 的 master 分支,使用git svn dcommit。一切安好。现在我的情况是,我在本地使用 git 进行版本控制,但我不希望它们公开可用。
所以我有了一个想法:我创建了一个私有目录,并在我的 svn 存储库中添加了一个 svn:ignore "private/*" 属性。但比之后
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,而是由于其他一些未知的原因。问题变成了:是否可以从git svn dcommit 中排除路径,就像可以使用--ignore-path 从git svn fetch 中排除路径一样
【问题讨论】:
-
在您添加该属性后尝试拉取和合并?
-
确实做到了:git svn rebase / git svn fetch,不确定 pull 是如何与 git-svn 一起工作的?
-
我的意思是获取,抱歉。在黑暗中拍摄,看看是否有快速简便的出路;看起来这是一个 git pro 的。不过,这是一个很好的问题,所以 +1。
-
不要忘记停止“关注”公共仓库中的那些私人文件。