Bugslist: Difference between revisions

From John's wiki
Jump to navigation Jump to search
(→‎Links: updating links...)
No edit summary
 
(150 intermediate revisions by the same user not shown)
Line 1: Line 1:
bugslist.php is [[User:Sixsigma|John]]'s TODO list management script. For other projects see [[projects]].
[[Bugslist]] has moved to ProgClub: https://www.progclub.org/wiki/bugslist
 
= Status =
 
[[#Version|Released]]! But there's stuff [[bugslist.php#TODO|TODO]].
 
== Version ==
 
bugslist.php v0.1.1171
 
Copyright © 2016 [https://www.jj5.net/ John Elliot V]
License GPLv3+: [https://gnu.org/licenses/gpl.html GNU GPL] version 3 or later.
This is [https://www.gnu.org/philosophy/free-sw.html free software]: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
 
=== Version control info ===
 
Timestamp.......: 2016-12-12 10:20:17 +1100 (Mon, 12 Dec 2016)
UTC timestamp...: 2016-12-11 23:20:17Z
Date............: 2016-12-12
Time............: 10:20:17
Author..........: [https://www.jj5.net/ jj5]
File............: bugslist.php
Revision........: 1171
URL.............: [https://svn.jj5.net/svn/public/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php bugslist.php]
 
= Administration =
 
== Contributors ==
 
People who have contributed to this project. Newest on top.
 
* [[User:Sixsigma|John Elliot V]]
 
== Copyright ==
 
Copyright © 2016, [[bugslist.php#Contributors|Contributors]].
 
== License ==
 
Licensed under the [https://gnu.org/licenses/gpl.html GNU GPL] version 3 or later.
 
= Resources =
 
== 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: 2016-12-12 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
  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..:
  DONE..............: something that has been done.............: LOW
  FIXED.............: a BUG that has been fixed................: 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, FIXME
  2:    M:  MEDIUM:  TODO
  3:    L:      LOW:  HACK, DONE, FIXED, 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: <nowiki><!-- --></nowiki>
  Perl #.......: comment labels begin after '# ' (the space is important)
  C/CSS........: comment labels are within: /* */
 
=== Filtering options ===
 
-u, --user=USER      include items for USER
                      USER is comma-separated list of usernames
                      Use '*' for all users; '?' for current user.
-d, --date=DATE      include items for 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.
    --today          include items for today only (default if not debugging)
    --yesterday      include items for yesterday only
-t, --type=[TYPES|ABBR]  include items by type, will affect report order.
                      Duplicates are ignored. TYPES is comma-separated list
                      of item types:
                        Red-flags:
                        WARNING....: something to be careful of
                        TEMP.......: a note for code that should be removed
                        Stuff to do:
                        BUG........: something that needs to be fixed
                        TODO.......: something that needs to be done
                        HACK.......: something that needs to be improved
                        CONSIDER...: something to consider
                        Stuff that's done:
                        DONE.......: something that has been done
                        FIXED......: a BUG that has been fixed
                        Notes:
                        REFERENCE..: a reference, e.g. a URL
                        NOTE.......: notes, or items without a label
                        DEBUG......: an item for debugging purposes
                      e.g. 'TODO, NOTE'
                      ABBR is string of type abbreviations:
                        w: WARNING
                        m: TEMP
                        b: BUG
                        t: TODO
                        h: HACK
                        c: CONSIDER
                        d: DONE
                        f: FIXED
                        r: REFERENCE
                        s: REFERENCE
                        n: NOTE
                        g: DEBUG
                      e.g. 'bht' is 'BUG, HACK, TODO'
                      Use '*' for all types.
-y, --priority=[PRIORITIES]  include items with particular PRIORITIES. Can
                      be priority number, priority letter/abbreviation, or
                      priority name. Use '*' for all priorities.
    --all            report on all users, dates, types, and priorities.
 
=== 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=DIRS      comma-separated list of directory paths to skip
-k, --keep=DIRS      comma-separated list of directory paths to keep
                      ** BE VERY CAREFUL **
                      e.g.:
                        'bin,obj' matches 'p/t/colbbin' and 'p/t/my-obj'
                        '/bin,/obj' matches 'path/to/bin' and 'path/to/obj'
                      a warning is emitted for DIRS with no leading '/'
                      Note: keeps override skips
 
=== Output options ===
 
-r, --report=FIELD    report aggregation. Duplicates are ignored.
-c, --collate=FIELD  report sorting. Duplicates are ignored.
                      FIELD is a string of abbreviations or comma-separated
                      list of reporting and collation fields.
                      Supported report/collate FIELD options are:
                        user: group/sort by user
                        date: group/sort by date
                        type: group/sort by item type
                        priority: group/sort by item priority
                        both: group/sort by path and file
                        path: group/sort by path
                        file: group/sort by file, do not prefix path.
                              This may not be what you want, will merge
                              files from different directories.
                        line: group/sort by line number
                        name: group/sort by name
                        reference: group/sort by reference
                        initials: group/sort by initials
                        new-lines: group/sort by number of new lines
                        old-lines: group/sort by number of old lines
                        line-diff: group/sort by lines difference
                        revision: group/sort by VCS revision number,
                        text: group/sort by text
                      Supported abbreviations are:
                        u: user
                        d: date
                        t: type
                        y: priority
                        b: both
                        p: path
                        f: file
                        l: line
                        m: name
                        s: reference
                        i: initials
                        n: new lines
                        o: old lines
                        c: line diff
                        r: VCS revision number
                        x: text
                      Use uppercase abbreviations to sort descending.
                      Default sorting uses binary comparision rather than
                      locale sensitive comparison which is probably what
                      you want.
                      e.g. 'dUp' selects by date, user desc, and path
-h, --heading=LINKSPEC
                      heading options. Duplicates are not supported.
                      LINKSPEC is a string of abbreviations or
                      comma-separated list of heading options.
                      Supported options are:
                        plain-user: don't format user
                        plain-date: don't format date
                        plain-type: don't format type
                        plain-priority: don't format priority
                        plain-both: don't format path/file
                        plain-path: don't format path
                        plain-file: don't format file
                        plain-line: don't format line
                        plain-name: don't format name
                        plain-reference: don't format reference
                        plain-initials: don't format initials
                        plain-new-lines: don't format new lines
                        plain-old-lines: don't format old lines
                        plain-line-diff: don't format line diff
                        plain-revision: don't format VCS revision number
                      Supported abbreviations are:
                        U: plain-user
                        D: plain-date
                        T: plain-type
                        Y: plain-priority
                        B: plain-both
                        P: plain-path
                        F: plain-file
                        L: plain-line
                        M: plain-name
                        S: plain-reference
                        I: plain-initials
                        N: plain-new-lines
                        O: plain-old-lines
                        C: plain-line-diff
                        R: plain-revision
                      e.g. 'UT' disables links for user and type headings.
-o, --option=OPTIONS
                      report options. Duplicates are ignored.
                      OPTIONS is a string of abbreviations or
                      comma-separated list of report options.
                      Supported options are:
                        user: include username in output
                        date: include date in output
                        type: include type in output
                        priority: include priority in output
                        both: include path/file in output
                        path: include path in output
                        file: include file in output
                        line: include line number in output
                        name: include file name in output (links to line #)
                        reference: include reference in output
                        initials: include user initials in output
                        new-lines: include new line count in output
                        old-lines: include old line count in output
                        line-diff: include line difference in output
                        revision: include VCS revision number in output
                        text: includes text in output (default)
                        html: output to HTML instead of wiki text
                        table: output to HTML/wiki table instead of list
                        plain-user: don't format user
                        plain-date: don't format date
                        plain-type: don't format type
                        plain-priority: don't format priority
                        plain-both: don't format path/file
                        plain-path: don't format path
                        plain-file: don't format file
                        plain-line: don't format line
                        plain-name: don't format name
                        plain-reference: don't format ref
                        plain-initials: don't format initials
                        plain-new-lines: don't format new lines
                        plain-old-lines: don't format old lines
                        plain-line-diff: don't format line diff
                        plain-revision: don't format VCS revision number
                      Supported abbreviations are:
                        u: user
                        d: date
                        t: type
                        y: priority
                        b: both
                        p: path
                        f: file
                        l: line
                        m: name
                        s: reference
                        i: initials
                        n: new lines
                        o: old lines
                        c: line diff
                        v: VCS revision number
                        x: text
                        h: html
                        a: table
                        U: plain-user
                        D: plain-date
                        T: plain-type
                        Y: plain-priority
                        B: plain-both
                        P: plain-path
                        F: plain-file
                        L: plain-line
                        M: plain-name
                        S: plain-reference
                        I: plain-initials
                        N: plain-new-lines
                        O: plain-old-lines
                        C: plain-line-diff
                        R: plain-revision
                      e.g. 'dtx' selects date, type, and text.
-l, --level          level of wiki heading to start at (default 2)
+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
-v, --version        display version information and exit
+V, --vcs            parse version control (Subversion) logs
+D, --debug          some handy defaults, when debugging or not
 
=== Feedback ===
 
Report bugs to: [mailto:jj5@progclub.org?subject=bugslist.php jj5@progclub.org]
 
== Source code ==
 
You can [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php read the source code].
 
You can [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d browse the repository].
 
You can [https://svn.jj5.net/svn/public/jjrepo/jj5-bin/tags/latest/bin/bugslist.d/bugslist.php checkout the latest stable script], or the [https://svn.jj5.net/svn/public/jjrepo/jj5-bin/tags/latest/bin/bugslist.d full stable system] (including tests and release scripts).
 
You can [https://svn.jj5.net/svn/public/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php checkout the latest development script], or the [https://svn.jj5.net/svn/public/jjrepo/jj5-bin/trunk/bin/bugslist.d full development system] (including tests and release scripts).
 
== Links ==
 
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1175#l13 bugslist.php]: [https://www.jj5.net/sixsigma/Bugslist.php bugslist.php home page]
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1175#l220 bugslist.php]: [https://php.net/manual/en/function.assert.php PHP assert()]
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1175#l245 bugslist.php]: [https://php.net/manual/en/function.set-exception-handler.php PHP set_exception_handler()]
 
= Specifications =
 
== Functional specification ==
 
See [[#Help|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 [mailto:jj5@progclub.org?subject=bugslist.php 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 [mailto:jj5@progclub.org?subject=bugslist.php jj5@progclub.org] along with a statement that you are willing to be listed in the [[bugslist.php#Contributors|contributors]] section of the documentation and willing to license your contribution under the [[bugslist.php#License|license]].
 
For security reasons write access to [https://svn.jj5.net/jjrepo/ jjrepo] is only available for [[User:Sixsigma|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 [https://www.progclub.org/ ProgClub] and [https://www.progclub.org/wiki/Register register]?
 
== Notes from the code ==
 
Following are notes from the source code, generated by bugslist.php!
 
=== [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/?pathrev=1163 /] : [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163 bugslist.php] ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l150 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!
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l166 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.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l176 bugslist.php]: we have a local config file... include it:
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l187 bugslist.php]: there's a bunch of error handling stuff we setup up-front
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l331 bugslist.php]: Main application logic and configuration starts here...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l334 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
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l353 bugslist.php]: this is the global code:
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l364 bugslist.php]: configure our global defines, this is done after loading the config file if one exists...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l454 bugslist.php]: flag whether running in DEBUG mode or not...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l456 bugslist.php]: can conditionally switch on debug output...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l459 bugslist.php]: configure terminal width:
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l462 bugslist.php]: item types. Doesn't include aliases like 'SEE', 'FIXME', 'NICE', etc.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l468 bugslist.php]: FIXME is an alias for TODO
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l474 bugslist.php]: SEE/REF are aliases...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l476 bugslist.php]: NICE is an alias for TODO
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l489 bugslist.php]: configure regular expressions:
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l510 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'...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l549 bugslist.php]: exception_handler(...) will exit (at time of writing!) but just to be safe:
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l912 bugslist.php]: Last in wins!
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l1189 bugslist.php]: filtering is now done at data-gather time...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l1238 bugslist.php]: we could imagine support for other types and/or is_numeric()...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l1838 bugslist.php]: bail if we don't have svn...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l2031 bugslist.php]: overwrite $type_filter array
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l2157 bugslist.php]: overwrite $report array
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l2500 bugslist.php]: this is ugly, but it's fast and safe (at time of writing!)
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l2539 bugslist.php]: at this point it's OK to override the $file variable
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l2580 bugslist.php]: clear the progress report
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3128 bugslist.php]: priority for FIXME can be different to TODO
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3135 bugslist.php]: priority for NICE can be different to TODO
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3162 bugslist.php]: $item_type is null to return false on invalid spec
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3169 bugslist.php]: FIXME is a HIGH priority TODO
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3177 bugslist.php]: NICE is LOW priority TODO
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3210 bugslist.php]: if we can't find the priority from the spec warn then fallthrough to get by item type...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3228 bugslist.php]: we can't find a priority so assume CRITICAL
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3681 bugslist.php]: START: reset lower headings
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3691 bugslist.php]: END: reset lower headings
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3766 bugslist.php]: wildcards are supported
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3916 bugslist.php]: this function exits on error otherwise returns true. The return value is redundant at the moment but we could imagine porting this to a library routine which behaved differently...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3962 bugslist.php]: returns false if no directory, true on success, or exits otherwise.
 
