首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在每次提交后自动保存SVN修订号?

在每次提交后自动保存SVN修订号,可以通过使用钩子脚本来实现。SVN钩子是一种机制,可以在特定的事件发生时触发自定义的脚本。以下是实现该功能的步骤:

  1. 确保你有适当的权限来修改SVN仓库的钩子脚本。
  2. 进入SVN仓库的hooks目录,该目录包含了各种钩子脚本的示例。
  3. 创建一个名为"post-commit"的脚本文件,该文件将在每次提交后被调用。可以使用以下命令创建该文件:
代码语言:txt
复制

touch post-commit

代码语言:txt
复制
  1. 使用文本编辑器打开"post-commit"文件,并添加以下内容:
代码语言:bash
复制

#!/bin/sh

REPOS="$1"

REV="$2"

获取最新的修订号

SVNLOOK=/usr/bin/svnlook

REV_NUM=$($SVNLOOK youngest "$REPOS")

将修订号保存到文件中

echo $REV_NUM > /path/to/revision.txt

代码语言:txt
复制

注意:需要将"/path/to/revision.txt"替换为你希望保存修订号的文件路径。

  1. 保存并关闭"post-commit"文件。
  2. 授予"post-commit"文件执行权限:
代码语言:bash
复制

chmod +x post-commit

代码语言:txt
复制
  1. 确保SVN仓库的hooks目录下的所有文件都具有执行权限:
代码语言:bash
复制

chmod +x *

代码语言:txt
复制
  1. 完成以上步骤后,每次提交后,SVN修订号将自动保存到指定的文件中。

请注意,以上步骤是基于Linux系统的,如果你使用的是其他操作系统,请相应地修改脚本中的路径和命令。

关于SVN和SVN钩子的更多信息,你可以参考腾讯云的SVN产品文档:腾讯云 SVN

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SVN命令解析以及问题解决(update...)

显示日志,检出,导出,检入文件/文件夹,改名,删除文件,分支建立等。 2.Checkout(检出) 从SVN服务器上得到数据,即建立本地副本,并且修改可以commit到SVN服务器上。...3.Update(更新) 更新本地副本,得到SVN服务器上最新的数据。一般check out建立本地副本,都在该本地副本上修改提交,若想再次得到服务器上的最新版本,即需用Update。...图标意思 常见错误 1.SVN修订不连续 原因:SVN修订是相对于整个配置库的,更新时看到的版本也是整个配置库的修订,并不是某一个目录的修订。 解决方法:无,SVN特色。...2.修改工作副本提交时提示“Resource out of date”,提交失败。 原因:工作副本不是最新版本,提交失败。 解决方法:先更新提交,遇冲突时解决冲突提交。...13.域帐户密码修改,SVN的命令不能成功执行 原因:密码错误,先前使用SVN命令时保存了认证信息,所以SVN命令的不能执行成功。

3.6K30

给Dreamweaver插上Svn的翅膀

现在Dreamweaver已经与SVN建立连接了,下面就来测试一下吧。 提交文件 在本地站点中创建或添加网页(添加,名字前会有一个“+”),然后选中网页,右键选择“版本控制”>“提交”。...为了演示其他功能,我们这里选择“本地删除”(即库中还有保存)。 获取最新版本的文件 从 SVN 存储库中获取最新版本的文件时,Dreamweaver 会将该文件的内容和其相应本地副本的内容进行合并。...(即,如果您上次提交文件,有其他用户更新了该文件,这些更新将合并到您计算机上的本地版本文件中。)如果本地硬盘上不存在此文件,Dreamweaver 会径直获取该文件。...显示修订版 右键想要查看的文件,选择“版本控制”>“显示修订版...”可以查看修订的历史记录。选中非当前版本的一条记录,通过点击“提升到当前版本”,来进行版本转换。...锁定和解锁文件 通过锁定 SVN 存储库中的文件,可以让其他用户知道您正在处理该文件。其他用户仍可在本地编辑文件,但必须等到您解锁该文件,才可提交该文件。

