[Kmymoney-devel] Merge driver for KMM files
Yury G. Kudryashov
urkud.urkud at gmail.com
Mon Aug 12 09:23:36 UTC 2013
Hi!
I actively use at least two computers (desktop+laptop), and now I have to
remember which one has the most recent kmymoney file. It is not always easy,
because sometimes I have laptop and no Internet connection. Moreover,
sometimes I want myself to enter my expenses using laptop (say, during a
trip), and my wife to enter her expenses on desktop.
The solution I want to implement is an ability to add .kmy files to git.
Currently I can setup diff driver to gunzip files, then show diff of XML
files but I suppose that performing text merge of XML files is not safe. For
this reason, I want to implement a proper diff3 merge for .kmy files. My
plan:
- Get rid of global variables, move them to the class representing a KMM
document.
- Show differences between two files:
* renamed accounts etc (same ID, different names);
* new transactions, accounts;
* removed transactions;
* edited transactions.
- 3-way merge:
* if an account was renamed in one branch, accept rename;
* if an account was renamed in two branches, ask user;
* warn about transactions removed/edited in the remote branch;
* accept new transactions from remote branch;
* accept new accounts from remote branch.
What do you think about this plan?
--
Yury G. Kudryashov,
mailto: urkud at mccme.ru
More information about the KMyMoney-devel
mailing list