You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Mike Mason <mg...@thoughtworks.net> on 2003/12/21 20:00:09 UTC

[PATCH] Case change FAQ (was Re: Change case on a filename in wc under Windows?)

[[[
Added FAQ on changing file case.
]]]


Cheers,
Mike.


Re: [PATCH] Case change FAQ (was Re: Change case on a filename in wc under Windows?)

Posted by Branko Čibej <br...@xbc.nu>.
Mike Mason wrote:

> [[[
> Added FAQ on changing file case.
> ]]]

Thanks, committed in r8067 (together with another change).


-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/

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

Re: [PATCH] Case change FAQ (was Re: Change case on a filename in wc under Windows?)

Posted by Bob Peterson <bo...@memento-inc.com>.
It's all icky, which is why future SVN support for case-insensitive file
systems will be valuable.

As for updating the FAQ, I'd suggest either pulling the incomplete Q&A or
update it. A FAQ becomes untrustworthy if it contains incomplete answers.

\bob peterson
Memento, Inc.


From: "Mike Mason" <mg...@thoughtworks.net>
[...]
> The problem is that step 3 in the recipe above is quite hard, and you
> end up with ickiness in your history.
[...]
>
> Er, so does the FAQ entry need to be longer and fully cover all of this?



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

Re: [PATCH] Case change FAQ expanded

Posted by kf...@collab.net.
Mike Mason <mg...@thoughtworks.net> writes:
> [[[
> Added more detail to the case-change FAQ
> ]]]

Committed in r8119, thanks!

I tweaked a few other things as well, some of which were in your
patch, some of which were present in the original material:

  - Made the HTML stay within 80 columns

  - Made the exact text of the question match between the table of
    contents and the question itself

  - Put two spaces after end-of-sentence periods (personal thing,
    helps Emacs motion commands find their way)

  - A few minor wording tweaks.

-Karl

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

[PATCH] Case change FAQ expanded

Posted by Mike Mason <mg...@thoughtworks.net>.
[[[
Added more detail to the case-change FAQ
]]]



Re: [PATCH] Case change FAQ (was Re: Change case on a filename in wc under Windows?)

Posted by Mike Mason <mg...@thoughtworks.net>.
Folker Schamel wrote:

> The following is better, because it works better when
> having multiple such files:
>
> 1) svn commit (if necessary)
> For each file to change:
> 2) svn mv -m "qqq" svn://path/to/file.java svn://path/to/File.java
> For each working copy:
> 3) svn update * (will remove all local file.java files)
> 4) svn update (will receive all File.java files)


I'll post another patch this evening (GMT) unless someone else gets 
there first.

Cheers,
Mike.


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

Re: [PATCH] Case change FAQ (was Re: Change case on a filename in wc under Windows?)

Posted by Folker Schamel <sc...@spinor.com>.
>>> 1) TSVN Rename file.java to _file.java.
>>> 2) TSVN Commit the parent folder. That logs an ADD _file.java and DELETE
>>> file.java.
>>> 3) TSVN Update all other working copies.
>>> 4) TSVN Rename _file.java to File.java
>>> 5) TSVN Commit the parent folder.
>>> 6) TSVN Update all other working copies.
> 
> 
> What about the following (should work for TSVN, too):
> 
> 1) svn commit (if necessary)
> 2) svn mv -m "qqq" svn://path/to/file.java svn://path/to/File.java
> For each working copy:
> 3) svn update file.java (will remove local file.java)
> 4) svn update (will receive File.java)
> 
> Advantage:
> No _file.java, and other users can perform
> step 3+4 later at any time.

The following is better, because it works better when
having multiple such files:

1) svn commit (if necessary)
For each file to change:
2) svn mv -m "qqq" svn://path/to/file.java svn://path/to/File.java
For each working copy:
3) svn update * (will remove all local file.java files)
4) svn update (will receive all File.java files)

Folker



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

Re: [PATCH] Case change FAQ (was Re: Change case on a filename in wc under Windows?)

Posted by Folker Schamel <sc...@spinor.com>.
>> 1) TSVN Rename file.java to _file.java.
>> 2) TSVN Commit the parent folder. That logs an ADD _file.java and DELETE
>> file.java.
>> 3) TSVN Update all other working copies.
>> 4) TSVN Rename _file.java to File.java
>> 5) TSVN Commit the parent folder.
>> 6) TSVN Update all other working copies.

What about the following (should work for TSVN, too):

1) svn commit (if necessary)
2) svn mv -m "qqq" svn://path/to/file.java svn://path/to/File.java
For each working copy:
3) svn update file.java (will remove local file.java)
4) svn update (will receive File.java)

Advantage:
No _file.java, and other users can perform
step 3+4 later at any time.

Folker



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

Re: [PATCH] Case change FAQ (was Re: Change case on a filename in wc under Windows?)

Posted by Mike Mason <mg...@thoughtworks.net>.
Bob Peterson wrote:

>This is insufficient. The WC file will still exist in the wrong case, but it
>will trip up SVN when trying to update or commit all existing working
>copies. The six steps I gave are the necessary and sufficient steps. They
>are couched in terms of TortoiseSVN, but they ought to translate directly to
>command line SVN.
>
>1) TSVN Rename file.java to _file.java.
>2) TSVN Commit the parent folder. That logs an ADD _file.java and DELETE
>file.java.
>3) TSVN Update all other working copies.
>4) TSVN Rename _file.java to File.java
>5) TSVN Commit the parent folder.
>6) TSVN Update all other working copies.
>  
>

Ah yes, you're right. Whilst using URLs will fix the repository, you'll 
still be left with dodgy working copies. I really don't like the 
rename-with-underscore bit of this fix, but it actually is required:

C:\temp\wc>svn info file1.txt
Path: file1.txt
Name: file1.txt
URL: file:///c:/temp/repos/file1.txt
Repository UUID: 9d6edd8c-b4e9-f54c-9721-419c9105ccbc
Revision: 2
Node Kind: file
Schedule: normal
Last Changed Author: mmason
Last Changed Rev: 2
Last Changed Date: 2003-12-15 16:32:42 +0000 (Mon, 15 Dec 2003)
Text Last Updated: 2003-12-15 16:32:29 +0000 (Mon, 15 Dec 2003)
Checksum: 318271dee0cd6cc050324f00c1cb7bca


C:\temp\wc>svn mv -m "changed case" file:///c:/temp/repos/file1.txt 
file:///c:/temp/repos/File1.txt

Committed revision 3.

C:\temp\wc>svn up
svn: Obstructed update
svn: Failed to add file 'File1.txt': object of the same name already exists

C:\temp\wc>del file1.txt

C:\temp\wc>svn up
Restored file1.txt
svn: Obstructed update
svn: Failed to add file 'File1.txt': object of the same name already exists

The problem is that step 3 in the recipe above is quite hard, and you 
end up with ickiness in your history. The problem with the URL move is 
that you end up with a hosed working copy (I haven't found a way to get 
my WC to update from the above state -- it keeps trying to restore 
file1.txt and I can't ask it to explicitly update File1.txt first...)

Er, so does the FAQ entry need to be longer and fully cover all of this?

Cheers,
Mike.


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