277 lines
6.5 KiB
Markdown
277 lines
6.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
A `### Breaking` section is used in addition to Keep a Changelog's standard sections to explicitly document changes that are backwards-incompatible but would otherwise appear under `### Changed`. Entries under `### Breaking` trigger a major version bump in the automated release tooling.
|
|
|
|
## [Unreleased]
|
|
|
|
### Breaking
|
|
|
|
### Added
|
|
|
|
- Native Go implementations for `clone`, `link`, `unlink`, and `track`.
|
|
- Containerized behavior test suite for command parity validation.
|
|
- Dedicated test suites for `list`, `show_path`, `status`, `diff`, and `version`.
|
|
- Just workflow support for building and running the Linux behavior binary.
|
|
- Coverage reports and badges published to shared object storage for branches and pull requests.
|
|
- Pull requests now receive coverage report links in CI comments.
|
|
- Manual release preparation workflow and script to bump the reported version, promote unreleased changelog notes, and create release tags.
|
|
- Main branch validation now emits a recommended next release tag based on unreleased changelog sections, and release preparation now rejects empty unreleased notes.
|
|
- Release recommendations now support an explicit `### Breaking` section for major-version changes that would otherwise be described under `### Changed`.
|
|
|
|
### Changed
|
|
|
|
- CLI argument parsing migrated to Kong.
|
|
- Git operations for clone and track migrated to `go-git`.
|
|
- Build and behavior workflows now produce and run the `gosick` binary name.
|
|
- CI validation is unified into push events, running behavior tests only on `main` pushes.
|
|
- Gitea CI workflows now cache Go modules and build artifacts using a shared runner tool cache.
|
|
- Gitea workflow and README badge updated from `push-unit-tests` to `push-validation`.
|
|
- CLI help now uses the invoked binary name (defaulting to `gosick`) in usage output.
|
|
- CLI help description now reflects Homesick's purpose for managing precious dotfiles.
|
|
- Release notes standardized to Keep a Changelog format.
|
|
|
|
### Fixed
|
|
|
|
- `status` and `diff` now consistently write through configured app output writers.
|
|
|
|
### Removed
|
|
|
|
- Legacy Ruby implementation and Ruby toolchain.
|
|
|
|
## [1.1.6] - 2017-12-20
|
|
|
|
### Fixed
|
|
|
|
- Ensure `FileUtils` is imported correctly to avoid a potential error.
|
|
- Fix an issue where comparing a diff did not use the content of the new file.
|
|
|
|
### Changed
|
|
|
|
- Small documentation fixes.
|
|
|
|
## [1.1.5] - 2017-03-23
|
|
|
|
### Fixed
|
|
|
|
- Problem with version number being incorrect.
|
|
|
|
## [1.1.4] - 2017-03-22
|
|
|
|
### Fixed
|
|
|
|
- Ensure symlink conflicts are explicitly communicated to users and symlinks are not silently overwritten.
|
|
- Fix a problem in diff when asking a user to resolve a conflict.
|
|
|
|
### Changed
|
|
|
|
- Use real paths of symlinks when linking a castle into home.
|
|
- Code refactoring and fixes.
|
|
|
|
## [1.1.3] - 2015-10-31
|
|
|
|
### Added
|
|
|
|
- Allow a destination to be passed when cloning a castle.
|
|
|
|
### Fixed
|
|
|
|
- Make sure `homesick edit` opens the default editor in the root of the given castle.
|
|
- Bug when diffing edited files.
|
|
- Crashing bug when attempting to diff directories.
|
|
- Ensure that messages are escaped correctly on `git commit all`.
|
|
|
|
## [1.1.2] - 2015-01-02
|
|
|
|
### Added
|
|
|
|
- `--force` option to the rc command to bypass confirmation checks when running a `.homesickrc` file.
|
|
- Check to ensure that at least Git 1.8.0 is installed.
|
|
|
|
### Fixed
|
|
|
|
- Stop Homesick failing silently when Git is not installed.
|
|
|
|
### Changed
|
|
|
|
- Code refactoring and fixes.
|
|
|
|
## [1.1.0] - 2014-04-28
|
|
|
|
### Added
|
|
|
|
- `exec` and `exec_all` commands to run commands inside one or all cloned castles.
|
|
|
|
### Changed
|
|
|
|
- Code refactoring.
|
|
|
|
## [1.0.0] - 2014-01-15
|
|
|
|
### Added
|
|
|
|
- `version` command.
|
|
|
|
### Removed
|
|
|
|
- Support for Ruby 1.8.7.
|
|
|
|
## [0.9.8] - 2014-01-02
|
|
|
|
### Added
|
|
|
|
- `homesick cd` command.
|
|
- `homesick open` command.
|
|
|
|
## [0.9.4] - 2013-07-31
|
|
|
|
### Added
|
|
|
|
- `homesick unlink` command.
|
|
- `homesick rc` command.
|
|
|
|
### Changed
|
|
|
|
- Use HTTPS protocol instead of git protocol.
|
|
|
|
## [0.9.3] - 2013-07-07
|
|
|
|
### Added
|
|
|
|
- Recursive option to `homesick clone`.
|
|
|
|
## [0.9.2] - 2013-06-27
|
|
|
|
### Added
|
|
|
|
- `homesick show_path` command.
|
|
- `homesick status` command.
|
|
- `homesick diff` command.
|
|
|
|
### Changed
|
|
|
|
- Set `dotfiles` as default castle name.
|
|
|
|
## [0.9.1] - 2013-06-17
|
|
|
|
### Fixed
|
|
|
|
- Small bugs: #35, #40.
|
|
|
|
## [0.9.0] - 2013-06-06
|
|
|
|
### Added
|
|
|
|
- `.homesick_subdir` (#39).
|
|
|
|
## [0.8.1] - 2013-05-19
|
|
|
|
### Fixed
|
|
|
|
- `homesick list` bug on Ruby 2.0 (#37).
|
|
|
|
## [0.8.0] - 2013-04-06
|
|
|
|
### Added
|
|
|
|
- `commit` and `push` command.
|
|
- Commit changes in a castle and push to remote.
|
|
- Enable recursive submodule update.
|
|
- Git add when using track.
|
|
|
|
## [0.7.0] - 2012-05-28
|
|
|
|
### Added
|
|
|
|
- New option for pull command: `--all`.
|
|
- Pull each castle instead of just one.
|
|
|
|
### Fixed
|
|
|
|
- Double-cloning (#14).
|
|
|
|
## [0.6.1] - 2010-11-13
|
|
|
|
### Added
|
|
|
|
- License.
|
|
|
|
## [0.6.0] - 2010-10-27
|
|
|
|
### Added
|
|
|
|
- `.homesickrc` support.
|
|
- Castles can now have a `.homesickrc` inside them.
|
|
- On clone, this is eval'd inside the destination directory.
|
|
- `track` command.
|
|
- Allows easily moving an existing file into a castle and symlinking it back.
|
|
|
|
## [0.5.0] - 2010-05-18
|
|
|
|
### Added
|
|
|
|
- `homesick pull <CASTLE>` for updating castles (thanks Jorge Dias).
|
|
- A very basic `homesick generate <CASTLE>`.
|
|
|
|
### Fixed
|
|
|
|
- Listing of castles cloned using `homesick clone <github-user>/<github-repo>` (issue 3).
|
|
|
|
## [0.4.1] - 2010-04-02
|
|
|
|
### Fixed
|
|
|
|
- Improve error message when a castle's home dir does not exist.
|
|
|
|
## [0.4.0] - 2010-04-01
|
|
|
|
### Added
|
|
|
|
- `homesick clone` can take a path to a directory on the filesystem, which is symlinked into place.
|
|
- `homesick clone` tries to run `git submodule init` and `git submodule update` if git submodules are defined for a cloned repo.
|
|
|
|
### Changed
|
|
|
|
- Use `HOME` environment variable for where to store files, instead of assuming `~`.
|
|
|
|
### Fixed
|
|
|
|
- Missing dependency on thor and others.
|
|
|
|
## [0.3.0] - 2010-04-01
|
|
|
|
### Changed
|
|
|
|
- Rename `link` to `symlink`.
|
|
|
|
### Fixed
|
|
|
|
- Conflict resolution when symlink destination exists and is a normal file.
|
|
|
|
## [0.2.0] - 2010-03-19
|
|
|
|
### Added
|
|
|
|
- Better support for recognizing git URLs (thanks jacobat).
|
|
- If it looks like a GitHub user/repo, use that.
|
|
- Otherwise hand off to git clone.
|
|
- Listing now displays in color and shows git remote.
|
|
- Support pretend, force, and quiet modes.
|
|
|
|
## [0.1.1] - 2010-03-17
|
|
|
|
### Fixed
|
|
|
|
- Trying to link against castles that do not exist.
|
|
- Linking now excludes `.` and `..` from the list of files to link (thanks Martinos).
|
|
|
|
## [0.1.0] - 2010-03-10
|
|
|
|
### Added
|
|
|
|
- Initial release.
|