I have 2 laptops with one plaintext file, which has to be synced - it is used as a database for a 3rd party software. Customer wants to sync the content of that file on a daily manner.
First idea was to make a script which would upload file to Dropbox, but in case of confilct (both users remove line A and first user add line B instead, second user add line C instead) Dropbox creates a separate file. EDIT: was going to mention, but forgot to say: in case of conflict, both lines B and C should replace line A - "take both" strategy.
Second idea is to put file to repository, sounds easy, but i'm not sure how to setup auto resolving, because i don't want merge tool GUI to appear during the process.
You have the
git rerere
command for your help.This is exactly for this command is for.
git rerere
Recorded Reused Resolution
By the way, if you prefer rerere to auto-stage files it solved (I do), you can ask it to: you just need to tweak your configuration like so:
If you want all conflicts resolved with changes from both sides being included, add the following to your
.gitattributes
file:This will make git do what you want.