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

如何在Delphi项目中包含Subversion修订版号

在Delphi项目中包含Subversion修订版号,可以通过以下步骤实现:

  1. 首先,确保您的项目已经在Subversion版本控制系统中。如果没有,请将其添加到版本控制系统中。
  2. 使用Subversion的钩子功能,在每次提交时自动更新一个文件,其中包含修订版本号。在项目的根目录中创建一个名为“hooks”的文件夹(如果尚未存在),并在其中创建一个名为“post-commit.bat”的批处理文件。将以下内容添加到该批处理文件中:
代码语言:txt
复制
@echo off
setlocal

set REPOS=%1
set REV=%2

for /f "tokens=2 delims= " %%I in ('svnlook dirs-changed %REPOS% -r %REV%') do (
    set CHANGED_PATH=%%I
)

if "%CHANGED_PATH%"=="trunk" (
    svn update %REPOS%\hooks\version.txt
    echo %REV% > %REPOS%\hooks\version.txt
)

endlocal

此批处理文件将在提交后更新名为“version.txt”的文件,其中包含当前修订版本号。

  1. 在Delphi项目中添加一个新的文本文件,并将其命名为“Version.inc”。在此文件中,添加以下内容:
代码语言:txt
复制
const
  SVN_REVISION = 'SVN_REVISION_GOES_HERE';
  1. 使用预处理器指令将“Version.inc”文件包含在Delphi项目中。在Delphi项目的源代码文件中,添加以下指令:
代码语言:txt
复制
{$INCLUDE Version.inc}
  1. 在编译项目时,预处理器将自动将“SVN_REVISION_GOES_HERE”替换为Subversion修订版本号。您可以在代码中使用“SVN_REVISION”常量来访问此版本号。例如:
代码语言:txt
复制
program MyApp;

{$INCLUDE Version.inc}

uses
  SysUtils;

begin
  Writeln(Format('MyApp version %s', [SVN_REVISION]));
end.

这将在控制台输出中显示当前Subversion修订版本号。

请注意,这些步骤仅适用于Delphi项目。对于其他编程语言和开发环境,实现类似功能的方法可能会有所不同。

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

相关·内容

Go编程之相关命令工具记录

一样; 目前支持的动态获取远程代码包的有BitBucket、GitHub、Google Code 和 Launchpad,所以为了 go get 命令能正常工作您需要安装与远程包仓库匹配的代码管理工具,...第二步是执行 go instal 参数介绍: $go get [options] * -d 只下载不安装 * -f 只有在你包含了 -u 参数的时候才有效,不让 -u 去验证 import 中已经获取了的包...例如: 在项目中执行go get命令可以下载依赖包,并且还可以指定下载的版本。...运行 go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号) 运行 go get -u=patch 将会升级到最新的修订版本 运行 go get package.../x/text 手动移除依赖: 例如 go mod edit -droprequire=golang.org/x/text Q: 如何在目中使用go module?

55230

1.1 起步 - 关于版本控制

我们从介绍有关版本控制工具的一些背景知识开始,然后讲解如何在你的系统运行 Git,最后是关于如何设置 Git 开始你的工作。...如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能),采用版本控制系统(VCS)是个明智的选择。...使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。 但额外增加的工作量却微乎其微。...这类系统,诸如 CVS、Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。...籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。 你可以根据需要设定不同的协作流程,比如层次模型式的工作流,而这在以前的集中式系统中是无法实现的。

46430

Apriso开发葵花宝典之九 Project篇

目中的实体被组织成模块。Process builder中一个项目中的实体在实体管理器Entity Manager中不可用。同一目的不同模块之间或不同项目之间引用它们,则可以在其他项目中使用它们。...在源模块中将带有最近创建的修订版本的实体设置成为默认值 如果将实体移动到目标位置,其中已经存在具有相同名称和修订版本的实体,则要移动的实体将更改其修订。...GPM项目将只包含“显式添加”到项目中的实体的默认版本,例如:操作A和操作B两个操作。操作A依赖于操作B。当操作B包含在GPM包中时,操作A的默认版本将只包含在GPM包中。...不能向基于PB项目创建的项目添加依赖。 不能从基于PB项目创建的项目中删除依赖。 不能添加Process Builder实体。 不能复制或删除基于PB项目创建的项目。...如果一个包中包含一个以上的实体(没有设置为默认版本),并且目标服务器上不存在该实体的修订版本,修订版本最高的实体为设置为默认值。

9910

Git 概述

