Re: Hardlink support feasible?

Greg Troxel <[email protected]> Mon, 19 Jan 2026 13:43:45 -0500
Newsgroups gmane.network.unison.general
Message-ID <[email protected]>
Alan Savage <[email protected]> writes:

> What I do now is `rsync -H` between the two machines and when I need
> something deleted or moved, I run the command on both machines. I was
> hoping Unison would sync changes to the other side for me automatically.
> Since the files are never modified except to be reorganized or removed and
> there's no real concurrent access, I think my case is considerably
> simplified.
>
> Doing the full implementation is probably more than I can bite off right
> now.

If you'd like to try to write the behavior specification, that would
still be interesting by itself.

It would be possible to say that when an action is chosen for one member
of a hardlink set, it's applied to all, but I'm not at all sure we want
to cross that bridge.  It's even harder to think about if the hardlink
state is inconsistent, and how the user chooses to get consistent.


Overall this seems more difficult than the human effort that is likely
willing to be applied.  I don't want to ask you to do something you will
not end up feeling was worthwhile, so it seemed fairer to express that
thought.

You might want to first make a program, not part of unison, that goes
over a directory tree and turns a set of files that are the same (and
not zero-length) into hardlinks.

A more limited change to unison might be "if both sides are hardlink
sets and are the same, call that a match", or slide the previous archive
state into the hardlinked state, if it doesn't already.  That might get
a lot of the practical benefit and might provide some insight.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].