Jump to content

Listing all check in comments between labels


Soho

Recommended Posts

Is it possible to list all check in comments between two labels for all contributing branches?

It would be really nice to automatically extract a list of changes this way.

Also related: In TeamCity the Plastic plugin only lists changes made on the build branch. It would be nice if it listed changes made in any contributing changesets regardless of branch.

If you follow a branch-per-task workflow, the check in comments you make in those branches are lost when you integrate the branches. Only the merge comment will appear as a change.

Sometimes this may be what you want, but it would be nice to have an option to include all comments made in any contributing revisions since last build.

Link to comment
Share on other sites

Hi Soho,

maybe you can use the advance query system, "cm q".

For example, you can use the following query in order to get all the comments of all the changesets between a date.

cm q "select o.SCOMMENT from changeset c, object o where c.iobjid=o.iobjid and o.DTIMESTAMP>='11/16/2011 20:00' AND  o.DTIMESTAMP<='11/30/2011 20:00'"

Which comments do you want to see? Can you give me an example?

Link to comment
Share on other sites

I would be nice to have a list of change comments between to builds, but only comments for changes contributing to the build.

So for a given labeled workspace (the build server auto-labels), I would like a list of comments for all changesets contributing revisions for this label, but excluding changesets in the previous auto-label.

So a list of comments extracted from a changeset diff between labels would be nice.

That way we could create a detailed change report for each build along with the change log from the issue tracker.

If this involves some scripting, it's fine, but the question is if there is a relatively easy way to get all contributing changes for a label?

If this is possible, it should be trvial to subtract changessets from a different label and extract the comments.

Link to comment
Share on other sites

Well, basically I want a list of all changesets were new item revisions have base path that can be traced back to a given label.

Lets say I have a main branch /main and a label "build-123" attached to all revisons at a given point on that branch.

A new build cycle starts and developers start creating task-branches rooting in build-123, or a later changeset on /main. Some may also create subbranches. Say /main/scm1001, /main/scm1002, /main/scm/1001/fix

Some other developers may in the meantime work on a branch /main/scm999 from an earlier build (say build-120).

Some other developers may in on yet another branch /main/scm888 from another earlier build (say build-121).

Later a build master merges all task-branches into main and starts a build, which will be labeled build-124. Lets say /main/1001 is being merged and /main/scm999, but not /main/scm888 or /main/scm1002

It would be a nice report to have a list of all contributing changesets (and their comments). Here I would expect:

All changesets in /main/scm999 and /main/scm1001 and if /main/1001/fix was merged back into /main/scm1001, then I would also expect those changesets.

If /main/scm999 was merged into main before build-123, but continued and remerged into main before build-124, I would expect all changesets in /main/scm999 not contributing to build-123. I know this can be complicated, if a partial merge or cherry pick was performed. This could be solved with a more simple definition:

For a given label A, I define revision changes for an item as the revision history with a path leading to A, but excluding any revisions with a path leading to label B.

I then want a list of all changesets that include the revision changes defined above..

Link to comment
Share on other sites

  • 2 years later...

Was there a resolution to this? I'd like to do the same thing but instead of putting the compiled list of comments into the merge changeset commit - i want to post them to our issue tracking system as a single comment upon merge. 

 

What is the maximum comment size allowed in plastic for one particular changeset?

Link to comment
Share on other sites

  • 1 month later...

Hi,

 

It would be difficult to get this information in a single command, but we could use a script. For instance, if you want to get the integrated branches in a specific changeset range:

 

1. Get all the branches that match this filter:

cm find branch where name like '%Task%' --format={name} --nototal

 

2. From the result of the previous command, run this command to get the integrated branches into main. You will get the branch name and source changeset.

cm find merge where srcbranch='TaskXXX' and dstbranch='main' --format="{srcbranch}#{srcchangeset}"

 

3. Finally parse the previous result to get the branches that match the desired changeset range.

 

We have a "cm find" guide, where you can find more examples:  http://plasticscm.com/documentation/cmfind/plastic-scm-version-control-query-system-guide.shtml

 

- Regarding the maximum comment size, I think it´s limited to 1000 characters.

 

Regards,

Carlos

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...