【发布时间】:2017-12-12 22:56:05
【问题描述】:
我目前正在创建从一个版本控制系统到 TFS 的迁移工具,并且正在使用 Microsoft.TeamFoundation.Client 程序集并且遇到了问题。我可以模拟每个Changeset 的更改,但CreationDate 属性是由CheckIn 方法自动生成的,如下所示:
var changeSetId = workspace.CheckIn(pendingChanges, userName, comment, note, null, null);
然后我可以通过CheckIn 方法返回的ID 加载Changeset 对象:
var changeSet = workspace.VersionControlServer.GetChangeset(changeSetId);
我正在尝试在Changeset 中设置CreationDate(非只读),我可以通过以下代码做到这一点:
changeSet.CreationDate = legacyLog.Date;
changeSet.Update();
但是,在调用 Update 方法后,更改不会保存在服务器上,因为我试图在浏览器中验证日期,它仍然将今天的日期显示为 CreationDate(除非我误解了在哪里该日期显示/呈现)。之前有没有人尝试过将CreationDate 更改为Changeset,或者我是否将这一切都搞错了?
【问题讨论】:
-
我知道您可以在数据库中修改它们,但它不受支持并且可能会导致一些意外问题 - 在服务器丢失时间设置并进入未来后,我不得不修改 1 或 2 个变更集日期:)
-
日期更改后,日期在 TFS 的 Web 界面中是否正确显示?
-
不确定网络,但我认为在 VS 中它们是正确的