Re: [Monotone-devel] cvs_import

2013-07-18 Thread Hendrik Boom
On Wed, Jul 17, 2013 at 08:47:54PM +0200, Markus Wanner wrote:
 Hendrik,
 
 On 07/15/2013 07:21 PM, Hendrik Boom wrote:
  Just wondering what the current status of of monotone's CVS support;
  in particular, cvs_import, csv_pull. cvs_sync, cvs_takeover, and I've 
  heard there's even a cvs_push.
 
 Standard monotone's cvs_import works fine for simple cases. I didn't do
 any work on the cvs_import branch and I don't think it's in a usable state.

So standard monotone's cvs_import is different from what's on the 
cvs_iport branch, as described on http://wiki.monotone.ca/CvsImport/, 
even assuming that page is up to date.

And there's also 
http://wiki.monotone.ca/Branches/nvm.cvsimport-branch-reconstruction/

which bears your name and says Status: Work in Progress Still 
close to completion.  Do you know if that status is still valid?  or 
if anyone else might have worked on it or be on the case?

Is it still worth doing?

 
 You might want to check if cvs2svn can be of help. They have a nice git
 export function and their CVS sanitizer code is field proven. I'm not
 sure if you can get that into monotone, though.
 
  Is the conversion a one-time event, or can it keep up with further 
  revisions on the cvs site withoug having to start over?
 
 There are all one-time conversion options, which need access to the RCS
 files on the CVS server.
 
 tailor may be an option, if you want a continuous mirror.

THe main need for a continuous mirror I see would be during transition 
from CVS to monotone. There would likely be work in progress on the 
old system while the new one is being adopted.

 It certainly
 has a monotone plugin. I'm not sure what the status of cvs_sync is, but
 it's intended to provide continuous synchronization as well.

