On Mon, 2 Dec 2024 at 00:51, Stefan Monnier wrote: > >> # 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