Enable re-merging
A feature to enable the user to edit/re-merge a pending merge is something that would improve flexibility and greatly assist new users to the system.
If you accidentally do something wrong in the merge, or change your mind and want to do something differently, it would be great to "redo" either file or the entire merge, and let you change e.g. from workspace to source contributor, or go over a merge of some code without having to undo. Now, after you've done a merge you reach a point of no return.
-
Johan commented
Hi Pablo
Yes, you understood correctly. My scenario is after the merge has been completed already.
Restarting merge for one file would be useful, but it might be even more useful to be able to selected the pending merge link in the pending changes view, and select "redo this merge"Yes, that is a tricky case, and I'm sure there are even more that neither you nor me have thought of. Support for this sort of thing would of course come with a bunch of limitations, unless you figure out some super smart way to do it. But isn't it the case that the resulting merge has knowledge of the workspace content contra the source changes from the server? I believe when selecting to restart a merge, I would expect it to let me merge my local changes with the changes from the server, regardless of how I've merged it previously.
But yes, tihs would require some thought indeed
-
Adminpsantosl (Admin, plasticscm) commented
Hi again Johan,
There are a few special cases to handle:
* What if the file was changed on the workspace prior to the merge you want to redo? (Whether manually modified or as a result of a previous merge?). Should we go back to the previous content? It is far from trivial in most cases.
-
Adminpsantosl (Admin, plasticscm) commented
Hi Johan,
Yes, understood. Just to make it crystal clear:
* You ALREADY merged a file.
* But you need an option in Pending Changes that says "restart merge for this file" -
Johan commented
Well, not really.
What you describe works as long as I realize I've done a mistake while undergoing the merge.But what if I've gone through the pending merge, saved it, and want to restart is afterwards. I want to say "undo the merge (restore the previous state) and merge again, from the beginning".
I can't just undo and merge again, since I then undo all my changes as well and they are lost (correct?). I can't just shelve, undo, restore the shelve and then merge again, since the shelve will contain the results of the merge, which are the ones I might want to redo.
Is that clearer? I understand this is a quite specific situation, but I believe it'll help new users quite a bit
-
Hi Johan,
Thanks for the suggestion.
A couple of questions though:
* You miss a "restart merge" inside our built-in merge tool, correct? Something like a button saying "restart" would be what you're looking for, right?
** Right now you can save without saving, then the merge will still be pending so you can restart it.* To restart an entire merge, what you have to do is undo all changes and merge again. I understand a "restart" would be good but it means it will undo changes... so we think it is better if the user actively does it, instead of just a "restart" which could be misleading.