cvs(unix windows) 0d0a问题!-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3976834
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

分类:

2007-10-09 13:44:28

a.1. 智能0d0a?为何处理回车换行一团糟?

何为0d0a(crlf),dos下的回车换行是也。由于cvs的服务器端和客户端都可能跨平台,那么我们分别来说。

    * 服务器端

      无论在unix上还是windows(cvsnt)的服务器,都以同样的格式保存文本文件的换行符(无论是dos的0d0a,还是unix上的0a,还是mac上的0d)。服务器端都将换行符保存为 0a。
      但这并不是说在服务器端存储的文件(以 ,v结尾),不能包含字符“0d”。比如二进制文件中很多包含字符0d。文本文件也可能包含0d,但大部分包含0d的文本文件,很有可能是由于不当的跨平台使用cvs造成的。
      服务器端的这种处理方法很好的适应了跨平台特性。亦即unix端服务器的repository 可以直接拷贝到windows端的repository中,vice versa。

      警告    
      在将unix维护的服务器端,移植到windows端,我曾经遇到一个百思不得其解的问题。后来发现是由于winzip的一个古怪的缺省设置造成的:“tar file smart cr/lf conversion”!

    * unix 客户端

      unix上的客户端文本原样存储保存到服务器端,0d作为普通字符随文件checkin,因为 unix的默认文件换行符为 “0a”。
      但是如果unix端的文件因为某种原因,如使用samba共享unix的文件系统,用windows 工具编辑,导致文件换行符变为 crlf,则在 unix 下 checkin,会将 od 随文件checkin。

    * windows 客户端

      windows上的客户端,具有智能crlt转换的功能,即:将文本文件中的crlf转换为lf,提交到服务器端,又可以将服务器端的lf转换为crlf。
      windows上的客户端,具有智能crlt转换的功能,即:将文本文件中的crlf转换为lf,提交到服务器端,又可以将服务器端的lf转换为crlf。但是如果服务器端是crlf,则转换为crcrlf。

    * wincvs 客户端的双重身份

      wincvs 可以兼具 windows和unix客户端的特性。当选择选项: admin-->preferences-->globals-->checkout text files with the unix lf。则成为类似 unix 客户端的功能。
      强烈建议不要选择该选项,让一个工具做它不相称的工作,出问题是迟早的事情。

    * cygwin 的cvs客户端

      cygwin的客户端相当于 unix 的客户端。
      由于运行在windows上,可能经常提交带有 crlf 的文本文件,因此我常常用windows的客户端程序替换调 cygwin 下自带的 cvs。

    * crlf引起的一团糟
       client                  action               server
      ============================================================
         lf             -- unix checkin -->           lf
        crlf           <-- windows checkout --        lf
        crlf            -- unix checkin -->          crlf
       crcrlf          <-- windows checkout --       crlf

提示    要防止混乱切记不要用unix的cvs客户端(包括cygwin的cvs客户端)checkin dos格式的文件。

来源:
阅读(3026) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图