tailor (http://darcs.net/RelatedSoftware/Tailor)looks interesting, 
thanks.

-- hendrik

 
 Regards
 
 Markus Wanner

___
Monotone-devel mailing list
Monotone-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import failure

2009-12-28 Thread Michael Haggerty
Daniel Carosone wrote:
 The latter seems to be of the most general utility, given current
 volumes and efforts of other projects (assuming the format contains
 what we need and isn't completely horrible). 

The git-fast-import format is quite good and well-documented [1].

Markus Wanner wrote:
 Note that git has the ability to represent more than two ancestors for a
 merged revision, which monotone does not. Not that it's an often used
 feature, but IIRC cvs2git is one of its users. (I vaguely remember
 discussing these issues with Michael Haggerty, author of cvs2svn. See
 that project's mailing list).

cvs2svn/cvs2git etc. has a setting to limit merges to two parents.  So
this should not be a problem.

hend...@topoi.pooq.com wrote:
 with all these cvs2* programs around, it might be useful to
 isolate their common core (the cvs part and the 2 part) from the
 * part.
 Incresed modularity.  ANy chance that such factoring would spread to
 the others and overall maintenance costs?

These programs (cvs2svn, cvs2git, cvs2bzr, and cvs2hg) are all part of
the cvs2svn project [2] and share 90% of their code (namely the hard
part, which is figuring out the CVS history).

Michael

[1] http://www.kernel.org/pub/software/scm/git/docs/git-fast-import.html
[2] http://cvs2svn.tigris.org/


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import failure

2009-12-23 Thread Markus Wanner

Hi,

hend...@topoi.pooq.com wrote:
I'd like to look at this, possibly next January.  If anyone else would, 
please do also.


Cool!

Which one was that again, git to monotone converter?

The more the merrier, at least during design discovery 
stage.  What languages are all these *2* programs written in?


cvs2svn and its derivates are written in python.

IN case I have to tear one apart, are any written in secure, statically 
typed languages (whose programs I find easiest to read and debug).


The existing cvs_import and git_export commands are certainly written in 
C++. Something like git_import would be very welcome, IMO.


Markus


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import failure

2009-12-23 Thread hendrik
On Wed, Dec 23, 2009 at 09:01:04AM +0100, Markus Wanner wrote:
 Hi,
 
 hend...@topoi.pooq.com wrote:
 I'd like to look at this, possibly next January.  If anyone else would, 
 please do also.
 
 Cool!
 
 Which one was that again, git to monotone converter?

DOn't care all that much.

I have an existing CVS repository, still in active use, to convert to 
monotone.  Ideally under the constraint that people still working on 
branches in CVS will be able to finish their work and check stuff in and 
have the updates converted as they trickle in -- so that new stuff can 
be started in monotone and old stuff finished in CVS.

 
 The more the merrier, at least during design discovery 
 stage.  What languages are all these *2* programs written in?
 
 cvs2svn and its derivates are written in python.

python is easier to debug than C++.

One option is to replace the svn-output stuff with uses of monotone 
automate.

with all these cvs2* programs around, it might be useful to 
isolate their common core (the cvs part and the 2 part) from the * part.
Incresed modularity.  ANy chance that such factoring would spread to the 
others and overall maintenance costs?

I also have a CVS updater (CVSup) that updates slave CVS repositories 
from a master repository (CVSup). It's written in Modula 3, another 
language that's easy to debug in and the advantage that it's statically 
typed.  CVSup will interface with remote CVSs over the net, but lacks 
the analysis that cvs2svn does to figure out the structure.

 
 IN case I have to tear one apart, are any written in secure, statically 
 typed languages (whose programs I find easiest to read and debug).
 
 The existing cvs_import and git_export commands are certainly written in 
 C++. Something like git_import would be very welcome, IMO.

Ideally mtn sync would detect the system used at the other end and use 
the appropriate conversion tool automatically.  But this is probably 
just pie in the sky for now.  Especially syncing with systems that don't 
maintain information monotone uses.

-- hendrik


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import failure

2009-12-23 Thread hendrik
On Wed, Dec 23, 2009 at 03:22:12PM -0500, hend...@topoi.pooq.com wrote:
 
 I have an existing CVS repository, still in active use, to convert to 
 monotone.  Ideally under the constraint that people still working on 
 branches in CVS will be able to finish their work and check stuff in and 
 have the updates converted as they trickle in -- so that new stuff can 
 be started in monotone and old stuff finished in CVS.

I might add that the people in the project still have to be convinced 
that monotone is the way to go.  At least one influential one is, but I 
don't think anyone is convinced of the conversion process at present 
(including me).

That's why I'd like to take a good look at the problem.

-- hendrik


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import failure

2009-12-22 Thread Markus Wanner

Hi,

hend...@topoi.pooq.com wrote:
If we achieve interoperability with svn, then the cvs2svn code can be 
used followed by svn2mtn.


..or modify cvs2git (which is based on cvs2svn) to export to something 
monotone can parse, instead of git-fast-import format.


..or write a git2mtn that can parse git-fast-import format.

Both of which are probably easier than writing svn2mtn.

Regards

Markus



___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import failure

2009-12-22 Thread Patrick Georgi
Am 22.12.2009 22:02, schrieb Markus Wanner:
 ..or modify cvs2git (which is based on cvs2svn) to export to something
 monotone can parse, instead of git-fast-import format.

 ..or write a git2mtn that can parse git-fast-import format.
I had a git-fast-import parser that emitted monotone packets once that I
wanted to use with a mercurial-to-git exporter, and dropped it in favor
of building my own hg2mtn parser. The reason is that the git-fast-import
format is quite specific to the design of git. For example, while
git-fast-import (later on) gained rename tracking, it's still optional -
as git doesn't care for it anyway.

In the end, I had to resynthesize various pieces of data that existed in
the original format and were lost in the hg-git step. I'm not sure if
that applies for any svn2git translator, and if desired, I can look if I
can find my (old) mtn-fast-import tree somewhere.


Regards,
Patrick


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import failure

2009-12-22 Thread Daniel Carosone
On Tue, Dec 22, 2009 at 10:02:24PM +0100, Markus Wanner wrote:
 If we achieve interoperability with svn, then the cvs2svn code can be  
 used followed by svn2mtn.

 ..or modify cvs2git (which is based on cvs2svn) to export to something  
 monotone can parse, instead of git-fast-import format.

 ..or write a git2mtn that can parse git-fast-import format.

The latter seems to be of the most general utility, given current
volumes and efforts of other projects (assuming the format contains
what we need and isn't completely horrible). 

Any volunteers?

--
Dan.




pgpi1SsnNQCaL.pgp
Description: PGP signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import failure

2009-12-22 Thread Markus Wanner

Hi,

Daniel Carosone wrote:

The latter seems to be of the most general utility, given current
volumes and efforts of other projects (assuming the format contains
what we need and isn't completely horrible). 


It can hardly be any more horrible than CVS itself ;-)

Note that git has the ability to represent more than two ancestors for a 
merged revision, which monotone does not. Not that it's an often used 
feature, but IIRC cvs2git is one of its users. (I vaguely remember 
discussing these issues with Michael Haggerty, author of cvs2svn. See 
that project's mailing list).


Markus


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import failure

2009-12-22 Thread hendrik
On Wed, Dec 23, 2009 at 08:07:29AM +1100, Daniel Carosone wrote:
 On Tue, Dec 22, 2009 at 10:02:24PM +0100, Markus Wanner wrote:
  If we achieve interoperability with svn, then the cvs2svn code can be  
  used followed by svn2mtn.
 
  ..or modify cvs2git (which is based on cvs2svn) to export to something  
  monotone can parse, instead of git-fast-import format.
 
  ..or write a git2mtn that can parse git-fast-import format.
 
 The latter seems to be of the most general utility, given current
 volumes and efforts of other projects (assuming the format contains
 what we need and isn't completely horrible). 

Another post indicated that git-fast-import format lacks some structure 
that had to be resynthesized in another *2* conversion.  Perhaps that's 
not the best format, say I, who at present know nothing about any of 
these formats.

 
 Any volunteers?

I'd like to look at this, possibly next January.  If anyone else would, 
please do also.  The more the merrier, at least during design discovery 
stage.  What languages are all these *2* programs written in?

IN case I have to tear one apart, are any written in secure, statically 
typed languages (whose programs I find easiest to read and debug).

-- hendrik


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


[Monotone-devel] cvs_import failure

2009-11-23 Thread Jeff Rizzo
From time to time I check in to see if the state of cvs_import has improved at 
all by attempting to import the NetBSD src repository.  Since it had been over 
a year since last I tried, I gave it a go over the weekend.  After about 36 
hours, it died (which is about what I recall it doing last time).

1)  is there somewhere I should be opening some kind of bug on this?  (Is there 
one open?)
2)  I have vague recollections of having somewhat more success with 
nvm.cvs_branch_reconstruction - but that looks like it hasn't been touched in a 
year.

Other thoughts?  Unfortunately, my scrollback filled up, and I only got most of 
the command output:

mtn: warning: skipping invalid path '\n.d,v'
mtn: warning: skipping invalid path '\n.err,v'
mtn: warning: skipping invalid path '\n.r,v'mtn: warning: skipping invalid path 
'\n.t,v'
mtn: warning: skipping invalid path '\n1.d,v'
mtn: warning: skipping invalid path '\n1.r,v'
mtn: warning: skipping invalid path '\n1.t,v'mtn: warning: skipping invalid 
path '\n2.d,v'
mtn: warning: skipping invalid path '\n2.r,v'
mtn: warning: skipping invalid path '\n2.t,v'
mtn: branches | versions mtn:  319 |  1362879 
external/intel-fw-public/iwl4965/dist/iwlwifi-4965-1.uc
mtn: branches | revisions | versions
mtn:  319 | 18928 |  1362879
mtn: fatal: formatter failed on unix/ssh_agent_platform.cc:132: 
boost::too_few_args: for
mat-string referred to more arguments than were passed
mtn: fatal: 
boost::exception_detail::clone_implboost::exception_detail::error_info_injectorboost::io::too_few_args
 : boost::too_few_args: format-string referred to more arg
uments than were passed  mtn: this is almost certainly a bug in monotone.mtn: 
please send this error message, the output of 'mtn version --full',
mtn: and a description of what you were doing to monotone-de...@nongnu.org.mtn: 
wrote debugging log to /home/riz/.monotone/dump
mtn: if reporting a bug, please include this filecolossus:riz  ~/netbsd2 mtn 
--version --full
monotone 0.45 (base revision: 
a19f8b2017c81c3c6c8b2bb3247f865f6ed4e5a9)colossus:riz  ~/netbsd2 cat 
~/.monotone/dump
Encountered an error while musing upon the following:paths.cc:420: detected 
internal error, 'I(utf8_validate(utf8(data, origin::internal)) 
 !has_bad_component_chars(data)  data != .  data != ..)' 
violatedwarning: skipping invalid path '\n.d,v'
Encountered an error while musing upon the following:
paths.cc:420: detected internal error, 'I(utf8_validate(utf8(data, 
origin::internal))  !has_bad_component_chars(data)  data != .  data != 
..)' violated
warning: skipping invalid path '\n.err,v'Encountered an error while musing upon 
the following:
paths.cc:420: detected internal error, 'I(utf8_validate(utf8(data, 
origin::internal)) 
 !has_bad_component_chars(data)  data != .  data != ..)' 
