X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.98.4 at av02.lsn.net Message-ID: <5441519D.4060009@ecosensory.com> Date: Fri, 17 Oct 2014 12:27:57 -0500 From: John Griessen User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: geda-user AT delorie DOT com Subject: Re: [geda-user] SchemeIt References: <00E6DEBC-05AB-4079-9E88-152225FF6DDE AT qux DOT com> <87wq80xauh DOT fsf AT hotmail DOT com> <87siinykoy DOT fsf AT hotmail DOT com> <5440A6B2 DOT 2000900 AT ecosensory DOT com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: geda-user AT delorie DOT com On 10/17/2014 01:45 AM, gedau AT igor2 DOT repo DOT hu wrote: > Where it certainly won't help: - object coord changes, things getting moved around in pcb - logical connections change in sch - > pcb element or sch symbol gets replaced - sch element gets embedded or unembedded > > In my practice after the initial few commits the latter group makes up majority of the changes. Yes, that does stop an external VCS from helping merges. It's a harder problem than my first glance idea. > a format that would: - store symbols+attributes blocks separately from coordinates - would be restructured and indented for > easier manual read (my daily PITA is figuring which attribute blocks are corresponding to which component and which attribute > survives of the multiple blocks of an embedded sym) - a new structure should actively help diff to show useful context; if > there are like 10 attributes of a symbol and the value of the last one changes, in the diff the attribute value change is > visible, but usually not enough context to identify which component's attribute has changed; increasing the number of context > lines doesn't help since this would increase the nosie too - separate coordinate info and pin connection info on nets; e.g. > instead of a list of coordinates, a net would be a list of connection between named component/pins and where needed > (automatically named) non-component hub points > > Diff on such a format would reveal how the connections have changed (among with a set of random-looking coord changes at the > bottom which the user then could simply ignore). What if that format was created by an external lint program instead of being part of every design file? > meaningful diffs in PCB world would mean a GUI diff tool Yes, sounds right. And also it would be great to have a fuzzy visual diff that showed some circuitry shoved a little to the side still matching. Highlighting of who the owner of the discrepancy is based on a previous and a 2nd previous drawing might be helpful to keep collaborators from accidentally changing something. In PCB a visual diff could be used just to enforce working in separate corners of a drawing for easy merging. Suppose visual diffs were done every 3 minutes and a zone in between called a no-person's-land was checked for changes and alarmed if any stepping on occurs. John