SuccessConsole Output

Skipping 497 KB.. Full Log
Commit5Commit:  d13644dc836f5a85aa3b0cd6842c42c545562b5bAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:35 -0500Subject: Commit1
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase a nonexistant branch': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to graft a branch onto another branch             # Rebase.feature:34
    Given I have a repository                                     # DefaultStepDefinitions.I_have_a_repository()
    And I have several branches                                   # DefaultStepDefinitions.I_have_several_branches()
    When I run the command "rebase branch1 branch2 --onto master" # DefaultStepDefinitions.I_run_the_command_X(String)
    And I run the command "log"                                   # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Commit1"                    # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should not contain "Commit2"                 # DefaultStepDefinitions.the_response_should_not_contain(String)
    And the response should not contain "Commit3"                 # DefaultStepDefinitions.the_response_should_not_contain(String)
    And the response should contain "Commit4"                     # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Commit5"                     # DefaultStepDefinitions.the_response_should_contain(String)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase to a nonexistant upstream': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to rebase a nonexistant branch                          # Rebase.feature:45
    Given I have a repository                                           # DefaultStepDefinitions.I_have_a_repository()
    And I have several branches                                         # DefaultStepDefinitions.I_have_several_branches()
    When I run the command "rebase master nonexistant"                  # DefaultStepDefinitions.I_run_the_command_X(String)
    Then it should answer "The branch reference could not be resolved." # DefaultStepDefinitions.it_should_answer_exactly(String)
    And it should exit with non-zero exit code                          # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to graft a branch onto a nonexistant branch': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to rebase to a nonexistant upstream                       # Rebase.feature:52
    Given I have a repository                                             # DefaultStepDefinitions.I_have_a_repository()
    And I have several branches                                           # DefaultStepDefinitions.I_have_several_branches()
    When I run the command "rebase nonexistant branch1"                   # DefaultStepDefinitions.I_run_the_command_X(String)
    Then it should answer "The upstream reference could not be resolved." # DefaultStepDefinitions.it_should_answer_exactly(String)
    And it should exit with non-zero exit code                            # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to graft a branch onto a nonexistant branch           # Rebase.feature:59
    Given I have a repository                                         # DefaultStepDefinitions.I_have_a_repository()
    And I have several branches                                       # DefaultStepDefinitions.I_have_several_branches()
    When I run the command "rebase master branch1 --onto nonexistant" # DefaultStepDefinitions.I_run_the_command_X(String)
    Then it should answer "The onto reference could not be resolved." # DefaultStepDefinitions.it_should_answer_exactly(String)
    And it should exit with non-zero exit code                        # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase with conflicts and skip': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to rebase from an empty directory                    # Rebase.feature:66
    Given I am in an empty directory                                 # DefaultStepDefinitions.I_am_in_an_empty_directory()
    When I run the command "rebase master branch1"                   # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String)
    And it should exit with non-zero exit code                       # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()

0.0error: could not apply 10f05efe Commit2CONFLICT: conflict in Points/Points.1When you have fixed this conflicts, run 'geogig rebase --continue' to continue rebasing.If you would prefer to skip this commit, instead run 'geogig rebase --skip.To check out the original branch and stop rebasing, run 'geogig rebase --abort'
Commit:  bfe66a1acbff1bb827fe4df92fec43c8410820caAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:50 -0500Subject: Commit3Commit:  c18e32dc8b9d90840f372c31a401401f61de78e6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:04:50 -0500Subject: Commit4Commit:  c1151cd5e30948cb6eba1807634eb4a330b4fffcAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-13 14:04:49 -0500Subject: Commit1
Commit:  bfe66a1acbff1bb827fe4df92fec43c8410820caAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:50 -0500Subject: Commit3Commit:  c18e32dc8b9d90840f372c31a401401f61de78e6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:04:50 -0500Subject: Commit4Commit:  c1151cd5e30948cb6eba1807634eb4a330b4fffcAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-13 14:04:49 -0500Subject: Commit1
Commit:  bfe66a1acbff1bb827fe4df92fec43c8410820caAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:50 -0500Subject: Commit3Commit:  c18e32dc8b9d90840f372c31a401401f61de78e6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:04:50 -0500Subject: Commit4Commit:  c1151cd5e30948cb6eba1807634eb4a330b4fffcAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-13 14:04:49 -0500Subject: Commit1
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase with conflicts and continue': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to rebase with conflicts and skip                            # Rebase.feature:72
    Given I have a repository                                                # DefaultStepDefinitions.I_have_a_repository()
    And I have conflicting branches                                          # DefaultStepDefinitions.I_have_conflicting_branches()
    When I run the command "rebase branch1 master"                           # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "CONFLICT"                              # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                               # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
    When I run the command "rebase --skip"                                   # DefaultStepDefinitions.I_run_the_command_X(String)
    And I run the command "log"                                              # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Commit1"                               # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should not contain "Commit2"                            # DefaultStepDefinitions.the_response_should_not_contain(String)
    And the response should contain "Commit3"                                # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Commit4"                                # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String)
Commit:  08954f9332088d1d85d27aac91f93066162f932eAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:53 -0500Subject: Commit3Commit:  7c0e5ff7582ec36c2c013b14b4eed515959367b7Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-13 14:04:52 -0500Subject: Commit2Commit:  479e19f94882e7fea207aeec5747031b7f9daa6aAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:53 -0500Subject: Commit4Commit:  93ee9bc36995f868a2c1d2c35da72b90c4fee850Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-13 14:04:52 -0500Subject: Commit1
Commit:  08954f9332088d1d85d27aac91f93066162f932eAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:53 -0500Subject: Commit3Commit:  7c0e5ff7582ec36c2c013b14b4eed515959367b7Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-13 14:04:52 -0500Subject: Commit2Commit:  479e19f94882e7fea207aeec5747031b7f9daa6aAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:53 -0500Subject: Commit4Commit:  93ee9bc36995f868a2c1d2c35da72b90c4fee850Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-13 14:04:52 -0500Subject: Commit1
Commit:  08954f9332088d1d85d27aac91f93066162f932eAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:53 -0500Subject: Commit3Commit:  7c0e5ff7582ec36c2c013b14b4eed515959367b7Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-13 14:04:52 -0500Subject: Commit2Commit:  479e19f94882e7fea207aeec5747031b7f9daa6aAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:53 -0500Subject: Commit4Commit:  93ee9bc36995f868a2c1d2c35da72b90c4fee850Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-13 14:04:52 -0500Subject: Commit1
Commit:  08954f9332088d1d85d27aac91f93066162f932eAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:53 -0500Subject: Commit3Commit:  7c0e5ff7582ec36c2c013b14b4eed515959367b7Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-13 14:04:52 -0500Subject: Commit2Commit:  479e19f94882e7fea207aeec5747031b7f9daa6aAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:04:53 -0500Subject: Commit4Commit:  93ee9bc36995f868a2c1d2c35da72b90c4fee850Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-13 14:04:52 -0500Subject: Commit1
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase with conflicts and abort': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to rebase with conflicts and continue                         # Rebase.feature:86
    Given I have a repository                                                 # DefaultStepDefinitions.I_have_a_repository()
    And I have conflicting branches                                           # DefaultStepDefinitions.I_have_conflicting_branches()
    And I run the command "rebase branch1 master"                             # DefaultStepDefinitions.I_run_the_command_X(String)
    And I have unstaged "points1"                                             # DefaultStepDefinitions.I_have_unstaged(String)
    And I run the command "add"                                               # DefaultStepDefinitions.I_run_the_command_X(String)
    And I run the command "rebase --continue"                                 # DefaultStepDefinitions.I_run_the_command_X(String)
    And I run the command "log"                                               # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Commit1"                                # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Commit2"                                 # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Commit3"                                 # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Commit4"                                 # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|branch1}"  # DefaultStepDefinitions.checkResponseTextContains(String)
    And the response should contain variable "{@ObjectId|localrepo|master~3}" # DefaultStepDefinitions.checkResponseTextContains(String)

0.0Building final tree PointsTree Points staged in 801.2 μsRemoving 0 merged conflicts...Done. 1 unmerged conflicts.error: could not apply 595c1e44 Commit4CONFLICT: conflict in Points/Points.1When you have fixed this conflicts, run 'geogig rebase --continue' to continue rebasing.If you would prefer to skip this commit, instead run 'geogig rebase --skip.To check out the original branch and stop rebasing, run 'geogig rebase --abort'
Rebase aborted successfully.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase --skip when no conflict exist': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to rebase with conflicts and abort          # Rebase.feature:101
    Given I have a repository                               # DefaultStepDefinitions.I_have_a_repository()
    And I have conflicting branches                         # DefaultStepDefinitions.I_have_conflicting_branches()
    When I run the command "rebase master branch1"          # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "CONFLICT"             # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code              # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
    When I run the command "rebase --abort"                 # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "aborted successfully" # DefaultStepDefinitions.the_response_should_contain(String)
