* Fixed a bug in the option parsing. When no options (or unknown options) where
presented it was not properly defaulting.
* Fixed a bug when incorrect options where given. Apache Commons CLI fails
entirely when it is unable to parse an option. This means we cannot get the
`--dir` option and we default to the program's working directory. When running
on Nailgun this is not the desired behavior and can cause pit to look through
a very deep file heirarchy to find issues.
* Fixed the bug in FileIssue where it would append a blank line to the body of
an issue every time it wrote the issue to the file. Fixed by making the
parser consume a line break before the property section.
* Fixed PIT CLI -D option sorting of issues so that it will sort issues by
priority, then due date.
* The extended properties table was using the maxKeyLength for both keys and
values.
* FileIssue was not persisting the file when extended properties were updated.
PIT CLI
-------
* Added an option, `-e`, to filter by extended properties and its complement,
`-E`, to set extended properties. Format of the option argument is
`<propName>=<propValue>`.
* Added the `--title` and `--text` options to specify the title and text of an
issue on the command line.
* When a new issue is created or an issue is set to rejected or resolved status
a timestamp is added as an extended property: `created`, `rejected`, and
`resolved` are the property names respectively.
* Added the order issues option (`-o`) to pit-cli. This option allows you to
specific a sorting criteria for the issues returned. The form of the option is
`-o <property>,<property>` where the properties can be any properties of the
issues being sorted. The option supports short one-letter forms of the basic
properties (id, priority, status, and category).
* Added the daily list mode (activated with the `-D` option). This mode prints
out the tasks scheduled for today (based on the `scheduled` property, the
tasks due today (based on he `due` property), the issues which have a reminder
that is active (based on the `reminder` property), and the remaining open
issues (those which do not fall in any of the other categories). This mode
looks through all projects in the given repository and does not do any
filtering or visual seperation by project.
The individual sections can be suppressed or singled out by using the
following options.
Additive options (if none are given all sections are present).
* `--dl-scheduled`
* `--dl-due`
* `--dl-reminder`
* `--dl-open`
Negative options (these suppress a specific section).
* `--dl-hide-scheduled`
* `--dl-hide-due`
* `--dl-hide-reminder`
* `--dl-hide-open`
Additive options are useful if you only want one or two sections. Negative
options are useful if you only want to exclude one or two sections. It does
not make sense to use both additive options and negative options, but it is
allowed.
* Major differences will be with `Issues`. The structure of issues will not be
as tied to the original `FileIssue` implementation and will support arbitrary
attributes.
* Removed 2.6.x files and updated versioning properties.
* Fixed a typo in pit-cli
* Temporarily removed the invocation of pit-swing's build file until I have that
sorted. It was not working.
* `FileRepository` was incorrectly returning the root project's first
set of subprojects for the `getRootProjects()` function, instead of the root
project itself.
* Implemented `walkProject` on `com.jdbernard.pit.Project`
* Updated several classes to fit the new interfaces/abstract classes.
* Still not finished with XML issue repository code.
libpit - Personal Issue Tracker core libraries (Filter, Issue, Project, Category)
pit-cli - Command Line Interface (CLI) to libpit
pit-swing - Graphical, Swing interface to libpit (built using Griffon)
libpit and pit-swing both build, though pit-swing is just an empty griffon poject.