Tfs 是否应为变更集迁移用户名和时间戳?

Tfs 是否应为变更集迁移用户名和时间戳?,tfs,azure-devops,opshub,tfvc,Tfs,Azure Devops,Opshub,Tfvc,上的以下文本表示用户名和时间戳将嵌入迁移的变更集的注释中 在迁移更改集期间,有关源更改集的元数据信息(如原始用户名、原始签入时间戳)嵌入到更改集注释中。 为什么我看不到变更集评论中嵌入的元数据?该功能已于去年11月移至商业版,我怀疑他们需要更新visual studio gallery上的描述以反映该变更 我有一批代码,您可以在源服务器上运行,以便在迁移之前将数据复制到变更集注释中: using System; using System.Collections.Generic; using S

上的以下文本表示用户名和时间戳将嵌入迁移的变更集的注释中

在迁移更改集期间,有关源更改集的元数据信息(如原始用户名、原始签入时间戳)嵌入到更改集注释中。


为什么我看不到变更集评论中嵌入的元数据?

该功能已于去年11月移至商业版,我怀疑他们需要更新visual studio gallery上的描述以反映该变更

我有一批代码,您可以在源服务器上运行,以便在迁移之前将数据复制到变更集注释中:

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;

namespace TfsChangesetCommentEnricher
{
    class Program
    {
        static void Main(string[] args)
        {
            var collection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(
                new Uri("http://jessehouwing:8080/tfs/defaultcollection"));

            var vcs = collection.GetService<VersionControlServer>();

            var changes = vcs.QueryHistory(new ItemSpec("$/", RecursionType.Full));

            foreach (var change in changes)
            {
                if (!change.Comment?.Contains("\r\n\r\n-- \r\nOriginally checked-in") ?? true)
                {
                    change.Comment = string.Format(
                        CultureInfo.InvariantCulture,
@"{0}

-- 
Originally checked-in
* by: {1} ({2})
* on: {3:u}
* in: {5}
* id: {4}",
                        change.Comment,
                        change.Committer,
                        change.CommitterDisplayName,
                        change.CreationDate,
                        change.ChangesetId,
                        change.VersionControlServer.TeamProjectCollection.Uri);

                        change.Update();
                }
            }
        }
    }
}
使用系统;
使用System.Collections.Generic;
利用制度全球化;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用Microsoft.TeamFoundation.Client;
使用Microsoft.TeamFoundation.VersionControl.Client;
名称空间TfsChangesetCommentEnricher
{
班级计划
{
静态void Main(字符串[]参数)
{
var collection=tfstreamprojectcollectionfactory.GetTeamProjectCollection(
新Uri(“http://jessehouwing:8080/tfs/defaultcollection"));
var vcs=collection.GetService();
var changes=vcs.QueryHistory(新的ItemSpec(“$/”,RecursionType.Full));
foreach(变化中的var变化)
{
如果(!change.Comment?.Contains(“\r\n\r\n--\r\n原始签入”)??true)
{
change.Comment=string.Format(
CultureInfo.InvariantCulture,
@"{0}
-- 
最初登记入住
*收件人:{1}({2})
*关于:{3:u}
*在:{5}
*id:{4}“,
改变,评论,
更改提交人,
change.CommitterDisplayName,
改变,
change.ChangesetId,
change.VersionControlServer.TeamProjectCollection.Uri);
change.Update();
}
}
}
}
}
这将更新源服务器的变更集,并在迁移之前嵌入信息。这样,数据就可以成功地通过。我拒绝为每个团队项目为此功能支付1500美元

另见

新特征矩阵如下所示:


非常感谢你的邀请,杰西!