X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Message-ID: <20151210021533.18841.qmail@stuge.se> Date: Thu, 10 Dec 2015 03:15:33 +0100 From: "Peter Stuge (peter AT stuge DOT se) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Subject: Re: [geda-user] gsch2pcb after refdes-renum? (If implemented syncronization detail) Mail-Followup-To: geda-user AT delorie DOT com References: <20151208222204 DOT 6566ebed300ca2683dd71bc8 AT gmail DOT com> <201512082139 DOT tB8LdLuL005789 AT envy DOT delorie DOT com> <20151208230637 DOT b8eb6c22230d5a3b977c3ca1 AT gmail DOT com> <201512082229 DOT tB8MTJBj010408 AT envy DOT delorie DOT com> <555EDA31-984C-4978-AE21-F74907CDC993 AT noqsi DOT com> <20151209220625 DOT ba29467498daecf1bf7b2244 AT gmail DOT com> <201512092109 DOT tB9L9p8o022465 AT envy DOT delorie DOT com> <20151210011215 DOT 14229 DOT qmail AT stuge DOT se> <201512100128 DOT tBA1SjW8000759 AT envy DOT delorie DOT com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201512100128.tBA1SjW8000759@envy.delorie.com> Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk DJ Delorie wrote: > > Is there still a problem if the cyclic U1->U2->U3->U1 rename is > > guaranteed to be atomic? > > You still have two problems: First, if you accidentally run the script > twice, you end up with the wrong refdeses. I actually think that's a feature. :) But I agree that it's important to be able to tell very easily what has and has not been done. > Second, you need to remember the refdes the part had *the last time > you sync'd*. If the layout[*] still had U14 because you last sync'd > yesterday and you've renamed it five times today, you're out of luck. That's not so bad if the history of these renames is also available. > This whole identity-across-projects problem is hard, especially when > you consider how many ways "refdes as identity" is abused in gnetlist > (slots, mcus, heirarchy, whatever). It doesn't seem too hard to me, but it will require keeping new state. A new file format if you will. I would use a Git bundle. The data model seems to fit the problem very well and libgit2 has comfortable APIs. That it also becomes possible to process this format using scriptable off-the-shelf tools in a shell is a nice complementary extra. :) //Peter