<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I did try applying the patch, but I had trouble getting it to work.  (This is not a big surprise: it was the first time I’d tried patching with git.)<div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class="">git am --signoff < temp1.patch</div><div class=""><br class=""></div><div class="">Applying: Test fix for confusing 'stop reconciling' UI bug</div><div class="">error: patch failed: src/uitext.ml:607</div><div class="">error: src/uitext.ml: patch does not apply</div></div></blockquote><div class=""><br class=""></div>Unless there’s something obvious I’m doing wrong, a PR (or two, since your other fixes also seem useful) would probably be smoother.<br class=""><div class=""><div class=""><br class=""></div><div class="">    - B<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jan 31, 2020, at 11:31 PM, <a href="mailto:frederik@ofb.net" class="">frederik@ofb.net</a> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Thank you Benjamin. I'm not sure why a PR would make it easier, is<br class="">that like a digital signature or something? There are presumably<br class="">comments and other things that you would want to clean up by hand. I<br class="">can do it, but I'm guessing you want only the first patch.<br class=""><br class="">The comment in the second patch describes it as a "work in progress".<br class="">It tries to fix some behavior that was added recently with all the<br class="">"matching" predicates, in particular "%", but other commands need to<br class="">be changed to make them consistent. The current behavior is confusing<br class="">to me because the predicates don't apply to the current file, only the<br class="">ones after. So if you want to do something for every file, you have to<br class="">treat the first one differently from 2..n:<br class=""><br class="">    $ unison a <a href="ssh://thutmose/a" class="">ssh://thutmose/a</a><br class="">    Unison 2.51.2 (ocaml 4.08.1): Contacting server...<br class="">    Connected [//ptolemy//home/frederik/a -> //thutmose//home/frederik/a]<br class="">    Looking for changes<br class="">      Waiting for changes from server<br class="">    Reconciling changes<br class=""><br class="">    local          thutmose<br class="">    new file ---->            baz  [f] L   # list all changes<br class="">      new file ---->            baz<br class="">      new file ---->            foo<br class="">    new file ---->            baz  [f] 1   # match all changes propagating -><br class="">      Enabling matching condition<br class="">    new file ---->            baz  [f] /   # skip matching files<br class="">    new file ---->            baz  [f] L   # foo is skipped, but not baz<br class="">      new file ---->            baz<br class=""><br class="">I just verified that I can apparently fix this by changing "rest" to<br class="">"ril" in "actOnMatching", but you might want to check with whoever<br class="">wrote that code (G.raud?) to make sure this is the right thing to do.<br class="">The new patch is number 3 here<br class=""><a href="https://github.com/navarum/tweaks/tree/master/unison/patches" class="">https://github.com/navarum/tweaks/tree/master/unison/patches</a><br class=""><br class="">Thanks,<br class=""><br class="">Frederick<br class=""><br class="">On Fri, Jan 31, 2020 at 08:44:30PM -0500, Benjamin C. Pierce wrote:<br class=""><blockquote type="cite" class="">This does look like an improvement.  Would you mind packaging it as a pull request?<br class=""><br class="">Thank you!<br class=""><br class="">   - Benjamin<br class=""><br class=""><blockquote type="cite" class="">On Jan 29, 2020, at 8:22 PM, frederik@ofb.net wrote:<br class=""><br class="">I'm not sure if my emails are getting through here, but I created some patches to attempt to correct the UI behavior which I found confusing. I thought maybe I should share them in case they are useful:<br class=""><br class="">https://github.com/navarum/tweaks/tree/master/unison/patches<br class=""><br class="">The same repo contains a build script which I use to deploy Unison across different platforms. It builds a fixed version of Unison against a fixed version of OCaml. This makes it easier for me to run Unison between (say) Raspbian and Arch. Comments welcome.<br class=""><br class="">Best wishes,<br class=""><br class="">Frederick<br class=""><br class="">On Mon, Dec 16, 2019 at 02:15:34PM -0800, frederik@ofb.net wrote:<br class=""><blockquote type="cite" class="">Dear Unison hackers,<br class=""><br class="">I think I've mentioned this before, but often when using Unison I want to take a break from answering questions and just reconcile the changes that I've selected. For example in the following interaction<br class=""><br class="">  new file <==== new file   R/Makeconf  [f] <<br class="">  new file <-?-> new file   asound.conf  [] s<br class=""><br class="">  Proceed with propagating updates? [] y<br class=""><br class="">I selected that R/Makeconf should be propagated in one direction. Then I perused the increasingly longer list of commands and found one that looks appropriate:<br class=""><br class="">  s                     stop reconciling and go to the proceed menu<br class=""><br class="">I'm not sure what the "proceed menu" is, but since I selected only one update I'm pretty sure that only one thing is going to happen when I "stop reconciling" and allow Unison to "proceed". However, when I hit "s" and "y" then Unison proceeds to copy a whole bunch of stuff that I didn't ask for, and I have to Ctrl-C, which doesn't even do anything, so then I have to Ctrl-Z Ctrl-C, but meanwhile a lot of files have been copied, generally making a mess that I have to spend time cleaning up. Here's a fuller summary: http://ix.io/24Dn<br class=""><br class="">By contrast, if I hit "/" at every prompt, to skip to the next item, then nothing is propagated.<br class=""><br class="">My questions: Is my use case somehow unusual? Where did I go wrong? Or is it OK for all users to have an experience like this when learning how to use your program?<br class=""><br class="">And what exactly does 's' do, and why doesn't it have a more accurate description in the UI?<br class=""><br class="">Thanks,<br class=""><br class="">Frederick<br class=""><br class=""></blockquote>_______________________________________________<br class="">Unison-hackers mailing list<br class="">Unison-hackers@LISTS.SEAS.UPENN.EDU<br class="">https://LISTS.SEAS.UPENN.EDU/mailman/listinfo/unison-hackers<br class=""></blockquote><br class="">_______________________________________________<br class="">Unison-hackers mailing list<br class="">Unison-hackers@LISTS.SEAS.UPENN.EDU<br class="">https://LISTS.SEAS.UPENN.EDU/mailman/listinfo/unison-hackers<br class=""><br class=""></blockquote>_______________________________________________<br class="">Unison-hackers mailing list<br class="">Unison-hackers@LISTS.SEAS.UPENN.EDU<br class="">https://LISTS.SEAS.UPENN.EDU/mailman/listinfo/unison-hackers<br class=""></div></div></blockquote></div><br class=""></div></div></body></html>