From: Michael N. <mne...@us...> - 2002-10-02 18:04:12
|
Update of /cvsroot/ruby-dbi/src/build In directory usw-pr-cvs1:/tmp/cvs-serv13192/build Added Files: DBI-VERSIONS Makefile USER cl2html.sh create_changelog.rb cvs2cl Log Message: initial import --- NEW FILE: DBI-VERSIONS --- # All times are in UCT dbi-0-0-17 dbi-0-0-16 2002-07-03 20:10 UTC dbi-0-0-15 2002-05-21 21:59 UTC dbi-0-0-14 2002-05-14 18:16 UTC dbi-0-0-13 2002-04-16 21:59 UTC dbi-0-0-12 2001-12-28 13:08 UTC dbi-0-0-11 2001-11-14 13:12 UTC dbi-0-0-10 2001-10-22 16:09 UTC dbi-0-0-9 2001-09-07 13:40 UTC dbi-0-0-8 2001-07-28 12:08 UTC dbi-0-0-7 2001-07-11 21:59 UTC dbi-0-0-6 2001-07-06 19:42 UTC dbi-0-0-5 2001-06-08 20:31 UTC --- NEW FILE: Makefile --- all: ChangeLog.html ChangeLog: ruby create_changelog.rb ChangeLog.html: ChangeLog ./cl2html.sh clean: rm ChangeLog ChangeLog.html --- NEW FILE: USER --- mneumann:'Michael Neumann <mne...@fa...>' michael:'Michael Neumann <mne...@fa...>' rainer:'Rainer Perl' --- NEW FILE: cl2html.sh --- #!/bin/sh VIM="/usr/local/bin/gvim -f" ${VIM} +"syn on" +"set nonumber" +"run! syntax/2html.vim" +"w! ChangeLog.html" +"q!" +"q!" ChangeLog --- NEW FILE: create_changelog.rb --- require "date" Dir.chdir ".." # This script should be executed from directory src/ (of ruby-dbi cvs repository) # modify if needed FILE = "ChangeLog" DBI_VERSIONS = "./build/DBI-VERSIONS" USER = "./build/USER" lines = File.readlines(DBI_VERSIONS) START_DATE = "1980-01-01 00:00:00" # a date before all other dates v = [] lines.each {|l| l.strip! next if l.empty? or l[0] == ?# v << l.split(/\s+/, 2) } f = File.new(FILE, "w+") for i in 0..(v.size-1) to = v[i] from = v[i+1] || ["none-tag", START_DATE] if to[1] != nil f << "\n\n" f << "===============================================================================\n" f << " Tag #{to[0]} (#{to[1]})\n" f << "===============================================================================\n" f << "\n\n" end to[1] ||= (Date.today + 3).to_s # a day in the future f << `./build/cvs2cl -g -d:ext:mne...@cv...:/cvsroot/ruby-dbi -l "-d '#{from[1]}<#{to[1]}'" --stdout --prune --utc -U #{USER} --no-wrap -R '^\s*[*]\s*'` end f.close --- NEW FILE: cvs2cl --- #!/bin/sh exec perl -w -x $0 ${1+"$@"} # -*- mode: perl; perl-indent-level: 2; -*- #!perl -w ############################################################## ### ### ### cvs2cl.pl: produce ChangeLog(s) from `cvs log` output. ### ### ### ############################################################## ## $Revision: 1.1 $ ## $Date: 2002/10/02 18:04:09 $ ## $Author: mneumann $ ## ## (C) 1999 Karl Fogel <kf...@re...>, under the GNU GPL. ## ## (Extensively hacked on by Melissa O'Neill <on...@cs...>.) ## ## cvs2cl.pl is free software; you can redistribute it and/or modify [...1839 lines suppressed...] happen. Interesting. Anyway, rather than fix this in Text::Wrap, we might as well write a new wrap() which has the following much-needed features: * initial indentation, like current Text::Wrap() * subsequent line indentation, like current Text::Wrap() * user chooses among: force-break long words, leave them alone, or die()? * preserve existing indentation: chopped chunks from an indented line are indented by same (like this line, not counting the asterisk!) * optional list of things to preserve on line starts, default ">" Note that the last two are essentially the same concept, so unify in implementation and give a good interface to controlling them. And how about: Optionally, when encounter a line pre-indented by same as previous line, then strip the newline and refill, but indent by the same. Yeah... |