【发布时间】:2014-11-02 03:04:15
【问题描述】:
我有两个 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-fileedit $/project-fileadd $/Source-File
显然我正在重命名它们,但是第 1 行中删除的文件与第 3 行中的文件相同,唯一的区别是文件名大小写。
所以我尝试了$ git config --global core.ignorecase false,但这并不能解决在同一更改中删除和添加同一文件的问题。
【问题讨论】: