I can believe fly.

Thursday, April 2, 2009

SVN属性介绍

tsvn:logtemplate
1.  说明:SVN修改日志模板设置,即设置提交时填写修改日志的模板格式.
2.  例子:符号 [修改的目录或单个文件] 详细说明
3.  缺陷: 定制了该模板属性,在提交的对话框中会显示该模板,如果有人不愿意按此格式写,加上日志不能为空,则就等于方便别人将模板的信息作为修改日志说明提交了.
4.  解决: 想要解决这个缺陷,可以考虑在hooks加入检测,如果日志信息与模板相同,此不能提交.

svn:keywords 
1.  说明:SVN关健字设置即在文件里如果出现指定$关键字$,则会被替换成实际值.
2.  例子:以下是针对SVN提供的几个关键字
a. aa.txt文件的头内容
$Rev::               $:  Revision of last commit
$Author::            $:  Author of last commit
$Date::              $:  Date of last commit
b.  属性设置
格式一: Rev Author Date   # 你可以让所有文件都生效
格式二: Rev Author Date *.txt #你可以指定生效的文件类型
注意: 假设是通过TortoiseSVN工具设置,则别忘了打勾Apply property recursively
因为该属性是针对文件而不是文件夹且设置格式:
c.  属性设置完提交查看aa.txt
$Rev:: 1058          $:  Revision of last commit
$Author:: ysl        $:  Author of last commit
$Date:: 2009-04-03 1#$:  Date of last commit
注意: 由于$Date::              $: 我们在文件中写上关键字加上对应的空格,等于是有固定的长度,所有过长的数据会被截断.

bugtraq:url  
1.  说明: BUG号链接之地址设置
2.  例子: http://bug系统地址?IssueID=%BUGID%
bugtraq:label
1.  说明: BUG号链接之标签设置,即会在提交对话框上增加标签组件的名称,默认Bug-ID / Issue-Nr:
2.  例子: BugID:

bugtraq:message
1.  说明: BUG号链接之信息设置,即会在修改日志里追加上对应的信息.其中%BUGID%值会替换成相应的值.
2.  例子: 响应处理bug:%BUGID%

bug其它设置
bugtraq:warnifnoissue BUG号链接之警告设置,
bugtraq:append 默认true,这个属性定义了IssueID是追加到日志信息的末尾(true),还是插入到日志信息的开始(false)
bugtraq:number 默认true,只能输入数字且逗号隔开多值.
bugtraq:logregex 设置正则表达式,自动从修改日志信自里获取.不增加单独输入框.

Tuesday, March 24, 2009

linux's smb配置

引言:自己动手才是王道,下面是简单的配置,贴出来作个记录

1. 安装smb
# /etc/init.d/smb start 
启动后用如下命令查看samba服务器所用的端口,并在防火墙中把相应的端口打开:
# netstat -tlnp |grep smb

