Skip to content

Latest commit

 

History

History
349 lines (291 loc) · 16.5 KB

RELEASE_NOTES.md

File metadata and controls

349 lines (291 loc) · 16.5 KB

Git Town Release Notes

Unreleased

3.1.0 (2017-03-27)

New Features

  • git new-pull-request, git repo:
    • support ssh:// urls (thanks to @zhangwei)
    • add GitLab support (thanks to @dgjnpr)

3.0.0 (2017-02-07)

BREAKING CHANGES

  • git hack: no longer accepts a parent branch (functionality moved to git append)

New Features

  • git append: create a new branch as a child of the current branch
  • git prepend: create a new branch as a parent of the current branch
  • git rename-branch: implicitly uses the current branch if only one branch name provided

Bug Fixes

  • fix incorrectly reported branch loop (#785)

2.1.0 (2016-12-26)

New Features

  • support multiple SSH identities (#739)

Bug Fixes

  • update stashing strategy to avoid use of git stash -u which can delete ignored files (#744)
  • fix merge conflicts resolution that results in no changes (#753)
  • git hack: prompt for parent branch if unknown (#760)
  • prevent parent branch loops (#751)

2.0.0 (2016-09-18)

BREAKING CHANGES

  • All commands now have a town- prefix. Example git town-sync. This is to prevent conflicts with git-extras which adds git commands by the same name and hub which wants you to alias git to it and adds commands by the same name.
    • Use git aliases to remove the town- prefix if you would like. Run git town alias true to add aliases for all git-town commands (skips commands which would overwrite existing aliases).

1.0.0 (2016-08-05)

New Features

  • git town set-parent-branch <child_branch_name> <parent_branch_name>: to update a parent branch (#729)

Bug Fixes

  • git sync --all: don't prompt for parent of perennial branches (#727)

0.10.1 (2016-06-23)

New Features

  • git hack: add configuration for whether or not to push (#720)

Bug Fixes

  • configuration: make branch order consistent
  • git ship: update uncommitted changes error message (#718)

0.10.0 (2016-01-21)

BREAKING CHANGES

  • git prune-branches: new functionality - delete branches whose tracking branch no longer exists (#702)

New Features

  • git sync: add configuration option to merge the main branch / perennial branches with their upstream (#671)
  • git hack, git ship: support for running in subfolders

Bug Fixes

  • internationalize check for undefined function (#678)
  • git new-pull-request: ability to continue after conflicts (#700)

0.9.0 (2015-10-17)

BREAKING CHANGES

  • remove git sync-fork

New Features

  • git new-pull-request: support forked repos (#682)
  • git sync: if there is a remote upstream, the main branch is synced with its upstream counterpart (#685)

0.8.0 (2015-10-14)

BREAKING CHANGES

  • removed git extract
  • update internal storage of perennial branches
    • if you have configured multiple perennial branches, you will need to reset your configuration
      • git town config --reset
      • git town config --setup or you will be prompted the next time you run a Git Town command

New Features

  • configuration prompt: allow user to select branch by number, ability to recover from bad input
  • parent branch prompt: only show description and branch list once per command
  • preserve checkout history so that git checkout - works as expected alongside Git Town commands (#65)
  • git hack: pushes the new branch to the remote repository (#664)
  • git new-pull-request: syncs the branch before creating the pull request (#367)
  • git sync --all: pushes tags (#464)
  • git town config: shows branch ancestry (#651)

Bug Fixes

  • git town version: Homebrew installs no longer print date and SHA (#631)

0.7.3 (2015-09-02)

  • git kill: remote only branch (#380)
  • git ship: prompt when there are multiple authors (#486)

0.7.2 (2015-08-28)

  • git sync --all: fix parent branch prompt
  • git ship: comment out default commit message (#382)

0.7.1 (2015-08-27)

  • git ship: add ability to ship remote only branch (#593)
  • git new-pull-request/git repo: remove empty line output (#602)
  • git kill: prompt for unknown parent branch (#603)
  • git sync --all: prompt for unknown parent branch (#604)
  • support branch names with forward slashes (along with any valid branch name) (#608)

0.7.0 (2015-08-24)

  • fix git ship --undo (#550)
  • rename non-feature-branches to perennial-branches (#344)
    • configuration is automatically updated to support this
  • support for nested feature branches (#529)
  • add git rename-branch (#474)
  • rename git pull-request to git new-pull-request (#413, #507)
  • add SHA and date to output of git town version for manual installs
  • show error when trying to continue after a successful command (#364)

0.6.0 (2015-04-02)

  • support for working without a remote repository for git extract, git hack, git kill, git ship, and git sync
    • implemented by our newest core committer @ricmatsui
  • git pr renamed to git pull-request
    • set up an alias with git config --global alias.pr pull-request
  • git ship
    • now accepts all git commit options
    • author with the most commits is automatically set as the author (when not the committer) (#335)
  • git pr/repo
    • improved linux compatibility by trying xdg-open before open
  • improved error messages when run outside a git repository
  • improved setup wizard for initial configuration in a git repository
  • added contribution guide
  • added tutorial

0.5.0 (2015-01-08)

  • Manual installs need to update their PATH to point to the src folder within their clone of the repository
  • git extract:
    • errors if branch exists remotely (#236)
    • removed restriction: need to be on a feature branch (#269)
    • added restriction: if no commits are provided, errors if the current branch does not have any have extractable commits (commits not in the main branch) (#269)
  • git hack: errors if branch exists remotely (#237)
  • git kill:
    • optional branch name (#126)
    • does not error if tracking branch has already been deleted (#196)
  • git pr:
    • linux compatibility (#232)
    • compatible with more variants of specifying a Bitbucket or GitHub remote (#271)
    • compatible with respository names that contain ".git" (#305)
  • git repo: view the repository homepage (#140)
  • git sync:
    • --all option to sync all local branches (#83)
    • abort correctly after main branch updates and tracking branch conflicts (#228)
  • git town: view and change Git Town configuration and easily view help page (#98)
  • auto-completion for Fish shell (#177)

0.4.1 (2014-12-02)

  • git pr: create a new pull request (#138, 40d22e)
  • git ship:
    • empty commit message aborts the command (#153, 0bc84e)
    • abort when there are no shippable changes (#188, 52fd94)
  • git sync:
    • can now continue after just resolving conflicts (no need to commit or continue rebasing) (#123, 1a50ad)
    • restores deleted tracking branch (#165, 259464)
  • git extract: errors if branch already exists (#128, 75f498)
  • git sync-fork: no longer automatically sets upstream configuration (865030)
  • remove needless checkouts for git-ship, git-extract, and git-hack (#150, #155, 8b385a, 35de43)
  • linters for shell scripts and ruby tests (#149, 076668, 651c04)
  • rake tasks for development (#170, ba74cf)

0.4.0 (2014-11-13)

  • git kill: completely removes a feature branch (#87, edd7d8)
  • git sync: pushes tags to the remote when running on the main branch (#68, 71b607)
  • non-feature branches: cannot be shipped and do not merge main when syncing (#45, 31dce1)
  • git ship:
    • merges main into the feature branch before squash merging (#61, 82d4d3)
    • errors if the feature branch is not ahead of main (#86, a0ace5)
    • git ship takes an optional branch name (#95, cbf020)
  • updated output to show each git command and its output, updated error messages (8d8973, 60e1d8, 408e69)
  • skips unnecessary pushes (0da896)
  • man pages (609e11, 164f06, 27b257)
  • git prune-branches (#48, 7a922e)
  • Cucumber: optional Fuubar output (7c5402)

0.3 (2014-10-10)

  • multi-user support for feature branches (#35, ca0882)
  • git sync-fork (#22, 1f1f9f)
  • stores configuration in the Git configuration instead of a dedicated file (8b8695)
  • only makes one fetch from the central repo per session (#15, 43400a)
  • automatically prunes remote branches when fetching updates (86100f)
  • always cleans up abort and continue scripts after using one of them (3be4c0)
  • simpler readme, dedicated RDD document
  • Cucumber feature specs (you need Ruby 2.x) (c9d175)
  • much faster testing thanks to completely local test Git repos (#25, c9d175)

0.2.2 (2014-06-10)

  • fixes "unary" error messages
  • lots of output and documentation improvements

0.2.1 (2014-05-31)

  • better terminal output
  • Travis CI improvements
  • better documentation

0.2.0 (2014-05-29)

  • displays the duration of specs
  • only pulls the main branch if it has a remote
  • --abort options to abort failed Git Town operations
  • --continue options to continue some Git Town operations after fixing the underlying issues
  • can be installed through Homebrew
  • colored test output
  • display summary after tests
  • exit with proper status codes
  • better documentation

0.1.0 (2014-05-22)

  • git hack, git sync, git extract, git ship
  • basic test framework
  • Travis CI integration
  • self-hosting: uses Git Town for Git Town development