You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Martin Tomes <li...@tomes.org> on 2005/09/12 15:01:59 UTC

Changing file case on Windows then doing a merge fails.

We had a file called ITools.pas and wanted to call it iTools.pas, 
windows being case insensitive this was done in two passes, pass one was 
to rename it to _iTools.pas and commit then rename it to iTools.pas and 
commit again.

Both these changes were then merged to a release branch as part of a 
larger merge from the trunk.  It failed because the working copy code 
tries to keep copies of ITools.pas and iTools.pas at the same time and 
it cannot.  Once the commit fails revert also fails.

Is this a known issue?  I cannot tell as tigris.org is giving 'Internal 
server error' messages.

-- 
Martin Tomes
echo 'martin at tomes x org x uk'\
  | sed -e 's/ x /\./g' -e 's/ at /@/'

Visit http://www.subversionary.org/

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

Re: Changing file case on Windows then doing a merge fails.

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Sep 13, 2005, at 10:45, erymuzuan wrote:

> On Sep 12, 2005, at 17:09, Joshua Varner wrote:
>
>> We had a file called ITools.pas and wanted to call it iTools.pas,
>> windows being case insensitive this was done in two passes, pass
>> one was to rename it to _iTools.pas and commit then rename it to
>> iTools.pas and commit again.
>>
>> Both these changes were then merged to a release branch as part of a
>> larger merge from the trunk.  It failed because the working copy code
>> tries to keep copies of ITools.pas and iTools.pas at the same time
>> and it cannot.  Once the commit fails revert also fails.
>
> another way is to delete the old file on the server directly (use svn
> del url_to_the_old_file -m message), and run the update again.  it
> works in my case,

I don't think this has anything to do with the problem at hand, which  
is how to merge a case-changing rename into a working copy.


> the real problem is how to stop this from happening
> in the first place, I wander is there anoyone has written a pre-commit
> script , to disallow commit when there's already and item int the path
> with the same name but differs only case.

Yes, of course. It's in the contrib/hook-scripts directory of the  
Subversion source distribution and it's called check-case- 
insensitive.pl.


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

Re: Changing file case on Windows then doing a merge fails.

Posted by erymuzuan <er...@gmail.com>.
another way is to delete the old file on the server directly (use svn
del url_to_the_old_file -m message), and run the update again.  it
works in my case, the real problem is how to stop this from happening
in the first place, I wander is there anoyone has written a pre-commit
script , to disallow commit when there's already and item int the path
with the same name but differs only case.

regards


On 9/13/05, Ryan Schmidt <su...@ryandesign.com> wrote:
> On Sep 12, 2005, at 17:09, Joshua Varner wrote:
> 
> >> We had a file called ITools.pas and wanted to call it iTools.pas,
> >> windows being case insensitive this was done in two passes, pass
> >> one was
> >> to rename it to _iTools.pas and commit then rename it to
> >> iTools.pas and
> >> commit again.
> >>
> >> Both these changes were then merged to a release branch as part of a
> >> larger merge from the trunk.  It failed because the working copy code
> >> tries to keep copies of ITools.pas and iTools.pas at the same time
> >> and
> >> it cannot.  Once the commit fails revert also fails.
> 
> [snip]
> 
> > Currently an acceptable design for this type of problem has not
> > appeared, so it remains unresolved.
> 
> So annoying! :-)
> 
> Developers: wouldn't it help if the files in the text-base and props-
> base were named not with their real names but with a case-insensitive
> hash of the case-sensitive name?
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
> 
>

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


Re: Changing file case on Windows then doing a merge fails.

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Sep 12, 2005, at 17:09, Joshua Varner wrote:

>> We had a file called ITools.pas and wanted to call it iTools.pas,
>> windows being case insensitive this was done in two passes, pass  
>> one was
>> to rename it to _iTools.pas and commit then rename it to  
>> iTools.pas and
>> commit again.
>>
>> Both these changes were then merged to a release branch as part of a
>> larger merge from the trunk.  It failed because the working copy code
>> tries to keep copies of ITools.pas and iTools.pas at the same time  
>> and
>> it cannot.  Once the commit fails revert also fails.

[snip]

> Currently an acceptable design for this type of problem has not
> appeared, so it remains unresolved.

So annoying! :-)

Developers: wouldn't it help if the files in the text-base and props- 
base were named not with their real names but with a case-insensitive  
hash of the case-sensitive name?


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

Re: Changing file case on Windows then doing a merge fails.

Posted by Joshua Varner <jl...@gmail.com>.
On 9/12/05, Martin Tomes <li...@tomes.org> wrote:
> We had a file called ITools.pas and wanted to call it iTools.pas,
> windows being case insensitive this was done in two passes, pass one was
> to rename it to _iTools.pas and commit then rename it to iTools.pas and
> commit again.
> 
> Both these changes were then merged to a release branch as part of a
> larger merge from the trunk.  It failed because the working copy code
> tries to keep copies of ITools.pas and iTools.pas at the same time and
> it cannot.  Once the commit fails revert also fails.
> 
> Is this a known issue?  I cannot tell as tigris.org is giving 'Internal
> server error' messages.
> 

This particular recipe has not been reported, but similar behavior
is known. There is currently no fix for this. A workaround would be
to delete that directory out of your working copy, then updating to
get it back. You could merge up to the revision with _iTools.pas name,
commit, then merge the change to iTools.pas. That should work.

Currently an acceptable design for this type of problem has not
appeared, so it remains unresolved.

Josh

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