Mail Archives: geda-user/2015/12/09/21:15:50
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
- Raw text -