On 2012-07-04 12:51:13 +0100, Philip Martin wrote: > If you are saying that a move should update the LastChangedRev of every > file (and dir?) in the destination then that would break the cheap copy > feature of Subversion's copy-on-write filesystem.
Anyway the URL of every file should be updated, shouldn't it? At least there is an inconsistency, shown by the following script: ------------------------------------------------------------ #!/bin/sh set -ex svn --version mkdir my-test-svn cd my-test-svn svnadmin create svn root=file://`pwd`/svn svn co "$root" wc cd wc svn mkdir dir1 svn ci -m 'add dir1' printf '\044Header\044\n' > dir1/file svn add dir1/file svn ps svn:keywords Header dir1/file svn ci -m 'add dir1/file' cat dir1/file svn cat "$root/dir1/file@2" svn up svn mv dir1 dir2 svn ci -m 'mv dir1 dir2' svn info dir2/file cat dir2/file svn cat "$root/dir2/file@3" cd ../.. rm -rf my-test-svn ------------------------------------------------------------ The output ends with: + cat dir2/file $Header: file:///tmp/my-test-svn/svn/dir1/file 2 2012-07-04 11:57:43Z vlefevre $ + svn cat file:///tmp/my-test-svn/svn/dir2/file@3 $Header: file:///tmp/my-test-svn/svn/dir2/file 2 2012-07-04 11:57:43Z vlefevre $ file:///tmp/my-test-svn/svn/dir1/file@2 exists but this isn't the real URL of the file. file:///tmp/my-test-svn/svn/dir2/file@2 doesn't exist. IMHO, the most intuitive Header string should have file:///tmp/my-test-svn/svn/dir2/file 3 (correct URL, and a revision that is valid for this URL). Full output attached. -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <http://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
+ svn --version svn, version 1.7.5 (r1336830) compiled Jun 17 2012, 07:52:38 Copyright (C) 2012 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/ The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles 'http' scheme - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - with Cyrus SASL authentication - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme * ra_serf : Module for accessing a repository via WebDAV protocol using serf. - handles 'http' scheme - handles 'https' scheme + mkdir my-test-svn + cd my-test-svn + svnadmin create svn + pwd + root=file:///tmp/my-test-svn/svn + svn co file:///tmp/my-test-svn/svn wc Checked out revision 0. + cd wc + svn mkdir dir1 A dir1 + svn ci -m add dir1 Adding dir1 Committed revision 1. + printf \044Header\044\n + svn add dir1/file A dir1/file + svn ps svn:keywords Header dir1/file property 'svn:keywords' set on 'dir1/file' + svn ci -m add dir1/file Adding dir1/file Transmitting file data . Committed revision 2. + cat dir1/file $Header: file:///tmp/my-test-svn/svn/dir1/file 2 2012-07-04 11:57:43Z vlefevre $ + svn cat file:///tmp/my-test-svn/svn/dir1/file@2 $Header: file:///tmp/my-test-svn/svn/dir1/file 2 2012-07-04 11:57:43Z vlefevre $ + svn up Updating '.': At revision 2. + svn mv dir1 dir2 A dir2 D dir1 D dir1/file + svn ci -m mv dir1 dir2 Deleting dir1 Adding dir2 Committed revision 3. + svn info dir2/file Path: dir2/file Name: file Working Copy Root Path: /tmp/my-test-svn/wc URL: file:///tmp/my-test-svn/svn/dir2/file Repository Root: file:///tmp/my-test-svn/svn Repository UUID: d7bbc0d2-1977-4b50-a670-ad8c8a0c08df Revision: 3 Node Kind: file Schedule: normal Last Changed Author: vlefevre Last Changed Rev: 2 Last Changed Date: 2012-07-04 13:57:43 +0200 (Wed, 04 Jul 2012) Text Last Updated: 2012-07-04 13:57:43 +0200 (Wed, 04 Jul 2012) Checksum: 074821f52733e39ab981a36c5e46748b8ebbbc75 + cat dir2/file $Header: file:///tmp/my-test-svn/svn/dir1/file 2 2012-07-04 11:57:43Z vlefevre $ + svn cat file:///tmp/my-test-svn/svn/dir2/file@3 $Header: file:///tmp/my-test-svn/svn/dir2/file 2 2012-07-04 11:57:43Z vlefevre $ + cd ../.. + rm -rf my-test-svn