修改SVN中文件的可执行属性
博文来自下面路径,转载请注明原出处:
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中文件的可执行属性的更多相关文章
- 使用jquery修改css中带有!important的样式属性
当CSS中含有!important的样式属性时,普通的修改方式是会出现失败的.如下: <div class="test">使用jquery修改css中带有!import ...
- 如何利用 jQuery 修改 css 中带有 !important 的样式属性?
使用 jQuery 修改 css 中带有 !important 的样式属性 外部样式为: div.test { width:auto !important; overflow:auto !import ...
- SVNKIT的low api应用之修改库中文件内容(File modification)
最近在做一个仓库管理系统,架构在svn之上.要求每一项操作要记录在log文件中,弄了很久起初感觉无法向库中的文本文件添加东西,就是修改库中的文本文件.于是采用了一个很笨的办法: 现将库中的log ...
- 如何修改SVN中的用户名和密码
删除掉C:\Users\Administrator\Application Data\Subversion\auth\svn.simple文件夹下的文件即可.再次访问时,会弹出要求输入用户名和密码. ...
- setData方法修改data中对象或数组的属性值(小程序开发)
今日在开发小程序地图的过程中,遇到一个问题,困扰了我一会 业务如下: 困扰点: 我不知道如何修改data中数组包含的对象是如何修改的:期初的想法还是想共享上面的数据,想的太简单了 正确的解决步骤: 直 ...
- [转] eclipse SVN中文件修改后图标不变黑星解决
原文地址:http://blog.csdn.net/luwei42768/article/details/39225641 版权声明:本文为博主原创文章,未经博主允许不得转载. 如上图, 如果文件修改 ...
- Linux修改文件permission可执行属性
列出文件属性 ls -al 修改文件属性为可读.可写 sudo chmod -c 777 <your file name>
- 以下内容对于灵活修改textField中文本以及占位文本属性进行了完整的封装,加入项目中可以节约开发时间。
textField对占位文本设置属性有限,在项目中需要改变占位文本的属性以及位置,需要自己对控件进行封装 封装方法如下: 在LDTextField.m 文件中: #import <UIKit/U ...
- 怎么样修改PHPStorm中文件修改后标签和文件名的颜色与背景色
自从最近在PHPstrom里引入Git,并且使用MONOKAI_SUBLIME主题之后 ,当文件在PHPstrom中进行编辑,文档内容变化时,左侧项目文件列表中的文件名颜色以及右侧编辑区域标签卡的文件 ...
随机推荐
- 利用日志文件恢复MYSQL数据库
利用日志文件恢复MYSQL数据库 650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic ...
- golang-nw
http://godoc.org/github.com/lonnc/golang-nw golang webkit golang walk
- C# 开发 —— 数组类对象接口
数组类型是从抽象基类 Array 派生的引用类型,通过new运算符创建数组并将数组元素初始化为他们的默认值 一维数组 type[] arrayname; 数组的长度不是声明的一部分,而且数组必须在访问 ...
- LuoguP2754 [CTSC1999]家园(分层图,最大流)
题目背景 none! 题目描述 由于人类对自然资源的消耗,人们意识到大约在 2300 年之后,地球就不能再居住了.于是在月球上建立了新的绿地,以便在需要时移民.令人意想不到的是,2177 年冬由于未知 ...
- LuoguP4016 负载平衡问题(费用流)
题目描述 G 公司有 n 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等.如何用最少搬运量可以使 n 个仓库的库存数量相同.搬运货物时,只能在相邻的仓库之间搬运. 输入输出格式 输入格式: ...
- GetInvocationList 委托链表
最近发现C#程序初始化时在构造函数中,偶尔出现事件注册不成功.后查资料发现有GetInvocationList 这么一个获取类中的委托链表的函数, 使用方法如下: 1.在需委托的类(Class1)中增 ...
- BZOJ 1027 JSOI2007 合金 计算几何+Floyd
题目大意:给定一些合金,选择最少的合金,使这些合金能够按比例合成要求的合金 首先这题的想法特别奇异 看这题干怎么会想到计算几何 并且计算几何又怎么会跟Floyd挂边 好强大 首先因为a+b+c=1 所 ...
- WINDOWS 安装 M2Crypto for Python2.7
WINDOWS 安装 M2Crypto for Python2.7运行环境 WIN8.1 + Python2.7 + VS2008(Microsoft Visual C++ 9.0) VS2008 可 ...
- 【代码】Django学习笔记
一些设置setting.py DEBUG = True ALLOWED_HOSTS = ['*'] DATABASES = { 'default': { 'ENGINE': 'django.db.ba ...
- 【习题 7-8 UVA-12107】Digit Puzzle
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 迭代加深搜索. 枚举最大层数.(也即改变的数字个数 然后枚举第一个改哪个数字,第二个改哪个数字.. 一定要注意字典序问题. 每次优先 ...