From bdbcefbd7ab5a75c0d3331d383648e521a0695cb Mon Sep 17 00:00:00 2001 From: Blaine Morgan Date: Fri, 25 Apr 2014 12:01:15 -0700 Subject: [PATCH 1/7] Added boxen upgrade instructions --- README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/README.md b/README.md index 5ae02a4..ee8dbd5 100644 --- a/README.md +++ b/README.md @@ -315,6 +315,43 @@ fork. You'll still be the maintainer, you'll still own the issues and PRs. It'll just be listed under the boxen org so folks can find it more easily. +##upgrading boxen +distilled from http://grahamgilbert.com/blog/2014/04/04/updating-boxen/ +As Boxen is made by GitHub, updating it is much like updating any other project on there that you’ve made a fork of. First we’re going to add it as a remote repository: + +```bash +cd ~/src/our-boxen +git remote add upstream https://github.com/boxen/our-boxen.git +``` +Then we’re going to fetch the stuff from the upstream repository: + +```bash +git fetch upstream +``` + +Now we’re going to merge the updated repository with our own: + +```bash +git checkout master +git merge upstream/master +``` + +Now deal with conflicts in (Puppetfile, manifests/site.pp), ignore any diffs in Puppetfile.lock and Gemfile.lock. + + +```bash +git mergetool +``` + +The next step is to update your Puppet modules and RubyGems. First delete Puppetfile.lock and Gemfile.lock. Now go back to your trusty Terminal and: + +```bash +rm Puppetfile.lock Gemfile.lock +bundle install --without development +bundle exec librarian-puppet install --clean +``` + + ## Integrating with Github Enterprise If you're using a Github Enterprise instance rather than github.com, From 51497a0510bfa4feaa83b041e9884cb6c48a93d1 Mon Sep 17 00:00:00 2001 From: Jake Craige Date: Wed, 7 May 2014 09:03:10 -0500 Subject: [PATCH 2/7] update Puppetfile homebrew version --- Puppetfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Puppetfile b/Puppetfile index d04fc1f..bb4f79e 100644 --- a/Puppetfile +++ b/Puppetfile @@ -43,7 +43,7 @@ github "foreman", "1.2.0" github "gcc", "2.0.100" github "git", "2.3.0" github "go", "1.1.0" -github "homebrew", "1.6.2" +github "homebrew", "1.9.2" github "hub", "1.3.0" github "inifile", "1.0.3", :repo => "puppetlabs/puppetlabs-inifile" github "nginx", "1.4.3" From bace1f5def255c1601af597f0ddf8376dd8d403a Mon Sep 17 00:00:00 2001 From: Blaine Morgan Date: Fri, 16 May 2014 16:01:44 -0700 Subject: [PATCH 3/7] Added more detailed update process --- docs/faq.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/docs/faq.md b/docs/faq.md index 72e659f..f013817 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -10,6 +10,43 @@ When removing applications make sure to remove the corresponding `/var/db/.puppe Run `script/nuke` from inside the `/opt/boxen/repo` directory. +### Q: How do you upgrade your boxem from the public our-boxen? +Anwser distilled from http://grahamgilbert.com/blog/2014/04/04/updating-boxen/ +As Boxen is made by GitHub, updating it is much like updating any other project on there that you’ve made a fork of. First we’re going to add it as a remote repository: + +```bash +cd ~/src/our-boxen +git remote add upstream https://github.com/boxen/our-boxen.git +``` +Then we’re going to fetch the stuff from the upstream repository: + +```bash +git fetch upstream +``` + +Now we’re going to merge the updated repository with our own: + +```bash +git checkout master +git merge upstream/master +``` + +Now deal with conflicts in (Puppetfile, manifests/site.pp), ignore any diffs in Puppetfile.lock and Gemfile.lock. + + +```bash +git mergetool +``` + +The next step is to update your Puppet modules and RubyGems. First delete Puppetfile.lock and Gemfile.lock. Now go back to your trusty Terminal and: + +```bash +rm Puppetfile.lock Gemfile.lock +bundle install --no-deployment --without development +bundle exec librarian-puppet install --clean +``` + + ### Q: What's a good approach to merging our-boxen back into my private fork? One approach is to delete the Gemfile.lock and Puppetfile.lock and run: From ff9161ec73939dbba26d09ccd2d72d9179ce3264 Mon Sep 17 00:00:00 2001 From: Blaine Morgan Date: Fri, 16 May 2014 16:03:17 -0700 Subject: [PATCH 4/7] Moved Upgrading instructions to FAQ --- README.md | 36 +----------------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/README.md b/README.md index ee8dbd5..12666da 100644 --- a/README.md +++ b/README.md @@ -316,41 +316,7 @@ You'll still be the maintainer, you'll still own the issues and PRs. It'll just be listed under the boxen org so folks can find it more easily. ##upgrading boxen -distilled from http://grahamgilbert.com/blog/2014/04/04/updating-boxen/ -As Boxen is made by GitHub, updating it is much like updating any other project on there that you’ve made a fork of. First we’re going to add it as a remote repository: - -```bash -cd ~/src/our-boxen -git remote add upstream https://github.com/boxen/our-boxen.git -``` -Then we’re going to fetch the stuff from the upstream repository: - -```bash -git fetch upstream -``` - -Now we’re going to merge the updated repository with our own: - -```bash -git checkout master -git merge upstream/master -``` - -Now deal with conflicts in (Puppetfile, manifests/site.pp), ignore any diffs in Puppetfile.lock and Gemfile.lock. - - -```bash -git mergetool -``` - -The next step is to update your Puppet modules and RubyGems. First delete Puppetfile.lock and Gemfile.lock. Now go back to your trusty Terminal and: - -```bash -rm Puppetfile.lock Gemfile.lock -bundle install --without development -bundle exec librarian-puppet install --clean -``` - +See [FAQ-Upgrading](https://github.com/nbmorgan/our-boxen/blob/master/docs/faq.md#q-how-do-you-upgrade-your-boxem-from-the-public-our-boxen). ## Integrating with Github Enterprise From cfe24f76bb2cc68f91b004f3ac4fb45a5f78bc42 Mon Sep 17 00:00:00 2001 From: Blaine Morgan Date: Fri, 16 May 2014 17:04:45 -0700 Subject: [PATCH 5/7] fixed spelling error --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index f013817..cc7d7f0 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -10,7 +10,7 @@ When removing applications make sure to remove the corresponding `/var/db/.puppe Run `script/nuke` from inside the `/opt/boxen/repo` directory. -### Q: How do you upgrade your boxem from the public our-boxen? +### Q: How do you upgrade your boxen from the public our-boxen? Anwser distilled from http://grahamgilbert.com/blog/2014/04/04/updating-boxen/ As Boxen is made by GitHub, updating it is much like updating any other project on there that you’ve made a fork of. First we’re going to add it as a remote repository: From cb8fb9c55c488b40794f8c16cbf62c97244f23c1 Mon Sep 17 00:00:00 2001 From: Blaine Morgan Date: Sun, 18 May 2014 17:51:12 -0700 Subject: [PATCH 6/7] Update README.md Other boxem fixed. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 12666da..b118600 100644 --- a/README.md +++ b/README.md @@ -316,7 +316,7 @@ You'll still be the maintainer, you'll still own the issues and PRs. It'll just be listed under the boxen org so folks can find it more easily. ##upgrading boxen -See [FAQ-Upgrading](https://github.com/nbmorgan/our-boxen/blob/master/docs/faq.md#q-how-do-you-upgrade-your-boxem-from-the-public-our-boxen). +See [FAQ-Upgrading](https://github.com/boxen/our-boxen/blob/master/docs/faq.md#q-how-do-you-upgrade-your-boxen-from-the-public-our-boxen). ## Integrating with Github Enterprise From e148157d7e524059e779a4f60002315d3cb40367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?= Date: Mon, 19 May 2014 10:53:43 -0300 Subject: [PATCH 7/7] Upgrade puppet-git to 2.3.1 Closes #598 --- Puppetfile | 2 +- Puppetfile.lock | 4 ++-- .../puppet/cache/boxen-puppet-git-2.3.0.tar.gz | Bin 7660 -> 0 bytes .../puppet/cache/boxen-puppet-git-2.3.1.tar.gz | Bin 0 -> 7664 bytes 4 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 vendor/puppet/cache/boxen-puppet-git-2.3.0.tar.gz create mode 100644 vendor/puppet/cache/boxen-puppet-git-2.3.1.tar.gz diff --git a/Puppetfile b/Puppetfile index bb4f79e..f566846 100644 --- a/Puppetfile +++ b/Puppetfile @@ -41,7 +41,7 @@ github "module-data", "0.0.3", :repo => "ripienaar/puppet-module-data" github "dnsmasq", "1.0.1" github "foreman", "1.2.0" github "gcc", "2.0.100" -github "git", "2.3.0" +github "git", "2.3.1" github "go", "1.1.0" github "homebrew", "1.9.2" github "hub", "1.3.0" diff --git a/Puppetfile.lock b/Puppetfile.lock index 4c51e7b..24eb886 100644 --- a/Puppetfile.lock +++ b/Puppetfile.lock @@ -21,7 +21,7 @@ GITHUBTARBALL GITHUBTARBALL remote: boxen/puppet-git specs: - git (2.3.0) + git (2.3.1) GITHUBTARBALL remote: boxen/puppet-go @@ -103,7 +103,7 @@ DEPENDENCIES dnsmasq (= 1.0.1) foreman (= 1.2.0) gcc (= 2.0.100) - git (= 2.3.0) + git (= 2.3.1) go (= 1.1.0) homebrew (= 1.6.2) hub (= 1.3.0) diff --git a/vendor/puppet/cache/boxen-puppet-git-2.3.0.tar.gz b/vendor/puppet/cache/boxen-puppet-git-2.3.0.tar.gz deleted file mode 100644 index e09039d1ff3dd8a75175e7d4ab10f019719191af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7660 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 literal 0 HcmV?d00001