一个博客州
标签虽然有一个很大的警告 - 标签本身不受版本控制,这意味着无法跟踪或审核标签上的活动历史记录.另外,如果文件被删除,标签不会保留版本的副本,因此如果文件被删除,任何依赖于该文件版本的标签基本上都是软件.
这不是我读过有关TFS标签的类似信息的唯一地方.缺乏历史已经足够清楚了.第二部分"标签不保留版本的副本......"尚不清楚.事实上,我创建了一个测试项目>标记它>删除了一个文件>执行了一个Get by Label并且该文件又回来了.那指的是什么?截至最近,TFS中的标签功能是否已更改?
我意识到文件删除实际上并没有删除历史记录,原因是什么?换句话说,如果我跑
tf销毁"$/MyTeamProject/Project/FileName.cs"
这是删除文件的意义吗?如果是这样,这似乎是一个特殊的情况甚至考虑.我的意思是,它是故意不可恢复的历史删除.在这种情况下,变更集对标签不会有任何改进.
当我们应用标签时,我们是在某个时间点对源代码管理的版本进行操作。直观上,因为我们最初创建了某个时间点的源代码控制快照,所以我们可以假设该快照代表某个时间点的源代码。
\n\n这是不正确的。标签创建后可以编辑。
\n\n从概念上讲,标签定义了产品和产品\xe2\x80\x99 的错误修复(来源)。一个现实世界的例子可能会有所帮助。让\xe2\x80\x99s 说我们有一个名为AlphaBoogerBear 的产品。AlphaBoogerBear 是一个产品,而不是一个版本(想想预发布的 Windows 名称)。AlphaBoogerBear可以做成一个Label,AlphaBoogerBearLabel。我们发布了 AlphaBoogerBear。有一些错误。我们修复它们。
\n\n现在,我们返回并编辑 AlphaBoogerBearLabel 以包含错误修复。标签不再代表某个时间点的快照。相反,它代表了 AlphaBoogerBear 最稳定的版本。
\n\n最后,我们转向 BetaBoogerBear。我们可以选择返回并获取代表旧产品最佳版本的标签。
\n\n在我看来,如果需要源代码控制版本的快照,最好进行分支。如果需要代表产品版本的可编辑快照,那么标签很有用。尽管如此,信任和便利之间似乎很难取得平衡。
\n\n至于作者的意图,我实在不敢肯定。他的意思可能是说可以从标签中删除项目,因此当您通过标签获取时该项目将会消失。不过,该项目仍然存储在 TFS 历史记录中,因此虽然情况令人困惑,但并非全部丢失。
\n| 归档时间: |
|
| 查看次数: |
3146 次 |
| 最近记录: |