violatedwarning: skipping invalid path '\n.r,v'Encountered an error while 
musing upon the following:
paths.cc:420: detected internal error, 'I(utf8_validate(utf8(data, 
origin::internal)) 
 !has_bad_component_chars(data)  data != .  data != ..)' violated
warning: skipping invalid path '\n.t,v'
Encountered an error while musing upon the following:
paths.cc:420: detected internal error, 'I(utf8_validate(utf8(data, 
origin::internal)) 
 !has_bad_component_chars(data)  data != .  data != ..)' violated
warning: skipping invalid path '\n1.d,v'
Encountered an error while musing upon the following:
paths.cc:420: detected internal error, 'I(utf8_validate(utf8(data, 
origin::internal)) 
 !has_bad_component_chars(data)  data != .  data != ..)' violated
warning: skipping invalid path '\n1.r,v'
Encountered an error while musing upon the following:
paths.cc:420: detected internal error, 'I(utf8_validate(utf8(data, 
origin::internal)) 
 !has_bad_component_chars(data)  data != .  data != ..)' violated
warning: skipping invalid path '\n1.t,v'
Encountered an error while musing upon the following:
paths.cc:420: detected internal error, 'I(utf8_validate(utf8(data, 
origin::internal))  !has_bad_component_chars(data)  data != .  data != 
..)' violated
warning: skipping invalid path '\n2.d,v'
Encountered an error while musing upon the following:
paths.cc:420: detected internal error, 'I(utf8_validate(utf8(data, 
origin::internal))  !has_bad_component_chars(data)  data != .  data != 
..)' violated
warning: skipping invalid path '\n2.r,v'
Encountered an error while musing upon the following:
paths.cc:420: detected internal error, 'I(utf8_validate(utf8(data, 
origin::internal))  !has_bad_component_chars(data)  data != .  data != 
..)' violated
warning: skipping invalid path '\n2.t,v'
Encountered an error while musing upon the following:
unix/ssh_agent_platform.cc:132: detected system error, 'E(++deadcycles  8)' 
violated
Current work set: 4 items
- begin 'system_flavour' (in virtual void sanity::initialize(int, char**, 
const char*), at sanity.cc:103)
NetBSD 5.0_STABLE NetBSD 5.0_STABLE (COLOSSUS) #1: Sat Nov 21 16:54:47 PST 2009 
 

Re: [Monotone-devel] cvs_import failure

2009-11-23 Thread Thomas Keller
Am 23.11.09 17:30, schrieb Jeff Rizzo:
 From time to time I check in to see if the state of cvs_import has
 improved at all by attempting to import the NetBSD src repository.
 Since it had been over a year since last I tried, I gave it a go over
 the weekend.  After about 36 hours, it died (which is about what I
 recall it doing last time).
 
 1)  is there somewhere I should be opening some kind of bug on this?
 (Is there one open?) 2)  I have vague recollections of having
 somewhat more success with nvm.cvs_branch_reconstruction - but that
 looks like it hasn't been touched in a year.

 Other thoughts?  Unfortunately, my scrollback filled up, and I only
 got most of the command output:

Unfortunately nobody has been working on cvs_import for the last couple
of months and I doubt someone will soon pick up the topic again. For
most people a subversion exporter is even higher on the priority list
than a working cvs import.

There's certainly prior art for cvs import (f.e. I heard that the
cvs2svn code is pretty well a couple of times), but unless its a high
demand topic for somebody, there won't happen much in this area. I can
only say that patches and code are more than welcome and that we'd love
to support everybody improving the importer code, but thats about it.

Thomas.

-- 
GPG-Key 0x160D1092 | tommyd3...@jabber.ccc.de | http://thomaskeller.biz
Please note that according to the EU law on data retention, information
on every electronic information exchange might be retained for a period
of six months or longer: http://www.vorratsdatenspeicherung.de/?lang=en



signature.asc
Description: OpenPGP digital signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import failure

2009-11-23 Thread Daniel Carosone
On Mon, Nov 23, 2009 at 08:30:44AM -0800, Jeff Rizzo wrote:
 From time to time I check in to see if the state of cvs_import has improved 
 at all by attempting to import the NetBSD src repository.  Since it had been 
 over a year since last I tried, I gave it a go over the weekend.  After about 
 36 hours, it died (which is about what I recall it doing last time).

These bad filenames have always been an issue; I've just removed them
before importing, which allows it to go much further.  It's been about
the same amount of time since I last tried an import too, so I
completely forget how far it does get after that. 

 1)  is there somewhere I should be opening some kind of bug on this?  (Is 
 there one open?)
 2)  I have vague recollections of having somewhat more success with 
 nvm.cvs_branch_reconstruction - but that looks like it hasn't been touched in 
 a year.

