Root/schhist/README

1schhist - Graphical revision history of schematics
2==================================================
3
4The schhist system walks the git revision history of a KiCad project
5and produces Web-browseable graphical differences of the schematics.
6
7It does so by checking out each revision from git, sanitizing the
8project to prevent problems what would cause eeschema to stop and
9display an error dialog, using eeschema to "plot" the project to
10Postscript, making some small adjustments (position, line width) to
11the Postscript, converting it to PPM with Ghostscript, making a
12pixel-wise comparison of revisions, and arranging the resulting
13images in an HTML page. Further more, sub-pages with magnifications
14and PDF files are generated.
15
16
17This work is distributed under the terms of the GNU GENERAL PUBLIC
18LICENSE, Version 2:
19
20  This program is free software; you can redistribute it and/or modify
21  it under the terms of the GNU General Public License as published by
22  the Free Software Foundation; either version 2 of the License, or
23  (at your option) any later version.
24
25For your convenience, a copy of the complete license has been included
26in the file COPYING.GPLv2.
27
28
29schhist2web
30-----------
31
32Web-browseable graphical revision history of schematics
33...
34
35
36subschname2file
37---------------
38
39Translate a subsheet's name to the sheet file's name
40...
41
42
43sanitize-profile
44----------------
45
46Remove items from a KiCad profile that may cause an upset
47...
48
49
50sanitize-schem
51--------------
52
53Remove items from KiCad schematics that may cause an upset
54...
55
56
57gitsch2ps
58---------
59
60Generate PS files for KiCad schematics in git
61...
62
63
64normalizeschps
65--------------
66
67Normalize eeschema Postscript
68...
69
70
71ppmdiff
72-------
73
74Mark differences in two PPM files
75...
76
77
78schps2pdf
79---------
80
81Generate PDF files from Eeschema Postscript
82...
83
84
85schps2ppm
86---------
87
88Generate PPM files from normalized Eeschema Postscript
89...
90
91
92gitenealogy
93-----------
94
95Trace the ancestry of a file in git across renames
96...
97
98
99gitwhoareyounow
100---------------
101
102gitwhoareyounow is used to find a single identity for files that have been
103renamed in the history of a project.
104
105E.g., if a file foo.c is created in revision 1 (assuming successive revisions
106numbered 1, 2, etc.) and renamed to bar.c in revision 2, gitwhoareyounow
107would then return the name bar.c for this file in any revision we consider.
108
109gitwhoareyounow has to be given a repository in which the historical commit
110has been checked out, and the name the file had in that commit.
111
112Example:
113
114$ git init
115$ date >foo.c
116# git add foo.c
117# git commit -m "foo.c, rev 1"
118$ git mv foo.c bar.c
119$ git commit -m "foo.c renamed to bar.c, rev 2"
120$ git checkout HEAD~1
121$ ls
122foo.c
123$ gitwhoareyounow . foo.c
124bar.c
125
126
127Multiple files may use the same identity
128- - - - - - - - - - - - - - - - - - - -
129
130E.g., if a file foo.c is created in revision 1, deleted in revision 3, and
131then a new file named foo.c is created in revision 4, gitwhoareyounow would
132call both of them foo.c
133
134
135Multiple files sharing the same identity can conflict
136- - - - - - - - - - - - - - - - - - - - - - - - - - -
137
138E.g., taking the first example with foo.c renamed to bar.c in revision 3, if
139a file bar.c existed in revision 1 but was deleted in revision 2,
140gitwhoareyounow running on revision 1 would identify both the foo.c and the
141bar.c as bar.c
142
143gitwhoareyounow does not try to resolve such conflicts. This is already
144complex enough as it is :-)
145

Archive Download this file

Branches:
master



interactive