Mail Archives: geda-user/2015/12/08/15:19:47
> Changes compare schematic file with pcb file so it is done manually
> and I guess it is fine like this. For idempotent changes applying
> them more than once make no difference.
What we have now breaks down in a simple case. Consider: we want to
rename U1, U2, and U3 to be U2, U3, and U1 (note the cyclic
dependency). ExecuteScript() would have something like this:
Rename(U1,U2)
Rename(U2,U3)
Rename(U3,U1)
There is no "correct" order to do these in, but even if the script is
smart enough to use a temporary name for one of the symbols, or pcb
was smart enough to know old vs new names, running the script twice
would "rotate" the names again.
Hence, my position that something other than refdes is needed to
identify "this symbol" or "that gate". Tracking the lifetime of a
symbol so you can refer to "the one I used back when" is the trick
part I was asking about.
If we really want to cleanly support simple operations like "rename a
part" we need to change gaf's dependency on the name identifying "the
part", and start treating the refdes like any other generic attribute.
- Raw text -