SuccessConsole Output

Skipping 497 KB.. Full Log
8ce24eAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:33 -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 b386b257 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:  2b1828929b5e42e385fb49d777c12b2aa584ec04Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:45 -0500Subject: Commit3Commit:  c8cf0d276ef5b711e28e0b41545f0e7679bf2e6aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:51:45 -0500Subject: Commit4Commit:  932ccf2fffda0f57b16a462964ca652713a5b7d9Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:51:44 -0500Subject: Commit1
Commit:  2b1828929b5e42e385fb49d777c12b2aa584ec04Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:45 -0500Subject: Commit3Commit:  c8cf0d276ef5b711e28e0b41545f0e7679bf2e6aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:51:45 -0500Subject: Commit4Commit:  932ccf2fffda0f57b16a462964ca652713a5b7d9Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:51:44 -0500Subject: Commit1
Commit:  2b1828929b5e42e385fb49d777c12b2aa584ec04Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:45 -0500Subject: Commit3Commit:  c8cf0d276ef5b711e28e0b41545f0e7679bf2e6aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:51:45 -0500Subject: Commit4Commit:  932ccf2fffda0f57b16a462964ca652713a5b7d9Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:51:44 -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:  98818d43b9c62dba3323cfb161570759441a9621Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:48 -0500Subject: Commit3Commit:  539024b62999cd16efc0c1002ea46675199dc3edAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:51:48 -0500Subject: Commit2Commit:  fe666f4e2164a1e942381f98f02ee89336452d88Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:49 -0500Subject: Commit4Commit:  ac3fc40865504e1b96c07c0e351fe5ca3d6ad7acAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:51:47 -0500Subject: Commit1
Commit:  98818d43b9c62dba3323cfb161570759441a9621Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:48 -0500Subject: Commit3Commit:  539024b62999cd16efc0c1002ea46675199dc3edAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:51:48 -0500Subject: Commit2Commit:  fe666f4e2164a1e942381f98f02ee89336452d88Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:49 -0500Subject: Commit4Commit:  ac3fc40865504e1b96c07c0e351fe5ca3d6ad7acAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:51:47 -0500Subject: Commit1
Commit:  98818d43b9c62dba3323cfb161570759441a9621Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:48 -0500Subject: Commit3Commit:  539024b62999cd16efc0c1002ea46675199dc3edAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:51:48 -0500Subject: Commit2Commit:  fe666f4e2164a1e942381f98f02ee89336452d88Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:49 -0500Subject: Commit4Commit:  ac3fc40865504e1b96c07c0e351fe5ca3d6ad7acAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:51:47 -0500Subject: Commit1
Commit:  98818d43b9c62dba3323cfb161570759441a9621Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:48 -0500Subject: Commit3Commit:  539024b62999cd16efc0c1002ea46675199dc3edAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:51:48 -0500Subject: Commit2Commit:  fe666f4e2164a1e942381f98f02ee89336452d88Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:51:49 -0500Subject: Commit4Commit:  ac3fc40865504e1b96c07c0e351fe5ca3d6ad7acAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:51:47 -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 591.0 μsRemoving 0 merged conflicts...Done. 1 unmerged conflicts.error: could not apply 1ce321e6 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[8e4ce8b1dcf2f8e6849a44c40f15b33e5df1efac] 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[b8b0b38b47150a90608ea9828269a86d26fd621b] 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[340b6e336b8e4bd192b893173c8e2d6cb7b98b40] 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[a50bb80dcfde95840f015c823dee7928393b6171] 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[cf321e08be3ede9e8382533842da9ebea3c4acce] 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[56f9ba07fc8e539c8df08223472da17959750801] 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[25d3c7c8560551aaf71351110c88c9268de7e483] 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[92438973c5ed8b00af7eca7e96d13efbbbc78c67] 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[5d95444a9e971f5e1034be6251169a1d11eb1d7c] 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:  c210ece7b2e7d505e91361d1a63cd9fa068224eeAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:22 -0500Subject: Commit3Commit:  a87bce582a93ed72a4c00711f78f6caf7ac3d9efAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:22 -0500Subject: Commit2Commit:  9f67a375a3fde8d5bfa56f9a9425c20a8291bcd5Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:52:22 -0500Subject: Commit1
Commit:  c210ece7b2e7d505e91361d1a63cd9fa068224eeAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:22 -0500Subject: Commit3Commit:  a87bce582a93ed72a4c00711f78f6caf7ac3d9efAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:22 -0500Subject: Commit2Commit:  9f67a375a3fde8d5bfa56f9a9425c20a8291bcd5Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:52:22 -0500Subject: Commit1
Commit:  c210ece7b2e7d505e91361d1a63cd9fa068224eeAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:22 -0500Subject: Commit3Commit:  a87bce582a93ed72a4c00711f78f6caf7ac3d9efAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:22 -0500Subject: Commit2Commit:  9f67a375a3fde8d5bfa56f9a9425c20a8291bcd5Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-17 21:52:22 -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[a61a4dc3791105430058542715bfb5f404332fcc] 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/junit8629607374731457149/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 c09e940367c2707e7d2b06791c7d0ce29000b496 (Commit4)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 1 features in 4.574 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 9.881 ms

