When a conflict is being resolved using local copy replica/applylog -c should save the resolution to the database, but some code paths just skips over. In the past, the workaround was to give all -c/-s to the pull script at once so log apply time is updated and the entries are never revisited. However, this stopped to work when plan9.log began to be recreated monthly, and the earlier-resolved conflicts were reported again and again. This patch solves the problem for 'a' and 'c' verbs in the log. Reference: /n/sources/patch/applied/replica-c-resolve Date: Mon May 16 17:25:52 CES 2011 Signed-off-by: yarikos@gmail.com --- /sys/src/cmd/replica/applylog.c Mon May 16 17:17:08 2011 +++ /sys/src/cmd/replica/applylog.c Mon May 16 17:16:59 2011 @@ -386,7 +386,7 @@ if(resolve1=='s') goto DoCreate; else if(resolve1 == 'c') - break; + goto DoCreateDb; conflict(name, "locally modified; will not overwrite"); skip = 1; continue; @@ -514,7 +514,7 @@ if(resolve1 == 's') goto DoCopy; else if(resolve1 == 'c') - break; + goto DoCopyDb; conflict(name, "locally modified; will not update [%llud %lud -> %llud %lud]", dbd.length, dbd.mtime, ld.length, ld.mtime); skip = 1; continue;