[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Unordered commit dates from ordinary commits

From: Kalin KOZHUHAROV <kalin_at_thinrope.net>
Date: 2005-09-14 02:57:11 CEST

Tony Overfield wrote:
> While committing a long-running commit, if a shorter commit is started
> and completed before the long-running commit has finished, it creates
> unordered svn:date properties.
>
> This is the result of the recipe provided below:
>
> ------------------------------------------------------------------------
> r2 | Tony | 2005-09-13 19:30:56 -0500 (Tue, 13 Sep 2005) | 1 line
>
> Bigger commit
> ------------------------------------------------------------------------
> r1 | Tony | 2005-09-13 19:31:01 -0500 (Tue, 13 Sep 2005) | 1 line
>
> Smaller commit
> ------------------------------------------------------------------------
>
Hmm, very , very interesting!

> I've long followed the users and dev lists, but I don't recall seeing
> this issue raised in this context before. Issue 752 does not recognize
> this method for creating unordered dates.
>
> I am using Windows XP with:
> svn, version 1.2.3 (r15833)
> compiled Aug 19 2005, 23:10:39
>
> The book states that the svn:date property is set when the transaction
> is created, but wouldn't it be better to use the time at which the final
> revision number is obtained?
I think this is what I was expecting from subversion. Is there any reson for
implementing it as the current state is?

Doesn't atomic commit mean:
  lock - get rev # - write - unlock - show rev# ?
Then timestamping the "get rev#" operation should suffice.

Kalin.

> -- recipe begins --
> rem warning: recipe may be performance sensitive.
> svnadmin create /tmp/rep
> svn co file:///tmp/rep wc1
> mkdir wc1\d1
> for /L %%n in (1,1,1000) do echo Test > wc1\d1\file.%%n
> svn add wc1\d1
> rem Use "start" to begin concurrent commit...
> start svn commit wc1 -m"Bigger commit"
> rem Continue with smaller commit...
> svn co file:///tmp/rep wc2
> mkdir wc2\d2
> for /L %%n in (1,1,100) do echo Test > wc2\d2\file.%%n
> svn add wc2\d2
> svn commit wc2 -m"Smaller commit"
> pause Wait for both commits to finish.
> svn log file:///tmp/rep
> -- end of message --

-- 
|[ ~~~~~~~~~~~~~~~~~~~~~~ ]|
+-> http://ThinRope.net/ <-+
|[ ______________________ ]|
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Sep 14 02:59:42 2005

This is an archived mail posted to the Subversion Users mailing list.