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

Re: [RFC] Stop sleeping for timestamps when running tests

From: Erik Huelsmann <ehuels_at_gmail.com>
Date: 2007-03-12 21:17:59 CET

On 3/12/07, Peter Lundblad <plundblad@google.com> wrote:
> Ivan Zhakov writes:
> > - I propose to make semantic of variable similar as SVN_ASP_DOT_NET_HACK.
> > I.e. make variable SVN_NO_SLEEP_FOR_TIMESTAMPS and doesn't care
> > about it's contents.
> >
> >
>
> Erik,
>
> You're talking about running tests, but your patch unconditinally checks for
> this variable.

Yes. Because I thought about disabling the sleep in maintainer-mode
builds, but it turned out to be a bad idea. Then, several iterations
later, I had a 'cleaner' code instance (the current one), which didn't
really need conditionalising, because I thought it was 'clean
enough'...

> - When sending out an RFC, it is often good to wait a few days to collect
> feedback. Why rush with this patch?

Well, I'm not trying to rush the patch itself as much as that I'm
trying to clear my working copy again: in the past I've had other
cases with un-committed stuff in my working copy which has ended up in
commits of other stuff. I'd like to have a clean slate. I'll remove it
again as soon as there are objections.

> - You're adding this functionality to a (more or less) general-purpose
> A:I, but the documentation says nothing about that.

> - The implementation makes this available in all builds.
> "Don't tell anyone about it, but there's an undocumented hack that makes
> your client slightly faster." Is this something we want to support?

In cases where the sleep actually matters (ie slows down the process),
we're probably looking at automated environments. Exactly these
environments require the sleep. So, generally, no, I don't think we
want users to use this feature. Though I'm not really 'hiding' it or
anything.

> - This makes us not run the code people use when we run our tests.
> I know the slow test suite is annoying, but I'm against circumventing the
> sleep when running most tests by default.

Only a very limited number of users needs these sleeps. Any operation
which optionally writes to the working copy needs sleeps to work well
in an automated environment.

I think we can quite well estimate which operations should require
sleeps and test their behaviour in the test suite.

What I mean to say with the above remarks is that
1) we can explicitly test for those cases
2) the importance of sleeping has reduced (but not eliminated) with
the working-size change

While I typed the above, we had a discussion on IRC which I'll try to summarize:

1) users may not need it, but generally when it hurts the most, they
do (because the sleep is designed to make timestamps a reliable
heuristic especially in automated environments)
2) the current code isn't conditionalized on maintainer-mode, but it
should be, because otherwise we'll unwillingly export an option to
users we don't want them to use.
3) the envvar would also (next to [2]) be inconsistent with other
means of providing user options (because those are provided through
the config file)

Which means that we concluded the code consulting the envvar isn't
wrong, but should be conditionalized.

bye,

Erik.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Mar 12 21:18:25 2007

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