The request for an 'offline' mode for 'Simple Source Control' which would allow changes to be merged into a shared tasklist at a later time/date comes up fairly often.
The principle or merging is not hard and has already been solved for the archiving functionality.
However there are two non-trivial issues to which we must find an answer:
1. Two users 'simultaneously' create a new task which gets the same ID assigned to it
This can be solved by comparing creation dates. Different dates = different tasks
2. Two users 'simultaneously' edit the same task
This is harder to solve for two reasons:
a) Tasks do not have per attribute modification dates
b) Task modification dates are specified in local time
At present the archiving simply won't overwrite the attributes if the source task is older.
ie. Whoever modifies last wins.
All comments welcome.
ps. If I saved a copy of the tasklist before the 'offline' user modified it then I could perform a 3-way merge which would probably solve things