thoughts on .git and .thunderbird and ignoring

I set up my home folder to share among my desktop, my laptop and a receive only versioned folder on a storage server.

Should .git be synced?

On the one hand as there is only one user for my home folder, me, and I only work on one machine at a time, there seemed to be no harm in it. It would also be convenient to just login and work.

On the other hand, it is unnecessary, as git already sync the repos. Also, if there ever was a conflict, it would be a mess.

So no, .git should not be synced. What of the rest of the project? So if updated files arrive via sync thing, then are locally checked in, then are pushed … I guess there would be no conflicts at the repo. However, this sounds overly complex. So no, a git project as a whole should not be synced.

However, not syncing git projects would mean that the storage server version of the synced folder will not have a copy of the git project at all. So this fails as a simple technique to backup my home folder.

Perhaps I can share the same folder with storage server but with different ignore settings. The ignore list does show as part of the folder definition, but the value is stored at the top of the folder in a .stignore file. So this is not an option.

Should .thunderbird be synced

Unlike a git project where the user is the prime mover for changes, thunderbird updates email automatically. If the user forgets to shut it down on one machine or the other, there can be a conflicts mess. Hence, it must be ignored.

So this also means that the storage server will not get a copy of .thunderbird. Again, there is only one ignore list per folder (though it shows as an attribute of a folder definition in syncthing, it really belongs to the folder.)


Q1) Is there a way to make it so that the received only versioned storage server folder may be setup to receive the entire home folder, while the home folder is also synced between the desktop and laptop with the appropriate ignores?

Q2) Or do ignore lists only apply to receives? In which case the storage server can just leave the ignores out of its definition. But if ignores only apply to receives, that means ignored things are going out on the network. They are encrypted going over the network, but this would still be something important to be aware of.


perhaps then this is a feature request? F1) That folders definitions each have their own ignore lists? F1) separate receive and send ignores F3) pretty wild, having hooks to sync by other programs which may be tied to such things as git pull.

Not really, because if you ignore the files on both desktop and laptop, then they won’t be pushed to the server either. You can however share the entire home folder, e.g. between the desktop and the server, and then share specific subfolders between the desktop and the laptop separately. Just make sure you don’t share both the parent home and the subfolder between the same devices, so that there’s no overlap between the two.

I’d say the relevant issue here is https://github.com/syncthing/syncthing/issues/7836. With custom .stignore name implemented, you could share the same folder multiple times using different ignore patterns.

Edit: Just a quick comment on Thunderbird. You can theoretically share just the mail folder (e.g. when using POP3), but the problem is that Thunderbird isn’t able to refresh mail folders in a live mode, which means that it can’t detect new e-mails that have been added to the folder as files. It can only detect them after a restart and/or using the built-in “repair folder” function.

1 Like