Git Town Versions Save

Git workflow automation to keep branches in sync and reduce merge conflicts.

v10.0.2

5 months ago

Bug Fixes

  • Fix wrong error message when status.short is enabled in Git config (#2650)

v10.0.1

5 months ago
  • Fix crash if commits contain "[" (#2645)

v10.0.0

5 months ago

Git Town 10 improves support for shipping branches via the code hosting web UI instead of running git ship. After merging your branches remotely, run git sync --all to sync all local branches and remove the ones shipped at the remote. Don't worry, Git Town ensures deleted branches don't contain unshipped changes. git undo brings deleted branches back.

Git Town 10 has improved performance, robustness, and reliability thanks to a large-scale modernization of the Git Town's architecture. Git Town now runs fewer Git commands under the hood to investigate the state of your Git repository. git undo now works for all commands thanks to a new undo engine that diffs the before and after state of your Git repo.

Git Town 10 starts a larger effort to remove redundant commands and make Git Town's configuration options more consistent and intuitively named.

BREAKING CHANGES

  • git sync now also removes local branches with a deleted tracking branch, after verifying that those local branches contain no unshipped changes (#2038)
  • git town prune-branches has been sunset, run git sync instead (#2579)
  • Git Town's statefile on disk has a new format, you might have to run git town status reset to avoid runtime errors (#2446)
  • git ship no longer ships branches that exist solely at the remote. Moving forward branches to ship must exist on your local machine. Use the web UI of your code hosting service to ship remote branches. (#2367, #2372)
  • git kill no longer deletes branches that exist solely at the remote. Delete them by running git push origin :branchname or via the web UI of your code hosting service (#2368)
  • git hack no longer has the -p option. Use git append and git prepend instead (#2577)
  • Git Town no longer considers it an error if there is nothing to abort or continue (#2631, #2632)
  • querying the version of the installed Git Town binary is now compatible with the way Git does it: git-town --version instead of git-town version (#2603)
  • v10 renames the debug parameter to verbose because all it does is print more information (#2598)
  • updated GitLab support, please report regressions

New Features

  • support for running Git Town on computers that use different language than English (#2478)
  • git undo works for all commands now (#2484)
  • CLI output now contains requests to the code hosting API (#2340)
  • CLI output now describes changes the branch ancestry (#2558)
  • git town switch now displays the output of the command to switch branches (#2602)
  • environment variables now override all GitHub API operations (#2593)
  • community-contributed installation for BSD via FreshPorts (#2553)
  • less force-deleting of branches (#2539)

Bug Fixes

  • fix broken version number in release binaries (#2333)
  • fix crash when a configured branch parent is empty (#2626)
  • fix crash when running set-parent on large monorepos (#2623)
  • when deleting perennial branches, remove the ancestry information of their children (#2540)

v9.0.1

8 months ago

Git Town should now run a bit faster because it runs fewer Git commands under the hood.

Bug Fixes

  • Fix for missing UpdateProposalTargetStep (#2288)
  • Print statistics when removing aliases (#2325)
  • Fix broken version information in release binaries (#2333)

v9.0.0

11 months ago

BREAKING CHANGES

Git Town 9.0 supports the new API URLs that become official in GitLab v16. If you use an older version of GitLab, Git Town's integration with GitLab's API might no longer work. The fix is to update your GitLab installation to at least v15 (#2249)

New Features

  • read the token to use for the GitHub API from environment variables GITHUB_TOKEN or GITHUB_AUTH_TOKEN in addition to the already existing option to store it in the Git configuration (#2217)

v8.0.0

1 year ago

Some ergonomics improvements that change existing command names, hence the major version bump. If you use the shorter aliases for Git Town commands, please run git town aliases add after updating to v8.0.

BREAKING CHANGES

  • rename new-branch-push-flag command to push-new-branches (#1980)
  • all commands that display/update configuration are now subcommands of the config command (#1963, #1976)
  • all commands that help install Git Town are now subcommands of the install command (#1969)
  • moves the default git town completion and git town completions commands under git town install completions (#1969, #1970)
  • installation of the shorter command aliases changes from git town alias true to git town install aliases add and ... remove (#1965, #1966, #1968)
  • renames the push-verify configuration option to push-hook (#1989)
  • automatically renames old push-verify configuration settings to the new push-hook (#2209)
  • rename git set-parent-branch to git set-parent (#2114)
  • stores the runstate in the platform-specific config directory (~/.config) instead of the global temp dir (#2126)

New Features

  • the new git town switch command allows switching branches via a UI that visualizes the branch hierarchy (#2106, #2108)
  • aliases git town diff-parent to git diff-parent (#2128)
  • accepts more formats for boolean configuration values like "true", "yes", "on", "t", "1" (#1978, #1979)
  • configuration command to set/display the push-hook config setting (#1991)

v7.9.0

1 year ago

New Features

  • rebase feature branches against their parent branch using the new sync-strategy option (#1950)
    • configure using git town sync-strategy (merge | rebase)
  • disable Git's pre-push hook using the new push-verify option (#1958)
  • support for GitLab subgroups (#1943)

Bug Fixes

  • support GitLab SaaS repos whose name contains "gitlab" (#1926)

v7.8.0

1 year ago

New Features

  • update Regex for hostname extraction to support more ssh usernames (#1883)
  • merge GitLab merge requests when shipping (#1874)

Bug Fixes

  • fix tests on non-English locales (#1875)
  • fix bug in undo of "git hack" in local repo (#1804)

v7.7.0

2 years ago

New Features

  • support for Apple Silicon (#1735, #1736)
  • ignore changes in submodules during sync (#1744)
  • improved CLI interface including better shell autocompletions (#1722)
  • shell-based installer for *nix systems (#1707)
  • new website (#1684)
  • Make command shows dependency tree within the codebase (#1725)
  • Go API now has the same major version number as the binary (#1677)

Bug Fixes

  • fix author not being set properly (1686)
  • filenames of assets at GitHub releases are all lowercase now (#1710)
  • option for more compatible shell autocompletion without descriptions (#1493)

v7.6.0

2 years ago

New Features

  • print diagnostic information on command failure (#1667)