Edgewall Software

Ticket #1465 (new enhancement)

Opened 3 years ago

Last modified 4 months ago

Trac could use a distributed VCS storage

Reported by: jens@… Owned by: cboos
Priority: normal Milestone: 2.0
Component: wiki system Version: 0.8.1
Severity: normal Keywords: objectstore
Cc: davidf@…

Description

hi!

a friend and i are running a small publishing house, and are collaborating with trac and instant messaging - kudos to you, because it does just about all we need!

here's what trac doesn't do very well: we both use laptop computers, and are travelling quite often. in order to work on shared documents, we need to be online constantly, as conventiently most of our shared documents are in wiki format by now. it's not always possible to guarantee internet connetcivity, though...

i realise that subversion is not the ideal repository format for our needs, we really need something like monotone that works well with local repositories that can be merged with a central repository or updated from there. still, writing a whole set of tools such as trac offers on top of monotone would be quite tedious.

so, in a roundabout way what i'm asking is whether it would be possible to run trac in a 'local' mode where it reads the subversion repository information from a local copy _only_ (with limited history/changeset functionality, of course). in addition, trac should store all wiki, ticket and other data in a filesystem structure instead of a db that can also be manages via a seperate or the same subversion repository.

a "commit now" or "i'm online, try to merge with the central repository" button or something similar might be all that's left to make trac the ultimate in collaboration tools.

now being a developer myself in my day job, i realize that this could be a HUGE feature. depends on your architecture, and even if it lends itself to implement something like that, HUGE just reduces to LARGE.

still, i'd like to see it :)

Attachments

Change History

Changed 3 years ago by anonymous

  • component changed from wiki to general

sorry, should be 'general', not 'wiki'

Changed 3 years ago by cboos

The problem is that Trac doesn't use Subversion as a backend for storing the wiki documents. If that would be the case (as advocated in TighterSubversionIntegration), you could work in a distributed mode using SVK:

  • you would have a central SVK repository in your office, as well as a central Trac on the same machine
  • you would have your own SVK repository on your laptop, as well as a local Trac
  • every local change made on the local Trac would be written in the local SVK repository
  • when you want to synchronize, simply synchronize repositories at the SVK level.

I always thought that it was not a good idea to re-create a (simple) versioning system for versioning Trac's content, rather than using SVN. Now I think it would be really a bad idea to re-create a "light" distributed versioning system, given the complexity of such a thing, and the fact that a good alternative exist.

Changed 3 years ago by anonymous

I don't care how it is done, but the ability to sync trac pages and tickets would be of huge benefit to me. I spend half my time working on a laptop anywhere from my back garden, to the top of a mountain. Network connectivity is lacking most of the time and whilst I really like Trac the inability to work 'offline' is a major problem for me.

I need to grab the latest trac info before I leave the network and sync it when I re-connect.

Changed 3 years ago by cmlenz

  • component changed from general to wiki

Changed 2 years ago by cboos

  • keywords objectstore added
  • owner changed from jonas to cboos

Using mergeable repositories as the storage backend for Trac would make this possible. See also #1132.

Changed 18 months ago by cboos

  • milestone set to 2.0

Worthwhile long term goal.

Changed 15 months ago by cboos

  • summary changed from have trac store wiki pages in a filesystem to Trac could use a distributed VCS storage

Changing the summary, so that one doesn't mix its purpose with simple caching (like #1216).

Changed 6 months ago by davidf@…

  • cc davidf@… added

Changed 4 months ago by cboos

Of interest:

  • there's a new-gen CVSTrac in the works that is build around a new distributed version control system using a single SQLite as the storage backend, Fossil. See its Principle of Operation documentation.
  • a recent discussion thread about distributed bug tracking, in the Mercurial mailing list

Add/Change #1465 (Trac could use a distributed VCS storage)

Author



Change Properties
<Author field>
Action
as new
as The resolution will be set. Next status will be 'closed'
to The owner will change. Next status will be 'new'
The owner will change to anonymous. Next status will be 'assigned'
 
Note: See TracTickets for help on using tickets.