This is another area under active development right now. I will expand this as I add remote siblings.

what's the problem?

It is a common problem, in communal tagging, for ambiguity to arise when different tags with the same meaning are applied non-uniformly.

A great example is in Japanese names, which are natively written surname first. character:ayanami rei and character:rei ayanami have the same meaning, but different users will use one, or the other, or even both.

Other examples are tiny syntactic changes, common misspellings, and unique acronyms:

A particular repository may have a preferred standard, but it is not easy to guarantee that all the users will know exactly which tag to use or search for.

After some time, you get this:

Without continual intervention by janitors or other experienced users to make sure y⊇x (i.e. making the yellow circle entirely overlap the blue by manually giving y to everything with x), searches can only return x (blue circle) or y (yellow circle) or x∩y (the lens-shaped overlap). What we really want is x∪y (both circles).

So, how do we fix this problem?

tag siblings

Let's define a relationship, A->B, that means that any time we would normally see or use tag A or tag B, we will instead get the union of tag A and tag B, and this union will be labelled as tag B. In short, we fold A into B, unioning the two tag spaces.

Note that this relationship implies that B is in some way 'better' than A. For instance, I might say that I prefer character:ayanami rei, as I think Japanese characters should probably get their names in the Japanese fashion. So, I would say character:rei ayanami->character:ayanami rei. This means that whenever I might see or type the Western arrangement of Rei's name, I'll automatically get the Japanese instead. Any search will return files with either tag as if they were all tagged character:ayanami rei.

ok, I understand; now confuse me

This relationship is transitive, which means as well as saying A->B, you can also say B->C, which implies A->C and B->C.

You can also have an A->C and B->C that does not include A->B.

The outcome of these two arrangements is the same (everything ends up as C), but the underlying semantics are a little different if you ever want to edit them.

Many complicated arrangements are possible:

Note that if you say A->B, you cannot say A->C; the left-hand side can only go to one. The right-hand side can receive many. The client will stop you from constructing loops.

how you do it

It is easy. Just open services->manage tag siblings, and add a few.

The client will automatically collapse the tagspace to whatever you set. It'll even work with autocomplete, so when you start to type in 'rei ayanami' in search, it will show character:ayanami rei instead:

It will not collapse in anywhere you 'write' tags, such as the manage tags dialog. You will be able to add or remove A as normal, but it will be written in some form of "A (B)" to let you know that, ultimately, the tag will end up displaying in the main gui as B:

Although the client may present A as B, it will secretly remember A! You can remove the association A->B, and everything will return to how it was. No information is lost at any point.

At the moment, this only supports local siblings. Just like tags, don't go crazy and try to do everything yourself. Have a play with local, but please wait for remote support so your efforts are shared.