博文来自下面路径,转载请注明原出处:

http://bigwhite.blogbus.com/logs/74568031.html

修改SVN中文件的可执行属性 - [开源世界]

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://bigwhite.blogbus.com/logs/74568031.html

今天做了一些项目版本库的搭建工作,主要是将相关模块和库目录建立好,将Makefile编写好,并添加到SVN库中。

工作接近尾声时,无意中发现提交到SVN库中的文件居然都带着可执行权限(以下称x属性),如:
-rwxr-xr-x  1 tonybai tonybai    203 2010-04-21 17:26 Makefile*
这着实让人觉得别扭!Svn居然记录了文件的权限信息,至少我以前还没有关注过这点。

摆在面前有两件问题要搞清楚:
1、我在本地建立的文本文件为何带上了可执行的权限?
2、如何将SVN库中文件的可执行权限属性去掉?

我检查了一下我的Ubuntu Shell设置,没有显式设置umask,但是在/etc/profile中Bash默认设置了"umask 022",这样我新建的文件应该具有-rw-r--r--的权限属性才对,为什么变成了-rwxr-xr-x了呢? 回想了一下,Makefile是我从其他项目的本地代码目录下Copy过来的,难道这个项目的代码文件原本就携带了可执行权限吗?打开那个本地目录,ls -l查看了一下,果然所有文本文件都是带有x权限的。在这个目录下touch了一个新文件,居然也是携带x权限的!回到“主文件夹”,又尝试touch了一个文件,这个文件却不带有x权限!难道与分区有关系?那个项目的本地代码是放在Windows的FAT32分区下的,这个分区是在Ubuntu启动后通过点击分区磁盘符后才mount上的。这个问题我没有继续深挖,但原因八九不离十就是Ubuntu在挂接这些分区时传递并采用的umask的值与Bash默认配置的值不同。

事已至此,那如何“亡羊补牢”将SVN库中存储的文件的x属性去掉呢? SVN手册给了我们一些线索!手册中谈到通过设置svn:executable可以保持文件的x属性,例如:如果想给SVN库中的某个文件加上x属性,可使用:
svn propset svn:executable on test.c
执行结果提示:设置属性 “svn:executable” 于 “test.c”

查看一下文件属性:
-rwxr-xr-x  1 tonybai tonybai   50 2010-09-08 15:44 test.c*

本地文件已经被加上了x属性,svn status查看一下,发现svn认为test.c已经发生了改变。svn commit后,test.c就会被加上executable属性,之后你无论在哪里checkout文件test.c,你都会发现test.c有着x权限。

如何删除x权限呢?没有细致查看手册之前,我猜想应该执行: "svn propset svn:executable off test.c",结果svn给出提示:
svn:  警告: 使用 “svn propdel” 关闭属性 svn:executable;
设置属性为 “off” 不会关闭它。

svn提示我使用svn propdel,再查看一下手册,的确svn propdel是用于删除各种prop的正确命令,执行:svn propdel svn:executable test.c
提示:删除属性 “svn:executable” 于 “test.c”。

使用ls -l查看,test.c的x属性已经被删除,如果想删除svn server端的x属性,还需进行一次svn commit。

