You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "Stephen A. Jazdzewski" <st...@jazd.com> on 2006/12/07 22:36:14 UTC
Re: promote, proposed new svn command
----- David Glasser <gl...@mit.edu> wrote:
> Generally, folks use merges to update paths to the newest version
> from
> somewhere else; that way the history lets you see what has changed
> since the last "push" instead of seeing it as a delete-and-replace.
I agree. This would not replace this kind of work flow.
> If you really want to do that, you can certainly
> delete-and-replace-with-history in a single commit, at the API level.
> The svn client only lets you do this in working copies, which is not
> appropriate for managing directories of branches. There is a
> "multi-URL-command client" in the contrib/client-side directory of
> the
> Subversion distribution called "mucc" that lets you do this:
>
> mucc rm file:///svn/build/project \
> cp head file:///svn/tag/project/alpha6.1
> file:///svn/build/project
>
> (You can build it with "make mucc"; "make install-contrib" will
> install it and a few other random things.)
Thank you. After a brief delay from a job change, I did compile and
install mucc today.
Here is an example of my proposed promote work flow using mucc:
General users pickup all current documents from svn://server/current
svn://server/current/doc/employee is currently a copy of
svn://server/tag/doc/employee/firstDraft
I need to make a change to the the latest employee manual, so first
I make a branch from the latest (trunk). The latest version is
slightly newer than the tag, I just have not promoted it yet.
So I will branch at latest.
$ svn copy svn://server/latest/doc/employee svn://server/branch/doc/employee/newDirective
I then switch my work area to the new branch
$ svn switch svn://server/branch/doc/employee/newDirective employee
Time to do my edits
$ ooffice2 employee/manual.odt
svn commit -m "Check point" employee
svn commit -m "New directive" employee
Switching back to the latest and merge my branch
$ svn switch svn://server/latest/doc/employee employee
$ svn merge -r27:29 svn://server/branch/doc/employee/newDirective employee
$ svn commit -m "Merged r27:29 branch/doc/employee/newDirective to latest" employee
Make a tag
$ svn copy svn://server/latest/doc/employee svn://server/tag/doc/employee/v1.1 -m "Updated with the new directive"
Now promote the svn://server/current/doc/employee to this tag
so the general employee population can now see it.
$ mucc -m "promoting new directive v1.1" rm svn://server/current/doc/employee cp 31 svn://server/tag/doc/employee/v1.1 svn://server/current/doc/employee
>I don't see a particular need to integrate this into the svn client,
>because it is not really in line with recommended svn practices but
>still is available via the API (to clients like mucc) for those who
>choose to work this way.
I hope this makes my intent a bit clearer. I have no issue continuing
to use mucc instead of a new svn command. But I still think it should
be considered as a new command since it makes things a bit easier for
non-developers to use the repository. Developers just need to keep
non-developers away from all but the svn://server/current tree.
Developers can continue to the rest of the repository as explained
in the 'recommended svn practices'.
I apologize if my use of 'latest' instead of 'trunk' has confused
anyone. Trees have branches, but they don't have tags, so why use trunk :)
-Stephen
------
Stephen Jazdzewski from my new job at http://www.CBTNuggets.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
[OT] Tree Analogies (Was: promote, proposed new svn command)
Posted by "Wesley J. Landaker" <wj...@icecavern.net>.
On Thursday 07 December 2006 15:36, Stephen A. Jazdzewski wrote:
> I apologize if my use of 'latest' instead of 'trunk' has confused
> anyone. Trees have branches, but they don't have tags, so why use trunk
> :)
You could always use 'trunk', 'branches', and 'leaves'. Or maybe 'needles'
if you are thinking about pine trees... (And where does fruit or cones fit
into all of this?! ;)
--
Wesley J. Landaker <wj...@icecavern.net> <xm...@icecavern.net>
OpenPGP FP: 4135 2A3B 4726 ACC5 9094 0097 F0A9 8A4C 4CD6 E3D2