73220

给Dreamweaver插上Svn的翅膀

现在Dreamweaver已经与SVN建立连接了,下面就来测试一下吧。 提交文件 在本地站点中创建或添加网页(添加,名字前会有一个“+”),然后选中网页,右键选择“版本控制”>“提交”。...为了演示其他功能,我们这里选择“本地删除”(即库中还有保存)。...(即,如果您上次提交文件,有其他用户更新了该文件,这些更新将合并到您计算机上的本地版本文件中。)如果本地硬盘上不存在此文件,Dreamweaver 会径直获取该文件。...显示修订版 右键想要查看的文件,选择“版本控制”>“显示修订版...”可以查看修订的历史记录。选中非当前版本的一条记录,通过点击“提升到当前版本”,来进行版本转换。...锁定和解锁文件 通过锁定 SVN 存储库中的文件,可以让其他用户知道您正在处理该文件。其他用户仍可在本地编辑文件,但必须等到您解锁该文件,才可提交该文件。

1K100

SVN和Git对比梳理

SVN只有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。...属于集中式的版本控制系统 集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。...(非本地版本库); 4)提交需要授权,如果没有写权限,提交会失败; 5)提交并非每次都能够成功。...Git 不保存文件内容前后变化的差异数据。 实际上,Git 更像是把变化的文件作快照,记录在一个微型的文件系统中。...每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一连接。

1.5K60

利于集成的分支策略

集中式版本控制系统 这种类型版本控制系统的典型代表是 Subversion,简称为 SVN。 集中式版本控制系统,有一个单一的集中管理的版本控制管理服务器,保存所有文件的历史修订版本记录。...每个人如果想获得其他人最新提交修订记录,就必须从集中式版本控制系统中获得。 集中式版本控制系统有两点劣势: 在网络环境不佳的情况下,同步大量文件时会经常失败。 具有单点故障风险。...主干发布 分支模式的演化 三驾马车分支模式 Gitflow 分支模式 GitHubFlow 分支模式 分支策略的选择 企业需要根据开发或维护的软件产品类型,结合发布频率,并考虑自身团队成员能力和基础设施水平自动化测试程度...例如,对发布的交付时间点和交付质量提出固定要求,那么该版本的特性数量也就相对固定了。...并且,它对发布频率和每次发布的效率也有较大的影响。目前的发展趋势是:软件发布频率越来越高,发布周期越来越短。 硅谷顶级互联网公司多采用 “主干开发” 或高频的GitHubFlow分支模式。

24110

SVN使用指南【工作培训版】

SVN Commit提交 对工作副本进行编辑提交SVN 在右键菜单中点击SVN Commit 提交前写好信息,点击确定 ? ?...SVN 权限控制 当进行提交文件操作的时候您将看到权限提示信息 输入您的用户名和密码 保存权限设置(见红圈) ,可以避免将来重复输入用户名和密码 ?...注:修改人和提交时间由软件自动记录,无需人工写入日志信息 ? SVN 如何得到历史版本 工作副本右键 显示日志 选择所需的版本号 保存版本至 ? ?...团队成员A操作完成,将该文件提交SVN上。此时,其他团队成员的本地文件与SVN上的文件版本不一致。...SVN 解决冲突之后 通过上面所说的方法,解决冲突要选择已解决的(resolved) 解决,带问号的三个文件将自动删除 最后选择commit提交SVN ? ? ?

2.2K50

测试思想-测试流程 软件测试版本管理

