Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building GeoGig Command Line Interface 1.2-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig-cli --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-cli --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ geogig-cli --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 4 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ geogig-cli --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 72 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target/classes [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ geogig-cli --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 50 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ geogig-cli --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 13 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target/test-classes [INFO] [INFO] --- maven-surefire-plugin:2.17:test (default-test) @ geogig-cli --- [INFO] Surefire report directory: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- ------------------------------------------------------- T E S T S ------------------------------------------------------- Picked up JAVA_TOOL_OPTIONS: -Xmx2G -Djava.io.tmpdir=/tmp/genie.geogig Picked up JAVA_TOOL_OPTIONS: -Xmx2G -Djava.io.tmpdir=/tmp/genie.geogig Picked up JAVA_TOOL_OPTIONS: -Xmx2G -Djava.io.tmpdir=/tmp/genie.geogig Picked up JAVA_TOOL_OPTIONS: -Xmx2G -Djava.io.tmpdir=/tmp/genie.geogig Picked up JAVA_TOOL_OPTIONS: -Xmx2G -Djava.io.tmpdir=/tmp/genie.geogig Picked up JAVA_TOOL_OPTIONS: -Xmx2G -Djava.io.tmpdir=/tmp/genie.geogig Picked up JAVA_TOOL_OPTIONS: -Xmx2G -Djava.io.tmpdir=/tmp/genie.geogig Running org.locationtech.geogig.cli.test.functional.RunRemoteFunctionalTest Running org.locationtech.geogig.cli.test.functional.RunIndexFunctionalTest Running org.locationtech.geogig.cli.test.functional.RunPlumbingFunctionalTest Running org.locationtech.geogig.cli.test.functional.RunGenralFunctionalTest Running org.locationtech.geogig.cli.test.functional.RunPorcelainFunctionalTest Running org.locationtech.geogig.cli.test.functional.RunHooksFunctionalTest Running org.locationtech.geogig.cli.test.ArgumentTokenizerTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.162 sec - in org.locationtech.geogig.cli.test.ArgumentTokenizerTest Feature: General features of CLI In order to use the CLI As a Geogig User I want to use some basic functionality [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Use command alias': Using URIBuilder DefaultTestRepoURIBuilder Feature: "clone" command In order to build on the work in an existing repository As a Geogig User I want to clone that repository to my local machine Feature: "hooks" functionality In order to control how geogig commands are executed As a Geogig User I want to set hooks in my repo [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone without specifying a repository': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Set a pre-commit hook and perform a wrong commit': Using URIBuilder DefaultTestRepoURIBuilder Feature: "cat" command In order to know the content of a given element As a Geogig User I want to display its content [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the content of a tree.': Using URIBuilder DefaultTestRepoURIBuilder Feature: Automatic index updating In order to keep an index up to date with the canonical tree As a Geogig User Whenever I make changes to a repository, the index should be automatically updated [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Committing a modified indexed feature updates the indexes': Using URIBuilder DefaultTestRepoURIBuilder Feature: "add" command In order to prepare for making a commit to the geogig repository As a Geogig User I want to stage my changes to the working tree [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a conflicted feature': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone into the current directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone without specifying a repository # Clone.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "clone" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "You must specify a repository to clone." # 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 - 'Show command candidate when command is mistyped': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Merging updates the index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Use command alias # General.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 "config alias.ci commit" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "ci -m message" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Committing a modified indexed feature updates the indexes # AutomaticIndexUpdating.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m noIndex" # DefaultStepDefinitions.I_run_the_command_X(String) And the response should contain "1 features added" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Updated index" # DefaultStepDefinitions.the_response_should_not_contain(String) When I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And I have staged "points1_modified" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m withIndex" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Updated index" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show command candidates when command is mistyped': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show command candidate when command is mistyped # General.feature:15 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "brunch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Did you mean this?" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch" # 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.cli.test.functional.DefaultStepDefinitions - 'Try to show the content of a feature.': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.hooks.Scripting - Running jvm script /opt/public/hipp/ramdisk/geogig/junit8129924781160605307/data/localrepo/.geogig/hooks/pre_commit.js Scenario: Try to show the content of a tree. # Cat.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "cat HEAD:Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD:Points}" # DefaultStepDefinitions.checkResponseTextContains(String) Scenario: Show command candidates when command is mistyped # General.feature:22 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "confit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Did you mean one of these?" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "config" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "commit" # 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: "help" command In order to know how to use geogig As a Geogig User I want to see the description of a command [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show general help, containing only porcelain commands': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Set a pre-commit hook and perform a valid commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Set a pre-commit hook and perform a wrong commit # Hooks.feature:6 Scenario: Show general help, containing only porcelain commands # Help.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "help" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "cat-object" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "ls-tree" # DefaultStepDefinitions.the_response_should_not_contain(String) Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I set up a hook # DefaultStepDefinitions.I_set_up_a_hook() When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() And the response should contain "Commit messages must have at least 5 letters" # DefaultStepDefinitions.the_response_should_contain(String) 4 Scenarios (4 passed) 23 Steps (23 passed) 0m6.598s Tests run: 27, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.298 sec - in org.locationtech.geogig.cli.test.functional.RunGenralFunctionalTest [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add features to the index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a conflicted feature # Add.feature:6 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 "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "add Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 features and 1 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with zero exit code # DefaultStepDefinitions.it_should_exit_with_zero_exit_code() When I run the command "conflicts" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No elements need merging" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone with too many parameters': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone into the current directory # Clone.feature:12 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone ${remoterepo} ." # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Cannot clone into your current working directory." # 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 clone a remote repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone with too many parameters # Clone.feature:19 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "clone repository directory extra" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Too many arguments provided." # 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 add a specific feature type to the index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add features to the index # Add.feature:16 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 "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features and 2 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Rebasing a branch generates indexes for each rebased commit': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the content of a feature that does not exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Merging updates the index # AutomaticIndexUpdating.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features added" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) Scenario: Try to show the content of a feature. # Cat.feature:16 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "cat HEAD:Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1000" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "POINT (1 1)" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "StringProp1_1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.hooks.Scripting - Running jvm script /opt/public/hipp/ramdisk/geogig/junit6530633062812828222/data/localrepo/.geogig/hooks/pre_commit.js [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a using too many parameters': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the content of a feature in the working tree.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Set a pre-commit hook and perform a valid commit # Hooks.feature:14 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I set up a hook # DefaultStepDefinitions.I_set_up_a_hook() When I run the command "commit -m LongerMessage " # DefaultStepDefinitions.I_run_the_command_X(String) Scenario: Try to add a specific feature type to the index # Add.feature:24 Then it should exit with zero exit code # DefaultStepDefinitions.it_should_exit_with_zero_exit_code() And the response should not contain "Commit messages must have at least 5 letters" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "6 features added" # DefaultStepDefinitions.the_response_should_contain(String) 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 "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "add Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features and 1 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) 2 Scenarios (2 passed) 13 Steps (13 passed) 0m7.935s Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.65 sec - in org.locationtech.geogig.cli.test.functional.RunHooksFunctionalTest Scenario: Try to show the content of a feature that does not exist # Cat.feature:26 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "cat WORK_HEAD:Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() And the response should contain "refspec did not resolve to any object" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a specific feature to the index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a using too many parameters # Add.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "add Points Lines" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Only a single path is supported so far" # 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.cli.test.functional.DefaultStepDefinitions - 'Try to show the content of HEAD.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the content of a feature in the working tree. # Cat.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() When I run the command "cat WORK_HEAD:Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1000" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "POINT (1 1)" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "StringProp1_1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|WORK_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add an empty feature type': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone a remote repository with blank spaces': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone a remote repository # Clone.feature:25 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cloning into '${repoURI}'..." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Done." # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit5" # 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|master}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to add a specific feature to the index # Add.feature:39 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 "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "add Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 features and 1 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Cherry-picking a commit updates the index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Rebasing a branch generates indexes for each rebased commit # AutomaticIndexUpdating.feature:36 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "rebase master branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add an empty feature type to an unclean index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add an empty feature type # Add.feature:47 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged an empty feature type # DefaultStepDefinitions.I_have_unstaged_an_empty_feature_type() When I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "0 features and 1 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try show the binary content of HEAD': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the content of HEAD. # Cat.feature:41 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "cat 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 "JohnDoe@example.com" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "TestCommit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add an empty feature type to an unclean index # Add.feature:53 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) And I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) And I have unstaged an empty feature type # DefaultStepDefinitions.I_have_unstaged_an_empty_feature_type() When I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 features and 2 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add when no changes have been made': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add from an empty directory # Add.feature:61 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "add" # 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 clone a remote repository that does not exist': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to just stage a modified feature with add update': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Creating a branch updates the index': Using URIBuilder DefaultTestRepoURIBuilder #annotate with FileSystemReposOnly because other URI providers don't allow spaces @FileSystemReposOnly Scenario: Try to clone a remote repository with blank spaces # Clone.feature:42 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository with blank spaces # DefaultStepDefinitions.there_is_a_remote_repository_with_blank_spaces() When I run the command "clone "remote repo" localrepo" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cloning into 'localrepo'..." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Done." # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextContains(String) Scenario: Try to add when no changes have been made # Add.feature:67 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No unstaged elements" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Cherry-picking a commit updates the index # AutomaticIndexUpdating.feature:54 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "cherry-pick branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to make a shallow clone of a remote repository': Using URIBuilder DefaultTestRepoURIBuilder commitHMOºø£zJáÌê|W9John DoeJohnDoe@example.coma‹Ñ|šþíW€John DoeJohnDoe@example.coma‹Ñ|›þíW€ TestCommit Scenario: Try to clone a remote repository that does not exist # Clone.feature:56 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "clone nonexistentrepo ${localrepo}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "nonexistentrepo is not a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) And the repository at "${localrepo}" shall not exist # DefaultStepDefinitions.the_repository_at_shall_not_exist(String) Scenario: Try show the binary content of HEAD # Cat.feature:50 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "cat --binary HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) Feature: "diff-tree" command In order to know changes made in a repository As a Geogig User I want to see the existing differences between trees [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to just stage a modified feature with add update # Add.feature:72 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 unstaged "points1_modified" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "add --update" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features and 1 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(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 "3 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) Feature: "apply" command In order to apply changes stored in a patch file As a Geogig User I want to apply a patch to the repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Check if a correct patch can be applied': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Creating a branch updates the index # AutomaticIndexUpdating.feature:67 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 "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~3" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) When I run the command "branch newBranch HEAD~3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository's "HEAD~3:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "newBranch:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) Feature: "index create" command In order to improve query performance on a feature tree As a Geogig User I want to create an index on an attribute of the feature tree [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Check if a wrong patch can be applied': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, omitting index refspec': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Check if a correct patch can be applied # Apply.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply --check ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch can be applied" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Show diff between working tree and index # DiffTree.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree WORK_HEAD STAGE_HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone a remote repository with a branch specified': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to make a shallow clone of a remote repository # Clone.feature:62 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone --depth 2 ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cloning into '${repoURI}'..." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Done." # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit5" # 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|master~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|branch1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Check if a patch can be applied twice': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Check if a wrong patch can be applied # Apply.feature:13 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply --check ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch cannot be applied" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with extra attributes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index # CreateIndex.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 "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Size: 2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~3:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, omitting both refspecs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, omitting index refspec # DiffTree.feature:14 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree WORK_HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain variable "{@ObjectId|localrepo|WORK_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Apply a correct patch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Check if a patch can be applied twice # Apply.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "apply --check ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch can be applied" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a sparse clone of a remote repository with no branch specified': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with user-specified bounds': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to apply a wrong patch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone a remote repository with a branch specified # Clone.feature:77 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone -b branch1 ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cloning into '${repoURI}'..." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Done." # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Commit5" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|master}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit1" # 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|branch1~1}" # DefaultStepDefinitions.checkResponseTextContains(String) Scenario: Try to create an index with extra attributes # CreateIndex.feature:26 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 "index create --tree Points --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Size: 2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~3:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) Scenario: Apply a correct patch # Apply.feature:29 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch applied succesfully" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff tree stats between working tree and index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, omitting both refspecs # DiffTree.feature:23 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a featuregit # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to partially apply a wrong patch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to apply a wrong patch # Apply.feature:36 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Error: Patch cannot be applied" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "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() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with too few bounds parameters': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index with user-specified bounds # CreateIndex.feature:46 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 "index create --tree Points --bounds -45,-45,45,45" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Size: 2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-45,-45,45,45" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~3:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone a remote repository that has already been cloned': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff using too many commit refspecs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to do a sparse clone of a remote repository with no branch specified # Clone.feature:93 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone --filter someFilter ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Sparse Clone: You must explicitly specify a remote branch" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Show diff tree stats between working tree and index # DiffTree.feature:31 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree --tree-stats" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points 0 0 1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to apply an inexistent patch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to partially apply a wrong patch # Apply.feature:46 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply --reject ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch applied only partially" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "0 changes were applied" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "1 changes were rejected" # 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.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with invalid bounds parameters': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index with too few bounds parameters # CreateIndex.feature:66 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 "index create --tree Points --bounds -45,-45,45" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Invalid bbox parameter: '-45,-45,45'. Expected format: " # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'List the content of a patch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to apply an inexistent patch # Apply.feature:57 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() When I run the command "apply ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch file cannot be found" # 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.cli.test.functional.DefaultStepDefinitions - 'Show diff using a wrong refspec': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff using too many commit refspecs # DiffTree.feature:38 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree refspec1 refspec2 refspec3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Tree refspecs list is too long" # 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.cli.test.functional.DefaultStepDefinitions - 'Apply a reversed patch that cannot be applied': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone a repository to itself': Using URIBuilder DefaultTestRepoURIBuilder Scenario: List the content of a patch # Apply.feature:64 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply --summary ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index on a nonexistent tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone a remote repository that has already been cloned # Clone.feature:99 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "clone ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Destination repository already exists" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to create an index with invalid bounds parameters # CreateIndex.feature:72 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 "index create --tree Points --bounds -45,-45,45,A" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Invalid bbox parameter: '-45,-45,45,A'. Expected format: " # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Apply a path and then the reverse version of that patch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Apply a reversed patch that cannot be applied # Apply.feature:71 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1_modified" # DefaultStepDefinitions.I_have_unstaged(String) And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply --reverse ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Conflicting" # 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.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, describing the modified element': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff using a wrong refspec # DiffTree.feature:46 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree wrong:refspec" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "wrong:refspec did not resolve to a tree" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Apply a path and then the reverse version of that patch # Apply.feature:79 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "apply --reverse ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch applied succesfully" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "blame" command In order to know the history of a single feature As a Geogig User I want to see who edited each attribute of a feature [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with a valid path': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index on a nonexistent attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index on a nonexistent tree # CreateIndex.feature:78 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 "index create --tree nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree 'nonexistent'" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone a repository to the same parent folder without specifying target': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone a repository to itself # Clone.feature:106 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone ${remoterepo} ${remoterepo}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Source and target repositories are the same" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, with a change in the feature type': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, describing the modified element # DiffTree.feature:54 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree WORK_HEAD STAGE_HEAD --describe" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 10 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index on a non-geometry attribute': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with a valid path in porcelain mode': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index on a nonexistent attribute # CreateIndex.feature:84 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 "index create --tree Points --attribute nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "property nonexistent does not exist" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to run blame with a valid path # Blame.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 "blame Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) #annotate with FileSystemReposOnly because other kind of repo to file would succeed @FileSystemReposOnly Scenario: Try to clone a repository to the same parent folder without specifying target # Clone.feature:114 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone ${remoterepo}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Destination repository already exists" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "fetch" command In order to get changes from a remote repository As a Geogig User I want to fetch new objects and branches to my local machine [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from origin': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, using a path filter': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch from an empty directory # Fetch.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "fetch origin" # 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() Scenario: Show diff between working tree and index, with a change in the feature type # DiffTree.feature:62 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I a featuretype is modified # DefaultStepDefinitions.I_modify_a_feature_type() When I run the command "diff-tree WORK_HEAD:Points STAGE_HEAD:Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|WORK_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|STAGE_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with the --no-values switch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to run blame with a valid path in porcelain mode # Blame.feature:12 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 "blame --porcelain Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "1001" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with the full history': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index on a non-geometry attribute # CreateIndex.feature:90 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 "index create --tree Points --attribute sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "property sp is not a geometry attribute" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with a wrong path': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a diff with --describe and --tree-stats': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to run blame with the --no-values switch # Blame.feature:19 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 "blame --no-values Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should not contain "1001" # DefaultStepDefinitions.the_response_should_not_contain(String) Scenario: Show diff between working tree and index, using a path filter # DiffTree.feature:74 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree WORK_HEAD:Points STAGE_HEAD:Points --path Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain variable "{@ObjectId|localrepo|WORK_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|STAGE_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch the full history for a shallow clone': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch from origin # Fetch.feature:12 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() When I run the command "fetch origin" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with the full history and extra attributes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index with the full history # CreateIndex.feature:96 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 "index create --tree Points --index-history" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with more than one path': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, describing a removed element': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to run blame with a wrong path # Blame.feature:26 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 "blame wrongpath" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The supplied path does not exist" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to show a diff with --describe and --tree-stats # DiffTree.feature:85 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree WORK_HEAD STAGE_HEAD --describe --tree-stats" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot use --describe and --tree-stats simultaneously" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with no arguments': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index without specifying a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to run blame with more than one path # Blame.feature:32 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 "blame Point/Points.1 Points/Points.2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Only one path allowed" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to create an index with the full history and extra attributes # CreateIndex.feature:130 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 "index create --tree Points --extra-attributes sp,ip --index-history" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch2:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch2:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch1:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to deepen the history of a shallow clone': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, describing a removed element # DiffTree.feature:92 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I remove a feature # DefaultStepDefinitions.I_remove_a_feature() When I run the command "diff-tree WORK_HEAD STAGE_HEAD --describe" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 7 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) Feature: "apply" command In order to modify feature As a Geogig User I want to insert a feature according to a definition in a file [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Insert from a file': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch the full history for a shallow clone # Fetch.feature:20 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone --depth 1 ${remoterepo} ${localrepo}" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) When I run the command "fetch --fulldepth" # 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 "Commit5" # 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|remoterepo|master}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|branch1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a full history index on an empty repository': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with a feature type': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index without specifying a tree # CreateIndex.feature:164 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 "index create --tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Expected a value after parameter" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to run blame with no arguments # Blame.feature:38 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 "blame" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A path must be specified" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to insert a feature passing a wrong file': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a full history index on a repository with a single commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Insert from a file # Insert.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I have an insert file # DefaultStepDefinitions.I_have_an_insert_file() When I run the command "insert -f ${currentdir}/insert" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 features successfully inserted" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to create a full history index on an empty repository # CreateIndex.feature:170 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with an incorrect extra attribute': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from origin without specifying a remote': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to reset from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to deepen the history of a shallow clone # Fetch.feature:36 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone --depth 1 ${remoterepo} ${localrepo}" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|master~1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) When I run the command "fetch --depth 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 "Commit5" # 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|remoterepo|master~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|master~2}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) Scenario: Try to create a full history index on a repository with a single commit # CreateIndex.feature:175 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m "point1 added" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "index create --tree Points --index-history" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) Scenario: Try to run blame with a feature type # Blame.feature:44 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 "blame Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The supplied path does not resolve to a feature" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to reset from an empty directory # Blame.feature:50 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "blame" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "branch" command In order to work separately from the main history As a Geogig User I want to be able to create, delete and list branches [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a branch while not in a repository': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to insert a feature in a tree that does not exist in the repo': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a branch while not in a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a branch while not in a repository # Branch.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And I run the command "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to insert a feature passing a wrong file # Insert.feature:13 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I have an insert file # DefaultStepDefinitions.I_have_an_insert_file() When I run the command "insert -f wrong.file" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Insert file cannot be found" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list branches while not in a geogig repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete a branch while not in a repository # Branch.feature:11 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And I run the command "branch --delete newBranch" # 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() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a branch without having made any commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to insert a feature in a tree that does not exist in the repo # Insert.feature:20 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I have an insert file # DefaultStepDefinitions.I_have_an_insert_file() When I run the command "insert -f ${currentdir}/insert" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The parent tree does not exist: Points" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "ls-tree" command In order to know what is in a repository As a Geogig User I want to list the feature in the working tree [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list of features in the root tree recursively': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index on a tree with an empty extra-attribute param': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list branches while not in a geogig repository # Branch.feature:17 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And I run the command "branch" # 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() Scenario: Try to create an index with an incorrect extra attribute # CreateIndex.feature:190 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 "index create --tree Points --extra-attributes invalidAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "FeatureType Points does not define attribute" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a branch with a non-existent start point': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a branch without having made any commits # Branch.feature:23 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I run the command "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "no commits yet, branch cannot be created." # 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.cli.test.functional.DefaultStepDefinitions - 'Show a list of features in the root tree recursively including trees': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from an invalid remote': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a list of features in the root tree recursively # LsTree.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 "ls-tree -r" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to fetch from origin without specifying a remote # Fetch.feature:51 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() When I run the command "fetch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to create an index on a tree with an empty extra-attribute param # CreateIndex.feature:196 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 "index create --tree Points --extra-attributes" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Expected a value after parameter" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "index drop" command In order to remove an unnecessary index As a Geogig User I want to drop an index from the repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to drop an index': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from origin with pruning': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch from an invalid remote # Fetch.feature:59 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "fetch origin" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Remote 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 create a branch off of master': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list of features in the root tree non-recursively': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a branch with a non-existent start point # Branch.feature:29 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 "branch newBranch nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "nonexistent does not resolve to a repository object" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Show a list of features in the root tree recursively including trees # LsTree.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) When I run the command "ls-tree -r -t -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a verbose list of trees in the root tree non-recursively': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to drop a nonexistent index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a list of features in the root tree non-recursively # LsTree.feature:25 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 "ls-tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "tree" # DefaultStepDefinitions.the_response_should_not_contain(String) Then the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Points" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@PointsTypeID}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) Scenario: Try to drop an index # DropIndex.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 "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index drop --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index successfully dropped." # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout a branch as soon as it is created': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a branch off of master # Branch.feature:35 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 "branch newBranch master" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Created branch refs/heads/newBranch" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a verbose list of features in the root tree recursively, not including children': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a verbose list of trees in the root tree non-recursively # LsTree.feature:38 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 "ls-tree -t -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "tree" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points 1.0;2.0;1.0;2.0 2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines 1.0;2.0;1.0;2.0 1 0" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch a tag': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to drop the index without specifying a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch from origin with pruning # Fetch.feature:65 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() And I have a remote ref called "branch2" # DefaultStepDefinitions.i_have_a_remote_ref_called(String) When I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/branch2" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "fetch --prune" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "origin/branch2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to drop a nonexistent index # DropIndex.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 "index drop --tree nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree 'nonexistent'" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a branch off of master while not on master': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a verbose list of features in a path': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to checkout a branch as soon as it is created # Branch.feature:41 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 "branch -c newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "* newBranch" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Show a verbose list of features in the root tree recursively, not including children # LsTree.feature:50 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 "ls-tree -d -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "tree" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Points 1.0" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines 1.0" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to drop the index for a non-existent attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to drop the index without specifying a tree # DropIndex.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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index drop" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The following option is required: --tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list of features using STAGE_HEAD as non-recursively, including trees': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a branch with the same name as an existing branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a verbose list of features in a path # LsTree.feature:61 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 "ls-tree -v Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "tree" # DefaultStepDefinitions.the_response_should_not_contain(String) Then the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@PointsTypeID}" # DefaultStepDefinitions.checkResponseTextContains(String) Scenario: Try to create a branch off of master while not on master # Branch.feature:48 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch -c newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit2" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch -c newestBranch 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 contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|newBranch}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from unchanged remote': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch a tag # Fetch.feature:77 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository with a tag named "example" # DefaultStepDefinitions.there_is_a_remote_repository_with_a_tag_named(String) When I run the command "clone ${remoterepo} ${localrepo}" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "tag" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "example" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list of trees using HEAD as origin, recursively': Using URIBuilder DefaultTestRepoURIBuilder [main] ERROR org.locationtech.geogig.cli.GeogigCLI - A matching index could not be found. java.lang.IllegalStateException: A matching index could not be found. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.DropIndexOp._call(DropIndexOp.java:62) at org.locationtech.geogig.porcelain.index.DropIndexOp._call(DropIndexOp.java:25) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.DropIndex.runInternal(DropIndex.java:47) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Scenario: Show a list of features using STAGE_HEAD as non-recursively, including trees # LsTree.feature:71 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 "ls-tree STAGE_HEAD -t -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "tree" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points 1.0;2.0;1.0;2.0 2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines 1.0;2.0;1.0;2.0 1 0" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to drop an index in an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to drop the index for a non-existent attribute # DropIndex.feature:37 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index drop --tree Points --attribute fakeAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A matching index could not be found." # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to drop an index in an empty repository # DropIndex.feature:45 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "index drop --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree 'Points'" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "index list" command In order to see what indexes are available on the repository As a Geogig User I want to list all of the indexes [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list indexes': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list local branches': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a verbose list of features using HEAD as origin, recursively': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a branch with the same name as an existing branch # Branch.feature:62 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 "branch branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A branch named 'branch1' already exists." # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Show a list of trees using HEAD as origin, recursively # LsTree.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) And I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "ls-tree HEAD -t" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "Lines" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) Scenario: Try to fetch from unchanged remote # Fetch.feature:84 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() And I run the command "clone ${remoterepo} ${localrepo}" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "fetch origin" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Already up to date" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "pull" command In order to integrate changes from a remote repository to my working branch As a Geogig User I want to pull all new commits from that repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list of features in a path, using HEAD as origin': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull from origin': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a verbose list of features using HEAD as origin, recursively # LsTree.feature:93 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 "ls-tree HEAD -r -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@PointsTypeID}" # DefaultStepDefinitions.checkResponseTextContains(String) Then the response should contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@LinesTypeID}" # DefaultStepDefinitions.checkResponseTextContains(String) Then the response should not contain "tree" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) Scenario: Try to pull from an empty directory # Pull.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "pull origin" # 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) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list indexes in a specific feature type tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list indexes # ListIndexes.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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index create --tree Lines --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Lines" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "[sp]" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain index info ID for tree "Lines" # DefaultStepDefinitions.the_response_contains_indexInfoID(String) And the response should contain "Points" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "[ip]" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain index info ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexInfoID(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list local branches with verbose option': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list local branches # Branch.feature:69 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 "branch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "* master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch2" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a list of features in a path, using HEAD as origin # LsTree.feature:107 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 "ls-tree HEAD:Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should not contain "Lines.1" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Run ls-tree on an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a list from an empty directory # LsTree.feature:117 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "ls-tree" # 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 - 'I try to list the indexes without specifying a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Run ls-tree on an empty repository # LsTree.feature:123 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "ls-tree -r" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) Feature: "merge-base" command In order to know the common parent of 2 commits As a Geogig User I want to see the common ancestor of 2 commits before a merge [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to view the common parent of 2 commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list indexes in a specific feature type tree # ListIndexes.feature:22 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index create --tree Lines --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index list --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Lines" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "[sp]" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Points" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "[ip]" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain index info ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexInfoID(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list remote branches only': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list local branches with verbose option # Branch.feature:77 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 "branch -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "* master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull from origin after first pull': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to pull from origin # Pull.feature:11 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() When I run the command "pull origin --rebase" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit5" # 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|remoterepo|master~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|branch1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list the indexes, specifying a non-existent tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list the indexes without specifying a tree # ListIndexes.feature:36 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index list --tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Expected a value after parameter --tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to view the common parent with too many arguments': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to view the common parent of 2 commits # MergeBase.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "merge-base HEAD HEAD~2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And it should exit with zero exit code # DefaultStepDefinitions.it_should_exit_with_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list the indexes when there are none': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list the indexes, specifying a non-existent tree # ListIndexes.feature:44 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index list --tree fakeTree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list all branches': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull a certain depth from origin': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list remote branches only # Branch.feature:88 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() And I run the command "pull origin --rebase" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch -r" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "* master" # DefaultStepDefinitions.the_response_should_not_contain(String) Scenario: Try to pull from origin after first pull # Pull.feature:28 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() When I run the command "pull origin" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "pull origin" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "master already up to date." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list the indexes in an empty repository': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to view the parent using a bad left commit reference': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list the indexes when there are none # ListIndexes.feature:52 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 "index list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to view the common parent with too many arguments # MergeBase.feature:14 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "merge-base commit1 commit2 commit3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Two commit references must be provided" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to list the indexes in an empty repository # ListIndexes.feature:58 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "index list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "index rebuild" command In order to improve query performance on old commits As a Geogig User I want to build indexes on all commits in the history of a feature tree [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebuild an index': Using URIBuilder DefaultTestRepoURIBuilder [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Depth operations can only be used on a shallow clone. org.locationtech.geogig.cli.CommandFailedException: Depth operations can only be used on a shallow clone. at org.locationtech.geogig.cli.porcelain.Pull.runInternal(Pull.java:81) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Scenario: Try to pull a certain depth from origin # Pull.feature:36 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() When I run the command "pull origin --depth 3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Depth operations can only be used on a shallow clone." # DefaultStepDefinitions.the_response_should_contain(String) Feature: "push" command In order to share my changes with a remote repository As a Geogig User I want to push my commits to that remote [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to push from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a branch': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to push with no changes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list all branches # Branch.feature:97 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() And I run the command "pull origin --rebase" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "* master" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to push from an empty directory # Push.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "push origin" # 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) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to view the parent using a bad right commit reference': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to view the parent using a bad left commit reference # MergeBase.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "merge-base badCommit HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "badCommit does not resolve to any object" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebuild a nonexistent index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebuild an index # RebuildIndex.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "branch1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) When I run the command "index rebuild --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 trees were rebuilt." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a branch without specifying a name': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete a branch # Branch.feature:106 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 "branch --delete branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Deleted branch 'branch1'." # DefaultStepDefinitions.the_response_should_contain(String) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - A matching index could not be found. java.lang.IllegalStateException: A matching index could not be found. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.plumbing.index.BuildFullHistoryIndexOp._call(BuildFullHistoryIndexOp.java:78) at org.locationtech.geogig.plumbing.index.BuildFullHistoryIndexOp._call(BuildFullHistoryIndexOp.java:40) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.RebuildIndex.runInternal(RebuildIndex.java:47) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I rebuild the index for an attribute on a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to view the parent using a bad right commit reference # MergeBase.feature:28 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "merge-base HEAD badCommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "badCommit does not resolve to any object" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "rebuild-graph" command In order to fix a geogig repository As a Geogig User I want to rebuild the graph [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to push to origin': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the graph': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebuild a nonexistent index # RebuildIndex.feature:46 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 "index rebuild --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A matching index could not be found." # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to push with no changes # Push.feature:11 Given I clone a remote repository # DefaultStepDefinitions.i_clone_a_remote_repository() When I run the command "push" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Nothing to push." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete multiple branches': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete a branch without specifying a name # Branch.feature:112 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 "branch --delete" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "no name specified for deletion" # 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.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the graph with quiet argument': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to rebuild the graph # RebuildGraph.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And the repository has a truncated graph database # DefaultStepDefinitions.the_repository_has_a_truncated_graph_database() When I run the command "rebuild-graph" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The following graph elements (commits) were incomplete or missing and have been fixed:" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 4 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the index for a non-existent attribute on a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I rebuild the index for an attribute on a tree # RebuildIndex.feature:52 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "index create --tree Points --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "branch1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) When I run the command "index rebuild --tree Points -a pp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 trees were rebuilt." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch2:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to push a symbolic reference': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete the branch you are on': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to push to origin # Push.feature:16 Given I clone a remote repository # DefaultStepDefinitions.i_clone_a_remote_repository() When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "commit -m Commit6" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Committed, counting objects" # DefaultStepDefinitions.the_response_should_contain(String) And I run the command "push" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Applying changes of refs/heads/master" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the graph when it is not broken': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete multiple branches # Branch.feature:119 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 "branch --delete branch1 branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Deleted branch 'branch1'" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Deleted branch 'branch2'" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "branch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "* master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "branch1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "branch2" # DefaultStepDefinitions.the_response_should_not_contain(String) Scenario: I try to rebuild the graph with quiet argument # RebuildGraph.feature:14 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And the repository has a truncated graph database # DefaultStepDefinitions.the_repository_has_a_truncated_graph_database() When I run the command "rebuild-graph --quiet" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 graph elements (commits) were fixed." # DefaultStepDefinitions.the_response_should_contain(String) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - A matching index could not be found. java.lang.IllegalStateException: A matching index could not be found. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.plumbing.index.BuildFullHistoryIndexOp._call(BuildFullHistoryIndexOp.java:78) at org.locationtech.geogig.plumbing.index.BuildFullHistoryIndexOp._call(BuildFullHistoryIndexOp.java:40) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.RebuildIndex.runInternal(RebuildIndex.java:47) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the index for an attribute on a non-existent tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to rebuild the index for a non-existent attribute on a tree # RebuildIndex.feature:92 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 "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index rebuild --tree Points -a fakeAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A matching index could not be found." # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to rebuild the graph when it is not broken # RebuildGraph.feature:21 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 "rebuild-graph" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No missing or incomplete graph elements" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "rev-list" command In order to know the history of commits on a repository As a Geogig User I want to see a list of commits [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show only a range of commits.': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the index for a non-existent attribute and tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete the branch you are on # Branch.feature:130 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 branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --delete branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot delete the branch you are on" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: I try to rebuild the index for an attribute on a non-existent tree # RebuildIndex.feature:100 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 "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index rebuild --tree wrongTree -a pp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to push when the remote has changes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to push a symbolic reference # Push.feature:24 Given I clone a remote repository # DefaultStepDefinitions.i_clone_a_remote_repository() When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "commit -m Commit6" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Committed, counting objects" # DefaultStepDefinitions.the_response_should_contain(String) And I run the command "push origin HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Push failed: Cannot push to a symbolic reference" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a range of commits and provide additional commits.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show only a range of commits. # RevList.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 "rev-list HEAD~3..HEAD~1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain " Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit1" # DefaultStepDefinitions.the_response_should_not_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) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the index without specifying the tree param': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to rebuild the index for a non-existent attribute and tree # RebuildIndex.feature:108 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 "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index rebuild --tree fakeTree -a fakeAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch that you are on': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rename a branch # Branch.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 "branch --rename branch1 superAwesomeBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "renamed branch 'branch1' to 'superAwesomeBranch'" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "branch -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "* master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "superAwesomeBranch" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "branch1" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with a single commit.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a range of commits and provide additional commits. # RevList.feature:15 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 "rev-list HEAD~3..HEAD~1 HEAD~2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Only one value accepted when using .. syntax" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the index on an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to rebuild the index without specifying the tree param # RebuildIndex.feature:116 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 "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index rebuild" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The following option is required: --tree" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to push when the remote has changes # Push.feature:32 Given I clone a remote repository # DefaultStepDefinitions.i_clone_a_remote_repository() And the remote repository has changes # DefaultStepDefinitions.the_remote_repository_has_changes() And I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() When I run the command "commit -m modified" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 changed" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "push" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Push failed: The remote repository has changes" # DefaultStepDefinitions.the_response_should_contain(String) 30 Scenarios (30 passed) 205 Steps (205 passed) 0m33.679s Tests run: 235, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 34.605 sec - in org.locationtech.geogig.cli.test.functional.RunRemoteFunctionalTest Scenario: I try to rebuild the index on an empty repository # RebuildIndex.feature:124 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "index rebuild --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "index update" command In order to modify the extra attributes stored on index trees As a Geogig User I want to update an index to change the extra attributes [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to update an index': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with several commits.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with a single commit. # RevList.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 TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "rev-list HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "TestCommit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch that you are on to a name that already exists': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rename a branch that you are on # Branch.feature:149 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 branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --rename superAwesomeBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "renamed branch 'branch1' to 'superAwesomeBranch'" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "branch -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "* superAwesomeBranch" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "branch1" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of the commits that have changed the points feature': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with several commits. # RevList.feature:32 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 "rev-list HEAD" # 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) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to update a nonexistent index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to update an index # UpdateIndex.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 "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index update --tree Points --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch without being in a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rename a branch that you are on to a name that already exists # Branch.feature:161 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 branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --rename branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot rename branch to 'branch2' because a branch by that name already exists" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "branch --rename --force branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "renamed branch 'branch1' to 'branch2'" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "branch -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "* branch2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "branch1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch without specifying a name': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rename a branch without being in a repository # Branch.feature:176 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "branch --rename branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show only the last two commits.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of the commits that have changed the points feature # RevList.feature:41 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 "rev-list HEAD --path Points" # 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 "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|master~3}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to update an index with the full history': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to update a nonexistent index # UpdateIndex.feature:32 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 "index update --tree nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree 'nonexistent'" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch to the same name': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get commits list without starting commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rename a branch without specifying a name # Branch.feature:181 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 "branch --rename" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "You must specify a branch to rename." # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to show only the last two commits. # RevList.feature:51 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 "rev-list HEAD -n 2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain " Commit1" # DefaultStepDefinitions.the_response_should_not_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 variable "{@ObjectId|localrepo|master~2}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add attributes to an index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to update an index with the full history # UpdateIndex.feature:38 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 "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "branch2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) When I run the command "index update --tree Points --extra-attributes sp --index-history" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch2:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the log, skipping the last 2 commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rename a branch to the same name # Branch.feature:188 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() Scenario: Try to get commits list without starting commit # RevList.feature:61 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 "rev-list" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch --rename branch1 branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No starting commit provided" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "Done" # 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: "checkout" command In order to view an alternate version of the data As a Geogig User I want to be able to checkout out branches [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create a new branch and check it out': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to replace attributes of an index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add attributes to an index # UpdateIndex.feature:82 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index update --tree Points --extra-attributes sp --add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the list of commits, with the changes introduced by each one': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the log, skipping the last 2 commits # RevList.feature:68 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 "rev-list HEAD --skip 2" # 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 variable "{@ObjectId|localrepo|master~3}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout something while not in a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Create a new branch and check it out # Checkout.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 "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Created branch refs/heads/newBranch" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "checkout newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "# On branch newBranch" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout without specifying a path': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to checkout something while not in a repository # Checkout.feature:15 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "checkout noBranch" # 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() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout multiple things at once': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to update the bounds of an index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to checkout without specifying a path # Checkout.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "checkout" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "no branch or paths 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() Scenario: Try to replace attributes of an index # UpdateIndex.feature:108 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index update --tree Points --extra-attributes sp --overwrite" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout a branch that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the list of commits, with the changes introduced by each one # RevList.feature:79 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 "rev-list HEAD --changed" # 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 "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to show a log from an empty directory # RevList.feature:91 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "rev-list HEAD" # 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() Feature: "rev-parse" command As a Geogig User I want to determine if I am in a repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to print out the repository location"': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to checkout multiple things at once # Checkout.feature:27 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch noBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "checkout noBranch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "too many arguments" # 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.cli.test.functional.DefaultStepDefinitions - 'Try to make a change but don't commit and then checkout a different branch without forcing': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I check if I am in a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to checkout a branch that doesn't exist # Checkout.feature:35 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "checkout noBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "'noBranch' not found in 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() Scenario: I try to print out the repository location" # RevParse.feature:5 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "rev-parse --resolve-geogig-uri" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "localrepo" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to check if I'm in a repository when in an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to update the bounds of an index with incorrect bounds parameter': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I check if I am in a repository # RevParse.feature:10 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "rev-parse --is-inside-work-tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "true" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to update the bounds of an index # UpdateIndex.feature:134 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 "index create --tree Points --extra-attributes sp --bounds -45,-45,45,45" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-45,-45,45,45" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index update --tree Points --bounds -20,-45,20,45" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-20,-45,20,45" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to make a change but don't commit and then checkout a different branch with forcing': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to print the repository location when in an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to make a change but don't commit and then checkout a different branch without forcing # Checkout.feature:41 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Created branch refs/heads/newBranch" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "checkout newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I run the command "checkout master" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Working tree and index are not clean. To overwrite local changes, use the --force option" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: I try to check if I'm in a repository when in an empty directory # RevParse.feature:15 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "rev-parse --is-inside-work-tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to use a refspec with another argument': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to print the repository location when in an empty directory # RevParse.feature:20 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "rev-parse --resolve-geogig-uri" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to make a change to a feature and revert back to an old version using path filtering': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to make a change but don't commit and then checkout a different branch with forcing # Checkout.feature:53 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Created branch refs/heads/newBranch" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "checkout newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I run the command "checkout -f master" # DefaultStepDefinitions.I_run_the_command_X(String) And 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 "# On branch master" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to change existing attributes without specifying add or overwrite': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to update the bounds of an index with incorrect bounds parameter # UpdateIndex.feature:160 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 "index create --tree Points --extra-attributes sp --bounds -45,-45,45,45" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-45,-45,45,45" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index update --tree Points --bounds -20,-45,20" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Invalid bbox parameter: '-20,-45,20'. Expected format: " # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to use a refspec with a bad ref': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to use a refspec with another argument # RevParse.feature:25 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "rev-parse STAGE_HEAD/Points.1 --is-inside-work-tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "if refSpec is given" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get rid of changes that I have made with path filtering with multiple paths': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to make a change to a feature and revert back to an old version using path filtering # Checkout.feature:66 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I run the command "checkout -p Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) And 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) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Extra attributes already exist on index, specify add or overwrite to update. java.lang.IllegalStateException: Extra attributes already exist on index, specify add or overwrite to update. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:178) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:41) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.UpdateIndex.runInternal(UpdateIndex.java:77) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index without specifying a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to change existing attributes without specifying add or overwrite # UpdateIndex.feature:176 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Extra attributes already exist on index, specify add or overwrite to update." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to resolve the geogig uri when not in a repository': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to bring a feature from a different branch into this branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get rid of changes that I have made with path filtering with multiple paths # Checkout.feature:75 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit2" # DefaultStepDefinitions.I_run_the_command_X(String) And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I have unstaged "lines2" # DefaultStepDefinitions.I_have_unstaged(String) And I run the command "checkout -p Lines Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) And 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) Scenario: I try to use a refspec with a bad ref # RevParse.feature:31 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 "rev-parse bad_ref" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "fatal: ambiguous argument" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to resolve the geogig uri when not in a repository # RevParse.feature:37 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "rev-parse" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "show-ref" command In order to know the branches in a geogig repository As a Geogig User I want list all references [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'List all references': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index for a non-existent attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index without specifying a tree # UpdateIndex.feature:184 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The following option is required: --tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert using both --ours and --theirs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: List all references # ShowRef.feature:6 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 "show-ref" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|branch2}" # DefaultStepDefinitions.checkResponseTextContains(String) Feature: "verify-patch" command In order to ensure I have a valid patch As a Geogig User I want to verify the patch [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to verify a patch without specifying a file': Using URIBuilder DefaultTestRepoURIBuilder [main] ERROR org.locationtech.geogig.cli.GeogigCLI - A matching index could not be found. java.lang.IllegalStateException: A matching index could not be found. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:150) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:41) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.UpdateIndex.runInternal(UpdateIndex.java:77) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Scenario: Try to bring a feature from a different branch into this branch # Checkout.feature:87 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit2" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "points3" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit3" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch -c newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit4" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "lines2" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit5" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "lines3" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit6" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "checkout master" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "checkout newBranch -p Lines/Lines.1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "added" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "# Changes not staged for commit:" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index leaving the extra-attribute param empty': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index for a non-existent attribute # UpdateIndex.feature:192 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --attribute fakeAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A matching index could not be found." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert a feature where the version you want doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to verify multiple files': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert using both --ours and --theirs # Checkout.feature:109 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "checkout -p Points/Points.1 --ours --theirs" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot use both --ours and --theirs" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: I try to verify a patch without specifying a file # VerifyPatch.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "verify-patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No patch file specified" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to verify a patch with a bad file path': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to verify multiple files # VerifyPatch.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "verify-patch file1 file2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Only one single patch file accepted" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert an unmerged feature': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert a feature where the version you want doesn't exist # Checkout.feature:115 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) When I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I run the command "checkout -p Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "'Points/Points.1' didn't match a feature in the tree" # 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.cli.test.functional.DefaultStepDefinitions - 'I have a patch file that contains rejects': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to verify a patch with a bad file path # VerifyPatch.feature:16 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "verify-patch file1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch file cannot be found" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index for a non-existent extra-attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index leaving the extra-attribute param empty # UpdateIndex.feature:200 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Expected a value after parameter --extra-attributes" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I have a patch file that is valid': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I have a patch file that contains rejects # VerifyPatch.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "verify-patch ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch cannot be applied" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 10 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to overwrite a non-existent extra-attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I have a patch file that is valid # VerifyPatch.feature:28 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "verify-patch ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch can be applied" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "walk-graph" command In order to walk through objects in the history tree As a Geogig User I want to see the object information of each object in the tree [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to walk the graph with no arguments': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index for a non-existent extra-attribute # UpdateIndex.feature:208 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes fakeAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "FeatureType Points does not define attribute 'fakeAttrib'" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert a feature to the --theirs version and fix the conflict': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert an unmerged feature # Checkout.feature:123 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 "checkout -p Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "path Points/Points.1 is unmerged" # 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.cli.test.functional.DefaultStepDefinitions - 'I try to update the index for the full history when there is only one commit': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to walk the graph with bad arguments': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to overwrite a non-existent extra-attribute # UpdateIndex.feature:216 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes fakeAttrib --overwrite" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "FeatureType Points does not define attribute 'fakeAttrib'" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to walk the graph with no arguments # WalkGraph.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 "walk-graph" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Reference not provided" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index without updating anything': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index for the full history when there is only one commit # UpdateIndex.feature:224 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m "point1 added" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --index-history --overwrite" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout a remote branch': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to walk the graph': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert a feature to the --theirs version and fix the conflict # Checkout.feature:130 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 "checkout -p Points/Points.1 --theirs" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "commit -m Commit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Committed" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to walk the graph with bad arguments # WalkGraph.feature:12 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 "walk-graph garbage" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't resolve reference" # DefaultStepDefinitions.the_response_should_contain(String) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Nothing to update... java.lang.IllegalStateException: Nothing to update... at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:200) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:41) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.UpdateIndex.runInternal(UpdateIndex.java:77) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index with the same extra attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index without updating anything # UpdateIndex.feature:241 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Nothing to update..." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to walk the graph with verbose enabled': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to walk the graph # WalkGraph.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 "walk-graph master" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "TREE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "FEATURETYPE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "FEATURE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Points" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain 12 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Nothing to update... java.lang.IllegalStateException: Nothing to update... [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout a specific commit': Using URIBuilder DefaultTestRepoURIBuilder at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:200) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:41) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.UpdateIndex.runInternal(UpdateIndex.java:77) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index by adding the same extra attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to checkout a remote branch # Checkout.feature:138 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() When I run the command "pull origin" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "checkout branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Branch 'branch1' was set up to track remote branch 'branch1' from origin" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Switched to a new branch 'branch1'" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to update the index with the same extra attribute # UpdateIndex.feature:249 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 "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes ip --overwrite" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Nothing to update..." # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to walk the graph with verbose enabled # WalkGraph.feature:28 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 "walk-graph -v master" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "TREE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "FEATURETYPE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "FEATURE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 12 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) 66 Scenarios (66 passed) 408 Steps (408 passed) 0m44.458s Tests run: 474, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 45.579 sec - in org.locationtech.geogig.cli.test.functional.RunPlumbingFunctionalTest Scenario: Try to checkout a specific commit # Checkout.feature:145 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I create a detached branch # DefaultStepDefinitions.I_create_a_detached_branch() Then the response should contain "You are in 'detached HEAD' state" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "cherry-pick" command In order to select specific changes to bring to the current branch As a Geogig User I want to cherry pick several commits from other branches [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick several commits': Using URIBuilder DefaultTestRepoURIBuilder [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Nothing to update... java.lang.IllegalStateException: Nothing to update... at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:200) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:41) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.UpdateIndex.runInternal(UpdateIndex.java:77) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index in an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index by adding the same extra attribute # UpdateIndex.feature:257 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 "index create --tree Points --extra-attributes sp,ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes ip --add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Nothing to update..." # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to update the index in an empty repository # UpdateIndex.feature:265 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "index update --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree 'Points'" # DefaultStepDefinitions.the_response_should_contain(String) 57 Scenarios (57 passed) 496 Steps (496 passed) 0m44.983s Tests run: 553, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 46.258 sec - in org.locationtech.geogig.cli.test.functional.RunIndexFunctionalTest [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick a single commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to cherry pick several commits # CherryPick.feature:6 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 "cherry-pick branch1 branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Too many commits 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() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick a nonexistent branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to cherry pick a single commit # CherryPick.feature:13 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 "cherry-pick branch1" # 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 "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick without specifying any commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to cherry pick a nonexistent branch # CherryPick.feature:27 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 "cherry-pick nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit not found" # 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.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to cherry pick without specifying any commits # CherryPick.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 "cherry-pick" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No commits specified." # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick a commit that causes conflict': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to cherry pick from an empty directory # CherryPick.feature:40 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "cherry-pick 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() Scenario: Try to cherry pick a commit that causes conflict # CherryPick.feature:46 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 "cherry-pick branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then 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() Feature: "clean" command In order to remove unwanted changes As a Geogig User I want to remove all untracked features [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove all the untracked features': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove all the untracked features in a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove all the untracked features # Clean.feature:6 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 "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove all the untracked features in a tree that does not exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove all the untracked features in a tree # Clean.feature:15 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 "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean Points" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Removing Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) Then the response should contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove all the untracked features in a path that is not a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove all the untracked features in a tree that does not exist # Clean.feature:25 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 "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean fakeTree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "did not match any tree" # 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.cli.test.functional.DefaultStepDefinitions - 'Try to know which untracked features would be removed in a non-existent tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove all the untracked features in a path that is not a tree # Clean.feature:34 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 "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "did not resolve to a tree" # 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.cli.test.functional.DefaultStepDefinitions - 'Try to know which untracked features would be removed': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to know which untracked features would be removed in a non-existent tree # Clean.feature:43 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 "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean -n fake/tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "pathspec 'fake/tree' did not match any tree" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to know which untracked features would be removed # Clean.feature:51 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 "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean -n" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Would remove Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "commit" command In order to finalize a set of changes that have been staged As a Geogig User I want to create a commit and add it to the repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit with timestamp': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit with timestamp in millisecs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit with timestamp # Commit.feature:7 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -t 2010-04-22T19:53:23Z -m msg" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "log --utc" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2010-04-22" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit current staged features': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit with timestamp in millisecs # Commit.feature:15 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -t 1000000000 -m msg" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1970-01" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit current staged features using a message with blank spaces': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit current staged features # Commit.feature:23 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) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to perform multiple commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit current staged features using a message with blank spaces # Commit.feature:32 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 "A message with spaces"" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "A message with spaces" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit without providing a message': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to perform multiple commits # Commit.feature:42 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 "commit -m Test2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 changed" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit using a previous commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit without providing a message # Commit.feature:54 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" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No commit message provided" # 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 commit from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit using a previous commit # Commit.feature:63 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -c HEAD~1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "No commit message provided" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit when no changes have been made': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit from an empty directory # Commit.feature:70 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "commit -m Test" # 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 commit when there is a merge conflict': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit when no changes have been made # Commit.feature:76 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Nothing to commit" # 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 amend last commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit when there is a merge conflict # Commit.feature:82 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 "commit -m Message" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot run operation while merge or rebase conflicts exist" # 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.cli.test.functional.DefaultStepDefinitions - 'Try to amend last commit, when no previous commit has been made': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to amend last commit # Commit.feature:89 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit --amend" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features added" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit without message while solving a merge conflict': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to amend last commit, when no previous commit has been made # Commit.feature:99 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit --amend" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot amend" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit only points': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit without message while solving a merge conflict # Commit.feature:105 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 "checkout -p Points/Points.1 --theirs" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "commit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Merge branch refs/heads/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Conflicts:" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to commit only points # Commit.feature:115 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 "lines1" # DefaultStepDefinitions.I_have_unstaged(String) And I have staged "lines2" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features added" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) Feature: "config" command In order to configure geogig As a Geogig User I want to get and set global settings as well as repository settings on a directory of my choice [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to set a config value in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get a local config value in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set a config value in the current empty directory # Config.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "config testing.key value" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The config location is invalid" # 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 list local variables in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a local config value in the current empty directory # Config.feature:12 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "config --get --local testing.key" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "the config location is invalid" # 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 get a config value in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list local variables in the current empty directory # Config.feature:18 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "config --list --local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "the config location is invalid" # 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 set and get a global config value in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a config value in the current empty directory # Config.feature:24 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "config --get testing.key" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to set and get a config value in the current repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set and get a global config value in the current empty directory # Config.feature:29 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "config --global testing.global true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --get testing.global" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "true" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to set and get a multi-word config value in the current repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set and get a config value in the current repository # Config.feature:35 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "true" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "true" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get a config value that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set and get a multi-word config value in the current repository # Config.feature:43 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config testing.local test word" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "test word" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "test word" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get a config value without specifying key': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a config value that doesn't exist # Config.feature:51 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global --get doesnt.exist" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --get doesnt.exist" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local --get doesnt.exist" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get a config value using malformed key': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a config value without specifying key # Config.feature:60 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global --get" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No section or name was provided" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --get" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No section or name was provided" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local --get" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No section or name was provided" # 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 get a config value using the alternate syntax': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a config value using malformed key # Config.feature:70 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global --get test" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The section or key is invalid" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --get test" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The section or key is invalid" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local --get test" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The section or key is invalid" # 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 set, unset, and get a config value in the current repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a config value using the alternate syntax # Config.feature:80 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global section.key value1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global section.key" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "value1" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config section.key value2" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config section.key" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "value2" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local section.key" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "value2" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to set, unset, and get a config value globally': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set, unset, and get a config value in the current repository # Config.feature:91 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --local --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to unset a config value that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set, unset, and get a config value globally # Config.feature:102 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to unset and get in the same config command': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to unset a config value that doesn't exist # Config.feature:109 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --local --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Remove a section from the current repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to unset and get in the same config command # Config.feature:121 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --unset --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Tried to use more than one action at a time" # 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 - 'Remove a section globally': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Remove a section from the current repository # Config.feature:127 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config testing.local2 false" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --remove-section testing" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --get testing.local2" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove a section that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Remove a section globally # Config.feature:137 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global testing.local2 false" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --remove-section testing" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --global --get testing.local2" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Add 2 config values and list them': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove a section that doesn't exist # Config.feature:147 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --remove-section somerandomsection" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Could not find a section with the name provided" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --global --remove-section somerandomsection" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Could not find a section with the name provided" # 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 - 'Specify root URI and set a global config option': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Add 2 config values and list them # Config.feature:155 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config testing.local2 false" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "testing.local=true" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "testing.local2=false" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "config testing.local3 true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config testing.local4 false" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --list --local" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "testing.local=true" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "testing.local2=false" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "testing.local3=true" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "testing.local4=false" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a local config value when using a root URI': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Specify root URI and set a global config option # Config.feature:170 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --rootUri ${rootRepoURI} --global testing.global true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --rootUri ${rootRepoURI} --list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "testing.global=true" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "testing.local=true" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to use both global and local in the same config command': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a local config value when using a root URI # Config.feature:178 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --rootUri ${rootRepoURI} testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The config location is invalid" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to use the config command with no arguments': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to use both global and local in the same config command # Config.feature:183 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --local --global" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Usage:" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to use the config command with no arguments # Config.feature:188 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Usage:" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "conflicts" command In order to know which features are conflicted As a Geogig User I want to get a list of conflicted elements [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts showing diffs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list conflicts # Conflicts.feature:6 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 "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "conflicts" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Ancestor" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Ours" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "Theirs" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts showing only ids': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list conflicts showing diffs # Conflicts.feature:15 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 "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "conflicts --diff" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "StringProp1_1 -> StringProp1_2" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts showing only ids and diffs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list conflicts showing only ids # Conflicts.feature:22 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 "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "conflicts --ids-only" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts when no conflicts exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list conflicts showing only ids and diffs # Conflicts.feature:29 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 "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "conflicts --ids-only --diff" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot use --diff and --ids-only at the same time" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts showing only refspec': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list conflicts when no conflicts exist # Conflicts.feature:36 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "conflicts" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No elements need merging" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to list conflicts showing only refspec # Conflicts.feature:42 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 "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "conflicts --refspecs-only" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "diff" command In order to know changes made in a repository As a Geogig User I want to see the existing differences between commits [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, showing only summary': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index # Diff.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "[1.0,1.0] (1.0,2.0)" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "1000" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "1001" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "StringProp1_1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "StringProp1_1a" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, when no changes have been made': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, showing only summary # Diff.feature:18 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff --summary" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, for a single modified tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, when no changes have been made # Diff.feature:25 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "diff" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No differences found" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, for a single unmodified tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, for a single modified tree # Diff.feature:31 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff --path Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "[1.0,1.0] (1.0,2.0)" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "1000" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff using too many commit refspecs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, for a single unmodified tree # Diff.feature:40 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff --path Lines" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No differences found" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff using a wrong commit refspec': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff using too many commit refspecs # Diff.feature:47 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff commit1 commit2 commit3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit list is too long" # 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.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, for a single modified tree, showing only summary': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff using a wrong commit refspec # Diff.feature:55 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff wrongcommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Refspec wrongcommit does not resolve to a tree" # 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.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, for a single feature whose feature type has changed': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, for a single modified tree, showing only summary # Diff.feature:63 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff --path Points --summary" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "POINT (1 1)" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "1000" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index with bounds': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, for a single feature whose feature type has changed # Diff.feature:72 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I a featuretype is modified # DefaultStepDefinitions.I_modify_a_feature_type() When I run the command "diff --path Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "extra: [MISSING] -> " # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "ExtraString" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index with bounds': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index with bounds # Diff.feature:80 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "diff --bounds --crs EPSG:2163" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "right: 1.000000,1.000000,6.000000,6.000000" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "both: 1.000000,1.000000,6.000000,6.000000" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "CRS: EPSG:2163" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index with the count argument': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index with bounds # Diff.feature:88 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "diff --bounds --crs EPSG:71738191" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Unrecognized CRS: 'EPSG:71738191'" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Show diff between working tree and index with the count argument # Diff.feature:94 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "diff --count" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Features: added 6" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "format-patch" command In order to share a diff As a Geogig User I want to create a patch file [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to create a patch file': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to create a patch without specifying the file': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to create a patch file # FormatPatch.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "format-patch -f ${currentdir}/some_file" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should exit with zero exit code # DefaultStepDefinitions.it_should_exit_with_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to create a patch when there are no changes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to create a patch without specifying the file # FormatPatch.feature:13 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "format-patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch file not specified" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to create a patch with too many commit arguments': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to create a patch when there are no changes # FormatPatch.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 "format-patch -f ${currentdir}/some_file" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No differences found" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to create a patch between working tree and index, for a single modified tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to create a patch with too many commit arguments # FormatPatch.feature:26 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 "format-patch commit1 commit2 commit3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit list is too long" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to create a patch between working tree and index, for a single modified tree # FormatPatch.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "format-patch --path Points -f ${currentdir}/some_file" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should exit with zero exit code # DefaultStepDefinitions.it_should_exit_with_zero_exit_code() Feature: "init" command In order to start versioning my spatial datasets As a repository Owner I want to create a new repository on a directory of my choice [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create repository in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create repository specifying initial configuration': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Create repository in the current empty directory # Init.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "init" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Initialized empty Geogig repository in ${currentdir}/.geogig" # DefaultStepDefinitions.it_should_answer_exactly(String) And the repository shall exist # DefaultStepDefinitions.the_repository_shall_exist() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create repository specifying the target directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Create repository specifying initial configuration # Init.feature:12 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "init --config foo.bar=baz" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository shall exist # DefaultStepDefinitions.the_repository_shall_exist() When I run the command "config foo.bar" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "baz" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to init a repository when already inside a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Create repository specifying the target directory # Init.feature:19 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "init roads" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Initialized empty Geogig repository in ${currentdir}/roads/.geogig" # DefaultStepDefinitions.it_should_answer_exactly(String) And if I change to the respository subdirectory "roads" # DefaultStepDefinitions.if_I_change_to_the_respository_subdirectory(String) Then the repository shall exist # DefaultStepDefinitions.the_repository_shall_exist() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to init a repository from inside a repository subdirectory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to init a repository when already inside a repository # Init.feature:26 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "init" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Reinitialized existing Geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And the repository shall exist # DefaultStepDefinitions.the_repository_shall_exist() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Init specifying repo URI': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to init a repository from inside a repository subdirectory # Init.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I am inside a repository subdirectory "topp/shapes" # DefaultStepDefinitions.I_am_inside_a_repository_subdirectory(String) When I run the command "init" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Reinitialized existing Geogig repository in" # DefaultStepDefinitions.the_response_should_start_with(String) And the repository shall exist # DefaultStepDefinitions.the_repository_shall_exist() Scenario: Init specifying repo URI # Init.feature:39 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "init ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository at "${repoURI}" shall exist # DefaultStepDefinitions.the_repository_at_shall_exist(String) Feature: "log" command In order to know the history of commits on a repository As a Geogig User I want to log them to the console [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a empty repository': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with a single commit.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a empty repository # Log.feature:5 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No commits to show" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with several commits.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with a single commit. # Log.feature:10 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 TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: TestCommit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of the commits that have changed the points feature': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with several commits. # Log.feature:21 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 "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 variable "{@ObjectId|localrepo|HEAD~3}" # DefaultStepDefinitions.checkResponseTextContains(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 variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of the commits that have changed the lines feature': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of the commits that have changed the points feature # Log.feature:32 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 "log --path Points" # 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: Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~3}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of the commits that have changed the points and lines features': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of the commits that have changed the lines feature # Log.feature:42 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 "log --path Lines" # DefaultStepDefinitions.I_run_the_command_X(String) Then 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|HEAD~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show only the last two commits.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of the commits that have changed the points and lines features # Log.feature:51 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 "log --path Points Lines" # 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 variable "{@ObjectId|localrepo|HEAD~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~3}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the log, skipping the last 2 commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show only the last two commits. # Log.feature:62 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 "log -n 2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(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 variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the last 2 commits before the most recent': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the log, skipping the last 2 commits # Log.feature:73 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 "log --skip 2" # 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 not contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~3}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain variable "{ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the last 2 commits before the most recent # Log.feature:84 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 "log -n 2 --skip 1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|HEAD~3}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of all branches': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log from an empty directory # Log.feature:97 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "log" # 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 show a log of a single branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of all branches # Log.feature:103 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 "log --all" # 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 "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|branch2}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of all branches specifying the 'until' commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a single branch # Log.feature:116 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 "log --branch branch1" # 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 variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit5" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of all branches with decoration': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of all branches specifying the 'until' commit # Log.feature:127 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 "log --all HEAD..HEAD~1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot specify 'until' commit when listing all branches" # 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.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with a single commit.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of all branches with decoration # Log.feature:134 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 "log --all --decoration" # 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 "Commit5" # 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|branch2}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextContains(String) Then the response should contain "HEAD" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "master" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with a single commit and decoration': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with a single commit. # Log.feature:149 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 TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log --oneline" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "TestCommit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository showing only names of affected elements': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with a single commit and decoration # Log.feature:161 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 TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log --oneline --decoration" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "(HEAD, refs/heads/master) TestCommit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository showing full descriptions of affected elements': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository showing only names of affected elements # Log.feature:173 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(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 run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "log --names-only" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 13 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository showing stats of affected elements': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository showing full descriptions of affected elements # Log.feature:187 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(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 run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "log --summary" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 24 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository showing a specific author': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository showing stats of affected elements # Log.feature:198 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 "log --stats" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain 23 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository showing a specific comitter': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository showing a specific author # Log.feature:205 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a local committer # DefaultStepDefinitions.I_have_a_local_committer() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "log --author "Jane Doe"" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "JaneDoe@example.com" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository since yesterday': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository showing a specific comitter # Log.feature:212 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a local committer # DefaultStepDefinitions.I_have_a_local_committer() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "log --committer "Jane Doe"" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "JaneDoe@example.com" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository until now': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository since yesterday # Log.feature:219 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 "log --since yesterday" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 19 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of all branches specifying an until date': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository until now # Log.feature:225 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 "log --until "0.seconds.ago"" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 19 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) Scenario: Try to show a log of all branches specifying an until date # Log.feature:231 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 "log --all --until today" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot specify 'until' commit when listing all branches" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "ls" command In order to explore the contents of a tree As a Geogig User I want to display information about it [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list contents in an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list and empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list contents in an empty directory # Ls.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "ls" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list and repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list and empty repository # Ls.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "ls" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The working tree is empty" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to show a recursive list in a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list and repository # Ls.feature:16 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 "ls" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Root tree/" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points/" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines/" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to show only the tree not the children': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to show a recursive list in a repository # Ls.feature:24 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 "ls -r" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to show a verbose list of a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to show only the tree not the children # Ls.feature:31 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 "ls -d" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to show a list with seven digit IDs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to show a verbose list of a tree # Ls.feature:37 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 "ls -v Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.3" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to show a list with seven digit IDs # Ls.feature:46 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 "ls -v -r -t -a 5" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 9 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "Points.3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines.3" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "merge" command In order to combine two or more geogig histories into one As a Geogig User I want to merge one or more commit histories into my current branch [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge one branch to a parent branch': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge the same branch twice': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge one branch to a parent branch # Merge.feature:6 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 "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log --first-parent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "MergeMessage" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit4" # 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 not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|branch1~1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should not contain variable "{@ObjectId|localrepo|branch2}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge without specifying any commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge the same branch twice # Merge.feature:23 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 "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "merge branch1 -m MergeMessage2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The branch has already been merged." # 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.cli.test.functional.DefaultStepDefinitions - 'Try to merge a nonexistent branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge without specifying any commits # Merge.feature:32 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 "merge -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No commits provided to merge." # 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 merge from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge a nonexistent branch # Merge.feature:39 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 "merge nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Commit not found" # 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 merge two conflicting branches': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge from an empty directory # Merge.feature:46 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "merge 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() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to perform an octopus merge with conflicts': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge two conflicting branches # Merge.feature:52 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 "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "CONFLICT: Merge 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() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to perform an octopus merge': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to perform an octopus merge with conflicts # Merge.feature:59 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 "merge branch1 branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot merge more than two commits when conflicts exist" # 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.cli.test.functional.DefaultStepDefinitions - 'Try to merge two conflicting branches using --ours strategy': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to perform an octopus merge # Merge.feature:66 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 "merge branch1 branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Merge branch refs/heads/branch1" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "Merge branch refs/heads/branch2" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge two conflicting branches using --ours and --theirs strategy': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge two conflicting branches using --ours strategy # Merge.feature:73 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 "merge branch1 --ours" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Merge branch refs/heads/branch1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge two conflicting branches using --theirs strategy': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge two conflicting branches using --ours and --theirs strategy # Merge.feature:79 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 "merge branch1 --ours --theirs" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot use both --ours and --theirs" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to abort a conflicted merge': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge two conflicting branches using --theirs strategy # Merge.feature:85 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 "merge branch1 --theirs" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Merge branch refs/heads/branch1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to abort when there is no conflict': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to abort a conflicted merge # Merge.feature:91 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 "merge branch1 --abort" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Merge aborted successfully" # DefaultStepDefinitions.the_response_should_contain(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) Scenario: Try to abort when there is no conflict # Merge.feature:99 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "merge --abort" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "There is no merge to 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: "rebase" command In order to linearize the geogig history As a Geogig User I want to rebase my local commits onto an existing branch [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase one branch to a parent branch': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase one branch to a parent branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase one branch to a parent branch # Rebase.feature:6 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" # 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 variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|branch2}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to graft a branch onto another branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase one branch to a parent branch # Rebase.feature:20 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 --squash squashmessage" # 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 not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|branch2}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain "squashmessage" # DefaultStepDefinitions.the_response_should_contain(String) [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() [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) [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) [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) [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() [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() 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: "remote" command In order to track changes from other repositories As a Geogig User I want to add and remove remotes for the current repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add and list remote from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add and list a remote to the current repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add and list remote from an empty directory # Remote.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add several remotes and list them': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add and list a remote to the current repository # Remote.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote list" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "myremote" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a remote that already exists': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add several remotes and list them # Remote.feature:17 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote add myremote2 http://myremote2.org" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "myremote" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "myremote2" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a remote and list with verbose mode': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a remote that already exists # Remote.feature:25 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote add myremote http://myremote2.org" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Could not add, a remote called 'myremote' already exists." # 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 add a remote that tracks a specific branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a remote and list with verbose mode # Remote.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote list -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "myremote http://myremote.com (fetch)" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "myremote http://myremote.com (push)" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a remote that tracks all branches': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a remote that tracks a specific branch # Remote.feature:39 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add -t branch myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config remote.myremote.fetch" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "+refs/heads/branch:refs/remotes/myremote/branch" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add, remove, and list a remote': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a remote that tracks all branches # Remote.feature:45 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config remote.myremote.fetch" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "+refs/heads/*:refs/remotes/myremote/*" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove a remote from an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add, remove, and list a remote # Remote.feature:51 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote rm myremote" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote list" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove a remote that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove a remote from an empty repository # Remote.feature:58 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "remote rm myremote" # 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() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list remotes from an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove a remote that doesn't exist # Remote.feature:64 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote rm myremote" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Could not find a remote called 'myremote'." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to list remotes from an empty repository # Remote.feature:70 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "remote list" # 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() 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 [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) [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) [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) [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() [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() 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 [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) [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) [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) [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) [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() [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() [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) [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) [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) [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) [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() 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 [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() [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.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) [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.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) [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.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.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) 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 [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) [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) [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) [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) [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) [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) [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) 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) [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) [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) 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() [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) [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) [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) [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) [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) [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) [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) [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) [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) [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) [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() 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 [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) [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) [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) [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) [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() [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() [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() [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() 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 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) 277 Scenarios (277 passed) 1832 Steps (1832 passed) 2m29.947s Tests run: 2109, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 152.336 sec - in org.locationtech.geogig.cli.test.functional.RunPorcelainFunctionalTest Results : Tests run: 3414, Failures: 0, Errors: 0, Skipped: 0 [JENKINS] Recording test results [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ geogig-cli --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target/geogig-cli-1.2-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ geogig-cli --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target/geogig-cli-1.2-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ geogig-cli >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-cli --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ geogig-cli <<< [INFO] [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ geogig-cli --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target/geogig-cli-1.2-SNAPSHOT-sources.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ geogig-cli >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-cli --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ geogig-cli <<< [INFO] [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ geogig-cli --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target/geogig-cli-1.2-SNAPSHOT-test-sources.jar [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig-cli --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target/geogig-cli-1.2-SNAPSHOT.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/.repository/org/locationtech/geogig/geogig-cli/1.2-SNAPSHOT/geogig-cli-1.2-SNAPSHOT.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/.repository/org/locationtech/geogig/geogig-cli/1.2-SNAPSHOT/geogig-cli-1.2-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target/geogig-cli-1.2-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/.repository/org/locationtech/geogig/geogig-cli/1.2-SNAPSHOT/geogig-cli-1.2-SNAPSHOT-tests.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target/geogig-cli-1.2-SNAPSHOT-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/.repository/org/locationtech/geogig/geogig-cli/1.2-SNAPSHOT/geogig-cli-1.2-SNAPSHOT-sources.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/src/cli/target/geogig-cli-1.2-SNAPSHOT-test-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.2.x/workspace/.repository/org/locationtech/geogig/geogig-cli/1.2-SNAPSHOT/geogig-cli-1.2-SNAPSHOT-test-sources.jar [JENKINS] Archiving disabled