我有两个 TFS 实例,一个是 2012,另一个是 2013。我的目标是从 2012 实例导出一些源代码并将其导入 2013 实例,同时保留签入历史记录。
我采用的方法是;
- 从http://msysgit.github.io为 Windows 安装 GIT
- 从http://gittf.codeplex.com安装 git-tf
- 为我的 git 存储库创建一个本地文件夹 c:\git
- 在该文件夹中打开一个 GIT Bash 提示符(所以它是当前的)
$ git tf clone http://old-tfs-host:8080/DefaultCollection $/myProject/myBranch --deep
- 删除 tf 文件夹和 git-tf 文件
- 复制到我的 USERMAP 文件中
$ git tf configure --deep --keep-author --force http://new-tfs-host:8080/DefaultCollection $/myProject/myBranch
$ git tf pull
$ git commit -a -m "Initial import from TFS 2012"
$ git tf checkin --deep
处理约 57% 后出现错误
git-tf:由于以下错误,未能挂起对 TFS 的更改。请修复错误并重试签入。项目 $/path-to-file 已经有待处理的更改。
问题- 如何解决文件的挂起更改?在我进行此签入时,存储库中没有其他人,所以看起来导出可能已损坏?
我已经在另外两个分支上使用了同样的方法并且已经成功了。
编辑我发现问题是文件被重命名,唯一的区别是大小写。所以在同样的变化中我有
delete $/source-file
edit $/project-file
add $/Source-File
显然我正在重命名它们,但是第 1 行中删除的文件与第 3 行中的文件相同,唯一的区别是文件名大小写。
所以我尝试过$ git config --global core.ignorecase false
,但这并不能解决在同一个更改中删除和添加同一个文件的问题。