=== [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bin?pathrev=1163 bin] : [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bin/open-doco.sh?pathrev=1163 open-doco.sh] ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bin/open-doco.sh?pathrev=1163#l21 open-doco.sh]: it's better to open the files directly in Kate rather than opening a file explorer...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bin/open-doco.sh?pathrev=1163#l28 open-doco.sh]: give Firefox time to open...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bin/open-doco.sh?pathrev=1163#l53 open-doco.sh]: give Kate time to open...
 
=== [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test?pathrev=1163 test] : [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/fast.sh?pathrev=1163 fast.sh] ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/fast.sh?pathrev=1163#l7 fast.sh]: list slow tests to skip here:
 
=== [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test?pathrev=1163 test] : [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/new.sh?pathrev=1163 new.sh] ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/new.sh?pathrev=1163#l13 new.sh]: don't edit this file. Edit process.sh...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/new.sh?pathrev=1163#l31 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.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/new.sh?pathrev=1163#l36 new.sh]: the process.sh script is not executed (it is sourced).
 
=== [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test?pathrev=1163 test] : [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/test.inc.sh?pathrev=1163 test.inc.sh] ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/test.inc.sh?pathrev=1163#l2 test.inc.sh]: this file is sourced by a script runner. It defines a bunch of functions to run various kinds of tests.
 
