String UDA defer the evaluation of the sort_compare method to the '<' operator of the Variant class, since the logic for comparing string UDAs (which can have custom sort orders) is already implemented there. However, since primary use case of Variant is the filter evaluation, it handles trivial (empty) values in a manner which does not allow for its direct usage as the comparison operator between sort UDAs. When filtering, a trivial (empty) value should neither match 'uda < A' nor 'uda >= A'. However, when sorting tasks upon values of this UDA, precisely one of the above expressions *must* be true. This commit implements the UDA string sorting logic directly in the sort_compare method.
Disclaimer during ongoing development
We want to discourage you from using the development version of Taskwarrior.
The development branch is a work in progress and may not pass all quality tests, therefore it may harm your data. We do not guarantee proper or even adequate functionality, performance or timely fixes.
We welcome bug reports from beta- and release-level software, but generally not development versions. If you are undaunted by this, please:
- Make proper backups.
- Expect broken and missing functionality.
- Be aware that using the development branch involves risks.
Thank you for taking a look at Taskwarrior!
Taskwarrior is a GTD, todo list, task management, command line utility with a multitude of features. It is a portable, well supported and very active Open Source project. Taskwarrior has binary distributions, online documentation, demonstration movies, and you'll find all the details at:
http://taskwarrior.org
At the site you'll find online documentation, downloads, news and more.
Your contributions are especially welcome. Whether it comes in the form of code patches, ideas, discussion, bug reports, encouragement or criticism, your input is needed.
For support options, take a look at:
http://taskwarrior.org/support
Please send your code patches to:
support@taskwarrior.org
Consider joining bug.tasktools.org, answers.tasktools.org and participating in the future of Taskwarrior.
Taskwarrior is released under the MIT license. For details check the LICENSE file.