Quite often it happens that some things were developed in a feature branch where I want to split off some of them into another branch that I can submit for a PR, while maintaining the rest in the feature branch for further development as they're not ready. In general, they cannot be separated by commits so I cannot cherry pick.
Say I branch off master and want to put some things into this new branch from my feature branch. I do "Diff Against Current" to see my changes, and then want to select from them (not individual commits, but the overall changes I see in this diff view). How then can I select individual changes to copy from the new branch? The "Reverse hunk" choices in the right pane when a file is selected don't work because the action happens in the opposite direction regardless of which is the selected branch. I can't even generally open from the UI the corresponding file from either branch to copy-paste manually from one to the other, because a lot of the time "Open Current Version" and "Open Selected Version" open the same version (what's up with that??)
I've seen this article, http://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another-branch/ but I don't see how I can do this visually within Sourcetree (how would I add a custom action for this?), and moreover, it limits me to doing whole files. How would I make it so I can visually merge between the file from two branches starting with Sourcetree and say using an external merge tool?