=== [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args?pathrev=1163 test/args] : [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163 run.sh] ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l409 run.sh]: not a good idea to pass '/' or anything with lots of data in it...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l421 run.sh]: processing /tmp probably isn't a good idea...
 
=== [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/pushd?pathrev=1163 test/pushd] : [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/pushd/run.php?pathrev=1163 run.php] ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/pushd/run.php?pathrev=1163#l11 run.php]: popd should fail if uninitialised...
 
= Tasks =
 
== TODO ==
[[Category:TODO]]
 
=== HIGH priority ===
 
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l38 bugslist.php]: svn integration
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l636 bugslist.php]: need to put current user in filter...
 
=== MEDIUM priority ===
 
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l32 bugslist.php]: terminology change: 'alias' to 'abbreviation', an alias is a type alias like FIXME and SEE.
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l44 bugslist.php]: make config override a command-line option. e.g.
** --config=user,jj5,initials=JE;user,jj5,wiki-user=Sixsigma
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l46 bugslist.php]: update args unit tests with new command-line args
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l47 bugslist.php]: ignore extra punctuation after item type/priority
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l59 bugslist.php]: make $file_extension_include, etc. configurable in config file.
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l61 bugslist.php]: Wiki table reporting
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l62 bugslist.php]: HTML list reporting
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l63 bugslist.php]: HTML table reporting
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l65 bugslist.php]: option to output wiki tables instead of lists
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l66 bugslist.php]: make priority filter and default priority a config file option.
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l516 bugslist.php]: check if 'ods' is plain text / XML format...
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l517 bugslist.php]: consider if 'phar' should be excluded...
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l518 bugslist.php]: just adding a third TODO for testing...
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l519 bugslist.php]: going for gold!
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l520 bugslist.php]: still going for gold!
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l528 bugslist.php]: consider if 'properties' should be included...
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l529 bugslist.php]: consider if 'xcf' should be included...
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l1647 bugslist.php]: include reporting options, and other new options
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3328 bugslist.php]: there might be a better way to format this. On the bright side it sorts high so gets listed first which is probably what we want...
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3632 bugslist.php]: check for newlines in value and remove them
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3751 bugslist.php]: should we support wildcards?
 