Cannot skip. You are not in the middle of a rebase process.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase --continue when no conflict exist': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to rebase --skip when no conflict exist # Rebase.feature:110
    Given I have a repository                           # DefaultStepDefinitions.I_have_a_repository()
    When I run the command "rebase --skip"              # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Cannot skip"      # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code          # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
Cannot continue. You are not in the middle of a rebase process.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase --abort when no conflict exist': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to rebase --continue when no conflict exist # Rebase.feature:116
    Given I have a repository                               # DefaultStepDefinitions.I_have_a_repository()
    When I run the command "rebase --continue"              # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Cannot continue"      # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code              # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
Cannot abort. You are not in the middle of a rebase process.

  Scenario: Try to rebase --abort when no conflict exist # Rebase.feature:122
    Given I have a repository                            # DefaultStepDefinitions.I_have_a_repository()
    When I run the command "rebase --abort"              # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Cannot abort"      # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code           # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
Feature: "rm" command
    In order to remove features from the repository
    As a Geogig User
    I want to delete features and trees from the working tree
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a single feature': Using URIBuilder DefaultTestRepoURIBuilder
Deleting features...Staging changes...Computing result count...Deleted 1 feature(s)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete several features': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to delete a single feature                  # Remove.feature:6
    Given I have a repository                               # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                             # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                             # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                              # DefaultStepDefinitions.I_have_staged(String)
    And I run the command "commit -m Test"                  # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "rm Points/Points.1"             # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Deleted 1 feature(s)" # DefaultStepDefinitions.the_response_should_contain(String)
Deleting features...Staging changes...Computing result count...Deleted 2 feature(s)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a whole tree': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to delete several features                      # Remove.feature:15
    Given I have a repository                                   # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                 # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                 # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                  # DefaultStepDefinitions.I_have_staged(String)
    And I run the command "commit -m Test"                      # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "rm Points/Points.1 Points/Points.2" # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Deleted 2 feature(s)"     # DefaultStepDefinitions.the_response_should_contain(String)
Deleted Points treeStaging changes...Computing result count...Deleted 2 feature(s)Deleted 1 trees
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a whole tree without the -r modifier': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to delete a whole tree                     # Remove.feature:24
    Given I have a repository                              # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                            # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                            # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                             # DefaultStepDefinitions.I_have_staged(String)
    And I run the command "commit -m Test"                 # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "rm Points -r "                 # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Deleted Points tree" # DefaultStepDefinitions.the_response_should_contain(String)
Cannot remove tree Points if recursive or truncate is not specified
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete an inexistent feature': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to delete a whole tree without the -r modifier                                             # Remove.feature:33
    Given I have a repository                                                                              # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                                                            # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                                                            # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                                                             # DefaultStepDefinitions.I_have_staged(String)
    And I run the command "commit -m Test"                                                                 # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "rm Points"                                                                     # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Cannot remove tree Points if recursive or truncate is not specified" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                                                             # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
Deleting features...Staging changes...Computing result count...Deleted 0 feature(s)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Truncate a tree': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to delete an inexistent feature             # Remove.feature:43
    Given I have a repository                               # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                             # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                             # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                              # DefaultStepDefinitions.I_have_staged(String)
    And I run the command "commit -m Test"                  # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "rm Points/Wrong.1"              # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Deleted 0 feature(s)" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code              # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
Truncated Points treeStaging changes...Computing result count...Deleted 2 feature(s)
Points 0Lines 1

  Scenario: Truncate a tree                                  # Remove.feature:53
    Given I have a repository                                # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                              # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                              # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                               # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "rm Points -t "                   # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Truncated Points tree" # DefaultStepDefinitions.the_response_should_contain(String)
    When I run the command "ls-tree -s"                      # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Points 0"              # DefaultStepDefinitions.the_response_should_contain(String)
Feature: "reset" command
    In order to undo local changes
    As a Geogig User
    I want to reset the head, and optionally, the working tree and index to the state of another commit
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a mixed reset of all local changes': Using URIBuilder DefaultTestRepoURIBuilder

100.0[00c6ec3d8b77b82380e177cc12cc4ee0a78a973c] TestCommitted, counting objects...3 features added, 0 changed, 0 deleted.
Unstaged changes after reset:M	Points/Points.1
# On branch master# Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      modified  Points#      modified  Points/Points.1# 2 total.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a hard reset of all local changes': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to do a mixed reset of all local changes             # Reset.feature:6
    Given I have a repository                                        # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                      # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                      # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                       # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "commit -m Test"                          # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "3 features added"              # DefaultStepDefinitions.the_response_should_contain(String)
    When I modify and add a feature                                  # DefaultStepDefinitions.I_modify_and_add_a_feature()
    And I run the command "reset --mixed"                            # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Unstaged changes after reset:" # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain 2 lines                          # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
    When I run the command "status"                                  # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should not contain "Changes to be committed"    # DefaultStepDefinitions.the_response_should_not_contain(String)

100.0[048265abaf399feb82345871b1b467829adbdb08] TestCommitted, counting objects...3 features added, 0 changed, 0 deleted.
# On branch masternothing to commit (working directory clean)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a soft reset of all local changes': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to do a hard reset of all local changes  # Reset.feature:21
    Given I have a repository                            # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                          # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                          # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                           # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "commit -m Test"              # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "3 features added"  # DefaultStepDefinitions.the_response_should_contain(String)
    When I modify and add a feature                      # DefaultStepDefinitions.I_modify_and_add_a_feature()
    And I run the command "reset --hard"                 # DefaultStepDefinitions.I_run_the_command_X(String)
    Then it should answer ""                             # DefaultStepDefinitions.it_should_answer_exactly(String)
    When I run the command "status"                      # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "nothing to commit" # DefaultStepDefinitions.the_response_should_contain(String)

100.0[0b3d9b7206a4d3cd6fd302b59c36bb5f43d6811c] TestCommitted, counting objects...3 features added, 0 changed, 0 deleted.
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      modified  Points#      modified  Points/Points.1# 2 total.#
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a mixed and hard reset of all local changes': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to do a soft reset of all local changes                  # Reset.feature:34
    Given I have a repository                                            # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                          # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                          # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                           # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "commit -m Test"                              # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "3 features added"                  # DefaultStepDefinitions.the_response_should_contain(String)
    When I modify and add a feature                                      # DefaultStepDefinitions.I_modify_and_add_a_feature()
    And I run the command "reset --soft"                                 # DefaultStepDefinitions.I_run_the_command_X(String)
    Then it should answer ""                                             # DefaultStepDefinitions.it_should_answer_exactly(String)
    When I run the command "status"                                      # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should not contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_not_contain(String)
    And the response should contain "Changes to be committed"            # DefaultStepDefinitions.the_response_should_contain(String)

100.0[0b8b8793f45f181baef840127d0944e50507114d] TestCommitted, counting objects...3 features added, 0 changed, 0 deleted.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a mixed and soft reset of all local changes': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to do a mixed and hard reset of all local changes # Reset.feature:48
    Given I have a repository                                     # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                   # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                   # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                    # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "commit -m Test"                       # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "3 features added"           # DefaultStepDefinitions.the_response_should_contain(String)
    When I modify and add a feature                               # DefaultStepDefinitions.I_modify_and_add_a_feature()
    And I run the command "reset --hard --mixed"                  # DefaultStepDefinitions.I_run_the_command_X(String)
    Then it should answer "you may only specify one mode."        # DefaultStepDefinitions.it_should_answer_exactly(String)

100.0[2546f01a91c0d40c77412a584e8cf007f1341757] TestCommitted, counting objects...3 features added, 0 changed, 0 deleted.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to reset from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to do a mixed and soft reset of all local changes # Reset.feature:59
    Given I have a repository                                     # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                   # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                   # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                    # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "commit -m Test"                       # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "3 features added"           # DefaultStepDefinitions.the_response_should_contain(String)
    When I modify and add a feature                               # DefaultStepDefinitions.I_modify_and_add_a_feature()
    And I run the command "reset --soft --mixed"                  # DefaultStepDefinitions.I_run_the_command_X(String)
    Then it should answer "you may only specify one mode."        # DefaultStepDefinitions.it_should_answer_exactly(String)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to reset with no commits': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to reset from an empty directory                     # Reset.feature:70
    Given I am in an empty directory                                 # DefaultStepDefinitions.I_am_in_an_empty_directory()
    When I run the command "reset"                                   # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String)
    And it should exit with non-zero exit code                       # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to reset to a nonexistant commit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to reset with no commits                  # Reset.feature:76
    Given I have a repository                             # DefaultStepDefinitions.I_have_a_repository()
    When I run the command "reset"                        # DefaultStepDefinitions.I_run_the_command_X(String)
    Then it should answer "Commit could not be resolved." # DefaultStepDefinitions.it_should_answer_exactly(String)
    And it should exit with non-zero exit code            # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()

