You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ben Collins-Sussman <su...@collab.net> on 2003/11/16 00:46:36 UTC

Re: svn commit: rev 7770 - trunk/subversion/tests/clients/cmdline/svntest

On Sat, 2003-11-15 at 18:26, julianfoad@tigris.org wrote:

> * subversion/tests/clients/cmdline/svntest/actions.py
>   (guarantee_greek_repository): Import the greek tree because that is faster
>     than dumping and loading it.

Did you ask anyone about this?  Maybe I missed the thread.

We used to do this, but deliberately stopped doing it for some reason
that I can't recall.  At a minimum, it's an exercise of 'svnadmin
dump/load', which has no regression tests of its own.  But I think there
was another reason as well.



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

Re: svn commit: rev 7770 - trunk/subversion/tests/clients/cmdline/svntest

Posted by Greg Hudson <gh...@MIT.EDU>.
On Sun, 2003-11-16 at 05:04, Julian Foad wrote:
> I guessed there was a good reason for doing it, and guessed that that
> was because dump+load used to be faster than import, and that the
> recent performance work had reversed the situation.  Now I think about
> it, it might turn out to be slower than dump+load over RA-DAV; I
> didn't test that.

Another option, probably faster than an import, would be to dump the
repository once and load it each time.

(But it's probably not much faster than an import, so no big deal.  And
if we want tests of dump and load, we should have tests of dump and
load; we shouldn't rely on the testing framework for that.)


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

Re: svn commit: rev 7770 - trunk/subversion/tests/clients/cmdline/svntest

Posted by kf...@collab.net.
Philip Martin <ph...@codematters.co.uk> writes:
> I don't really understand.  We still use import, that's how we create
> the dumpfile that gets loaded.  Is using import/dump/load really that
> much of an improvement over just using import?
> 
> Another idea: the dumpfile is less than 4K.  How about versioning it,
> droping the import/dump and simply loading the versioned dumpfile?
> (This would have the effect that all the commit tests would use the
> same Last-Changed-Date for the loaded revisions, I don't know if that
> matters.)

We've talked about this before, +1 from everyone as far as I know.
Just no one's actually done it.

(I thought a dumpfile preserved the dates, btw?  It's just a revprop,
treated the same as any other, no?)


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

Re: svn commit: rev 7770 - trunk/subversion/tests/clients/cmdline/svntest

Posted by Philip Martin <ph...@codematters.co.uk>.
Julian Foad <ju...@btopenworld.com> writes:

>> It's not a good thing, period. The repository loader only depends on
>> the
>> dumpfile parser (which is pretty simple and stable) and libsvn_fs, which
>> has its own exhaustive tests. "svn import", on the other hand, depends
>> on all the libraries. Therefore, using "svnadmin load" to prepare the
>> initial tree give us much better confidence that the tests start in a
>> consistent state than using "svn import".
>> Please revert this change.
>
> Reverted in r7781.  Your reasoning seems concise and appropriate so
> I quoted it in the log message; I hope that's OK.

I don't really understand.  We still use import, that's how we create
the dumpfile that gets loaded.  Is using import/dump/load really that
much of an improvement over just using import?

Another idea: the dumpfile is less than 4K.  How about versioning it,
droping the import/dump and simply loading the versioned dumpfile?
(This would have the effect that all the commit tests would use the
same Last-Changed-Date for the loaded revisions, I don't know if that
matters.)


-- 
Philip Martin

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

Re: svn commit: rev 7770 - trunk/subversion/tests/clients/cmdline/svntest

Posted by Julian Foad <ju...@btopenworld.com>.
Branko Čibej wrote:
> Julian Foad wrote:
> 
>>Ben Collins-Sussman wrote:
>>
>>>On Sat, 2003-11-15 at 18:26, julianfoad@tigris.org wrote:
>>>
>>>>* subversion/tests/clients/cmdline/svntest/actions.py
>>>> (guarantee_greek_repository): Import the greek tree because that is faster
>>>>   than dumping and loading it.
>>>
>>>Did you ask anyone about this?  Maybe I missed the thread.
>>
>>No, I didn't.
>>
>>>We used to do this, but deliberately stopped doing it for some reason
>>>that I can't recall.  At a minimum, it's an exercise of 'svnadmin
>>>dump/load', which has no regression tests of its own.  But I think there
>>>was another reason as well.
>>
>>I guessed there was a good reason for doing it, and guessed that that
>>was because dump+load used to be faster than import, and that the
>>recent performance work had reversed the situation.  Now I think about
>>it, it might turn out to be slower than dump+load over RA-DAV; I
>>didn't test that.
>>
>>I didn't think of it being of use as a test in itself.
>>
>>Perhaps we could let it be exercised for a day or so and then I will
>>revert it if people think it is overall not a good thing.
> 
> It's not a good thing, period. The repository loader only depends on the
> dumpfile parser (which is pretty simple and stable) and libsvn_fs, which
> has its own exhaustive tests. "svn import", on the other hand, depends
> on all the libraries. Therefore, using "svnadmin load" to prepare the
> initial tree give us much better confidence that the tests start in a
> consistent state than using "svn import".
> 
> Please revert this change.

Reverted in r7781.  Your reasoning seems concise and appropriate so I quoted it in the log message; I hope that's OK.

> And next time, do discuss such things on the list first.

OK.

- Julian


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

Re: svn commit: rev 7770 - trunk/subversion/tests/clients/cmdline/svntest

Posted by Branko Čibej <br...@xbc.nu>.
Julian Foad wrote:

> Ben Collins-Sussman wrote:
>
>> On Sat, 2003-11-15 at 18:26, julianfoad@tigris.org wrote:
>>
>>> * subversion/tests/clients/cmdline/svntest/actions.py
>>>  (guarantee_greek_repository): Import the greek tree because that is
>>> faster
>>>    than dumping and loading it.
>>
>>
>> Did you ask anyone about this?  Maybe I missed the thread.
>
>
> No, I didn't.
>
>> We used to do this, but deliberately stopped doing it for some reason
>> that I can't recall.  At a minimum, it's an exercise of 'svnadmin
>> dump/load', which has no regression tests of its own.  But I think there
>> was another reason as well.
>
>
> I guessed there was a good reason for doing it, and guessed that that
> was because dump+load used to be faster than import, and that the
> recent performance work had reversed the situation.  Now I think about
> it, it might turn out to be slower than dump+load over RA-DAV; I
> didn't test that.
>
> I didn't think of it being of use as a test in itself.
>
> Perhaps we could let it be exercised for a day or so and then I will
> revert it if people think it is overall not a good thing.

It's not a good thing, period. The repository loader only depends on the
dumpfile parser (which is pretty simple and stable) and libsvn_fs, which
has its own exhaustive tests. "svn import", on the other hand, depends
on all the libraries. Therefore, using "svnadmin load" to prepare the
initial tree give us much better confidence that the tests start in a
consistent state than using "svn import".

Please revert this change. And next time, do discuss such things on the
list first.

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


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

Re: svn commit: rev 7770 - trunk/subversion/tests/clients/cmdline/svntest

Posted by Julian Foad <ju...@btopenworld.com>.
Ben Collins-Sussman wrote:
> On Sat, 2003-11-15 at 18:26, julianfoad@tigris.org wrote:
> 
>>* subversion/tests/clients/cmdline/svntest/actions.py
>>  (guarantee_greek_repository): Import the greek tree because that is faster
>>    than dumping and loading it.
> 
> Did you ask anyone about this?  Maybe I missed the thread.

No, I didn't.

> We used to do this, but deliberately stopped doing it for some reason
> that I can't recall.  At a minimum, it's an exercise of 'svnadmin
> dump/load', which has no regression tests of its own.  But I think there
> was another reason as well.

I guessed there was a good reason for doing it, and guessed that that was because dump+load used to be faster than import, and that the recent performance work had reversed the situation.  Now I think about it, it might turn out to be slower than dump+load over RA-DAV; I didn't test that.

I didn't think of it being of use as a test in itself.

Perhaps we could let it be exercised for a day or so and then I will revert it if people think it is overall not a good thing.

- Julian


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

Re: svn commit: rev 7770 - trunk/subversion/tests/clients/cmdline/svntest

Posted by Julian Foad <ju...@btopenworld.com>.
Ben Collins-Sussman wrote:
> On Sat, 2003-11-15 at 18:26, julianfoad@tigris.org wrote:
> 
>>* subversion/tests/clients/cmdline/svntest/actions.py
>>  (guarantee_greek_repository): Import the greek tree because that is faster
>>    than dumping and loading it.
[...]
> We used to do this, but deliberately stopped doing it for some reason
> that I can't recall.  At a minimum, it's an exercise of 'svnadmin
> dump/load', which has no regression tests of its own.  But I think there
> was another reason as well.

It appears that what we deliberately stopped doing was not this, but something different:

------------------------------------------------------------------------
r4147 | philip | 2002-12-17 21:13:54 +0000 (Tue, 17 Dec 2002) | 13 lines

Use a dump/load cycle to copy repositories intead of an OS filesystem
copy, as the latter does not guarantee a valid repository.  This allows
the regression tests to run reliably over ra_svn, but it does mean that
most of the client tests depend on a working dump/load.

* subversion/tests/clients/cmdline/svntest/main.py (copy_repos): New.

* subversion/tests/clients/cmdline/externals_tests.py
  (externals_test_setup): Use copy_repos.

* subversion/tests/clients/cmdline/svntest/actions.py
  (guarantee_greek_repository): Use copy_repos.
------------------------------------------------------------------------