Renaming a project
This manipulation isn't supported by Savane, and isn't simple to implement safely.
We here provide a Savannah-specific solution as a work-around. The idea
is to run
~/maintenance/rename_project.sh. However, since it's a
kludgy script, you're supposed to understand how Savannah works before
using it, just in case. If you don't, ask someone who does. Hopefully
The last line of output from the script shows a curl invocation. You should run that by hand, with the appropriate "gnu" or "non-gnu" argument, as shown.
Also, some parts can't be managed by Savane directly, namely the web pages and the mailing lists. Hence the script doesn't do anything for those. Some details:
You must explicitly ask sysadmin to rename www.nongnu.org/projname or www.gnu.org/software/projname. Nothing automatically removes the old web pages otherwise, so the result is accumulating cruft.
http://list.org/faq.html ("Q. How do I rename a list?") - apparently it's pretty messy to cleanly rename a list. Beware that by renaming a list, you change the archives URLs, and hence break lots of links. Stable archive links is something people often care about.
if [ -e /var/mailman/lists/$new ]; then exit 1; fi # firstname.lastname@example.org mv /var/mailman/lists/$old /var/mailman/lists/$new mv /var/mailman/archives/private/$old /var/mailman/archives/private/$new mv /var/mailman/archives/private/$old.mbox /var/mailman/archives/private/$new.mbox if [ -h /var/mailman/archives/public/$old ]; then rm -f /var/mailman/archives/public/$old ln -sf /var/mailman/archives/private/$new /var/mailman/archives/public/$new fi for i in /var/mailman/data/heldmsg-$old-*; do if echo $i | grep 'heldmsg-'$old'-\([0-9]\+\).pck$' > /dev/null; then mv $i `echo $i | sed 's,heldmsg-'$old'-\([0-9]\+\).pck$,heldmsg-'$new'-\1.pck,'` fi done # email@example.com mv mbox/$old mbox/$new mv html/$old html/$new
- rename in Savannah database if attached to a Savannah project (using internal.in.sv.gnu.org for this is preferred):
UPDATE savane.mail_group_list SET list_name='NEW' WHERE list_name='OLD';
For the sake of example, this is some (not all) of what the script does.
Rename the group in the database:
or use mysql directly:
UPDATE groups SET unix_group_name="newname" WHERE group_id="id" AND unix_group_name="oldname";
Change the system group name, so that Savane doesn't create a new group:
- Change /vservers/accounts/etc/group
Rename project folders, namely cvs/svn/arch/git/hg/bzr/download.
Etc... good luck ...