New Supermarket Announcements!

The Chef Community Cookbooks Survey

We would love to know more about what you think about community cookbooks and are runnning a quick survey. This will help us understand the role they play in your use of Chef. As a community member, you are invited to participate. You have a unique understanding of the role community cookbooks have in your work, and we value your opinion. Most people take about 5 minutes to complete this survey. There are no right or wrong answers; we are interested in your opinions.
Chef Community Cookbooks Survey

Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the supermarket mailing list or in Gitter.

Select Supported Platforms

RSS

git (38) Versions 4.3.3

Installs git and/or sets up a Git server daemon

Berkshelf
Librarian
Knife
cookbook 'git', '~> 4.3.3'
cookbook 'git', '~> 4.3.3'
knife cookbook site install git
knife cookbook site download git
README
Dependencies
Changelog
Foodcritic

Git Cookbook

Installs git_client from package or source. Optionally sets up a git service under xinetd.

Scope

This cookbook is concerned with the Git SCM utility. It does not address ecosystem tooling or related projects.

Requirements

  • Chef 11 or higher
  • Ruby 1.9 or higher (preferably from the Chef full-stack installer)
  • Network accessible package repositories or a web server hosting source tarballs.

Platform Support

The following platforms have been tested with Test Kitchen:

|--------------+-------|
| centos-5     | X     |
|--------------+-------|
| centos-6     | X     |
|--------------+-------|
| centos-7     | X     |
|--------------+-------|
| fedora-21    | X     |
|--------------+-------|
| debian-7.0   | X     |
|--------------+-------|
| ubuntu-12.04 | X     |
|--------------+-------|
| ubuntu-14.04 | X     |
|--------------+-------|
| ubuntu-15.04 | X     |
|--------------+-------|

Cookbook Dependencies

  • depends 'build-essential' - For compiling from source
  • depends 'dmg' - For OSX Support
  • depends 'windows' - For Windows support
  • depends 'yum-epel' - For older RHEL platform_family support

Usage

  • Add git::default, git::source, of git::windows to your run_list OR
  • Add depends 'git', '~> 4.3' to your cookbook's metadata.rb
  • include_recipe one of the recipes from your cookbook OR
  • Use the git_client resource directly, the same way you'd use core Chef resources (file, template, directory, package, etc).

Resources Overview

  • git_client: Manages a Git client installation on a machine. Acts as a singleton when using the (default) package provider. Source provider available as well.

  • git_service: Sets up a Git service via xinetd. WARNING: This is insecure and will probably be removed in the future

git_client

The git_client resource manages the installation of a Git client on a machine.

Example

git_client 'default' do
  action :install
end

Properties

Currently, there are distinct sets of resource properties, used by the providers for source, package, osx, and windows.

used by linux package providers

  • package_name - Package name to install on Linux machines. Defaults to a calculated value based on platform.
  • package_version - Defaults to nil.
  • package_action - Defaults to :install

used by source providers

  • source_prefix - Defaults to '/usr/local'
  • source_url - Defaults to a calculated URL based on source_version
  • source_version - Defaults to 1.9.5
  • source_use_pcre - configure option for build. Defaults to false
  • source_checksum - Defaults to a known value for the 1.9.5 source tarball

used by OSX package providers

  • osx_dmg_app_name - Defaults to 'git-1.9.5-intel-universal-snow-leopard'
  • osx_dmg_package_id - Defaults to 'GitOSX.Installer.git195.git.pkg'
  • osx_dmg_volumes_dir - Defaults to 'Git 1.9.5 Snow Leopard Intel Universal'
  • osx_dmg_url - Defaults to Sourceforge
  • osx_dmg_checksum - Defaults to the value for 1.9.5

used by the Windows package providers

  • windows_display_name - Windows display name
  • windows_package_url - Defaults to the Internet
  • windows_package_checksum - Defaults to the value for 1.9.5

Recipes

This cookbook ships with ready to use, attribute driven recipes that utilize the git_client and git_service resources. As of cookbook 4.x, they utilize the same attributes layout scheme from the 3.x. Due to some overlap, it is currently impossible to simultaneously install the Git client as a package and from source by using the "manipulate a the node attributes and run a recipe" technique. If you need both, you'll need to utilize the git_client resource in a recipe.

Attributes

Windows

  • node['git']['version'] - git version to install
  • node['git']['url'] - URL to git package
  • node['git']['checksum'] - package SHA256 checksum
  • node['git']['display_name'] - windows_package resource Display Name (makes the package install idempotent)

Mac OS X

  • node['git']['osx_dmg']['url'] - URL to git package
  • node['git']['osx_dmg']['checksum'] - package SHA256 checksum

