--- Matthieu Moy <Matthieu.Moy@imag.fr> wrote:
> Les Mikesell <lesmikesell@gmail.com> writes:
>
> >> There's no point having branches if you
> >> don't have merge, and there's very little point having it if you
> don't
> >> have switch.
> >
> > You don't need a merge unless you want to combine the work back
> onto
> > the trunk. If this work is graded and discarded, you just need the
> > equivalent of a branch copy per student, which you don't have to
> call
> > a branch unless you want to.
> Then I missed something.
> I'm repeating myself, but here's the old CVS flow:
> 1) When the students have something reasonable, they put the tag
> once.
> 2) Then, they can continue working, and commiting.
> 3) When they tested a commit enough, they can move the tag. They can
> move the tag as many times as they want, the last tag is the one
> taken into account.
> Now, with SVN, I have a similar flow, but "moving a tag" is done in
> two steps, and I'm looking for something simpler.
> I really don't see how the students could do 3) above without a
> merge.
You don't necessarily need a merge - you can just create another
branch/copy.
Your process from CVS can translate to:
1) Work on a SVN Branch dedicated to that student group for that
project.
2) When they have something reasonable, branch/copy to "submit" area
3) You have a choice:
3a) If the student wants to resubmit something, they can merge from
their workspace (their "unofficial" area) to their "submit" area (the
'official' drop box).
3b) If the student wants to resubmit something, they can simply
branch/copy again to the "submit" area using a different name (perhaps
using dates)
In either respect, the student should be working primarily in their own
repository space for the project, which would act as their test area
(as you call, or the 'unofficial' area as Les called it) and then
branch/copy to the 'submit' area for the finalization. How they update
the submit area is up to you - and you can chose 3a or 3b above. Those
are probably the easiest, and most straight forward, but there are
other solutions.
> >>> Or you could check out their project state at deadline time
> >>> by checking out by date (which would also work in CVS).
> >
> >> This doesn't allow them to commit an "unofficial version" (i.e. a
> >> version for test, not taken into account by us until the tag).
> >
> > Aren't all versions unofficial, then?
> What do you mean?
> The "official" version is the one pointed to by the tag, at the time
> of the deadline. There's one (and only one).
Instead of thinking 'tag' as in CVS, think Namespace - like a C++ name
space. There's still only one, but there can be many things underneath
it. Hopefully the above helps.
Ben
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Oct 30 22:05:15 2007