100.0[a13c393328b5ce50cac08ed70a14fe9d7f5206e7] TestCommitted, counting objects...3 features added, 0 changed, 0 deleted.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a reset of a specific path': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to reset to a nonexistant commit          # Reset.feature:82
    Given I have a repository                             # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                           # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                           # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                            # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "commit -m Test"               # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "3 features added"   # DefaultStepDefinitions.the_response_should_contain(String)
    When I modify and add a feature                       # DefaultStepDefinitions.I_modify_and_add_a_feature()
    And I run the command "reset nonexistant"             # DefaultStepDefinitions.I_run_the_command_X(String)
    Then it should answer "Commit could not be resolved." # DefaultStepDefinitions.it_should_answer_exactly(String)
    And it should exit with non-zero exit code            # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()

100.0[d789e34e6312c4122a84b59fe48a41a4f8ec9c90] TestCommitted, counting objects...3 features added, 0 changed, 0 deleted.
Unstaged changes after reset:M	Points/Points.1
# On branch master# Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      modified  Points#      modified  Points/Points.1# 2 total.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a reset of a non-used path': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to do a reset of a specific path                     # Reset.feature:94
    Given I have a repository                                        # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                      # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                      # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                       # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "commit -m Test"                          # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "3 features added"              # DefaultStepDefinitions.the_response_should_contain(String)
    When I modify and add a feature                                  # DefaultStepDefinitions.I_modify_and_add_a_feature()
    And I run the command "reset --path Points"                      # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Unstaged changes after reset:" # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain 2 lines                          # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
    When I run the command "status"                                  # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should not contain "Changes to be committed"    # DefaultStepDefinitions.the_response_should_not_contain(String)

100.0[70eb9153d960e53de644ef796b38449e27125ad3] TestCommitted, counting objects...3 features added, 0 changed, 0 deleted.
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      modified  Points#      modified  Points/Points.1# 2 total.#
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a reset of multiple paths': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to do a reset of a non-used path                         # Reset.feature:109
    Given I have a repository                                            # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                          # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                          # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                           # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "commit -m Test"                              # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "3 features added"                  # DefaultStepDefinitions.the_response_should_contain(String)
    When I modify and add a feature                                      # DefaultStepDefinitions.I_modify_and_add_a_feature()
    And I run the command "reset --path Lines"                           # DefaultStepDefinitions.I_run_the_command_X(String)
    Then it should answer ""                                             # DefaultStepDefinitions.it_should_answer_exactly(String)
    When I run the command "status"                                      # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should not contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_not_contain(String)
    And the response should contain "Changes to be committed"            # DefaultStepDefinitions.the_response_should_contain(String)

100.0[6d5ddc7e9fa05aa40463f73c1750455e49391d4e] TestCommitted, counting objects...3 features added, 0 changed, 0 deleted.
Unstaged changes after reset:M	Points/Points.1
# On branch master# Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      modified  Points#      modified  Points/Points.1# 2 total.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to reset to the state of another branch': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to do a reset of multiple paths                      # Reset.feature:123
    Given I have a repository                                        # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                      # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                      # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                       # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "commit -m Test"                          # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "3 features added"              # DefaultStepDefinitions.the_response_should_contain(String)
    When I modify and add a feature                                  # DefaultStepDefinitions.I_modify_and_add_a_feature()
    And I run the command "reset --path Lines Points"                # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Unstaged changes after reset:" # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain 2 lines                          # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
    When I run the command "status"                                  # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should not contain "Changes to be committed"    # DefaultStepDefinitions.the_response_should_not_contain(String)
Unstaged changes after reset:A	Lines/Lines.1
Commit:  dcd5bbb8bf1bc0866976e0f7f166c92ad53e1504Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:36 -0500Subject: Commit3Commit:  81f9200c923cb5d2e64fb4ca2cfc458873ea0d09Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:35 -0500Subject: Commit2Commit:  3036a337044683c83c30baba05e8e986b04739efAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:35 -0500Subject: Commit1
Commit:  dcd5bbb8bf1bc0866976e0f7f166c92ad53e1504Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:36 -0500Subject: Commit3Commit:  81f9200c923cb5d2e64fb4ca2cfc458873ea0d09Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:35 -0500Subject: Commit2Commit:  3036a337044683c83c30baba05e8e986b04739efAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:35 -0500Subject: Commit1
Commit:  dcd5bbb8bf1bc0866976e0f7f166c92ad53e1504Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:36 -0500Subject: Commit3Commit:  81f9200c923cb5d2e64fb4ca2cfc458873ea0d09Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:35 -0500Subject: Commit2Commit:  3036a337044683c83c30baba05e8e986b04739efAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:35 -0500Subject: Commit1
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a reset with a mode and paths': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to reset to the state of another branch                         # Reset.feature:138
    Given I have a repository                                                   # DefaultStepDefinitions.I_have_a_repository()
    And I have several branches                                                 # DefaultStepDefinitions.I_have_several_branches()
    When I run the command "checkout branch2"                                   # DefaultStepDefinitions.I_run_the_command_X(String)
    And I run the command "reset branch1"                                       # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Unstaged changes after reset:"            # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain 2 lines                                     # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
    When I run the command "log"                                                # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Subject: Commit1"                         # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit2"                          # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit3"                          # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|branch1}"    # DefaultStepDefinitions.checkResponseTextContains(String)
    And the response should not contain "Subject: Commit4"                      # DefaultStepDefinitions.the_response_should_not_contain(String)
    And the response should not contain "Subject: Commit5"                      # DefaultStepDefinitions.the_response_should_not_contain(String)
    And the response should not contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String)

100.0[993e47f7a75d8c24d1c4f7277ae130b680c3c2a5] TestCommitted, counting objects...3 features added, 0 changed, 0 deleted.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a reset with removed feature': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to do a reset with a mode and paths                              # Reset.feature:154
    Given I have a repository                                                    # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                                  # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                                  # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                                   # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "commit -m Test"                                      # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "3 features added"                          # DefaultStepDefinitions.the_response_should_contain(String)
    When I modify and add a feature                                              # DefaultStepDefinitions.I_modify_and_add_a_feature()
    And I run the command "reset --hard --path Lines"                            # DefaultStepDefinitions.I_run_the_command_X(String)
    Then it should answer "Ambiguous call, cannot specify paths and reset mode." # DefaultStepDefinitions.it_should_answer_exactly(String)
    And it should exit with non-zero exit code                                   # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
Unstaged changes after reset:D	Points/Points.1

  Scenario: Try to do a reset with removed feature                  # Reset.feature:166
    Given I have a repository                                       # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                      # DefaultStepDefinitions.I_have_several_commits()
    And I remove and add a feature                                  # DefaultStepDefinitions.I_remove_and_add_a_feature()
    When I run the command "reset"                                  # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Unstaged changes after reset" # DefaultStepDefinitions.the_response_should_contain(String)
Feature: "revert" command
  In order to undo committed changes
  As a Geogig user
  I want to revert a series of commits and commit those changes
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert something while not in a geogig repository': Using URIBuilder DefaultTestRepoURIBuilder
Not in a geogig repository: /opt/public/hipp/ramdisk/geogig/junit7831030493356687061/data
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert with nothing specified for reverting': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to revert something while not in a geogig repository # Revert.feature:6
    Given I am in an empty directory                                 # DefaultStepDefinitions.I_am_in_an_empty_directory()
    And I run the command "revert master"                            # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Not in a geogig repository"    # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                       # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
nothing specified for reverting
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert one commit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to revert with nothing specified for reverting         # Revert.feature:12
    Given I have a repository                                          # DefaultStepDefinitions.I_have_a_repository()
    And I run the command "revert"                                     # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "nothing specified for reverting" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                         # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Creating revert state of commit e17f265e519fc7977c0553e7e418ad07d3390430 (Commit4)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 1 features in 4.882 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 9.989 ms

