SuccessConsole Output

Skipping 494 KB.. Full Log
  (2 seconds ago) 2018-12-20 09:19:50 -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 a8300c59 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:  da67e3399c0a12df5e1f37dd12d1ef7c752241cfAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:05 -0500Subject: Commit3Commit:  77bbdce063a2ae165e2bc412eb5727c9f890ffa9Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:06 -0500Subject: Commit4Commit:  c6327feb209c27beec277fc69f64661a1f0d6331Author:  John Doe <JohnDoe@example.com>Date:    (3 seconds ago) 2018-12-20 09:20:04 -0500Subject: Commit1
Commit:  da67e3399c0a12df5e1f37dd12d1ef7c752241cfAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:05 -0500Subject: Commit3Commit:  77bbdce063a2ae165e2bc412eb5727c9f890ffa9Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:06 -0500Subject: Commit4Commit:  c6327feb209c27beec277fc69f64661a1f0d6331Author:  John Doe <JohnDoe@example.com>Date:    (3 seconds ago) 2018-12-20 09:20:04 -0500Subject: Commit1
Commit:  da67e3399c0a12df5e1f37dd12d1ef7c752241cfAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:05 -0500Subject: Commit3Commit:  77bbdce063a2ae165e2bc412eb5727c9f890ffa9Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:06 -0500Subject: Commit4Commit:  c6327feb209c27beec277fc69f64661a1f0d6331Author:  John Doe <JohnDoe@example.com>Date:    (3 seconds ago) 2018-12-20 09:20:04 -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:  1f3154cff2b6484b300d767d61a8c4465330a8ceAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:10 -0500Subject: Commit3Commit:  df4662597e356d6162632cf44d3382d1967f0b14Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:10 -0500Subject: Commit2Commit:  a348995e471cb5aa8b53d93fb335f6f4b65f2f9fAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:11 -0500Subject: Commit4Commit:  406d894bbc417bcaafb19f2aac3b4fc6e05a4d99Author:  John Doe <JohnDoe@example.com>Date:    (3 seconds ago) 2018-12-20 09:20:09 -0500Subject: Commit1
Commit:  1f3154cff2b6484b300d767d61a8c4465330a8ceAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:10 -0500Subject: Commit3Commit:  df4662597e356d6162632cf44d3382d1967f0b14Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:10 -0500Subject: Commit2Commit:  a348995e471cb5aa8b53d93fb335f6f4b65f2f9fAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:11 -0500Subject: Commit4Commit:  406d894bbc417bcaafb19f2aac3b4fc6e05a4d99Author:  John Doe <JohnDoe@example.com>Date:    (3 seconds ago) 2018-12-20 09:20:09 -0500Subject: Commit1
Commit:  1f3154cff2b6484b300d767d61a8c4465330a8ceAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:10 -0500Subject: Commit3Commit:  df4662597e356d6162632cf44d3382d1967f0b14Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:10 -0500Subject: Commit2Commit:  a348995e471cb5aa8b53d93fb335f6f4b65f2f9fAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:11 -0500Subject: Commit4Commit:  406d894bbc417bcaafb19f2aac3b4fc6e05a4d99Author:  John Doe <JohnDoe@example.com>Date:    (3 seconds ago) 2018-12-20 09:20:09 -0500Subject: Commit1
Commit:  1f3154cff2b6484b300d767d61a8c4465330a8ceAuthor:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:10 -0500Subject: Commit3Commit:  df4662597e356d6162632cf44d3382d1967f0b14Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:10 -0500Subject: Commit2Commit:  a348995e471cb5aa8b53d93fb335f6f4b65f2f9fAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:11 -0500Subject: Commit4Commit:  406d894bbc417bcaafb19f2aac3b4fc6e05a4d99Author:  John Doe <JohnDoe@example.com>Date:    (3 seconds ago) 2018-12-20 09:20:09 -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 721.0 μsRemoving 0 merged conflicts...Done. 1 unmerged conflicts.error: could not apply 61131b48 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[e6362971b2558cf9c9a60a66c4035bf1a6076d0c] 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[389088cbe3cdd357b1a03f1a549c89baee1d9cee] 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[c49decc4c585b7901bc389dd3119426315c22222] 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[60089a645f3c9556c8255778ba60354b1cbdd847] 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[92b33130bdfdbcf1e56f7b65f715c20093521c68] 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[4754f1f24c017d425e9ba2b0f810c22729b6f3c2] 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[f562e07d7e4deeacefac21a640c085e7d833dbe2] 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[998cdf53fe2b901062f75fd7b785036986695d5b] 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[bfd6f97887abe9c0537817a0077d4ee79ae7f234] 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:  752328c7b205ded400c59f87296b38349f68ebedAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:46 -0500Subject: Commit3Commit:  e75e118c65ce9ac61d3585ce0137532ad880f14eAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:45 -0500Subject: Commit2Commit:  87229729a45b5cb8e2a1c34747d57afbafd1e729Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:45 -0500Subject: Commit1
Commit:  752328c7b205ded400c59f87296b38349f68ebedAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:46 -0500Subject: Commit3Commit:  e75e118c65ce9ac61d3585ce0137532ad880f14eAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:45 -0500Subject: Commit2Commit:  87229729a45b5cb8e2a1c34747d57afbafd1e729Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:45 -0500Subject: Commit1
Commit:  752328c7b205ded400c59f87296b38349f68ebedAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:46 -0500Subject: Commit3Commit:  e75e118c65ce9ac61d3585ce0137532ad880f14eAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:45 -0500Subject: Commit2Commit:  87229729a45b5cb8e2a1c34747d57afbafd1e729Author:  John Doe <JohnDoe@example.com>Date:    (2 seconds ago) 2018-12-20 09:20:45 -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[4a73730592e6057a9bcaa10f7a48b178edcbfd92] 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/junit1421997048425181596/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 1743a6759d2975cf59f8d11cf9f59197d88f13bf (Commit4)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 1 features in 4.026 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 10.94 ms

