http://drupal.org/node/57516#release appears to be a big problem. i know i've personally dealt with about a dozen such requests already, and i'm sure more are on the way:

mysql> select count(*) from project_release_nodes p inner join cvs_tags c ON p.pid = c.nid AND p.tag = c.tag WHERE p.rebuild = 1 and c.branch = 0;
+----------+
| count(*) |
+----------+
|      226 |
+----------+

broken down by version, this is:
DRUPAL-4-7: 75
DRUPAL-4-6: 92
DRUPAL-4-5: 38
all others: 21

maybe we should just brute force these and convert them all from a tag into a branch in 1 giant operation? i could write a trivial script to do the conversion, then feed it the input with an SQL query like the one above. then, no one would ever get hit by this error message again, no project admins (namely me) would have to do this manual effort, and i'd never have to bother implementing a solution for http://drupal.org/node/103427.

the xcvs-taginfo.php script now prevents people from adding things like DRUPAL-4-7 or DRUPAL-5 as a tag... they *must* add them as branches. so, we'd only have to do this conversion once, then it'd be fixed forever.

the conversion script could even pull the project maintainer's email out of the DB and send them a note saying something like:

"the DRUPAL-4-7 CVS tag on your 'foo' project has been converted into a CVS branch. see http://drupal.org/handbook/cvs/introduction#branches-and-tags for details".

tempting, huh?

any objections? downsides? this is going to turn into a *serious* waste of my time if i have to manually help people for each of these 75 DRUPAL-4-7 tags, and possibly some of the DRUPAL-4-6 ones, too. :(

CommentFileSizeAuthor
#3 tag-to-branch.php.txt7.94 KBdww

Comments

drewish’s picture

Component: other » Site organization

(humm... the 'other' component option disappeared, would it make more sense in the d.o infrastructure project?)

as someone with a request in the queue for a branch to be created on an old module, I'm all for this. i don't really see any downside. CVS doesn't really care and you'd be able to cvs up just the same (provided anyone is even pulling down the older versions using CVS).

a big +1

dww’s picture

Project: Drupal.org site moderators » Drupal.org infrastructure
Component: Site organization » CVS
dww’s picture

Assigned: Unassigned » dww
Status: Active » Fixed
StatusFileSize
new7.94 KB

I wrote a script to do this (attached here for future reference). after much testing on s.d.o, backups of everything relevant, and coordination with killes in IRC, i just ran it for real on d.o. Here are the results. This followup lists all the DRUPAL-4-7 tags that were converted to branches:

modules/adminrss
modules/auto_nodetitle
modules/backup
modules/bookmark_us
modules/chat
modules/cocomment
modules/csplitter
modules/dashboard
modules/db_maintenance
modules/drupalvb
modules/email
modules/family
modules/fitb
modules/flashcard
modules/formupdater
modules/form_markup
modules/frameprevention
modules/iedestroyer
modules/latestgreatest
modules/manage
modules/masquerade
modules/modauthmysql
modules/na_arbitrator
modules/paging
modules/panels
modules/pureftp
modules/qanda
modules/randomizer
modules/rcmail
modules/recent_blocks
modules/related_nodes
modules/remember_filter
modules/rsvp
modules/scripturefilter
modules/search404
modules/sin
modules/taxonomy_access
modules/taxonomy_block
modules/taxonomy_ezfilter
modules/user_list
modules/user_maintenance
modules/views_bonus
modules/vocab
modules/voting_actions
modules/webcam
modules/zipcode
themes/andreas03
themes/andreas09
themes/aquasoft
themes/candy_corn
themes/clementine
themes/deliciously_blue
themes/goldengray
themes/gunmetal
themes/k2
themes/kubrick
themes/manage-theme
themes/mini_blog
themes/multiflex
themes/newsportal
themes/noprob
themes/plain2
themes/SEOposition
themes/solemnity
themes/summerholiday
themes/typography_paramount
themes/uncomplicated
themes/voodoo_dolly
translations/cs
translations/fa
translations/pt-br

(71 total converted, for in case you were wondering) ;)

woo hoo.

dww’s picture

and here are all the DRUPAL-4-6 tags that were converted to branches:

modules/adminrss
modules/advogato_import
modules/amazon_items
modules/article
modules/asterisk
modules/backup
modules/bbcode_wysiwyg
modules/captcha
modules/checkout
modules/click
modules/csplitter
modules/currency
modules/customerror
modules/cvbuilder
modules/db_maintenance
modules/delicious
modules/family
modules/fitb
modules/flashcard
modules/flexiblock
modules/flexisearch
modules/frameprevention
modules/freemind
modules/htmltidy
modules/import_html
modules/invite
modules/latestgreatest
modules/latex
modules/linkattach
modules/modauthmysql
modules/moviereview
modules/naggregator
modules/node_footnotes
modules/node_privacy_byrole
modules/pdfview
modules/pirate
modules/plazes
modules/qanda
modules/rcmail
modules/referer_theme
modules/roledelay
modules/rsvp
modules/sanity
modules/send
modules/shortcuts
modules/sitemenu
modules/statistics_trends
modules/stock
modules/stockapi
modules/summary
modules/swish
modules/Syndicate2
modules/tables
modules/taxonomy_assoc
modules/taxonomy_block
modules/taxonomy_switch
modules/taxonomy_xml
modules/topic
modules/trackerlite
modules/troll
modules/typecheck
modules/variables
modules/vimcolor
modules/vocab
modules/weblink
modules/wghtml
modules/xstatistics
modules/xtracker
theme-engines/wgsmarty
themes/B7
themes/Bonsai
themes/democratica
themes/leaves
themes/lincolns_revenge
themes/noprob
themes/occy
themes/spreadfirefox
translations/bg
translations/cs
translations/et
translations/he
translations/id
translations/it
translations/kn
translations/nb
translations/nno
translations/pt-pt
translations/ro
translations/uk
translations/zh-hant

(exactly 90 total).

dww’s picture

Status: Fixed » Active

crap, i missed a few, since i was just using {cvs_tags} for input, not parsing the entire contents of 'cvs status -v' on the whole contrib repo. :(

dww’s picture

Status: Active » Fixed

ok, some more script magic, and our repo is finally clean. basically, some projects had a few files with DRUPAL-4(6|7) tags, but most of the files were properly branched. now, everything is happy.

here's the list of finaly conversions for each tag/branch (if there's no link, it's because there wasn't a corresponding release node for some reason):

DRUPAL-4-6:

modules/album
modules/buddylist
modules/daily
modules/ecommerce
modules/emailpage
modules/event
modules/excerpt
modules/feedback
modules/filemanager
modules/glossary
modules/hof
modules/image
modules/img_assist
modules/mailalias
modules/mailhandler
modules/node_aggregator
modules/notify
modules/poormanscron
modules/quotes
modules/simplenews
modules/taxonomy_access
modules/trip_search

DRUPAL-4-7:

/modules/bookroll/
/modules/ec_bradesco/
/modules/ec_vendor/
modules/ecommerce
modules/form_enabler
modules/freemind
modules/moviereview
modules/node_block
modules/relationship
modules/tables
modules/tasks
/modules/toggle_www/
modules/video
modules/weight

TADA!!! ;)

this monkey is finally off my back.

now, if only i could magically get all drupal developers to understand how proper release management was supposed to work and de-mystify branches and development snapshots, life would be wonderful and i could go back to actually writing code again. *sigh*

Anonymous’s picture

Status: Fixed » Closed (fixed)

Component: CVS » Other