On 5 Apr, 2005, at 23:27, Sheldon Rampton wrote:
Jim Riggs wrote:
The latest release date is based on when the branch was created, not when something was last committed.
I understand that. That's the problem. I want the current version of the module to be what people get when they click on the link that says "download latest release." Right now they're getting an old version. How do I fix that?
I think you're misunderstanding the process. It is confusing, I must admit, so let's do it as an example. You may understand everything other than the packaging part, but others may find the whole example useful. (People with more knowledge of the inner workings of the system, feel free to correct me where I am wrong.) * I create and commit a new module "foo" (contributions/modules/foo). * This version is for Drupal 4.5, so I branch for 4.5: cvs tag -b DRUPAL-4-5 * At this point, I have a DRUPAL-4-5 branch and HEAD which are the same. * The Drupal packaging script (that automatically creates the .tar.gz of every project) runs every 6 (or 12?) hours. It crawls the entire contributions repository. For every project with files in HEAD, it creates a tarball that is labeled as the "cvs" version (foo- cvs.tar.gz). For every project that has a Drupal branch (i.e. DRUPAL-4-x), it creates a tarball for each version (foo-4.5.0.tar.gz). My understanding is that /all/ projects are packaged every time, so the tarball always contains the latest files; HOWEVER, the project page displays the date the version was first encountered as the "latest release" date. So if I created a branch on January 1 and committed new files yesterday, the date will still show Jan 1, but the tarball will include my changes from yesterday. I don't need to do any branching or tagging again. I only need to branch once. * Now I make some changes to HEAD to make it compatible with 4.6 and commit: cvs ci -m 'updated for Drupal 4.6' * The DRUPAL-4-5 branch of the module is for Drupal 4.5, and HEAD is now 4.6-compatible, so I can branch HEAD again for 4.6: cvs tag -b DRUPAL-4-6 * When the packager runs again, it will now pick up the 4.6 version and mark it as the latest release. There will now be three versions: foo-4.6.0.tar.gz with the latest files from DRUPAL-4-6, foo-4.5.0.tar.gz with the latest files from DRUPAL-4-5, and foo- cvs.tar.gz with the latest files from HEAD. In summary: The "latest release" date is not the date of the most recent change/commit. It is the date the version was first encountered by the project module. And, when a user downloads a tarball from drupal.org, he is always getting the latest CVS files for that particular version/branch (except, perhaps, for the 6 hour delay between runs). Now I am not saying this is the best system. There are lots of things I would like to see change in the entire versioning/packaging system, but this is how it is now. It /is/ confusing, so I understand what you were trying to do, but I don't think there is a way that you can get that latest release date to change. Hopefully this helps you to understand how things are working even if you don't understand why they are working that way. ;-) - Jim