Commit:  860a87e48f60941e37522cf2fc24e943a70872aeAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:55 +0000Subject: Revert 'Commit4'This reverts 1743a6759d2975cf59f8d11cf9f59197d88f13bfCommit:  1743a6759d2975cf59f8d11cf9f59197d88f13bfAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit4Commit:  95982bf4975ad2cdf4862055cba73e62bfbf85caAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit3Commit:  e57bd59fac08fcb892eb8ce14692c29756eb5642Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit2Commit:  dcc6b40d3e5cc669c4ea12f3e4ea7a1420a72151Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:53 -0500Subject: Commit1
Commit:  860a87e48f60941e37522cf2fc24e943a70872aeAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:55 +0000Subject: Revert 'Commit4'This reverts 1743a6759d2975cf59f8d11cf9f59197d88f13bfCommit:  1743a6759d2975cf59f8d11cf9f59197d88f13bfAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit4Commit:  95982bf4975ad2cdf4862055cba73e62bfbf85caAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit3Commit:  e57bd59fac08fcb892eb8ce14692c29756eb5642Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit2Commit:  dcc6b40d3e5cc669c4ea12f3e4ea7a1420a72151Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:53 -0500Subject: Commit1
Commit:  860a87e48f60941e37522cf2fc24e943a70872aeAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:55 +0000Subject: Revert 'Commit4'This reverts 1743a6759d2975cf59f8d11cf9f59197d88f13bfCommit:  1743a6759d2975cf59f8d11cf9f59197d88f13bfAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit4Commit:  95982bf4975ad2cdf4862055cba73e62bfbf85caAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit3Commit:  e57bd59fac08fcb892eb8ce14692c29756eb5642Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit2Commit:  dcc6b40d3e5cc669c4ea12f3e4ea7a1420a72151Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:53 -0500Subject: Commit1
Commit:  860a87e48f60941e37522cf2fc24e943a70872aeAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:55 +0000Subject: Revert 'Commit4'This reverts 1743a6759d2975cf59f8d11cf9f59197d88f13bfCommit:  1743a6759d2975cf59f8d11cf9f59197d88f13bfAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit4Commit:  95982bf4975ad2cdf4862055cba73e62bfbf85caAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit3Commit:  e57bd59fac08fcb892eb8ce14692c29756eb5642Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit2Commit:  dcc6b40d3e5cc669c4ea12f3e4ea7a1420a72151Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:53 -0500Subject: Commit1
Commit:  860a87e48f60941e37522cf2fc24e943a70872aeAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:55 +0000Subject: Revert 'Commit4'This reverts 1743a6759d2975cf59f8d11cf9f59197d88f13bfCommit:  1743a6759d2975cf59f8d11cf9f59197d88f13bfAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit4Commit:  95982bf4975ad2cdf4862055cba73e62bfbf85caAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit3Commit:  e57bd59fac08fcb892eb8ce14692c29756eb5642Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:54 -0500Subject: Commit2Commit:  dcc6b40d3e5cc669c4ea12f3e4ea7a1420a72151Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:53 -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:  048c787cf66b4cbe786712fedb7a29ff7c27f80eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit4Commit:  2fe7f5101185f2cf273352c83bd11eeedb0cbe53Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit3Commit:  2835bcd8b75e94580e82346eda0a0a4b083ac3dfAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit2Commit:  29c9eb1694b31c36315309eaf8e6e491886c02f2Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:55 -0500Subject: Commit1
Commit:  048c787cf66b4cbe786712fedb7a29ff7c27f80eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit4Commit:  2fe7f5101185f2cf273352c83bd11eeedb0cbe53Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit3Commit:  2835bcd8b75e94580e82346eda0a0a4b083ac3dfAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit2Commit:  29c9eb1694b31c36315309eaf8e6e491886c02f2Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:55 -0500Subject: Commit1
Commit:  048c787cf66b4cbe786712fedb7a29ff7c27f80eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit4Commit:  2fe7f5101185f2cf273352c83bd11eeedb0cbe53Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit3Commit:  2835bcd8b75e94580e82346eda0a0a4b083ac3dfAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit2Commit:  29c9eb1694b31c36315309eaf8e6e491886c02f2Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:55 -0500Subject: Commit1
Commit:  048c787cf66b4cbe786712fedb7a29ff7c27f80eAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit4Commit:  2fe7f5101185f2cf273352c83bd11eeedb0cbe53Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit3Commit:  2835bcd8b75e94580e82346eda0a0a4b083ac3dfAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:56 -0500Subject: Commit2Commit:  29c9eb1694b31c36315309eaf8e6e491886c02f2Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:55 -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 80237a8d7c2561053b3ed1dbdb256cef8ad69cc5 (Commit3)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 2 features in 13.39 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 2 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 2 changes staged in 15.04 ms