Yeah, my last test was with that branch too.

--
Dan.

pgp2EKsZT2fih.pgp
Description: PGP signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


[Monotone-devel] cvs_import date bug

2009-09-09 Thread luigi.pugne...@libero.it
It seem there is a bug with cvs_import.
The bug is the same reported in:

http:
//www.mail-archive.com/monotone-devel@nongnu.org/msg13338.html

but the patch 
seems not working for me.
I'm using a version of monotone that contains that 
fix but dates in a converted
cvs repository always contain year 1970.

./mtn 
version
monotone 0.45dev (base revision: 
e5dcbaac354a94d95e8c39ab7d6d9439dabfef40)

uname -a
Linux PCP-luigi 2.6.28-15-
generic #49-Ubuntu SMP Tue Aug 18 18:40:08 UTC 2009
i686 GNU/Linux


That bug 
seems fixed by the following patch:

#
# old_revision 
[e5dcbaac354a94d95e8c39ab7d6d9439dabfef40]
#
# patch rcs_import.cc
#  from 
[e0868099bc25d42879979b40e410b356221cad9b]
#to 
[6a571a6fd084342518cd7652b8920ad54e3df985]
#


--- rcs_import.cc   
e0868099bc25d42879979b40e410b356221cad9b
+++ rcs_import.cc   
6a571a6fd084342518cd7652b8920ad54e3df985
@@ -1371,7 +1371,7 @@ 
cluster_consumer::store_auxiliary_certs(
  
branch_name(branchname, origin::user),
  utf8(cvs.
changelog_interner.lookup(p.changelog),
   
origin::internal),
- date_t(p.time * 1000),

+ date_t((s64)p.time * 1000),

  cvs.author_interner.lookup(p.author));
 }



___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import

2007-11-12 Thread Lapo Luchini
Markus Schiltknecht wrote:
 mtn: branches | versions
 mtn:0 |   101454 contrib/ncurses/menu/m_items.c,vterminate
 called after throwing an instance of 'Botan::Memory_Exhaustion'
 How much memory do you have on that machine? On my 64bit Linux, the
 FreeBSD import peaks at about 1.6 Gb of needed memory. The import
 doesn't run through, though. It hits another invariant later on.

Whops, that doesn't even fit in the swap, right now...
Well, I should have a box with more RAM  HDD in the near future.

-- 
Lapo Luchini
[EMAIL PROTECTED] (OpenPGP  X.509)
www.lapo.it (Jabber, ICQ, MSN)


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import

2007-11-08 Thread Markus Schiltknecht

Hi,

Ralf S. Engelschall wrote:

