[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn add and inconsistent line endings.

From: Branko Čibej <brane_at_wandisco.com>
Date: Sun, 24 Feb 2013 19:12:34 +0100

On 24.02.2013 18:59, Bert Huijben wrote:
>
>> -----Original Message-----
>> From: Branko Čibej [mailto:brane_at_wandisco.com]
>> Sent: zondag 24 februari 2013 17:31
>> To: dev_at_subversion.apache.org
>> Subject: Re: svn add and inconsistent line endings
>>
>> On 24.02.2013 17:00, Stefan Küng wrote:
>>> On 24.02.2013 16:47, Bert Huijben wrote:
>>>>
>>>>> -----Original Message-----
>>>>> From: Stefan Küng [mailto:tortoisesvn_at_gmail.com]
>>>>> Sent: zondag 24 februari 2013 15:39
>>>>> To: Subversion Development
>>>>> Subject: svn add and inconsistent line endings
>>>>>
>>>>> Hi,
>>>>>
>>>>> When auto-props are set up for e.g., cpp files that set the
>>>>> svn:eol-style property, adding those files is not possible if the file
>>>>> has inconsistent line endings.
>>>>> The --force flag won't help either, the only way to add the file is to
>>>>> first fix the line endings in an editor.
>>>>> Or add the file with --no-auto-props and then add the properties later.
>>>>>
>>>>> I think this situation is not good.
>>>>> Maybe another param added to svn_client_add5 that ignores the EOL
>>>>> check?
>>>>> Or just pass the 'force' flag on to svn_wc__canonicalize_props()
>>>>> instead
>>>>> of passing 'false' unconditionally in libsvn_wc\adm_ops.c,
>>>>> svn_wc_add_from_disk2() ?
>>>> I don't think simply ignoring this and allowing the add to continue is a
>>>> good enough solution.
>>>>
>>>> Just passing the skip checks flags will allow adding many wrong
>>>> properties
>>>> which will cause a lot of grief later, and I would guess adding the file
>>>> would just delay the error until we try to commit this file.
>>>>
>>>>
>>>> But looking at this from the AnkhSVN side, I would like to have some
>>>> api to
>>>> make the eols on files consistent... Would this work for you?
>>> The API already exists, since when passing the --force flag to the
>>> propset command (adding the svn:eol-style property), then the file is
>>> automatically adjusted.
>>>
>>> I agree that the add command should still check the other properties.
>>> So why not add a separate flag to only skip the EOL check?
>>> Or maybe just automatically adjust the EOLs when adding the file? I
>>> never understood why that check is there.
>> I'd say that "force" should always do the same thing for equivalent
>> cases, so in this case, it should tell the library to adjust line
>> endings, if that's what "svn propset" does. Autoprops should behave
>> exactly as if a series of propsets were issued.
> svn add --force allows not failing on already versioned files. It is not passed further into the api.
>
> You suggestion of --force should just be handed down to be equivalent, makes --force a global 'feel free to break any assumptions' flag, and that is why in general we are deprecating --force.
> (We should introduce specific arguments when overrides are necessary. Such as we did on 'svn merge', 'svn switch', etc.)

That implies adding specific flags for any possible autoprop that might
need a nudge. That sounds ... awful. It's almost better to automatically
adjust the line endings.

It would be better to configure such behaviour in the autoprops config,
e.g., telling it to

    svn:eol-style=crlf/force

or something similar. I wouldn't mind an extension of the autoprops
syntax that allowed users to add certain propset options to the propery
specs.

-- Brane

-- 
Branko Čibej
Director of Subversion | WANdisco | www.wandisco.com
Received on 2013-02-24 19:13:21 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.