=== LOW priority ===
 
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l50 bugslist.php]: 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.)
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l57 bugslist.php]: linting for invalid comment labels, e.g. HAKK, missing/invalid punctuation, etc.
 
== HACK ==
 
=== LOW priority ===
 
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l2979 bugslist.php]: this might be a bad idea...
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l2981 bugslist.php]: this might be a slightly less bad idea...
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l2983 bugslist.php]: this might be a slightly better idea...
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3335 bugslist.php]: Maybe this should be managed at data gathering time, or maybe it should be something else..?
 
== CONSIDER ==
 
=== LOW priority ===
 
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l34 bugslist.php]: for svn items is the line number 'svn' or is it the first changed line in the associated file?
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l36 bugslist.php]: add svn items to COMMIT type or just import them as DONE?
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l39 bugslist.php]: add MAINT type w/ --maint option to report on maintenance gotchas? (i.e. stuff you need to know about for doing a release etc.)
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l42 bugslist.php]: make NULL headings a config option? (Null headings are skipped presently...)
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l48 bugslist.php]: add support for ';' list delimiters in addition to ','..?
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l54 bugslist.php]: add support for multiple reports delimited with ';'..?
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l56 bugslist.php]: add support for FEATURE/IMPROVEMENT items..?
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l64 bugslist.php]: alias 'TASK' to 'TODO'..?
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l1210 bugslist.php]: do we need this?
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3199 bugslist.php]: consider support for 'Z' => 'DEBUG'..?
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3445 bugslist.php]: we want PATH here?
* [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3557 bugslist.php]: make null headings an option?
 
