首页 / 知识
使用git-svn处理SVN关键字扩展
2023-04-15 07:46:00

Dealing with SVN keyword expansion with git-svn最近,我问到有关Git中关键字扩展的问题,我愿意接受这种设计,而不是真的在Git中支持该想法。 不管是好是坏,我目前正在研究的项目都需要像这样的SVN关键字扩展:
使此字符串保持最新:
但是我很想使用Git进行版本控制。 不幸的是,根据文档,git-svn不支持此功能:
但是用几个前后提交钩子来模拟这个关键字似乎并不难。 我是第一个想要这个的人吗? 有人有一些代码可以做到这一点吗?
这是怎么回事:Git经过优化,可以尽快在分支之间切换。特别地,
不幸的是,RCS关键字替换打破了这一点。例如,使用 通常,最好的选择是标记至少一个版本:
...然后从您的Makefile中调用以下命令:
在这里,git告诉我我正在使用匿名版本6提交超过v0.5.15.1的版本,并且SHA1哈希以
如果您无法避免使用RCS关键字,则可能需要从Lars Hjemli的解释开始。基本上, 但是,如果您绝对不能避免使用RCS关键字,那么以下内容将帮助您入门:
在我的系统上,我得到:
如果在 请注意,您确实不希望对超出绝对必要数量的文件进行更多操作,否则git将失去其大部分速度。
那是不对的。 $ Date $等扩展为在签入时保存的值。无论如何,这是有用的。因此,除非实际重新检入文件,否则它在其他修订版或分支上不会更改。
这也意味着上面建议的带有rcs-keyword.smudge过滤器的答案是错误的。它插入结帐的时间/日期,或导致结帐运行的任何时间。 这是一个示例项目,其中包含将RCS关键字支持添加到git项目所需的配置和过滤器代码: https://github.com/turon/git-rcs-keywords 它的设置并不像人们想要的那么简单,但是它似乎可以工作。它使用用perl编写的污迹/干净过滤器对(类似于emk的答案),是的,它将触摸所有扩展名为.gitattributes的文件,通常会降低速度。 您可以在文件上设置ident属性,但这会产生如下字符串
其中 |
最新内容
相关内容
linux查看扩展名命令?
linux查看扩展名命令?,工作,系统,地址,信息,软件,文件,标准,电脑,命令,目录,Linux命令下如何解压扩展名为“.zip”的文件?首先在电脑中,连接到llinux命令支持通配符?
linux命令支持通配符?,工具,系统,命令,灵活,较大,名称,名字,环境,数字,文件,Linux的基本命令格式如何?Linux下经常使用的通配符有哪些通配符linux命令设置扩展屏?
linux命令设置扩展屏?,工具,系统,电脑,技术,软件,装备,情况,工作,命令,显示器,Linux中如何分屏显示的命令是什么linux中如果想要把某个命令或linux支持管道的命令?
linux支持管道的命令?,通信,标准,系统,信息,地方,数据,管道,环境,设备,工具,Linux下Grep命令的详细使用方法?查找包含teacher文本的所有行并打linux命令创建项目组?
linux命令创建项目组?,管理,密码,项目,命令,系统,位置,文件,用户组,用户,文件夹,linux命令中用root用户新建一个user1用户,新建一个group1的组linux磁盘扩展命令?
linux磁盘扩展命令?,在线,信息,扩大,风险,磁盘,虚拟机,容量,分区,目录,链接,LINUX虚拟机磁盘在线扩容不重启虚拟机里添加磁盘 检查磁盘空间:运复制项目的linux命令?
复制项目的linux命令?,系统,项目,文件,命令,目录,源文件,语法,选项,目标,功能,在Linux操作系统中复制文件或目录时使用的命令是()。1、在Linuxlinux命令项目部署?
linux命令项目部署?,项目,服务,环境,软件,系统,代理,管理,统一,做好,业务,怎么把php部署到apache服务器上linux?1、在linux部署php项目的方法:linux部署项目的命令?
linux部署项目的命令?,项目,系统,设备,环境,工作,基础,传播,信息,标准,代码,Linux部署springBoot项目并且查看控制台日志指定路径:如下: /data/wlinux项目常用命令?
linux项目常用命令?,工作,地址,系统,信息,管理,项目,命令,目录,标准,网络,linux常用的20个命令系统管理相关命令:df、top、free、quota、at、lplinux项目更新命令?
linux项目更新命令?,系统,信息,网络,地址,网站,通信,管理,时间,项目,命令,linux必学的60条命令是什么?压缩和解压缩:tar:打包或解包文件。gzip:压启动项目命令linux?
启动项目命令linux?,工作,经理,产品,技术,地址,数字,系统,项目,命令,信息,怎么在linux启动的时候执行一个命令?1、在启动时执行 Linux 脚本 有