<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><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></body></html>