[main] INFO org.locationtech.geogig.porcelain.RevertOp - Creating revert state of commit 20228fe07abde25287c208cc8e5d0711b0e4930f (Commit2)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 2 features in 13.70 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 2 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 2 changes staged in 13.24 ms

Commit:  b31215346dba3020dde5e02fc159b415151bec41Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit2'This reverts 20228fe07abde25287c208cc8e5d0711b0e4930fCommit:  03facd686706aac6c86cc979f7d33695f60767b6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit3'This reverts 80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Commit:  4ccfe2aa226238810c5aba5cca7f85a1c1d4fef4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit4Commit:  80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit3Commit:  20228fe07abde25287c208cc8e5d0711b0e4930fAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:58 -0500Subject: Commit2Commit:  0fe11bbcbe20b8419d1802466161049d1dd8e45dAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:57 -0500Subject: Commit1
Commit:  b31215346dba3020dde5e02fc159b415151bec41Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit2'This reverts 20228fe07abde25287c208cc8e5d0711b0e4930fCommit:  03facd686706aac6c86cc979f7d33695f60767b6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit3'This reverts 80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Commit:  4ccfe2aa226238810c5aba5cca7f85a1c1d4fef4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit4Commit:  80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit3Commit:  20228fe07abde25287c208cc8e5d0711b0e4930fAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:58 -0500Subject: Commit2Commit:  0fe11bbcbe20b8419d1802466161049d1dd8e45dAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:57 -0500Subject: Commit1
Commit:  b31215346dba3020dde5e02fc159b415151bec41Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit2'This reverts 20228fe07abde25287c208cc8e5d0711b0e4930fCommit:  03facd686706aac6c86cc979f7d33695f60767b6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit3'This reverts 80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Commit:  4ccfe2aa226238810c5aba5cca7f85a1c1d4fef4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit4Commit:  80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit3Commit:  20228fe07abde25287c208cc8e5d0711b0e4930fAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:58 -0500Subject: Commit2Commit:  0fe11bbcbe20b8419d1802466161049d1dd8e45dAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:57 -0500Subject: Commit1
Commit:  b31215346dba3020dde5e02fc159b415151bec41Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit2'This reverts 20228fe07abde25287c208cc8e5d0711b0e4930fCommit:  03facd686706aac6c86cc979f7d33695f60767b6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit3'This reverts 80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Commit:  4ccfe2aa226238810c5aba5cca7f85a1c1d4fef4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit4Commit:  80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit3Commit:  20228fe07abde25287c208cc8e5d0711b0e4930fAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:58 -0500Subject: Commit2Commit:  0fe11bbcbe20b8419d1802466161049d1dd8e45dAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:57 -0500Subject: Commit1
Commit:  b31215346dba3020dde5e02fc159b415151bec41Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit2'This reverts 20228fe07abde25287c208cc8e5d0711b0e4930fCommit:  03facd686706aac6c86cc979f7d33695f60767b6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit3'This reverts 80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Commit:  4ccfe2aa226238810c5aba5cca7f85a1c1d4fef4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit4Commit:  80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit3Commit:  20228fe07abde25287c208cc8e5d0711b0e4930fAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:58 -0500Subject: Commit2Commit:  0fe11bbcbe20b8419d1802466161049d1dd8e45dAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:57 -0500Subject: Commit1
Commit:  b31215346dba3020dde5e02fc159b415151bec41Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit2'This reverts 20228fe07abde25287c208cc8e5d0711b0e4930fCommit:  03facd686706aac6c86cc979f7d33695f60767b6Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:20:59 +0000Subject: Revert 'Commit3'This reverts 80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Commit:  4ccfe2aa226238810c5aba5cca7f85a1c1d4fef4Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit4Commit:  80237a8d7c2561053b3ed1dbdb256cef8ad69cc5Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:20:58 -0500Subject: Commit3Commit:  20228fe07abde25287c208cc8e5d0711b0e4930fAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:58 -0500Subject: Commit2Commit:  0fe11bbcbe20b8419d1802466161049d1dd8e45dAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:57 -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:  d35fae6a493ce2462935c2b5cee8cc8f5a29ad1aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:21:01 -0500Subject: Commit4Commit:  ac91988dd4ff2b2a5b3fdb51071ad92c947bad93Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:21:00 -0500Subject: Commit3Commit:  00e26a05fdb5c17d372b333509d0240c7ab05931Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:21:00 -0500Subject: Commit2Commit:  4746daa9311ffe72dfcc86154b30c75b17b1a71bAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:59 -0500Subject: Commit1
Commit:  d35fae6a493ce2462935c2b5cee8cc8f5a29ad1aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:21:01 -0500Subject: Commit4Commit:  ac91988dd4ff2b2a5b3fdb51071ad92c947bad93Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:21:00 -0500Subject: Commit3Commit:  00e26a05fdb5c17d372b333509d0240c7ab05931Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:21:00 -0500Subject: Commit2Commit:  4746daa9311ffe72dfcc86154b30c75b17b1a71bAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:59 -0500Subject: Commit1
Commit:  d35fae6a493ce2462935c2b5cee8cc8f5a29ad1aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:21:01 -0500Subject: Commit4Commit:  ac91988dd4ff2b2a5b3fdb51071ad92c947bad93Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:21:00 -0500Subject: Commit3Commit:  00e26a05fdb5c17d372b333509d0240c7ab05931Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:21:00 -0500Subject: Commit2Commit:  4746daa9311ffe72dfcc86154b30c75b17b1a71bAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:59 -0500Subject: Commit1
Commit:  d35fae6a493ce2462935c2b5cee8cc8f5a29ad1aAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:21:01 -0500Subject: Commit4Commit:  ac91988dd4ff2b2a5b3fdb51071ad92c947bad93Author:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:21:00 -0500Subject: Commit3Commit:  00e26a05fdb5c17d372b333509d0240c7ab05931Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:21:00 -0500Subject: Commit2Commit:  4746daa9311ffe72dfcc86154b30c75b17b1a71bAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:20:59 -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 4943d012601092f45bdb5e16895949fa3881bc98 (Commit1)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 2 features in 14.11 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 14.44 ms

