[Unison-hackers] temp file prefix/suffix
Benjamin Pierce
bcpierce at seas.upenn.edu
Sat Sep 6 14:37:11 EDT 2025
I'm fine with the current way, but also see no problem with this proposal.
- Benjamin
On Sat, Sep 6, 2025 at 10:19 AM Greg Troxel <gdt at lexort.com> wrote:
> [This might be a little off, in which case corrections welcome.]
>
> We have a long-open PR to make these configurable, and as y'all know I
> have a bias against configuration, believing that there's a cogntive
> burden and a maintenance burden.
>
>
> https://urldefense.com/v3/__https://github.com/bcpierce00/unison/pull/447__;!!IBzWLUs!WyXHnut9ekKJk_B27vvNSm2PJxIWr-swgA8bRAdLT4aK5RJPZL28x3Y4z5Fd2NC0BhNHUbmSrLigBmuGex50VUiu$
>
>
> Right now we have in src/os.ml:
>
> let tempFilePrefix = ".unison."
> let tempFileSuffixFixed = ".unison.tmp"
>
> with the idea that a file is unison tmpfile if both are present.
>
>
> As I see it the basic problems are:
>
> This is layered temp, in that editor temp files end in ~ (on unix),
> but you might want to sync those. This is about files that are
> extra-temporary, that unison can recognize as its own. So we really
> need something unison-specific.
>
> When using another sync at the same time, one might want to exclude
> unison temp files, but not exclude editor temp files.
>
> conventions vary across OSes
>
> people may be using remote filesystems. They might be running unison
> from multiple computers on the same remote data. They might be using
> other sync on the same data. There are lots of possibilities and it
> very quickly gets into "don't do that", in my view.
>
> and cultural background/bias
>
> pretty much every sync mechanism has configurable exclusion. unison,
> rsync, nextcloud all do. It seems dropbox is the one that does not.
> So this seems to be a dropbox problem, not a unison problem.
>
>
>
> My questions are:
>
> It might be better to have sborter annotations, as long as there is
> liitle risk of collisions. That could help in encrypted filesystems
> wiht shorter pathname requirements, etc. Does anyone think I'm off to
> prefer shorter, as long as it's long enough?
>
> On Unix, we have conventions of .foo for "hidden", meaning ls doesn't
> show them without -a. But there is no culture of not syncing such
> files by default. I'm going to say that hidden and .-prefixed are not
> really relevant here, except that it's perhaps nice to make these
> tmpfiles not so user-visible. So we choose a .-prefixed name, but
> it's for the nicety of ls usage, not functional. Correct thinking?
>
> On Unix, we have a convention of ~ as backup/tmp, sometimes excluded,
> sometimes not. So probably these tmp files should end in ~, so that
> a "don't sync *~" will catch them.
> - Does that make sense?
> - Does that work with dropbox?
>
> The ~ convention seems to apply on macOS, as it isn't that different.
> Correct?
>
> What's the situation on Windows? (I try hard not to use Windows at
> all, as a personal choice.)
>
> Is there anyone who wants to exclude editor backup files form sync,
> but does *not* want to exclude unison temp files? I am assuming there
> are no such people and this is something we can totally not support.
>
> and therefore
>
> What if we set prefix to ".Utmp." and suffice to ".U~", unconditionally?
>
> - Does that cause any harm to existing usage?
>
> - Does it enable excluding these more easily on dropbox? Does it
> result in automatic exclusion?
>
>
> Is there some equivalent convention to trailing ~ on Windows, and
> could we use it alternatively or simultaneously? I think I saw .~foo
> in discussion.
>
>
> And finally:
>
> Does anyone on the hackers list care about this issue at all? Does
> the silent majority think that there is no problem?
>
>
> Thanks,
> Greg
> _______________________________________________
> Unison-hackers mailing list
> Unison-hackers at LISTS.SEAS.UPENN.EDU
> https://LISTS.SEAS.UPENN.EDU/mailman/listinfo/unison-hackers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://LISTS.SEAS.UPENN.EDU/pipermail/unison-hackers/attachments/20250906/55a5650e/attachment.htm>
More information about the Unison-hackers
mailing list