Commit:  a3fbb92b02a206ef2acbdbfe5d0e176b793c21a4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:49 +0000Subject: Revert 'Commit4'This reverts e17f265e519fc7977c0553e7e418ad07d3390430Commit:  e17f265e519fc7977c0553e7e418ad07d3390430Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:49 -0500Subject: Commit4Commit:  a4d9b881ceef6effe3899e71e6f8cf391067b548Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:49 -0500Subject: Commit3Commit:  129db51cac6361ea866033c08fb4528a06ca06ccAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:48 -0500Subject: Commit2Commit:  51f9d3418c38c3bd049733cad24b1adec23b23d6Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:48 -0500Subject: Commit1
Commit:  a3fbb92b02a206ef2acbdbfe5d0e176b793c21a4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:49 +0000Subject: Revert 'Commit4'This reverts e17f265e519fc7977c0553e7e418ad07d3390430Commit:  e17f265e519fc7977c0553e7e418ad07d3390430Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:49 -0500Subject: Commit4Commit:  a4d9b881ceef6effe3899e71e6f8cf391067b548Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:49 -0500Subject: Commit3Commit:  129db51cac6361ea866033c08fb4528a06ca06ccAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:48 -0500Subject: Commit2Commit:  51f9d3418c38c3bd049733cad24b1adec23b23d6Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:48 -0500Subject: Commit1
Commit:  a3fbb92b02a206ef2acbdbfe5d0e176b793c21a4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:49 +0000Subject: Revert 'Commit4'This reverts e17f265e519fc7977c0553e7e418ad07d3390430Commit:  e17f265e519fc7977c0553e7e418ad07d3390430Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:49 -0500Subject: Commit4Commit:  a4d9b881ceef6effe3899e71e6f8cf391067b548Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:49 -0500Subject: Commit3Commit:  129db51cac6361ea866033c08fb4528a06ca06ccAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:48 -0500Subject: Commit2Commit:  51f9d3418c38c3bd049733cad24b1adec23b23d6Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:48 -0500Subject: Commit1
Commit:  a3fbb92b02a206ef2acbdbfe5d0e176b793c21a4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:49 +0000Subject: Revert 'Commit4'This reverts e17f265e519fc7977c0553e7e418ad07d3390430Commit:  e17f265e519fc7977c0553e7e418ad07d3390430Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:49 -0500Subject: Commit4Commit:  a4d9b881ceef6effe3899e71e6f8cf391067b548Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:49 -0500Subject: Commit3Commit:  129db51cac6361ea866033c08fb4528a06ca06ccAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:48 -0500Subject: Commit2Commit:  51f9d3418c38c3bd049733cad24b1adec23b23d6Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:48 -0500Subject: Commit1
Commit:  a3fbb92b02a206ef2acbdbfe5d0e176b793c21a4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:49 +0000Subject: Revert 'Commit4'This reverts e17f265e519fc7977c0553e7e418ad07d3390430Commit:  e17f265e519fc7977c0553e7e418ad07d3390430Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:49 -0500Subject: Commit4Commit:  a4d9b881ceef6effe3899e71e6f8cf391067b548Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:49 -0500Subject: Commit3Commit:  129db51cac6361ea866033c08fb4528a06ca06ccAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:48 -0500Subject: Commit2Commit:  51f9d3418c38c3bd049733cad24b1adec23b23d6Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:48 -0500Subject: Commit1
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert a commit that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to revert one commit                            # Revert.feature:18
    Given I have a repository                                   # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                  # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "revert master"                      # DefaultStepDefinitions.I_run_the_command_X(String)
    And I run the command "log"                                 # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Subject: Commit1"         # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit2"          # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit3"          # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit4"          # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Revert 'Commit4'" # DefaultStepDefinitions.the_response_should_contain(String)
Couldn't resolve 'doesntExist' to a commit, aborting revert.
Commit:  dfd60762d96a6b1f44e51ca00ec80e4c1ccb7bd3Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit4Commit:  4280a24d4776fa342285e60ea615c664bda3d397Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit3Commit:  4687dff55644c0603d7826045eb8d99d0e0ebb6eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit2Commit:  4f5bc956d1d3211b8cc721fbd4e18629ae94a5d1Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:50 -0500Subject: Commit1
Commit:  dfd60762d96a6b1f44e51ca00ec80e4c1ccb7bd3Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit4Commit:  4280a24d4776fa342285e60ea615c664bda3d397Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit3Commit:  4687dff55644c0603d7826045eb8d99d0e0ebb6eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit2Commit:  4f5bc956d1d3211b8cc721fbd4e18629ae94a5d1Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:50 -0500Subject: Commit1
Commit:  dfd60762d96a6b1f44e51ca00ec80e4c1ccb7bd3Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit4Commit:  4280a24d4776fa342285e60ea615c664bda3d397Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit3Commit:  4687dff55644c0603d7826045eb8d99d0e0ebb6eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit2Commit:  4f5bc956d1d3211b8cc721fbd4e18629ae94a5d1Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:50 -0500Subject: Commit1
Commit:  dfd60762d96a6b1f44e51ca00ec80e4c1ccb7bd3Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit4Commit:  4280a24d4776fa342285e60ea615c664bda3d397Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit3Commit:  4687dff55644c0603d7826045eb8d99d0e0ebb6eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:51 -0500Subject: Commit2Commit:  4f5bc956d1d3211b8cc721fbd4e18629ae94a5d1Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:50 -0500Subject: Commit1
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert multiple commits': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to revert a commit that doesn't exist                                              # Revert.feature:29
    Given I have a repository                                                                      # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                                                     # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "revert doesntExist"                                                    # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Couldn't resolve 'doesntExist' to a commit, aborting revert" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                                                     # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
    When I run the command "log"                                                                   # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Subject: Commit1"                                            # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit2"                                             # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit3"                                             # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit4"                                             # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should not contain "Subject: Revert 'Commit4'"                                # DefaultStepDefinitions.the_response_should_not_contain(String)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Creating revert state of commit b4c888ca67f9473bdd880b335fe7d17630a66bf2 (Commit3)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 2 features in 13.18 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 2 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 2 changes staged in 12.62 ms

[main] INFO org.locationtech.geogig.porcelain.RevertOp - Creating revert state of commit 838ae5b8d44b5ac35e31ab014fb2cca46268f676 (Commit2)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 2 features in 13.13 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 2 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 2 changes staged in 11.79 ms

Commit:  b7ff27dae7b4457db6bc6464218a0a31e2657eeaAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit2'This reverts 838ae5b8d44b5ac35e31ab014fb2cca46268f676Commit:  ac7615db8790bef5591395800512a14c0a4b2a46Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit3'This reverts b4c888ca67f9473bdd880b335fe7d17630a66bf2Commit:  5ba6c95a53e4a2e6f1f890556c0d0d18fb0317caAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:54 -0500Subject: Commit4Commit:  b4c888ca67f9473bdd880b335fe7d17630a66bf2Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:53 -0500Subject: Commit3Commit:  838ae5b8d44b5ac35e31ab014fb2cca46268f676Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:53 -0500Subject: Commit2Commit:  b3e357a686b0a009c3b9090d8e6995b269c8a4adAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:52 -0500Subject: Commit1
Commit:  b7ff27dae7b4457db6bc6464218a0a31e2657eeaAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit2'This reverts 838ae5b8d44b5ac35e31ab014fb2cca46268f676Commit:  ac7615db8790bef5591395800512a14c0a4b2a46Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit3'This reverts b4c888ca67f9473bdd880b335fe7d17630a66bf2Commit:  5ba6c95a53e4a2e6f1f890556c0d0d18fb0317caAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:54 -0500Subject: Commit4Commit:  b4c888ca67f9473bdd880b335fe7d17630a66bf2Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:53 -0500Subject: Commit3Commit:  838ae5b8d44b5ac35e31ab014fb2cca46268f676Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:53 -0500Subject: Commit2Commit:  b3e357a686b0a009c3b9090d8e6995b269c8a4adAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:52 -0500Subject: Commit1
Commit:  b7ff27dae7b4457db6bc6464218a0a31e2657eeaAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit2'This reverts 838ae5b8d44b5ac35e31ab014fb2cca46268f676Commit:  ac7615db8790bef5591395800512a14c0a4b2a46Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit3'This reverts b4c888ca67f9473bdd880b335fe7d17630a66bf2Commit:  5ba6c95a53e4a2e6f1f890556c0d0d18fb0317caAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:54 -0500Subject: Commit4Commit:  b4c888ca67f9473bdd880b335fe7d17630a66bf2Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:53 -0500Subject: Commit3Commit:  838ae5b8d44b5ac35e31ab014fb2cca46268f676Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:53 -0500Subject: Commit2Commit:  b3e357a686b0a009c3b9090d8e6995b269c8a4adAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:52 -0500Subject: Commit1
Commit:  b7ff27dae7b4457db6bc6464218a0a31e2657eeaAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit2'This reverts 838ae5b8d44b5ac35e31ab014fb2cca46268f676Commit:  ac7615db8790bef5591395800512a14c0a4b2a46Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit3'This reverts b4c888ca67f9473bdd880b335fe7d17630a66bf2Commit:  5ba6c95a53e4a2e6f1f890556c0d0d18fb0317caAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:54 -0500Subject: Commit4Commit:  b4c888ca67f9473bdd880b335fe7d17630a66bf2Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:53 -0500Subject: Commit3Commit:  838ae5b8d44b5ac35e31ab014fb2cca46268f676Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:53 -0500Subject: Commit2Commit:  b3e357a686b0a009c3b9090d8e6995b269c8a4adAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:52 -0500Subject: Commit1
Commit:  b7ff27dae7b4457db6bc6464218a0a31e2657eeaAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit2'This reverts 838ae5b8d44b5ac35e31ab014fb2cca46268f676Commit:  ac7615db8790bef5591395800512a14c0a4b2a46Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit3'This reverts b4c888ca67f9473bdd880b335fe7d17630a66bf2Commit:  5ba6c95a53e4a2e6f1f890556c0d0d18fb0317caAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:54 -0500Subject: Commit4Commit:  b4c888ca67f9473bdd880b335fe7d17630a66bf2Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:53 -0500Subject: Commit3Commit:  838ae5b8d44b5ac35e31ab014fb2cca46268f676Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:53 -0500Subject: Commit2Commit:  b3e357a686b0a009c3b9090d8e6995b269c8a4adAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:52 -0500Subject: Commit1
Commit:  b7ff27dae7b4457db6bc6464218a0a31e2657eeaAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit2'This reverts 838ae5b8d44b5ac35e31ab014fb2cca46268f676Commit:  ac7615db8790bef5591395800512a14c0a4b2a46Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:05:54 +0000Subject: Revert 'Commit3'This reverts b4c888ca67f9473bdd880b335fe7d17630a66bf2Commit:  5ba6c95a53e4a2e6f1f890556c0d0d18fb0317caAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:54 -0500Subject: Commit4Commit:  b4c888ca67f9473bdd880b335fe7d17630a66bf2Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:53 -0500Subject: Commit3Commit:  838ae5b8d44b5ac35e31ab014fb2cca46268f676Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:53 -0500Subject: Commit2Commit:  b3e357a686b0a009c3b9090d8e6995b269c8a4adAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:52 -0500Subject: Commit1
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert multiple commits but with one nonexistant commit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to revert multiple commits                      # Revert.feature:42
    Given I have a repository                                   # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                  # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "revert master~1 master~2"           # DefaultStepDefinitions.I_run_the_command_X(String)
    And I run the command "log"                                 # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Subject: Commit1"         # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit2"          # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit3"          # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit4"          # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Revert 'Commit2'" # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Revert 'Commit3'" # DefaultStepDefinitions.the_response_should_contain(String)
