Johan Corveleyn <jcor...@gmail.com> writes:

> ------------------------------------------------------------------------
> r2 | jrandom | 2013-06-03 00:23:00 +0200 (Mon, 03 Jun 2013) | 1 line
>
> Log message for revision 3
> ------------------------------------------------------------------------
> r1 | jrandom | 2013-06-03 00:22:36 +0200 (Mon, 03 Jun 2013) | 1 line
>
> Log message for revision 1.
> ------------------------------------------------------------------------
> ]]]
>
>
> Looking at guarantee_repos_and_wc, revision 2 should have been this:
>
>   # Revision 2: edit iota
>   msg=""" Log message for revision 2
>   but with multiple lines
>   to test the code"""
>   svntest.main.file_write(msg_file, msg)
>   svntest.main.file_append(iota_path, "2")
>   svntest.main.run_svn(None,
>                        'ci', '-F', msg_file)
>   svntest.main.run_svn(None,
>                        'up')
>
> When I look at iota, that edit was done ("2" is there), so apparently
> that commit wasn't performed.
>
> Can anyone explain this? Any ideas?
>
> Can it be a timestamp issue? sleep_for_timestamp ... which reminds me
> ... it's almost 1:30 am ... time to stamp some sleep.
>
> But even if the timestamp after the edit is precisely the same as
> after the checkout, I don't understand how that can lead to 'commit'
> not seeing that the file is modified: the edit changed the filesize,
> and I thought both timestamp and filesize were considered to check for
> modified files ...

You are correct: both the timestamp and the filesize are checked (the
code is in svn_wc__internal_file_modified_p).  The timestamp "problem"
only causes modifications to be missed if those modifications don't
change the filesize.  In this case the filesize should have changed.

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download

Reply via email to