BTW, if you need a clean medium-sized CVS repository for testing which
is both very strict in its branch naming and layout and also contains a
reasonable amount of branches and sub-branches, revisions spreaded over
6 years and about 35000 commits, feel free to test with the OpenPKG CVS
(rsync -rav rsync://rsync.openpkg.org/openpkg-cvs/ /tmp/openpkg-cvs/).
The interesting module in this repository is named openpkg-src (the
other modules you can ignore), containing all the OpenPKG package
specifications on a dozend branches and sub-branches. When I tried the
cvsimport-branch-reconstruction stuff some time ago it crashed on
this repository module, so it might be interested to check again. In
the meantime I used Tailor to import and track at least the HEAD of
openpkg-src in a Monotone repository...


FYI: the OpenPKG repository has some files with names containing invalid 
characters in it, thus cvs_import currently aborts on those. The very 
same applies to the NetBSD repository.


AFAIU, the correct fix would be an adjustment of our tree_walker, to 
also fix all other problems with non-UTF-8 encoded filenames.


Regards

Markus


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import

2007-11-07 Thread Markus Schiltknecht

Hello Ralf,

Ralf S. Engelschall wrote:

BTW, if you need a clean medium-sized CVS repository for testing which
is both very strict in its branch naming and layout and also contains a
reasonable amount of branches and sub-branches, revisions spreaded over
6 years and about 35000 commits, feel free to test with the OpenPKG CVS
(rsync -rav rsync://rsync.openpkg.org/openpkg-cvs/ /tmp/openpkg-cvs/).


Thanks for the hint. I've downloaded and tested it. Unfortunately, it 
still fails on an invariant... :-(  Known issue, I think there even is a 
a test case for it.


For everybody interested in the inner workings of that beast, I've 
updated the wiki: http://www.venge.net/mtn-wiki/CvsImport.


There are still some issues, i.e.:

 * non-UTF-8 filenames (i.e. as in the NetBSD repository). The 
tree_walker fails on those.


 * blobs (revisions) which have dependencies into two branches. In 
monotone that's theoretically possible, but not in CVS. (i.e. Postgres repo)


 * deleted files might erronously appear in tagged revisions.

I'm working on those...

Please let me know if you have an urgent desire for importing a specific 
CVS repository or if you'd like to test importing one yourself.


Regards

Markus



___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import

2007-11-07 Thread Richard Levitte
In message [EMAIL PROTECTED] on Wed, 07 Nov 2007 16:53:52 +0100, Markus 
Schiltknecht [EMAIL PROTECTED] said:

markus Please let me know if you have an urgent desire for importing
markus a specific CVS repository or if you'd like to test importing
markus one yourself.

I do...  the OpenSSL one.

Cheers,
Richard

-- 
Richard Levitte [EMAIL PROTECTED]
http://richard.levitte.org/

When I became a man I put away childish things, including
 the fear of childishness and the desire to be very grown up.
-- C.S. Lewis


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


[Monotone-devel] cvs_import

2007-11-06 Thread Markus Schiltknecht

Hi,

I've just pushed all of my cvs_import work in the branch 
n.v.m.cvsimport-branch-reconstruction (which certainly is a misnomer 
nowadays). Sorry for all the sudden traffic ;-)


Four cvs related tests still fail, but I'm currently testing with bigger 
repositories.


I'll give more details tomorrow, too tired now.

Regards

Markus


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import

2007-11-06 Thread Ralf S. Engelschall
On Tue, Nov 06, 2007, Markus Schiltknecht wrote:

 I've just pushed all of my cvs_import work in the branch
 n.v.m.cvsimport-branch-reconstruction (which certainly is a misnomer
 nowadays). Sorry for all the sudden traffic ;-)

 Four cvs related tests still fail, but I'm currently testing with bigger
 repositories.
 [...]

BTW, if you need a clean medium-sized CVS repository for testing which
is both very strict in its branch naming and layout and also contains a
reasonable amount of branches and sub-branches, revisions spreaded over
6 years and about 35000 commits, feel free to test with the OpenPKG CVS
(rsync -rav rsync://rsync.openpkg.org/openpkg-cvs/ /tmp/openpkg-cvs/).
The interesting module in this repository is named openpkg-src (the
other modules you can ignore), containing all the OpenPKG package
specifications on a dozend branches and sub-branches. When I tried the
cvsimport-branch-reconstruction stuff some time ago it crashed on
this repository module, so it might be interested to check again. In
the meantime I used Tailor to import and track at least the HEAD of
openpkg-src in a Monotone repository...

   Ralf S. Engelschall
   [EMAIL PROTECTED]
   www.engelschall.com



___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import feature sponsored

2007-09-10 Thread Nathaniel Smith
On Sat, Sep 08, 2007 at 08:49:29PM +0200, Markus Schiltknecht wrote:
 Dear monotone hackers,
 
 I'm happy to announce that I've recently signed a contract with 
 MQSoftware, who sponsors me for finishing my cvs_import rewrite. I wish 
 to thank Kelly F. Hickel for making this possible, and I'm looking 
 forward to contribute to their and monotone's success.

How cool!  Looking forward to seeing what you come up with.

-- Nathaniel

-- 
Details are all that matters; God dwells there, and you never get to
see Him if you don't struggle to get them right. -- Stephen Jay Gould


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


[Monotone-devel] cvs_import feature sponsored

2007-09-08 Thread Markus Schiltknecht

Dear monotone hackers,

I'm happy to announce that I've recently signed a contract with 
MQSoftware, who sponsors me for finishing my cvs_import rewrite. I wish 
to thank Kelly F. Hickel for making this possible, and I'm looking 
forward to contribute to their and monotone's success.


Regards

Markus


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


[Monotone-devel] cvs_import prepared revisions

2006-10-20 Thread Markus Schiltknecht

Hi,

I'm wondering why cvs_import (original and mine) feeds the revisions 
from the cluster_consumer to a vector of prepared revisions. And 
afterwards cluster_consumer::store_revisions() sends them all at once to 
the database. Why do we split tasks like that? Why can't we just skip 
the list of prepared_revisions and store them directly into the database 
in cluster_consumer::consume_cluster()?


Assuming write caching is enabled, I would suppose feeding them to the 
database in consume_cluster() would even be faster, because that would 
not split between CPU/RAM intensive and disk I/O intensive tasks but do 
them in parallel.


Can I remove the prepared_revision stuff safely or do I miss something?

Regards

Markus



___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import benchmark

2006-10-12 Thread Nathaniel Smith
On Thu, Oct 12, 2006 at 08:31:40AM +0200, Lapo Luchini wrote:
 % du -hs cvsroot.ypsilon
 1.5Mcvsroot.ypsilon
 
 % python2.4 benchmark.py -m mtn26=mtn-0.26.exe -m mtn30=mtn-0.30.exe -m
 mtn061011=mtn-061011.exe -b 'cvsimp=CVSImport(EmptyRepo(), ypsilon,
 /home/lapo/monotone-trunk/benchmark/cvsroot.ypsilon)' --cache
 /home/lapo/monotone-trunk/benchmark/cache scratch results3
 
 % for n in results3/*/stats.csv; do echo $n; cat $n; done
 results3/cvsimp-mtn26-time/stats.csv
 cvs_import-system-time,0.51,0.53,0.59
 cvs_import-user-time,104.54,105.25,103.37
 cvs_import-wall-time,130.21,127.43,127.83
 results3/cvsimp-mtn30-time/stats.csv
 cvs_import-system-time,0.46,0.48,0.49
 cvs_import-user-time,97.07,98.1,97.09
 cvs_import-wall-time,119.28,119.21,119.68
 results3/cvsimp-mtn061011-time/stats.csv
 cvs_import-system-time,0.79,0.54,0.81
 cvs_import-user-time,196.57,196.5,192.68
 cvs_import-wall-time,236.94,234.7,230.96
 
 So... 6% improvement between 0.26 and 0.30, and a 100% worsening from
 0.30 and yesterday's trunk! 0_0

Weird!

 I wonder what can have done that. Maybe 'heights' branch is landed and
 was not faster as expected?

No, it hasn't landed yet...

 I'll definitely take a closer look at it this evening, now gotta go to
 work ;-)

On unix, obviously, we could quickly peek into the problem by adding
some of the profiling switches, but I dunno what you can do on
windows.

-- Nathaniel

-- 
- Don't let your informants burn anything.
- Don't grow old.
- Be good grad students.
  -- advice of Murray B. Emeneau on the occasion of his 100th birthday


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import and timezones

2006-10-02 Thread Tony Tung

On Oct 2, 2006, at 4:18 AM, Christof Petig wrote:


Tony Tung schrieb:

Is there some secret incantation to tell monotone to treat CVS
timestamps as GMT?  Or am I totally off base?


TZ=UTC monotone ... ?

yes this sucks. There is no way to tell whether CVS uses GMT or
localtime (besides checking the installation (I remember a debconf  
entry

and a cvs version dependancy))

   Christof


I already tried that, but got the same results.

Thanks,
Tony


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import and timezones

2006-10-02 Thread Tony Tung

On Oct 2, 2006, at 9:46 AM, Tony Tung wrote:


On Oct 2, 2006, at 4:18 AM, Christof Petig wrote:


Tony Tung schrieb:

Is there some secret incantation to tell monotone to treat CVS
timestamps as GMT?  Or am I totally off base?


TZ=UTC monotone ... ?

yes this sucks. There is no way to tell whether CVS uses GMT or
localtime (besides checking the installation (I remember a debconf  
entry

and a cvs version dependancy))

   Christof


I already tried that, but got the same results.

Thanks,
Tony


It seems tzset() is never called.  Without that, the environment  
variable TZ is never processed.  I put it in cvs_commit::cvs_commit 
(rcs_file const  r, string const  rcs_version, file_id const   
ident, cvs_history  cvs) just to test it, and it behaves correctly.


Since we don't want to actually do that every single time cvs_commit 
(...) is called, where would be a good place to call tzset()?


Thanks,
Tony



___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import rewrite

2005-12-17 Thread Nathaniel Smith
On Fri, Dec 16, 2005 at 09:14:35AM +0100, Christof Petig wrote:
 Problem: cvs_import would need to know how to reach the imported
 repository for correct certificates (at the moment cvssync stores the
 revision information per repository).

Off the cuff thought: CVS repositories don't have unique names anyway.
Would it make more sense for cvssync to store a nickname for the repo,
and then at cvs_{push,pull} time one can figure out the mapping from
nickname to an actual access method?

This mapping could be cached in a db var, similar to the default
netsync server stuff.

The nickname could have a simple default, so that if one only ever
uses a single cvs server for a branch family (as is by far the more
common case), then one never needs to specify a nickname, or even know
that the nickname exists.

-- Nathaniel

-- 
Sentience can be such a burden.


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import rewrite

2005-12-16 Thread Markus Schiltknecht
On Thu, 2005-12-15 at 15:53 -0800, Nathaniel Smith wrote:
 The goal of the last cvs_import rewrite was basically, use cvs2svn's
 algorithm to get things right :-).  The main limitations I'm aware of
 with current cvs_import are:
   -- it doesn't do any branch reconstruction.  This would be _really_
  helpful; at the moment, this makes its branch handling almost
  completely useless, because in monotone going forward you won't
  be able to usefully merge between branches that aren't linked up.
  The difficulty is that this is necessarily a heuristic operation,
  and there are states a CVS repo can be in that are simply not
  possible to meaningfully translate.
   -- no incremental re-importing.

In that case, I don't really understand how monotone's cvs_import works.
After reading rcs_import.cc I got the impression, that the treewalker
first collects all files and parses them. Then somehow revisions and
branches are created (import_cvs_branch() or what function was that?).

I found it very hard to read the code and I still don't really
understand what's going on. Could somebody quickly outline the algorithm
used and the differences to cvs2svn?

 Right now we just do things in memory, and it seems to go okay.  We'd
 have to look at the argument for how saving stuff somewhere persistent
 would be a significant win, I guess.

I was thinking about helping re-import. A re-import could use
information like what rcs-version of a file is in which monotone
revision - or so. Still a vague idea...

 Intriguing idea!  How do you work out what the merge looks like?

..the next non-overlapping cvs revision would be the merged revision in
monotone, I guess. Even if that wasn't really the case, it's not any
worse than the fixed up CVS repository.

Maybe we could add hooks or have an interactive cvs_import variant where
you could define where (in CVS) the merge really happened? Or more
generally: give the user the possibility to edit the CVS - monotone
revision mapping (at least in case of CVS inconsistencies).

  My goals with this are:
   * gain speed in subsequent imports
 
 Do you have profiling data showing where the bottlenecks are?

Sorry, no. But only having to parse changed files in CVSROOT and only
importing new revisions seems like a sure gain to me. And that could be
possible when storing results from cvs_import.

 (Right now I'm pretty sure the bottleneck is the changeset sanity
 checking, just like for initial pull.  Re-imports don't have to deal
 with that; maybe if we added re-import support it would already be
 plenty fast.)

That's what I meant with 'subsequent imports'

   * (correct) branch support
 
 This would be _really_ good to have, and even an urgent need, as
 mentioned above.  It might even be the first thing you should look
 at/try, as a way of familiarizing yourself with the issues involved in
 CVS importing...

Yes, I'll try. But so far I didn't understand the cvs_import.cc code
enough to find similarities in the algorithm to cvs2svn :-(

Anyway, thanks for your help. I'll read the code again...

Regards

Markus




___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import rewrite

2005-12-16 Thread Christof Petig
Nathaniel Smith schrieb:
 On the other hand, I don't see why cvs_import and cvssync couldn't
 record what they've done in a compatible format, so that you can do a
 cvs_import and then use the resulting repo with cvssync, for
 instance...

cvs_import would have to generate certificates which indicate the
corresponding file revisions for a revision. That's all what's missing.

Problem: cvs_import would need to know how to reach the imported
repository for correct certificates (at the moment cvssync stores the
revision information per repository).

   Christof


signature.asc
Description: OpenPGP digital signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import rewrite

2005-12-16 Thread Christof Petig
Markus Schiltknecht schrieb:
Right now we just do things in memory, and it seems to go okay.  We'd
have to look at the argument for how saving stuff somewhere persistent
would be a significant win, I guess.
 
 
 I was thinking about helping re-import. A re-import could use
 information like what rcs-version of a file is in which monotone
 revision - or so. Still a vague idea...

Perhaps re-import is not needed once cvs_import can store the
information needed for cvssync. Cvssync is efficient when it comes to
synchronize two repositories (small number of revisions, recent changes).

Intriguing idea!  How do you work out what the merge looks like?
 
 
 ..the next non-overlapping cvs revision would be the merged revision in
 monotone, I guess. Even if that wasn't really the case, it's not any
 worse than the fixed up CVS repository.
 
 Maybe we could add hooks or have an interactive cvs_import variant where
 you could define where (in CVS) the merge really happened? Or more
 generally: give the user the possibility to edit the CVS - monotone
 revision mapping (at least in case of CVS inconsistencies).

That's exactly what cvssync does. Storing this information in an
efficient way is difficult. But since cvs_import creates the revision
(or more specifically the manifest) it can add a hidden file
(.cvsrevisions) which is delta encoded as usual and efficiently stored.

... It occured to me that cvs_pull (cvssync's import) could work that
way ... This would make the storage more efficient and robust. But it
creates a notable difference between cvs_pull (which can change/add
files) and cvs_push (which can only change certificates).

Great idea, I will follow this way and change cvssync (will take some
time to finish)

 * (correct) branch support

This would be _really_ good to have, and even an urgent need, as
mentioned above.  It might even be the first thing you should look
at/try, as a way of familiarizing yourself with the issues involved in
CVS importing...
 
 
 Yes, I'll try. But so far I didn't understand the cvs_import.cc code
 enough to find similarities in the algorithm to cvs2svn :-(
 
 Anyway, thanks for your help. I'll read the code again...

[with CVS manifest I mean a mapfile,rcs revision at a specific changeset]

Of course I thought about branch rooting, too. My current plan is to
calculate the base cvs manifest before the first branch commit (by
removing .N.1 where appropriate IIRC) and look for a monotone revision
matching this CVS manifest (which is easier if the CVS manifest is
stored as a file, so you can look up the revision which contains this
file). Take this monotone revision as the parent of the first revision
to create on this subbranch. If you don't find a matching revision (e.g.
because someone hand-edited the repository or did strange branching
magic) simply let the branch float (no parent revision).

Problems arise from the fact that branch tags are moveable (so you might
not/no longer be able to calculate a name for the branch).

   Christof


signature.asc
Description: OpenPGP digital signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import rewrite

2005-12-16 Thread Richard Levitte - VMS Whacker
In message [EMAIL PROTECTED] on Thu, 15 Dec 2005 15:53:10 -0800, Nathaniel 
Smith [EMAIL PROTECTED] said:

njs On Wed, Dec 14, 2005 at 12:06:37PM +0100, Markus Schiltknecht wrote:
njs  I have been looking at cvsps, which can extract patchsets from cvs
njs  repositories. Unfortunately, it fails in case of inconsistent CVS
njs  repositories (i.e. the PostgreSQL cvs repo).
njs 
njs Yeah, the rumors are basically that the only actually correct tools
njs for cvs importing are:
njs   -- cvs2svn
njs   -- monotone's cvs_import (but it doesn't link up branches)
njs   -- Canonical's internal, secret tool

Hmm, does anyone have an opinion on git-cvs (the cvs importing tool
for git)?  Since git has (or had?) some similarities with monotone, it
might be something to look at more closely...

Either way, inconsistent CVS repositories is a real PITA, and there's
a lot of different thoughts on how to handle them.  I know no tool
that handles those perfectly.

Cheers,
Richard

-
Please consider sponsoring my work on free software.
See http://www.free.lp.se/sponsoring.html for details.

-- 
Richard Levitte [EMAIL PROTECTED]
http://richard.levitte.org/

When I became a man I put away childish things, including
 the fear of childishness and the desire to be very grown up.
-- C.S. Lewis


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import rewrite

2005-12-16 Thread David Langenberg
At 2005.12.16.04.53, in [EMAIL PROTECTED],
Richard Levitte - VMS Whacker [EMAIL PROTECTED] wrote:
 In message [EMAIL PROTECTED] on Thu, 15 Dec 2005 15:53:10 -0800, Nathaniel 
 Smith [EMAIL PROTECTED] said:
 
 njs On Wed, Dec 14, 2005 at 12:06:37PM +0100, Markus Schiltknecht wrote:
 njs  I have been looking at cvsps, which can extract patchsets from cvs
 njs  repositories. Unfortunately, it fails in case of inconsistent CVS
 njs  repositories (i.e. the PostgreSQL cvs repo).
 njs 
 njs Yeah, the rumors are basically that the only actually correct tools
 njs for cvs importing are:
 njs   -- cvs2svn
 njs   -- monotone's cvs_import (but it doesn't link up branches)
 njs   -- Canonical's internal, secret tool
 
 Hmm, does anyone have an opinion on git-cvs (the cvs importing tool
 for git)?  Since git has (or had?) some similarities with monotone, it
 might be something to look at more closely...


Git's cvs-import uses cvsps to do the hard work.  I've used it to import
several repositories, and have had a lot of success with it.   I also
tried the cvssync branch  found git was 100% successful with the
imports while cvssync had quite a few issues.  Though that was a while
ago, so cvssync may have gotten better.

Dave

-- 
***
David Langenberg
Network Based Services
The University of Chicago

Success always occurs in private, and failure in full view. 
 
***


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import rewrite

2005-12-16 Thread Daniel Carosone
On Fri, Dec 16, 2005 at 10:39:43AM +0100, Christof Petig wrote:
 That's exactly what cvssync does. Storing this information in an
 efficient way is difficult. But since cvs_import creates the revision
 (or more specifically the manifest) it can add a hidden file
 (.cvsrevisions) which is delta encoded as usual and efficiently stored.

Why hidden? In fact, why not store it as CVS/Entries?  It might not be
quite as efficient, but it might be more useful to the end user.

--
Dan.

pgpKAb7bNcVAX.pgp
Description: PGP signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import rewrite

2005-12-15 Thread Christof Petig
[CCing the list]

Markus Schiltknecht schrieb:
 What do you think?

A totally different approach would be to enhance the cvssync branch to
replace cvs_import. It can import local and remote repositories alike.
And you can reimport/commit changes from/to the server. My basic feeling
is that (performance issues put aside (which is a very brave
assumption)) being able to import remote repositories as well is a bonus
of this branch. It has basic side-branch support but I ran out of time
to finish it.

You might want to check for the shortcomings of the current cvssync code
on the webpage http://venge.net/monotone/wiki/BranchStatuses . Be my
guest to ask more questions.

As the author of the branch I'm somewhat biased of course.
   Christof



signature.asc
Description: OpenPGP digital signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import rewrite

2005-12-15 Thread Nathaniel Smith
On Thu, Dec 15, 2005 at 11:40:21AM +0100, Christof Petig wrote:
 (performance issues put aside (which is a very brave
 assumption)) 

I'm not sure they can be put aside in this case; cvssync talks to cvs,
and lets cvs do the actual reconstruction in this case, right?  The
problem is that using cvs to extract all file texts from a cvs repo is
O(n^2), while cvs_import, by reading the files directly, can be O(n).
There's a fair amount of real-world evidence that this difference is
critical, for real-world large repositories.

(For instance, my understanding is that cvs2svn used to also be O(n^2)
due to a bug, so when Danny Berlin was converting the gcc repository
to svn, he actually created a Frankensteinien combination of
monotone's cvs_import code and cvs2svn and used that.)

On the other hand, I don't see why cvs_import and cvssync couldn't
record what they've done in a compatible format, so that you can do a
cvs_import and then use the resulting repo with cvssync, for
instance...

-- Nathaniel

-- 
So let us espouse a less contested notion of truth and falsehood, even
if it is philosophically debatable (if we listen to philosophers, we
must debate everything, and there would be no end to the discussion).
  -- Serendipities, Umberto Eco


___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import rewrite

2005-12-15 Thread Daniel Carosone
On Thu, Dec 15, 2005 at 03:53:10PM -0800, Nathaniel Smith wrote:
  I.e. you don't absolutely need to sort by date. Overlapping commits in
  CVS would better be handled as two heads which later got merged again in
  monotone.
 
 Intriguing idea!  How do you work out what the merge looks like?

Indeed it is, it sounds very good.  I like this idea. A lot.

The merge, almost by definition, would be a matter of merging
manifests for unrelated changes to different files.  If the commits
overlap in CVS on the same file, it's almost certain to have created a
conflict for the CVS users, and they'd then become separate commits
around that sequence point.

Someone's CVS repository is sure to prove me wrong, of course.

--
Dan.


pgpEDBiNbC1Hx.pgp
Description: PGP signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


[Monotone-devel] cvs_import rewrite

2005-12-14 Thread Markus Schiltknecht
Hello monotone hackers,

what's up with the cvs_import rewrite branches? Anybody still working on
such a thing?

I have been looking at cvsps, which can extract patchsets from cvs
repositories. Unfortunately, it fails in case of inconsistent CVS
repositories (i.e. the PostgreSQL cvs repo).

Then I gave cvs2svn a try, which complained about a symbol occuring
twice in some files, but that was easy to fix. Then it converted the
whole inconsistent CVS repository into a subversion one. AFAICT getting
most inconsistencies right and handling branches correctly.

cvs2svn uses a multiple passes of processing the cvs repository. Some
store their results in database files (BerkeleyDB, I think it was). The
only drawback I saw was it's inability to do subsequent conversions. So
you have to convert once, then you must use subversion.

From the output and a quick glance at the source (in python) it does
something like that:
 * parse the cvsroot and its rcs files
 * check consistency of files
 * make up revisions from parsed rcs files
 * check consistency of revisions
 * sort cvs revisions
 * create a cvs revisions - svn revisions mapping
 * import the single revisions one after another into a subversion
repository.

Anyway, I thought about reimplementing cvs_import. I would use the
algorithms of cvs2svn to get a more or less consistent view of the cvs
repository. Due to the nature of monotone, it should be easy to improve
the algorithm to be able to handle subsequent imports.

If I'm heading for such a rewrite, what should I be aware of? Would it
be wise to store results from different processing passes in the normal
monotone db? This would help subsequent imports a lot, of course. On the
other hand you then have 'non-monotone-data' in your database, which you
probably want to delete some day. What could be different to cvs2svn?
I.e. you don't absolutely need to sort by date. Overlapping commits in
CVS would better be handled as two heads which later got merged again in
monotone.

My goals with this are:
 * gain speed in subsequent imports
 * (correct) branch support

What do you think?

Regards

Markus




___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


Re: [Monotone-devel] cvs_import/sync questions

2005-04-20 Thread Christof Petig
Emile Snyder schrieb:
 Hi all,

 Is it worth looking at cvs bugs on the main branch, or is the cvssync
 branch going to supersede it?  Is cvssync close to merging?  Is cvssync
 stable enough that I should try to figure out bugs on it, or is it still
 in flux and I should just let Christof do his thing?

I have some things still in my TODO list for cvs_sync:

- fix the current failure of t_cvspull_separate (should be easy)
- fix the failure of t_cvspull_samedirname (should be easy)

- make sure that I'm ignoring self modifying files (e.g. $Id$) well
enough on commit

- make the history reconstruction algo smarter so it does not
reconstruct the full history but constricts to the last revision (for
now, branches might cause more complex setups). This should speed up
cvs_* on deep projects (without --since) by some orders of magnitude.
[This would fix the first bug as well]

- make cvs_push collect some intermediate changelogs when it commits a
merge point (merge of X and Y is not too informative if you don't have
the monotone database)

 far future ##

- make cvs_push work with two children (select which path to take)
- side branch support
- cvs push into an empty repository?
- import of a CVS working directory (so you don't have to contact the
CVS server if you want to commit via monotone)

Of course any help is appreciated (please coordinate! ;-) ). Perhaps a
working tailor module (inter VCS syncing scripts) is the way to go (it
already has darcs, svn, cvs, ~monotone~). I did not evaluate it (any
reports welcome) or compared it to my cvs_push/pull.

   Christof


signature.asc
Description: OpenPGP digital signature
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


[Monotone-devel] cvs_import/sync questions

2005-04-19 Thread Emile Snyder
Hi all,

Is it worth looking at cvs bugs on the main branch, or is the cvssync
branch going to supersede it?  Is cvssync close to merging?  Is cvssync
stable enough that I should try to figure out bugs on it, or is it still
in flux and I should just let Christof do his thing?

thanks,
-emile

+--
Bother, said Pooh, Eeyore, ready two photon torpedoes and lock
phasers on the Heffalump, Piglet, meet me in transporter room three. --
Robert Billing 
+--


signature.asc
Description: This is a digitally signed message part
___
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel