with a larger refactoring of anyvc
i recently started adding a simple push/pull api.
They are just working for simple use-cases
and lack support for graph based selection of revisions/patches to

The initial api's are basically "all you can get" or "up to rev/patch

The next steps will be to get a graph of incoming/outgoing revs/
patches and allow selection.

Patches/patch-graps are kinda special and only work in darcs/camp
(they are patch-dependencies and very unique).

The rest is just Revision-DAG based (hg, git, bzr, monotone).

There will never be pull/push support for svn, as it just isn't made
for that.

More headaches are created by the quite different relations between
branches, repositories and workdirs each dvcs has.

oversimplified and probably incomplete overview:
* monotone has repos in sqlite databases and related/unrelated
branches in those - workdirs just point to db + rev
* hg has `clone branches`, named branches and recently grew
`bookmarks` (git style) , workdir is set to a rev of the repo
* bzr has standalone branches and repositories with branches as
subdirs, branch:wordir is 1:1
* git has named references and `clone branches`, the workdir is also a
set to a rev of the repo

another undecided issue is dealing with the extensions of the systems
* patch management
  * bzr has loom
  * hg has mq and pbranch
  * git probably has something, i'm clueless
* serving/smart serving
* archiving/snapshoots
* repository management

Also extracting history information (this is needed for incoming/
outgoing graphs as well as for general browsing) is tricky as the
points of view differ and the different systems impose different sets
of features/limits that i'll have to analyze more.

Regards Ronny
You received this message because you are subscribed to the Google Groups 
"PIDA" group.
 To post to this group, send email to pida@googlegroups.com
 To unsubscribe from this group, send email to pida+unsubscr...@googlegroups.com
 For more options, visit this group at 

Reply via email to