Re: Works on command line, but not in Explorer

"Arthur Barrett" <arthur.barrett-qn/[email protected]> Mon, 7 Nov 2011 15:14:52 +1100
Newsgroups gmane.comp.version-control.cvs.tortoisecvs.user
Message-ID <[email protected]>
Daniel,

> >
> >Don't.
> 
> Why?

The authors of CVSNT, telling you not to.

The reasons are long and complex and related to the integrity of the
final result.  If the files are checked out with CR/LF endings (ie: on
windows) then CVSNT expects them to go back with CR/LF endings.
Depending on the version of CVSNT you are using, and how badly those
line endings get messed up, you can lose your revision history.

So don't is my advice.

> This is for Linux compilation, using Windows GUI tools which can 
> handle Linux line endings, so the LF/CRLF format doesn't matter to me.
> 
> It would be tedious and error-prone for me to have to edit on the 
> Windows box, check in my changes, update on the Linux box, and only 
> then try compiling.
> 

I recommend you learn vi ;)  

Seriously though, what's wrong with checkout on linux, use the windows
gui tools (if you must) and checkin on linux?  I guess you are wanting
to use the graphical diff and revision graph on windows?

> But, why does everything work on the Windows command line using the 
> TortoiseCVS-installed CVSNT and TortoisePlink, but not when done 
> through TortoiseCVS's tools in Windows Explorer? 

If you uninstall TortoiseCVS and CVSNT, then install CVS Suite 2009 R2
Trial - you'll probably find it works, and if not there is a whole
pre-sales support team to assist you solve the problem.

SSH connections with CVSNT have a lot of 'history' - not all of it good.
CVSNT includes its own ssh client based on Putty - because it's based on
Putty if you get sign-on working with certificates with Putty then it'll
work with CVSNT too.  Use it with something like:

  cvs -d :ssh:myserver:/repo co module

Or

  cvs -d :ssh:putty-session-name:/repo co module

Then there is the whole 'ext' thing, which relies on lots of environment
variables to work and runs a whole separate process to communicate with
the server.   If you are using CVSNT from the command line then it'll
use the environment variables in the environment (duh?), but if you are
using TortoiseCVS then it overrides the ones in the environment with the
ones set in the TortoiseCVS preferences.  I think this is a poor
implementation - and I'm pretty sure in the TortoiseCVS we've customised
in CVS Suite it is smarter ie: only override the environment settings if
they are not already set.  IMO ideally TortoiseCVS should not store its
EXT settings anywhere except in the registry, so it works system wide,
not just in TortoiseCVS - but I understand there is an argument to
sandbox the app.

Finally: rather than use TortoisePlink.exe there is also extnt.exe which
can 'redirect' :ext: to :ssh:

But all of it is moot because you really really shouldn't be committing
linux line endings files from windows unless they are specifically set
as -kL.

Regards,


Arthur Barrett
Product Manager
CVSNT


------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1