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.