修改SVN中文件的可执行属性的更多相关文章

  1. 使用jquery修改css中带有!important的样式属性

    当CSS中含有!important的样式属性时,普通的修改方式是会出现失败的.如下: <div class="test">使用jquery修改css中带有!import ...

  2. 如何利用 jQuery 修改 css 中带有 !important 的样式属性?

    使用 jQuery 修改 css 中带有 !important 的样式属性 外部样式为: div.test { width:auto !important; overflow:auto !import ...

  3. SVNKIT的low api应用之修改库中文件内容(File modification)

    最近在做一个仓库管理系统,架构在svn之上.要求每一项操作要记录在log文件中,弄了很久起初感觉无法向库中的文本文件添加东西,就是修改库中的文本文件.于是采用了一个很笨的办法:    现将库中的log ...

  4. 如何修改SVN中的用户名和密码

    删除掉C:\Users\Administrator\Application Data\Subversion\auth\svn.simple文件夹下的文件即可.再次访问时,会弹出要求输入用户名和密码. ...

  5. setData方法修改data中对象或数组的属性值(小程序开发)

    今日在开发小程序地图的过程中,遇到一个问题,困扰了我一会 业务如下: 困扰点: 我不知道如何修改data中数组包含的对象是如何修改的:期初的想法还是想共享上面的数据,想的太简单了 正确的解决步骤: 直 ...

  6. [转] eclipse SVN中文件修改后图标不变黑星解决

    原文地址:http://blog.csdn.net/luwei42768/article/details/39225641 版权声明:本文为博主原创文章,未经博主允许不得转载. 如上图, 如果文件修改 ...

  7. Linux修改文件permission可执行属性

    列出文件属性 ls -al 修改文件属性为可读.可写 sudo chmod -c 777 <your file name>

  8. 以下内容对于灵活修改textField中文本以及占位文本属性进行了完整的封装,加入项目中可以节约开发时间。

    textField对占位文本设置属性有限,在项目中需要改变占位文本的属性以及位置,需要自己对控件进行封装 封装方法如下: 在LDTextField.m 文件中: #import <UIKit/U ...

  9. 怎么样修改PHPStorm中文件修改后标签和文件名的颜色与背景色

    自从最近在PHPstrom里引入Git,并且使用MONOKAI_SUBLIME主题之后 ,当文件在PHPstrom中进行编辑,文档内容变化时,左侧项目文件列表中的文件名颜色以及右侧编辑区域标签卡的文件 ...

随机推荐

  1. 企业实战之部署Solarwinds Network八部众

    企业实战之部署Solarwinds Network 网管系统八部众 Orion Network Performance Monitor是全面的带宽性能监控和故障管理软件,能监控并收集来自路由器.交换机 ...

  2. LuoguP3254 圆桌问题(最大流)

    题目描述 假设有来自m 个不同单位的代表参加一次国际会议.每个单位的代表数分别为ri (i =1,2,……,m). 会议餐厅共有n 张餐桌,每张餐桌可容纳ci (i =1,2,……,n)个代表就餐. ...

  3. HDU——T 1711 Number Sequence

    http://acm.hdu.edu.cn/showproblem.php?pid=1711 Time Limit: 10000/5000 MS (Java/Others)    Memory Lim ...

  4. 安卓View的缓冲机制

    View组件显示的内容能够通过cache机制保存为bitmap, 主要有下面方法: void  setDrawingCacheEnabled(boolean flag),  Bitmap  getDr ...

  5. 1.18 Python基础知识 - Python内置函数

    官方地址:https://docs.python.org/3.5/library/functions.html abs(x): 返回数字的绝对值 all(iterable): 如果迭代器的所有元素都为 ...

  6. HttpUtility.UrlEncode 方法 (String) 对 URL 字符串进行编码 NET Framework 4.6 and 4.5

    对 URL 字符串进行编码. 这些方法重载可用于对整个 URL(包括查询字符串值)进行编码. 要编码或解码 Web 应用程序之外的值,请使用 WebUtility 类. 重载此成员.有关此成员的完整信 ...

  7. Linux下软件安装

    1.apt-get安装 自动下载依赖包.全程自动安装.但不能指定安装的位置 xiaohuang@xiaohuang-virtual-machine:~$ sudo apt-get install sl ...

  8. 我的第一个JS组件-跨浏览器JS调试工具

    武汉九天鸟-p2p网贷系统开发-互联网应用软件开发 公司官网:http://jiutianniao.com  社交问答:http://ask.jiutianniao.com 最近,在看公司一个JS大牛 ...

  9. CISP/CISA 每日一题 12

    CISA 每日一题(答) 支付系统模式有哪些: 电子现金模式:支付者不必在线,无条件不可追溯性 电子支票模式:支付者不必在线,涉及个人隐私 电子转帐模式:收款人不必在线 图象处理中,应该有适当的___ ...

  10. [React] Call setState with null to Avoid Triggering an Update in React 16

    Sometimes it’s desired to decide within an updater function if an update to re-render should be trig ...