Couldn't resolve 'blah' to a commit, aborting revert.
Commit:  e0d6d6b6109191f09ea7a54d2b690b008c5cbf2eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:56 -0500Subject: Commit4Commit:  dc31dab5682b5a4df4282ba1acb74c5c0a6efa67Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:55 -0500Subject: Commit3Commit:  52905af51daed92d361ead684ed8b6ab7ebff8b6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:55 -0500Subject: Commit2Commit:  0872c9088d88eb393e40abbb9198095430337b89Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:55 -0500Subject: Commit1
Commit:  e0d6d6b6109191f09ea7a54d2b690b008c5cbf2eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:56 -0500Subject: Commit4Commit:  dc31dab5682b5a4df4282ba1acb74c5c0a6efa67Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:55 -0500Subject: Commit3Commit:  52905af51daed92d361ead684ed8b6ab7ebff8b6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:55 -0500Subject: Commit2Commit:  0872c9088d88eb393e40abbb9198095430337b89Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:55 -0500Subject: Commit1
Commit:  e0d6d6b6109191f09ea7a54d2b690b008c5cbf2eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:56 -0500Subject: Commit4Commit:  dc31dab5682b5a4df4282ba1acb74c5c0a6efa67Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:55 -0500Subject: Commit3Commit:  52905af51daed92d361ead684ed8b6ab7ebff8b6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:55 -0500Subject: Commit2Commit:  0872c9088d88eb393e40abbb9198095430337b89Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:55 -0500Subject: Commit1
Commit:  e0d6d6b6109191f09ea7a54d2b690b008c5cbf2eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:56 -0500Subject: Commit4Commit:  dc31dab5682b5a4df4282ba1acb74c5c0a6efa67Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:55 -0500Subject: Commit3Commit:  52905af51daed92d361ead684ed8b6ab7ebff8b6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:05:55 -0500Subject: Commit2Commit:  0872c9088d88eb393e40abbb9198095430337b89Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:05:55 -0500Subject: Commit1
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert with conflict and abort': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to revert multiple commits but with one nonexistant commit                  # Revert.feature:54
    Given I have a repository                                                               # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                                              # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "revert master~1 blah"                                           # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Couldn't resolve 'blah' to a commit, aborting revert" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                                              # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
    When I run the command "log"                                                            # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Subject: Commit1"                                     # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit2"                                      # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit3"                                      # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Subject: Commit4"                                      # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should not contain "Subject: Revert of commit"                         # DefaultStepDefinitions.the_response_should_not_contain(String)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Creating revert state of commit fe55f579c42991cb060e886fac116065e9147ab4 (Commit1)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 2 features in 14.15 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 10.96 ms

error: could not apply fe55f579 Commit1CONFLICT: conflict in Points/Points.1When you have fixed these conflicts, run 'geogig revert --continue' to continue the revert operation.To abort the revert operation, run 'geogig revert --abort'
error: could not apply fe55f579 Commit1CONFLICT: conflict in Points/Points.1When you have fixed these conflicts, run 'geogig revert --continue' to continue the revert operation.To abort the revert operation, run 'geogig revert --abort'
Revert aborted successfully.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert without commiting': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to revert with conflict and abort                           # Revert.feature:68
    Given I have a repository                                               # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                              # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "revert HEAD~3"                                  # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "could not apply"                      # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "CONFLICT: conflict in Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                              # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
    When I run the command "revert --abort"                                 # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "aborted"                              # DefaultStepDefinitions.the_response_should_contain(String)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Creating revert state of commit dcdfeea37f73a76e061694686e739cb22bd6fea0 (Commit4)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 1 features in 2.370 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 9.698 ms

