TFVC 和将分支转换为文件夹的后果
TFVC and consequences of converting branches to folders
设置:
我有一个带有 TFVC 源代码控制存储库的客户端。根目录是一个文件夹,而不是 b运行ch。分散在整个层次结构中的是 b运行ches,有时 2 层,有时 3 层深。为了使用 git-tfs 迁移存储库,我需要根目录为 b运行ch。但是,当我尝试将根文件夹转换为 b运行ch 时,出现此错误:
You cannot create a branch at $/myProject because a branch already exists at $/myProject/Releases/7.3/Metadata.
If $/myProject/Releases/7.3/Metadata is not a branch convert it back to a folder and retry the operation.
问题:
对我有什么影响吗"de-branching"那些b运行ches中的一些,把它们变成普通文件夹,这样我就可以把根设为a b运行ch然后使用git-tfs要迁移吗?我可能会丢失一些历史记录吗?我会冒着破坏源代码控制存储库或丢失任何数据的风险吗?我正在尝试非常小心地处理客户端的源代码,不要冒丢失任何数据的风险。
谢谢!
更新:
我认为我需要将根转换为 b运行ch 的理由:
* 当创建一个简单的测试存储库来尝试迁移时,运行 这个命令
git tfs list-remote-branches https://mysite.visualstudio.com/
我收到这条消息
"No TFS branches were found!"
在 this github 问题上,它说我应该切换到 b运行ch,然后我会看到它并且有效。所以我假设克隆不会工作,因为它没有出现在列表中。此外,对于类似结构的测试回购,当我 运行 git tfs list-remote-b运行ches 时,我得到:
TFS branches that could be cloned:
$/myproject1/Releases/7.1/Metadata [*]
$/myproject1/Releases/7.2/Metadata [*]
$/myproject1/Releases/7.3/Metadata [*]
$/myproject1/Trunk/Main [*]
Cloning root branches (marked by [*]) is recommended!
PS:if your branch is not listed here, perhaps you should convert its
containing folder into a branch in TFS: -> Open 'Source Control
Explorer' and for each folder corresponding to a branch, right click
on the folder and select 'Branching and Merging' > 'Convert to
branch'.
基于此,我认为我必须将其转换为 b运行ch。
我 运行 的下一个命令是
git-tfs clone https://mysite.visualstudio.com/ $/myproject1
我以为当根目录是一个文件夹时这给了我一个错误,但当我刚刚重新运行它时它只是给了我一个警告。文件夹结构类似于
folder/folder/branch
文件夹/folder/folder/branch/文件夹
等等
warning: you are going to clone the whole repository or too high in
the repository path ! => If you want to manage branches with
git-tfs, clone one of this branch instead :
- $/myproject1/Releases/7.1/Metadata
- $/myproject1/Releases/7.2/Metadata
所以看起来回复是正确的。您可以毫无问题地克隆根目录。谢谢!
不要将您的分支转换为文件夹。
以下命令告诉您要克隆什么?
git tfs list-remote-branches http://tfs:8080/tfs
编辑:git-tfs 能够克隆 TFVC 集合中的每个文件夹,但如果您想克隆带有分支的历史记录,则应将每个文件夹转换为一个分支。
设置:
我有一个带有 TFVC 源代码控制存储库的客户端。根目录是一个文件夹,而不是 b运行ch。分散在整个层次结构中的是 b运行ches,有时 2 层,有时 3 层深。为了使用 git-tfs 迁移存储库,我需要根目录为 b运行ch。但是,当我尝试将根文件夹转换为 b运行ch 时,出现此错误:
You cannot create a branch at $/myProject because a branch already exists at $/myProject/Releases/7.3/Metadata.
If $/myProject/Releases/7.3/Metadata is not a branch convert it back to a folder and retry the operation.
问题:
对我有什么影响吗"de-branching"那些b运行ches中的一些,把它们变成普通文件夹,这样我就可以把根设为a b运行ch然后使用git-tfs要迁移吗?我可能会丢失一些历史记录吗?我会冒着破坏源代码控制存储库或丢失任何数据的风险吗?我正在尝试非常小心地处理客户端的源代码,不要冒丢失任何数据的风险。
谢谢!
更新:
我认为我需要将根转换为 b运行ch 的理由: * 当创建一个简单的测试存储库来尝试迁移时,运行 这个命令
git tfs list-remote-branches https://mysite.visualstudio.com/
我收到这条消息
"No TFS branches were found!"
在 this github 问题上,它说我应该切换到 b运行ch,然后我会看到它并且有效。所以我假设克隆不会工作,因为它没有出现在列表中。此外,对于类似结构的测试回购,当我 运行 git tfs list-remote-b运行ches 时,我得到:
TFS branches that could be cloned:
$/myproject1/Releases/7.1/Metadata [*]
$/myproject1/Releases/7.2/Metadata [*]
$/myproject1/Releases/7.3/Metadata [*]
$/myproject1/Trunk/Main [*]
Cloning root branches (marked by [*]) is recommended!
PS:if your branch is not listed here, perhaps you should convert its containing folder into a branch in TFS: -> Open 'Source Control Explorer' and for each folder corresponding to a branch, right click on the folder and select 'Branching and Merging' > 'Convert to branch'.
基于此,我认为我必须将其转换为 b运行ch。 我 运行 的下一个命令是
git-tfs clone https://mysite.visualstudio.com/ $/myproject1
我以为当根目录是一个文件夹时这给了我一个错误,但当我刚刚重新运行它时它只是给了我一个警告。文件夹结构类似于 folder/folder/branch 文件夹/folder/folder/branch/文件夹 等等
warning: you are going to clone the whole repository or too high in the repository path ! => If you want to manage branches with git-tfs, clone one of this branch instead : - $/myproject1/Releases/7.1/Metadata - $/myproject1/Releases/7.2/Metadata
所以看起来回复是正确的。您可以毫无问题地克隆根目录。谢谢!
不要将您的分支转换为文件夹。
以下命令告诉您要克隆什么?
git tfs list-remote-branches http://tfs:8080/tfs
编辑:git-tfs 能够克隆 TFVC 集合中的每个文件夹,但如果您想克隆带有分支的历史记录,则应将每个文件夹转换为一个分支。