问题提出:
我们在用svn管理代码时候,有时候我们需要在java代码里添加上该文件的版本信息、最后修改日期、最后修改用户等信息。
而这个又不能每次把文件提交到svn上时,更改这些信息。
解决方法:
幸好svn有一个自动属性的功能,即给给该文件添加一些属性,比如svn:keywords,添加该文件的关键字,这样在该文件内容里就会识别该关键字,而把关键字的地方替换成svn服务器上的相应属性。
比如:
- 我现在在svn控制目录下创建一个文件”自动属性.txt"
- 往里面添加内容为:
txt代码
- 把该文件添加到svn版本控制中(add,commit),此时txt中的内容还是:
txt代码
- 点击自动属性.txt的属性 ,弹出属性的对话框。在subversion选项卡上选择properties,添加一个svn:keywords属性:LastChangedDate LastChangedRevision
Id Date 各属性之间用空格隔开。
- 把“自动属性.txt”再commit到服务上去,这时“自动属性.txt”的文件内容就添加了svn服务器上的相应属性(注“自动属性.txt”的的编码必须为utf-8,否则中文会出现乱码):
txt代码
- $Id: 自动属性.txt 2543 2007-12-28 06:52:06Z chen_xk $
- $Date: 2007-12-28 14:52:06 +0800 (星期五, 28 十二月 2007) $
- 但是这样必须每次要往svn服务器添加一个文件时,都要设置该文件的属性,有没有一个全部设置的方法,后来终于发现在一个方法: 修改C:\Documents and Settings\Administrator\Application Data\Subversion\config文件,Administrator是windows用户名,添加(注:#表示注释,该把#去掉):
txt代码
- enable-auto-props = yes
- [auto-props]
- *.java = svn:keywords=Date Rev Id
- *.txt = svn:keywords=LastChangedDate LastChangedRevision
- 这样就大功告成。
分享到:
相关推荐
### SVN自动同步备份环境搭建知识点 #### 一、SVN自动同步备份概念 - **主版本库(Master Repository)**:指活动的读/写版本库,是日常开发的主要存储库。 - **镜像版本库(Mirror Repository)**:与主版本库...
具体操作是在系统属性的环境变量设置中,新建一个变量名为Path,值为F:\server\svn\bin。 ### 版本库的创建与配置 版本库是SVN服务的核心,它用于存储所有项目文件的各个版本。创建版本库有两种方式: 1. **单...
### SVN服务用svnsync命令实现双机热备 #### 概述 在软件开发过程中,版本控制系统(Version Control System, VCS)是必不可少的工具之一。Subversion(SVN)作为一款广受欢迎的集中式版本控制系统,在企业级项目...
3. **自动提交**:SVN支持事务性的提交,即要么全部提交成功,要么完全不提交,从而避免了部分提交带来的问题。 4. **纳入版本控制的元数据**:每个文件和目录都可以关联一组属性关键字和对应的值,这些元数据同样...
- **原因分析**:源库在目标库上加了svn:sync-lock属性,正常情况下会在同步完成后释放锁。但如果同步过程中断,则锁不会被自动释放,导致再次同步时无法获取锁。 - **解决方法**:在从库中执行`svn propdel svn:...
总结,SVN 1.6.17版本控制为团队协作提供了强大而稳定的平台,通过理解并熟练运用其核心概念和操作,可以有效管理和跟踪项目中的文件变更,促进高效开发。而与各种工具的集成则进一步提升了开发效率和协作体验。
- 创建预修改属性脚本 `pre-revprop-change` 并设置权限:`cp pre-revprop-change.tmpl pre-revprop-change`,然后执行 `chmod 755 pre-revprop-change`。 - 修改 `pre-revprop-change` 文件内容为:`echo ...
- **操作属性**:使用`svn propset`、`svn propdel`等命令来设置或删除属性。 - **属性在工作流中的应用**:例如,可以使用属性来标记文件的状态,比如`reviewed`。 #### 四、总结 Subversion是一款功能强大的版本...
通过在主项目工作区的目录上设置`svn:externals`属性,可以指定公用模块的URL和版本号。这样,当团队成员执行`update`时,公用模块会自动同步到指定版本,且主项目的提交不会影响公用模块。为了防止误修改,建议管理...
总结来说,Ant+JUnit+Svn的结合可以实现从版本控制仓库自动获取最新代码,编译项目,运行单元测试,生成测试报告,并在必要时发送邮件通知的完整自动化流程。这种自动化测试流程对于持续集成和提高开发效率具有重要...
根据提供的文件标题、描述、标签以及部分内容,我们可以总结并生成一系列与开发必备工具相关的知识点,主要聚焦于JDK、SVN、Eclipse等核心软件及其在软件开发中的应用。 ### JDK(Java Development Kit) #### 1. ...
- **非SCM专属性**:与专门针对软件配置管理(SCM)设计的系统不同,SVN更加通用,适用于多类型文件的版本管理。 #### 版本库(Repository)的核心角色 版本库是Subversion的核心组成部分,存储着所有受控文件的...
* 创建仓库文件,设置文件属性,复制访问路径 四、SVN 服务器管理 * 使用 VisualSVN 服务器管理器控制台管理服务器 * 配置服务器设置,包括网络设置、身份验证设置、SSL 证书等 * 管理存储库,包括创建、删除、...
总结而言,SVN作为一款成熟的版本控制系统,其丰富的功能和灵活的架构设计,为软件开发团队提供了强大的版本管理和协作支持。无论是个人开发者还是大型项目团队,SVN都能有效地满足其版本控制需求,提高开发效率和...
- **自动属性设置**:SVN 支持自动为文件或目录设置特定属性的功能,例如根据文件扩展名自动设置特定属性。 #### 总结 通过以上介绍,我们可以看到 Subversion 不仅提供了基础的版本控制功能,还具备一系列高级...
标题中的“删除SVN无用信息”指的是在使用Subversion(SVN)版本控制系统时,可能会在项目中积累一些无用或不再需要的SVN元数据,如版本库中的临时文件、日志、属性信息等。这些信息可能占用硬盘空间,同时也使版本...