All notable changes to this project will be documented in this file.
3.2.0 (2023-10-31)
Implemented enhancements:
- Update octokit requirement from >= 4, < 8 to >= 4, < 9 #278 (dependabot[bot])
Merged pull requests:
3.1.0 (2023-08-02)
Release 3.0.0 was broken. It was tagged as 3.0.0 but accidentally released as 2.7.0. The only breaking change was dropping support for EoL ruby versions.
Merged pull requests:
- rubocop: autofix #273 (bastelfreak)
- Update octokit requirement from >= 4, < 7 to >= 4, < 8 #272 (dependabot[bot])
- Update voxpupuli-rubocop requirement from ~> 1.3 to ~> 2.0 #271 (dependabot[bot])
3.0.0 (2023-06-16)
Breaking changes:
- Drop EoL Ruby 2.5/2.6 support #270 (bastelfreak)
Merged pull requests:
- Update puppet-blacksmith requirement from >= 3.0, < 7 to >= 3.0, < 8 #268 (dependabot[bot])
- Update octokit requirement from ~> 4.0 to >= 4, < 7 #263 (dependabot[bot])
2.6.0 (2023-04-14)
Implemented enhancements:
- Add Ruby 3.2 support #266 (bastelfreak)
- Update to latest RuboCop 1.28.2 #265 (bastelfreak)
Fixed bugs:
- Fix compatibility with latest
ruby-git
#260 (alexjfisher)
Closed issues:
- msync update --noop is broken with git 1.17.x #259
Merged pull requests:
- Add CI best practices #264 (bastelfreak)
- dependabot: check for github actions and gems #261 (bastelfreak)
2.5.0 (2022-10-14)
Implemented enhancements:
2.4.0 (2022-09-27)
Implemented enhancements:
Merged pull requests:
2.3.1 (2022-05-05)
Fixed bugs:
2.3.0 (2022-03-07)
Implemented enhancements:
- CLI: Show relevant help when using --help option on a subcommand #248 (neomilium)
- New CLI commands #244 (neomilium)
Fixed bugs:
- Existing MR makes msync fail (which leaves changes in target branch) #195
- Target branch
.sync.yml
not taken into account on branch update (--force) #192 - Fix error when git upstream branch is deleted #240 (neomilium)
Closed issues:
Merged pull requests:
- Properly ensure the parent directory exists #247 (ekohl)
- Add Ruby 3.1 to CI matrix #245 (bastelfreak)
- Fix rubocop offences and add linter to CI #243 (neomilium)
- Support
.sync.yml
changes between two runs #242 (neomilium) - Fix gitlab merge request submission #241 (neomilium)
- Add behavior tests to CI #239 (neomilium)
- Rework PR/MR feature #219 (neomilium)
- Refactor code for maintainabilty #206 (neomilium)
2.2.0 (2021-07-24)
Implemented enhancements:
- Implement codecov/update README.md #234 (bastelfreak)
- Checkout default_branch and not hardcoded
master
#233 (alexjfisher)
Fixed bugs:
Merged pull requests:
- Move cucumber from Gemfile to gemspec #230 (bastelfreak)
- switch to https link in gemspec #228 (bastelfreak)
- dont install octokit via Gemfile #227 (bastelfreak)
- Allow latest aruba dependency #226 (bastelfreak)
2.1.1 (2021-06-15)
The 2.1.0 release didn't make it to github packages. 2.1.1 is a new release with identical code.
2.1.0 (2021-06-15)
Merged pull requests:
- publish to github packages + test on ruby 3 #222 (bastelfreak)
- Rework exception handling #217 (neomilium)
- Split generic and specific code #215 (neomilium)
- Refactor repository related code #214 (neomilium)
- Tests: Add tests for bump feature #213 (neomilium)
- Refactor puppet modules properties #212 (neomilium)
- Switch from Travis CI to GitHub Actions #205 (neomilium)
2.0.2 (2021-04-03)
Fixed bugs:
Closed issues:
- PR/MR feature should honor the repository default branch name as target branch #207
- Add linting (rubocop) to Travis CI configuration #153
- Language sensitive GIT handling #85
Merged pull requests:
- Fix spelling of PR CLI option (kebab-case) #209 (bittner)
- Correctly state which config file to update #208 (bittner)
- Fix exit status code on failures #204 (neomilium)
- Remove monkey patches #203 (neomilium)
- Improve tests capabilities by using local/fake remote repositories #202 (neomilium)
- Minor modernization and cosmetic fix #201 (neomilium)
2.0.1 (2020-10-06)
Fixed bugs:
Merged pull requests:
- Allow newer puppet-blacksmith versions #197 (bastelfreak)
2.0.0 (2020-08-18)
Breaking changes:
- Drop support for Ruby 2.4 and older #191 (bastelfreak)
Implemented enhancements:
Fixed bugs:
- GitLab MR: undefined method `[]' for nil:NilClass (NoMethodError) #187
- msync fails with nilClass error #172
- Fix NoMethodError for --pr option (caused by
module_options = nil
) / introduce --noop #188 (bittner) - Allow empty module options in self.pr() #186 (raphink)
1.3.0 (2020-07-03)
- Expose --managed_modules_conf #184
- Allow absolute path for config files #183
- Add pr_target_branch option #182
- Allow to specify namespace in module_options #181
- Allow to override PR parameters per module #178
- Include the gitlab library (if we interact with gitlab), not github #179
- Add support for GitLab merge requests (MRs) #175
This release provides metadata in the ERB template scope which makes it easy to read files from inside the module. A possible application is reading metadata.json and generating CI configs based on that.
- Add metadata to ERB template scope - #168
- Skip issuing a PR if one already exists for -b option - #171
- Correct the type on the pr-labels option to prevent a deprecation warning - #173
This is the first stable release! 🎉
- Use namespace in directory structure when cloning repositories - #152
- Fix minor typo in help output - #165
- Small improvements and fixes - #166
- Fix overwriting of :global values - #169
This is another awesome release!
- Add support to submit PRs to GitHub when changes are pushed - #147
- Fix "flat files" still mentioned in README - #151
This is an awesome release - Now honors the repo default branch#142
- Monkey patch ls_files until ruby-git/ruby-git#320 is resolved
- Reraise exception rather than exit so we can rescue a derived StandardError when using skip_broken option
- Add new option to produce a failure exit code on warnings
- Remove hard coding of managed_modules.yml which means that options passed to ModuleSync.update can override the filename
This release fixes:
- Bug that caused .gitignore file handle to be left open - #131.
- Fixed switch_branch to use current_branch instead of master - #130.
- Fixed bug where failed runs wouldn't return correct exit code - #125.
- Fix typo in README link to Voxpupuli modulesync_config #123.
This release fixes a nasty bug with CLI vs configuration file option handling: Before #117 it was not possible to override options set in modulesync.yml
on the command line, which could cause confusion in many cases. Now the configuration file is only used to populate the default values of the options specified in the README, and setting them on the command line will properly use those new values.
This release now prefers .erb
suffixes on template files. To convert your moduleroot directory, run this command in your configs repo:
find moduleroot/ -type f -exec git mv {} {}.erb \;
Note that any .erb
-suffixed configuration keys in config_defaults.yml
, and .sync.yml
need to be removed by hand. (This was unreleased functionality, will not affect most users.)
- Prefer
.erb
suffixes on template files, issue deprecation warning for templates without the extension - Require Ruby 2.0 or higher
- Fix dependency on
git
gem for diff functionality - Fix error from
git
gem when diff contained line ending changes
Fixes an issue releasing 0.7.1, no functional changes.
Fixes an issue releasing 0.7.0, no functional changes.
This is the first release from Vox Pupuli, which has taken over maintenance of modulesync.
- New
msync update
arguments:--git-base
to overridegit_base
, e.g. for read-only git clones-s
to skip the current module and continue on error-x
for a negative filter (blacklist) of modules not to update
- Add
-a
argument tomsync hook
to pass additional arguments - Add
:git_base
and:namespace
data to@configs
hash - Allow
managed_modules.yml
to list modules with a different namespace - Entire directories can be listed with
unmanaged: true
- Replace CLI optionparser with thor
- Fix git 1.8.0 compatibility, detecting when no files are changed
- Fix
delete: true
feature, now deletes files correctly - Fix handling of
:global
config entries, not interpreted as a path - Fix push without force to remote branch when no files have changed (#102)
- Output template name when ERB rendering fails
- Remove extraneous whitespace in
--noop
output
This is a bugfix release to fix an issue caused by the --project-root flag.
- Fix bug in git pull function (#55)
##2015-08-11 - 0.6.0
This release adds two new flags to help modulesync better integrate with CI tools.
- Add --project-root flag
- Create --offline flag to disable git functionality
- Fix :remote option for repo
- Added tests
This release adds the ability to sync a non-bare local git repo.
- Allow one to sync non-bare local git repository
This release adds a --remote-branch flag and adds a global key for template config.
- Expose --remote-branch
- Add a global config key
- Fix markdown syntax in README
This release contains a breaking change to some parameters exposed in modulesync.yml. In particular, it abandons the user of git_user and git_provider in favor of the parameter git_base to specify the base part of a git URL to pull from. It also adds support for gerrit by adding a remote_branch parameter for modulesync.yml that can differ from the local branch, plus a number of new flags for updating modules.
- Remove git_user and git_provider_address as parameters in favor of using git_base as a whole
- Expose the puppet module name in the ERB templates
- Add support for gerrit by:
- Adding a --amend flag
- Adding a remote_branch parameter for modulesync.yml config file that can differ from the local branch
- Adding a script to handle the pre-commit hook for adding a commit id
- Using git_base to specify an arbitrary git URL instead of an SCP-style one
- Add a --force flag (usually needed with the --amend flag if not using gerrit)
- Add --bump, --tag, --tag-pattern, and --changelog flags
- Stop requiring .gitignore to exist
- Fix non-master branch functionality
- Add workarounds for older git versions
This release adds the --filter flag to filter what modules to sync. Also fixes the README to document the very important -m flag.
This release adds support for other SSH-based git servers, which means gitlab is now supported.
* This Changelog was automatically generated by github_changelog_generator