Linux

  • node['git']['prefix'] - git install directory
  • node['git']['version'] - git version to install
  • node['git']['url'] - URL to git tarball
  • node['git']['checksum'] - tarball SHA256 checksum
  • node['git']['use_pcre'] - if true, builds git with PCRE enabled

License and Author

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Dependent cookbooks

yum-epel >= 0.0.0
windows >= 0.0.0
dmg >= 0.0.0
build-essential >= 0.0.0

Contingent cookbooks

amoeba_basenode Applicable Versions
apache2-git-site Applicable Versions
apache2_odin_auth Applicable Versions
appbox Applicable Versions
babushka Applicable Versions
baggage Applicable Versions
bamboo Applicable Versions
baragon Applicable Versions
baseserver Applicable Versions
bash-it Applicable Versions
berkshelf-api Applicable Versions
burp Applicable Versions
camo Applicable Versions
carbon Applicable Versions
cgit Applicable Versions
chef-manageiq Applicable Versions
chef-server Applicable Versions
chef-teamcity Applicable Versions
chefdk_bootstrap Applicable Versions
cloudfoundry Applicable Versions
cookbook_pusher Applicable Versions
cups Applicable Versions
dbench Applicable Versions
devstack Applicable Versions
diamond_lwrp Applicable Versions
diaspora Applicable Versions
docker Applicable Versions
docker_registry Applicable Versions
dokku Applicable Versions
doozer Applicable Versions
dynomite Applicable Versions
elixir Applicable Versions
errbit Applicable Versions
errbit-server Applicable Versions
et_fog Applicable Versions
etcd Applicable Versions
etckeeper Applicable Versions
eulipion-slate Applicable Versions
ffmpeg Applicable Versions
fieri Applicable Versions
foreman Applicable Versions
gallery Applicable Versions
gem_specific_install Applicable Versions
gerrit Applicable Versions
ghost Applicable Versions
giraffe Applicable Versions
git-ssh-server Applicable Versions
git_user Applicable Versions
github-enterprise Applicable Versions
github-users Applicable Versions
github_backup Applicable Versions
gitlab Applicable Versions
gitlab-server Applicable Versions
gitlab-shell Applicable Versions
gitolite-server Applicable Versions
golang Applicable Versions
gpac Applicable Versions
grafana Applicable Versions
graphene Applicable Versions
graphite_lwrp Applicable Versions
greenscreen Applicable Versions
homesick Applicable Versions
httplivestreamsegmenter Applicable Versions
hubot Applicable Versions
huginn Applicable Versions
iptables_web Applicable Versions
ipxe Applicable Versions
jenkins-server Applicable Versions
jenkins_build Applicable Versions
jenkins_drupal Applicable Versions
jenkins_utils Applicable Versions
jently Applicable Versions
jenv Applicable Versions
justinaiken_dotfiles Applicable Versions
kibana_lwrp Applicable Versions
libfdk_aac Applicable Versions
libvpx Applicable Versions
lmctfy Applicable Versions
logstash Applicable Versions
logster Applicable Versions
magentostack Applicable Versions
mater Applicable Versions
mcrouter Applicable Versions
metarepo Applicable Versions
modcloth-hubot Applicable Versions
mono Applicable Versions
mono3 Applicable Versions
mono4 Applicable Versions
mozilla-firefox-accounts Applicable Versions
mozilla-firefox-sync Applicable Versions
mozilla-sync Applicable Versions
mplayer Applicable Versions
ndenv Applicable Versions
node Applicable Versions
nodebrew Applicable Versions
nodestack Applicable Versions
npm_registry Applicable Versions
nvm Applicable Versions
oclint Applicable Versions
oh-my-zsh Applicable Versions
ohmage Applicable Versions
omnibus Applicable Versions
openresty Applicable Versions
opensmtpd Applicable Versions
openstack-mistral Applicable Versions
pdns Applicable Versions
phpcs Applicable Versions
phpstack Applicable Versions
pipeline Applicable Versions
platformstack Applicable Versions
plexconnect Applicable Versions
pythonstack Applicable Versions
rackops_rolebook Applicable Versions
radiant Applicable Versions
rails_application Applicable Versions
razor Applicable Versions
rbenv Applicable Versions
rbenv-gemset Applicable Versions
riak Applicable Versions
ruby-install Applicable Versions
s3fs-c Applicable Versions
screen Applicable Versions
sensu Applicable Versions
signalfx Applicable Versions
singularity Applicable Versions
sitecore Applicable Versions
skyline Applicable Versions
stackstorm Applicable Versions
stash Applicable Versions
statsd Applicable Versions
statsite Applicable Versions
stoplight Applicable Versions
sugar_crm Applicable Versions
sugarcrm Applicable Versions
sugarcrm-ce Applicable Versions
sugarcrm_ce Applicable Versions
supermarket Applicable Versions
symfony Applicable Versions
symfony_project Applicable Versions
tarsnap Applicable Versions
taskwarrior Applicable Versions
teampass Applicable Versions
tig Applicable Versions
uptime Applicable Versions
ut_base Applicable Versions
vagrant-node-simple Applicable Versions
varnishd Applicable Versions
vim-go Applicable Versions
vim_config Applicable Versions
vslinko Applicable Versions
x264 Applicable Versions
xbuild Applicable Versions
yasm Applicable Versions
zabbix-ruby-client Applicable Versions
zerovm Applicable Versions

