【问题标题】:Get current branch name or tag name获取当前分支名称或标签名称
【发布时间】:2015-05-14 03:50:29
【问题描述】:

我正在编写一个 Puppet 模块,用于管理当前在本地 Git 存储库中签出的分支或标签。我基本上想让用户指定他们想要签出的存储库版本。这可能是master(一个分支)或v3.6.2(一个标签)。

这是我目前所得到的:

exec { 'gitolite_select_version':
    command => "git checkout ${actual_version}",
    cwd     => '/usr/src/gitolite',
    path    => '/bin:/usr/bin',
    unless  => "test \"$(git describe --contains --all HEAD)\" == ${actual_version}""
}

这在 master 之类的分支上运行良好,但在分离的 HEAD (如标签)上时输出不佳。 master上的例子

$ git describe --contains --all HEAD
master

标签示例:

$ git describe --contains --all HEAD
tags/v3.6.2^0

是否有一个 Git 命令可以让我以简单、统一的格式获取分支名称或当前标签?

【问题讨论】:

标签: git puppet


【解决方案1】:

您是否考虑过使用puppetlabs-vcsrepo?这是模块管理的事情:

vcsrepo { "/usr/src/gitolite":
  ensure   => present,
  provider => git,
  source   => 'git://example.com/repo.git',
  revision => $actual_version,
}

【讨论】:

  • 我不知道这是一个选项,感谢您指出。
猜你喜欢
  • 2013-09-10
  • 2023-03-09
  • 1970-01-01
  • 2010-11-27
  • 1970-01-01
  • 2011-09-08
  • 2017-08-11
  • 1970-01-01
相关资源
最近更新 更多