We have a developer machine where tested are being created and executed first.
Then these tests are being pushed to Bitbucket.
From Bitbucket we pull these changes (commits) to another machine where the tested get executed daily.
Expected behavior: users should be able to execute the same test suites at different times and orders on several machines and still be able to commit > push >pull the code successfully.
Actual behavior: once tests are executed separately on a remote machine > it creates a different time stamp in the test suite ’ .ts’ file and this and may be also something else cause the ‘non-fast-forward’ error in Git when pushing the code.
Steps to reproduce:
On 1 machine: create a set of test cases and create a test suite for them
Run the test suite on the machine 1
Do the first commit or commit the changes to Git
On the machine 2 > clone the project from Git
On the machine 2 remove some test cases from the test suite
On the machine 2 save changes > run the test suite > commit changes to the same remote branch in Git
On the machine 1 > modify the test suite > run the modified test suite > commit and push changes to the same remote branch
On the machine 2 > pull changes committed from machine 2
make sure everything works well and no conflicts are being created
We have a developer machine where tested are being created and executed first.
Then these tests are being pushed to Bitbucket.
From Bitbucket we pull these changes (commits) to another machine where the tested get executed daily.
Expected behavior: users should be able to execute the same test suites at different times and orders on several machines and still be able to commit > push >pull the code successfully.
Actual behavior: once tests are executed separately on a remote machine > it creates a different time stamp in the test suite ’ .ts’ file and this and may be also something else cause the ‘non-fast-forward’ error in Git when pushing the code.
Steps to reproduce:
On 1 machine: create a set of test cases and create a test suite for them
Run the test suite on the machine 1
Do the first commit or commit the changes to Git
On the machine 2 > clone the project from Git
On the machine 2 remove some test cases from the test suite
On the machine 2 save changes > run the test suite > commit changes to the same remote branch in Git
On the machine 1 > modify the test suite > run the modified test suite > commit and push changes to the same remote branch
On the machine 2 > pull changes committed from machine 2
make sure everything works well and no conflicts are being created
This issue can only be resolved by how you configure Git repository itself. When you execute a test suite, ‘Last Run’ value of that test suite will always be modified to map with the time you publish execution command. Therefore current local Git repository will detect modified timestamp in .ts file as local changes and will have a high chance of conflicting upon pull or push flow.
Katalon Studio does necessary changes to its local files after execution. Any conflicts or ‘non-fast-forward’ errors come later as part of integration to Git repository needs to be resolved by how your team configures Git repository:
____________________
Thank you for choosing Katalon Studio as your automation solution.
Your feedback is needed to make Katalon Studio a better tool, take the survey at: https://goo.gl/S25NVO
we tried fetching, pulling, pushing, configuring the gitignore file but nothing helps. Every time we run test suites on different machines and commit changes (or pulling changes submitted earlier) we get either conflicts or non-fast-forward messages.
Is there a specific way to configure properly git that you could suggest ? We ran out of ideas.
1. Create/Open gitattributes file:
/.gitattributes (will be committed into repo)
OR
/.git/info/attributes (won’t be committed into repo)
2. Add a line defining the files to be filtered:
*.ts filter=gitignore, i.e. run filter named gitignore on all *.rb files
Define the gitignore filter in your gitconfig:
3. After the final step, your gitignore filter will look like:
$ git config --global filter.gitignore.clean "sed ‘//g’ ", i.e. delete these lines
$ git config --global filter.gitignore.smudge cat, i.e. do nothing when pulling file from repo
Thanks
____________________
Thank you for choosing Katalon Studio as your automation solution.
Your feedback is needed to make Katalon Studio a better tool, take the survey at: https://goo.gl/S25NVO