[cvsnt] --lf obsolete?

Yongwei Wu wuyongwei at gmail.com
Sun Sep 3 13:55:51 BST 2006

Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.

On 9/3/06, Tony Hoyle <tony.hoyle at march-hare.com> wrote:
> Yongwei Wu wrote:
> > So you are encouraging me not to use CVSNT?
> ..well since you're not writing windows apps.. why use a windows tool?

I work on Windows, but the scripts/code are intended to be
cross-platform. Why can't I have the best of different platforms?

> > For the record, I maintain cvsmenu.vim. I tested a few minutes ago and
> > can tell you that it must have UNIX line endings to work under Cygwin.
> Either use cygwin exclusively or fix the code.
> IMO anything that *insists* on LF on Windows is fundamentally broken
> anyway (cygwin doesn't btw. - in fact it's only a config setting to make
> it use cr/lf exclusively if you like).

By default all directories are mounted in binmode in Cygwin. I have
never heard anyone recommend using textmode in Cygwin. It is possible,
of course, but it requires all the programs you run are designed in a
way that take into account it can run on non-UNIX platforms. I have
not this confidence.

BTW, remounting / in text mode does not solve the problem Vim
encountered in this case. I have just tried it.

> > I have stated previously in this thread that this options does not
> > `break' repositories. It can have bad effects if you do not understand
> > what it is. No one can prevent you from shooting in your own feet.
> Umm yes it does.  I've had to repair repositories that have been broken
> like this and it is *not* pretty.  The results can cover multiple
> versions and your file history gets absolutely shafted if you start
> having to use admin -o to delete the broken revisions.

Committing the wrong files under Linux can cause this too, as I
previously mentioned.

> > It has *exactly* the same effect. SO THE `DANGER' IS STILL THERE IF I
> > USE CYGWIN CVS. Maybe it is there if I use CVSNT in Linux--but I have
> Treat cygwin as cygwin not windows.  Don't mix them.
> There is no danger in Linux because lf is native to Unix code and nobody
> ever uses cr/lf there.

I really encountered once the case people checked in the Windows files
under Linux. If people really want to do foolish things, you cannot
help it.

The reason was that this person edited files in Windows, and scp'd it
to Linux. Yes, scp is more secure than ftp, right?

> > The purpose of --lf, I believe, is to emulate a UNIX environment in
> > Windows: nothing more, nothing less. Every mistake you can make with
> No.  The purpose of --lf was to checkout a sandbox using lf.  It does
> not emulate anything.

Really I did not mean anything different from you in essence. You were
talking about the behaviour, and I were talking about the purpose.

> > It is still a compatibility issue (with WinCVS and TortoiseCVS, which
> > I used to use; now I prefer the command lines more). Yes, I began to
> > use this option when I first used WinCVS. It is clear an option exists
> > because there is a reason.
> It exists because the wincvs team put it there years ago and it never
> got removed when better options became available.

Unfortunately there are no better options, if the server is CVS
instead of CVSNT. Even if the server is CVSNT, -kL does something
different from --lf.

> > For cross-platform usage, people sometimes need UNIX line endings on
> > Windows. Cygwin, UWIN, and MSYS (MinGW build environment) are
> > examples. If you insist you do not want CVSNT to be used in those
> > environments ...
> CVSNT works fine in those environments... I'm sure all of those have no
> probmem with cr/lf and for those parts that do just use -k+L.

See the previous comment.

BTW, MSYS chokes on CRLF, and its cvs port checks out all files in LF.
I do not remember how UWIN deals with CRLF, since I think Cygwin is
better and only tried it for a small while. In the Cygwin case not all
applications are OK with CRLF.

> Sharing files between sandboxes on different platforms is not, never has
> been, and never will be supported.

Never has been? IMHO --lf does support sharing files between sandboxes.

> Checkout unix files on unix, and windows files on windows.

Sorry, but your usage pattern does not represent others'. There are no
such laws as you stated above, and I have seen enough exceptions. Just
as you commented Cygwin can handle CRLF now, Linux can too. It is not
because Cygwin has special improvements, but because tools like bash
and vim support CRLF (though it seems vim only supports editing files
in DOS line endings in *NIX, but does not support DOS line endings in
its script source).

Yes, as *the* author you must have a vision how CVSNT should evolve.
However, I do not think it right to restrict how your users use your
product, esp. if the issue is not something that can interfere with
the future development of your product.

Best regards,

Wu Yongwei
URL: http://wyw.dcweb.cn/

More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook