thinking about process, wondering if we can easily do better

Bill Barry after.fallout at gmail.com
Tue Jan 6 15:18:59 CST 2009


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.
> 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.


We also have a different group of developers who are working with 
PowerBuilder in a different repository where they commit the actual 
powerbuilder object files (which fundamentally are the same things as 
zip files). One additional frustration there is that these pbo files 
actually take considerable time to generate from the textfiles-in-folder 
versions of themselves (in addition to its source code, a pbo contains 
compiled java bytecode for all source).

In the zip file situation, it would be nice for the repos that have the 
encode/decode filter enabled to work with zip files, but not required 
(just not worth the effort of getting people to change from just storing 
the zip files there). In the pbo situation it is absolutely a 
requirement to be able to work with the pbo files instead of the text 
files (altogether it takes over an hour to generate them all and that 
would be done every build if they were just using the text files). In 
order to get them to switch, we would need to ensure that the filters 
don't rebuild the pbo files unless the contents changed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://selenic.com/pipermail/mercurial/attachments/20090106/f984d09f/attachment.htm 


More information about the Mercurial mailing list