Project

General

Profile

Actions

Feature #4455

closed

Mercurial overhaul

Added by Peter Fern almost 15 years ago. Updated over 13 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Toshi MARUYAMA
Category:
SCM
Target version:
-
Start date:
2009-12-21
Due date:
% Done:

0%

Estimated time:
Resolution:

Description

The current mercurial support in Redmine has a number of issues, that this patch attempts to address:
Features:
  • Tag/branch support (#1981)
Bugs:
  • Browsing a revision does not display file size (requires the Mercurial Size extension) (#3421)
  • Browsing a revision does not display correct identifier for files at that revision
  • Repository tab takes a long time to display with large/complex repositories (#3449)
  • File contents fail
Changes:
  • Revision numbers are far too brittle in mercurial, and commit IDs should be used instead (#3724)

The last is problematic, since people are likely already referring to changesets via the revision number (though if they do any complex work with the repository, those are likely broken already), so we need a way to update all issues/journals for projects with Mercurial repos that have references to revisions with corresponding reverences to commits. This would have to be a custom migration job, where the map is built, and issue/journal references are updated, then the changesets are updated with the new revision and scmid values. I have not written this yet, and would welcome contributions in this area.

Also, I imagine that there are additional unit tests required for SCMs supporting branches/tags, and that the test repo would need updating for this? Again, contributions welcome here.

Where I've asked for contributions, they'd be greatly appreciated however this functionality is too important to let languish, so if no one else will help with it, I'll try and find the time to do the remaining steps myself, though it won't be until some time into the new year.

The only thing outstanding for me is that I'd like to speed up retrieving the correct commit IDs entries at the current revision, since this can be a bit expensive for large/binary-heavy repositories, but I can't think of a more efficient method that retains accuracy, however I think accuracy is more important in this case.


Files

redmine-mercurial.patch (22.3 KB) redmine-mercurial.patch Mercurial overhaul Peter Fern, 2009-12-21 01:27
redmine-mercurial-01.patch (1.02 KB) redmine-mercurial-01.patch Toshi MARUYAMA, 2010-01-19 23:29
hg-redmine-00.png (15.6 KB) hg-redmine-00.png Toshi MARUYAMA, 2010-01-22 16:56
TortoiseHg-00.png (28.6 KB) TortoiseHg-00.png Toshi MARUYAMA, 2010-01-22 16:56
hg-win32-extraline.patch (670 Bytes) hg-win32-extraline.patch Trim spurious empty line from hg on win32 Peter Fern, 2010-02-13 11:43
hg-win32-extraline-attempt2.patch (541 Bytes) hg-win32-extraline-attempt2.patch Don't use single quotes for shellout on win32 Peter Fern, 2010-02-13 11:48
hg-overhaul-0.9.3.patch (65.3 KB) hg-overhaul-0.9.3.patch Toshi MARUYAMA, 2010-03-07 11:19
overhaul.py (832 Bytes) overhaul.py a draft of an helper hg extension Alessio Franceschelli, 2010-03-18 16:25
revision-no-migration.png (23 KB) revision-no-migration.png Repo browser screenshot Yuya Nishihara, 2010-03-23 16:31
revision-no-migration-2.png (30.3 KB) revision-no-migration-2.png Repo browser screenshot 2 Yuya Nishihara, 2010-03-23 16:31
ya-hg-overhaul-0.9-stable-2010-03-27.patch (52 KB) ya-hg-overhaul-0.9-stable-2010-03-27.patch Yet another overhaul patch for 0.9-stable Yuya Nishihara, 2010-03-27 14:29
redmine-issue4455-2010-05-17.jpg (12.8 KB) redmine-issue4455-2010-05-17.jpg Yuya Nishihara, 2010-05-17 15:14
ya-hg-overhaul-0.9-stable-2010-05-17.patch (64.1 KB) ya-hg-overhaul-0.9-stable-2010-05-17.patch Yet another overhaul patch for 0.9-stable Yuya Nishihara, 2010-05-17 15:14
isodatesec.patch (1.31 KB) isodatesec.patch Toshi MARUYAMA, 2010-05-31 18:01
mq-applied-tags.png (18.5 KB) mq-applied-tags.png Toshi MARUYAMA, 2010-06-11 13:31
mq-applied-revisions.png (44.3 KB) mq-applied-revisions.png Toshi MARUYAMA, 2010-06-11 13:31
unit-test-for-isodatesec.diff (833 Bytes) unit-test-for-isodatesec.diff Toshi MARUYAMA, 2010-07-23 16:35
unit-test-by-nodeid.diff (881 Bytes) unit-test-by-nodeid.diff Toshi MARUYAMA, 2010-07-27 10:11
functional-by-nodeid.diff (929 Bytes) functional-by-nodeid.diff Toshi MARUYAMA, 2010-07-27 10:11
merge_users_stats.diff (1.93 KB) merge_users_stats.diff Parent a52c9dd45ef4b42acd99d423844ac4c43bd712c5 Ammler _, 2010-07-28 09:55
hg-changeset-order.patch (12.7 KB) hg-changeset-order.patch Yuya Nishihara, 2010-07-29 19:05
hg-isodatesec.patch (2.13 KB) hg-isodatesec.patch Yuya Nishihara, 2010-07-29 19:05
TortoiseHg-PyQt-en.png (74.1 KB) TortoiseHg-PyQt-en.png Toshi MARUYAMA, 2010-07-30 09:02
TortoiseHg-PyQt-ja.png (50.3 KB) TortoiseHg-PyQt-ja.png Toshi MARUYAMA, 2010-07-30 09:02

Related issues

Related to Redmine - Defect #3421: Mercurial reads files from working dir instead of changesetsClosedToshi MARUYAMA2009-05-26

Actions
Related to Redmine - Defect #3724: Mercurial repositories display revision ID instead of changeset IDClosedToshi MARUYAMA2009-08-10

Actions
Related to Redmine - Feature #1981: display mercurial tagsClosedToshi MARUYAMA2008-10-02

Actions
Related to Redmine - Feature #7246: Handle "named branch" for mercurialClosedToshi MARUYAMA2011-01-07

Actions
Related to Redmine - Feature #2799: Support for Bazaar's shared reposetories (created with init-repo)New2009-02-21

Actions
Related to Redmine - Feature #5386: Branch/Tags in Changeset DescriptionNew2010-04-27

Actions
Related to Redmine - Feature #3909: Mercurial: show repository graphic historyClosed2009-09-23

Actions
Related to Redmine - Feature #6515: Mercurial hgrc support with issues auto-syncronizatonNew2010-09-28

Actions
Related to Redmine - Patch #7494: Patch for support http protocol wirh mercurial repositoryClosed2011-01-302011-01-30

Actions
Related to Redmine - Feature #6892: Automatic repository creation.New2010-11-15

Actions
Actions

Also available in: Atom PDF