>> # keybinding
>> would be nice to provide default keybinding for smerge-swap: C-c ^ s
Interesting. I've never found a use for that command, personally.
Could you give some hint for the situations where you found it handy?
Example:
I keep my functions alphabetically ordered.
When I merge two changes which added function in same alphabetical place,
I often need to change their order.
same goes for if/else if sequence
>> # smerge-extend
>> Helpful when user intent to keep both.
Sorry: to keep both what?
Both = lower + upper.
Using above example:
when I intent to keep both functions, end of block (eg: C, Java, Perl, ...) will currently not appear twice,
should be manually added. Same for empty line separating functions.
On my current WIP such functions often shares more than one tailing line
>> (defun smerge-extend ()
>> "Copy the line directly following the conflict into both upper and lower sections.
Hmm... Why just one line and why only from the end?
One line - one can use it multiple times to add more.
And yes, you are right, it should accept numeric argument (negative for preceding line).
Though I still believe common use case will be to extend with following.
[ IOW, here as well, I'm curious what is the kind of scenario where you
use that command. ]
Scenario described above.
>> This is useful when both versions need to share some common code that follows the conflict."
Hmm... my conflicts have usually 3 sections, so "both" isn't right.
[ Unless you specifically chose 2-way conflicts, I recommend you
investigate how to get 3-way conflicts, because they give a lot more
information and allow for example `smerge-resolve` to "just work" in
more cases. YMMV, but personally whenever I'm faced with a 2-way
conflict, I'm frustrated. ]
Different experiences - I for example run mostly into 2-way conflicts
Stefan
Brano