通常,该版本号分奇数和偶数两种,奇数表示测试版本,偶数表示稳定版本 源码版本号:自动化生成的,比如svn中的Revision 时间:自动生成的时间 版本号类型:类似beta, Release,final...之类 每个公司都有自己的规定,可能只是其中的部分,比如 主版本号.次版本号.修订版本号 版本命名格式 这里的版本,主要是针对我们测试来说的,因为我们提交缺陷,需要填写测试版本,方便缺陷管理、分析统计...而开发通常有代码管理工具比如svn,管理组织他们的代码 项目名称_版本号格式[_Tx][_版本类型] 说明: 版本号格式:通常,主版本号.次版本号.修订版本号 Tx:表示测试轮数,比如T1表示第一轮...T3版本,所以建议在开发代码质量比较高,代码管理比较规范的情况使用 []内容表示可选,具体以实际项目为准,以下不做赘述 版本号类型:类似beta, Release,final 结合上述,通常我们用的格式可能是...99U校友_Android: 99U校友_Android_V1.0.0_release; 99U校友_Android_V1.0.1_release; …… 特别说明: 如果是app测试,建议每次发布

92420

Git与SVN对比

SVN只有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。...每次更改文件之前都得update操作,有的时候修改过程中这个文件有更新,commit不会成功。 2....有冲突,会打断提交动作,冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,提交,可能遇到麻烦的冲突解决。 1....开始工作前进行fetch操作,完成开发工作push操作,有冲突解决冲突。 2. Git的提交过程不会被打断,有冲突会标记冲突文件。 3. Gitflow经典流程。...更在乎效率而不是易用性,成本较高,有很多独有的命令rebase、远程仓库交互的命令等等。

2.8K20

程序员面试闪充--版本管理之SVN

若是个人开发,所有的代码都将在一台电脑上保存,万一丢失,后果不堪设想。 2)浪费资源:对项目添加新功能,备份。...添加文件 svn add main.m 提交代码到服务器 svn commit -m "初始化项目" main.m :将main.m上传到服务器 在命令行中可以看到,每次操作了服务器,它的版本号就会进行加...-r版本号 比如 svn update -r7 已经提交了想退回到上一个版本 先回退到某个版本,观察是否是自己想要的那个版本 svn update -r6 更新到最新的版本,这样本地版本号就不会低于服务器...//查看版本信息 7)新人加入,版本冲突 李四和张三同时修改了文件,李四先提交上去,而张三修改提交会发现,由于本地版本号低于服务器版本号而过期。...答:能追踪一个项目从诞生到定案的过程、方便查阅特定版本的修订情况、检验开发人员是否合格。

1.2K60

SVN之于GIT的理论优势

/DAV协议驱动 ·拥有连续的整数版本号(修订) ·弱化了“分支”的概念,svn分支实质上就是文件夹的拷贝,方便切换 ·中心化的管理模式允许更精细的权限划分 ·每一级目录都可以单独同步 ·中心化存储易造成单点故障...服务启动,Visual SVN自动在系统的“证书管理器”中添加一份以主机名为域名的根证书,证书的位置为“受信任的根证书颁发机构”,也就是非出厂自带的第三方自签名证书的存放位置。...下载成功,本地目录中有一个.svn的隐藏目录是用来存放仓库的元数据,不要碰它。 提交(push)、更新(pull) ?...同样会形成新变更的是“回退版本”,后者实质上是若干次“撤销历史提交”的总和,即指定版本到最新版本之间的每次提交,所以“回退版本”不会引起冲突。...注意,忽略设置完提交,以同步云端(目录的属性变化)。

1.1K30

SVN Hooks的介绍及使用

阅读此篇文章你可以: 对SVN Hooks有一定的了解 获取两个最常用的SVN Hooks案例 SVN hooks介绍 Hooks 钩子,主要实现的功能就是在特定事件发生之前或者之后自动执行事先定义好的脚本代码来实现某些功能...,甚至是利用它来做自动化的CI/CD等操作,需要传递两个参数给hooks脚本,按照顺序依次为:1.版本库路径,2.提交创建的修订版本号 pre-revprop-change:在修改revision属性之前执行...每次提交前检查是否符合上边定义的规范,具体配置如下 1....提交成功发送邮件通知 看了上边强制log提交规则的示例,想必对SVN hooks有了一定的了解,那么我们趁热打铁再来看一个提交成功发送邮件的例子 假如我们有一个账号叫merge,专门用来合并上线代码,经过这个账号合并的代码自动触发发布...同样不要忘了给脚本添加可执行权限 # chmod +x /home/svn/repos/ops-coffee/hooks/post-commit 这样就ok了,每次代码提交(合并)之后就会判断是哪个账号的提交

