2

我目前正在尝试将 SVN 存储库迁移到 TFS(特别是 visualstudio.com)。我环顾四周,发现最便宜和最简单的选择是通过 GIT,如本文所述。

过程进展顺利,我使用 GIT SVN 在本地构建 GIT 存储库,并设法将一半以上的更改集提交到 TFS,但是当我收到以下错误时它停止了:

git-tf:项目'解决方案/模式对象/可编程性/存储过程/dbo.product_recommendation_insert.proc.sql'在提交9fbd60d中不止一次存在不同的大小写。TFS 不支持在同一路径中具有不同案例的相同项目。

虽然这并不理想,但我真的不需要保留该文件的提交历史并跳过它会完全没问题。

所以我想出了一个解决方案(如果有更好的选择忽略下一位),那就是使用 GIT filter-branch 从历史中删除它。我运行了以下命令:

git filter-branch --tree-filter 'rm -f ''solution\Schema Objects\Programmability\Stored Procedures\dbo.Product_recommendation_insert.proc.sql''' HEAD

运行良好,但现在我不确定我需要做什么才能完成对 TFS 的提交。当我重新运行签入时,我收到以下错误

git-tf:已获取最新更改(提交 968e8a0),但尚未合并/重新定位到 master 中。请将最新的更改合并/重新设置为 master

所以我的问题是:我是否通过使用 filter-branch 做正确的事情?如果是这样,我需要做什么才能将“合并/变基”到master?

4

1 回答 1

1

看起来稍微不同的filter-branch命令(这里提到的那个)并没有让我遇到同样的问题:

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch ''solution\Schema Objects\Programmability\Stored Procedures\dbo.Product_recommendation_insert.proc.sql''' --prune-empty --tag-name-filter cat -- --all

于 2014-03-23T09:38:26.947 回答