Can you reverse a change set that included a file property change?
![]()
Here's the scenario:
I changed the Line Delimiter properties of about 1000 files from a mix of values (i.e. Platform, etc..) to be all "None", checked it in and delivered it to my stream. Shortly after, I realized I should not have done that. Now I want to reverse that change set. When I do so it creates a patch in my work space, it allows me to merge (i.e. Auto Resolve) those changes to my work space but when I do so the patch disappears and none of the files show as unresolved. If I check the line delimiters for a sample of those files they are still set to "None".
I tried this scenario again with just one file and I'm unable to reverse a change set that includes a file property change, in this case changing the line delimiter value.
Is this a bug? Am I missing something?
|
Accepted answer
![]()
Geoffrey Clemm (30.1k●3●30●35)
| answered Jan 19 '15, 12:46 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I did some experimenting, and my conclusion is that it is a bug.
I have created a defect for it: Applying a patch with a line-ending property change does not work (342829) In particular, the defect appears to not be in the creation of the patch (the patch appears to contain the right information), but rather the application of the patch. Stephane Couillaud selected this answer as the correct answer
Comments Thanks Geoff glad to see I'm not crazy. :)
Because I could not reverse the change, I tried creating a new change set to modify the jazz.line-delimiter property manually from Eclipse. Turns out I cannot modify the properties for those files I included in my original change set (the one I was trying to reverse). I also tried from the command line and I get the same result. It lets me modify the property, which results in an unresolved change. It then lets me check it in and deliver. But when I check the properties of a file, nothing has changed. There is definitely a bug and I'm at a loss on how to get those properties reinstated to their original state.
|
One other answer
![]()
Could you discard your change set?
Comments Yes I can discard the change set from my repository workspace. It now shows as an incoming change set as we would expect. If I check the line delimiter property of a file it is set correctly. Question is, how do I propagate that back to the stream? ![]() FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
You can use the "replace" operation to replace the configuration in the stream with the configuration of your workspace. Do a quick check to see if there are any incoming changes on the stream from other developers, and accept those first, before doing the replace. Also, if there is a chance that another developer has already accepted that bad change set into their workspace, send out a notice to the team telling them to discard that change set from their workspace. Something that helps is to change the Summary of that change-set to something like "DO-NOT-DELIVER-THIS", so folks get reminded that this is a bad change-set.
1
Get your workspace into a state that you're comfortable with (it sounds like you're already in that state), then select the component in the Pending Changes view, and run 'Replace in <name-of-your-stream>'. That copies the state of the component in your workspace to the stream. 1
Evan your suggestion to use 'Replace in <name-of-your-stream>' did the trick. I was able to get my stream back to its original state. |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.
Comments
Not sure, however, it might be a good idea to create a baseline/snapshot next time before you do mass changes. That would allow to go back to the version before easier than reversing the change sets.