Coder Social home page Coder Social logo

between-meals's Introduction

Between Meals

Continuous Integration

Intro

Ohai!

Between Meals is the library for calculating what Chef objects were modified between two revisions in a version control system. It is also the library that backs Taste Tester and Grocery Delivery.

It currently supports SVN, GIT and HG, but plugins can easily be written for other source control systems.

It also includes some wrappers around knife execution and a few other utility functions.

Dependencies

  • Colorize
  • Mixlib::ShellOut
  • Rugged

License

See the LICENSE file in this repo.

between-meals's People

Contributors

dafyddcrosby avatar davide125 avatar dkaplan1 avatar ifel avatar jaymzh avatar jo-con-el avatar joshuamiller01 avatar jschripsema avatar kcbraunschweig avatar malmond77 avatar mburns avatar mikedodge04 avatar naomireeves avatar natewalck avatar nikitakoshikov avatar odcinek avatar patcox avatar skywalk7 avatar waffle2k avatar wjimenez5271 avatar zepheus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

between-meals's Issues

Avoid loading unused repository classes with `auto` repo type

The rugged extension is fine iff you're using git for your repository, otherwise it's additional weight when using the auto repo. Since we're already requireing everything currently, we can consider requireing and testing the Ruby-language extensions first (ie hg and svn) and native extensions later (ie git). This does slightly change the behaviour such that if .hg or .svn are in your git repo, it will default to that repository type instead. However, in my opinion (note emphasis) once you're in a multi-repo setup like that you should be explicit on your repo type anyways and not rely on historical default behaviour.

file paths with whitespace cause rev parsing to fail with hg

When parsing a hg revision to extract the changes, parse_status(changes) will try to regex the hg log output with something like 'when /^A (\S+)$/' , but if the path has whitespace in it, it will fail to match the regex and fail the call. This might be a problem with the other repo types (git, svn) as well.

Sample:
A ../../some/path/to/a/file/abcd stuffafteraspace

Maybe it's safe to assume chef repo contents won't have spaces in them, but the repo in play could have all kinds of other crap; maybe it should filter out said crap prior to mapping?

between-meals can't install when rugged version is >= 0.27.0

This is technically a rugged issue, but when installing between-meals on a fresh CentOS 7.5 + Chef 13.10.4 machine (adding to Chef's embedded gems) it apparently downloads the latest version of rugged from rubygems.org, which breaks things if it installs a version of rugged >= 0.27.0.

Rugged isn't able to create the Makefile, due to "Could NOT find OpenSSL":
https://gist.github.com/bwann/cbe5775471cc554a788e23fa7053f461

Manually installing rugged up to 0.26.0 first before between-meals works. I'm not sure what the real problem is here, looks like rugged changed something about how it was handling TLS and cmake in 0.27.0.

I'm not sure what the correct fix here is either, if between-meals needs to pin the rugged version, if this is something in the embedded Chef gem environment that needs fixed, or what.

Putting this here to track the issue in case other people hit it.

edit: same behavior on chef-14.4.56-1.el7.x86_64 too

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.