mirror of
https://github.com/git/git.git
synced 2026-01-18 14:44:28 +00:00
Support Vagrant: quick & easy Linux virtual machine setup
When developing Git for Windows, we always have to ensure that we do not break any non-Windows platforms, e.g. by introducing Windows-specific code into the platform-independent source code. At other times, it is necessary to test whether a bug is Windows-specific or not, in order to send the bug report to the correct place. Having access to a Linux-based Git comes in really handy in such a situation. Vagrant offers a painless way to install and use a defined Linux development environment on Windows (and other Operating Systems). We offer a Vagrantfile to that end for two reasons: 1) To allow Windows users to gain the full power of Linux' Git 2) To offer users an easy path to verify that the issue they are about to report is really a Windows-specific issue; otherwise they would need to report it to git@vger.kernel.org instead. Using it is easy: Download and install https://www.virtualbox.org/, then download and install https://www.vagrantup.com/, then direct your command-line window to the Git source directory containing the Vagrantfile and run the commands: vagrant up vagrant ssh See https://github.com/git-for-windows/git/wiki/Vagrant for details. As part of switching Git for Windows' development environment from msysGit to the MSys2-based Git SDK, this Vagrantfile was copy-edited from msysGit: https://github.com/msysgit/msysgit/blob/0be8f2208/Vagrantfile Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
committed by
Jameson Miller
parent
84b5af1851
commit
5e23e0a9a9
3
.gitignore
vendored
3
.gitignore
vendored
@@ -269,3 +269,6 @@ Release/
|
||||
/UpgradeLog*.htm
|
||||
/git.VC.VC.opendb
|
||||
/git.VC.db
|
||||
/.vagrant/
|
||||
/vagrant2[0-9][0-9][0-9]*-*-*
|
||||
/d2[0-9][0-9][0-9]*-*-*
|
||||
|
||||
57
Vagrantfile
vendored
Normal file
57
Vagrantfile
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
# This Vagrantfile defines the requirements of a Linux development environment
|
||||
# to develop/run Git. This environment can be set up conveniently by installing
|
||||
# Vagrant and VirtualBox and calling "vagrant up" in the /usr/src/git directory.
|
||||
#
|
||||
# See https://github.com/git-for-windows/git/wiki/Vagrant for details.
|
||||
|
||||
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
||||
VAGRANTFILE_API_VERSION = "2"
|
||||
|
||||
$provision = <<PROVISION
|
||||
apt-get update
|
||||
apt-get install -y make gcc libexpat-dev libcurl4-openssl-dev gettext tk8.6 libsvn-perl
|
||||
|
||||
# clean .profile in case we're re-provisioning
|
||||
n="$(grep -n 'cd /vagrant' < /home/vagrant/.profile 2> /dev/null |
|
||||
sed 's/:.*//')"
|
||||
test -z "$n" || {
|
||||
head -n $(($n-1)) < /home/vagrant/.profile > /tmp/.profile
|
||||
mv /tmp/.profile /home/vagrant/.profile
|
||||
}
|
||||
|
||||
# add a nice greeting
|
||||
cat >> /home/vagrant/.profile << \EOF
|
||||
|
||||
cd /vagrant/
|
||||
export PATH=/home/vagrant/bin:$PATH
|
||||
cat << \TOOEOF
|
||||
|
||||
Welcome to the Vagrant setup for Git!
|
||||
--------------------------------------
|
||||
|
||||
To build & install Git, just execute
|
||||
|
||||
make -j NO_PERL_MAKEMAKER=t install
|
||||
|
||||
For more information, see https://github.com/git-for-windows/git/wiki/Vagrant
|
||||
TOOEOF
|
||||
EOF
|
||||
|
||||
cat << EOF
|
||||
|
||||
Now that everything is set up, connect to the Vagrant machine with the command:
|
||||
|
||||
vagrant ssh
|
||||
|
||||
EOF
|
||||
PROVISION
|
||||
|
||||
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||
config.vm.box = "ubuntu/trusty64"
|
||||
config.vm.box_url = "https://atlas.hashicorp.com/ubuntu/boxes/trusty64"
|
||||
|
||||
config.vm.provision :shell, :inline => $provision
|
||||
end
|
||||
Reference in New Issue
Block a user