You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Julian Foad <ju...@btopenworld.com> on 2008/10/20 10:45:15 UTC

Re: No environment variables (was: svn commit: r33767 - trunk/subversion/libsvn_ra)

On Sun, 2008-10-19 at 19:56 -0700, Greg Stein wrote:
> Woah...
> 
> I don't support this change. One of svn's design points when we first
> started was "no environment variables". Yes, we have some, but each
> was considered carefully before adding. The reason to avoid
> environment variables is that they subtly alter the operation of the
> software. If you have/don't-have the variable defined, then the code
> acts quite differently.

Heh. I support the position of "no environment variables", but it's
harder than that to explain the reason. (The reader who needs convincing
responds to the above with, "Well, duh, of course that's what they do.
Just like other kinds of configuration settings. That's the whole
point!") The reasons why an environment variable is not good for this
kind of setting have to do with the disconnect between where the
settings are configured (in some arbitrary shell script) and where
they're used (in Subversion), the ephemeral nature of the "environment",
e.g. it changes when you enter or leave a sub-shell, and things like
that.

Arfrever, if there are reasons why it is much better to allow this to be
configured by an env var, please say. (Being convenient for testing is
not a sufficient reason.)

- Julian


>  Our goal was to make Subversion's operation as
> obvious and straight-forward as possible, and one of the ways to that
> was to minimize the use of environment variables.
> 
> In this case, a user can set a configuration value, so there is no
> need for an environment variable.
> 
> -g
> 
> On Sun, Oct 19, 2008 at 6:31 PM,  <ar...@tigris.org> wrote:
> > Author: arfrever
> > Date: Sun Oct 19 18:31:27 2008
> > New Revision: 33767
> >
> > Log:
> > Support SVN_HTTP_LIBRARY environment variable for specifying which HTTP library
> > should be used.
> >
> > * subversion/libsvn_ra/ra_loader.c
> >  (svn_ra_open3): Use SVN_HTTP_LIBRARY environment variable if it exists.
> >   Otherwise use http-library configuration option.




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

Re: No environment variables (was: svn commit: r33767 - trunk/subversion/libsvn_ra)

Posted by Greg Stein <gs...@gmail.com>.
Added a blocker note to TODO-1.6.

2008/12/26 Greg Stein <gs...@gmail.com>:
> Then use a config variable, rather than an environment variable.
>
> On Thu, Dec 25, 2008 at 20:32, Arfrever Frehtes Taifersar Arahesis
> <ar...@gmail.com> wrote:
>> 2008-12-25 16:35:59 Greg Stein napisał(a):
>>> Thanks for catching this before we branched! Yes, we need a convincing
>>> argument, or a revert here.
>>
>> I want to be able to use a script which sets HTTP library and calls svn with
>> a relatively unique config directory ('--config-dir ${DIR}' option) which shouldn't
>> be directly accessed by users.
>>
>>> On Dec 25, 2008, at 5:11, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
>>>
>>> > Ping.
>>> >
>>> > The code hasn't been reverted, and I don't see consensus reached in
>>> > the
>>> > thread.  What's the current consensus?
>>> >
>>> > Daniel
>>> >
>>> > Julian Foad wrote on Mon, 20 Oct 2008 at 11:45 +0100:
>>> >> On Sun, 2008-10-19 at 19:56 -0700, Greg Stein wrote:
>>> >>> Woah...
>>> >>>
>>> >>> I don't support this change. One of svn's design points when we
>>> >>> first
>>> >>> started was "no environment variables". Yes, we have some, but each
>>> >>> was considered carefully before adding. The reason to avoid
>>> >>> environment variables is that they subtly alter the operation of the
>>> >>> software. If you have/don't-have the variable defined, then the code
>>> >>> acts quite differently.
>>> >>
>>> >> Heh. I support the position of "no environment variables", but it's
>>> >> harder than that to explain the reason. (The reader who needs
>>> >> convincing
>>> >> responds to the above with, "Well, duh, of course that's what they
>>> >> do.
>>> >> Just like other kinds of configuration settings. That's the whole
>>> >> point!") The reasons why an environment variable is not good for this
>>> >> kind of setting have to do with the disconnect between where the
>>> >> settings are configured (in some arbitrary shell script) and where
>>> >> they're used (in Subversion), the ephemeral nature of the
>>> >> "environment",
>>> >> e.g. it changes when you enter or leave a sub-shell, and things like
>>> >> that.
>>> >>
>>> >> Arfrever, if there are reasons why it is much better to allow this
>>> >> to be
>>> >> configured by an env var, please say. (Being convenient for testing
>>> >> is
>>> >> not a sufficient reason.)
>>> >>
>>> >> - Julian
>>> >>
>>> >>
>>> >>> Our goal was to make Subversion's operation as
>>> >>> obvious and straight-forward as possible, and one of the ways to
>>> >>> that
>>> >>> was to minimize the use of environment variables.
>>> >>>
>>> >>> In this case, a user can set a configuration value, so there is no
>>> >>> need for an environment variable.
>>> >>>
>>> >>> -g
>>> >>>
>>> >>> On Sun, Oct 19, 2008 at 6:31 PM,  <ar...@tigris.org> wrote:
>>> >>>> Author: arfrever
>>> >>>> Date: Sun Oct 19 18:31:27 2008
>>> >>>> New Revision: 33767
>>> >>>>
>>> >>>> Log:
>>> >>>> Support SVN_HTTP_LIBRARY environment variable for specifying
>>> >>>> which HTTP library
>>> >>>> should be used.
>>> >>>>
>>> >>>> * subversion/libsvn_ra/ra_loader.c
>>> >>>> (svn_ra_open3): Use SVN_HTTP_LIBRARY environment variable if it
>>> >>>> exists.
>>> >>>>  Otherwise use http-library configuration option.
>>>
>>
>> --
>> Arfrever Frehtes Taifersar Arahesis
>>
>

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=994533

Re: No environment variables (was: svn commit: r33767 - trunk/subversion/libsvn_ra)

Posted by Greg Stein <gs...@gmail.com>.
Then use a config variable, rather than an environment variable.

On Thu, Dec 25, 2008 at 20:32, Arfrever Frehtes Taifersar Arahesis
<ar...@gmail.com> wrote:
> 2008-12-25 16:35:59 Greg Stein napisał(a):
>> Thanks for catching this before we branched! Yes, we need a convincing
>> argument, or a revert here.
>
> I want to be able to use a script which sets HTTP library and calls svn with
> a relatively unique config directory ('--config-dir ${DIR}' option) which shouldn't
> be directly accessed by users.
>
>> On Dec 25, 2008, at 5:11, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
>>
>> > Ping.
>> >
>> > The code hasn't been reverted, and I don't see consensus reached in
>> > the
>> > thread.  What's the current consensus?
>> >
>> > Daniel
>> >
>> > Julian Foad wrote on Mon, 20 Oct 2008 at 11:45 +0100:
>> >> On Sun, 2008-10-19 at 19:56 -0700, Greg Stein wrote:
>> >>> Woah...
>> >>>
>> >>> I don't support this change. One of svn's design points when we
>> >>> first
>> >>> started was "no environment variables". Yes, we have some, but each
>> >>> was considered carefully before adding. The reason to avoid
>> >>> environment variables is that they subtly alter the operation of the
>> >>> software. If you have/don't-have the variable defined, then the code
>> >>> acts quite differently.
>> >>
>> >> Heh. I support the position of "no environment variables", but it's
>> >> harder than that to explain the reason. (The reader who needs
>> >> convincing
>> >> responds to the above with, "Well, duh, of course that's what they
>> >> do.
>> >> Just like other kinds of configuration settings. That's the whole
>> >> point!") The reasons why an environment variable is not good for this
>> >> kind of setting have to do with the disconnect between where the
>> >> settings are configured (in some arbitrary shell script) and where
>> >> they're used (in Subversion), the ephemeral nature of the
>> >> "environment",
>> >> e.g. it changes when you enter or leave a sub-shell, and things like
>> >> that.
>> >>
>> >> Arfrever, if there are reasons why it is much better to allow this
>> >> to be
>> >> configured by an env var, please say. (Being convenient for testing
>> >> is
>> >> not a sufficient reason.)
>> >>
>> >> - Julian
>> >>
>> >>
>> >>> Our goal was to make Subversion's operation as
>> >>> obvious and straight-forward as possible, and one of the ways to
>> >>> that
>> >>> was to minimize the use of environment variables.
>> >>>
>> >>> In this case, a user can set a configuration value, so there is no
>> >>> need for an environment variable.
>> >>>
>> >>> -g
>> >>>
>> >>> On Sun, Oct 19, 2008 at 6:31 PM,  <ar...@tigris.org> wrote:
>> >>>> Author: arfrever
>> >>>> Date: Sun Oct 19 18:31:27 2008
>> >>>> New Revision: 33767
>> >>>>
>> >>>> Log:
>> >>>> Support SVN_HTTP_LIBRARY environment variable for specifying
>> >>>> which HTTP library
>> >>>> should be used.
>> >>>>
>> >>>> * subversion/libsvn_ra/ra_loader.c
>> >>>> (svn_ra_open3): Use SVN_HTTP_LIBRARY environment variable if it
>> >>>> exists.
>> >>>>  Otherwise use http-library configuration option.
>>
>
> --
> Arfrever Frehtes Taifersar Arahesis
>

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=993610

Re: No environment variables (was: svn commit: r33767 - trunk/subversion/libsvn_ra)

Posted by Arfrever Frehtes Taifersar Arahesis <Ar...@GMail.Com>.
2008-12-25 16:35:59 Greg Stein napisał(a):
> Thanks for catching this before we branched! Yes, we need a convincing  
> argument, or a revert here.

I want to be able to use a script which sets HTTP library and calls svn with
a relatively unique config directory ('--config-dir ${DIR}' option) which shouldn't
be directly accessed by users.

> On Dec 25, 2008, at 5:11, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
> 
> > Ping.
> >
> > The code hasn't been reverted, and I don't see consensus reached in  
> > the
> > thread.  What's the current consensus?
> >
> > Daniel
> >
> > Julian Foad wrote on Mon, 20 Oct 2008 at 11:45 +0100:
> >> On Sun, 2008-10-19 at 19:56 -0700, Greg Stein wrote:
> >>> Woah...
> >>>
> >>> I don't support this change. One of svn's design points when we  
> >>> first
> >>> started was "no environment variables". Yes, we have some, but each
> >>> was considered carefully before adding. The reason to avoid
> >>> environment variables is that they subtly alter the operation of the
> >>> software. If you have/don't-have the variable defined, then the code
> >>> acts quite differently.
> >>
> >> Heh. I support the position of "no environment variables", but it's
> >> harder than that to explain the reason. (The reader who needs  
> >> convincing
> >> responds to the above with, "Well, duh, of course that's what they  
> >> do.
> >> Just like other kinds of configuration settings. That's the whole
> >> point!") The reasons why an environment variable is not good for this
> >> kind of setting have to do with the disconnect between where the
> >> settings are configured (in some arbitrary shell script) and where
> >> they're used (in Subversion), the ephemeral nature of the  
> >> "environment",
> >> e.g. it changes when you enter or leave a sub-shell, and things like
> >> that.
> >>
> >> Arfrever, if there are reasons why it is much better to allow this  
> >> to be
> >> configured by an env var, please say. (Being convenient for testing  
> >> is
> >> not a sufficient reason.)
> >>
> >> - Julian
> >>
> >>
> >>> Our goal was to make Subversion's operation as
> >>> obvious and straight-forward as possible, and one of the ways to  
> >>> that
> >>> was to minimize the use of environment variables.
> >>>
> >>> In this case, a user can set a configuration value, so there is no
> >>> need for an environment variable.
> >>>
> >>> -g
> >>>
> >>> On Sun, Oct 19, 2008 at 6:31 PM,  <ar...@tigris.org> wrote:
> >>>> Author: arfrever
> >>>> Date: Sun Oct 19 18:31:27 2008
> >>>> New Revision: 33767
> >>>>
> >>>> Log:
> >>>> Support SVN_HTTP_LIBRARY environment variable for specifying  
> >>>> which HTTP library
> >>>> should be used.
> >>>>
> >>>> * subversion/libsvn_ra/ra_loader.c
> >>>> (svn_ra_open3): Use SVN_HTTP_LIBRARY environment variable if it  
> >>>> exists.
> >>>>  Otherwise use http-library configuration option.
> 

-- 
Arfrever Frehtes Taifersar Arahesis

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=992741

Re: No environment variables (was: svn commit: r33767 - trunk/subversion/libsvn_ra)

Posted by Greg Stein <gs...@gmail.com>.
Thanks for catching this before we branched! Yes, we need a convincing  
argument, or a revert here.



On Dec 25, 2008, at 5:11, Daniel Shahaf <d....@daniel.shahaf.name> wrote:

> Ping.
>
> The code hasn't been reverted, and I don't see consensus reached in  
> the
> thread.  What's the current consensus?
>
> Daniel
>
> Julian Foad wrote on Mon, 20 Oct 2008 at 11:45 +0100:
>> On Sun, 2008-10-19 at 19:56 -0700, Greg Stein wrote:
>>> Woah...
>>>
>>> I don't support this change. One of svn's design points when we  
>>> first
>>> started was "no environment variables". Yes, we have some, but each
>>> was considered carefully before adding. The reason to avoid
>>> environment variables is that they subtly alter the operation of the
>>> software. If you have/don't-have the variable defined, then the code
>>> acts quite differently.
>>
>> Heh. I support the position of "no environment variables", but it's
>> harder than that to explain the reason. (The reader who needs  
>> convincing
>> responds to the above with, "Well, duh, of course that's what they  
>> do.
>> Just like other kinds of configuration settings. That's the whole
>> point!") The reasons why an environment variable is not good for this
>> kind of setting have to do with the disconnect between where the
>> settings are configured (in some arbitrary shell script) and where
>> they're used (in Subversion), the ephemeral nature of the  
>> "environment",
>> e.g. it changes when you enter or leave a sub-shell, and things like
>> that.
>>
>> Arfrever, if there are reasons why it is much better to allow this  
>> to be
>> configured by an env var, please say. (Being convenient for testing  
>> is
>> not a sufficient reason.)
>>
>> - Julian
>>
>>
>>> Our goal was to make Subversion's operation as
>>> obvious and straight-forward as possible, and one of the ways to  
>>> that
>>> was to minimize the use of environment variables.
>>>
>>> In this case, a user can set a configuration value, so there is no
>>> need for an environment variable.
>>>
>>> -g
>>>
>>> On Sun, Oct 19, 2008 at 6:31 PM,  <ar...@tigris.org> wrote:
>>>> Author: arfrever
>>>> Date: Sun Oct 19 18:31:27 2008
>>>> New Revision: 33767
>>>>
>>>> Log:
>>>> Support SVN_HTTP_LIBRARY environment variable for specifying  
>>>> which HTTP library
>>>> should be used.
>>>>
>>>> * subversion/libsvn_ra/ra_loader.c
>>>> (svn_ra_open3): Use SVN_HTTP_LIBRARY environment variable if it  
>>>> exists.
>>>>  Otherwise use http-library configuration option.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=992410

Re: No environment variables (was: svn commit: r33767 - trunk/subversion/libsvn_ra)

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Ping.

The code hasn't been reverted, and I don't see consensus reached in the 
thread.  What's the current consensus?

Daniel

Julian Foad wrote on Mon, 20 Oct 2008 at 11:45 +0100:
> On Sun, 2008-10-19 at 19:56 -0700, Greg Stein wrote:
> > Woah...
> > 
> > I don't support this change. One of svn's design points when we first
> > started was "no environment variables". Yes, we have some, but each
> > was considered carefully before adding. The reason to avoid
> > environment variables is that they subtly alter the operation of the
> > software. If you have/don't-have the variable defined, then the code
> > acts quite differently.
> 
> Heh. I support the position of "no environment variables", but it's
> harder than that to explain the reason. (The reader who needs convincing
> responds to the above with, "Well, duh, of course that's what they do.
> Just like other kinds of configuration settings. That's the whole
> point!") The reasons why an environment variable is not good for this
> kind of setting have to do with the disconnect between where the
> settings are configured (in some arbitrary shell script) and where
> they're used (in Subversion), the ephemeral nature of the "environment",
> e.g. it changes when you enter or leave a sub-shell, and things like
> that.
> 
> Arfrever, if there are reasons why it is much better to allow this to be
> configured by an env var, please say. (Being convenient for testing is
> not a sufficient reason.)
> 
> - Julian
> 
> 
> >  Our goal was to make Subversion's operation as
> > obvious and straight-forward as possible, and one of the ways to that
> > was to minimize the use of environment variables.
> > 
> > In this case, a user can set a configuration value, so there is no
> > need for an environment variable.
> > 
> > -g
> > 
> > On Sun, Oct 19, 2008 at 6:31 PM,  <ar...@tigris.org> wrote:
> > > Author: arfrever
> > > Date: Sun Oct 19 18:31:27 2008
> > > New Revision: 33767
> > >
> > > Log:
> > > Support SVN_HTTP_LIBRARY environment variable for specifying which HTTP library
> > > should be used.
> > >
> > > * subversion/libsvn_ra/ra_loader.c
> > >  (svn_ra_open3): Use SVN_HTTP_LIBRARY environment variable if it exists.
> > >   Otherwise use http-library configuration option.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=992307