Hi Stephen, Stephen H. Dawson wrote: > I am maintaining GNU remotecontrol. We are preparing for our next > version release. We have taken the present version of code to end of > life. I have made a copy of everything in our /trunk directory to an > archive directory, so we have it for legacy. > > http://svn.savannah.gnu.org/viewvc/branches/Version1.1-EOL/?root=remotecontrol
Good! Looking in that directory I see that some source rpms have been checked into the repository. Since source rpms replicate the source that should be found elsewhere in the repository that is generally frowned upon. It is rather the same as checking in a distribution tar.gz file. Same thing. It duplicates the source found elsewhere. It is too late for those since those are already checked in but it is best to avoid doing that in the future. > My objective now is to: > -First, svn remove all files and directories from our /trunk directory. > > -Second, svn add everything from my > /home/stephen/remotecontrol/branches/Version2.0/ directory to my > /home/stephen/remotecontrol/trunk/ directory. Note that there are as many different work flows as there are people working with them. There is more than one way to do things. Given the goal that you have in mind these actions sound reasonable to me. You are wanting to convert the Version2.0 branch over in the branches directory over to the main trunk area. Given that then what you propose seems reasonable to me. Note that since the files have previously been checked into subversions repository they are safe there in the version history. Removing them from the top of trunk does not remove them from the version history. Anyone may still check out the files from the history. > I am not sure what will happen with the first item, but my best guess is: > svn delete [SOMETHING FOR RECURSIVE] /home/stephen/remotecontrol/trunk/ > svn commit -m "Clearing out for next version release." I recall the default delete to be recursive already and no options are needed. > I am not sure, but I am guessing the syntax for the second item is: > svn add /home/stephen/remotecontrol/branches/Version2.0/ > /home/stephen/remotecontrol/trunk/ > svn commit -m "Version 2.0 release." I am a little confused by the "Version 2.0 release." message. It seems to me that at release the trunk would be moved to a release branch. But here instead of releasing you are moving it to trunk for continued development. If so then I would say that instead. But do whatever you think is the most appropriate thing to do. And not "add" but "move" or "copy" depending upon what your desire is about leaving the copy in the branches directory. I am guessing you want to "move" the branch into trunk for continued development. This requires that trunk has been removed first or it will create a subdirectory under trunk. svn update svn del trunk svn move branches/Version2.0 trunk svn commit -m "Moving branch to main trunk for continued development." I see that you have checked out the entire repository branches, tags, and trunk. That is okay. You can certainly do that. And having done so the above is slightly easier. But it is more typical to check out just the trunk or just the branch that you want to work upon. svn checkout svn+ssh://svn.savannah.gnu.org/remotecontrol/trunk remotecontrol That checks out just the trunk and is the most typical thing to do. In which case you might be asking yourself, if I just check out trunk then how do I do branch and tag movements? Good question! Use the full repository URL for those moves and operate directly on the repository. Doing the above without everything checked out directly in the repository would be like this. This URLs are always quite long but this is still the typical way it is done. Note that these commands don't use a local working copy at all. svn del svn+ssh://svn.savannah.gnu.org/remotecontrol/trunk svn move svn+ssh://svn.savannah.gnu.org/remotecontrol/branches/Version2.0 svn+ssh://svn.savannah.gnu.org/remotecontrol/trunk I would think that this would be a good time to create a tag of the current state of things. In subversion tags are just copies into the tags directory. svn copy svn+ssh://svn.savannah.gnu.org/remotecontrol/trunk svn+ssh://svn.savannah.gnu.org/remotecontrol/tags/Release-2.0 Tags and branches are actually just he same to subversion. But by convention we always treat tags as read-only. We create them, we _might_ delete them if that is the appropriate thing to do. But by convention we don't make modifications in the tags. If we wish to make modifications we modify either in trunk or in a branch and then create a new and different tag and tag again. > Please kindly advise on my 2 syntax inquires. I thank you in advance for > your time and assistance. Thank you for asking the mailing list! Hopefully I was able to answer your questions. If not please ask again. Or perhaps others might think my answer wrong or insufficient in which case corrections are kindly requested. Bob