error: could not apply 4943d012 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 4943d012 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 3f6b2e269583ba080c79d1a6ea562340bd3c90e9 (Commit4)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 1 features in 2.083 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 10.04 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 6d4c51d31662fd02f9249ea7defd641f013a2d8c (Commit1)
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Created revert state of 2 features in 3.410 ms
[main] INFO org.locationtech.geogig.porcelain.RevertOp - Staging 1 changes...
[main] INFO org.locationtech.geogig.porcelain.RevertOp - 1 changes staged in 9.506 ms

error: could not apply 6d4c51d3 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:  5d520b896891d3ce64804161850d9732836a10afAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 14:21:08 +0000Subject: Revert 'Commit1'This reverts 6d4c51d31662fd02f9249ea7defd641f013a2d8cCommit:  3114dd79df988bbefde2d790561ab62329f0e07fAuthor:  John Doe <JohnDoe@example.com>Date:    (just now) 2018-12-20 09:21:07 -0500Subject: Commit4Commit:  22f20362eb7f763452d3e54bcfd253482d9fa366Author:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:21:07 -0500Subject: Commit3Commit:  e63238c29e092e9123674098cb0df9b88cd2fe0aAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:21:07 -0500Subject: Commit2Commit:  6d4c51d31662fd02f9249ea7defd641f013a2d8cAuthor:  John Doe <JohnDoe@example.com>Date:    (1 seconds ago) 2018-12-20 09:21:06 -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:        c11e22ff126825e12ef2617c4cd3b8d132b9f7c3Author:        John Doe <JohnDoe@example.com>Committer:     John Doe <JohnDoe@example.com>Author date:   (just now) Thu Dec 20 09:21:12 EST 2018Committer date:(just now) Thu Dec 20 09:21:12 EST 2018Subject:       TestCommit
Commit:        c11e22ff126825e12ef2617c4cd3b8d132b9f7c3Author:        John Doe <JohnDoe@example.com>Committer:     John Doe <JohnDoe@example.com>Author date:   (just now) Thu Dec 20 09:21:12 EST 2018Committer date:(just now) Thu Dec 20 09:21:12 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)
184a82f63cf48115dbd00e3bf66a561167c8bb22 squashed74d140f73b5b979e48f060bebabe3b7af403932e Commit1
[main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Squash commits in wrong order': Using URIBuilder DefaultTestRepoURIBuilder

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  Scenario: List the available tags          # Tag.feature:6
    Given I have a repository                # DefaultStepDefinitions.I_have_a_repository()
    And I have several commits               # DefaultStepDefinitions.I_have_several_commits()
    And I run the command "tag mytag -m msg" # DefaultStepDefinitions.I_run_the_command_X(String)
    When I run the command "tag"             # DefaultStepDefinitions.I_run_the_command_X(String)
    Then the response should contain "mytag" # DefaultStepDefinitions.the_response_should_contain(String)
Created tag mytag -> 6a4c119899cd4fd855d3097f30484a10cdccf2c5
[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 -> d24040ae04e269217516b58100a677492be25a58
[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 20, 2018 at 09:13:59 EST         Build User Name : GeoGig Bot        Build User Email : geogig-bot@eclipse.org              Git Branch : origin/master           Git Commit ID : 6ed99b0240ae06ebeb1fc6a9cd1c723b9a33604d         Git Commit Time : December 20, 2018 at 09:06:20 EST  Git Commit Author Name : Gabriel Roldan Git Commit Author Email : groldan@boundlessgeo.com      Git Commit Message : Fix Fortify's unsafe deserialization concerns on RocksDbMapSigned-off-by: Gabriel Roldan <groldan@boundlessgeo.com>
         Project Version : 1.4-SNAPSHOT              Build Time : December 20, 2018 at 09:13:59 EST         Build User Name : GeoGig Bot        Build User Email : geogig-bot@eclipse.org              Git Branch : origin/master           Git Commit ID : 6ed99b0240ae06ebeb1fc6a9cd1c723b9a33604d         Git Commit Time : December 20, 2018 at 09:06:20 EST  Git Commit Author Name : Gabriel Roldan Git Commit Author Email : groldan@boundlessgeo.com      Git Commit Message : Fix Fortify's unsafe deserialization concerns on RocksDbMapSigned-off-by: Gabriel Roldan <groldan@boundlessgeo.com>
         Project Version : 1.4-SNAPSHOT              Build Time : December 20, 2018 at 09:13:59 EST         Build User Name : GeoGig Bot        Build User Email : geogig-bot@eclipse.org              Git Branch : origin/master           Git Commit ID : 6ed99b0240ae06ebeb1fc6a9cd1c723b9a33604d         Git Commit Time : December 20, 2018 at 09:06:20 EST  Git Commit Author Name : Gabriel Roldan Git Commit Author Email : groldan@boundlessgeo.com      Git Commit Message : Fix Fortify's unsafe deserialization concerns on RocksDbMapSigned-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)
8m5.496s

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

Results :

Tests run: 3083, 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