I think we misunderstood each other here. After a file is modified, we
need an unmodified version to perform the diff against the current
version. I mentioned that SVN keeps a copy of the unmodified version
as .svn/text-base/filename.svn-base. So the diff becomes
*diff .svn/text-base/filename.svn-base filename*
Svn stores this unmodified version in the same folder as the original.
However, it is unclear to me when svn makes this copy. It does not
copy all the files (mod and unmod) as that's a waste of space. So, how
is svn notified of a file write? Is it filesystem hooks which as
called when a file is edited?