[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert with conflict and continue': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to revert without commiting           # Revert.feature:78
    Given I have a repository                         # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                        # DefaultStepDefinitions.I_have_several_commits()
    And I run the command "revert master --no-commit" # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "log"                      # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should not contain "Revert"     # DefaultStepDefinitions.the_response_should_not_contain(String)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Creating revert state of commit 542ab1e4af6922c2da4e1b7d4f9cb30f99f53fab (Commit1)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 2 features in 3.173 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 9.701 ms

error: could not apply 542ab1e4 Commit1CONFLICT: conflict in Points/Points.1When you have fixed these conflicts, run 'geogig revert --continue' to continue the revert operation.To abort the revert operation, run 'geogig revert --abort'
Commit:  24c2691955790f8ceaee4f962bd0eb62dcad370eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 19:06:02 +0000Subject: Revert 'Commit1'This reverts 542ab1e4af6922c2da4e1b7d4f9cb30f99f53fabCommit:  f1b24c814705030500636f6a1edc7964d8123a4bAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:06:02 -0500Subject: Commit4Commit:  99ff9bcb15d407bceaec2dd1caae799cb89c3d70Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-13 14:06:01 -0500Subject: Commit3Commit:  ffeeb202501854bebd5ca31ec49ccac7a09450bfAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:06:01 -0500Subject: Commit2Commit:  542ab1e4af6922c2da4e1b7d4f9cb30f99f53fabAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-13 14:06:01 -0500Subject: Commit1

  Scenario: Try to revert with conflict and continue   # Revert.feature:85
    Given I have a repository                          # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                         # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "revert HEAD~3"             # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "could not apply" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code         # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
    When I have staged "points1"                       # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "revert --continue"         # DefaultStepDefinitions.I_run_the_command_X(String)
    And I run the command "log"                        # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Revert"          # DefaultStepDefinitions.the_response_should_contain(String)
Feature: "show" command
    In order to know about a given element
    As a Geogig User
    I want to display information about it
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a feature using only its path': Using URIBuilder DefaultTestRepoURIBuilder
ID:  a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0ATTRIBUTES  ----------  sp: StringProp1_1ip: 1000pp: POINT (1 1)
ID:  a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0ATTRIBUTES  ----------  sp: StringProp1_1ip: 1000pp: POINT (1 1)
ID:  a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0ATTRIBUTES  ----------  sp: StringProp1_1ip: 1000pp: POINT (1 1)
ID:  a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0ATTRIBUTES  ----------  sp: StringProp1_1ip: 1000pp: POINT (1 1)
ID:  a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0ATTRIBUTES  ----------  sp: StringProp1_1ip: 1000pp: POINT (1 1)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a commit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to show the description of a feature using only its path                  # Show.feature:6
    Given I have a repository                                                             # DefaultStepDefinitions.I_have_a_repository()
    And I stage 6 features                                                                # DefaultStepDefinitions.I_stage_6_features()
    And I run the command "commit -m TestCommit"                                          # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "show Points/Points.1"                                         # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "ATTRIBUTES"                                         # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "FEATURE TYPE ID"                                     # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "sp"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "pp"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "ip"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String)
    And the response should contain variable "{@PointsTypeID}"                            # DefaultStepDefinitions.checkResponseTextContains(String)
Commit:        e315273776c8446136ef2a1c98ed3ee2a553d143Author:        John Doe <JohnDoe@example.com>Committer:     John Doe <JohnDoe@example.com>Author date:   (just now) Thu Dec 13 14:06:06 EST 2018Committer date:(just now) Thu Dec 13 14:06:06 EST 2018Subject:       TestCommit
Commit:        e315273776c8446136ef2a1c98ed3ee2a553d143Author:        John Doe <JohnDoe@example.com>Committer:     John Doe <JohnDoe@example.com>Author date:   (just now) Thu Dec 13 14:06:06 EST 2018Committer date:(just now) Thu Dec 13 14:06:06 EST 2018Subject:       TestCommit
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a tree': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to show the description of a commit                       # Show.feature:19
    Given I have a repository                                             # DefaultStepDefinitions.I_have_a_repository()
    And I stage 6 features                                                # DefaultStepDefinitions.I_stage_6_features()
    And I run the command "commit -m TestCommit"                          # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "show HEAD"                                    # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Commit"                             # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Author"                              # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String)
TREE ID:  99dfd3607e82eb0f85baa185c60da9da9d8858d9SIZE:  3NUMBER Of SUBTREES:  0DEFAULT FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0DEFAULT FEATURE TYPE ATTRIBUTESsp: <STRING>ip: <INTEGER>pp: <POINT>
TREE ID:  99dfd3607e82eb0f85baa185c60da9da9d8858d9SIZE:  3NUMBER Of SUBTREES:  0DEFAULT FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0DEFAULT FEATURE TYPE ATTRIBUTESsp: <STRING>ip: <INTEGER>pp: <POINT>
TREE ID:  99dfd3607e82eb0f85baa185c60da9da9d8858d9SIZE:  3NUMBER Of SUBTREES:  0DEFAULT FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0DEFAULT FEATURE TYPE ATTRIBUTESsp: <STRING>ip: <INTEGER>pp: <POINT>
TREE ID:  99dfd3607e82eb0f85baa185c60da9da9d8858d9SIZE:  3NUMBER Of SUBTREES:  0DEFAULT FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0DEFAULT FEATURE TYPE ATTRIBUTESsp: <STRING>ip: <INTEGER>pp: <POINT>
TREE ID:  99dfd3607e82eb0f85baa185c60da9da9d8858d9SIZE:  3NUMBER Of SUBTREES:  0DEFAULT FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0DEFAULT FEATURE TYPE ATTRIBUTESsp: <STRING>ip: <INTEGER>pp: <POINT>
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a feature': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to show the description of a tree                                # Show.feature:28
    Given I have a repository                                                    # DefaultStepDefinitions.I_have_a_repository()
    And I stage 6 features                                                       # DefaultStepDefinitions.I_stage_6_features()
    And I run the command "commit -m TestCommit"                                 # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "show HEAD:Points"                                    # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "TREE ID"                                   # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "DEFAULT FEATURE TYPE ATTRIBUTES"            # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "sp"                                         # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "pp"                                         # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "ip"                                         # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|HEAD:Points}" # DefaultStepDefinitions.checkResponseTextContains(String)
    And the response should contain variable "{@PointsTypeID}"                   # DefaultStepDefinitions.checkResponseTextContains(String)
ID:  a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0ATTRIBUTES  ----------  sp: StringProp1_1ip: 1000pp: POINT (1 1)
ID:  a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0ATTRIBUTES  ----------  sp: StringProp1_1ip: 1000pp: POINT (1 1)
ID:  a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0ATTRIBUTES  ----------  sp: StringProp1_1ip: 1000pp: POINT (1 1)
ID:  a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0ATTRIBUTES  ----------  sp: StringProp1_1ip: 1000pp: POINT (1 1)
ID:  a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0ATTRIBUTES  ----------  sp: StringProp1_1ip: 1000pp: POINT (1 1)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a feature using its SHA-1': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to show the description of a feature                                      # Show.feature:41
    Given I have a repository                                                             # DefaultStepDefinitions.I_have_a_repository()
    And I stage 6 features                                                                # DefaultStepDefinitions.I_stage_6_features()
    And I run the command "commit -m TestCommit"                                          # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "show HEAD:Points/Points.1"                                    # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "ATTRIBUTES"                                         # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "FEATURE TYPE ID"                                     # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "sp"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "pp"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "ip"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String)
    And the response should contain variable "{@PointsTypeID}"                            # DefaultStepDefinitions.checkResponseTextContains(String)
id	a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURESTRING	StringProp1_1INTEGER	1000POINT	POINT (1 1)
id	a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURESTRING	StringProp1_1INTEGER	1000POINT	POINT (1 1)
id	a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURESTRING	StringProp1_1INTEGER	1000POINT	POINT (1 1)
id	a47ca38e5c3e92c94dec9e8ea597c642003ec878FEATURESTRING	StringProp1_1INTEGER	1000POINT	POINT (1 1)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a feature with the --raw modifier': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to show the description of a feature using its SHA-1                                          # Show.feature:54
    Given I have a repository                                                                                 # DefaultStepDefinitions.I_have_a_repository()
    And I stage 6 features                                                                                    # DefaultStepDefinitions.I_stage_6_features()
    And I run the command "commit -m TestCommit"                                                              # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "show a47ca38e5c3e92c94dec9e8ea597c642003ec878"                                    # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "FEATURE"                                                                # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "STRING"                                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "INTEGER"                                                                 # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "POINT"                                                                   # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|a47ca38e5c3e92c94dec9e8ea597c642003ec878}" # DefaultStepDefinitions.checkResponseTextContains(String)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a 2 features with the --raw modifier': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to show the description of a feature with the --raw modifier              # Show.feature:65
    Given I have a repository                                                             # DefaultStepDefinitions.I_have_a_repository()
    And I stage 6 features                                                                # DefaultStepDefinitions.I_stage_6_features()
    And I run the command "commit -m TestCommit"                                          # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "show HEAD:Points/Points.1 --raw"                              # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "STRING"                                             # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "INTEGER"                                             # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "POINT urn:ogc:def:crs:EPSG::4326"                    # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "sp"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "pp"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "ip"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)HEAD:Points/Points.20d0cdfa256daf663172f01a0a0d06a9ecf69e113spSTRINGStringProp1_2ipINTEGER2000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (2 2)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)HEAD:Points/Points.20d0cdfa256daf663172f01a0a0d06a9ecf69e113spSTRINGStringProp1_2ipINTEGER2000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (2 2)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)HEAD:Points/Points.20d0cdfa256daf663172f01a0a0d06a9ecf69e113spSTRINGStringProp1_2ipINTEGER2000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (2 2)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)HEAD:Points/Points.20d0cdfa256daf663172f01a0a0d06a9ecf69e113spSTRINGStringProp1_2ipINTEGER2000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (2 2)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)HEAD:Points/Points.20d0cdfa256daf663172f01a0a0d06a9ecf69e113spSTRINGStringProp1_2ipINTEGER2000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (2 2)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)HEAD:Points/Points.20d0cdfa256daf663172f01a0a0d06a9ecf69e113spSTRINGStringProp1_2ipINTEGER2000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (2 2)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)HEAD:Points/Points.20d0cdfa256daf663172f01a0a0d06a9ecf69e113spSTRINGStringProp1_2ipINTEGER2000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (2 2)
HEAD:Points/Points.1a47ca38e5c3e92c94dec9e8ea597c642003ec878spSTRINGStringProp1_1ipINTEGER1000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (1 1)HEAD:Points/Points.20d0cdfa256daf663172f01a0a0d06a9ecf69e113spSTRINGStringProp1_2ipINTEGER2000ppPOINT urn:ogc:def:crs:EPSG::4326POINT (2 2)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a featuretype': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to show the description of a 2 features with the --raw modifier           # Show.feature:78
    Given I have a repository                                                             # DefaultStepDefinitions.I_have_a_repository()
    And I stage 6 features                                                                # DefaultStepDefinitions.I_stage_6_features()
    And I run the command "commit -m TestCommit"                                          # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "show HEAD:Points/Points.1 HEAD:Points/Points.2 --raw"         # DefaultStepDefinitions.I_run_the_command_X(String)
    And the response should contain "HEAD:Points/Points.1"                                # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "HEAD:Points/Points.2"                                # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "STRING"                                              # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "INTEGER"                                             # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "POINT"                                               # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "sp"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "pp"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "ip"                                                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String)
TREE ID:  99dfd3607e82eb0f85baa185c60da9da9d8858d9SIZE:  3NUMBER Of SUBTREES:  0DEFAULT FEATURE TYPE ID:  10b5dc054390266e0cc7b59ef34f543441f071e0DEFAULT FEATURE TYPE ATTRIBUTESsp: <STRING>ip: <INTEGER>pp: <POINT>

  Scenario: Try to show the description of a featuretype # Show.feature:93
    Given I have a repository                            # DefaultStepDefinitions.I_have_a_repository()
    And I stage 6 features                               # DefaultStepDefinitions.I_stage_6_features()
    And I run the command "commit -m TestCommit"         # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "show Points"                 # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "TREE ID"           # DefaultStepDefinitions.the_response_should_contain(String)
Feature: "squash" command
    In order to modify history of the repository
    As a Geogig User
    I want to squash commits
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Squash commits': Using URIBuilder DefaultTestRepoURIBuilder
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Squash commits with message': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Squash commits                                                # Squash.feature:6
    Given I have a repository                                             # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                            # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "squash HEAD~2 HEAD"                           # DefaultStepDefinitions.I_run_the_command_X(String)
    And I run the command "log --oneline"                                 # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain 2 lines                              # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
    And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String)