3.4K70

Apriso 开发葵花宝典之传说的完结篇GPM

(即增加工厂的数量)并降低部署成本、希望减少升级、更改和维护的成本情况下选用,并且需要购买COE授权才能进行 在本地发布状态,可以使用本地发布仪表板查询位于此服务器上的所有项目,并包括它们的名称、修订版本和构建...依赖项自动添加到先前从该项目生成的不是从“使用选择项生成” From Selection或“从来自修订生成” From Revision的软件包中。...Auto Update In Progress-节点此时正在更新 如果由于某个节点上的GPM服务已停止而导致部署包失败,则在该节点上的GPM服务运行,系统会自动尝试重新部署包。...在生成包时就会自动生成两个脚本,而不需要单独的为每种数据库类型进行添加。 Source Repository 可以将项目存储在SubVersion版本控制系统中。当生成部署包时,项被提交到源存储库。...地址、用户、密码,点击OK,后会弹出是否需要新建SVN结构询问窗体: 点击Yes,GPM自动SVN服务器上建立相关目录结构。

17810

Git教程

6)、签入(Checkin) 将新版本复制回仓库 7)、签出(Checkout) 从仓库中将文件的最新修订版本复制到工作空间 8)、提交(Commit) 对各自文件的工作副本做了更改,并将这些更改提交到仓库...1.4、版本控制分类 1.4.1、本地版本控制 记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,RCS。...1.5、Git与SVN最主要区别 SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作,需要把自己做完的活推送到中央服务器...这是非常重要的,因为每次Git提交都会使用该信息。....git:存放Git管理信息的目录,初始化仓库的时候自动创建。 Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。

1.3K20

SVN_如何使用SVN多人协同开发管理代码(SVN 团队协作开发版本控制工具)

:** **方法二:** **方法三:(推荐)** 导出代码到本机(checkout项目文件) 更新或者提交代码 删除项目的svn信息 其他错误提示 主干及分支管理 如何在主干上创建分支...这样别人才能知道你干了什么: 方法三:(推荐) 在VS上加入,并提交代码。这种方式会避开debug等文件的导入,避免每次提交代码,都带有debug文件提交。...在空文件夹内右键,选择SVN检出。 填入版本库地址点击确定: 此时会弹出一个对话框让你输入账号密码, 记得勾选保存认证,不然每次操作都会让你输入。...更新或者提交代码 更新是从仓库更新代码到本地 提交时从本地提交到仓库 ps:最好每次提交前先获取最新代码。个人喜欢开始工作前先更新,然后提交的时候再更新提交,避免冲突。...如何在主干上创建分支 在主干文件夹右键鼠标: 代码合并 VS或者主干代码文件夹下,右击鼠标,打开合并的界面: 合并的源填写的是需要从哪个地址合并过来到当前项目上 成功,该项目需要commit代码

1.2K20

Cornerstone Mac永久激活版(好用的SVN管理工具)

Cornerstone mac版是MacOS上的SVN管理工具,除了支持基本的SVN功能外,还能够和Xcode,BBEdit,TextMate,Coda等开发工具无缝的集成使用,其时间线功能能够查看一个文件的历史改动情况...Cornerstone Mac图片Cornerstone下载安装教程下载完成.pkg安装包,双击打开,按照提示即可完成安装。...Cornerstone 4是唯一具有搁架和检查点的MacOS SVN客户端搁置采用工作目录的脏状态即未提交的修改并将其保存为可以随时重新应用的未完成更改的保留。...无论您是在审核提交还是检查其他人的更改,Cornerstone都会为您提供帮助。通过为您喜爱的语言提供丰富的语法突出显示,比较文件从未如此简单。比较。内置。...时间线Timeline View非常适合浏览和比较单个文件的过去版本,可在直观的时间轴上显示修订版。浏览修订版,查找分支点并比较版本。内置过滤器可帮助您快速到达目的地。

