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

"Thomas Maslen" <[email protected]>
Newsgroups gmane.comp.version-control.cvs.bugs
Message-ID <[email protected]>
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
[email protected]



[*] 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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.