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

[PATCH] Adding mtime_spec.txt to the notes/ folder

From: Edmund Wong <ed_at_kdtc.net>
Date: Thu, 12 Nov 2009 13:13:20 +0800

Hi,

I have copy and pasted julianf's mtime functional specifications as
given by his post in the following link:

http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2416479

It is a verbatum copy with only a few [TBD] changes. I've also added
rhuijben's suggestion of "merge" and philip's two questions.

There's also a lot of material on this issue from the following link:

http://svn.haxx.se/users/archive-2008-03/0462.shtml

It'll take some time for me to digest that post and change the
specifications in accordance to the commentary.

Log:

[[[

Adding mtime function specification to the notes directory for RFC.

  * notes/mtime_spec.txt: Added.

Patch by: Edmund Wong ed{_AT_}kdtc.net
Suggested by: julianf
               rhuijben
               philip

]]]

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2416876

Index: notes/mtime_specs.txt
===================================================================
--- notes/mtime_specs.txt (revision 0)
+++ notes/mtime_specs.txt (revision 0)
@@ -0,0 +1,85 @@
+OUTLINE OF A
+
+FUNCTIONAL (BEHAVIOURAL) SPECIFICATION FOR
+
+MTIME PRESERVATION (ISSUE #1256)
+
+
+* High-level semantics we are trying to achieve:
+
+ - Whenever Subversion puts or modifies a file (or directory?) in the
+ WC, it shall set the node's mtime in the WC to the mtime recorded for
+ that node. (?)
+
+ - Whenever Subversion modifies a file (or directory?) in the WC, and
+ there are local changes to that node, such as when updating a file
+ that the user has been editing, it shall ... (?)
+
+ - What level of control over the behaviour should the users have?
+ Per client? Per node? Per action (export vs. checkout vs. update,
+ etc.)?
+
+ - Backward compatibility issues: ...
+
+
+* Specification of the behaviour in all the cases:
+
+ Data Storage:
+
+ Mtime shall be stored in a versioned property named 'svn:mtime'
+ (?). Any file or directory (?) may have this property. The format
+ of the property value is (?) and is the time in UTC (?)
+
+ Behaviour of Each Action:
+
+ The behaviour of each svn action that may affect a node in the
+ WC is, for a file 'foo' with mtime 'M(foo)' and recorded 'svn:mtime'
+ property value 'R(foo)', and a directory 'dir' with 'M(dir)' and
+ 'R(dir)' respectively:
+
+ - add
+ [TBD]
+
+ - import
+ [TBD]
+
+ - commit
+ [TBD]
+
+ - export
+ [TBD]
+
+ - checkout
+ [TBD]
+
+ - update/switch that brings in a change
+ [TBD]
+
+ - update/switch that brings in NO change
+ [TBD]
+
+ - merge
+ [TBD]
+
+ - ...
+
+ When is the mtime read or written in each case? What if the
+ user changes the 'svn:mtime' property manually: will Subversion
+ use the mtime off disk or the value the user set?
+
+ What happens in each case if we request the mtime be set, but
+ no 'svn:mtime' property exists on the node?
+
+ Do timestamp only changes show up in status? Can such
+ "modifications" be committed?
+
+ What happens if the working copy filesystem cannot represent
+ the full resolution of the timestamp stored in the repository?
+ Do all those files show up as modified?
+
+* Controlling the behaviour:
+
+ - An option in the client config file? Does it control whether the
+ mtime is read, or whether the mtime is written, or both?
+
+ - How does it interact with the "use-commit-times" option?
Received on 2009-11-12 06:26:09 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.