[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Eclipse-compatible :extssh: method...

From: Thomas Maslen
Subject: Re: Eclipse-compatible :extssh: method...
Date: Thu, 08 May 2003 17:10:44 +1000

I think the Eclipse CVS history (no pun intended) goes something like this:

      - Eclipse 1.0 had a first cut at a generic API for interfacing to
        version-management systems, and a somewhat minimal implementation
        of that API for CVS.  From memory the CVS implementation (written
        in Java, like most of Eclipse) supported exactly two access 
        methods.  One was :pserver:.  The other used some other open-source
        Java SSH code to implement :ext: over SSH;  it was not a general-
        purpose implementation of :ext: and certainly did not support
        callouts to a CVS_RSH or equivalent.  It was called :extssh:.
        This implementation also maintained the CVS client metadata in its 
        very own way, not by CVS/Entries et al.

      - Eclipse 2.0 has a considerably more "normal" CVS implementation
        (still written in Java).  There is now a reasonably full-fledged
        :ext: method with the moral equivalent of CVS_RSH, but :extssh:
        is still there and is still useful, both for Eclipse tradition
        and (more importantly to me, at least) for performance.  On my
        (barf) Windows laptop, :extssh: is markedly faster than :ext:
        with putty's "plink"[*]

        Eclipse 2.0's CVS implementation also aims to interoperate with 
        bog-standard CVS clients at the file-format level, i.e. each
        directory has a CVS subdirectory with CVS/Entries, CVS/Root et
        al, .cvsignore is supported, etc, so if you want to you can cd 
        into an Eclipse workspace and run regular CVS commands, and
        everything should interoperate happily.  Well, except for the 
        small matter of :extssh: CVS/Root entries, which is where Deven
        comes in.

>From where I sit it looks as though Eclipse has moved a long way to play
nice with traditional CVS (e.g. a complete rewrite of their CVS metadata 
handling for interop with CVS client file formats).  By contrast CVS seems 
to have a rather intransigent attitude.

Thomas Maslen

[*] The only reason that I was using :ext: and 'plink' at all was that 
    some CVS operations from Eclipse, using either :extssh: or plain
    old :pserver:, trigger some stupid interop bug in my spiffy new
    "PRO/Wireless LAN 2100 3A Mini PCI Adapter" that ends up losing
    the TCP connection (whereas the same operation over a plain old
    Compaq PCMCIA 802.11b card works fine), and for some reason that
    I haven't investigated yet, running :ext: over plink doesn't trigger
    the bug.  And no, I haven't tried the same :pserver: operation from
    a command-line CVS client (cygwin...), but that would definitely
    be a good test to try.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]