Deutsch English Français Italiano |
<vs06po$14pc8$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Don Y <blockedofcourse@foo.invalid> Newsgroups: sci.electronics.design Subject: Re: PCB version control Date: Tue, 25 Mar 2025 23:28:01 -0700 Organization: A noiseless patient Spider Lines: 50 Message-ID: <vs06po$14pc8$1@dont-email.me> References: <67e1a08c$0$3831$882e4bbb@reader.netnews.com> <vrsia0$1mccv$1@dont-email.me> <lmj3ujpg8eqannemaq74f8s9vqh2a5iooc@4ax.com> <vrsjna$1q7cg$1@dont-email.me> <15l3uj5eed6mbtlnas1cemu2cn5iukog6b@4ax.com> <vrsngv$1s889$1@dont-email.me> <vrsvfm$23j3t$1@dont-email.me> <67e2588f$0$2785$882e4bbb@reader.netnews.com> <vru1ed$341a4$1@dont-email.me> <vru201$341a4$2@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 26 Mar 2025 07:28:10 +0100 (CET) Injection-Info: dont-email.me; posting-host="9c47ee535c5817b0cfac3f4f10dd8560"; logging-data="1205640"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18m7AWtjbIaQsQhWRkKqODx" User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Cancel-Lock: sha1:mFKQf5CCFXBqz4eIIEGrx6scRWM= In-Reply-To: <vru201$341a4$2@dont-email.me> Content-Language: en-US Bytes: 3953 On 3/25/2025 3:53 AM, Don Y wrote: > On 3/25/2025 3:44 AM, Don Y wrote: >> "No. I can replace a single page if necessary. So, each EPROM >> /in the set/ can be at a different revision level. It's up to >> Engineering to manage this (configuration management) so only >> valid "combinations" of those devices are incorporated into a >> released product." > > This last is important. If you want to force a production change, > you have to change a part number, not a revision level. > > E.g., I can revise an algorithm in a particular piece of code. > Any revision will perform identically (if performance is > defined by getting the correct "result"/return value). A new > revision may change some other aspect -- a faster algorithm, > smaller, better documented, etc. -- but is same fit/form/function > as the earlier revision. > > If I *need* the product to use a newer version of that algorithm, > then I have to give the function a new part number and update the > BoM (makefile) to reflect that new part number. To drive this home: <https://www.product-lifecycle-management.com/plm-best-practice-revision.htm> <https://cdn2.hubspot.net/hubfs/2568500/Content%20Offer%20PDFs/MCL_Revision_vs_New_Part_Number_Infographic.pdf> <https://plmadvisors.com/plm-and-configuration-management-best-practices-part-numbers/> Assuming you have assigned part numbers to each software module/file, consider how you currently think of "version control". Is a rev B version of that file INTERCHANGEABLE with a rev A version (see above criteria)? Likely the new file would have an augmented set of test cases to reflect the fact that it is now tested against the condition(s) that the earlier version was found to be defective! [So, *two* documents need to change before this is propagated] Chances are, it is not! Rev B likely came about to FIX something that was broken in rev A. So, using rev B in place of rev A would lead to a different product (one that is more correct than the predecessor). As such, the part number for that file should change to reflect this incompatibility. This change would then propagate upward through the assemblies to eventually reflect the fact that the finished product with the "revised file" is, in fact, a different and not interchangeable product with those that were built on the unrevised file. You surely wouldn't build a copy of last year's code base and try to pawn it off as identical with the most recent codebase!