== DONE ==
[[Category:Done]]
 
=== 2016-12-12 ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l72 bugslist.php]: DEBUG is 'g', not 'z'.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l73 bugslist.php]: changed --types to --type for consistency, same with --headings and --options.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l75 bugslist.php]: added --file doco
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l76 bugslist.php]: fixed issue where newline was emitted after empty report.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l78 bugslist.php]: issue where sub wiki items weren't indented
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l2092 bugslist.php]: reporting by text be might be useful..?
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l2279 bugslist.php]: 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'.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bin/open-doco.sh?pathrev=1163#l4 open-doco.sh]: we load the wiki edit URLs in Firefox and open the generated wiki text reports in Kate (Kate is a text editor...)
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l172 run.sh]: invalid type tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l556 run.sh]: invalid report tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l683 run.sh]: invalid heading tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l691 run.sh]: valid heading options tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l717 run.sh]: invalid heading option abbreviation tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l760 run.sh]: invalid options tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l928 run.sh]: invalid level tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l938 run.sh]: valid level tests
 
=== 2016-12-11 ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l79 bugslist.php]: have counter for total LOC processed.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l80 bugslist.php]: have "no link" options for headings and cells. The no-link option removes URLs from wiki/html output for the value specified.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l82 bugslist.php]: removed support for NICE priority level, it added complexity and was kinda unclear. Gone now.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l84 bugslist.php]: 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';
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l88 bugslist.php]: we have support for emitting wiki categories now. Configured in config file as e.g.:
** $config[ 'wiki' ][ 'category' ][ $type ][ $value ] = $category_name
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l91 bugslist.php]: integer values are sorted numerically now (not as strings...)
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l93 bugslist.php]: added support for 'line' and 'line-number'.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l94 bugslist.php]: basic unit testing framework has been implemented.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l95 bugslist.php]: user can exit without reporting with +X. In this case error level is zero.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l97 bugslist.php]: implement no-link heading options
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l98 bugslist.php]: implement no-link options
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l99 bugslist.php]: add 'both' option for path/file
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l100 bugslist.php]: don't output cells in report if they are missing
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l101 bugslist.php]: added support for initals option, links to user wiki
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l102 bugslist.php]: start heading level is configurable...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l103 bugslist.php]: added --level for initial heading level, defaults to 2.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l1022 bugslist.php]: load the svn globals
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3420 bugslist.php]: priority suffix is a config option now.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3448 bugslist.php]: remove 'path-file', it's 'both' now... 'path-file' => $path_file, 'path-file-wiki' => $path_file_wiki,
 
