我一直在这里阅读类似的问题,但我找不到我想要的东西。我希望你们都能帮助我更好地理解这一点。
在我工作的地方,我一直在尝试采用我们的“大型”团队项目并将其分解为更易于管理的团队项目,以便我们只能构建我们需要的东西。我做了一个概念证明,它很有效。基本上我将一个解决方案(sln)作为团队项目(以及随之而来的所有项目)进行隔离,然后我有另一个团队项目,即公共文件(来自外部的dll或其他sln项目)。这是我研究无基础合并之后的最佳结果(这很有趣,最终没有按预期工作)。无论如何,没有毫无根据的合并......
更新/编辑...大型故障:
$(MegaTeamProj)
$(MegaTeamProj)\Common\
$(MegaTeamProj)\SolutionA\
$(MegaTeamProj)\SolutionA\Aproject
$(MegaTeamProj)\SolutionA\Bproject
$(MegaTeamProj)\SolutionA\thesol.sln
$(MegaTeamProj)\SolutionB\
$(MegaTeamProj)\SolutionB\Aproject
$(MegaTeamProj)\SolutionB\Bproject
$(MegaTeamProj)\SolutionB\thesol.sln
试图将其分解为:
$(Common)
$(SolutionA)\Aproject
$(SolutionA)\Bproject
$(SolutionA)\thesol.sln
and
$(SolutionB)\Aproject
$(SolutionB)\Bproject
$(SolutionB)\thesol.sln
我现在正在努力创建一个新的团队项目,该项目保留了该解决方案的所有签入历史记录。如果我使用svn,我可以克隆存储库文件夹并删除我不需要的东西并提交(例如我用TFS思考的策略)。无论如何,另一个关键点是有第三方实际维护我们的TFS东西(技术术语:))。所以我通过团队资源管理器创建新项目(包含报告)等管理员能力......
我确实尝试移动文件夹/文件(通过源代码管理资源管理器中的UI),并且历史记录并未跟随新团队项目。显然,如果我在同一个项目中移动文件夹或文件,历史记录会迁移。
你们怎么都接近这个?
谢谢, 凯利
答案 0 :(得分:1)
@Betty在讨论一些问题时提供了极好的帮助,我希望我能就如何迁移和保存历史问题提供答案。我尝试过在项目之间进行分支和移动而没有成功。它很容易理解BTW。每个团队项目都有自己的sql db,在我们的例子中,历史记录是基于团队项目而不是解决方案A,B等...这也使得尝试其他解决方案变得困难,因为我们有第三方为我们提供源代码控制服务(TFS和构建代理)。
在我们的案例中(我工作的地方),我的导演可以将文件复制到新的团队项目中。在我们完成发布后,我复制了该项目。在这种情况下,我们目前的结构仍然存在。我们刚刚告诉我们小组继续参与新团队项目。
这样做我们有以下内容:
$(MegaTeamProj)
$(MegaTeamProj)\Common\
$(MegaTeamProj)\SolutionA\
$(MegaTeamProj)\SolutionA\Aproject
$(MegaTeamProj)\SolutionA\Bproject
$(MegaTeamProj)\SolutionA\thesol.sln
$(MegaTeamProj)\SolutionB\
$(MegaTeamProj)\SolutionB\Aproject
$(MegaTeamProj)\SolutionB\Bproject
$(MegaTeamProj)\SolutionB\thesol.sln
我们也有新创建的项目:
$(Common)
$(SolutionA)\Aproject
$(SolutionA)\Bproject
$(SolutionA)\thesol.sln
$(SolutionB)\Aproject
$(SolutionB)\Bproject
$(SolutionB)\thesol.sln
所以现在员工可以通过MegaTeamProj继续看到旧的变化,并在相应的团队项目中做新的开发。
我确实希望微软有关如何在未来使这更容易的事情,我想在这和SVN之间,它让我想要选择它VS. TFS。
答案 1 :(得分:0)
嗨我不知道我是否理解正确但
如果您尝试拆分收藏,我遇到了this
如果您尝试将TFS集合迁移到新服务器,可以尝试使用分离/附加方法(Move a Team Project Collection)
如果你的问题是#2,那么所有的登记历史记录都会被包含在内。