公司有三部机,分别为SIT\UAT\PRD,对应的是系统测试,用户测试与生机机,一般流程是系统测试通过后交付用户测试,用户测试通过后提交至生产机.如果每次用户测试不通过,就得从SIT迭代开始,如此下来一天可能就会产生多个uat版本,如果每次都得打标签,这将是一件非常冗长沉闷的事.例如一天下来会有test4uat_20110123_1\test4uat_20110123_2..为此,我写了一个脚本,用于代替上述纷繁的操作.
#!/bin/sh
today=`date +%Y%m%d`
for var in 1 2 3 4 5 6 7 8 9; do
tag=`svn list http://192.168.86.10/svn/gmportal/tags/ | grep "test4uat_${today}_${var}"`
if [ -n "$tag" ]; then
echo "directory exists: test4uat_${today}_${var}"
else echo `svn copy http://192.168.86.10/svn/gmportal/tags/test4st http://192.168.86.10/svn/gmportal/tags/test4uat_${today}_${var}
-m "tag for backup uat"`
break
fi
done
echo `svn copy -rHEAD http://192.168.86.10/svn/gmportal/tags/test4st http://192.168.86.10/svn/gmportal/tags/test4uat -m "new uat tag"`
期间学到几个命令,备份一下往有有迹可循:
显示20110123:date +%Y%m%d
显示110123:date +%y%m%d
显示当前日期前N天的年月日:date +%Y%m%d -d "`date +%Y%m%d` -N days"
分享到:
相关推荐
6. **Admintools**:在提供的文件名"admintools"中,我们可以推测这可能是与SVN相关的管理工具或脚本。这些工具可能帮助管理员更高效地管理和维护SVN仓库,包括创建用户、设置权限、监控仓库活动等。 综上所述,...
6. **高级特性**: 探索 SVN 的高级特性,如钩子脚本(Hooks),用于自动化执行某些任务,如自动构建、邮件通知等。 7. **版本升级**: 了解如何从旧版本的 SVN 升级到新版本,以及升级过程中需要注意的问题。 通过 ...
3. **钩子脚本**: SVN 服务端支持预定义或自定义的脚本(如 Python 或 Shell 脚本),在提交、更新等事件触发时执行,实现自动化处理或验证。 4. **SSL/TLS 加密**: 为了保护数据安全,SVN 通信可以通过 SSL 或 TLS...
5. 权限管理:设置用户和组的访问权限,可以通过SVN钩子脚本实现更复杂的逻辑。 **SVN客户端** 客户端是开发者用来与SVN服务端交互的工具,包括命令行工具和图形界面工具。命令行工具(如svn)适用于快速操作和自动...
- **Branch/Tag**:分支用于并行开发,标签用于标记特定版本,这两个概念是版本控制中的重要组成部分。 3. **SVN 版本管理**: - SVN 支持版本历史查看,你可以随时查看文件或目录的历史版本,回退到任何历史状态...
5. **标签(Tag)**:在特定版本上打标签,可以方便地标识里程碑或发布版本,方便后期回溯。 6. **命令行工具与GUI客户端**:除了TortoiseSVN这样的图形界面客户端,SVN还提供命令行工具,便于自动化脚本和非...
华为SVNClient还提供了其他高级功能,如分支管理、标签(Tag)机制、版本回溯等,以满足不同开发需求。同时,它的日志查看、权限管理、钩子脚本等功能也加强了企业级的版本控制管理。 总的来说,mac华为SVNClient是...
7. **Branch and Tag**(分支与标签):在大型项目中,SVN允许创建分支进行特性开发或修复bug,而标签则用于标记项目的特定里程碑或发布版本。 8. **Repository Browser**(仓库浏览器):TortoiseSVN还提供了仓库...
2. hooks 脚本:版本库中的 hooks 目录包含一系列脚本,可以在特定事件(如提交)发生时执行自动化任务。 3. 版本库备份:定期备份版本库以防止数据丢失,可使用 `svnadmin dump` 和 `svnadmin load` 命令进行备份...
- **钩子脚本(Hooks)**:在版本库服务器端设置自动执行的脚本,可以用于权限验证、代码质量检查等。 **5. 小乌龟SVN与其他工具的集成** - **IDE集成**:可以与Visual Studio、Eclipse等集成,直接在开发环境中...
- **钩子脚本**:服务器端的预提交和后提交脚本可以执行自动化任务,如代码格式检查或自动构建。 - **备份与恢复**:定期备份版本库,以防止数据丢失;当出现问题时,可以通过备份恢复到特定状态。 **5. SVN与其他...
1. **钩子脚本**: SVN支持预定义的服务器端钩子脚本,如pre-commit和post-commit,用于执行自动化的任务,如代码格式检查或构建。 2. **忽略文件**: 可以在`.svnignore`文件中列出不想纳入版本控制的文件模式。 3....
6. **标签(Tag)**:使用`svn copy`创建版本标签,代表某个特定时间点的代码状态。 7. **忽略文件**:通过创建`.svnignore`文件,可以设定SVN忽略某些特定类型的文件或目录。 8. **权限管理**:SVN支持基于用户和...
11. **命令行工具**:除了图形客户端,SVN还提供了一套全面的命令行工具,如`svn add`、`svn delete`、`svn diff`等,适合高级用户和自动化脚本。 在实际开发中,掌握SVN的基本操作是至关重要的。例如,`svn co`...
同时,通过hooks脚本,可以实现版本库操作的自动化处理,如自动构建、发送通知等。 总之,Subversion是一个强大且易用的版本控制系统,结合TortoiseSVN和Eclipse等工具,可以高效地管理软件开发过程中的代码版本,...
7. **标签(Tag)**:为特定版本创建的一个标识,常用于标记重要的里程碑或发布版本。 8. **分支(Branch)**:从主分支创建的独立开发线,允许并行开发而不会影响主线。 **二、SVN常用命令** 1. **svn checkout**...
- **标签(Tag)和分支(Branch)**:通过创建标签来标记特定版本,分支则用于隔离开发,例如特性开发或修复。 - **冲突解决**:当多人同时修改同一部分代码时,可能出现冲突,需要手动解决并重新提交。 - **权限...
10. **钩子脚本(Hooks)**:服务器端的自动化脚本,用于在特定事件(如提交)发生时执行操作,如邮件通知、自动构建等。 了解并熟练使用这些SVN工具和概念,对于协同开发和项目管理至关重要。它们能帮助团队有效地...
- **Branch/Tag**:创建分支进行开发,打标签用于标记重要版本。 5. **SVN配置** - **用户权限**:通过SVN的访问控制列表(ACLs),可以限制用户对仓库的访问权限。 - **钩子脚本**:仓库中的预定义脚本,可以在...
6. **分支与标记(Tag)**:SVN支持分支和标记功能,分支用于并行开发,而标记用于标记项目的关键里程碑。这样,团队可以在不影响主线开发的情况下进行实验性开发,同时保证关键版本的可追溯性。 7. **冲突解决**:当...