我如何解决“TFS不支持在同一路径中具有不同情况的相同项目。”

时间:2014-03-18 05:57:23

标签: git svn tfs git-svn git-tf

我目前正在尝试将SVN存储库迁移到TFS(特别是visualstudio.com)。我环顾四周,发现最便宜,最简单的方法是通过GIT,detailed in this post

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

  

git-tf:item'solution / schema objects / programmability / stored procedures / dbo.product_recommendation_insert.proc.sql'在commit 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)但尚未合并/重新绑定到主服务器。请将最新更改合并/变更为主

所以我的问题是:我是否通过使用filter-branch做正确的事情?如果是这样,我需要做什么才能“合并/重组”成主人?

1 个答案:

答案 0 :(得分:1)

看起来略有不同的filter-branch命令(the one mentioned here)并没有给我留下同样的问题:

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