override global-ignores from server side

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

override global-ignores from server side

Balogh Péter-2
Hi,

I think our use case is not covered even with the recent features in
subversion
By default, for example the .a files are ignored in the svn clients
Since we're developing mobile multi platform titles, it's common to add
certain libraries as .a files to the repository
Is there a way, to override the client's default global-ignores with a
repository specific one?

Best regards,
Peter
Reply | Threaded
Open this post in threaded view
|

RE: override global-ignores from server side

Bert Huijben-5


> -----Original Message-----
> From: Balogh Péter [mailto:[hidden email]]
> Sent: dinsdag 19 september 2017 10:45
> To: [hidden email]
> Subject: override global-ignores from server side
>
> Hi,
>
> I think our use case is not covered even with the recent features in
> subversion By default, for example the .a files are ignored in the svn clients
> Since we're developing mobile multi platform titles, it's common to add
> certain libraries as .a files to the repository Is there a way, to override the
> client's default global-ignores with a repository specific one?

The ignores are only applied to files that are not already added, so in your case just adding the files and applying the ignore rule on a system where you do want to add these would just work fine. The default list of ignores is not that large and you can add items via svn:ignore and svn:global-ignores properties on a directory.

        Bert
>
> Best regards,
> Peter

Reply | Threaded
Open this post in threaded view
|

Re: override global-ignores from server side

Balogh Péter-2
Hi,

Yes, I'm aware that adding the .a file manually is possible, but it does
not solve the issue, that we have to check manually after every library
update, if a new .a file is added
And the issue won't show up, until we commit the changes, and the CI
build fails with a linking error
The default list is not large, that's why overriding it does not seem to
be an irrational request
But right now, if I put a .a file in an SVN, I have no way to make it
show up in the status without client side modifications, and I think
it's a really important missing feature

Best regards,
Peter

On 2017-09-19 10:54, Bert Huijben wrote:

>
>> -----Original Message-----
>> From: Balogh Péter [mailto:[hidden email]]
>> Sent: dinsdag 19 september 2017 10:45
>> To: [hidden email]
>> Subject: override global-ignores from server side
>>
>> Hi,
>>
>> I think our use case is not covered even with the recent features in
>> subversion By default, for example the .a files are ignored in the svn clients
>> Since we're developing mobile multi platform titles, it's common to add
>> certain libraries as .a files to the repository Is there a way, to override the
>> client's default global-ignores with a repository specific one?
> The ignores are only applied to files that are not already added, so in your case just adding the files and applying the ignore rule on a system where you do want to add these would just work fine. The default list of ignores is not that large and you can add items via svn:ignore and svn:global-ignores properties on a directory.
>
> Bert
>> Best regards,
>> Peter

Reply | Threaded
Open this post in threaded view
|

RE: override global-ignores from server side

Bert Huijben-5


> -----Original Message-----
> From: Balogh Péter [mailto:[hidden email]]
> Sent: dinsdag 19 september 2017 10:59
> To: [hidden email]
> Subject: Re: override global-ignores from server side
>
> Hi,
>
> Yes, I'm aware that adding the .a file manually is possible, but it does not
> solve the issue, that we have to check manually after every library update, if
> a new .a file is added And the issue won't show up, until we commit the
> changes, and the CI build fails with a linking error The default list is not large,
> that's why overriding it does not seem to be an irrational request But right
> now, if I put a .a file in an SVN, I have no way to make it show up in the
> status without client side modifications, and I think it's a really important
> missing feature

Where I work we have a strict policy that we don't release binaries that are built on normal workstations, just those on regulated build systems where we can 100% reproduce previous builds. Having a default that would make users commit locally build artifacts would go against that. We manage these artifacts using different tooling that was designed for that purpose.

        Bert

Reply | Threaded
Open this post in threaded view
|

Re: override global-ignores from server side

Balogh Péter-2
Hi Bert,

I totally understand the reasoning if you're a native developer
But if you're not, it's not reasonable to make everybody build the world
from scratch
Not the mention the cases, when you get the libraries compiled from your
3rd party provider
The world has long time ago moved on from only native development, and
we're generating hundreds of C# files every week
How can we make svn usable for our use case?