=== 2016-12-10 ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l105 bugslist.php]: numerical sorting for priority and line number.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l106 bugslist.php]: support to show/hide warnings
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l107 bugslist.php]: use define( 'TEST', true ) to avoid running main() when loading script.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l109 bugslist.php]: --file overrides --skip etc.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l110 bugslist.php]: added 'y' for priority
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l111 bugslist.php]: added priority filters
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l112 bugslist.php]: improved newline outputs between optional sections
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l113 bugslist.php]: added 'text' to report (for sorting, removes duplicates)
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l115 bugslist.php]: FIXME is HIGH priority TODO
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l116 bugslist.php]: added support for --today and --yesterday
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l117 bugslist.php]: 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).
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l120 bugslist.php]: created project page and initial documentation.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l121 bugslist.php]: require punctuation after item type.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l122 bugslist.php]: support 'x-y' for PRIORITY spec? E.g. '0-3', 'H-L', etc.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l124 bugslist.php]: ignore: START, END items...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l125 bugslist.php]: have stdout() and stderr() functions and they track if output sent in global variables.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l357 bugslist.php]: don't run main in unit tests...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l450 bugslist.php]: track if output sent:
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l1221 bugslist.php]: missing fields are now an error:
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/test.inc.sh?pathrev=1163#l6 test.inc.sh]: added '$$' (process ID) to temp files.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l369 run.sh]: invalid priority tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l385 run.sh]: valid priority tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l430 run.sh]: invalid file tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l440 run.sh]: valid file tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l454 run.sh]: invalid path/file tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l460 run.sh]: valid path/file tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/pushd/run.php?pathrev=1163#l3 run.php]: define TEST to flag as unit test... (doesn't run main());
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/pushd/run.php?pathrev=1163#l14 run.php]: testing relative pushd's...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/pushd/run.php?pathrev=1163#l30 run.php]: testing absolute pushd's...
 
=== 2016-12-09 ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l127 bugslist.php]: don't output spurious leading/trailing new lines
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l128 bugslist.php]: add support for formatting options and include optional line numbers.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l163 bugslist.php]: check for application config file in script dir...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l183 bugslist.php]: $config_path is of no further use... clear it.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l5 run.sh]: required argument missing for command-line switch tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l57 run.sh]: optional argument missing for command-line switch tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l112 run.sh]: invalid command-line switch tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l122 run.sh]: invalid username tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l130 run.sh]: valid username tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l148 run.sh]: invalid datespec tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l158 run.sh]: valid datespec tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l180 run.sh]: valid type tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l283 run.sh]: invalid type abbreviation tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l297 run.sh]: valid type abbreviation tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l403 run.sh]: invalid path tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l409 run.sh]: valid path tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l468 run.sh]: invalid include tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l484 run.sh]: valid include tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l500 run.sh]: invalid exclude tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l516 run.sh]: valid exclude tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l532 run.sh]: valid skip tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l544 run.sh]: valid keep tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l564 run.sh]: valid reports tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l598 run.sh]: invalid report abbreviation tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l608 run.sh]: valid report abbreviation tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l725 run.sh]: valid heading option abbreviation tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l768 run.sh]: valid options tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l840 run.sh]: invalid option abbreviation tests
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/test/args/run.sh?pathrev=1163#l848 run.sh]: valid option abbreviation tests
 
=== 2016-12-07 ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l130 bugslist.php]: set default priority by type:
** TODO: MEDIUM
** HACK: LOW
** etc.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3805 bugslist.php]: don't blank if no stderr output
 
=== 2016-12-06 ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l134 bugslist.php]: support PRIORITY for TODO etc. By default:
** 0: CRITICAL
** 1: HIGH
** 2: MEDIUM
** 3: LOW
** 4: DEBUG
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l140 bugslist.php]: option to print line numbers
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l141 bugslist.php]: improved reporting to group by date, user, etc.
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l142 bugslist.php]: implemented descending sorting
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l143 bugslist.php]: implemented natural case sorting
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l144 bugslist.php]: there's a problem with multiline comments below, see the PRIORITY TODO item. The issue is the preceding item about line numbers...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l160 bugslist.php]: try for config file in program directory...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l173 bugslist.php]: check for local config file in cwd...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l530 bugslist.php]: added '' to included extensions, made excluded extensions override included extensions
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3720 bugslist.php]: added support for wildcard users...
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l3736 bugslist.php]: added support for wildcard dates...
 
=== 2016-12-05 ===
 
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l521 bugslist.php]: changed support for files with no extension, changed from excluded by default to included by default (for shell scripts, etc).
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l561 bugslist.php]: configure argument defaults
* [[User:Sixsigma|JE]]: [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/bugslist.d/bugslist.php?pathrev=1163#l1871 bugslist.php]: don't allow empty path spec

Latest revision as of 17:15, 2 March 2020