3880ef77274899e37e8077e358691471f3dc2e4f squashed64d3cbf2f70bdbd26708cd861a2ef1595bcfaea8 Commit1
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Squash commits in wrong order': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Squash commits with message                                   # Squash.feature:14
    Given I have a repository                                             # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                            # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "squash HEAD~2 HEAD -m squashed"               # DefaultStepDefinitions.I_run_the_command_X(String)
    And I run the command "log --oneline"                                 # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain 2 lines                              # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
    And the response should contain "squashed"                            # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String)
Commits provided in wrong order
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Squash commits with only one commit provided': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Squash commits in wrong order          # Squash.feature:23
    Given I have a repository                      # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                     # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "squash HEAD HEAD~2"    # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "wrong order" # DefaultStepDefinitions.the_response_should_contain(String)
2 commit references must be supplied

  Scenario: Squash commits with only one commit provided                    # Squash.feature:29
    Given I have a repository                                               # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                              # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "squash HEAD~2"                                  # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "2 commit references must be supplied" # DefaultStepDefinitions.the_response_should_contain(String)
Feature: "status" command
    In order to know what I have staged and unstaged
    As a Geogig User
    I want to check the status of the current repository
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of an empty directory': Using URIBuilder DefaultTestRepoURIBuilder
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with no changes': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of an empty directory              # Status.feature:6
    Given I am in an empty directory                                 # DefaultStepDefinitions.I_am_in_an_empty_directory()
    When I run the command "status"                                  # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String)
    And it should exit with non-zero exit code                       # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
# On branch masternothing to commit (working directory clean)
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with unstaged changes without using a limit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of a repository with no changes # Status.feature:12
    Given I have a repository                                     # DefaultStepDefinitions.I_have_a_repository()
    When I run the command "status"                               # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "nothing to commit"          # DefaultStepDefinitions.the_response_should_contain(String)
# On branch master# Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.
# On branch master# Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged changes without using a limit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of a repository with unstaged changes without using a limit # Status.feature:17
    Given I have a repository                                                                 # DefaultStepDefinitions.I_have_a_repository()
    And I have unstaged "points1"                                                             # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "points2"                                                             # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "points3"                                                             # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "lines1"                                                              # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "lines2"                                                              # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "lines3"                                                              # DefaultStepDefinitions.I_have_unstaged(String)
    When I run the command "status"                                                           # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes not staged for commit"                          # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "8 total."                                                # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should not contain "Changes to be committed"                             # DefaultStepDefinitions.the_response_should_not_contain(String)
    And the response should contain 14 lines                                                  # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.#
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.#
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged and unstaged changes without using a limit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of a repository with staged changes without using a limit # Status.feature:31
    Given I have a repository                                                               # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                                             # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                                             # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points3"                                                             # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                                              # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines2"                                                              # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines3"                                                              # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "status"                                                         # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes to be committed"                              # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "8 total."                                              # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should not contain "Changes not staged for commit"                     # DefaultStepDefinitions.the_response_should_not_contain(String)
    And the response should contain 14 lines                                                # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      modified  Points#      modified  Points/Points.1# 2 total.
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      modified  Points#      modified  Points/Points.1# 2 total.
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      modified  Points#      modified  Points/Points.1# 2 total.
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      modified  Points#      modified  Points/Points.1# 2 total.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with unstaged changes specifying all': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of a repository with staged and unstaged changes without using a limit # Status.feature:45
    Given I have a repository                                                                            # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                                                          # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                                                          # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points3"                                                                          # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                                                           # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines2"                                                                           # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines3"                                                                           # DefaultStepDefinitions.I_have_staged(String)
    And I modify a feature                                                                               # DefaultStepDefinitions.I_modify_a_feature()
    When I run the command "status"                                                                      # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes to be committed"                                           # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "8 total."                                                           # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Changes not staged for commit"                                      # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "2 total."                                                           # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain 21 lines                                                             # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
# On branch master# Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.
# On branch master# Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged changes specifying all': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of a repository with unstaged changes specifying all # Status.feature:61
    Given I have a repository                                                          # DefaultStepDefinitions.I_have_a_repository()
    And I have unstaged "points1"                                                      # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "points2"                                                      # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "points3"                                                      # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "lines1"                                                       # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "lines2"                                                       # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "lines3"                                                       # DefaultStepDefinitions.I_have_unstaged(String)
    When I run the command "status --all"                                              # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes not staged for commit"                   # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "8 total."                                         # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should not contain "Changes to be committed"                      # DefaultStepDefinitions.the_response_should_not_contain(String)
    And the response should contain 14 lines                                           # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.#
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.#
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged and unstaged changes specifying all': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of a repository with staged changes specifying all # Status.feature:75
    Given I have a repository                                                        # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                                      # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                                      # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points3"                                                      # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                                       # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines2"                                                       # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines3"                                                       # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "status --all"                                            # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes to be committed"                       # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "8 total."                                       # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should not contain "Changes not staged for commit"              # DefaultStepDefinitions.the_response_should_not_contain(String)
    And the response should contain 14 lines                                         # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      modified  Points#      modified  Points/Points.1# 2 total.
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      modified  Points#      modified  Points/Points.1# 2 total.
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      modified  Points#      modified  Points/Points.1# 2 total.
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2#      added  Points/Points.3#      added  Points/Points.1#      added  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3# 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      modified  Points#      modified  Points/Points.1# 2 total.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with unstaged changes using a limit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of a repository with staged and unstaged changes specifying all # Status.feature:89
    Given I have a repository                                                                     # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                                                   # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                                                   # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points3"                                                                   # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                                                    # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines2"                                                                    # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines3"                                                                    # DefaultStepDefinitions.I_have_staged(String)
    And I modify a feature                                                                        # DefaultStepDefinitions.I_modify_a_feature()
    When I run the command "status --all"                                                         # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes to be committed"                                    # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "8 total."                                                    # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Changes not staged for commit"                               # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "2 total."                                                    # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain 21 lines                                                      # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
# On branch master# Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      added  Points#      added  Lines#      added  Points/Points.2# 8 total.
# On branch master# Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory##      added  Points#      added  Lines#      added  Points/Points.2# 8 total.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged changes using a limit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of a repository with unstaged changes using a limit # Status.feature:105
    Given I have a repository                                                         # DefaultStepDefinitions.I_have_a_repository()
    And I have unstaged "points1"                                                     # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "points2"                                                     # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "points3"                                                     # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "lines1"                                                      # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "lines2"                                                      # DefaultStepDefinitions.I_have_unstaged(String)
    And I have unstaged "lines3"                                                      # DefaultStepDefinitions.I_have_unstaged(String)
    When I run the command "status --limit 3"                                         # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes not staged for commit"                  # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "8 total."                                        # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain 9 lines                                           # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2# 8 total.#
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Points/Points.2# 8 total.#
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged and unstaged changes using a limit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of a repository with staged changes using a limit # Status.feature:118
    Given I have a repository                                                       # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                                     # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                                     # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points3"                                                     # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                                      # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines2"                                                      # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines3"                                                      # DefaultStepDefinitions.I_have_staged(String)
    When I run the command "status --limit 3"                                       # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes to be committed"                      # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "8 total."                                      # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain 9 lines                                         # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)## 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory## 2 total.
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)## 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory## 2 total.
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)## 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory## 2 total.
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)## 8 total.## Changes not staged for commit:#   (use "geogig add <path/to/fid>..." to update what will be committed#   (use "geogig checkout -- <path/to/fid>..." to discard changes in working directory## 2 total.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with a negative limit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of a repository with staged and unstaged changes using a limit # Status.feature:131
    Given I have a repository                                                                    # DefaultStepDefinitions.I_have_a_repository()
    And I have staged "points1"                                                                  # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points2"                                                                  # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "points3"                                                                  # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines1"                                                                   # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines2"                                                                   # DefaultStepDefinitions.I_have_staged(String)
    And I have staged "lines3"                                                                   # DefaultStepDefinitions.I_have_staged(String)
    And I modify a feature                                                                       # DefaultStepDefinitions.I_modify_a_feature()
    When I run the command "status --limit 0"                                                    # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Changes to be committed"                                   # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "8 total."                                                   # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Changes not staged for commit"                              # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "2 total."                                                   # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain 11 lines                                                     # DefaultStepDefinitions.the_response_should_contain_x_lines(int)
Limit must be 0 or greater.
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try the get the status of a repository with unmerged elements': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to get the status of a repository with a negative limit # Status.feature:147
    Given I have a repository                                           # DefaultStepDefinitions.I_have_a_repository()
    When I run the command "status --limit -2"                          # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Limit must be 0 or greater"       # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                          # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      modified  Points#      added  Points/Points.2# 2 total.## Unmerged paths:#   (use "geogig add/rm <path/to/fid>..." as appropriate to mark resolution##      unmerged  Points/Points.1# 1 total.

  Scenario: Try the get the status of a repository with unmerged elements # Status.feature:153
    Given I have a repository                                             # DefaultStepDefinitions.I_have_a_repository()
    And I have a merge conflict state                                     # DefaultStepDefinitions.I_have_a_merge_conflict_state()
    When I run the command "status"                                       # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "unmerged  Points/Points.1"          # DefaultStepDefinitions.the_response_should_contain(String)
