Bugslist
bugslist.php is John's TODO list management script. If you use this script you might be interested in ProgClub Timestamp so you can copy/paste the comment label syntax, or configure KDE so you don't have to. For other projects see projects.
Status
Released! But there's stuff TODO.
Version
bugslist.php v0.1.1403
Copyright © 2016-2017 John Elliot V License GPLv3+: GNU GPL version 3 or later. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
Version control info
Timestamp.......: 2017-01-13 15:46:25 +1100 (Fri, 13 Jan 2017) UTC timestamp...: 2017-01-13 04:46:25Z Date............: 2017-01-13 Time............: 15:46:25 Author..........: jj5 File............: bugslist.php Revision........: 1403 URL.............: bugslist.php
Administration
Contributors
People who have contributed to this project. Newest on top.
Copyright
Copyright © 2016, Contributors.
License
Licensed under the GNU GPL version 3 or later.
Resources
Source code
You can read the source code.
You can browse the repository.
You can checkout the latest stable script, or the full stable system (including tests and release scripts).
You can checkout the latest development script, or the full development system (including tests and release scripts).
Links
- bugslist.php: bugslist.php home page
- bugslist.php: PHP assert()
- bugslist.php: PHP set_exception_handler()
- bugslist.php: PHP set_error_handler()
- bugslist.php: PHP preg_match()
- bugslist.php: PHP error constants
Help
Usage: php path/to/bugslist.php [OPTION]... This is a source code processing and reporting tool to help with software development project management. It processes files in the specified directory and matches special comment syntax to get notes and work items which it then reports on. Output reports are in MediaWiki wiki text syntax designed to be included in your project wiki.
Comment label syntax
The heart of bugslist.php is the comment label syntax you use in your source code. It's basically: DATE USER DASH TYPE[PRIORITY][:!] TEXT For example: 2017-01-13 jj5 - HACK[HIGH]: expedient, you say? The date is in ISO format, the user must be a valid UNIX user, and the dash is just to try and limit false positives. The TYPE indicates what sort of item this is; it can be one of the types listed below. Your type can be suffixed with an optional priority within square brackets. After the optional priority your type must be suffixed with punctuation, either ':' or '!'. The TEXT follows until the end of the line and on to subsequent lines too.
Item types
The following item types are supported in comment labels:
Type................: Description..............................: Priority..: Red-flags..........: WARNING...........: something to be careful of...............: HIGH TEMP..............: a note for code that should be removed...: HIGH Stuff to do........: BUG...............: something that needs to be fixed.........: HIGH TEST..............: something that needs to be tested........: HIGH TODO..............: something that needs to be done..........: MEDIUM FIXME............: a HIGH priority alias for TODO...........: HIGH NICE.............: a LOW priority alias for TODO............: LOW HACK..............: something that needs to be improved......: LOW CONSIDER..........: something to consider or think about.....: LOW THINK............: an alias for CONSIDER....................: LOW Stuff that's done..: FIXED.............: a BUG that has been fixed................: HIGH DONE..............: something that has been done.............: MEDIUM COMMIT............: a VCS commit log.........................: LOW Notes..............: REFERENCE.........: a reference, e.g. a URL..................: LOW REF..............: an alias for REFERENCE...................: LOW SEE..............: an alias for REFERENCE...................: LOW NOTE..............: notes, or items without a label..........: LOW DEBUG.............: an item for debugging purposes...........: DEBUG
Item priority
You can use a priority number, priority letter, or priority name to indicate a priority: #: Abbr: Name: Default: 0: C, !: CRITICAL: N/A 1: H: HIGH: WARNING, TEMP, BUG, TEST, FIXME, FIXED 2: M: MEDIUM: TODO, DONE 3: L: LOW: HACK, COMMIT, REFERENCE, NOTE, NICE, CONSIDER 4: D: DEBUG: DEBUG
Comment syntax
Comment syntax for various programming languges is supported: Plain text...: comment labels begin at the first character on the line C++, etc //..: comment labels begin after '// ' (the space is important) HTML/XML.....: comment labels are within: <!-- --> Perl #.......: comment labels begin after '# ' (the space is important) C/CSS........: comment labels are within: /* */
Program options
File-system options
-p, --path=PATH process files in PATH, current directory if omitted -f, --file=LIST process files in comma-separated LIST, relative to PATH -i, --include=EXTENSIONS comma-separated list of included file extensions -e, --exclude=EXTENSIONS comma-separated list of excluded file extensions Note: excludes override includes. This is useful when you want to exclude missing extensions () which are included by default. -s, --skip=REGEXES comma-separated list of regexes for paths to skip -k, --keep=REGEXES comma-separated list of regexes for paths to keep ** BE VERY CAREFUL ** Case sensitive expressions. Use '^' to match start of path, '$' to match end of path, etc. Note: keeps override skips
Filtering options
-u, --user=USER include items for USER -d, --date=DATE include items for DATE --today include items for today only (default if not debugging) --yesterday include items for yesterday only -t, --type=TYPE include items by type, will affect report order. Duplicates are ignored. -y, --priority=PRIORITY include items with particular PRIORITY. --all report on all users, dates, types, and priorities.
Reporting options
-a, --aggregate=FIELD report aggregation. Duplicates are ignored. A heading is printed for each aggregated field. -c, --collate=FIELD report sorting. Duplicates are ignored. Default sorting uses binary comparision rather than locale sensitive comparison which is probably what you want. For --aggregate and --collate uppercase FIELD sorts descending. e.g. 'dUp' selects by date, user desc, and path -h, --heading=FORMAT heading format options. Duplicates are ignored. -o, --output=FIELD|FORMAT|OPTIONS report output options. Duplicates are ignored. -l, --level level of heading to start at (default 2) --na output 'N/A' when no report data +N, --natural use locale sensitive sorting instead of binary sorting +B, --binary use binary sorting (This is the default. Redundant? :) +Q, --quiet disable warnings, stats, and progress on stderr +S, --show-stats enable statistics report on stderr -S, --hide-stats disable statistics report on stderr (default) +P, --show-progress enable progress report on stderr -P, --hide-progress disable progress report on stderr (default) +O, --show-options report on user options on stderr -O, --hide-options disable user options report (default) +W, --show-warnings report warnings on stderr (default) -W, --hide-warnings disable warnings
Other options
--help display this help text and exit --version display version information and exit +V, --vcs parse version control (Subversion) logs +D, --debug some handy defaults, when debugging or not +X, --exit exit without reporting (useful with --show-stats)
Format specifications
USER
USER is comma-separated list of usernames. Use '*' for all users; '?' for current user.
DATE
DATE is ISO formatted date prefix, e.g.: '2016' for all items in 2016, '2016-01' for items in Jan 2016, '2016-,01,02' for items in Jan/Feb 2016, '2016-01-,01,02' for items on 1st/2nd Jan 2106, '2016-01-02,2016-01-04' for 2nd/4th Jan 2016. Use '*' for all dates.
TYPE
TYPE is a string of abbreviations or comma-separated list of item types. Supported types are: Red-flags: w: WARNING....: something to be careful of m: TEMP.......: a note for code that should be removed Stuff to do: b: BUG........: something that needs to be fixed e: TEST.......: something that needs to be tested t: TODO.......: something that needs to be done h: HACK.......: something that needs to be improved c: CONSIDER...: something to consider Stuff that's done: f: FIXED......: a BUG that has been fixed d: DONE.......: something that has been done v: COMMIT.....: a VCS commit log Notes: r: REFERENCE..: a reference, e.g. a URL s: REFERENCE..: n: NOTE.......: notes, or items without a label g: DEBUG......: an item for debugging purposes e.g. 'TODO, NOTE' or 'bht' for 'BUG, HACK, TODO' Use '*' for all types.
PRIORITY
PRIORITY is a comma-separeted list of priorities or a range of priorities indicated with a dash '-' between a low and a high priority. A priority can be indicated by a priority number, a priority letter or abbreviation, or a priority name. Use '*' for all priorities. Supported values are: #: Abbr: Name...: 0: C, !: CRITICAL 1: H: HIGH 2: M: MEDIUM 3: L: LOW 4: D: DEBUG
FIELD
FIELD is a string of abbreviations or comma-separated list of fields. Supported fields are: u: user: select username d: date: select date g: long date: select date in long format t: type: select item type y: priority: select item priority e: filemtime: select file modification timestamp b: both: select path and file p: path: select path f: file: select file, do not prefix path. This may not be what you want, may merge files from different directories. l: line: select line number m: name: select file name k: link: select link to file (for specific revision) s: reference: select reference i: initials: select Wiki initials initials (requires config) n: new-lines: select number of new lines o: old-lines: select number of old lines c: line-diff: select lines difference r: revision: select VCS revision number x: text: select item text
FORMAT
FORMAT is a string of abbreviations or comma-separated list of format options. Supported format options are: U: plain-user: don't format user D: plain-date: don't format date T: plain-type: don't format type Y: plain-priority: don't format priority E: plain-filemtime: don't format filemtime B: plain-both: don't format path/file P: plain-path: don't format path F: plain-file: don't format file L: plain-line: don't format line M: plain-name: don't format name K: plain-link: don't format link S: plain-reference: don't format reference I: plain-initials: don't format initials N: plain-new-lines: don't format new lines O: plain-old-lines: don't format old lines C: plain-line-diff: don't format line diff R: plain-revision: don't format VCS revision number X: plain-text: don't format item text e.g. 'UT' disables formatting for user and type values.
OPTIONS
OPTIONS is a string of abbreviations or comma-separated list of report options. Supported report options are: h: html: output to HTML instead of wiki text a: table: output to HTML/wiki table instead of list e.g. 'ha' selects HTML with tables
Feedback
Report bugs to: jj5@progclub.org
Specifications
Functional specification
See help for information about how the script is supposed to work.
Technical specification
The script is a PHP CLI script.
Notes
Notes for implementers
If you are interested in incorporating this software into your project, here's what you need to know:
Just copy-and-paste your way to victory! Feel free to ask questions.
Notes for developers
If you're interested in contributing to this software, here's what you need to know:
Send your patch to jj5@progclub.org along with a statement that you are willing to be listed in the contributors section of the documentation and willing to license your contribution under the license.
For security reasons write access to jjrepo is only available for John. It's basically my private repository. If you'd like to hack on projects where you do have checkin permissions on the Subversion repository, along with infrastructure for running your code, then why not head over to ProgClub and register?
Notes from the code
Following are notes from the source code, generated by bugslist.php!
bin : open-doco.sh
- JE: open-doco.sh: open up a file explorer to optionally review log files...
- JE: open-doco.sh: give Firefox time to open...
- JE: open-doco.sh: give Firefox time to open...
- JE: open-doco.sh: give Firefox time to open...
- JE: open-doco.sh: give Firefox time to open...
- JE: open-doco.sh: give Firefox time to open...
- JE: open-doco.sh: give Kate time to open...
- JE: open-doco.sh: give Kate time to open...
- JE: open-doco.sh: give Kate time to open...
- JE: open-doco.sh: give Kate time to open...
- JE: open-doco.sh: give Kate time to open...
/ : bugslist.php
- JE: bugslist.php: Windows is unsupported... no effort has been made to be compatible with the Windows file system. If you would like to fix that I will accept your patch!
- JE: bugslist.php: START: error level definitions
- JE: bugslist.php: there's a bunch of error handling stuff we setup up-front
- JE: bugslist.php: program errors are things which shouldn't happen, they are numbered from 10 to 19. User errors are things that happen when the user makes a mistake or certain runtime conditions occur, they are numbered from 20 to 99. External program errors are between 100 and 199.
- JE: bugslist.php: error levels for external program errors are calculated by adding 100 to the external program error level for non-zero error levels. So you can determine the external program error level by subtracting 100 (assuming the external program error level wasn't negative or greater than 99).
- JE: bugslist.php: END: error level definitions
- JE: bugslist.php: START: error handling configuration
- JE: bugslist.php: END: error handling configuration
- JE: bugslist.php: START: global configuration
- JE: bugslist.php: we set constants and configure globals before loading the config file(s)...
- JE: bugslist.php: END: global configuration
- JE: bugslist.php: START: loading config file(s)...
- JE: bugslist.php: we have an application config file, include it. note that if it's the same as the local config file it will only be included once.
- JE: bugslist.php: we have a local config file... include it:
- JE: bugslist.php: END: loading config file(s)
- JE: bugslist.php: here we set constants which may have been provided in the config file.
- JE: bugslist.php: Main application logic starts here...
- JE: bugslist.php: configure our global defines, this should be done before loading the config file(s)...
- JE: bugslist.php: Following is the meta-data from SVN. Note that the svn keyward 'Header' is not used. To configure svn keywords: svn propset svn:keywords "Date Revision Author HeadURL Id" bugslist.php
- JE: bugslist.php: flag whether running in DEBUG mode or not...
- JE: bugslist.php: can conditionally switch on debug output...
- JE: bugslist.php: item types. Doesn't include aliases like 'SEE', 'FIXME', 'NICE', etc.
- JE: bugslist.php: FIXME is an alias for TODO
- JE: bugslist.php: SEE/REF are aliases...
- JE: bugslist.php: NICE is an alias for TODO
- JE: bugslist.php: FIXME is a HIGH priority TODO
- JE: bugslist.php: NICE is LOW priority TODO
- JE: bugslist.php: configure regular expressions:
- JE: bugslist.php: $file_extension_include and $file_extension_exclude are file extensions supported or not. For debugging purposes an included 'phar' and excluded 'properties' and 'xcf' are omitted so they should show up in 'unknown file types'...
- JE: bugslist.php: defines set in set_user_constants() can optionally be defined by the user in their config file(s).
- JE: bugslist.php: 10 takes 9m 30s
- JE: bugslist.php: 20 takes 6m 11s
- JE: bugslist.php: 30 takes 5m 19s
- JE: bugslist.php: 40 takes 4m 29s
- JE: bugslist.php: 50 takes 3m 55s
- JE: bugslist.php: 60 takes 3m 39s
- JE: bugslist.php: 70 takes 3m 14s
- JE: bugslist.php: 80 takes 2m 53s
- JE: bugslist.php: 90 takes 2m 45s
- JE: bugslist.php: 100 takes 2m 41s (or may fail)
- JE: bugslist.php: 110 fails
- JE: bugslist.php: 150 fails
- JE: bugslist.php: exception_handler(...) will exit (at time of writing!) but just to be safe:
- JE: bugslist.php: a few cheeky globals... who doesn't love globals!?
- JE: bugslist.php: START: path validation
- JE: bugslist.php: END: path validation
- JE: bugslist.php: START: file validaton
- JE: bugslist.php: END: file validation
- JE: bugslist.php: START: svn integration
- JE: bugslist.php: parse_svn() will have potentially stale data if 'svn up' isn't called prior. But we don't want to call 'svn up' all the time (especially from unit tests) because it's slooooooowwwww. So better to just live with the stale revision info from parse_svn() when it's not really needed. Read the code for parse_svn() to see what might be out-of-date.
- JE: bugslist.php: END: svn integration
- JE: bugslist.php: START: file/directory processing
- JE: bugslist.php: END: file/directory processing
- JE: bugslist.php: START: $data sorting
- JE: bugslist.php: END: $data sorting
- JE: bugslist.php: START: reporting
- JE: bugslist.php: END: reporting
- JE: bugslist.php: last in wins!
- JE: bugslist.php: this check is redundant now that the filters are regular expressions
- JE: bugslist.php: VCS type can be 'none', 'svn', or 'git' presently
- JE: bugslist.php: $counter tracks the number of pushd()'s so we can undo with popd()...
- JE: bugslist.php: if we pushd( '..' ) on '/' the current directory doesn't change, and we're done.
- JE: bugslist.php: we don't call shell() because we don't want to exit on error (we ignore errors here)...
- JE: bugslist.php: this function assumes we're in the project directory
- JE: bugslist.php: svn commits are LOW priority COMMIT items
- JE: bugslist.php: being a bit anal here, probably only need to test either $path or $file for null...
- JE: bugslist.php: add previous item:
- JE: bugslist.php: $slash_index won't be zero.
- JE: bugslist.php: being a bit anal here, probably only need to test either $path or $file for null...
- JE: bugslist.php: add last item:
- JE: bugslist.php: this is ugly, but it's fast and safe (at time of writing!)
- JE: bugslist.php: at this point it's OK to override the $file variable
- JE: bugslist.php: clear the progress report
- JE: bugslist.php: priority for FIXME can be different to TODO
- JE: bugslist.php: priority for NICE can be different to TODO
- JE: bugslist.php: $item_type is null to return false on invalid spec
- JE: bugslist.php: if we can't find the priority from the spec warn then fallthrough to get by item type...
- JE: bugslist.php: we can't find a priority so assume CRITICAL
- JE: bugslist.php: '*' is total
- JE: bugslist.php: we could imagine support for other types and/or is_numeric()...
- JE: bugslist.php: START: reset lower headings
- JE: bugslist.php: END: reset lower headings
- JE: bugslist.php: START: errors_off: only call PHP functions until errors are back on
- JE: bugslist.php: END: errors_off: we can call our own functions again now...
- JE: bugslist.php: wildcards are supported
- JE: bugslist.php: wildcards are supported
- JE: bugslist.php: following are functions which could probably be factored into a library.
- JE: bugslist.php: errors_on() enables error handling so we can fail if we encounter an error.
- JE: bugslist.php: errors_off() disables error handling so we can ignore errors. If you turn off errors you must turn them back on. You can't nest calls to errors_on/off() so it's a good idea if you disable errors that you only call PHP functions from your code until you have turned errors back on.
- JE: bugslist.php: if $fail is false then a boolean success value is returned. If $fail is true (the default) the process is terminated on error.
- JE: bugslist.php: returns false if no directory, true on success, or exits otherwise.
test/args : run.sh
- JE: run.sh: not a good idea to pass '/' or anything with lots of data in it...
- JE: run.sh: processing /tmp probably isn't a good idea...
test/errors : run.sh
test : fast.sh
test : new.sh
- JE: new.sh: don't edit this file. Edit process.sh...
- JE: new.sh: don't edit this file. Edit process.sh...
- JE: new.sh: include your arguments on the following line. If you have multiple equivalent tests (same input/output) you can duplicate the following line with different arguments.
- JE: new.sh: the process.sh script is not executed (it is sourced).
test/pushd : run.php
test : test.inc.sh
- JE: test.inc.sh: this file is sourced by a script runner. It defines a bunch of functions to run various kinds of tests.
test/vcs-type : run.sh
- JE: run.sh: just succeed if we're not on John's machine (but print a warning!)
- JE: run.sh: tests for 'none'
- JE: run.sh: tests for 'svn'
- JE: run.sh: tests for 'git'
Work
Tasks
HIGH priority
- open-doco.sh: TODO: don't open files or links for stuff that hasn't changed.
- bugslist.php: TODO: need to check we're not processing svn property changes....
- bugslist.php: TODO: it would be better to use strrpos to find the last colon...
MEDIUM priority
- bugslist.php: TODO: check if 'ods' is plain text / XML format...
- bugslist.php: TODO: document --max-date
- bugslist.php: TODO: unit tests for --max-date
- bugslist.php: TODO: add --min-date
- bugslist.php: TODO: implement revision filter
- bugslist.php: TODO: call is_int( $line ) instead. Confirm $line is an integer.
- bugslist.php: TODO: HTML table reporting
- bugslist.php: TODO: HTML list reporting
- bugslist.php: TODO: wiki table reporting
- bugslist.php: TODO: check for newlines in value and remove them
- bugslist.php: TODO: make priority filter and default priority a config file option.
- bugslist.php: TODO: make $file_extension_include, etc. configurable in config file.
- bugslist.php: TODO: make config override a command-line option. e.g.
- --config=user,jj5,initials=JE;user,jj5,wiki-user=Sixsigma
- bugslist.php: TODO: ignore extra punctuation after item type/priority
- bugslist.php: TODO: VCS support should probably include git in addition to svn.
- bugslist.php: TODO: test duplicate command-line options
- bugslist.php: TODO: implement $config[ 'ignore' ][ $field ][] = 'Ignore';
- bugslist.php: TODO: add better support for multiline svn commit messages
- bugslist.php: TODO: update doco about skip/keep now using regular expressions.
- bugslist.php: TODO: change path to prefix '/'
- bugslist.php: TODO: use <nowiki>''</nowiki> for ''..? Or henc() item text? Or surround item text in <nowiki>?
- bugslist.php: TODO: check for 'basic' regex match and warn if we don't match a proper item. I.e. we might match '//DATE USER -' (without space after '//' which will be skipped. We should warn in that case.
- bugslist.php: TODO: add support for item age (in days)
- bugslist.php: TODO: add support for svn:externals...
- bugslist.php: TODO: add a dates list report (as an index into e.g. 2016-12-22, etc.)
- bugslist.php: TODO: add support for --max-date and --min-date
- bugslist.php: TODO: support for START/END validation
- run.sh: TODO: plain-* output options
- run.sh: TODO: test --na and -o=X and -o=g
LOW priority
- bugslist.php: TODO: not sure if a little sleep for a few milliseconds is helpful or not..? Should do some benchmarking...
- bugslist.php: TODO: linting for invalid comment labels, e.g. HAKK, missing/invalid punctuation, etc.
- bugslist.php: TODO: MediaWiki integration would be nice. I.e. automatically insert reports into the MediaWiki database. Might be smarter to go in through the front-end via HTTP (need HTTP auth and a valid cookie for that... doable.)
- bugslist.php: TODO: add revision range filters, e.g. -r=50:100
- bugslist.php: TODO: renumber user exit levels to list file-system stuff before filters stuff.
- bugslist.php: HACK: we just bail if previous revision is zero.
- bugslist.php: HACK: We haven't verfied the syntax of the URL, and it might require HTML encoding?
- bugslist.php: HACK: We haven't verfied the syntax of the URL, and it might require HTML encoding?
- bugslist.php: HACK: OK, so if we ask to report references on items which are not references we will just report the item text:
- bugslist.php: CONSIDER: consider support for 'Z' => 'DEBUG'..?
- bugslist.php: CONSIDER: consider if 'phar' should be included...
- bugslist.php: CONSIDER: consider if 'properties' should be excluded...
- bugslist.php: CONSIDER: consider if 'xcf' should be excluded...
- bugslist.php: CONSIDER: does $proc_descriptor need to be a global..?
- bugslist.php: CONSIDER: is there a better default report..?
- bugslist.php: CONSIDER: make null headings a command-line/config option? At the moment null headings are skipped, not reported.
- bugslist.php: CONSIDER: alias 'TASK' to 'TODO'..?
- bugslist.php: CONSIDER: add support for FEATURE/IMPROVEMENT items..?
- bugslist.php: CONSIDER: add support for ';' list delimiters in addition to ','..?
- bugslist.php: CONSIDER: add support for multiple reports delimited with ';'..?
- bugslist.php: CONSIDER: add MAINT type w/ --maint option to report on maintenance gotchas? (i.e. stuff you need to know about for doing a release etc.)
- bugslist.php: CONSIDER: for svn items is the line number 'svn' or is it the first changed line in the associated file? (2016-12-15 jj5: I think the line number is the revision number, which is handy if we sort by line.)
- bugslist.php: CONSIDER: add 'SOON' item type?
- bugslist.php: CONSIDER: add BUGREF type, for references to include in BUG reports..? At the moment we've just extended BUG to include an optional URL...
- bugslist.php: CONSIDER: remove START/END notes from notes..?
Progress
2017-01-13
- JE: bugslist.php: DONE: added support for --na flag
- JE: revision 1375: COMMIT: Added support for --na switch; fixed COMMIT revision link text; refactored VCS processing;
- JE: revision 1376: COMMIT: Only output N/A if --na specified...
- JE: revision 1377: COMMIT: Add revision number to link text...
- JE: revision 1378: COMMIT: Things to do...
- JE: revision 1379: COMMIT: Added support for long date report...
- JE: revision 1380: COMMIT: Added support for plain long dates...
- JE: revision 1381: COMMIT: Changed plain path/file reporting...
- JE: revision 1382: COMMIT: Fixed default reference text...
- JE: revision 1383: COMMIT: Don't HTML encode reference text...
- JE: revision 1384: COMMIT: Added support for plain text reporting...
- JE: revision 1386: COMMIT: Adding support for filemtime...
- JE: revision 1387: COMMIT: Don't get filemtime if file doesn't exist any more...
- JE: revision 1388: COMMIT: Fixed concurrent processing regression...
- JE: revision 1387: COMMIT: Don't get filemtime if file doesn't exist any more...
- JE: revision 1388: COMMIT: Fixed concurrent processing regression...
- JE: revision 1385: COMMIT: Commenting code...
2016-12-22
- JE: revision 1353: COMMIT: Support for BUG references; Default reference-wiki to item text...
- JE: revision 1354: COMMIT: FIXME...
- JE: revision 1356: COMMIT: HTML encoding...
- JE: revision 1361: COMMIT: Working on bugslist reporting...
- JE: revision 1362: COMMIT: Adding support for svn:externals...
- JE: revision 1363: COMMIT: Fixing ViewVC URLs (proper revision)...
- JE: revision 1368: COMMIT: Adding things TODO...
- JE: revision 1369: COMMIT: Fixed $path and $local_path reporting...
- JE: revision 1374: COMMIT: Report N/A for empty reports...
- JE: revision 1355: COMMIT: Better reporting...
- JE: revision 1361: COMMIT: Working on bugslist reporting...
- JE: revision 1355: COMMIT: Better reporting...
- JE: revision 1356: COMMIT: HTML encoding...
- JE: revision 1357: COMMIT: Preparing for release...
- JE: revision 1364: COMMIT: Preparing for release...
- JE: revision 1370: COMMIT: Preparing for release...
2016-12-15
- JE: bugslist.php: DONE: command-line parsing factored into parse_command_line()...
- JE: bugslist.php: DONE: we don't initialise item type values any more.
- JE: bugslist.php: DONE: don't count null values
- JE: bugslist.php: DONE: path matching now uses any_match() function.
- JE: bugslist.php: DONE: support undelimited expressions in any_match()
- JE: bugslist.php: DONE: check for invalid regex:
- 0: no match
- 1: match
- false: invalid expression
- JE: bugslist.php: DONE: don't process error handler if we're temporarily ignoring errors. See errors_on() and errors_off().
- JE: bugslist.php: DONE: read_csv() is Read Character Separated Value.
- JE: bugslist.php: DONE: switch off errors to run chdir() which may fail
- JE: bugslist.php: DONE: call the total count field '*'
- JE: bugslist.php: DONE: improved stats gathering and reporting
- JE: bugslist.php: DONE: renumbered user error levels and updated tests
- JE: bugslist.php: DONE: count revision. path and file will not be counted.
- JE: bugslist.php: DONE: generic stats/counts reporting
- JE: bugslist.php: DONE: validate skip/keep regexes
- JE: run.sh: DONE: invalid skip tests
- JE: run.sh: DONE: invalid keep tests
- JE: run.php: DONE: define TEST to flag as unit test... (doesn't run main());
- JE: run.php: DONE: path_match() will exit with error EXIT_INVALID_EXPRESSION
- JE: revision 1342: COMMIT: Improved stats gathering and reporting...
- JE: revision 1343: COMMIT: Improving stats reports...
- JE: revision 1348: COMMIT: Adding regex validation...
- JE: revision 1349: COMMIT: Improving code comments...
- JE: revision 1350: COMMIT: Improving code comments...
- JE: revision 1351: COMMIT: Minor improvements...
- JE: revision 1337: COMMIT: Updating doco...
- JE: revision 1338: COMMIT: Preparing for release...
- JE: revision 1344: COMMIT: Preparing for release...
- JE: revision 1343: COMMIT: Improving stats reports...
- JE: revision 1348: COMMIT: Adding regex validation...
- JE: revision 1350: COMMIT: Improving code comments...
2016-12-14
- JE: bugslist.php: FIXED: call trim() to ensure support for multiline comments.
- JE: bugslist.php: DONE: configure_globals() is now comprehensive. All globals (that aren't entirely managed inside a function, such as $pushd_stack in pushd() and popd()) are now initialised here.
- JE: bugslist.php: DONE: $*_options and $*_abbreviations have now been standardised and initialised in configure_globals().
- JE: bugslist.php: DONE: subtracted 1 from terminal width.
- JE: bugslist.php: DONE: *.log is now excluded.
- JE: bugslist.php: DONE: SVN_DIFF_CONCURRENT is the number of concurrent svn diff operations we can run.
- JE: bugslist.php: DONE: default options have been factored into get_default_options().
- JE: bugslist.php: DONE: user options have been factored into $options array.
- JE: bugslist.php: DONE: read options into globals.
- JE: bugslist.php: DONE: we use '.debug' files for testing...
- JE: bugslist.php: DONE: fix up our directory filters...
- JE: bugslist.php: DONE: we fixup some filter options which might not be arrays when they should be.
- JE: bugslist.php: DONE: $options are now validated.
- JE: bugslist.php: DONE: if we have a path option chdir to it.
- JE: bugslist.php: DONE: file options are validated.
- JE: bugslist.php: DONE: initialise our main local variables.
- JE: bugslist.php: DONE: our VCS type is now auto-detected.
- JE: bugslist.php: DONE: we're in an svn working copy so do our svn stuff
- JE: bugslist.php: DONE: if user has specified files with --file then process them.
- JE: bugslist.php: DONE: if user hasn't specified files with --file then process the root directory.
- JE: bugslist.php: DONE: exit if --exit was specified.
- JE: bugslist.php: DONE: sort our $data. Sorting is by --aggregate then --collate.
- JE: bugslist.php: DONE: default order is based on the 'order' integer which is the order we discovered our items. (It's a counter.)
- JE: bugslist.php: DONE: report based on user options. Note that only report_wiki_list() is actually implemented at the moment.
- JE: bugslist.php: DONE: all user options are now initialised in get_default_options().
- JE: bugslist.php: DONE: command-line argument parsing has been factored into read_*_arg() methods.
- JE: bugslist.php: DONE: counters are now initialised in get_initial_count().
- JE: bugslist.php: DONE: help has been rewritten to avoid duplication.
- JE: bugslist.php: DONE: print_options() has been updated to use new $options array and report on more options (e.g. vcs type, exit, etc.)
- JE: bugslist.php: DONE: print_stats() now reports number of warnings.
- JE: bugslist.php: DONE: when we're not running in an svn working copy this function isn't called.
- JE: bugslist.php: DONE: bail if we don't have svn...
- JE: bugslist.php: DONE: just ignore the first revision, it's probably not interesting anyway....
- JE: bugslist.php: DONE: svn diff operations now run concurrently.
- JE: bugslist.php: DONE: now we keep the process buffer full instead of repeatedly clearing it before starting again...
- JE: bugslist.php: DONE: $type_regex is now an unconcatenated string because string concatenation for a constant didn't seem to work in PHP v5.3... it's annoying that it doesn't fit in 80 cols!
- JE: bugslist.php: DONE: get_priority() now collects $warnings...
- JE: bugslist.php: DONE: process skip/keep inside add_data
- JE: bugslist.php: DONE: path matching now done with regular expressions.
- JE: bugslist.php: DONE: shell() now returns an error level between 100 and 199. It's the exec'd error level plus 100.
- JE: bugslist.php: DONE: we now have a $changed output variable on pushd() which indicates if the current directory was actually changed or not. This is useful if you find yourself calling pushd( '..' ) on /.
- JE: bugslist.php: DONE: report --heading options
- JE: bugslist.php: DONE: the 'name' and 'line' options no longer include the revision number... need an option which does: that option is 'link'
- JE: bugslist.php: DONE: change 'name' from 'n' to 'm'.
- JE: bugslist.php: DONE: svn line number is revision number...
- JE: bugslist.php: DONE: move file-system stuff above filters stuff
- JE: bugslist.php: DONE: dir_match() has been replaced by path_match()
- JE: report.sh: DONE: added VCS integration to tasks report...
- JE: revision 1196: COMMIT: Working on warnings reports...
- JE: revision 1197: COMMIT: Working on warnings reports...
- JE: revision 1198: COMMIT: Report detected VCS...
- JE: revision 1199: COMMIT: Various refactoring...
- JE: revision 1200: COMMIT: Various refactoring...
- JE: revision 1201: COMMIT: Various refactoring...
- JE: revision 1203: COMMIT: Various refactoring...
- JE: revision 1204: COMMIT: Doc fix.
- JE: revision 1205: COMMIT: Doc fix...
- JE: revision 1217: COMMIT: Updating DONE items...
- JE: revision 1237: COMMIT: Updating DONE items...
- JE: revision 1242: COMMIT: Updating DONE items...
- JE: revision 1247: COMMIT: Adding TESTs to tasks report...
- JE: revision 1252: COMMIT: Doc fix...
- JE: revision 1269: COMMIT: Doc fix...
- JE: revision 1274: COMMIT: Adding note about potential library functions...
- JE: revision 1279: COMMIT: Placing format_* functions together...
- JE: revision 1284: COMMIT: Moving *_handler() functions to end of file in library section...
- JE: revision 1289: COMMIT: Doc fix...
- JE: revision 1294: COMMIT: Minor refactoring...
- JE: revision 1295: COMMIT: Fixed issue with multiline perl comments...
- JE: revision 1296: COMMIT: Doc fix...
- JE: revision 1301: COMMIT: Concurrent svn diffs and improved reporting...
- JE: revision 1302: COMMIT: Improving VCS reporting...
- JE: revision 1303: COMMIT: Improving "name" reporting...
- JE: revision 1304: COMMIT: Improving concurrency support...
- JE: revision 1305: COMMIT: Improving concurrency support...
- JE: revision 1307: COMMIT: Working on svn integration...
- JE: revision 1308: COMMIT: Working on status reports...
- JE: revision 1311: COMMIT: Working on status reports...
- JE: revision 1312: COMMIT: Removing svn:ignore for doc/*.log
- JE: revision 1313: COMMIT: Preparing for release...
- JE: revision 1318: COMMIT: Minor refactoring...
- JE: revision 1319: COMMIT: Preparing for release...
- JE: revision 1323: COMMIT: Improving VCS reports...
- JE: revision 1324: COMMIT: Return true on define_default() success...
- JE: revision 1326: COMMIT: Preparing for release...
- JE: revision 1330: COMMIT: Improving doco...
- JE: revision 1331: COMMIT: Improving doco...
- JE: revision 1332: COMMIT: Moving file-system before filters...
- JE: revision 1202: COMMIT: Changing -r to -a...
- JE: revision 1206: COMMIT: Removing vcs reporting for release...
- JE: revision 1211: COMMIT: Open Dolphin for log files...
- JE: revision 1216: COMMIT: Updating section numbers...
- JE: revision 1222: COMMIT: Using "link" instead of "name"...
- JE: revision 1227: COMMIT: Using "link" instead of "name"...
- JE: revision 1232: COMMIT: Using "link" instead of "name"...
- JE: revision 1247: COMMIT: Adding TESTs to tasks report...
- JE: revision 1257: COMMIT: Adding another TODO item...
- JE: revision 1258: COMMIT: Changing TODO item status to HIGH priority...
- JE: revision 1263: COMMIT: Sorting DONE items by line number...
- JE: revision 1268: COMMIT: Better sorting...
- JE: revision 1301: COMMIT: Concurrent svn diffs and improved reporting...
- JE: revision 1302: COMMIT: Improving VCS reporting...
- JE: revision 1303: COMMIT: Improving "name" reporting...
- JE: revision 1304: COMMIT: Improving concurrency support...
- JE: revision 1306: COMMIT: Working on status reports...
- JE: revision 1308: COMMIT: Working on status reports...
- JE: revision 1309: COMMIT: Working on status reports...
- JE: revision 1310: COMMIT: Working on status reports...
- JE: revision 1311: COMMIT: Working on status reports...
- JE: revision 1313: COMMIT: Preparing for release...
- JE: revision 1206: COMMIT: Removing vcs reporting for release...
- JE: revision 1207: COMMIT: Preparing for release...
- JE: revision 1212: COMMIT: Preparing for release...
- JE: revision 1218: COMMIT: Preparing for release...
- JE: revision 1223: COMMIT: Preparing for release...
- JE: revision 1228: COMMIT: Preparing for release...
- JE: revision 1233: COMMIT: Preparing for release...
- JE: revision 1238: COMMIT: Preparing for release...
- JE: revision 1243: COMMIT: Preparing for release...
- JE: revision 1248: COMMIT: Preparing for release...
- JE: revision 1253: COMMIT: Preparing for release...
- JE: revision 1259: COMMIT: Preparing for release...
- JE: revision 1263: COMMIT: Sorting DONE items by line number...
- JE: revision 1264: COMMIT: Preparing for release...
- JE: revision 1270: COMMIT: Preparing for release...
- JE: revision 1275: COMMIT: Preparing for release...
- JE: revision 1280: COMMIT: Preparing for release...
- JE: revision 1285: COMMIT: Preparing for release...
- JE: revision 1290: COMMIT: Preparing for release...
- JE: revision 1297: COMMIT: Preparing for release...
- JE: revision 1302: COMMIT: Improving VCS reporting...
- JE: revision 1303: COMMIT: Improving "name" reporting...
- JE: revision 1304: COMMIT: Improving concurrency support...
- JE: revision 1305: COMMIT: Improving concurrency support...
- JE: revision 1307: COMMIT: Working on svn integration...
- JE: revision 1308: COMMIT: Working on status reports...
- JE: revision 1310: COMMIT: Working on status reports...
- JE: revision 1311: COMMIT: Working on status reports...
- JE: revision 1313: COMMIT: Preparing for release...
- JE: revision 1314: COMMIT: Preparing for release...
- JE: revision 1319: COMMIT: Preparing for release...
- JE: revision 1323: COMMIT: Improving VCS reports...
- JE: revision 1325: COMMIT: Updating doco...
- JE: revision 1326: COMMIT: Preparing for release...
- JE: revision 1333: COMMIT: Preparing for release...
- JE: revision 1196: COMMIT: Working on warnings reports...
- JE: revision 1198: COMMIT: Report detected VCS...
- JE: revision 1332: COMMIT: Moving file-system before filters...
2016-12-13
- JE: bugslist.php: FIXED: current user '?' is not added to filter...
- JE: bugslist.php: DONE: initialise $config
- JE: bugslist.php: DONE: refactored documentation to remove duplication.
- JE: bugslist.php: DONE: fixed issue where we processed svn working copies that weren't svn working copies...
- JE: bugslist.php: DONE: refactored options globals
- JE: bugslist.php: DONE: changed --option to --output
- JE: revision 1189: COMMIT: Trying static without string concatenation...
- JE: revision 1190: COMMIT: Initialise $config...
- JE: revision 1191: COMMIT: Testing get_vcs_type()...
- JE: revision 1192: COMMIT: refactored documentation to remove duplication; fixed issue where we processed svn working copies that weren't svn working copies; refactored options globals; changed --option to --output
- JE: revision 1193: COMMIT: Various improvements...
- JE: revision 1194: COMMIT: Doc fix.
- JE: revision 1195: COMMIT: Doc fix.
- JE: revision 1193: COMMIT: Various improvements...
- JE: revision 1192: COMMIT: refactored documentation to remove duplication; fixed issue where we processed svn working copies that weren't svn working copies; refactored options globals; changed --option to --output
- JE: revision 1193: COMMIT: Various improvements...
- JE: revision 1191: COMMIT: Testing get_vcs_type()...
2016-12-12
- JE: bugslist.php: FIXED: there's an issue where if no-link options are specified and no cell options are specified we get a report with blank list items. The fix is to check if any cell items have been specified and if not automatically add 'text'.
- JE: bugslist.php: FIXED: issue where sub wiki items weren't indented
- JE: bugslist.php: DONE: reporting by text be might be useful..?
- JE: bugslist.php: DONE: cancel duration reporting during debugging
- JE: bugslist.php: DONE: path is '/' for base/project directory...
- JE: bugslist.php: DONE: removed revision from line/name links
- JE: bugslist.php: DONE: type wildcards are resolved at parse time.
- JE: bugslist.php: DONE: add svn items to COMMIT type rather than importing them as DONE.
- JE: bugslist.php: DONE: svn integration
- JE: bugslist.php: DONE: removed 'path-file', it's 'both' now...
- JE: bugslist.php: DONE: terminology change: 'alias' to 'abbreviation', an alias is a type alias like FIXME and SEE.
- JE: bugslist.php: DONE: update args unit tests with new command-line args
- JE: bugslist.php: DONE: DEBUG is 'g', not 'z'.
- JE: bugslist.php: DONE: changed --types to --type for consistency, same with --headings and --options.
- JE: bugslist.php: DONE: added --file doco
- JE: bugslist.php: DONE: fixed issue where newline was emitted after empty report.
- JE: open-doco.sh: DONE: we load the wiki edit URLs in Firefox and open the generated wiki text reports in Kate (Kate is a text editor...).
- JE: run.sh: DONE: invalid type tests
- JE: run.sh: DONE: invalid aggregate tests
- JE: run.sh: DONE: invalid heading tests
- JE: run.sh: DONE: valid heading options tests
- JE: run.sh: DONE: invalid heading option abbreviation tests
- JE: run.sh: DONE: invalid output options tests
- JE: run.sh: DONE: invalid level tests
- JE: run.sh: DONE: valid level tests
- JE: revision 1147: COMMIT: Added heading options...
- JE: revision 1148: COMMIT: Null heading support...
- JE: revision 1149: COMMIT: Removing hacks...
- JE: revision 1150: COMMIT: Improving doco...
- JE: revision 1151: COMMIT: Fixed issue with no-link only flags...
- JE: revision 1152: COMMIT: Fixing reporting issues...
- JE: revision 1153: COMMIT: Added item type documentation...
- JE: revision 1154: COMMIT: Improving doco formatting...
- JE: revision 1155: COMMIT: Terminology change: 'alias' to 'abbreviation'...
- JE: revision 1156: COMMIT: Added support for 'ref' type alias...
- JE: revision 1157: COMMIT: Added support for 'ref' type alias...
- JE: revision 1158: COMMIT: Fleshing out arguments unit tests...
- JE: revision 1165: COMMIT: Working on svn integration, so
- a multiline log message is in order...
- complete with wiki list:
- A,
- B,
- C!
- JE: revision 1166: COMMIT: Working on svn integration...
- JE: revision 1168: COMMIT: Comments for testing...
- JE: revision 1169: COMMIT: Added support for collation, also svn integration work...
- JE: revision 1170: COMMIT: Updating tests, improving reporting...
- JE: revision 1171: COMMIT: All tests passing!
- JE: revision 1177: COMMIT: Adding COMMIT type...
- JE: revision 1178: COMMIT: Minor fixups...
- JE: revision 1179: COMMIT: Minor fixups...
- JE: revision 1180: COMMIT: Handling false $path...
- JE: revision 1183: COMMIT: Ignoring log files...
- JE: revision 1184: COMMIT: Fixing columns issue...
- JE: revision 1185: COMMIT: Fixing status reporting issue...
- JE: revision 1186: COMMIT: Creating demo script...
- JE: revision 1187: COMMIT: Updating field abbreviations...
- JE: revision 1188: COMMIT: Fixing whitespace issue...
- JE: revision 1147: COMMIT: Added heading options...
- JE: revision 1150: COMMIT: Improving doco...
- JE: revision 1164: COMMIT: Fixing up reports...
- JE: revision 1167: COMMIT: Comment for testing...
- JE: revision 1168: COMMIT: Comments for testing...
- JE: revision 1170: COMMIT: Updating tests, improving reporting...
- JE: revision 1176: COMMIT: Updating reports...
- JE: revision 1180: COMMIT: Handling false $path...
- JE: revision 1181: COMMIT: Report generation writes log files...
- JE: revision 1182: COMMIT: Fixing doc path...
- JE: revision 1186: COMMIT: Creating demo script...
- JE: revision 1147: COMMIT: Added heading options...
- JE: revision 1160: COMMIT: Preparing for release...
- JE: revision 1164: COMMIT: Fixing up reports...
- JE: revision 1172: COMMIT: Preparing for release...
- JE: revision 1176: COMMIT: Updating reports...
- JE: revision 1180: COMMIT: Handling false $path...
- JE: revision 1181: COMMIT: Report generation writes log files...
- JE: revision 1182: COMMIT: Fixing doc path...
- JE: revision 1184: COMMIT: Fixing columns issue...
- JE: revision 1185: COMMIT: Fixing status reporting issue...
- JE: revision 1186: COMMIT: Creating demo script...
- JE: revision 1187: COMMIT: Updating field abbreviations...
- JE: revision 1150: COMMIT: Improving doco...
- JE: revision 1178: COMMIT: Minor fixups...
- JE: revision 1152: COMMIT: Fixing reporting issues...
- JE: revision 1153: COMMIT: Added item type documentation...
- JE: revision 1155: COMMIT: Terminology change: 'alias' to 'abbreviation'...
- JE: revision 1157: COMMIT: Added support for 'ref' type alias...
- JE: revision 1158: COMMIT: Fleshing out arguments unit tests...
- JE: revision 1159: COMMIT: Fleshing out arguments unit tests...
- JE: revision 1170: COMMIT: Updating tests, improving reporting...
- JE: revision 1186: COMMIT: Creating demo script...
2016-12-11
- JE: bugslist.php: DONE: load the svn globals
- JE: bugslist.php: DONE: priority suffix is a config option now.
- JE: bugslist.php: DONE: have counter for total LOC processed.
- JE: bugslist.php: DONE: have "no link" options for headings and cells. The no-link option removes URLs from wiki/html output for the value specified.
- JE: bugslist.php: DONE: removed support for NICE priority level, it added complexity and was kinda unclear. Gone now.
- JE: bugslist.php: DONE: added support for wiki user links (with initials). Configure in config file with e.g.:
- $config[ 'user' ][ 'jj5' ][ 'initials' ] = 'JE';
- $config[ 'user' ][ 'jj5' ][ 'wiki-user' ] = 'John';
- JE: bugslist.php: DONE: we have support for emitting wiki categories now. Configured in config file as e.g.:
- $config[ 'wiki' ][ 'category' ][ $type ][ $value ] = $category_name
- JE: bugslist.php: DONE: integer values are sorted numerically now (not as strings...)
- JE: bugslist.php: DONE: added support for 'line' and 'line-number'.
- JE: bugslist.php: DONE: basic unit testing framework has been implemented.
- JE: bugslist.php: DONE: user can exit without reporting with +X. In this case error level is zero.
- JE: bugslist.php: DONE: implement no-link heading options
- JE: bugslist.php: DONE: implement no-link options
- JE: bugslist.php: DONE: add 'both' option for path/file
- JE: bugslist.php: DONE: don't output cells in report if they are missing
- JE: bugslist.php: DONE: added support for initals option, links to user wiki
- JE: bugslist.php: DONE: start heading level is configurable...
- JE: bugslist.php: DONE: added --level for initial heading level, defaults to 2.
- JE: revision 1026: COMMIT: 'v' is for version...
- JE: revision 1059: COMMIT: HIGH priority HACK...
- JE: revision 1060: COMMIT: On warnings..?
- JE: revision 1066: COMMIT: Work, work...
- JE: revision 1084: COMMIT: Avoiding false positive...
- JE: revision 1085: COMMIT: Refactoring variable names...
- JE: revision 1086: COMMIT: Support for --today and --yesterday...
- JE: revision 1087: COMMIT: Note about non-debugging default...
- JE: revision 1088: COMMIT: Creating links for REF/SEE...
- JE: revision 1089: COMMIT: FIXME alias to TODO, HIGH priority...
- JE: revision 1091: COMMIT: Link linking...
- JE: revision 1092: COMMIT: REF to REFERENCE...
- JE: revision 1094: COMMIT: Default heading level is 2...
- JE: revision 1095: COMMIT: List types in report order...
- JE: revision 1098: COMMIT: Working on reports...
- JE: revision 1099: COMMIT: Fixing revision links...
- JE: revision 1101: COMMIT: Fixing revision links...
- JE: revision 1103: COMMIT: Added FIXED type...
- JE: revision 1104: COMMIT: Added NICE type alias...
- JE: revision 1105: COMMIT: Added NICE type alias...
- JE: revision 1106: COMMIT: Adding NICE priority...
- JE: revision 1117: COMMIT: Improving help text...
- JE: revision 1122: COMMIT: Improving doco generators...
- JE: revision 1124: COMMIT: No NICE priority any more...
- JE: revision 1125: COMMIT: Working on notes generation...
- JE: revision 1127: COMMIT: Improving report options...
- JE: revision 1132: COMMIT: Improving initials logic...
- JE: revision 1134: COMMIT: Hack to get unit tests working, for now...
- JE: revision 1135: COMMIT: Adding support for 'path', 'file' and 'both'...
- JE: revision 1141: COMMIT: Improving reporting...
- JE: revision 1142: COMMIT: Adding some comments...
- JE: revision 1027: COMMIT: Working on release script...
- JE: revision 1032: COMMIT: Help is section 9...
- JE: revision 1033: COMMIT: Linking to source...
- JE: revision 1038: COMMIT: Linking to GPL...
- JE: revision 1043: COMMIT: Linking to www.jj5.net...
- JE: revision 1044: COMMIT: Linking to free software explanation...
- JE: revision 1049: COMMIT: Need to replace "jj5" first...
- JE: revision 1054: COMMIT: Fixing sed search/replace...
- JE: revision 1065: COMMIT: Adding a small delay...
- JE: revision 1067: COMMIT: Linking email address...
- JE: revision 1072: COMMIT: Adding a small delay...
- JE: revision 1073: COMMIT: Fixing link syntax...
- JE: revision 1078: COMMIT: Adding a small delay...
- JE: revision 1079: COMMIT: Bold usage...
- JE: revision 1098: COMMIT: Working on reports...
- JE: revision 1099: COMMIT: Fixing revision links...
- JE: revision 1100: COMMIT: Links report...
- JE: revision 1102: COMMIT: Fixing reports...
- JE: revision 1111: COMMIT: Opening links.wiki, waiting less...
- JE: revision 1116: COMMIT: Fixing XML comments in wiki text...
- JE: revision 1122: COMMIT: Improving doco generators...
- JE: revision 1124: COMMIT: No NICE priority any more...
- JE: revision 1125: COMMIT: Working on notes generation...
- JE: revision 1126: COMMIT: Updating Tasks edit link...
- JE: revision 1127: COMMIT: Improving report options...
- JE: revision 1141: COMMIT: Improving reporting...
- JE: revision 1027: COMMIT: Working on release script...
- JE: revision 1028: COMMIT: Preparing for release...
- JE: revision 1034: COMMIT: Preparing for release...
- JE: revision 1039: COMMIT: Preparing for release...
- JE: revision 1044: COMMIT: Linking to free software explanation...
- JE: revision 1045: COMMIT: Preparing for release...
- JE: revision 1050: COMMIT: Preparing for release...
- JE: revision 1055: COMMIT: Preparing for release...
- JE: revision 1061: COMMIT: Preparing for release...
- JE: revision 1068: COMMIT: Preparing for release...
- JE: revision 1074: COMMIT: Preparing for release...
- JE: revision 1080: COMMIT: Preparing for release...
- JE: revision 1085: COMMIT: Refactoring variable names...
- JE: revision 1098: COMMIT: Working on reports...
- JE: revision 1099: COMMIT: Fixing revision links...
- JE: revision 1100: COMMIT: Links report...
- JE: revision 1101: COMMIT: Fixing revision links...
- JE: revision 1102: COMMIT: Fixing reports...
- JE: revision 1103: COMMIT: Added FIXED type...
- JE: revision 1104: COMMIT: Added NICE type alias...
- JE: revision 1106: COMMIT: Adding NICE priority...
- JE: revision 1107: COMMIT: Preparing for release...
- JE: revision 1112: COMMIT: Preparing for release...
- JE: revision 1118: COMMIT: Preparing for release...
- JE: revision 1122: COMMIT: Improving doco generators...
- JE: revision 1123: COMMIT: Adding tasks.wiki...
- JE: revision 1124: COMMIT: No NICE priority any more...
- JE: revision 1125: COMMIT: Working on notes generation...
- JE: revision 1127: COMMIT: Improving report options...
- JE: revision 1128: COMMIT: Preparing for release...
- JE: revision 1137: COMMIT: Preparing for release...
- JE: revision 1141: COMMIT: Improving reporting...
- JE: revision 1143: COMMIT: Preparing for release...
- JE: revision 1094: COMMIT: Default heading level is 2...
- JE: revision 1135: COMMIT: Adding support for 'path', 'file' and 'both'...
- JE: revision 1093: COMMIT: Line link...
- JE: revision 1136: COMMIT: Fixing unit tests...
- JE: revision 1093: COMMIT: Line link...
- JE: revision 1136: COMMIT: Fixing unit tests...
- JE: revision 1098: COMMIT: Working on reports...
2016-12-10
- JE: bugslist.php: DONE: don't run main in unit tests...
- JE: bugslist.php: DONE: track if output sent:
- JE: bugslist.php: DONE: missing fields are now an error:
- JE: bugslist.php: DONE: numerical sorting for priority and line number.
- JE: bugslist.php: DONE: support to show/hide warnings
- JE: bugslist.php: DONE: use define( 'TEST', true ) to avoid running main() when loading script.
- JE: bugslist.php: DONE: --file overrides --skip etc.
- JE: bugslist.php: DONE: added 'y' for priority
- JE: bugslist.php: DONE: added priority filters
- JE: bugslist.php: DONE: improved newline outputs between optional sections
- JE: bugslist.php: DONE: added 'text' to report (for sorting, removes duplicates)
- JE: bugslist.php: DONE: FIXME is HIGH priority TODO
- JE: bugslist.php: DONE: added support for --today and --yesterday
- JE: bugslist.php: DONE: run.sh and debug.sh unit tests call process.sh with an argument for what mode to run in (so command-line can be specified once-only and not duplicated between scripts).
- JE: bugslist.php: DONE: created project page and initial documentation.
- JE: bugslist.php: DONE: require punctuation after item type.
- JE: bugslist.php: DONE: support 'x-y' for PRIORITY spec? E.g. '0-3', 'H-L', etc.
- JE: bugslist.php: DONE: ignore: START, END items...
- JE: bugslist.php: DONE: have stdout() and stderr() functions and they track if output sent in global variables.
- JE: test.inc.sh: DONE: added '$$' (process ID) to temp files.
- JE: run.sh: DONE: invalid file tests
- JE: run.sh: DONE: valid file tests
- JE: run.sh: DONE: invalid path/file tests
- JE: run.sh: DONE: valid path/file tests
- JE: run.sh: DONE: invalid priority tests
- JE: run.sh: DONE: valid priority tests
- JE: run.php: DONE: define TEST to flag as unit test... (doesn't run main());
- JE: run.php: DONE: define TEST to flag as unit test... (doesn't run main());
- JE: run.php: DONE: testing relative pushd's...
- JE: run.php: DONE: testing absolute pushd's...
- JE: run.php: DONE: define TEST to flag as unit test... (doesn't run main());
- JE: revision 963: COMMIT: Added support for priorities...
- JE: revision 964: COMMIT: Fixed report aggregation bug...
- JE: revision 965: COMMIT: Added support for CRITICAL priorities...
- JE: revision 966: COMMIT: Added support for line numbers...
- JE: revision 967: COMMIT: Added support for line numbers...
- JE: revision 969: COMMIT: Unit tests for --file switch...
- JE: revision 970: COMMIT: Tests for pushd/popd...
- JE: revision 971: COMMIT: Support for --file switch...
- JE: revision 974: COMMIT: Support for non-numeric line numbers...
- JE: revision 975: COMMIT: Support for numeric sorting...
- JE: revision 976: COMMIT: Remove duplicate items...
- JE: revision 977: COMMIT: Experimenting with START/END markers...
- JE: revision 979: COMMIT: Filtering done at data-gather time...
- JE: revision 980: COMMIT: Added 'FIXME' alias...
- JE: revision 981: COMMIT: 'y' for PRIORITY...
- JE: revision 982: COMMIT: Adding --priority tests...
- JE: revision 985: COMMIT: Priority filter testing...
- JE: revision 986: COMMIT: Support for priority range...
- JE: revision 987: COMMIT: Priority tests...
- JE: revision 988: COMMIT: Added option to show/hide warnings...
- JE: revision 989: COMMIT: Ensure priorities are high to low...
- JE: revision 991: COMMIT: Better unit testing...
- JE: revision 993: COMMIT: A note about Windows...
- JE: revision 994: COMMIT: Report spacing...
- JE: revision 995: COMMIT: Improved reporting...
- JE: revision 1004: COMMIT: Wiki text for help...
- JE: revision 1005: COMMIT: Wiki text...
- JE: revision 1014: COMMIT: Working on release script...
- JE: revision 1017: COMMIT: Improving help indenting...
- JE: revision 1018: COMMIT: Improving report indenting...
- JE: revision 1020: COMMIT: Improving report indenting...
- JE: revision 1006: COMMIT: Adding release script...
- JE: revision 1007: COMMIT: Working on release script...
- JE: revision 1008: COMMIT: Working on release script...
- JE: revision 1010: COMMIT: Working on release script...
- JE: revision 1011: COMMIT: Working on release script...
- JE: revision 1012: COMMIT: Working on release script...
- JE: revision 1013: COMMIT: Working on release script...
- JE: revision 1014: COMMIT: Working on release script...
- JE: revision 1016: COMMIT: Working on release script...
- JE: revision 1021: COMMIT: Working on output formatting...
- JE: revision 1005: COMMIT: Wiki text...
- JE: revision 1009: COMMIT: Preparing for release...
- JE: revision 1015: COMMIT: Preparing for release...
- JE: revision 1022: COMMIT: Preparing for release...
- JE: revision 973: COMMIT: Adding support for fast tests...
- JE: revision 983: COMMIT: Updating to include priority filtering...
- JE: revision 984: COMMIT: Better logic...
- JE: revision 991: COMMIT: Better unit testing...
- JE: revision 967: COMMIT: Added support for line numbers...
- JE: revision 996: COMMIT: Refactoring tests...
- JE: revision 997: COMMIT: Punctuation tests...
- JE: revision 998: COMMIT: Multiuser tests...
- JE: revision 999: COMMIT: More lists testing...
- JE: revision 1000: COMMIT: Reference testing...
- JE: revision 1001: COMMIT: Line number testing...
- JE: revision 976: COMMIT: Remove duplicate items...
- JE: revision 1002: COMMIT: Duplicate testing...
- JE: revision 985: COMMIT: Priority filter testing...
- JE: revision 989: COMMIT: Ensure priorities are high to low...
- JE: revision 991: COMMIT: Better unit testing...
- JE: revision 1003: COMMIT: Priority testing...
- JE: revision 969: COMMIT: Unit tests for --file switch...
- JE: revision 972: COMMIT: File tests...
- JE: revision 978: COMMIT: More invalid --file options...
- JE: revision 980: COMMIT: Added 'FIXME' alias...
- JE: revision 981: COMMIT: 'y' for PRIORITY...
- JE: revision 982: COMMIT: Adding --priority tests...
- JE: revision 987: COMMIT: Priority tests...
- JE: revision 989: COMMIT: Ensure priorities are high to low...
- JE: revision 990: COMMIT: Don't process /tmp...
- JE: revision 970: COMMIT: Tests for pushd/popd...
- JE: revision 971: COMMIT: Support for --file switch...
2016-12-09
- JE: bugslist.php: DONE: check for application config file in script dir...
- JE: bugslist.php: DONE: $config_path is of no further use... clear it.
- JE: bugslist.php: DONE: configure terminal width
- JE: bugslist.php: DONE: don't output spurious leading/trailing new lines
- JE: bugslist.php: DONE: add support for formatting options and include optional line numbers.
- JE: run.sh: DONE: required argument missing for command-line switch tests
- JE: run.sh: DONE: optional argument missing for command-line switch tests
- JE: run.sh: DONE: invalid command-line switch tests
- JE: run.sh: DONE: invalid path tests
- JE: run.sh: DONE: valid path tests
- JE: run.sh: DONE: invalid include tests
- JE: run.sh: DONE: valid include tests
- JE: run.sh: DONE: invalid exclude tests
- JE: run.sh: DONE: valid exclude tests
- JE: run.sh: DONE: valid skip tests
- JE: run.sh: DONE: valid keep tests
- JE: run.sh: DONE: invalid username tests
- JE: run.sh: DONE: valid username tests
- JE: run.sh: DONE: invalid datespec tests
- JE: run.sh: DONE: valid datespec tests
- JE: run.sh: DONE: valid type tests
- JE: run.sh: DONE: invalid type abbreviation tests
- JE: run.sh: DONE: valid type abbreviation tests
- JE: run.sh: DONE: valid aggregate tests
- JE: run.sh: DONE: invalid aggregate abbreviation tests
- JE: run.sh: DONE: valid aggregate abbreviation tests
- JE: run.sh: DONE: valid heading option abbreviation tests
- JE: run.sh: DONE: valid output options tests
- JE: run.sh: DONE: invalid output option abbreviation tests
- JE: run.sh: DONE: valid output option abbreviation tests
- JE: revision 896: COMMIT: Work, work...
- JE: revision 897: COMMIT: Unit tests...
- JE: revision 899: COMMIT: Fixing leading/trailing new lines...
- JE: revision 902: COMMIT: Removed obsolete support for /test-data...
- JE: revision 904: COMMIT: Removed trailing space on unknown extensions report...
- JE: revision 909: COMMIT: Trimming item parts...
- JE: revision 910: COMMIT: Removing trailing space on list items...
- JE: revision 911: COMMIT: New unit testing system...
- JE: revision 915: COMMIT: Removing experimental line numbers...
- JE: revision 920: COMMIT: Trim leading asta for C-style comments...
- JE: revision 923: COMMIT: Various spacing...
- JE: revision 924: COMMIT: Various spacing...
- JE: revision 926: COMMIT: Parser bug fixes...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 928: COMMIT: Validate user and date args...
- JE: revision 929: COMMIT: Command line args validation...
- JE: revision 930: COMMIT: Support for application config file and local config file...
- JE: revision 931: COMMIT: Path/file reporting...
- JE: revision 932: COMMIT: All tests passing...
- JE: revision 934: COMMIT: All tests passing...
- JE: revision 935: COMMIT: User exit requested error level is zero...
- JE: revision 937: COMMIT: Command-line argument validation...
- JE: revision 938: COMMIT: Syntax for 'current user'...
- JE: revision 939: COMMIT: TODO list...
- JE: revision 940: COMMIT: Command-line validation...
- JE: revision 941: COMMIT: Command-line validation...
- JE: revision 943: COMMIT: Command-line validation...
- JE: revision 946: COMMIT: Command-line validation...
- JE: revision 947: COMMIT: Command-line validation...
- JE: revision 948: COMMIT: TODO list...
- JE: revision 949: COMMIT: Link aliases...
- JE: revision 950: COMMIT: Command-line validation...
- JE: revision 952: COMMIT: DEBUG 'x' -> 'z'
- JE: revision 954: COMMIT: Working on line numbers...
- JE: revision 955: COMMIT: Working on line numbers...
- JE: revision 956: COMMIT: Minor refactoring...
- JE: revision 958: COMMIT: Working on line numbers...
- JE: revision 959: COMMIT: Working on line numbers...
- JE: revision 960: COMMIT: Working on line numbers...
- JE: revision 961: COMMIT: Working on line numbers...
- JE: revision 962: COMMIT: Working on line numbers...
- JE: revision 897: COMMIT: Unit tests...
- JE: revision 898: COMMIT: Fixed logic...
- JE: revision 900: COMMIT: Support for unit test arguments...
- JE: revision 901: COMMIT: Test all...
- JE: revision 903: COMMIT: Fixed $0 syntax...
- JE: revision 907: COMMIT: Improved reporting...
- JE: revision 908: COMMIT: Adding support for default output files...
- JE: revision 913: COMMIT: Using .debug file extensions...
- JE: revision 915: COMMIT: Removing experimental line numbers...
- JE: revision 918: COMMIT: Create test.sh script...
- JE: revision 919: COMMIT: Script debugging...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 936: COMMIT: Command-line argument validation...
- JE: revision 951: COMMIT: Process ID on temp file...
- JE: revision 903: COMMIT: Fixed $0 syntax...
- JE: revision 908: COMMIT: Adding support for default output files...
- JE: revision 915: COMMIT: Removing experimental line numbers...
- JE: revision 917: COMMIT: More testing...
- JE: revision 920: COMMIT: Trim leading asta for C-style comments...
- JE: revision 921: COMMIT: Testing punctuation...
- JE: revision 923: COMMIT: Various spacing...
- JE: revision 934: COMMIT: All tests passing...
- JE: revision 897: COMMIT: Unit tests...
- JE: revision 900: COMMIT: Support for unit test arguments...
- JE: revision 914: COMMIT: Using .debug file extensions...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 903: COMMIT: Fixed $0 syntax...
- JE: revision 916: COMMIT: Removing experimental line numbers...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 906: COMMIT: Unit tests for wiki lists (or not) ...
- JE: revision 912: COMMIT: Non wiki lists...
- JE: revision 926: COMMIT: Parser bug fixes...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 915: COMMIT: Removing experimental line numbers...
- JE: revision 916: COMMIT: Removing experimental line numbers...
- JE: revision 919: COMMIT: Script debugging...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 917: COMMIT: More testing...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 920: COMMIT: Trim leading asta for C-style comments...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 921: COMMIT: Testing punctuation...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 922: COMMIT: Testing multi-user...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 923: COMMIT: Various spacing...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 924: COMMIT: Various spacing...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 925: COMMIT: Two per line...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 926: COMMIT: Parser bug fixes...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 932: COMMIT: All tests passing...
- JE: revision 933: COMMIT: Reference testing...
- JE: revision 954: COMMIT: Working on line numbers...
- JE: revision 955: COMMIT: Working on line numbers...
- JE: revision 957: COMMIT: Working on line numbers...
- JE: revision 927: COMMIT: Work, work...
- JE: revision 936: COMMIT: Command-line argument validation...
- JE: revision 938: COMMIT: Syntax for 'current user'...
- JE: revision 940: COMMIT: Command-line validation...
- JE: revision 941: COMMIT: Command-line validation...
- JE: revision 942: COMMIT: Command-line validation...
- JE: revision 943: COMMIT: Command-line validation...
- JE: revision 944: COMMIT: Command-line validation...
- JE: revision 945: COMMIT: Command-line validation...
- JE: revision 946: COMMIT: Command-line validation...
- JE: revision 947: COMMIT: Command-line validation...
- JE: revision 950: COMMIT: Command-line validation...
- JE: revision 952: COMMIT: DEBUG 'x' -> 'z'
- JE: revision 953: COMMIT: Command-line validation...
2016-12-07
- JE: bugslist.php: DONE: don't blank if no stderr output
- JE: bugslist.php: DONE: set default priority by type:
- TODO: MEDIUM
- HACK: LOW
- etc.
- JE: revision 892: COMMIT: Improving reporting new lines...
- JE: revision 893: COMMIT: Removing old comments...
- JE: revision 894: COMMIT: Found the bug! Next I will fix it!
- JE: revision 895: COMMIT: don't blank if no stderr output
- JE: revision 894: COMMIT: Found the bug! Next I will fix it!
2016-12-06
- JE: bugslist.php: FIXED: there's a problem with multiline comments below, see the PRIORITY TODO item. The issue is the preceding item about line numbers...
- JE: bugslist.php: DONE: try for config file in program directory...
- JE: bugslist.php: DONE: check for local config file in cwd...
- JE: bugslist.php: DONE: added '' to included extensions and made excluded extensions override included extensions.
- JE: bugslist.php: DONE: include reporting options, and other new options
- JE: bugslist.php: DONE: added support for wildcard users...
- JE: bugslist.php: DONE: added support for wildcard dates...
- JE: bugslist.php: DONE: support PRIORITY for TODO etc. By default:
- 0: CRITICAL
- 1: HIGH
- 2: MEDIUM
- 3: LOW
- 4: DEBUG
- JE: bugslist.php: DONE: option to print line numbers
- JE: bugslist.php: DONE: improved reporting to group by date, user, etc.
- JE: bugslist.php: DONE: implemented descending sorting
- JE: bugslist.php: DONE: implemented natural case sorting
- JE: revision 869: COMMIT: Introducing bugslist.php!
- JE: revision 871: COMMIT: Adding svn keywords...
- JE: revision 872: COMMIT: Working on bugslist.php...
- JE: revision 873: COMMIT: Working on bugslist.php...
- JE: revision 874: COMMIT: Ignoring production config file...
- JE: revision 875: COMMIT: Working on bugslist.php...
- JE: revision 876: COMMIT: Adding test data...
- JE: revision 877: COMMIT: Added support for wildcard dates...
- JE: revision 878: COMMIT: Work, work...
- JE: revision 879: COMMIT: Flexible reporting...
- JE: revision 880: COMMIT: Flexible reporting...
- JE: revision 881: COMMIT: Added support for sorting and natural case comparisons...
- JE: revision 882: COMMIT: docfix
- JE: revision 883: COMMIT: Comment maintenance...
- JE: revision 884: COMMIT: Fixed text sorting (now based on line number)...
- JE: revision 885: COMMIT: Better punctuation support...
- JE: revision 886: COMMIT: Fixed comment spacing issues...
- JE: revision 887: COMMIT: Changed 'aggregate' to 'merge'...
- JE: revision 888: COMMIT: Fixed multiline issues with gratuitous calls to trim()...
- JE: revision 889: COMMIT: Ped-an-tic...
- JE: revision 890: COMMIT: Removed old reporting code...
- JE: revision 891: COMMIT: Buggy/experimental support for line numbers... WIP
- JE: revision 876: COMMIT: Adding test data...
- JE: revision 880: COMMIT: Flexible reporting...
- JE: revision 884: COMMIT: Fixed text sorting (now based on line number)...
- JE: revision 885: COMMIT: Better punctuation support...
- JE: revision 886: COMMIT: Fixed comment spacing issues...
2016-12-05
- JE: bugslist.php: DONE: changed support for files with no extension, changed from excluded by default to included by default (for shell scripts, README, etc).
- JE: bugslist.php: DONE: don't allow empty path spec