Best regards,
Peter

On 2017-09-19 11:02, Bert Huijben wrote:

>
>> -----Original Message-----
>> From: Balogh Péter [mailto:[hidden email]]
>> Sent: dinsdag 19 september 2017 10:59
>> To: [hidden email]
>> Subject: Re: override global-ignores from server side
>>
>> Hi,
>>
>> Yes, I'm aware that adding the .a file manually is possible, but it does not
>> solve the issue, that we have to check manually after every library update, if
>> a new .a file is added And the issue won't show up, until we commit the
>> changes, and the CI build fails with a linking error The default list is not large,
>> that's why overriding it does not seem to be an irrational request But right
>> now, if I put a .a file in an SVN, I have no way to make it show up in the
>> status without client side modifications, and I think it's a really important
>> missing feature
> Where I work we have a strict policy that we don't release binaries that are built on normal workstations, just those on regulated build systems where we can 100% reproduce previous builds. Having a default that would make users commit locally build artifacts would go against that. We manage these artifacts using different tooling that was designed for that purpose.
>
> Bert
>

Reply | Threaded
Open this post in threaded view
|

Re: override global-ignores from server side

Branko Čibej
In reply to this post by Bert Huijben-5
On 19.09.2017 11:02, Bert Huijben wrote:

>
>> -----Original Message-----
>> From: Balogh Péter [mailto:[hidden email]]
>> Sent: dinsdag 19 september 2017 10:59
>> To: [hidden email]
>> Subject: Re: override global-ignores from server side
>>
>> Hi,
>>
>> Yes, I'm aware that adding the .a file manually is possible, but it does not
>> solve the issue, that we have to check manually after every library update, if
>> a new .a file is added And the issue won't show up, until we commit the
>> changes, and the CI build fails with a linking error The default list is not large,
>> that's why overriding it does not seem to be an irrational request But right
>> now, if I put a .a file in an SVN, I have no way to make it show up in the
>> status without client side modifications, and I think it's a really important
>> missing feature
> Where I work we have a strict policy that we don't release binaries that are built on normal workstations, just those on regulated build systems where we can 100% reproduce previous builds. Having a default that would make users commit locally build artifacts would go against that. We manage these artifacts using different tooling that was designed for that purpose.

Well frankly I was under the impression that svn:global-ignores overrode
the global-ignores client config setting. Apparently it does not ... I'd
call that a bug, but that's water under the bridge ...

-- Brane
Reply | Threaded
Open this post in threaded view
|

Re: override global-ignores from server side

Johan Corveleyn-3
On Tue, Sep 19, 2017 at 4:21 PM, Branko Čibej <[hidden email]> wrote:

> On 19.09.2017 11:02, Bert Huijben wrote:
>>
>>> -----Original Message-----
>>> From: Balogh Péter [mailto:[hidden email]]
>>> Sent: dinsdag 19 september 2017 10:59
>>> To: [hidden email]
>>> Subject: Re: override global-ignores from server side
>>>
>>> Hi,
>>>
>>> Yes, I'm aware that adding the .a file manually is possible, but it does not
>>> solve the issue, that we have to check manually after every library update, if
>>> a new .a file is added And the issue won't show up, until we commit the
>>> changes, and the CI build fails with a linking error The default list is not large,
>>> that's why overriding it does not seem to be an irrational request But right
>>> now, if I put a .a file in an SVN, I have no way to make it show up in the
>>> status without client side modifications, and I think it's a really important
>>> missing feature
>> Where I work we have a strict policy that we don't release binaries that are built on normal workstations, just those on regulated build systems where we can 100% reproduce previous builds. Having a default that would make users commit locally build artifacts would go against that. We manage these artifacts using different tooling that was designed for that purpose.
>
> Well frankly I was under the impression that svn:global-ignores overrode
> the global-ignores client config setting. Apparently it does not ... I'd
> call that a bug, but that's water under the bridge ...
>
> -- Brane

Indeed, the designed behaviour (IIUC) was definitely that the
repository-dictated configuration would take priority over the
client's config setting [1] (except for command-line options, which
take even higher priority, as discussed / clarified here: [2]).

