- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这是关于TFS 2010的my previous question和创建变更日志的可能性之后的。
我以前使用标签来标识程序的版本,但是由于标签不是固定的时间点,因此现在使用分支。
分支层次结构如下所示:
如您所见,主干有两个不同的应用程序:APP_A
(应用程序A)和APP_B
(应用程序B)。两者几乎相同,但功能上有所不同。
这是创建应用程序新版本(例如1.3版)的过程:
Main trunk
(添加了新功能,修复了错误……)Main trunk
中,创建一个新分支:Main trunk 1.3
APP_A
分支可能会被修改,因此APP_A
的独特功能将与v1.3 APP_B
分支可能会被修改,因此APP_B
的独特功能将与v1.3 Main trunk 1.3
合并到APP_A
和APP_B
,因此APP_A
和APP_B
应用程序都收到Main trunk
的修改APP_A
分支中创建一个新分支:APP_A_1.3
APP_B
分支中创建一个新分支:APP_B_1.3
APP_A_1.3
和
APP_A_1.2
之间生成更改日志。
APP_A_1.3
的变更集链接的所有工作项的列表:这些变更集可能来自
Main trunk
(上面的步骤1),
APP_A branch
(上面的步骤3),甚至是
APP_A_1.3
分支本身(如果在创建分支后 checkin 了修补程序)。
APP_A_1.2
的所有变更集的列表(
“linked” =变更集中 checkin 的代码现在位于分支APP_A_1.2
上), “链接”到
APP_A_1.3
的所有变更集的列表。
APP_A_1.3
而不是“链接”到
APP_A_1.2
。从变更集的这个子集中,我将获得所有关联的WorkItem,从而获得我的变更日志。
APP_A_1.2
),输出将是以下变更集的列表:
APP_A_1.2
分支本身的
APP_A
之前,在
APP_A_1.2
分支上应用的
Main trunk 1.2
上的
APP_A
分支上应用的
Main trunk
之前,对
Main trunk 1.2
分支应用了
// Gets the list of all changesets ID from APP_A_1.2 branch
var branch1ChangeSets = myVersionControlServer.QueryHistory(
"$/PATH/APP_A_1.2/",
VersionSpec.Latest,
0,
RecursionType.Full,
null,
null,
null,
int.MaxValue,
false,
false).OfType<Changeset>().Select(z => z.ChangesetId).ToList();
RecursionType.Full
,上述代码
也只有返回
APP_A_1.2
分支本身已 checkin 的变更集。这与Visual Studio中“源代码资源管理器” View 上的“历史记录”命令相同。
// Gets the list of all changesets ID from APP_A_1.2 branch
var branch1MergedChangeSets = myVersionControlServer.QueryMerges(
null,
null,
"$/PATH/APP_A_1.2/",
VersionSpec.Latest,
null,
null,
RecursionType.Full).Select(z => z.SourceVersion).ToList();
APP_A_1.2
分支上 checkin 的变更集+在创建
APP_A
之前在
APP_A_1.2
分支上 checkin 的变更集。好多了,但还不够。我找不到一种方法来使递归工作在
APP_A
上方(在我的情况下为
Main trunk
)的分支中……
最佳答案
首先让我先问一个问题。在帖子的顶部,您写道:
“我的目标是能够在APP_A_1.3和APP_A_1.2之间生成更改日志。”
但是,当您撰写具体更改时,您正在寻找的列表:
应用于APP_A_1.2分支本身的变更集
创建APP_A_1.2之前在APP_A分支上应用的变更集
在已合并到APP_A之前在主干1.2分支上应用的变更集
创建主干1.2之前在主干分支上应用的变更集
这不是有效的列表,因为它将为您提供所有对APP_A_1.3,APP_A_1.2、1.1等做出的更改,直到存储库的开始。
我现在无法测试我的方法,但这是我会做的:
-QueryHistory直接将所有更改 checkin 分支1.3
-使用QueryMergesExtended跟随合并到此分支中。 QueryMergesExtended(http://msdn.microsoft.com/zh-cn/library/ff736485.aspx)是在TFS 2010中添加的,目的是要比QueryMerges和QueryMergesWithDetails更加高效和健壮,以支持分支可视化工具
-afaik,您不需要在QueryMergesExtended中指定选项FollowRenames,因为您在分支的根上查询合并
-从APP_A获取源更改列表时,您需要检查每个更改集以查看其中是否包含合并更改。如果是这样,则需要在app_a上查询这些变更集的合并。递归执行此操作,直到遍历整个分支层次结构。
在旁边的主题上,您可以稍后查看QueryMergeRelationships(http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.versioncontrolserver.querymergerelationships.aspx),它为您提供了tfs 2010中引入的分支对象列表(这是在Source Control Explorer中选择文件夹并单击Convert to branch时发生的情况)。但是,如果您可以用不需要的方式(对它们进行硬编码)发现分支,则不需要使用它。
希望这可以帮助!
关于c# - TFS2010 : Retrieve all changesets associated with a branch (full recursion),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9275760/
环境 TFS 2010。三个分支:主 , 发展 和 发布 . 题 我想轻松检索尚未完全合并到所有三个分支中的变更集列表。 例如 让我们说我有一个变更集,100,这是一个错误修正并直接 checkin
我已经使用以下属性配置了 Liquibase 和 spring-boot: Spring 启动 spring: liquibase: change-log: cla
我正在尝试用 C# 编写一个小的 Relase Notes 程序。我需要在指定日期之间获取属于指定项目的所有变更集和相关工作项。 我尝试使用 QueryHistory 方法,但找不到如何提供日期过滤器
我想编写一个应用程序来识别当前的变更集并标记它们。 我知道我们可以通过使用 hg identify 来获取变更集. 获得变更集后,有没有办法标记它? 谢谢 最佳答案 来自 documentation
我记得在 Eclipse 中,如果项目与 subversion 链接,并且您有变更集,则上下文菜单上有一个选项可以将变更集中的所有文件复制到本地系统中的文件夹。 当与 cvs 集成时,这个选项在 he
我想知道这些词是否彼此同义? 最佳答案 是的,它们是大多数用途的等效术语。 当您获得“变更集” 5100或“修订” 5100时,您正在讨论的是同一件事。从技术上讲,变更集是其中包含的更改(与大多数源代
我们有一个变更集,开发人员已在其中 checkin 了对源分支和目标分支的更改,许多更改包括两个分支中的重命名。从源分支到目标分支的变更集合并正常,但变更集仍保留在要合并的变更集列表中。 当我现在尝试
在 Bitbucket 存储库的 Recent Activity 列下,有以下条目: 这是什么意思? 最佳答案 Changeset stripped from 是 Bitbucket 的用语 thi
我是新来的 phoenix framework ,假设我有一个模型,如跟随变更集 schema "users" do field :name, :string field :email, :str
我有一个 Jenkins 管道工作,它检查三个存储库。 当构建失败时,根据失败的位置,我想向导致最后一次提交/更改的开发人员发送电子邮件。 我可以用这个检索作者的全名: def changeSet =
目前,对于需要部署的任何脚本/存储过程/函数,我们的 DBA 都需要 TFS 变更集编号。我在我们的 TFS 项目中有一个文件夹,其中包含我的所有存储过程,我想运行一个查询来列出该文件夹中的每个对象和
我在 TFS 中使用标签来跟踪我的交付。 Build 服务也会给每个 build 打上标签,这还好 然而,在标签窗口(历史/标签)中,名为“ChangeSet”的列有一个奇怪的内容,总是显示相同的数字
我创建了 ecto 的分支要扩展的存储库Ecto.Changeset能够向变更集添加警告的模块。我想要一个 add_warnings/4将警告添加到变更集中的函数,作为具有此结构的简单警告列表 war
我正在复制 Arc.Ecto changeset 示例 https://github.com/stavro/arc_ecto我不确定类型规范,我正在尝试使用这些但似乎不适用于透析器,它在 |> cas
我正在研究在企业环境中使用 Mercurial。该计划是使用由网络服务器 (IIS) 托管的中央存储库,一旦开发人员在本地或团队内部测试了更改,他们就会推送到该存储库。 我已将 IIS 配置为针对 A
我有一张 table applications带外键 user_id那是一个 Postgres uuid .我在我的 web.ex : @primary_key {:id, :binary_id,
我们有一个列表页面,我们可以使用 启用或禁用事物™该事物™通过 IsActive 标志进行切换 public class Thing { /* ... */ [Reactive] p
作为repository of hg itself ,一些变更集标有'stable'。我想知道如何将 'stable' 标记添加到变更集中。我用谷歌搜索过,但没有帮助。我尝试了 'hg help ta
我想知道如何在 Team Foundation Server 中查看给定项目的整个变更集历史记录。 这就是我想看到的-从变更集 1 开始一直到当前变更集: 显示更改编号、用户名、提交日期、说明、更改的
如果我使用 hg grep 我会得到一个文件名和一个修订号。如何将这些信息位转换为可以在其他命令中使用的变更集标识符? 最佳答案 你可以使用hg id或hg log: $ hg id -r 100 5
我是一名优秀的程序员,十分优秀!