afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)
afuna ([personal profile] afuna) wrote in [site community profile] dw_dev2009-10-21 05:51 pm

Tagging code pushes

I've been thinking a bit about organization, and being able to find out when a particular changeset went live. There are a couple of existing resources which we can look up and use to step backwards, or guess:

Code status, which shows the latest commits with live and non-live; [site community profile] dw_maintenance which announces the code push; [site community profile] dw_dev, with the code tours to get a rough idea of what's changed; [community profile] changelog_digest, which tags entries with "code push", so that it is possible to look up exactly when past code pushes happened.

One more thing I'd like to do is to tag code push commits directly in the repository. That would make it easier to look up when code pushes happened, and which changesets were applied to a particular code push.

That would also make it possible to update to a specific tag, and be able to quickly find when a particular feature/bug was introduced and went out -- whether it had always been that way and no one noticed or whether it was something that just went live in the last code push. We could use the tags to jump between code pushes, or to a commit just before a code push to track down bugs or confirm old behavior.

Each major/announced code push would have its own tag (date of push?). Post major-codepush we tend to have a series of minor codepushes to fix new bugs or tweak existing behavior. These could be grouped together into another tag a couple of days after the major code push (which we could also use to signal that we're finally done with the minor post-codepush pushes, and we can review/commit bigger patches now).

Thoughts, etc?
kareila: Rosie the Riveter "We Can Do It!" with a DW swirl (dw)

[personal profile] kareila 2009-10-21 12:49 pm (UTC)(link)
I think this is a great idea! I guess it would be up to Mark to implement since he does all the code pushes.
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)

[staff profile] mark 2009-10-21 04:36 pm (UTC)(link)
I think it's a great idea as well, although I'm not certain exactly how to do this in Mercurial.

Originally I was going to use branches to indicate releases, much like LJ has been doing for the past few years. When I tried to play with the branches though I ended up doing something wonky and not really understanding it so haven't been back to that yet.

Anyway! Great idea, would love to do it, suggestions on exactly how?
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)

[staff profile] mark 2009-10-21 07:08 pm (UTC)(link)
I have not, thank you for the link!
pauamma: Cartooney crab wearing hot pink and acid green facemask holding drink with straw (Default)

[personal profile] pauamma 2009-10-21 06:56 pm (UTC)(link)
Another plus would be for people who want to stick with a stable version of the code - they could then use the second last major push (or the minor pushes before the latest major push, if applicable).
damned_colonial: Convicts in Sydney, being spoken to by a guard/soldier (Default)

[personal profile] damned_colonial 2009-10-21 07:06 pm (UTC)(link)
Strongly support.

I recommend X_Y_Z format for version numbers where X is more or less enormous milestones (eg. non-beta would be 1.0.0), Y is code pushes, and Z is patches to pushes.
damned_colonial: Convicts in Sydney, being spoken to by a guard/soldier (Default)

[personal profile] damned_colonial 2009-10-22 04:42 pm (UTC)(link)
Exactly!
wyntarvox: (Default)

[personal profile] wyntarvox 2009-10-21 07:47 pm (UTC)(link)
Awesome idea!