You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Tony Overfield <to...@yahoo.com> on 2005/09/14 00:40:06 UTC

Unordered commit dates from ordinary commits

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
------------------------------------------------------------------------

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?

Tony

-- 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 --


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Unordered commit dates from ordinary commits

Posted by Kalin KOZHUHAROV <ka...@thinrope.net>.
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