thinking about process, wondering if we can easily do better
Matt Mackall
mpm at selenic.com
Tue Jan 6 15:53:13 CST 2009
On Tue, 2009-01-06 at 14:18 -0700, Bill Barry wrote:
> Matt Mackall wrote:
> > On Tue, 2009-01-06 at 10:10 -0700, Bill Barry wrote:
> >
> > > so... I was thinking about the way we are doing things in house here and
> > > I was wondering if there would be a better way to do this. Currently we
> > > have a process for getting our skin packages (zip files) for our
> > > application up to date in our working copies. That is to say currently
> > > we are versioning the zip files themselves. Currently we do the following:
> > > "Programmer 1" - let's call her Sally
> > >
> > > Sally would not consider herself a programmer; she would call herself a
> > > skin designer. Mostly her work is:
> > > create a skin by manually creating .css files and html template files
> > > with the occasional jpg, etc
> > > package up the skin into a zip file so that it can be used by the installer
> > > make sure the skin installs (a special file called the manifest needs to
> > > be correct)
> > > put the skin zip file in a special folder, possibly overwritting
> > > pre-existing skin
> > > remove old skins
> > > call hg addremove, hg commit, and hg push (possibly hg pull, hg update,
> > > and maybe hg merge somewhere)
> > >
> > > on the other side:
> > > "Programmer 2" - let's call him Bill
> > > "Programmer 3" - let's call him Fred
> > >
> > > Bill and Fred make actual code changes to the application and store the
> > > source for it in their repositories. All 3 pull and push to the same
> > > central repository location and see Sally's changes as opaque zip files.
> > > Every once in a while Bill or Fred need to see the actual change made in
> > > Sally's zip files; to do so they need to get both versions, extract them
> > > and then manually compare them.
> > >
> >
> > If you're going to fiddle with your process, why not make the zip files
> > build products and check in the -actual source- instead? Sally would
> > probably be just as happy to type 'make' as 'zip', which might build a
> > manifest for her too.
> >
> The zip files are created by the application. Sally starts with a copy
> of the application itself and builds the skin using it. When complete
> she uses an option we have built into the application to export the
> skin. Sally never individually knowingly works with the actual source
> files (and frankly doesn't care). Convincing her to manually extract
> the files so that we can build them on the other side isn't worth the
> effort.
Yeah, that makes sense. I don't think encode/decode is a good answer for
you. Too much magic, and not guaranteed to generate byte-identical
checkouts.
A better answer might be to make a small custom script for the extdiff
extension that can unpack a pair of zip files and compare their
contents.
> > ps: Your example is a little too real. Sally might have considered a
> > career in programming if there wasn't a pervasive gender bias in the
> > field held over from the 50s. The very least we can do is apply some
> > affirmative action to our examples.
> >
> To think I changed this person's name and gender (and Fred's actually)
> in order to make the process less about the people and more about the
> actions. The point was that by my standards, Sally is a programmer
> because she is changing stuff and committing to our codebase. Sally
> went to school to be a graphic designer and never wants to be called a
> programmer.
Fair enough.
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list