问题标签 [git-tf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
879 浏览

git - 如何解决“TFS 不支持在同一路径中具有不同案例的相同项目”。

我目前正在尝试将 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?

0 投票
1 回答
10861 浏览

git - 如何让 Git 真正*忽略*行尾?

我怎样才能告诉 Git 真的不在乎行尾?将它们保留为 LF 或 CRLF,就像它们最初一样,并以相同的方式检查它们?

我正在使用带有 git-tf 的 Git 存储库来签入 TFS 存储库。我团队的其他成员只使用 TFS。

既然如此,有时他们会在不知情的情况下更改行尾。例如,最近第三方工具对其行尾进行了规范化,以及其他更改。我们的 repo 已使用这些更改进行了更新,现在由于行尾不同,文件显示在我的目录中发生了更改。

对于这个特定的存储库,我真正想要的是让 Git 假装不存在行尾更改。如果是 LF,则保留为 LF。如果是 CRLF,则保留为 CRLF。

为了做到这一点,我需要什么设置或设置组合?

0 投票
1 回答
1217 浏览

git - git-tf tells me "Could not lock" when checking in; how can I fix it?

I'm using git-tf to push to a TFS project. Sometimes, when I try to check one or more commits into TFS, I get a message like this:

Connecting to TFS...
Checking in to $/MyProject: 0%
git-tf: Could not lock $/MyProject

What does this mean? What's keeping me from locking? And how can I fix this?

0 投票
1 回答
220 浏览

linux - 在 TFS 中创建一个新的高级文件夹,无需使用 Team Explorer Everywhere 命令行 Linux 下载所有项目

我想将包含新项目的新文件夹添加到 TFS。我正在为 Linux 使用“ Team Explorer Everywhere 2013 ”​​。

文件夹结构如下

我想添加一个新文件夹,例如$Main\HighLevelFolder\ProjectX以最有效的方式。

我可以签出整个$Main\HighLevelFolder文件并在其中创建一个新的项目文件夹,然后重新签入。但是有很多项目。我宁愿在服务器上创建文件夹,然后只签出文件夹。

(我实际上是使用Git-TF对 TFS 服务器进行签出/签入。)

https://stackoverflow.com/a/641987/1336249给我一个提示:

但目前尚不清楚如何在 TEE 命令行下执行此操作。有任何想法吗?

0 投票
1 回答
399 浏览

xcode - MAC 命令 git-tf 未找到

大家好。 我搜索了很多,但没有什么真正的帮助。我正在使用 xcode 5 开发 IOS 应用程序,并通过 git 存储库使用 Team Foundation Server 2013。对于前 2 个项目,使用 git-tf 命令系列一切正常。但是在那之后它给了我 git-tf command not found ,突然停止工作有点奇怪。任何帮助将不胜感激

-bash:git-tf:找不到命令

0 投票
1 回答
253 浏览

git - 使用 git-tf 获取更改历史百分比的方法

我正在使用 git-tf 将我的项目从 tfs 迁移到 git。问题是它是一个具有 20k+ 提交的大型项目,并且在迁移 7-8 小时后套接字连接关闭,这给了我以下错误:

git-tf:com.ctc.wstx.exc.WstxIOException:读取超时

我想知道是否有一种方法可以迁移最近百分比的更改历史而不是完整的集合。例如 - 类似的东西

git-tf 克隆http://tfs2012.xxx:8080/TFS/DefaultCollection/ $/"xxx" --deep '30%'

它将仅获取最近提交的 30%。

0 投票
1 回答
730 浏览

visual-studio - 如何使用 git-tf 登录 Visual Studio Online?

我正在尝试git tf clone在 Visual Studio Online 上使用 TFVC 的项目,我正在运行以下命令:

然后它会要求输入用户名和密码,但是当我使用 Visual Studio Online 的登录凭据时,它不会登录。

如何从 git-tf 命令行登录 Visual Studio Online?

0 投票
1 回答
404 浏览

tfs - 使用 git tf 或 git tfs 恢复丢失的 tfs 变更集

长话短说,有一个 tfs 服务器宕机了。备份是一天前的(不在我的控制范围内)。

我们使用 git tfs 和 git tf 与服务器对话。当我执行 git tfs fetch 时,我收到一个错误,指出缺少变更集。

有没有办法将那些丢失的变更集从我的本地 git 推送到 tfs 服务器?

0 投票
2 回答
1129 浏览

git - 如何将 Team Foundation Server 2013 工作项迁移到新的 TFS Git 存储库?

我正忙于将 Team Foundation Server 2012 存储库迁移到在 TFS 2013 中运行的 Git 存储库。

我正在使用推荐的过程:

  1. 使用 git-tf 从 TFS 克隆一个 Git 存储库。
  2. 使用连接到 TFS 2013 服务器的 Visual Studio 2013 创建 Git 存储库。
  3. 将克隆的存储库复制到新创建的本地 git 存储库中(不包括 conf 文件)。
  4. 将更改提交并同步回 TFS 2013 Git 存储库。

此过程保持代码更改历史不变,但不会导入项目的工作项。

有没有更好的方法从 TFS 2012 迁移到 TFS GIT 2013 以保持 TFS 工作项完好无损?

0 投票
2 回答
1371 浏览

git - 使用 GIT-TF 导入 - 项目已经有待处理的更改

我有两个 TFS 实例,一个是 2012,另一个是 2013。我的目标是从 2012 实例导出一些源代码并将其导入 2013 实例,同时保留签入历史记录。

我采用的方法是;

  1. 从http://msysgit.github.io为 Windows 安装 GIT
  2. 从http://gittf.codeplex.com安装 git-tf
  3. 为我的 git 存储库创建一个本地文件夹 c:\git
  4. 在该文件夹中打开一个 GIT Bash 提示符(所以它是当前的)
  5. $ git tf clone http://old-tfs-host:8080/DefaultCollection $/myProject/myBranch --deep
  6. 删除 tf 文件夹和 git-tf 文件
  7. 复制到我的 USERMAP 文件中
  8. $ git tf configure --deep --keep-author --force http://new-tfs-host:8080/DefaultCollection $/myProject/myBranch
  9. $ git tf pull
  10. $ git commit -a -m "Initial import from TFS 2012"
  11. $ git tf checkin --deep

处理约 57% 后出现错误

git-tf:由于以下错误,未能挂起对 TFS 的更改。请修复错误并重试签入。项目 $/path-to-file 已经有待处理的更改。

问题- 如何解决文件的挂起更改?在我进行此签入时,存储库中没有其他人,所以看起来导出可能已损坏?

我已经在另外两个分支上使用了同样的方法并且已经成功了。


编辑我发现问题是文件被重命名,唯一的区别是大小写。所以在同样的变化中我有

  1. delete $/source-file
  2. edit $/project-file
  3. add $/Source-File

显然我正在重命名它们,但是第 1 行中删除的文件与第 3 行中的文件相同,唯一的区别是文件名大小写。

所以我尝试过$ git config --global core.ignorecase false,但这并不能解决在同一个更改中删除和添加同一个文件的问题。