Feature: "tag" command
  In order to store defined versions of my repository
  As a Geogig User
  I want to be create tags
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'List the available tags': Using URIBuilder DefaultTestRepoURIBuilder
mytag
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create a new tag': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: List the available tags          # Tag.feature:6
    Given I have a repository                # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits               # DefaultStepDefinitions.I_have_several_commits()
    And I run the command "tag mytag -m msg" # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "tag"             # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "mytag" # DefaultStepDefinitions.the_response_should_contain(String)
Created tag mytag -> 80056c9f042a517bbe2d350476b80130bc1de6d5
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create a new tag for a given commit': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Create a new tag                                              # Tag.feature:13
    Given I have a repository                                             # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                            # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "tag mytag -m msg"                             # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Created tag mytag ->"               # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String)
Created tag mytag -> f85e00e05d9f33e1bfb7da483983411ce907c5e1
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Delete a tag': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Create a new tag for a given commit                            # Tag.feature:20
    Given I have a repository                                              # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                             # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "tag mytag HEAD^ -m msg"                        # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Created tag mytag ->"                # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain variable "{@ObjectId|localrepo|HEAD^}" # DefaultStepDefinitions.checkResponseTextContains(String)
Deleted tag mytag
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Delete an inexistent tag': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Delete a tag                                 # Tag.feature:27
    Given I have a repository                            # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                           # DefaultStepDefinitions.I_have_several_commits()
    And I run the command "tag mytag -m msg"             # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "tag -d mytag"                # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Deleted tag mytag" # DefaultStepDefinitions.the_response_should_contain(String)
Wrong tag name: wrongtag
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a tag with too many parameters provided': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Delete an inexistent tag                            # Tag.feature:34
    Given I have a repository                                   # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                  # DefaultStepDefinitions.I_have_several_commits()
    And I run the command "tag mytag -m msg"                    # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "tag -d wrongtag"                    # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Wrong tag name: wrongtag" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                  # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
Too many parameters provided
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a tag with too many parameters provided': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to create a tag with too many parameters provided   # Tag.feature:42
    Given I have a repository                                       # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                      # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "tag mytag HEAD^ extraparam -m msg"      # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Too many parameters provided" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                      # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
Too many parameters provided
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a tag with no message': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to delete a tag with too many parameters provided   # Tag.feature:49
    Given I have a repository                                       # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                      # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "tag -d mytag HEAD^"                     # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Too many parameters provided" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                      # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
No tag message provided
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a tag with a wrong commit ref': Using URIBuilder DefaultTestRepoURIBuilder

  Scenario: Try to create a tag with no message                # Tag.feature:56
    Given I have a repository                                  # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                 # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "tag mytag HEAD^"                   # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "No tag message provided" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                 # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
Wrong reference: aaaaaaaa

  Scenario: Try to create a tag with a wrong commit ref          # Tag.feature:63
    Given I have a repository                                    # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits                                   # DefaultStepDefinitions.I_have_several_commits()
    When I run the command "tag mytag aaaaaaaa -m msg"           # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Wrong reference: aaaaaaaa" # DefaultStepDefinitions.the_response_should_contain(String)
    And it should exit with non-zero exit code                   # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code()
@Version
Feature: "version" command
    In order to view GeoGig version information
    As a Geogig User
    I want to display information about it
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I want to view the GeoGig version': Using URIBuilder DefaultTestRepoURIBuilder
         Project Version : 1.4-SNAPSHOT              Build Time : December 13, 2018 at 13:58:30 EST         Build User Name : GeoGig Bot        Build User Email : geogig-bot@eclipse.org              Git Branch : origin/master           Git Commit ID : 4b692951fdbbdf9f8c7803cf2e3feec9ebf42e56         Git Commit Time : December 13, 2018 at 13:44:48 EST  Git Commit Author Name : Gabriel Roldan Git Commit Author Email : groldan@boundlessgeo.com      Git Commit Message : Update fortify set up and running docsSigned-off-by: Gabriel Roldan <groldan@boundlessgeo.com>
         Project Version : 1.4-SNAPSHOT              Build Time : December 13, 2018 at 13:58:30 EST         Build User Name : GeoGig Bot        Build User Email : geogig-bot@eclipse.org              Git Branch : origin/master           Git Commit ID : 4b692951fdbbdf9f8c7803cf2e3feec9ebf42e56         Git Commit Time : December 13, 2018 at 13:44:48 EST  Git Commit Author Name : Gabriel Roldan Git Commit Author Email : groldan@boundlessgeo.com      Git Commit Message : Update fortify set up and running docsSigned-off-by: Gabriel Roldan <groldan@boundlessgeo.com>
         Project Version : 1.4-SNAPSHOT              Build Time : December 13, 2018 at 13:58:30 EST         Build User Name : GeoGig Bot        Build User Email : geogig-bot@eclipse.org              Git Branch : origin/master           Git Commit ID : 4b692951fdbbdf9f8c7803cf2e3feec9ebf42e56         Git Commit Time : December 13, 2018 at 13:44:48 EST  Git Commit Author Name : Gabriel Roldan Git Commit Author Email : groldan@boundlessgeo.com      Git Commit Message : Update fortify set up and running docsSigned-off-by: Gabriel Roldan <groldan@boundlessgeo.com>

  Scenario: I want to view the GeoGig version          # Version.feature:7
    Given I am in an empty directory                   # DefaultStepDefinitions.I_am_in_an_empty_directory()
    When I run the command "version"                   # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "Project Version" # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Build Time"       # DefaultStepDefinitions.the_response_should_contain(String)
    And the response should contain "Git Commit ID"    # DefaultStepDefinitions.the_response_should_contain(String)

263 Scenarios (263 passed)
1765 Steps (1765 passed)
8m28.237s

Tests run: 2028, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 511.243 sec - in org.locationtech.geogig.cli.test.functional.RunPorcelainFunctionalTest

Results :

Tests run: 3098, Failures: 0, Errors: 0, Skipped: 0

[JENKINS] Recording test results
[INFO] 
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ geogig-cli-core ---
[INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/src/cli/core/target/geogig-cli-core-1.4-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-jar-plugin:3.0.2:test-jar (default) @ geogig-cli-core ---
[INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/src/cli/core/target/geogig-cli-core-1.4-SNAPSHOT-tests.jar
[INFO] 
[INFO] >>> maven-source-plugin:3.0.1:jar (attach-sources) > generate-sources @ geogig-cli-core >>>
[INFO] 
[INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-cli-core ---
[WARNING] Failed to getClass for org.apache.maven.plugins.source.SourceJarMojo
[INFO] 
[INFO] <<< maven-source-plugin:3.0.1:jar (attach-sources) < generate-sources @ geogig-cli-core <<<
[INFO] 
[INFO] 
[INFO] --- maven-source-plugin:3.0.1:jar (attach-sources) @ geogig-cli-core ---
[INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/src/cli/core/target/geogig-cli-core-1.4-SNAPSHOT-sources.jar
[INFO] 
[INFO] >>> maven-source-plugin:3.0.1:test-jar (attach-sources) > generate-sources @ geogig-cli-core >>>
[INFO] 
[INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-cli-core ---
[WARNING] Failed to getClass for org.apache.maven.plugins.source.TestSourceJarMojo
[INFO] 
[INFO] <<< maven-source-plugin:3.0.1:test-jar (attach-sources) < generate-sources @ geogig-cli-core <<<
[INFO] 
[INFO] 
[INFO] --- maven-source-plugin:3.0.1:test-jar (attach-sources) @ geogig-cli-core ---
[INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/src/cli/core/target/geogig-cli-core-1.4-SNAPSHOT-test-sources.jar
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig-cli-core ---
[INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/src/cli/core/target/geogig-cli-core-1.4-SNAPSHOT.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/.repository/org/locationtech/geogig/geogig-cli-core/1.4-SNAPSHOT/geogig-cli-core-1.4-SNAPSHOT.jar
[INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/src/cli/core/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/.repository/org/locationtech/geogig/geogig-cli-core/1.4-SNAPSHOT/geogig-cli-core-1.4-SNAPSHOT.pom
[INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/src/cli/core/target/geogig-cli-core-1.4-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/.repository/org/locationtech/geogig/geogig-cli-core/1.4-SNAPSHOT/geogig-cli-core-1.4-SNAPSHOT-tests.jar
[INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/src/cli/core/target/geogig-cli-core-1.4-SNAPSHOT-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/.repository/org/locationtech/geogig/geogig-cli-core/1.4-SNAPSHOT/geogig-cli-core-1.4-SNAPSHOT-sources.jar
[INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/src/cli/core/target/geogig-cli-core-1.4-SNAPSHOT-test-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-master/workspace/.repository/org/locationtech/geogig/geogig-cli-core/1.4-SNAPSHOT/geogig-cli-core-1.4-SNAPSHOT-test-sources.jar
[JENKINS] Archiving disabled