1.2K30

day36_Spring学习笔记_04_SVN

是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。也是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。 为什么学习版本控制?硬盘是否坏过。...一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。 重命名、复制、删除文件等动作都保存在版本历史记录当中。...对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处) 目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。 分支的开销非常小。...:3690 每次启动SVN服务器都要输入很多命令,太麻烦了,有没有解决办法?...4、将SVN-Service的启动类型设置为手动,就可以手动启动或停止“服务”了 ? 测试手动开启SVN和手动停止SVN: ? 1.7、操作【掌握:思想】 ?

47220

SVN入门安装配置与适用

,你就需要Commit到repository Update (更新):从中央服务器中拉取最新的代码到本地; SVN 的主要功能: (1)目录版本控制 (2)真实的版本历史 (3)自动提交 (4)纳入版本控管的元数据...4.执行变更: commit 操作将被添加进待变更列表中文件提交到版本库中。 Rename 操作可以更改文件/目录的名字使之版本库也会相对应的更改。...它可以重置一个或多个文件/目录 7.解决冲突:合并的时候可能会发生冲突; Merge 操作会自动处理可以安全合并的东西; Resolve 操作就是用来帮助用户找出冲突并告诉版本库如何处理这些冲突。...,还是放在branches/version(new)/; tags里面只放置各版本,但不进行修改,branches里放发布版,及发布版对应的修订版,以版本号为子文件夹名,甚至还可以将修订版与trunk...svn merge -r 22:21 readme (5)SVN 查看历史信息 描述:通过svn命令可以根据时间或修订去除过去的版本,或者某一版本所做的具体的修改 #svn log: 用来展示svn

64010

SVN入门安装配置与适用

,你就需要Commit到repository Update (更新):从中央服务器中拉取最新的代码到本地; SVN 的主要功能: (1)目录版本控制 (2)真实的版本历史 (3)自动提交 (4)纳入版本控管的元数据...4.执行变更: commit 操作将被添加进待变更列表中文件提交到版本库中。 Rename 操作可以更改文件/目录的名字使之版本库也会相对应的更改。...它可以重置一个或多个文件/目录 7.解决冲突:合并的时候可能会发生冲突; Merge 操作会自动处理可以安全合并的东西; Resolve 操作就是用来帮助用户找出冲突并告诉版本库如何处理这些冲突。...,还是放在branches/version(new)/; tags里面只放置各版本,但不进行修改,branches里放发布版,及发布版对应的修订版,以版本号为子文件夹名,甚至还可以将修订版与trunk...svn merge -r 22:21 readme (5)SVN 查看历史信息 描述:通过svn命令可以根据时间或修订去除过去的版本,或者某一版本所做的具体的修改 #svn log: 用来展示svn

67330

aicoder实习svn内部培训教程

是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。 1.3 svn是什么? SVN(Subversion)是一个开源的版本管理工具。 svn是基于客户/服务器模式: ?...realm=/home/svndata/objects #该路径为仓库路径 编辑结束 按esc退出修改模式 再输入:wq,即保存退出 配置passwd vim passwd 密码文件内容如下: [...hooks目录 对应修改post-commit文件就是当有提交的时候自动执行的钩子。...tuin=1eb4a0a4 7. svn注意事项 每次操作必须要有cmmit的消息 所有的提交之前必须经过严格测试,而且必须先获取最新,然后解决冲突提交。...公共文件最好获取lock再修改,然后尽快释放lock 提交频率最好是一个功能完成,测试没有问题大了,就立即提交

63720

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券