Ability to peform merges/integrations
It would be useful to have the ability to perform branch merges/integrations. When performing a code change between several branches, having an easy way to do that from within the VSCode UI would help speed things up.
Definitely - it's high on my list of things to look into, but probably quite a lot of work! Need to look into whether we can hook into vscode's existing merge tools, or if we have to define our own.
I would love to contribute, but currently have too much on my plate to make time to familiarize myself with how the tool script is set up. Want to say I really appreciate @mjcrouch for taking the time to continue improving this extension.
@ynain, how do you keep your branches? As streams? Or just folders next to each other?
We use streams for our workflow @maciejmatczak
I sometimes think about starting this one, but I'm not really sure where to start on the UI, would like to understand some more use cases.
- our workflow is cherry picking submitted changelists and merging them through branches, but I'm not sure that's a common approach
- I don't have any real experience of streams other than messing around with them on my personal perforce server
Do you (or anyone) have an idea of what UI / workflow would be useful? Where would you initiate the actions from, and what options would you like to see?
In terms of resolving we can now at least initiate a resolve from a changelist on the scm view (even if it's just opening it on the command line) - so the main thing left is performing an actual integration
this is super tricky. You are basically rewriting a lot of p4v functionality here. I mean, ultimately, it's all p4 commands, but there are dialogs to support the merge/integration features, potential preview (probably a separate enhancement), and all of the potential conditions that go along with this. This is a pretty advanced feature in Perforce that can be done a bunch of different ways (not to mention streams). Not saying it can't be done, but I'm guessing it will require a lot of thouht.
yes - would be very difficult to recreate everything that p4v does - definitely not something that can be tackled all at once, would have to build something basic and iterate on it, but if there's something simple we can do to cover a lot of cases then that would still potentially be useful.
For example, for me, if there was an option on the changelist quick pick to integrate the changelist via a branch mapping, that would cover probably 95% of all the integrations I ever do - I do this virtually every day and it's extremely rare that I would even have to do a manual resolve - (though it probably wouldn't be any easier than the script I already have that does this... it would also have to run interchanges to find them for me and then automatically fill in the description to make it as useful as that)
For me, I would just like the ability to graphically resolve merge conflicts. Since VSCode already supports this for Git and as a SCM provider, much of these functionality should come automatically to vscode-perforce no?
I wonder how much work is needed to just get the merge part of the GUI working.