Commit:  500662f8817b7ce00488887fa8fa02c8a87aae6eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:31 +0000Subject: Revert 'Commit4'This reverts c09e940367c2707e7d2b06791c7d0ce29000b496Commit:  c09e940367c2707e7d2b06791c7d0ce29000b496Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:31 -0500Subject: Commit4Commit:  5e97048a6ab9ae1d5fd3a172848a1746cd10485aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:30 -0500Subject: Commit3Commit:  5628d98be124106851f3a59b1e4d86efcd7c6993Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:30 -0500Subject: Commit2Commit:  1920631b699333cd2ac263992a4cbc053484a88aAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:30 -0500Subject: Commit1
Commit:  500662f8817b7ce00488887fa8fa02c8a87aae6eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:31 +0000Subject: Revert 'Commit4'This reverts c09e940367c2707e7d2b06791c7d0ce29000b496Commit:  c09e940367c2707e7d2b06791c7d0ce29000b496Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:31 -0500Subject: Commit4Commit:  5e97048a6ab9ae1d5fd3a172848a1746cd10485aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:30 -0500Subject: Commit3Commit:  5628d98be124106851f3a59b1e4d86efcd7c6993Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:30 -0500Subject: Commit2Commit:  1920631b699333cd2ac263992a4cbc053484a88aAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:30 -0500Subject: Commit1
Commit:  500662f8817b7ce00488887fa8fa02c8a87aae6eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:31 +0000Subject: Revert 'Commit4'This reverts c09e940367c2707e7d2b06791c7d0ce29000b496Commit:  c09e940367c2707e7d2b06791c7d0ce29000b496Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:31 -0500Subject: Commit4Commit:  5e97048a6ab9ae1d5fd3a172848a1746cd10485aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:30 -0500Subject: Commit3Commit:  5628d98be124106851f3a59b1e4d86efcd7c6993Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:30 -0500Subject: Commit2Commit:  1920631b699333cd2ac263992a4cbc053484a88aAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:30 -0500Subject: Commit1
Commit:  500662f8817b7ce00488887fa8fa02c8a87aae6eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:31 +0000Subject: Revert 'Commit4'This reverts c09e940367c2707e7d2b06791c7d0ce29000b496Commit:  c09e940367c2707e7d2b06791c7d0ce29000b496Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:31 -0500Subject: Commit4Commit:  5e97048a6ab9ae1d5fd3a172848a1746cd10485aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:30 -0500Subject: Commit3Commit:  5628d98be124106851f3a59b1e4d86efcd7c6993Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:30 -0500Subject: Commit2Commit:  1920631b699333cd2ac263992a4cbc053484a88aAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:30 -0500Subject: Commit1
Commit:  500662f8817b7ce00488887fa8fa02c8a87aae6eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:31 +0000Subject: Revert 'Commit4'This reverts c09e940367c2707e7d2b06791c7d0ce29000b496Commit:  c09e940367c2707e7d2b06791c7d0ce29000b496Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:31 -0500Subject: Commit4Commit:  5e97048a6ab9ae1d5fd3a172848a1746cd10485aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:30 -0500Subject: Commit3Commit:  5628d98be124106851f3a59b1e4d86efcd7c6993Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:30 -0500Subject: Commit2Commit:  1920631b699333cd2ac263992a4cbc053484a88aAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:30 -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:  055205ff44651e58a2b46a02f511b7aa35d49219Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:33 -0500Subject: Commit4Commit:  a41ace83bb0583c704722e07212ea060d4f0d3d3Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:32 -0500Subject: Commit3Commit:  1fd518c30ebe6b7e2d9d330c1d1040c30492aa84Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:32 -0500Subject: Commit2Commit:  e01607a4809f17faee25485a322314969a22dfccAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:32 -0500Subject: Commit1
Commit:  055205ff44651e58a2b46a02f511b7aa35d49219Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:33 -0500Subject: Commit4Commit:  a41ace83bb0583c704722e07212ea060d4f0d3d3Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:32 -0500Subject: Commit3Commit:  1fd518c30ebe6b7e2d9d330c1d1040c30492aa84Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:32 -0500Subject: Commit2Commit:  e01607a4809f17faee25485a322314969a22dfccAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:32 -0500Subject: Commit1
Commit:  055205ff44651e58a2b46a02f511b7aa35d49219Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:33 -0500Subject: Commit4Commit:  a41ace83bb0583c704722e07212ea060d4f0d3d3Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:32 -0500Subject: Commit3Commit:  1fd518c30ebe6b7e2d9d330c1d1040c30492aa84Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:32 -0500Subject: Commit2Commit:  e01607a4809f17faee25485a322314969a22dfccAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:32 -0500Subject: Commit1
Commit:  055205ff44651e58a2b46a02f511b7aa35d49219Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:33 -0500Subject: Commit4Commit:  a41ace83bb0583c704722e07212ea060d4f0d3d3Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:32 -0500Subject: Commit3Commit:  1fd518c30ebe6b7e2d9d330c1d1040c30492aa84Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:32 -0500Subject: Commit2Commit:  e01607a4809f17faee25485a322314969a22dfccAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:32 -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 5fdb760e465223c22896f9a08f05f48b799b9737 (Commit3)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 2 features in 13.06 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 2 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 2 changes staged in 11.91 ms

