Re: Advice for changing filename case in SVN on case insensitive system
On 21.06.2013 23:48, Thomas Harold wrote: On 6/20/2013 6:56 PM, Geoff Hoffman wrote: deleting the file from Subversion, then adding the copy with the correct case. Question: Doesn't that blow away revision history? If I didn't care about revision history I would just start over with a fresh repo. If you use svn mv to do the change, it does not blow away the revision history for the file. You can, however, choose to have log output stop on copy. http://svnbook.red-bean.com/en/1.7/svn.ref.svn.html#svn.ref.svn.sw.stop_on_copy (In TortoiseSVN's log viewer, there is a checkbox at the bottom called Stop on copy/rename that you can turn off.) I also thought about doing full URL svn mv's but seemed like that could take a very long time to do... It probably will be slow, depending on which access method you use, and each mv would result in a new transaction in the repository. Not necessarily. There's an alternative command-line tool called svnmucc which can perform several remote renames in one transaction. Also there's no reason for remote renames to be any slower than local renames + svn commit. -- Brane -- Branko Čibej | Director of Subversion WANdisco // Non-Stop Data e. br...@wandisco.com
Re: Advice for changing filename case in SVN on case insensitive system
On Fri, Jun 21, 2013 at 7:03 PM, Johan Corveleyn jcor...@gmail.com wrote: On Fri, Jun 21, 2013 at 12:56 AM, Geoff Hoffman ghoff...@cardinalpath.com wrote: Yes, that helps, Dave, thanks. But, deleting the file from Subversion, then adding the copy with the correct case. Question: Doesn't that blow away revision history? If I didn't care about revision history I would just start over with a fresh repo. I also thought about doing full URL svn mv's but seemed like that could take a very long time to do... Why would that be slow? A server-side move is very quick, the files themselves are not transferred over the network, ... While the operation itself may be fast, you have to execute it for each URL individually unless you use svnmucc.
Re: Advice for changing filename case in SVN on case insensitive system
On 6/20/2013 6:56 PM, Geoff Hoffman wrote: deleting the file from Subversion, then adding the copy with the correct case. Question: Doesn't that blow away revision history? If I didn't care about revision history I would just start over with a fresh repo. If you use svn mv to do the change, it does not blow away the revision history for the file. You can, however, choose to have log output stop on copy. http://svnbook.red-bean.com/en/1.7/svn.ref.svn.html#svn.ref.svn.sw.stop_on_copy (In TortoiseSVN's log viewer, there is a checkbox at the bottom called Stop on copy/rename that you can turn off.) I also thought about doing full URL svn mv's but seemed like that could take a very long time to do... It probably will be slow, depending on which access method you use, and each mv would result in a new transaction in the repository. I tend to only do server-side moves (URL to URL) for the renaming of upper level folders in the tree, which is a rare occurrence for us. All other moves we try to do at the working copy level. (As with everything, it's best to do a test on an inconsequential file before doing any mass moves.)
Re: Advice for changing filename case in SVN on case insensitive system
On Fri, Jun 21, 2013 at 12:56 AM, Geoff Hoffman ghoff...@cardinalpath.com wrote: Yes, that helps, Dave, thanks. But, deleting the file from Subversion, then adding the copy with the correct case. Question: Doesn't that blow away revision history? If I didn't care about revision history I would just start over with a fresh repo. I also thought about doing full URL svn mv's but seemed like that could take a very long time to do... Why would that be slow? A server-side move is very quick, the files themselves are not transferred over the network, ... This is still a good workaround for executing case-only renames when it doesn't work in the working copy. The only problem is that you often want to combine the rename with refactoring of related source code (referencing the file-to-be-renamed). And that's of course not possible when doing just a server-side rename. On Thu, Jun 20, 2013 at 3:45 PM, Dave Huang k...@azeotrope.org wrote: ... (Interesting/surprising that SVN 1.7 only fixed svn rename on Windows, but not on other OSes with case-insensitive filesystems like MacOS X) The reason for this is that APR (the Apache Portable Runtime [1], a library svn heavily depends on for making platform specific behavior generically accessible) does not have the required plumbing for MacOS X. I'm talking about the so called truename functionality, which, given a filepath in a certain casing, returns the actual filepath in it's correct on-disk casing (if present). This is implemented in APR for Windows, but not for MacOS. Why not? Simply because no-one has stepped up to do it. As soon as APR supports this feature on MacOS, Subversion will be able to add support for case-only renames on case-insensitive filesystems on MacOS. I'm sure the nice APR folks would welcome constructive people who want to work on this (and other things), so patches welcome I suppose :-) ... [1] http://apr.apache.org/ -- Johan
Advice for changing filename case in SVN on case insensitive system
We have a bunch of Kohana 3.2 projects in revision control, all with lower case filenames. We're upgrading to Kohana 3.3; one of the main changes to Kohana 3.3 is implementing PSR-0 filename conventions, which require the class Model_Myclass to be found in Model/Myclass.php ... in our current repo it's in model/myclass.php (all lower case). I thought I could just svn rename, however I'm confused by the output I'm seeing: svn rename myclass.php Myclass.php svn: E155007: Path '/Full/Path/To/Myclass.php' is not a directory Making things more confusing, we're on Macs without the extended case sensitive filename option in OS X, and we have mixed/outdated SVN versions across our organization: our server is running 1.6.6 and workstations a hodgepodge of 1.6.19 - 1.7.7 I need some advice on how to deal with all of this. I thought about installing VirtualBox and using Linux command line to do everything, but that seems like a bit overkill. Thanks in advance! Geoff -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in San Diego Jun 17 - 21http://training.cardinalpath.com/google-adwords-analytics/san-diego/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sandiego-2013-06-17 , Tampa Jun 24 -28http://training.cardinalpath.com/google-adwords-analytics/tampa/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=tampa-2013-06-24 , Austin, Jul 8 - 12http://training.cardinalpath.com/google-adwords-analytics/austin/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=austin-2013-07-08 , San Francisco Jul 15 - 19http://training.cardinalpath.com/google-adwords-analytics/san-francisco/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sanfrancisco-2013-07-15#2013-07-15 or See Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_content=see-all . This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.
Re: Advice for changing filename case in SVN on case insensitive system
On 6/20/2013 5:34 PM, Geoff Hoffman wrote: We have a bunch of Kohana 3.2 projects in revision control, all with lower case filenames. We're upgrading to Kohana 3.3; one of the main changes to Kohana 3.3 is implementing PSR-0 filename conventions, which require the class Model_Myclass to be found in Model/Myclass.php ... in our current repo it's in model/myclass.php (all lower case). I thought I could just svn rename, however I'm confused by the output I'm seeing: svn rename myclass.php Myclass.php svn: E155007: Path '/Full/Path/To/Myclass.php' is not a directory Perhaps http://subversion.apache.org/faq.html#case-change might be helpful. (Interesting/surprising that SVN 1.7 only fixed svn rename on Windows, but not on other OSes with case-insensitive filesystems like MacOS X)
Re: Advice for changing filename case in SVN on case insensitive system
Yes, that helps, Dave, thanks. But, deleting the file from Subversion, then adding the copy with the correct case. Question: Doesn't that blow away revision history? If I didn't care about revision history I would just start over with a fresh repo. I also thought about doing full URL svn mv's but seemed like that could take a very long time to do... Geoff Hoffman Solutions Architect LAMP Engineer phone +1 623.399.4918 mobile +1 480.231.8323 web CardinalPath.com http://goo.gl/TuuiO On Thu, Jun 20, 2013 at 3:45 PM, Dave Huang k...@azeotrope.org wrote: On 6/20/2013 5:34 PM, Geoff Hoffman wrote: We have a bunch of Kohana 3.2 projects in revision control, all with lower case filenames. We're upgrading to Kohana 3.3; one of the main changes to Kohana 3.3 is implementing PSR-0 filename conventions, which require the class Model_Myclass to be found in Model/Myclass.php ... in our current repo it's in model/myclass.php (all lower case). I thought I could just svn rename, however I'm confused by the output I'm seeing: svn rename myclass.php Myclass.php svn: E155007: Path '/Full/Path/To/Myclass.php' is not a directory Perhaps http://subversion.apache.org/**faq.html#case-changehttp://subversion.apache.org/faq.html#case-changemight be helpful. (Interesting/surprising that SVN 1.7 only fixed svn rename on Windows, but not on other OSes with case-insensitive filesystems like MacOS X) -- Connect with us on twitter http://twitter.com/cardinalpath, google+https://plus.google.com/108076800625872227241/posts , facebook http://www.facebook.com/CardinalPath, or linkedinhttp://www.linkedin.com/company/cardinal-path . Catch our next training in San Diego Jun 17 - 21http://training.cardinalpath.com/google-adwords-analytics/san-diego/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sandiego-2013-06-17 , Tampa Jun 24 -28http://training.cardinalpath.com/google-adwords-analytics/tampa/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=tampa-2013-06-24 , Austin, Jul 8 - 12http://training.cardinalpath.com/google-adwords-analytics/austin/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=austin-2013-07-08 , San Francisco Jul 15 - 19http://training.cardinalpath.com/google-adwords-analytics/san-francisco/?utm_campaign=cp-cptutm_source=sig-referralutm_medium=emailutm_content=sanfrancisco-2013-07-15#2013-07-15 or See Allhttp://training.cardinalpath.com/locations/?utm_campaign=cp-s4sutm_source=cp-email-footerutm_medium=emailutm_content=see-all . This email, including any attachments, is for the sole use of the intended recipient and may contain confidential information. If you are not the intended recipient, please immediately notify us by reply email or by telephone, delete this email and destroy any copies. Thank you.