Git Town Versions Save

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

v13.0.0

4 days ago

Git Town 13.0 adds better support for syncing feature branches after rebasing/amending commits.

BREAKING CHANGES

When the sync-feature-strategy is set to rebase, Git Town now force-pushes your locally rebased commits to the tracking branch (#3182). This avoids mixing locally rebased commits with outdated commits on the tracking branch. To not accidentally override new commits on the tracking branch that haven't been integrated into your local commits, Git Town now force-pushes using the --force-if-includes Git flag.

This requires raising the minimally required Git version from 2.7 to 2.30. Git 2.30 was released over 2 years ago and should be widely available at this point.

New Features

  • Git Town now automatically removes lineage entries for branches that were converted from feature branches to perennial branches (#3218).
  • Git Town documentation and error messages now guide the user to call Git Town as git town instead of git-town on the CLI (#3208).

Bug Fixes

  • Fixes a crash when an ustream HEAD is set (#2660).
  • Fixes the error message when trying to set the parent of a perennial branch (#3217).

Kudos to @100rab-S, @dgentry, @kevgo, @koppor, @nicksieger, @ruudk, @srstevenson, and @tranhl for contributing code, ideas, and feedback to 18 shipped PRs and 13 resolved issues!

v12.1.0

3 weeks ago

Git Town 12.1 implements some of the most requested features by the Git Town community. It also continues the modernization of Git Town's internals. This time we made Git Town's undo engine simpler, more robust, and more reliable by removing all remaining mutable state.

New Features

  • New options to fine-tune how Git Town syncs branches: git contribute, git observe, and git park. More info at https://www.git-town.com/advanced-syncing and #3095.
  • All branches matching the regular expression in the new configuration setting branches.perennial-regex are now also considered perennial, in addition to the ones already listed in branches.perennials. This makes it easier to deal with situations where you have many perennial branches with similar sounding names like release-1, release-2, etc (#2659).

Bug Fixes

  • git town skip now works correctly in complex situations (#2978).
  • Git Town now deletes branches more reliably (#3097).

Statistics

Many thanks to @100rab-S, @harrismcc, @kevgo, @ruudk, @tranhl for contributing feedback, ideas, and solutions to 70 shipped PRs and 11 resolved issues!

v12.0.2

1 month ago

Bug Fixes

  • All dialogs that show local branches now paginate (#3119)

Big thanks to @ruudk for helping identify the missing pagination for dialogs thanks to his plentiful local Git branches!

v12.0.1

1 month ago

Bug Fixes

  • Remove crashes when using a self-hosted platform instance (#3114)
  • Improve the CLI output when using a hosting connector (#3115)

A heartfelt thanks to @lud-wj for helping triangulate a bug.

v12.0.0

1 month ago

Git Town 12 continues the effort to make the Git Town user experience more consistent and intuitive by modernizing Git Town's configuration system.

BREAKING CHANGES

  • The new setup assistent (see below) replaces the existing CLI and Git commands to change the configuration.
  • Removing the Git Town configuration is now done by running git town config remove instead of git town config reset (#3051).
  • More intuitive names for the following configuration options. Git Town automatically updates the configuration, so no action is needed on your end.
    • code-hosting-platform is now hosting-platform (#3054)
    • code-hosting-origin-hostname is now hosting-origin-hostname (#3053)
    • ship-delete-remote-branch is now ship-delete-tracking-branch (#2929)
  • Putting Git Town into offline mode is a top-level command again. Run git town offline yes to enable offline mode instead of git town config offline yes (#3049).
  • All visual dialogs have been rewritten using a modern UI framework for a better look and to avoid the rendering issues encountered before (#2964).
  • Nested feature branches are now called "stacked changes" to match the emerging industry term (#3062).

New Features

  • Git Town v12 introduces Git Town's setup assistant (#2941). The setup assistant guides you through all of Git Town's configuration settings, including setting up the shorter aliases for Git Town commands. Run it by executing git town config setup. This assistant replaces the old configuration commands under git town config, the alias command, and the old "quick configuration" process.
  • Git Town now supports storing non-confidential configuration entries in a configuration file with name .git-branches.toml (#2748). The best way to create one is the setup assistant. The setup assistant can also migrate your existing Git-based configuration to the config file.
  • All commands now support the --dry-run flag to try them out safely (#2859).
  • You can now install Git Town on Windows using Chocolatey: choco install git-town (#763)
  • Massive performance improvements (exceeding 200%) on Windows thanks to not executing Git through the CMD shell anymore (#2881).
  • The undo commands execute faster (#2863).

Bug Fixes

  • Fix the --version command on Windows (#2900).

Statistics

  • 294 contributions
  • 31 resolved tickets

A heartfelt thanks to the contributors for this release: @alokpr, @brandonaut, @bryanlarsen, @ChrisMM, @eugef, @IGassmann, @Iron-Ham, @jakeleboeuf, @JaKXz, @kevgo, @koppor, @Nezteb, @ruudk, @zeronacer

v11.1.0

3 months ago

New Features

  • Git Town now handles branches checked out in other worktrees correctly (#2764)
  • Git Town now checks out the previous Git branch ("git checkout -") after removing a local branch (#2742)

Bug Fixes

  • git continue now correctly handles a manually popped stash after resolving conflicts (#2758)
  • git continue retries failing commit, merge-proposal, create-branch, create-proposal, create-tracking-branch, and push-branch operations (#2756)
  • git continue ensures there are no untracked files (#2754)
  • git switch now allows switching to perennial branches (#2752)

v11.0.0

3 months ago

Git Town 11 continues the effort to make the Git Town user experience more consistent and intuitive.

BREAKING CHANGES

  • git new-pull-request is now git propose. Not all platforms that Git Town supports use the name "pull request", so Git Town uses the word "proposal" for pull requests, merge requests, etc from now on. Nine fewer characters to type! (#2691)
  • git abort is merged into git undo. From now on you just run git undo after a Git Town command fails or finishes to get back to where you started (#2719).
  • Many configuration options now have more intuitive names. No action needed on your end, Git Town automatically updates the affected settings on your machine. This means you can't go back to v10 after updating to v11.
    • code-hosting-driver is now code-hosting-platform (#2704)
    • main-branch-name is now main-branch (#2703)
    • perennial-branch-names is now perennial-branches (#2702)
    • sync-strategy is now sync-feature-strategy (#2697)
    • pull-branch-strategy is now sync-perennial-strategy (#2693)
  • git ship by default no longer syncs the branch to ship. Set the sync-before-ship flag to restore the old behavior. This allows shipping only when the tests pass (#2735).
  • Creating proposals on BitBucket uses an updated URL (#2692).
  • git town config reset now also deletes the branch lineage. This helps get you out of more configuration snafus (#2733).

New Features

  • The new sync-before-ship config option prevents git ship from updating the branch it is about to ship. The old behavior makes sense when shipping branches locally but is conflicting with the requirements for tests to pass on CI before shipping via the hosting platform (#2714).

Bug Fixes

  • allow renaming local-only branches (#2710)
  • git repo and git propose always open the browser page at the default port, even if the origin remote points to a custom port (#2730)

v10.0.3

4 months ago

Bug Fixes

  • Fix killing perennial branches (#2679)

v10.0.2

4 months ago

Bug Fixes

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

v10.0.1

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