1Feature: git town-ship: aborting the ship of the supplied feature branch by entering an empty commit message
2
3  (see ../../current_branch/on_feature_branch/without_open_changes/empty_commit_message.feature)
4
5
6  Background:
7    Given my repo has the feature branches "feature" and "other-feature"
8    And the following commits exist in my repo
9      | BRANCH  | LOCATION      | MESSAGE        | FILE NAME    | FILE CONTENT    |
10      | main    | local, remote | main commit    | main_file    | main content    |
11      | feature | local         | feature commit | feature_file | feature content |
12    And I am on the "other-feature" branch
13    And my workspace has an uncommitted file with name "feature_file" and content "conflicting content"
14    When I run "git-town ship feature" and enter an empty commit message
15
16
17  @skipWindows
18  Scenario: result
19    Then it runs the commands
20      | BRANCH        | COMMAND                                     |
21      | other-feature | git fetch --prune --tags                    |
22      |               | git add -A                                  |
23      |               | git stash                                   |
24      |               | git checkout main                           |
25      | main          | git rebase origin/main                      |
26      |               | git checkout feature                        |
27      | feature       | git merge --no-edit origin/feature          |
28      |               | git merge --no-edit main                    |
29      |               | git checkout main                           |
30      | main          | git merge --squash feature                  |
31      |               | git commit                                  |
32      |               | git reset --hard                            |
33      |               | git checkout feature                        |
34      | feature       | git reset --hard {{ sha 'feature commit' }} |
35      |               | git checkout main                           |
36      | main          | git checkout other-feature                  |
37      | other-feature | git stash pop                               |
38    And it prints the error:
39      """
40      aborted because commit exited with error
41      """
42    And I am still on the "other-feature" branch
43    And my workspace still contains my uncommitted file
44    And my repo is left with my original commits
45