<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div><font class="Apple-style-span" color="#0000FF" face="'Gill Sans'"><span class="Apple-style-span" style="font-size: medium;">Not sure how it happened, but the collector was turned off by default.  It works for me now with the latest updates.</span></font></div></span></span></span></span></span></span></span></span></div></span></div></span> </div><br><div><div>On 11 Jul 2009, at 12:21, Tony Hosking wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Weird.  I've just noticed that the collector has been disabled in RTCollector.i3 (not sure why I did that, but it had something to do with Jay's changes to the locking code in ThreadPThread).  It should definitely be reverted, but probably exposes some weirdness in Jay's mutex initialization code.  Jay, can you help?</div><div><br></div><br><div><div>On 11 Jul 2009, at 11:19, Tony Hosking wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div><span class="Apple-style-span" style="font-size: medium;"><font class="Apple-style-span" color="#0000FF" face="'Gill Sans'">I'd definitely need some way to reproduce the problem.  Detailed instructions would be best.  What platform are you running on?</font></span></div><div><font class="Apple-style-span" color="#0000FF" face="'Gill Sans'"><span class="Apple-style-span" style="font-size: medium;"><br></span></font></div><div><span class="Apple-style-span" style="font-size: medium; ">On 11 Jul 2009, at 06:47, Olaf Wagner wrote:</span></div></span></span></span></span></span></span></span></span></div></span></div></span></div><div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hm, I'm afraid we may have a regression in the runtime/gc here.<br>CVSup always worked without problems for me (and still is copying<br>FreeBSD, CM3 and other repositories between various machines for<br>me and Elego). Surely CVSup is doing no such thing as keeping<br>all its files in memory.<br><br>I haven't tried the version Jay put into the CM3 repo though.<br>So I see three possibilities:<br><br> o Jay introduced the problem in the CVSup sources when he<br>   adapted them to the current CM3 (low probability).<br><br> o You've got a broken runtime / CM3 version (and current<br>   sources work). I'd guess you are using the current version though.<br><br> o We've got a problem in our runtime code, perhaps -- but not<br>   necessarily -- the garbage collector.<br><br>I'd suggest we rule out the second one and you reproduce the problem<br>with a current source set (if not done yet). Then let's see what Jay<br>and Antony have to say, as they did almost all the source changes<br>in that area recently.<br><br>Olaf<br><br>Quoting Peter Eiserloh <<a href="mailto:eiserlohpp@yahoo.com">eiserlohpp@yahoo.com</a>>:<br><br><blockquote type="cite">Hi Olaf,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Well, I tried CVSup, and it started looking real good, until<br></blockquote><blockquote type="cite">it crashed, with a message from the M3 runtime, saying that<br></blockquote><blockquote type="cite">NEW could not allocate any memory.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">So I ran it a second time, and it got further, then crashed<br></blockquote><blockquote type="cite">again.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">So, a third time, but with "top" running in another window,<br></blockquote><blockquote type="cite">and sure enough cvsup, was allocating something like 1.2 GB<br></blockquote><blockquote type="cite">of data before it was crashing.  This is bigger than the<br></blockquote><blockquote type="cite">CVS repository that it had already downloaded.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I am thinking that cvsup is keeping the contents of every<br></blockquote><blockquote type="cite">file it downloaded in memory.  If so, this is a problem.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">If it is properly removing references, then maybe the<br></blockquote><blockquote type="cite">garbage collector is failing.  This would be a bigger<br></blockquote><blockquote type="cite">problem, but with our compiler's runtime library.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Are other people noticing problems.  Is it just me?<br></blockquote><blockquote type="cite">Am I the only one to attempt downloading the entire<br></blockquote><blockquote type="cite">CVS repository for CM3?  Could you try it?<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I sent an email to the email listed in cvsup's "about box"<br></blockquote><blockquote type="cite">(<a href="mailto:cvsup-bugs@polstra.com">cvsup-bugs@polstra.com</a>), but that failed.  The email address<br></blockquote><blockquote type="cite">no longer works.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">peter@black:/data/modula-3/cm3 $  debian-pkg/current/debian/tmp/usr/lib/cm3/bin/cvsup cvsupfile.cm3<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">***<br></blockquote><blockquote type="cite">*** runtime error:<br></blockquote><blockquote type="cite">***    NEW() was unable to allocate more memory.<br></blockquote><blockquote type="cite">***    file "../src/runtime/common/RuntimeError.m3", line 63<br></blockquote><blockquote type="cite">***<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Aborted<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Peter<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">+--------------------------------------------------------+<br></blockquote><blockquote type="cite">| Peter P. Eiserloh                                      |<br></blockquote><blockquote type="cite">+--------------------------------------------------------+<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">--- On Sat, 7/11/09, Olaf Wagner <<a href="mailto:wagner@elegosoft.com">wagner@elegosoft.com</a>> wrote:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">From: Olaf Wagner <<a href="mailto:wagner@elegosoft.com">wagner@elegosoft.com</a>><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Subject: Re: m3gdb and YACC<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">To: "Peter Eiserloh" <<a href="mailto:eiserlohpp@yahoo.com">eiserlohpp@yahoo.com</a>><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Date: Saturday, July 11, 2009, 2:49 AM<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Quoting Peter Eiserloh <<a href="mailto:eiserlohpp@yahoo.com">eiserlohpp@yahoo.com</a>>:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> Hi Olaf,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> The import script (git-importcvs) internally uses<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">cvsps, which<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> you may already have.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> Anyways, here is the first ten lines from a log file<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">of an import<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> that I just started.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> peter@black:~ $ head Import-cm3-20090708.log<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> Running cvsps...<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> WARNING: revision 1.1.3.1 of file<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">m3-sys/m3cc/gcc/etc/make-stds.texi  on unnamed branch<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> WARNING: revision 1.1.3.1 of file <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">m3-sys/m3cc/gcc/gcc/config/vax/vax.c on unnamed branch<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> WARNING: revision 1.1.3.1 of file <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">m3-sys/m3cc/gcc/texinfo/config.h.in on unnamed branch<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> WARNING: revision 1.1.3.1 of file <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">m3-sys/m3cc/gcc/texinfo/po/Makefile.in.in on unnamed branch<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> WARNING: revision 1.1.3.1 of file<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">m3-sys/m3cc/gcc/.brik on unnamed branch<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> WARNING: revision 1.1.3.1 of file <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">m3-sys/m3cc/gcc/texinfo/INTRODUCTION on unnamed branch<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> WARNING: revision 1.1.3.1 of file <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">m3-sys/m3cc/gcc/gcc/config/i386/osfelf.h on unnamed branch<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> WARNING: revision 1.1.3.1 of file <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">m3-sys/m3cc/gcc/gcc/config/mips/sni-svr4.h on unnamed<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">branch<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> WARNING: revision 1.1.3.1 of file <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">m3-sys/m3cc/gcc/gcc/config/v850/lib1funcs.asm on unnamed<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">branch<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">It looks like these files have a second vendor branch<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">without a<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">proper name. CVS does not cope well with multiple vendor<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">branches<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">(in fact it never really worked), but there won't be any<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">valuable<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">information in that branch I'm sure, so you can ignore it.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> Later this weekend, I will attempt to use CVSup. <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">First,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> I will have to find usable documentation, since I<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">have<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> never used CVSup before.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> Do you have a script to use with CVSup to access the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> CM3 CVS repo?  I am lasy.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> I use 'git' for all my current projects.  I used<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">to use<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> CVS, and had started looking into using subversion<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">(SVN),<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> I even purchased a couple books on SVN.  Then<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">'git' burst<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> upon the Linux world, and is gaining converts all over<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> place.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> It really does provide a better work-flow.  The<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">easy<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> creation of a branch is a given, it is git's ability<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> to do easy merges, which is gaining all the good<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">reputation.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> Rather than get all evangelistic on you, as I am sure<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">you<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> have already heard it many times already.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> Many businesses are moving to git.  The only<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">problem some<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> enterprise companies are having is the ability to<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">restrict<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> access of authorized users to only portions of the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">repository.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> These types of problems don't effect open source<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">software<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> development.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> Once I have a working 'git' repository for cm3, I will<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">share<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> the technique, and maybe, start the foundations for a<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> transition from CVS, towards 'git'.  But I<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">suggest a slow<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> process, with distinct stages.   At any<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">stage we could stop,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> or even revert.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> The problem is that once people start using git, they<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">don''t<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> want to go back to using CVS, or any of the older<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">methods.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> Maybe that isn't so much of a problem after all.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> STAGE-1: Simple mirror of the CVS archive,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">periodically<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">>          updated (say once<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">every 6 hours).  Document on<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">>          web site, as to how<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">to clone, and update a git<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">>          repository.  No<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">uploads to git.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> STAGE-2: Convert web page scripts to use git.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> STAGE-3: Convert tinderbox.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> STAGE-4: Uploads to git.  Install gitosis or<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">similar server<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">>          for git uploads.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Document the upload process on web<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">>          pages.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> STAGE-5: CVS mirrors the git repo.  Uploads to<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">git only.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> STAGE-6: Move last of the CVS people, over to git.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">> STAGE-7: Remove CVS.  (optional)<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Let's see how far you get. Converting all the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">infrastructure (scripts<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">and documentation) may be much more work than you imagine.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">And one<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">we propose a special tool (be it git or svn or mercurial)<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">there will<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">start discussions on what is best and what we should do<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">:-/<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">So offering an optional alternative access may be a good<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">plan.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">The majority of users should agree that they want the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">change though.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">And we need to consider use of GUIs and Windows users,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">too.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Olaf<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">--Olaf Wagner -- elego Software Solutions GmbH<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">           <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">   Gustav-Meyer-Allee 25 / Gebäude 12, 13355<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Berlin, Germany<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">phone: +49 30 23 45 86 96  mobile: +49 177 2345<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">869  fax: +49 30 23 45 86 95<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">   <a href="http://www.elegosoft.com">http://www.elegosoft.com</a> |<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Geschäftsführer: Olaf Wagner | Sitz: Berlin<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Handelregister: Amtsgericht Charlottenburg HRB 77719 |<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">USt-IdNr: DE163214194<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><br><br><br>-- <br>Olaf Wagner -- elego Software Solutions GmbH<br>               Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany<br>phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95<br>   <a href="http://www.elegosoft.com">http://www.elegosoft.com</a> | Geschäftsführer: Olaf Wagner | Sitz: Berlin<br>Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194<br><br></div></blockquote></div><br></div></blockquote></div><br></div></blockquote></div><br></body></html>