修改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中进行编辑,文档内容变化时,左侧项目文件列表中的文件名颜色以及右侧编辑区域标签卡的文件 ...
随机推荐
- 一款开源Office软件---Lotus Symphony在Linux系统下的应用
点击下载观看试用录像 Linux系统下的办公软件有OpenOffice.永中Office.红旗Red Office.金山Wps Office及StarOffice等,今天我为大家介绍IBM推进军O ...
- javafx DropShadow
public class EffectTest extends Application { DropShadow shadow = new DropShadow(); public static vo ...
- 【Henu ACM Round #12 D】 Longest Subsequence
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 记录每个数字出现的次数cnt[x]; (大于1e6的直接忽略) 另外用一个数组z[1e6] 然后for枚举x 第二层for枚举x的倍 ...
- PatentTips - Control register access virtualization performance improvement
BACKGROUND OF THE INVENTION A conventional virtual-machine monitor (VMM) typically runs on a compute ...
- 实战c++中的vector系列--copy set to vector(别混淆了reserve和resize)
stl算法中有个copy函数.我们能够轻松的写出这种代码: #include <iostream> #include <algorithm> #include <vect ...
- golang filepath.Walk遍历指定目录下的所有文件
package main import ( "fmt" "os" "path/filepath" ) func walkFunc(path ...
- Non-resolvable parent POM for **: Could not find artifact **
注意查看这句: 原因是本地仓库缺少了easybuy-parent:pom:0.0.1-SNAPSHOT, 原来是忘记了将父工程打包到本地仓库 ,运行聚合工程前记得先将依赖的工程都先Maven inst ...
- SpringCloud核心教程 | 第一篇: 使用Intellij中的Spring Initializr来快速构建Spring Cloud工程
spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运行环 ...
- 【hdu 1083】Courses
[Link]:http://acm.hdu.edu.cn/showproblem.php?pid=1083 [Description] 有p门的课,每门课都有若干学生,现在要为每个课程分配一名课代表, ...
- HttpClient的基本使用
HttpClient的基本使用 前言 HttpClient是Apache提供的一个用于在Java中处理HTTP请求.响应操作的工具,由于JDK自带的API对HTTP协议的支持不是很友好,使用起来也不是 ...