About this directory. This subdirectory has two branches. They are copies of /trunk:13253 and are merged from trunk from time to time. - text-time This branch is dedicated for the versioning of the text-time attribute for files. See below for details. This part has beta-quality. - owner-group-mode Here the versioning of owner, group, and unix-filemode is implemented. This part is more like an early alpha. - patches Here I will store patches of the functionalities above; this is meant for people running of /trunk, who want to test this parts. The patches for owner-group-mode will not depend on the text-time-patches; they will include them. Why meta-data versioning? There has been much discussion whether, and to a smaller extent, how meta-data should be versioned. Some argue that this is not a requirement of subversion itself, but should be done by wrapper scripts; IMO it makes much sense to do that inside subversion, as only one run through a wc is required on commit. How does this work? The general approach is as follows: - A file about to be committed is checked for the properties svn:text-time, svn:owner, svn:group, svn:unix-mode - Each of these properties gets set to the current value of the file, if it exists. So the mtime of a file is only versioned, if the file has the property svn:text-time set (to any value) - The initial property setting can be achieved by auto-props. - If the configuration value "use-commit-times" is set to "yes", then on checkout/update/export the stored values should [1] be used to restore the files' meta-data. Example of ~/.subversion/config: [miscellany] use-commit-times = yes enable-auto-props = yes [auto-props] * = svn:text-time=yes;svn:owner=yes;svn:group=yes;svn:unix-mode=yes Known problems: - The functionality is incomplete/has bugs, the meta-data is not restored on every occasion. Whereas text-time is mostly complete, the other properties need work. - As mentioned by Philip Martin in http://marc.theaimsgroup.com/?l=subversion-dev&m=110729651620515&w=2, the way conflicts are treated has to be specified. Last updated: 04 Mar 2005. References 1. Issue 1256. Discussion about svn:text-time. http://subversion.tigris.org/issues/show_bug.cgi?id=1256 2. Feb. 2005 - discussion about mtime versioning on the mailing list. Fwd: Feature request: Keep file dates http://marc.theaimsgroup.com/?l=subversion-dev&m=110917936530930&w=2 3. Feb. 2005 - Announce of first o-g-m patch on ml [PATCH] svn now stores unix-owner, -group, and -mode too http://marc.theaimsgroup.com/?l=subversion-dev&m=110724160930812&w=2 4. May 2003 - Thread with first patches for mtime versioning on ml saving time stamps of files http://marc.theaimsgroup.com/?l=subversion-dev&m=105238644900470&w=2 Notes [1] "Should". If they *would* be used in every case, the branches would be finished (and not alpha or beta quality).