[main] INFO org.locationtech.geogig.porcelain.RevertOp - Creating revert state of commit 35111db8011b0d9d32166119db07df79afe432cc (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 13.33 ms

Commit:  221bb940b84654a04c89d1141e1949ccb687e9b4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit2'This reverts 35111db8011b0d9d32166119db07df79afe432ccCommit:  8162ec1ac072d5a0d11bfeed8290d597ac618700Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit3'This reverts 5fdb760e465223c22896f9a08f05f48b799b9737Commit:  c7520963a66105707d59b80b895b8ef95a872f68Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:35 -0500Subject: Commit4Commit:  5fdb760e465223c22896f9a08f05f48b799b9737Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:34 -0500Subject: Commit3Commit:  35111db8011b0d9d32166119db07df79afe432ccAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -0500Subject: Commit2Commit:  f60f0279615744c0461f8307b00523c4e4a05f02Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -0500Subject: Commit1
Commit:  221bb940b84654a04c89d1141e1949ccb687e9b4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit2'This reverts 35111db8011b0d9d32166119db07df79afe432ccCommit:  8162ec1ac072d5a0d11bfeed8290d597ac618700Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit3'This reverts 5fdb760e465223c22896f9a08f05f48b799b9737Commit:  c7520963a66105707d59b80b895b8ef95a872f68Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:35 -0500Subject: Commit4Commit:  5fdb760e465223c22896f9a08f05f48b799b9737Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:34 -0500Subject: Commit3Commit:  35111db8011b0d9d32166119db07df79afe432ccAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -0500Subject: Commit2Commit:  f60f0279615744c0461f8307b00523c4e4a05f02Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -0500Subject: Commit1
Commit:  221bb940b84654a04c89d1141e1949ccb687e9b4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit2'This reverts 35111db8011b0d9d32166119db07df79afe432ccCommit:  8162ec1ac072d5a0d11bfeed8290d597ac618700Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit3'This reverts 5fdb760e465223c22896f9a08f05f48b799b9737Commit:  c7520963a66105707d59b80b895b8ef95a872f68Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:35 -0500Subject: Commit4Commit:  5fdb760e465223c22896f9a08f05f48b799b9737Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:34 -0500Subject: Commit3Commit:  35111db8011b0d9d32166119db07df79afe432ccAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -0500Subject: Commit2Commit:  f60f0279615744c0461f8307b00523c4e4a05f02Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -0500Subject: Commit1
Commit:  221bb940b84654a04c89d1141e1949ccb687e9b4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit2'This reverts 35111db8011b0d9d32166119db07df79afe432ccCommit:  8162ec1ac072d5a0d11bfeed8290d597ac618700Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit3'This reverts 5fdb760e465223c22896f9a08f05f48b799b9737Commit:  c7520963a66105707d59b80b895b8ef95a872f68Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:35 -0500Subject: Commit4Commit:  5fdb760e465223c22896f9a08f05f48b799b9737Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:34 -0500Subject: Commit3Commit:  35111db8011b0d9d32166119db07df79afe432ccAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -0500Subject: Commit2Commit:  f60f0279615744c0461f8307b00523c4e4a05f02Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -0500Subject: Commit1
Commit:  221bb940b84654a04c89d1141e1949ccb687e9b4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit2'This reverts 35111db8011b0d9d32166119db07df79afe432ccCommit:  8162ec1ac072d5a0d11bfeed8290d597ac618700Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit3'This reverts 5fdb760e465223c22896f9a08f05f48b799b9737Commit:  c7520963a66105707d59b80b895b8ef95a872f68Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:35 -0500Subject: Commit4Commit:  5fdb760e465223c22896f9a08f05f48b799b9737Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:34 -0500Subject: Commit3Commit:  35111db8011b0d9d32166119db07df79afe432ccAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -0500Subject: Commit2Commit:  f60f0279615744c0461f8307b00523c4e4a05f02Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -0500Subject: Commit1
Commit:  221bb940b84654a04c89d1141e1949ccb687e9b4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit2'This reverts 35111db8011b0d9d32166119db07df79afe432ccCommit:  8162ec1ac072d5a0d11bfeed8290d597ac618700Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:35 +0000Subject: Revert 'Commit3'This reverts 5fdb760e465223c22896f9a08f05f48b799b9737Commit:  c7520963a66105707d59b80b895b8ef95a872f68Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:35 -0500Subject: Commit4Commit:  5fdb760e465223c22896f9a08f05f48b799b9737Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:34 -0500Subject: Commit3Commit:  35111db8011b0d9d32166119db07df79afe432ccAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -0500Subject: Commit2Commit:  f60f0279615744c0461f8307b00523c4e4a05f02Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:34 -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:  3670f9f57bbf65de3f39e918bbd0db74693a0f5dAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:37 -0500Subject: Commit4Commit:  b412eddcda853bd9d7c1b0d9f4f2985eb586d16cAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:37 -0500Subject: Commit3Commit:  cf3cebf5b5dd0703f664184212befe235b9408b8Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:36 -0500Subject: Commit2Commit:  0a476270f7d361e84ff7bb424f8f0e02ac9f1141Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:36 -0500Subject: Commit1
Commit:  3670f9f57bbf65de3f39e918bbd0db74693a0f5dAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:37 -0500Subject: Commit4Commit:  b412eddcda853bd9d7c1b0d9f4f2985eb586d16cAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:37 -0500Subject: Commit3Commit:  cf3cebf5b5dd0703f664184212befe235b9408b8Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:36 -0500Subject: Commit2Commit:  0a476270f7d361e84ff7bb424f8f0e02ac9f1141Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:36 -0500Subject: Commit1
Commit:  3670f9f57bbf65de3f39e918bbd0db74693a0f5dAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:37 -0500Subject: Commit4Commit:  b412eddcda853bd9d7c1b0d9f4f2985eb586d16cAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:37 -0500Subject: Commit3Commit:  cf3cebf5b5dd0703f664184212befe235b9408b8Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:36 -0500Subject: Commit2Commit:  0a476270f7d361e84ff7bb424f8f0e02ac9f1141Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:36 -0500Subject: Commit1
Commit:  3670f9f57bbf65de3f39e918bbd0db74693a0f5dAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:37 -0500Subject: Commit4Commit:  b412eddcda853bd9d7c1b0d9f4f2985eb586d16cAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:37 -0500Subject: Commit3Commit:  cf3cebf5b5dd0703f664184212befe235b9408b8Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:36 -0500Subject: Commit2Commit:  0a476270f7d361e84ff7bb424f8f0e02ac9f1141Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:36 -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 29a6222c0287828ceaad6f1f0912ea7235980e71 (Commit1)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 2 features in 13.77 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 9.000 ms

error: could not apply 29a6222c 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 29a6222c 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 4052591276fd1c8a07c91d7e44b1a6053e076027 (Commit4)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 1 features in 2.164 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 12.56 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 3bae252b94d0b09c4c3bb68887d8a411d206374d (Commit1)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 2 features in 3.384 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 10.41 ms

error: could not apply 3bae252b 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:  b29604bc1e4aa2d95885c760cbcd6fa8732e502eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-18 02:52:44 +0000Subject: Revert 'Commit1'This reverts 3bae252b94d0b09c4c3bb68887d8a411d206374dCommit:  6680ccebbfcd86486c1aa2174cece4bb8de7fdccAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-17 21:52:44 -0500Subject: Commit4Commit:  938f3de5796ae671e99493833799e808dbcda8aeAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:43 -0500Subject: Commit3Commit:  0f6bd0d59e14b18308774fbb7a3d42b7323562b5Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:43 -0500Subject: Commit2Commit:  3bae252b94d0b09c4c3bb68887d8a411d206374dAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-17 21:52:43 -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:        0bb78dab04fa3652e7703597c9add4d7a5fae6d2Author:        John Doe <JohnDoe@example.com>Committer:     John Doe <JohnDoe@example.com>Author date:   (just now) Mon Dec 17 21:52:49 EST 2018Committer date:(just now) Mon Dec 17 21:52:49 EST 2018Subject:       TestCommit
Commit:        0bb78dab04fa3652e7703597c9add4d7a5fae6d2Author:        John Doe <JohnDoe@example.com>Committer:     John Doe <JohnDoe@example.com>Author date:   (just now) Mon Dec 17 21:52:49 EST 2018Committer date:(just now) Mon Dec 17 21:52:49 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)
7b0c916ef1764c11ad9aaed2fa764b42e49648c3 squashedbc94f1ba2d59e9235a492fd354e34c675da68bde 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  Lines/Lines.1#      added  Points/Points.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  Lines/Lines.1#      added  Points/Points.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  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3#      added  Points/Points.1# 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  Lines/Lines.1#      added  Lines/Lines.2#      added  Lines/Lines.3#      added  Points/Points.1# 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  Lines/Lines.1#      added  Points/Points.2#      added  Lines/Lines.2#      added  Lines/Lines.3#      added  Points/Points.3#      added  Points/Points.1# 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  Lines/Lines.1#      added  Points/Points.2#      added  Lines/Lines.2#      added  Lines/Lines.3#      added  Points/Points.3#      added  Points/Points.1# 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  Lines/Lines.1#      added  Points/Points.2#      added  Lines/Lines.2#      added  Lines/Lines.3#      added  Points/Points.3#      added  Points/Points.1# 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  Lines/Lines.1#      added  Points/Points.2#      added  Lines/Lines.2#      added  Lines/Lines.3#      added  Points/Points.3#      added  Points/Points.1# 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  Lines/Lines.1# 8 total.#
# On branch master# Changes to be committed:#   (use "geogig reset HEAD <path/to/fid>..." to unstage)##      added  Points#      added  Lines#      added  Lines/Lines.1# 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 -> e45917a64819f97d90db313ba0afbd0f3c5aa8fe
[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 -> cc80d80c158ea18ea1ecb0dce14ce0a8824a9e29
[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 17, 2018 at 21:43:27 EST         Build User Name : GeoGig Bot        Build User Email : geogig-bot@eclipse.org              Git Branch : origin/master           Git Commit ID : 9121c97c6273eb3938a4a66e312db15ee7dc807a         Git Commit Time : December 17, 2018 at 21:26:07 EST  Git Commit Author Name : Gabriel Roldan Git Commit Author Email : groldan@boundlessgeo.com      Git Commit Message : Add missing colon to statements in postgres DDL scriptSigned-off-by: Gabriel Roldan <groldan@boundlessgeo.com>
         Project Version : 1.4-SNAPSHOT              Build Time : December 17, 2018 at 21:43:27 EST         Build User Name : GeoGig Bot        Build User Email : geogig-bot@eclipse.org              Git Branch : origin/master           Git Commit ID : 9121c97c6273eb3938a4a66e312db15ee7dc807a         Git Commit Time : December 17, 2018 at 21:26:07 EST  Git Commit Author Name : Gabriel Roldan Git Commit Author Email : groldan@boundlessgeo.com      Git Commit Message : Add missing colon to statements in postgres DDL scriptSigned-off-by: Gabriel Roldan <groldan@boundlessgeo.com>
         Project Version : 1.4-SNAPSHOT              Build Time : December 17, 2018 at 21:43:27 EST         Build User Name : GeoGig Bot        Build User Email : geogig-bot@eclipse.org              Git Branch : origin/master           Git Commit ID : 9121c97c6273eb3938a4a66e312db15ee7dc807a         Git Commit Time : December 17, 2018 at 21:26:07 EST  Git Commit Author Name : Gabriel Roldan Git Commit Author Email : groldan@boundlessgeo.com      Git Commit Message : Add missing colon to statements in postgres DDL scriptSigned-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)
10m12.247s

Tests run: 2028, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 621.895 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