Skip to content

Latest commit

 

History

History
85 lines (67 loc) · 2.29 KB

README.md

File metadata and controls

85 lines (67 loc) · 2.29 KB

patch

License Puppet Forge Puppet Forge - downloads

Overview

Manage and apply diff files on original files using the patch command.

Usage

  • Install patch with package settings; this itself doesn't do much. To apply patches, you have to use patch::file.
class { 'patch': }
  • Apply diff referenced by a file on a given original file
patch::file { '/path/to/file':
  diff_source => '/path/to/diff',
}
  • Apply inline diff on a given original file
patch::file { '/path/to/file':
  diff_content => '<inline-diff>',
}
  • Apply two diff files in a particular order on the same original file
$target = '/path/to/file'
patch::file { 'first-patch':
  target      => $target,
  prefix      => '0001',
  diff_source => '/path/to/0001.diff',
}
patch::file { 'second-patch':
  target      => $target,
  prefix      => '0002',
  diff_source => '/path/to/0002.diff',
  require     => Patch::File['first-patch'],
}
  • Apply diff to a directory
patch::directory { '/path/to/target/directory':
  diff_source => '/path/to/diff',
  strip => 2,
}

Limitations

The module has been tested on the following operating systems. Testing and patches for other platforms are welcome.

  • Debian 7.0 (Wheezy)
  • Debian 8.0 (Jessie)
  • Ubuntu 14.04 (Trusty Tahr)
  • Ubuntu 16.04 (Xenial Xerus)

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Development

This project uses rspec-puppet and beaker to ensure the module works as expected and to prevent regressions.

gem install bundler
bundle install --path vendor

bundle exec rake spec
bundle exec rake beaker

(note: see Beaker - Supported ENV variables for a list of environment variables to control the default behaviour of Beaker)