As reported in RT#90945 Class::MOP::load_class is deprecated so now we use Class::Load instead. Thanks to Zoffix for supplying this patch!  https://rt.cpan.org/Public/Bug/Display.html?id=90945  https://rt.cpan.org/Public/Bug/Display.html?id=90945#txn-1317403
This particular test has started failing since I upgraded some part of the dependency chain. However my time is limited and I don't believe the failure is indicate of a failing in the code so I'm eliding this test until such a time as it starts passing again or I track down the offending dependency.
It used to not escape the branch name, so branches like seveas/branch_selector_fix were not really reachable via the selector
* seveas/seveas/syntax_highlight: Have linenumbers in blob displays Syntax higlighting improvements
The tree action used to use $tree_obj->tree to get all tree entries. This is ridiculously slow as it loads all blobs via git cat-file. Instead, expose directory_entries from the underlying Git::PurePerl object and use it instead. This also required moving _mode_str (now mode_string for consistency) to Gitalist::Utils so it could be used in the template.
For projects that contain submodules, ls-tree also lists the commits of these, like: dennis@lightning:~/code/Diamond$ git ls-tree HEAD 100644 blob 76548fb89c2c220d43759b40848600a16cfe65ea .gitignore 100644 blob c2c5e7f9ad41d2a6bf49dcfe2a18c67f1b7264d3 .gitmodules 100644 blob 159d72c1edf6e0e227b0c1dda86aa08c307468df LICENSE 100644 blob 3ce75ca4a98adbc6b1cdf68797b6b9328bf112cc MANIFEST.in 100644 blob 588e2ba64d1968ecf949325cab4b1bfaf60caf75 Makefile 100644 blob 974a51cd30c73dc4fa5083252902b5596cbdeec8 README.md 040000 tree e69b70cc3f14491f167b3edd1561279344267b89 bin 040000 tree 10b76bbf7f6900e53916bf52c651b048569de46c conf 040000 tree 90be53cbef1f3b6167a2b24f59365e94ce6cd989 debian 160000 commit 69c721d6d71b1a471e945bf680773467ee2c551e docs 040000 tree daa6b06e1917938c2e939bbcd1d7b451e290b680 rpm 100644 blob 9046e2354860cb14b2ade3159c20e5245013a238 setup.cfg 100755 blob 0a4a2748cc2bb61685d5535d5a6557854153e7c0 setup.py 040000 tree 4b95cf8a722b456382abbd025476c87f87a97043 src 100644 blob a375d7dbdb98e15dc5021c0c5e4cb9757fcc0273 test.py 100644 blob 13f3e59423a6f49d89527b9e9a2050fb79d0025f test.watchr Gitalist would choke on those because these commits are commits from the submodule's repository, not itself. So we should ignore them.
As of 0.09 the type constraints from MooseX::Types::ISO8601 are stricter (and more correct AIUI) so we just use the coercion code without attempting a coercion directly.
Not much point in requiring methods be implemented if the role already provides concrete implementations.