Soho Posted November 28, 2011 Report Share Posted November 28, 2011 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 More sharing options...
manu Posted November 29, 2011 Report Share Posted November 29, 2011 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 More sharing options...
Soho Posted November 29, 2011 Author Report Share Posted November 29, 2011 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 More sharing options...
psantosl Posted December 3, 2011 Report Share Posted December 3, 2011 I'm taking not of this to add it as a command. Can you describe a sample scenario with actual (sample) data and expected results? Link to comment Share on other sites More sharing options...
Soho Posted December 6, 2011 Author Report Share Posted December 6, 2011 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 More sharing options...
diegohb Posted April 6, 2014 Report Share Posted April 6, 2014 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 More sharing options...
calbzam Posted May 9, 2014 Report Share Posted May 9, 2014 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.