其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。 # 何为版本控制 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。...# 为什么需要版本控制 个人开发过渡到团队协作 # 版本控制工具 集中式版本控制工具 CVS、SVN(Subversion)、VSS…… 集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器...,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。...这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。...分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷: 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的) 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全) # Git

29930

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

(即增加工厂的数量)并降低部署成本、希望减少升级、更改和维护的成本情况下选用,并且需要购买COE授权才能进行 在本地发布状态,可以使用本地发布仪表板查询位于此服务器上的所有项目,并包括它们的名称、修订版本和构建...:包含项目的全部 使用选择生成From Selection:只包含选定的。...Source Repository 可以将项目存储在SubVersion版本控制系统中。当生成部署包时,被提交到源存储库。...由于项目构建,可以跟踪部署状态。...将根操作Operation存储在单独的项目中:如果它们有循环调用,则将根操作存储在单独的项目中。否则,如果您将根操作与其依赖放在一起,则在部署此类包时将遇到问题。 10.

10110

Delphi入门教程

系统按钮包含3个,最小化,最大化,关闭按钮 2.菜单栏:包含系统能够执行的并进行分类的命令集合。...Delphi中定义的类一般均以大写字母”T”开头,窗体TForm 2.组件(Component):Delphi常规应用程序开发的基础,类似于积木的作用。实际上是一个完成一定功能的类。...事件可能是用户执行了某些操作(鼠标单击、敲击键盘等)引起的,也可能是程序内部触发的(定时器) 7.事件处理程序(Event Handler):当事件触发时,应用程序执行的命令集。...菜单栏除包含标准Windows程序通常所具有的[File]、[Edit]、[Help]菜单外,还有一些与Delphi6目、运行、辅助工具和环境配置等相关的菜单。 1....【Add to Project】:将各种Delphi6支持的文件加入当前项目 【Remove from Project】:将指定的文件从项目中移走 【View Source】:查看项目文件的源代码 【Compile

6.3K20

SVN入门安装配置与适用

答:Apache Subversion 通常被缩写成 SVN,是一个开源的中心服务器版本控制系統,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache...答:Subversion Subversion是什么?...,还是放在branches/version(new)/; tags里面只放置各版本,但不进行修改,branches里放发布版,及发布版对应的修订版,以版本号为子文件夹名,甚至还可以将修订版与trunk...的配置authz-db指定,默认为conf目录中的authz #[groups]配置段中配置行格式如下: = #版本库路径权限段的段名格式如下: [:...svn merge -r 22:21 readme (5)SVN 查看历史信息 描述:通过svn命令可以根据时间或修订去除过去的版本,或者某一版本所做的具体的修改 #svn log: 用来展示svn

58210

SVN入门安装配置与适用

答:Apache Subversion 通常被缩写成 SVN,是一个开源的中心服务器版本控制系統,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache...答:Subversion Subversion是什么?...,还是放在branches/version(new)/; tags里面只放置各版本,但不进行修改,branches里放发布版,及发布版对应的修订版,以版本号为子文件夹名,甚至还可以将修订版与trunk...的配置authz-db指定,默认为conf目录中的authz #[groups]配置段中配置行格式如下: = #版本库路径权限段的段名格式如下: [:...svn merge -r 22:21 readme (5)SVN 查看历史信息 描述:通过svn命令可以根据时间或修订去除过去的版本,或者某一版本所做的具体的修改 #svn log: 用来展示svn

61830

Golang之go module开发系列二--使用伪版本和GoCenter

要使用未标记版本的模块作为依赖,必须通过其伪版本标识符引用它。...现在,go客户端将针对版本控制元数据对伪版本的不同元素执行一些验证: · 版本前缀的格式必须为vX.0.0,或者从命名修订版本的祖先上的标签派生,或者从包含命名修订版本本身上的构建元数据的标签派生。...· 日期字符串必须与修订版的UTC时间戳匹配。 · 修订的简称必须使用与go命令生成的字符相同的字符数。(对于git使用的SHA-1散列,为12位数字的前缀。)...模块下载 · go命令现在在模块模式下支持Subversion存储库 · Go命令现在包括来自模块代理和其他HTTP服务器的纯文本错误消息的摘要。...学习更多技术知识可以关注我们的在线课堂 关注微信公众:JFrog杰蛙DevOs, 获取课程通知

2K00

Git详解——Git概述原理及安装细节

1.2 版本控制工具 ➢ 集中式版本控制工具 CVS、SVN(Subversion)、VSS…… 集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本...每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。...分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷 : 服务器 断网的情况下也可以进行开发 因为版本控制是在本地进行的 每个客户端保存的也都是整个完整的项目 包含历史记录 更加安全 1.3 Git

