1
0
mirror of git://projects.qi-hardware.com/ben-wpan.git synced 2024-11-27 05:32:50 +02:00
Commit Graph

26 Commits

Author SHA1 Message Date
Werner Almesberger
a3aac7e80b Reorganized cache and output directory structure. Some code cleanup.
- scripts/schhist2web: changed cache and output directory structure from
  $dir/$type_$commit/$file to $dir/$commit/$type/$file
- scripts/schhist2web: renamed directory types as follows: "ppm" to "ppm1",
  "fat" to "ppm2", and "hard" to "ppm0"
- scripts/schhist2web: replaced `basename $x` with ${x##*/} wherever this
  makes sense
- scripts/schhist2web: use {a,b,...} where is makes things clearer
- scripts/schhist2web: changed ... \\n || exit to ... ||\n exit
- scripts/schhist2web: symlinking of unchanged files was only done for
  "ppm" (now "ppm1") and "fat" (now "ppm2"), not for "ppm2" and "ps"
- scripts/schhist2web: composition of path names in the output generator is
  now more systematic and avoids ad hoc compositions
- scripts/schhist2web: mkdir -p "$out/pdf_$next" at the beginning, not each
  time we write a PDF
2010-08-30 23:19:12 -03:00
Werner Almesberger
6260614015 Reduce the number of I/O redirections.
- scripts/schhist2web: instead of having many >>"$index", just put one at
  the enclosing construct
2010-08-30 21:05:25 -03:00
Werner Almesberger
20184edd25 Files in the first commit didn't have an HTML wrapper with PDF link.
- scripts/schhist2web: moved generation of a HTML-wrapped PNG with link to
  PDF to new function wrapped_png
- scripts/schhist2web: generate a PDF with link also for files in the very
  first commit
2010-08-30 20:56:41 -03:00
Werner Almesberger
a0cdb1e365 Fixed some smaller bugs and slightly improved formatting of commit entries.
- scripts/schhist2web: when starting, remove html_* and pdf_*
- scripts/schps2pdf: corrected quoting of sheet title derived from file
  name (produced many error messages and caused garbled titles in the
  overall schematics)
- scripts/schhist2web: indent date in commit entry such that it's flush
  with the author
2010-08-30 20:16:34 -03:00
Werner Almesberger
78f6cfbfda Attempt at avoiding the false changes seen on Xue. Seems that alpha-blending
produces minute differences where there should be none.

- scripts/ppmdiff/ppmdiff.c (diff): instead of looking for all or noting
  changes, also detect gradual changes
- scripts/ppmdiff/ppmdiff.c (diff, main): don't mark areas with differences
  in the main images if using shadow images
- scripts/schps2ppm: new option to disable alpha blending
- scripts/schhist2web: cache pixmaps with default line thickness and no
  alpha blending in hard_*
- scripts/schhist2web: base marking of areas with differences exclusively
  on the hard_* pixmaps
2010-08-30 15:11:43 -03:00
Werner Almesberger
66cf6a296e We now generate and link delta PDFs with the state(s) of the sheet.
- scripts/schhist2web: keep latest version of a sheet's PDF in pdf_head
  instead of pdf_$head, so that we don't overwrite it later with a delta
- scripts/schhist2web: for each change, write an HTML file which loads
  the image and links to a delta PDF
- scripts/schps2pdf: new option -T to specify page titles
- scripts/Makefile (UPLOAD): also upload html_*
2010-08-30 06:05:57 -03:00
Werner Almesberger
6bef1d9458 Commit entries now show date date, not the hash.
- scripts/schps2pdf: changed commit entry format from commit hash and author
  to author and date
- scripts/schps2pdf: reordered sanitizing of commit entry to avoid having
  to special-case the link
2010-08-30 04:46:19 -03:00
Werner Almesberger
ab89a00f5c Generate a PDF with the all the current sheets.
- scripts/schhist2web: don't generate PDF for sheets that no longer exist
  at HEAD
- scripts/schhist2web: generate a PDF containing all sheets existing at
  HEAD
- scripts/schps2pdf: prefix was set to the wrong argument
- scripts/schps2pdf: removed left-over (and functionless) cat into gs
- scripts/schps2pdf: corrected quoting of the TOC entry
2010-08-30 04:13:20 -03:00
Werner Almesberger
337f13a0df Sheet names now link to the sheet's PDF.
- scripts/normalizeschps: by default, don't change the linewidth
- scripts/schhist2web: cache historical Postscript files in directories
  ps_*
- scripts/schps2pdf: new script to convert eeschema Postscript to PDF
- scripts/schhist2web: link the file name in the title to the curent
  PDF of the respective sheet
- scripts/Makefile: changed lazy wildcard thum* to thumb_* and diff* to
  diff_*
- scripts/Makefile: upload also pdf_*
2010-08-30 03:14:07 -03:00
Werner Almesberger
800577353e Merged the functionality of gitsch2ppm into schhist2web.
- scripts/normalizeschps: don't edit in place and thus become capable of
  running in a pipe
- scripts/schps2ppm: considered - to be an option and thus didn't accept
  it as input file name
- scripts/schhist2web: open-coded functionality of "gitsch2ppm"
- scripts/gitsch2ppm: removed
2010-08-30 02:53:41 -03:00
Werner Almesberger
cfbdd45323 Despite trying to be careful with quoting, some spaces in file names still
did upset things.

- scripts/schhist2web: backticks in command invocation need quoting
- scripts/schhist2web: the change below needs a bashism, so we switch from
  /bin/sh to /bin/bash
- scripts/schhist2web: seems that there's no safe way to use ls -1 in the
  word list of "for". Use while read ...; ... done < <(ls -1) instead.
  (We couldn't just pipe this into the while loop, because that would put
  the loop into a subshell and changes to global variables would thus be
  lost.)
2010-08-29 03:41:54 -03:00
Werner Almesberger
02e2bf542f Optimize cache usage by symlinking identical PPMs.
- scripts/schhist2web (symlink): ln -sf two files. If the old file is a
  symlink, link to its target instead of creating a chain of symlinks.
- scripts/schhist2web: if PPMs of the same file are identical in successive
  commits, replace the new one with a symlink to the old one
2010-08-29 03:00:24 -03:00
Werner Almesberger
56a95040ca Generate commit entry and show diffs also for the first commit. Plus cleanup.
- scripts/Makefile: added targets for ben-wpan/cntr
- scripts/schhist2web: removed stray and redundant mkdir of output
  directories
- scripts/schhist2web: added section titles
- scripts/schhist2web: <TR> tag was issued twice per commit
- scripts/schhist2web (commit_entry): moved commit entry generation to a
  separate function
- scripts/schhist2web (commit_entry): replaced "git log $next~1..$next"
  with more robust "git show --quiet $next"
- scripts/schhist2web: generate file creation entries for all files in the
  first commit
2010-08-29 01:44:25 -03:00
Werner Almesberger
3ca646cd57 Minor code cleanup and robustness improvement.
- scripts/gitsch2ppm, scripts/schhist2web: replace awkward and cryptic
  `dirname "$x"`/`basename "$x" .old`.new
  construct with much more friendly "${x%.old}.new"
- scripts/gitenealogy: put -- before path names in git-log, to prevent
  parsing ambiguities
2010-08-28 23:12:27 -03:00
Werner Almesberger
daa45012a4 Thumbnails of new and deleted sheets were grey, not green/red.
- scripts/gitsch2ppm: make placeholder for unchanged sheets taller
- scripts/gitsch2ppm: when making thumbnails, set the color after
  processing $THUMB_OPTS, so that it isn't overridden.
2010-08-27 21:37:28 -03:00
Werner Almesberger
2921bcea47 New script sanitize-profile to remove glitches from a KiCad profile.
- scripts/sanitize-profile: remove upsetting items from a KiCad profile
- scripts/gitsch2ppm: option -S to enable sanitizing of profiles
- scripts/schhist2web: pass option -S to gitsch2ppm
- scripts/Makefile (xue-schhist): invoke schhist2web with option -S
2010-08-27 20:42:40 -03:00
Werner Almesberger
d7d95ff2da Allow schhist2web and friends to run from a directory outside the working tree.
- scripts/gitenealogy: now requires the repository directory to be passed
- scripts/schhist2web: adapted for above change
- scripts/schhist2web: change to the repository's directory before each
  call to git
- scripts/Makefile: added demo upload and Xue build
- scripts/Makefile (all): added usage information
2010-08-27 19:32:52 -03:00
Werner Almesberger
627d7d790b Add links to project page and commit. Put placeholder if sheet doesn't change.
- scripts/schhist2web: show a vertial dash in places where a sheet didn't
  change
- scripts/schhist2web: new environment variable SCHHIST_TITLE to set the
  title
- scripts/schhist2web: new environment variable SCHHIST_HOME_URL for the
  URL the title links to
- scripts/schhist2web: new environment variable SCHHIST_COMMIT_TEMPLATE
  for a template to link to the commit ({} gets replaced with the hash)
- scripts/Makefile: schematics history build example for ben-wpan/atrf
- scripts/schhist2web: at the very end, don't exit 1 on success
2010-08-27 15:39:39 -03:00
Werner Almesberger
a241265aaf Run eeschema only once (not twice) per commit. 20% speed improvement.
- scripts/gitsch2ppm: new option -k to keep checked-out tree
- scripts/gitsch2ppm: new option -c to reuse Postscript files from -k run
- scripts/gitsch2ppm: removed C-style use of "break" from "case"
- scripts/schhist2web: use gitsch2ppm -k and -c to half number of
  eeschema runs
2010-08-27 14:31:05 -03:00
Werner Almesberger
43d512c30a Only use commits that change anything we care about. Accelerates full build
of ben-wpan/atrf by 70%, build from cache by 35%.

- scripts/schhist2web: only extract commits that change a .pro, .sch, or
  .lib file
- scripts/schhist2web: when building the differences, skip commits missing
  in cache
- scripts/schhist2web: use last cached commit as head instead of asking git
  for the current HEAD
2010-08-27 14:15:57 -03:00
Werner Almesberger
94dc35ed98 ppmdiff detects lack of changes more quickly. Improved cache robustness.
- scripts/ppmdiff/ppmdiff.c (main): do a quick memcmp to detect absence of
  changes instead of comparing pixel by pixel (saves 30% of total run time
  when remaking ben-wpan/atrf from cache)
- scripts/schhist2web: added title and copyright header
- scripts/schhist2web: create $out/names after deleting the cache (-n)
- scripts/schhist2web: fat_* directories were created under $out, not $cache
- scripts/schhist2web: remove ppm_* and fat_* directories being worked on if
  we fail to complete the process for some reason
2010-08-27 13:40:38 -03:00
Werner Almesberger
5761b6e650 schhist2web: better technical and visual quality of HTML output.
- scripts/schhist2web: don't "exit 1" on success (duh ?)
- scripts/schhist2web: use proper HTML intro with DOCTYPE
- scripts/schhist2web: add date tag at the end
- scripts/schhist2web: define all Web colors at the beginning
- scripts/schhist2web: assign background different from the rest to file
  names
- scripts/schhist2web: translate <, >, and & meta-characters in "git log"
  output
2010-08-27 13:07:15 -03:00
Werner Almesberger
099b62649b schhist2web: use a cache by default and give the user control over it.
- scripts/schhist2web (THUMB_OPTS): make shared pixels in thumbnails a
  bit darker
- scripts/schhist2web (usage): described the arguments
- scripts/schhist2web: new option  -c dir  to set the cache directory
- scripts/schhist2web: new option  -n  to remake the cache
- scripts/schhist2web: path name in new file detection was incorrect
- scripts/schhist2web: use "$index" instead of open-coding "$out/index.html"
- scripts/gitsch2ppm: changed temp directory name from _schdiff_a to
  _gitsch2ppm
2010-08-27 12:47:51 -03:00
Werner Almesberger
0d537612c3 Allow markup to be synchronized with other (better resolution) pair of
images.

- scripts/ppmdiff/ppmdiff.c (usage, main): ppmdiff now accepts the name
  of an output file as the last argument
- scripts/ppmdiff/ppmdiff.c (shadow_diff, usage, main): a second set of
  images can be specified that will only be scanned for changes, without
  otherwise becoming part of the merged image
- scripts/schhist2web (pngdiff): specify output name as last argument of
  ppmdiff
- scripts/schhist2web: use shadow images to mark changes only visible
  in regular version also in thumbnails
2010-08-27 06:44:10 -03:00
Werner Almesberger
1774ae268e Fixed two small bugs in schhist2web.
- scripts/schhist2web: second file argument was missing when invoking
  pngdiff for file addition or removal
- scripts/schhist2web: keep track of columns also after a file is gone
2010-08-27 04:52:26 -03:00
Werner Almesberger
c10d643c1f Tools for making a browseable graphical revision history of schematics.
- scripts/gitsch2ppm: extract schematics as PPM files from a specfific git
  revision
- scripts/gitenealogy: show the commit history of a file, tracking renames
- scripts/ppmdiff/Makefile, scripts/ppmdiff/ppmdiff.c: compare two PPM
  files and highlight differences
- scripts/schhist2web: generate a browseable graphical revision history
  of schematics
2010-08-27 03:54:26 -03:00