查找类似于“的命令”;“svn xx”;在git中(在某些概念中也有混淆)
我正在使用一个基准测试环境在公司代码库主干的工作副本上运行性能测试 我们有一个大型ant构建文件,用于管理整个测试过程(使用示例数据构建数据库;构建、部署和运行产品;构建、部署和运行研磨机和监控工具;对各种类型的信息进行采样)。在此过程中,有两个步骤与SVN相关:查找类似于“的命令”;“svn xx”;在git中(在某些概念中也有混淆),git,svn,Git,Svn,我正在使用一个基准测试环境在公司代码库主干的工作副本上运行性能测试 我们有一个大型ant构建文件,用于管理整个测试过程(使用示例数据构建数据库;构建、部署和运行产品;构建、部署和运行研磨机和监控工具;对各种类型的信息进行采样)。在此过程中,有两个步骤与SVN相关: 构建产品时,基准ant脚本调用工作副本中的ant构建文件,并在自定义任务中调用svn info,以获取本地工作副本的当前修订号(来自输出中的“当前修订号为:12345”行),稍后将使用它来命名日志归档文件 开始采样时,基准ant脚本将
svn info
,以获取本地工作副本的当前修订号(来自输出中的“当前修订号为:12345”行),稍后将使用它来命名日志归档文件svn info
,svn status
,svn diff
,并将输出保存到日志文件中- svn修订版和git修订版的相似点和不同点是什么
- 我应该用什么来获得git中的修订版“数字”(我知道它不是数字),就像我在上面的“1”中所做的那样???是git branch-v吗李>
- 我应该在git中使用什么来获得尽可能多的信息,就像我在上面的“2”中所做的那样???
,git remote-v
,git branch-v
,git log--max count=1
,git status
是否足够git diff
- 如何使用
生成一个diff文件,该文件既可以在git和svn中使用,也可以在其他支持应用diff的编辑器中使用git diff
HEAD
标记转换为修订的哈希git remote-v
,git branch-v
,git log--max count=1
,git status
,git diff
是否足够
我想这取决于你需要什么信息。这应该涵盖来自svn info
、svn status
和svn diff
的大部分输出git diff-p>a.diff
将创建标准的统一差异。Svn不会以正常方式处理修补程序(git通常可以读取Svn生成的修补程序)。这可能有助于您转换为svn修补程序格式:对于发布部分的修订,git的常见做法是使用和的组合
比如说,当您准备好标记构建时,您可以执行
git-tag-a 1.0.0
,然后在提交另外5次提交后,通过git-push-tags
将标记推送到原始repo,git descripe
将返回类似于1.0.0-5-g13f0e88
的内容,您可以将其用作版本字符串。如果您正在检查目录是否位于git repo中,您可能会发现这一点也很有用,一个好方法是使用git重新解析——在工作树中,而不仅仅是查找.git
目录。谢谢你的努力。对于2,这是本地回购协议的修订版吗?我们需要修订版,因为我们需要知道我们构建产品的版本,以便以后可以查看代码更改。对于4,由于整个测试过程是由ant脚本自动处理的,并且我们每天生成10个以上的测试档案,因此最好是自动转换diff文件。然而,似乎没有一个好的/自动的方法使diff兼容(尽管这应该是SVN的错误)…此外,对于修补问题,如果没有任何解决方法,我们可以接受修补程序仅适用于测试人员正在使用的版本控制系统。(2)是的,HEAD
是当前签出的,因此,使用git rev parse HEAD
为当前提交获取哈希id。(4) 这个脚本可能适合您:我想我以前已经让它工作了,但从未在任何实际工作中使用过。gist.github.com/1520442我发现hunk header中的函数/类描述阻止SmartSVN识别差异文件。所以我改变了剧本,做了一点小小的改变。这样安全吗?
git rev-parse HEAD