26520

2019年20个最佳版本控制系统

通过创建拉取请求,允许在Git团队项目中查看和合并代码。 3. GitHub GitHub是专为开发人员构建的软件开发平台。...Delphi IDE集成。此解决方案适用于寻求与Delphi IDE完全集成的用户。 迁移工具。对于除应用程序产品之外的其他数据库系统的用户。 ProjectTreeView实现。...8.Subversion Subversion,也称为SVN,是一种流行的软件版本控制和版本控制解决方案,旨在维护当前和以前版本的文件,源代码,文档和网页。...Git Git是一个分布式版本控制系统,你可以高效快速地从小型到大型项目中使用。它是一个免费的开源软件,具有易于使用的界面和快速的性能。...还可以关注我的微信公众 youdaoyunnet

3.9K40

Eclipse安装SVN插件及使用说明

如果您的存储库已列出(您所见,我已经添加了自已的库),选中它,并单击 Finish。如果您的存储库未列出,请添加它(选择第一个选项next,输入资源URL即可),并继续。...单击 OK 以检入项目,并将其当前状态传递给 Subversion 存储库。...在输入字段中键入的新名称,按 Enter 键。文件是在项目中重命名的,重命名操作(通过 Add 操作添加新名称、通过 Delete 操作删除旧名称)排队等待您下一次提交。...如果项目生成文件,或者包括您不想检入的 Subversion 存储库文件,则可以通知 Subclipse 忽略它们。...在您的工作站崩溃时,它可以作为一个备份,并允许其他开发人员更新其本地副本以包含您的变更。 在尝试提交变更之前,请确保更新您的项目(参阅 “更新项目”)。

1.8K10

WordPress 教程:和 WordPress 相关的一些专有名词

Codex - WordPress.org Codex 其实就是 WordPress 的维基,它是一个包含各种和 WordPress 相关的信息的平台。...模板函数 bloginfo(),它可能是这样的:,在括号里面的东西就是参数。...任何在主循环中的 HTML 或者 PHP 代码,每个日志都会用到。当你看到 WordPress 的文档中提到:“这个标签必须在 The Loop”,这里说的就是住循环。...SVN - SVN 是 Subversion 的缩写。Subversion 的主要功能是把源代码和修订记录存到一个服务的仓库中。...用户可以通过一个客户端程序连到这个仓库,这个客户端工具能够让你下载,查看,编辑,打补丁和提交更改到源代码文件(取决于用户的权限,在 WordPress 的项目中,只有一些人有提交更改的权限)。

87810

Ansible之 AWX 项目管理的一些笔记

AWX 支持使用 Git、Subversion 或 Mercurial 从 SCM 下载和自动获取项目资料更新的功能。 当前的 AWX 为 k8s 集群中部署,我们来看下对应的处理方式。...创建 SCM 凭据 源代码控制凭据存储身份验证信息,供 AWX 用来访问存储在像 Git 这样的版本控制系统中的项目中的资料。...如果没有,子模块将会保留在主项目指定的修订版本中。这等同于在 git submodule update 命令中指定 --remote 标志。...允许在使用此项目的作业模板中更改 Source Control 分支或修订版本。...在项目更新结束时,如果⽬的存储库包括⼀个包含有效 requirements.yml 文件的 roles目录,则红帽 AWX 将自动运行 ansible-galaxy 以安装角色,这个用到了在研究 博文参考

1.1K20

美国网络安全 | 网络卫生与CIS控制框架

但事实证明,多年以来直到现在,绝大多数重大违规和攻击行为,都是由于组织未能遵循最基本的网络卫生实践(补丁管理)而导致的。...注:需要CIS控制指南《CIS Controls v7.1》英文报告原文的读者,请关注“网络安全观”公众,并在公众后台输入文字“CIS控制”。...顾名思义,CIS框架列出了20个区域(称为控制),每个区域包含10个左右更详细的控制要求(称为子控制)。不少人以为CIS仅包含20个控制列表,但实际上它至少包含150个以上的详细控制(子控制)。...之前包含在NIST SP 800-53(修订版4)中的控制基线,已重新定位到NIST SP 800-53B中,但NIST SP 800-53B目前尚未发布。...02 SP 800-53控制基线 之前包含在NIST SP 800-53(修订版4)中的控制基线,已重新定位到NIST SP 800-53B中,并未在NIST SP 800-53(修订版5)中出现。

1.8K10

『互联网架构』软件架构-git服务搭建与使用(四)

当CollabNet的电话到来时,Karl立即答应了加入项目中,而且Jim让他的雇主RedHat Software同意让他在这个项目中不定期工作。...也就是说, 开发人员不再使用 CVS 来管理 Subversion 的代码, 而以 Subversion 自己来管理。...SVN只有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。...GitLabEE设置在专有许可证下,并且包含CE版本中不存在的功能。 2015年7月,公司又筹集了150万美元的种子基金。截至2015年的客户包括阿里巴巴集团,IBM和SpaceX。...Gitlab于2017年1月31日发布一系列紧急通告称,位于荷兰的系统管理员因操作失误而删除了包含310GB产品数据的文件夹,在取消删除操作后仅剩下4.5GB。

72320

2018-09-11 Svn升级Git不需要那么痛URL that points to a project root(may be the same as Subversion repository

SubGit是一种subversion与git代码库之间双向同步工具。如何在本地subversion版本库上安装SubGit请参考下片文章。...本片文章主要说明使用SubGit创建git镜像远程subversion版本库。 通常情况下,subversion版本库是通过网络访问的,http(s)、svn、svn+SSH、本地文件系统。...3.1 subversion项目位置 subversion版本库可能包含一个或多个项目。...映射的含义是在subversion目中所做的更改将转换到git提交GIT_REFERENCE。在GIT_REFERENCE提交将转换更改到SVN_PATH。...5.7 调整配置:凭证 为了在subversion版本库中创建新的修订版,subgit需要subversion服务器的授权认证。subgit用户可以提供多套凭证(用户名/密码对)。

88310

Subversion API 使用简介

你首先应该注意Subversion的数据类型和方法是命名空间保护的,每一个公共Subversion对象名以svn_开头,然后紧跟一个这个对象定义(wc、client和fs等等)所在的库的简短编码,然后是一个下划线...关于Subversion的API编程的另一个好的资源是hacking指南,可以在http://subversion.tigris.org/hacking.html找到,这个文档包含了有用的信息,同时满足...除了提供了跨平台一致的系统调用, [51]APR给Subversion对多种数据类型有快速的访问,动态数组和哈希表。...使用 C 和 C++ 以外的语言 除C语言以外,如果你对使用其他语言结合Subversion库感兴趣—Python脚本或是Java应用—Subversion通过简单包裹生成器(SWIG)提供了最初的支持...代码样例 例 8.1 “使用版本库层”包含了一段C代码(C编写)描述了我们讨论的概念,它使用了版本库和文件系统接口(可以通过方法名svn_repos_和svn_fs_分辨)创建了一个添加目录的修订版本。

72920

博途多用户操作

,如果到达设定的修订版数量就会删除最早保存的版本,保存修订版数量可以根据服务器存储空间来定,没有上限,如下图 6 所示。...与此同时,本地会话在刷新后将显示已检入到服务器项目中的所有更改。 如果在服务器项目中添加了新对象,则这些对象也将显示在本地会话中。 如果在服务器项目中删除了对象,则这些对象将不再显示在本地会话中。...,可执行以下功能(如下图 27 所示,) 回滚到所选修订版本(可以把项目回滚到选定版本) 导出所选修订版(把修订版本导出为单用户项目) 导出历史信息(导出为 XML 格式的文件) 保存修订版(为了防止修订版被自动删除...,可以保存值得保存的修订版本) 显示详细信息(包含注释信息以及发生更改的对象) 删除修订版数据(通过右键弹出快捷菜单选择) 图27....所有全局设置(,设备组态更改)必须在服务器项目视图(即,中央服务器项目)中完成。 多用户项目的所有对象均可在服务器项目视图中编辑。

5.3K21

linux安装svn服务器的两种方式

A.对着三个配置文件的讲解 a.svnserve.conf文件讲解 [general]配置段中配置行格式: = ,常用的配置是以下5: (1)anon-access控制非鉴权用户访问版本库的权限...:段名为”[/tmp]”的版本库路径权限段 设置了所有引用该权限配置文件的版本库中目录”/tmp”的访问权限。...admintools:/] @g_admin = rw * = [test:/home/zhangsan] zhangsan = rw * = r 在上述配置文件中,定义了一个用户组”g_admin”,该用户组包含用户...(3)配置authz [groups] g_admin = rokay [/] @g_admin = rw *= 备注:配置了一个管理员群组“g_admin”,包含用户“rokay”; “[/]”表示对根目录...-d -r /home/svn也会报:“不能绑定服务器套接字 地址已在使用”的错误字样“(若已至此,删除掉新建的资源库,并用ps -ef | grep svnserve查看进程,kill -9 [进程]

1.7K20
领券