The OP has created a JIRA issue:
https://issues.apache.org/jira/browse/SVN-4699

I'll add these references also to that issue.

(Note to Peter Balogh: having the issue in JIRA does not mean it will
be solved more quickly -- someone still needs to pick it up,
investigate, discuss, and possibly come up with a patch -- any further
help there is most welcome :-))

[1] https://wiki.apache.org/subversion/ServerDictatedConfiguration#Configuration_hierarchy

[2] https://svn.haxx.se/dev/archive-2012-01/0210.shtml

--
Johan
Reply | Threaded
Open this post in threaded view
|

Re: override global-ignores from server side

Balogh Péter-2


On 2017-09-26 02:37, Johan Corveleyn wrote:

> On Tue, Sep 19, 2017 at 4:21 PM, Branko Čibej <[hidden email]> wrote:
>> On 19.09.2017 11:02, Bert Huijben wrote:
>>>> -----Original Message-----
>>>> From: Balogh Péter [mailto:[hidden email]]
>>>> Sent: dinsdag 19 september 2017 10:59
>>>> To: [hidden email]
>>>> Subject: Re: override global-ignores from server side
>>>>
>>>> Hi,
>>>>
>>>> Yes, I'm aware that adding the .a file manually is possible, but it does not
>>>> solve the issue, that we have to check manually after every library update, if
>>>> a new .a file is added And the issue won't show up, until we commit the
>>>> changes, and the CI build fails with a linking error The default list is not large,
>>>> that's why overriding it does not seem to be an irrational request But right
>>>> now, if I put a .a file in an SVN, I have no way to make it show up in the
>>>> status without client side modifications, and I think it's a really important
>>>> missing feature
>>> Where I work we have a strict policy that we don't release binaries that are built on normal workstations, just those on regulated build systems where we can 100% reproduce previous builds. Having a default that would make users commit locally build artifacts would go against that. We manage these artifacts using different tooling that was designed for that purpose.
>> Well frankly I was under the impression that svn:global-ignores overrode
>> the global-ignores client config setting. Apparently it does not ... I'd
>> call that a bug, but that's water under the bridge ...
>>
>> -- Brane
> Indeed, the designed behaviour (IIUC) was definitely that the
> repository-dictated configuration would take priority over the
> client's config setting [1] (except for command-line options, which
> take even higher priority, as discussed / clarified here: [2]).
>
> The OP has created a JIRA issue:
> https://issues.apache.org/jira/browse/SVN-4699
>
> I'll add these references also to that issue.
>
> (Note to Peter Balogh: having the issue in JIRA does not mean it will
> be solved more quickly -- someone still needs to pick it up,
> investigate, discuss, and possibly come up with a patch -- any further
> help there is most welcome :-))
>
> [1] https://wiki.apache.org/subversion/ServerDictatedConfiguration#Configuration_hierarchy
>
> [2] https://svn.haxx.se/dev/archive-2012-01/0210.shtml
>
Hi,

Thank you, yes, I understand the process :)
But if somebody can help me with some pointers, where to look for this
particular feature implementation, that would be really appreciated!
I'm new to the svn source :)

Best regards,
Peter


Reply | Threaded
Open this post in threaded view
|

Re: override global-ignores from server side

Daniel Shahaf-2
Balogh Péter wrote on Tue, Sep 26, 2017 at 11:24:14 +0200:
> Thank you, yes, I understand the process :)
> But if somebody can help me with some pointers, where to look for this
> particular feature implementation, that would be really appreciated!
> I'm new to the svn source :)

Can you ask a self-contained question?  I'm not sure from the thread
above what you're asking.

Are you asking how to use svn:global-ignores to REMOVE an entry from the
ignore list that's configured in the client's ~/.subversion/config
file's [miscellany]global-ignores knob (which, if commented out, falls
back to a compiled-in default)?

To answer your question as stated, the relevant layers are libsvn_repos
for the server, or libsvn_client and possibly libsvn_wc for the client;
the relevant code will be found by grepping for "IGNORE", which will
match the macro names for the relevant properties and config knobs.  But
we may be able to offer better advice if you ask a more specific
question.

Cheers,

Daniel