[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [N8VEM-S100:2341] Re: accepting pre-orders for the S-100 Z80 CPU V2 board



Hi Andrew,

A comment on the configuration management of the designs. This sounds like the classic configuration management problem in software releases, where there are three mechanisms put in place to help. They are a version description document, a build system, and versioning on the files.

The version description document is just a list of the items used in a release. So, for a board spin it would be the EDA tool version, library versions, etc. This allows someone later on know what versions went into that release.

The build system is just the system where there is some care on knowing what it configuration is (so that it can be documented in the version description document.) For a board release this is knowing what libraries you have loaded, any macros or configuration known, etc.

For library versions for projects without a version control tool a simple add of say initials of the user and the date to the file name is enough to keep track. For the shared N8VEM part library someone would be assigned the owner to accept changes and release new versions to the users.

So, how it would work. I create a new board starting with the library N8VEM-parts-2013-12-31. I add a couple of parts that I think will be useful so on my machine I call the library N8VEM-parts-mln-2014-02-08. I work on the board and get it ready to release. Before I hit the button, I make sure I have only that library loaded. I create a version description document that I add to the .zip along with my library version and project files so that someone has everything they need to rebuild my project. If I hadn't added any parts to the library, then I wouldn't have to zip it, because people would know what version of the shared library they would need.

You keep the old versions around, but you know they are old versions because of the date. For the shared library, you change the date and have a simple note saying what added, changed, deleted.

So, sorry if this is obvious to everyone but I think with some simple steps it should be workable.  Michael