[Dune] suggestion for testing
Oliver Sander
sander at mi.fu-berlin.de
Wed May 21 12:12:42 CEST 2008
Hi!
I agree with Sven in that the amtliche solution would be to have
a special testing branch. However I think for a project of our size
both Sven's and Andreas's suggestions are overkill. There is currently
a refactoring of the build system and, yes, there have been disruptive
patches. But looking at the last years this has been really rare.
I propose the following procedure:
- no additional branches
- get the automated build system running again [in fact, I suppose it
would have been smarter to have that _before_ starting to tear apart
the build system]
- post a warning to the list before committing something dangerous.
In the long run I do not expect this to happen very often.
- If svn-head is broken: do not get mad. It is a development branch
after all. If you need some stability do not update after a warning
has been issued. If you needs lots of stability use a release branch.
--
Oliver
Sven Marnach schrieb:
> Hi Andreas,
>
> Andreas Dedner schrieb am Mo, 19. Mai 2008, um 15:51:40 +0200:
>
>>> Managing patches is actually the job of a version control system. The
>>> usual way of dealing with this problem is to have a testing branch
>>> where all dubious patches go, people or test suites test this branch,
>>> and patches that are found to be working fine are merged back to the
>>> trunk.
>>>
>> I agree, but do you have a suggestion of how
>> this can be done without too much fuss?
>> Would this require a development branch in which
>> changes are committed and then they are merged
>> into the trunk after some testing. What would be
>> a good way of doing this?
>>
>
> That's what I would suggest. Patches go to testing first, and are
> merged to the trunk if they pass the automatic tests. Maybe every
> developer should be responsible to merge her own patches to the
> trunk. Of course this involves to commit every patch twice, but we
> won't be able to solve the problem without _any_ additional work.
>
>
>> Having a directory of the form
>> dune.org/patches/today/patch*
>> would perhaps not be perfect but would be easy
>> to get working right a way.
>>
>
> I see several problems with this approach. First, it would be more
> work to set it up than my suggestion. You would have to adapt your
> test scripts to find the correct patches, apply them, deal with
> conflicts etc. We would have to provide an upload infrastructure etc.
> In contrast, the solution I suggested requires to create a testing
> branch in subversion and tell the test suite to check out the testing
> branch instead of the trunk.
>
> Second, you wouldn't have any help in merging. Patches can (and will)
> conflict to each other and can conflict to commits that are posted
> after the patch was uploaded. If some hunk in a patch conflicts with
> a later commit, the patch won't apply. You have to deal with all
> conflicting hunks manually. Subversion would perform a three way
> merge and deal with conflicts in the usual way, i.e. writing all three
> version in files an generate a partially merged file with conflict
> markers. Of course, you could create an infrastructure that keeps
> track of the respective version each patch applies to and write
> scripts to try a three way merge, but that surely would be a lot of
> work to get a functionality svn provides out of the box. Subversion
> doesn't help you in merging as much as better RCS's, but it is surely
> more convenient than doing everything manually.
>
> I think your suggestion would produce _lots_ of work, much more than
> the way I suggested. But I have another suggestion that is even less
> work. The automatic test suite could be modified to create a
> subversion tag pointing to the latest version that passes the test
> suite, and update this tag every time the test suite passes. So if
> someone just needs a working version, she would know where to look for
> the latest working version.
>
> Greetings from Stuttgart,
> Sven
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
>
--
************************************************************************
* Oliver Sander ** email: sander at mi.fu-berlin.de *
* Freie Universität Berlin ** phone: + 49 (30) 838 75217 *
* Institut für Mathematik II ** URL : page.mi.fu-berlin.de/~sander *
* Arnimallee 6 ** -------------------------------------*
* 14195 Berlin, Germany ** Member of MATHEON (www.matheon.de) *
************************************************************************
More information about the Dune
mailing list