git Cookbook CHANGELOG

This file is used to list changes made in each version of the git cookbook.

v4.3.3 (2015-07-27)

  • #76: Use checksum keyname instead of value in source recipe

v4.3.2 (2015-07-27)

  • Fixing up Windows provider (issue #73)
  • Supporting changes to source_prefix in source provider (#62)

v4.3.1 (2015-07-23)

  • Fixing up osx_dmg_source_url

v4.3.0 (2015-07-20)

  • Removing references to node attributes from provider code
  • Name-spacing of client resource property names
  • Addition of windows recipe
  • Creation of package recipe

v4.2.4 (2015-07-19)

  • Fixing source provider selection bug from 4.2.3

v4.2.3 (2015-07-18)

  • mac_os_x provider mapping
  • various rubocops

v4.2.2 (2015-04-23)

  • Fix up action in Chef::Resource::GitService
  • Adding matchers

v4.2.1 (2015-04-17)

  • Fixing Chef 11 support.
  • Adding provider mapping file

v4.2.0 (2015-04-15)

  • Converting recipes to resources.
  • Keeping recipe interface for backwards compat

v4.1.0 (2014-12-23)

  • Fixing windows package checksums
  • Various test coverage additions

v4.0.2 (2014-04-23)

  • [COOK-4482] - Add FreeBSD support for installing git client

v4.0.0 (2014-03-18)

  • [COOK-4397] Only use_inline_resources on Chef 11

v3.1.0 (2014-03-12)

  • [COOK-4392] - Cleanup git_config LWRP

v3.0.0 (2014-02-28)

[COOK-4387] Add git_config type [COOK-4388] Fix up rubocops [COOK-4390] Add integration tests for default and server suites

v2.10.0 (2014-02-25)

  • [COOK-4146] - wrong dependency in git::source for rhel 6
  • [COOK-3947] - Git cookbook adds itself to the path every run

v2.9.0

Updating to depend on cookbook yum ~> 3 Fixing style to pass rubocop Updating test scaffolding

v2.8.4

fixing metadata version error. locking to 3.0

v2.8.1

Locking yum dependency to '< 3'

v2.8.0

Bug

  • [COOK-3433] - git::server does not correctly set git-daemon's base-path on Debian

v2.7.0

Bug

  • COOK-3624 - Don't restart xinetd on each Chef client run
  • COOK-3482 - Force git to add itself to the current process' PATH

New Feature

  • COOK-3223 - Support Omnios and SmartOS package installs

v2.6.0

Improvement

v2.5.2

Bug

  • [COOK-2813]: Fix bad string interpolation in source recipe

v2.5.0

  • Relax runit version constraint (now depend on 1.0+).

v2.4.0

  • [COOK-2734] - update git versions

v2.3.0

  • [COOK-2385] - update git::server for runit_service resource support

v2.2.0

  • [COOK-2303] - git::server support for RHEL platform_family

v2.1.4

  • [COOK-2110] - initial test-kitchen support (only available in GitHub repository)
  • [COOK-2253] - pin runit dependency

v2.1.2

  • [COOK-2043] - install git on ubuntu 12.04 not git-core

v2.1.0

The repository didn't have pushed commits, and so the following changes from earlier-than-latest versions wouldn't be available on the community site. We're releasing 2.1.0 to correct this.

  • [COOK-1943] - Update to git 1.8.0
  • [COOK-2020] - Add setup option attributes to Git Windows package install

v2.0.0

This version uses platform_family attribute, making the cookbook incompatible with older versions of Chef/Ohai, hence the major version bump.

  • [COOK-1668] - git cookbook fails to run due to bad platform_family call
  • [COOK-1759] - git::source needs additional package for rhel platform_family

v1.1.2

  • [COOK-2020] - Add setup option attributes to Git Windows package install

v1.1.0

  • [COOK-1943] - Update to git 1.8.0

v1.0.2

  • [COOK-1537] - add recipe for source installation

v1.0.0

  • [COOK-1152] - Add support for Mac OS X
  • [COOK-1112] - Add support for Windows

v0.10.0

  • [COOK-853] - Git client installation on CentOS

v0.9.0

  • Current public release
FC031: Cookbook without metadata file: /tmp/cook/723ca22787c5a806bff678e7/git/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/723ca22787c5a806bff678e7/git/metadata.rb:1