The first official release! 🎉
Most kinks have been ironed out by now. There are no major known issues.
- Enhancement: Use the (removed)
--exact
flag's behaviour by default formerge
andcheckout
. To get the old default behaviour (checking out exact commits as stored in the lock file), use--as-lock
. - Enhancement: The
merge
command merges without opening an editor by default. Use--edit
to open an editor for each merge operation as before.
- Enhancement: Fix post-merge tracking files update.
- Enhancement: The update command now requires a commit message (if committing).
- Enhancement: Force checkout dependencies on install in CI mode (discards any local changes)
- Enhancement: Bump all dependencies to avoid
Gunzip
warnings at launch
-
Enhancement: Git commands with arbitrary complexity can be performed using the
do
command, for example:multi do push --set-upstream origin master
- Bug Fix: Revert changes from beta 71
- Enhancement: Add a
--here
flag to theclone
command to skip creating an intermediate directory to clone into
- Enhancement: The
clone
command now clones all repos in the current directory instead of creating an intermediate directory (more flexible)
- Enhancement: Repo clones initialize and clone submodules (shallow in CI scenarios).
- Enhancement: The
merge
command always updates main repo tracking files (makes no sense not to do it, important for CI).
- Bug Fix: The
add
command ensures that added repos' paths have a trailing slash (avoids some nasty issues)
- Bug Fix: Fix a regression that prevented many commands from running
- Bug Fix: Fix a crash related to the presence of trailing slashes in dependency paths
- Enhancement: Add a
--no-ff
option tomulti merge
to optionally avoid fast-forwarding
- Removal: The
graph
command was removed. It was unused and added an unnecessary dependency.
- Enhancement: The branch command does not push by default anymore (helps avoid creating branches in wrong origins when setting up new projects)
- Bug Fix: Remove some unnecessary debug console output
- Bug Fix: Fix post-first-init commit
- Bug Fix: Fix crasher in file permissions checking code
- Enhancement: Implemented the
--force
option inmulti branch
- Enhancement: Prevent updating tracking files with an outdated version of the tool
- Bug Fix: Fail gracefully in case of limited tracking file permissions
- Bug Fix: Fix clone and install error when on-disk dependency directory case does not match
- Bug Fix: Fixed error in multi install clone error message building
- Enhancement: Using the
--extra-output
flag will output more CI server-specific info (checkout info, errors, etc.) - Bug Fix: Some config flags (such as
--verbose
) were reset when calling other commands internally
- Enhancement: Added a
--extra-output
flag to output additional CI server-specific messages (such as TeamCity service messages)
- Enhancement: InspectCommand now takes the name of a stat as input instead of flags and provides helpful output if the provided stat name is invalid
- Enhancement: Added a
--force
flag tomulti checkout
, which ignores uncommitted changes
- Enhancement:
multi merge
now shows a lock file diff if the user chooses to perform an update after the merge operation - Enhancement:
multi merge
now uses the same update logic asmulti update
for more robustness and uniformity - Enhancement:
multi update
has a new--no-diff
option to skip lock file diffing and shows diff by default - Bug Fix:
multi update
did not show the lock file diff when the--commit
flag was specified - Internals:
multi update
,multi do
andmulti open
now use common repo-selection logic (--deps
,--main
, etc.)
- Enhancement:
multi merge
now asks to update the main repo lock file after a merge (useful for CI scenarios) - Enhancement:
multi update
now asks to show a lock file diff if the main repo's lock file was modified - Enhancement: Checking out the main repo in floating HEAD to prevent unnecessary local branch creation in
multi merge
- Enhancement: Added
--deps
,--main
and--all
flags tomulti update
and update all by default - Enhancement: Log a warning on multi install --ci if the main repo HEAD is a merge commit, for CI servers to pick up and optionally force fail with
- Bug Fix: "HEAD" was stored in the lock file instead of
nil
when in floating HEAD, which caused some operations to have unexpected results - Bug Fix: Incorrect default behavior for
multi open
(now defaults to "all")
- New:
multi update
now updates tracking files in subdependencies - Enhancement: Manual and automated code refactorings using RuboCop
- Enhancement: Running commands using system() when we don't need to grab output (enables interactive commands in
multi do
and fixes clone/fetch progress output)
- Enhancement: Better
multi install --ci
output - Enhancement: Not requiring a multirepo-enabled repo in InspectCommand, else it's not very useful to inspect random repos
- Bug Fix: Fixed exception in
multi do
when providing only the--help
flag
Refer to the commit history for details on earlier versions of git-multirepo.