Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate git repository per module #148

Open
mityacor opened this issue Sep 28, 2017 · 1 comment
Open

Separate git repository per module #148

mityacor opened this issue Sep 28, 2017 · 1 comment

Comments

@mityacor
Copy link

Description of problem

We don't have one big repo, but each puppet module lives in its own git repository.
Can I still use octocatalog-diff ?
I was trying to follow advanced-using-without-git, but it still tries to find a repository in

/opt/rh/ruby200/root/usr/local/share/gems/gems/octocatalog-diff-1.4.0/lib/octocatalog-diff/catalog-util/git.rb:67:in 'new': could not find repository from '/home/dmitry.korochkin/puppet' (Rugged::RepositoryError) from /opt/rh/ruby200/root/usr/local/share/gems/gems/octocatalog-diff-1.4.0/lib/octocatalog-diff/catalog-util/git.rb:67:in 'branch_sha' from /opt/rh/ruby200/root/usr/local/share/gems/gems/octocatalog-diff-1.4.0/lib/octocatalog-diff/catalog-util/cached_master_directory.rb:112:in 'git_repo_checkout_bootstrap' from /opt/rh/ruby200/root/usr/local/share/gems/gems/octocatalog-diff-1.4.0/lib/octocatalog-diff/catalog-util/cached_master_directory.rb:49:in 'run' from /opt/rh/ruby200/root/usr/local/share/gems/gems/octocatalog-diff-1.4.0/lib/octocatalog-diff/cli.rb:99:in 'cli' from /opt/rh/ruby200/root/usr/local/share/gems/gems/octocatalog-diff-1.4.0/bin/octocatalog-diff:34:in '<top (required)>' from /opt/rh/ruby200/root/usr/local/bin/octocatalog-diff:23:in 'load' from /opt/rh/ruby200/root/usr/local/bin/octocatalog-diff:23:in '<main>'

Command line:
/opt/rh/ruby200/root/usr/local/bin/octocatalog-diff -d --bootstrap-then-exit --bootstrapped-from-dir=/etc/puppetlabs/puppet --bootstrapped-to-dir=/home/test/puppet

Platform and version information

  • Your OS: Linux RHEL6
  • Your Ruby version: ruby 2.0.0p353
  • Your version of Puppet: 3.8.7
  • Your version of octocatalog-diff: 1.4.0
@kpaulisse
Copy link
Contributor

Since you're looking to override bootstrapping, I suggest that you skip the --bootstrap-then-exit step entirely. There is no value, only more complexity, in wrapping a bootstrap script through octocatalog-diff in your situation.

I'd suggest something like this (untested):

#!/bin/bash
olddir=$(mktemp -d /tmp/octocatalog-diff-old-checkout.XXXXXXXX)
newdir=$(mktemp -d /tmp/octocatalog-diff-new-checkout.XXXXXXXX)

cleanup() {
  rm -rf "$olddir"
  rm -rf "$newdir"
}
trap cleanup EXIT

cd "$olddir"
# check out all your stuff from master branch

cd "$newdir"
# check out all your stuff from feature branch

bundle exec bin/octocatalog-diff --bootstrapped-from-dir "$olddir" --bootstrapped-to-dir "$newdir" "$@"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants