我最近询问了Git中的关键字扩展,我愿意接受这个设计,不要在Git中真正支持这个想法.
无论好坏,我正在进行的项目需要SVN关键字扩展,如下所示:
svn propset svn:keywords "Id" expl3.dtx
Run Code Online (Sandbox Code Playgroud)
保持这个字符串是最新的:
$Id: expl3.dtx 803 2008-09-11 14:01:58Z will $
Run Code Online (Sandbox Code Playgroud)
但我非常想用Git来进行版本控制.不幸的是,根据文档,git-svn不支持这一点:
"除了svn:executable之外,我们忽略了所有SVN属性"
但是,通过一些前/后提交挂钩模拟这个关键字的东西似乎并不太棘手.我是第一个想要这个的人吗?有没有人有一些代码来做到这一点?
我曾经在Subversion/SVN下工作,并立即使用称为关键字替换的好功能.只需输入源文件即可:
/*
* $Author: ivanovpv $
* $Rev: 42 $
* $LastChangedDate: 2012-05-25 21:47:42 +0200 (Fri, 25 May 2012) $
*/
Run Code Online (Sandbox Code Playgroud)
每次Subversion都用实际的关键字替换关键字(Author,Rev,LastChangedDate).
前段时间我被迫转移到Git,只是想知道是否有类似Subversion在Git中的关键字替换?
我正在考虑从subversion迁移到git.我们使用subversion为我们的系统管理员管理诸如配置文件之类的东西之一.为此,我们将$URL$每个文件放入,该文件扩展到subversion树中文件的位置.这使管理员可以查看某个任意主机上的文件,并找出它来自树的位置.
我能找到的最接近的模拟是gitattributes.有filter=指令,但似乎git没有向过滤器传达它过滤的文件名,这是转换$URL$成路径所必需的.
还有ident指令,它将变成$Id$blob哈希.如果可以将其映射回路径名,这可能是有用的,但我的git-fu不够强大.
有什么建议?
工作流程如下: