When update (or move-update during resolve with --accept mine-conflict) merges incoming changes into a locally modified file the function libsvn_wc/merge.c:merge_file_trivial detects when the result is equal to the pristine and bypasses the full text merge. When this happens the last_mod_time could be updated to show that the file is unmodified but this does not happen. svnadmin create repo svn co file://`pwd`/repo wc echo x > wc/f svn add wc/f svn ci -mm wc echo y > wc/f svn ci -mm wc echo x > wc/f svn up -r1 wc sqlite3 wc/.svn/wc.db "select local_relpath, last_mod_time from nodes" f| | svn cleanup wc sqlite3 wc/.svn/wc.db "select local_relpath, last_mod_time from nodes" f|1363177152668585 | Cleanup detects that the file is unmodified and sets the timestamp. Update has the same information and could do the same. This is a performance rather than a correctness issue.