Edgewall Software

Opened 17 years ago

Last modified 11 years ago

#1492 closed enhancement

monotone support — at Version 12

Reported by: anonymous Owned by: Christopher Lenz
Priority: high Milestone: 1.0
Component: version control Version: devel
Severity: major Keywords: revision dag dvcs
Cc: lapo@…, fcorreia@…, jsceballos@…, gwk.rko@…, hvr@…, thomas.moschny@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description (last modified by Christian Boos)

Considering 2.0 enhancements it would be great to support monotone http://venge.net/monotone/ SCM system. It grows very fast and was considered by Linus Torvalds to replace BitKeeper, in fact git (a fast written Linus's tool to manage Linux sources w/o any SCM) was desinged based strictly on ideas behind monotone.

Development of a trac plugin for connecting to a monotone repo has been started, see http://www.ipd.uni-karlsruhe.de/~moschny/TracMonotone

This ticket can be used to discuss the additional requirements for the version control layer that would be needed for improving the support for Monotone.

If I remember correctly, this is mainly:

  • support for full, normal and shortened revision numbers
  • support for multiple branches/repositories (related to #2086)

Change History (12)

comment:1 by anonymous, 17 years ago

Summary: monotne supportmonotone support

See also the Darcs support patch in ticket #638. It contains a generic SCM backend interface that the Monotone support probably could implement.

comment:2 by Christian Boos, 17 years ago

Well, no: There's an official generic SCM backend interface currently in current development version of Trac, and this is the one to implement. See source:trunk/trac/versioncontrol/main.py#latest

comment:3 by Christian Boos, 17 years ago

s/currently sorry :)

comment:4 by vittorio, 17 years ago

Severity: normalenhancement

comment:5 by njs@…, 16 years ago

As current head cat-herder/developer behind monotone, I thought I'd put in a word here… I'm definitely interested in seeing this happen (it'd be nice to use trac for monotone development itself!). I thought a bit about adding it myself, but simply don't have the time; but, if someone else decides to take a shot at it, we'd definitely be interested in helping provide info, fixing interfaces to be more usable, etc.

Monotone might be an interesting target in any case, since it's one of the most different VCSes from subversion — unlike subversion it has first-class branches and tags (so a monotone repo is not a simple singly-rooted tree), and unlike, say, darcs or arch or bzr-ng, it has microbranches (so even within a branch, history is a DAG, not a line). Looking at source:trunk/trac/versioncontrol/api.py#2127 , the current API seems to assume that history is a straight line (e.g., that each revision has exactly one predecessor and successor); this simply isn't true for several of the new generation of VCS tools. So if you can support monotone, you can probably be pretty sure that your design can support anything :-).

comment:6 by Christopher Lenz, 16 years ago

Component: generalversion control
Owner: changed from Jonas Borgström to Christopher Lenz

comment:7 by anonymous, 16 years ago

Milestone: 2.0

comment:8 by lapo@…, 16 years ago

Cc: lapo@… added

comment:9 by anonymous, 16 years ago

Cc: jm3@… added; lapo@… removed

comment:10 by anonymous, 16 years ago

Cc: lapo@… added; jm3@… removed

comment:11 by moschny, 16 years ago

Development of a trac plugin for connecting to a monotone repo has been started, see http://www.ipd.uni-karlsruhe.de/~moschny/TracMonotone/.

comment:12 by Christian Boos, 16 years ago

Description: modified (diff)
Milestone: 2.00.11

I'm setting a milestone here for the improvements on the versioncontrol API and web interface, not for the plugin itself, of course.

Note: See TracTickets for help on using tickets.