2. 编辑配置文件
# vi /etc/samba/smb.conf
{
smb的配置信息(基本参考)
[global]
workgroup = ysl [工作组名称]
netbios name = yusulian  [主机名称]
server string = Samba Server Version %v [smb服务说明信息]
security = user [级别可以是user即需要用户才能访问;share是不用账号直接可以访问的]
display charset = cp936 [编码设置,这是为了win机子访问时,正常显示中文目录而设置]
unix charset = cp936
dos charset = cp936
[smbdir] [共享目录,外部访问的根目录]
comment = smb dir test [共享目录说明]
path = /data/smb/smbdir [共享目录绝对路径]
read list = test [只读权限账号列表,逗号隔开]
write list = admin [可写权限账号列表,逗号隔开]
create mask = 0775 
directory mask = 0775 
writable = yes 

3. 同步系统账号
# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
# vi /etc/samba/smbpasswd  (去掉多余的账号)

4. 修改smb密码(smb虽然用了系统账号,但不共用密码,因此需要作下调整)
# smbpasswd 账号   //为系统用户设置smb口令
5.smb服务重启
# service smb restart 

ps.其它补充说明
1. smb三种权限:read list,write list ,admin

Wednesday, March 11, 2009

linux下执行mount问题

  上回在linux下执行mount,出现中文目录问题,后面加了iocharset=cp963参数搞定,命令是:
sudo mount -t cifs -o iocharset=cp963,username=user,password=pwd //192.168.0.0/Backup /data/mnt/samba
  今天继续执行copy动作:cp -rf /data/mnt/samba/src /data/dst,却出现如下错误:
cp: cannot stat `/data/mnt/samba/src/\324\317\302\311\316\350台.bmp': No such file or directory
  疑问:/src目录下有5个中文名称的文件,为什么有四个可以正常copy到dst目录下,只有一个怎么也不过去.

  后面,先umount掉,继续重新执行:
sudo mount -t cifs -o codepage=936,iocharset=uft8,username=user,password=pwd //192.168.0.0/Backup /data/mnt/samba
  这时候来查看中文目录,显示全变成了乱码了,就把iocharset=uft8改为iocharset=gb2312来执行
显示是正常的,但copy的问题还是存在着.

.........中间让朋友帮上去服务器分析一下,他查了一下那目录是什么编码..................
  后面发现在重新执行以上任何mount的动作,都成功不了,总是报如下两种错误:
mount error 20 = Not a directory
(网上资料是说可以执行echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled,好像在这边没效果)
mount error 79 = Can not access a needed shared library
(这个问题更是一头雾水)

继续寻找原因,朋友试着将-t cifs改为-t smbfs,命令:
sudo mount -t smbfs -o iocharset=cp963,username=user,password=pwd //192.168.0.0/Backup /data/mnt/samba
成功执行,但是无论iocharset=cp963采用什么编码,都显示乱码,根本无法copy操作

补充:
1.重新换个目标挂载目录/data/mnt/samba改为/data/mnt/test,问题还是存在
2.执行sudo reboot,重启电脑,也没有解决

Tuesday, March 10, 2009

英语集锦

hello ,everyone,long time no see

your netname must amend
Unified format:area-selfname

i am working now.
me too.

happy to work
work and is being joyful!
Good morning. Have a nice day!  

090307每日英语

一:基础句型


以下5个句子所有人有要操练,英语好的人不要小看它,你懂了未必就很熟悉,成功其实就是简单事情重复做,力争做得好做的精。


1. To be careful! 一定要小心!

2. Do me a favor? 帮个忙,好吗?

3. Help yourself. 别客气。

4. I'm on a diet. 我在节食。

5. Keep in Touch. 保持联络。


二:成语或谚语


以下是一句谚语


Rome was not built in a day 冰冻三尺,非一日之寒.


三.提高型。


以下5句是属于提高型的,有能力的可以学,不要求人人都学,初学者可以先不学。


1. He made his way through the forest. 他设法穿过了森林。

2. He suggests you leave here at once. 他建议你立刻离开这儿。

3. He was married to a friend of mine. 他和我的一个朋友结了婚。

4. He will blame you for carelessness. 他会责备你的粗心大意。

5. I can give you a number of excuses. 我可以给你说出很多韵理由。


贴了一篇,具体的还是给地址

http://qun.qq.com/1.1/77936032#bbs/

Thursday, March 5, 2009

python编码知识

事件
file1[utf-8]->file2[gbk],从file1读取的数据类型type(数据)是str类型
这时候,如果要将该数据以gbk编码写入file2,则需要作转换:
        var = unicode(var, 'uft-8').encode('gbk')
相反的需求:
        var = unicode(var, 'gbk').encode('uft-8') 
你也可以写个unicode检测信息
        # 检测,如果var不是unicode,则相应转换
        if not isinstance( var, unicode): 
            try:
                var = var. decode ("utf-8", 'ignore')
            except:
                var = var. decode ("gbk", 'ignore')
问题现象
(编码转换过程中经常会有以下的错误提示)
Errors: 'ascii' codec can't encode characters in position 26-27: ordinal not in range(128)
Errors: 'gbk' codec can't encode character u'\u036c' in position 26: illegal multibyte sequence
知识点
decode 解码,将指定的编码转换为unicode
格式:decode([encoding], [errors='strict']),可以用第二个参数控制错误处理的策略,默认的参数就是strict,代表遇到非法字符时抛出异常;
如果设置为ignore,则会忽略非法字符;
如果设置为replace,则会用?取代非法字符;
如果设置为xmlcharrefreplace,则使用XML的字符引用。
例子:
var. decode ("gbk") var为gbk编码,转为unicode. (同等式=unicode(var,"gbk"))
var. decode ("gbk", 'ignore') var为gbk编码,转为unicode. 忽略非法字符
encode 编码,将unicode解为指定的编码
var.encode('gbk')
如果两个编码需要转换,则:unicode(a, 'gbk').encode('utf-8')
先将gbk编码转为unicode,然后在转为utf-8
关键
你要清楚接收的数据原编码是啥,最终又是以什么目标编码存储。]
实例
命令行:cmd = E:\WorkDir\yusulian\2009\ver_manage\dirrepo\Case2\DubaRelease\2009\copysharedata.bat \\192.168.11.22 ysl ysl 版本\公测 20081104.13586 standard\beta
执行: os.system(cmd)
出错:
   File "getdata.py", line 61, in getdata
    os.system(cmd)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 114-117:
解决:
先把cmd转为unicode
if not isinstance( cmd, unicode): 
    try:
        cmd = cmd. decode ("utf-8")
    except:
        cmd = cmd. decode ("gbk")

执行的时候, 把cmd转为gbk/utf-8编码
os.system ( cmd. encode("gbk") )
或者
os.system ( cmd. encode("utf-8") )
相关资讯


The Regulator工具介绍

  今天不小心又用上了正则表达式,记得有段时间用得挺起劲,现都差点把它给忘了。
也记得,之前一直使用一个免安装的解析正则表达式的工具,现找不到了;然后不小心就装上RegulatorSetup.msi,这个有点复杂。引用下网上的介绍“The Regulator 就是其中的佼佼者(被列入MSDN上的知名文章《Ten Must-Have Tools Every Developer Should Download Now》)。The Regulator官方网站http://royo.is-a-geek.com/iserializable/regulator/”
   下面简单说下:



ps:小道消息,要学习正则表达式可以到网上找份资料,名叫“正则表达式30分钟入门教程.mht”