Redmine Mercurial Overhaul
It does never change database schema, so we don't need to migrate db. And it reduces the number of hg calls, which means it must be as fast as the 0.9-stable.
It implements or fixes:
- Tag/branch support, #1981
- File size issue, #3421
- Node ID instead of revision number, #3724
- Diff of changeset can be wrong if the previous changeset isn't the parent.
- Changesets should be ordered by revision number instead of committed date. This happens to fix #3449, which is caused by wrong latest_changeset. In DVCS, the latest committed date does not mean the latest changeset.
- Some test cases may not work.
- Some codes are badly implemented. I need to clean up them.
- Maybe it lacks compatibility with older Mercurial clients. It uses helper extension to fetch file entries, sizes, tags, branches, etc. at once, but it's yet tested, say, with Mercurial 0.9.5. BTW, this extension is based on Alessio's, thanks!, but I mangled it too heavily. :)
- We can reduce bunch of database queries.
Series of MQ patches are available at:
hg qclone http://bitbucket.org/yuja/redmine-mq-issue4455/ hg update 0.9-stable # switches to Redmine 0.9 branch hg qselect 0.9 # enables patches only for 0.9 branch hg qpush -a # applies all patches