![]() In reality, this is the desired behavior, it's just not immediately intuitive if you're not expecting it. It doesn't actually refresh the submodule from it's remote branch, it only refreshes it to whatever level is currently checked into the main repo remote which is not always the latest. Pulling or Fetching the parent repo can be a little confusing, though. When you commit code to a repo using Tortoise, it notices when a submodule is dirty and will prompt you to check-in the submodule before checking in the parent repo. I usually use commands to add the submodules, but I suspect Tortoise's add submodule functionality works just fine, too. Tortoise seems to provide the easiest and most performant experience when pushing, pulling, and checking in to repos containing submodules. I have tried a number of standalone Git Tools to find the easiest way to manage an environment like this. I would assume that this is fixed in on-prem TFS 2017, as well.Īs was mentioned, Visual Studio itself (the IDE) does still have a hard time understanding submodule relationships. For this reason (among a few others), we are now using VSTS (TFS Online) for everything and have had none of those same types of problems. TFS Build's references to the submodules have a habit of becoming corrupted resulting in builds that stop working without warning until whichever submodule is at fault is completely removed and re-added - not a fun process. ![]() Support in on-prem TFS 2015 can be a bit buggy, however. Visual Studio Team Services (TFS Online) and On Prem-TFS (since TFS2015) both now have a good understanding of how submodules work and can now do CI Builds that incorporate submodules right out of the box. Much has changed at Microsoft in relation to Git in the last few years. We have made extensive use of nuget packages for this purpose, as well, but have generally had better success and a much better design/debug experience with submodules. ![]() This is helpful since many of our projects can be very large in size and share many of the same chunks of code. We then add each one of those projects as a submodule to any Solution that needs them. We have found that the easiest way for us to do this is to move each of our shared units of code into their own Visual Studio Project and put each shared Visual Studio project in its own repo. If I'm in one of the non-shared solutions and make a change to something in the submodule, how do I commit and push it back to the shared solution's repo ( SolutionShared) so that it's available to all solutions that reference it? How do I make changes to the shared code from within the non-shared projects Do I simply add its two child projects ( Project1Shared and Project2Shared) in Visual Studio?Ģ. My two solutions now have a SolutionShared directory. I then used TortoiseGit (as I couldn't figure out how to do it Visual Studio) to add that shared repo as a git submodule to Solution1 and Solution2. What I did was to create a new solution SolutionShared, add all my shared code there, and add it to its own git repo. Most examples use the command line, but I want to do it using Visual Studio 2013 (and/or TortoiseGit)? - SolutionShared Open Terminal, then go to the Keywords folder in the test project directory.I have some shared code I want to share among a number of solutions. Therefore, we want to add the custom keyword package to the Keywords folder as a Git submodule. Katalon Studio stores test keywords in the Keywords folder. The content of the custom keyword package on GitHub is as follows: The structure of our test project repository is as follows: A custom keyword repository hosted on GitHub.Lets see how to work with Submodules in practice. from inside it like with any other repository. A Submodule remains a fully functional Git repository: you can modify files, commit, pull, push, etc. To configure Git integration in a project, refer to this guide: Git Integration. In the common case of including a code library, you can simply add the library as a Submodule in your main project. A Katalon Studio project configured as a Git repository.An active Katalon Studio Enterprise license.You can download the sample project here on our GitHub repository: Healthcare Tests. In our example, we cover common tasks such as adding, updating, and removing a custom keyword package as a submodule in a test project. ![]() This tutorial shows you how to use the Git submodule feature to incorporate test artifacts from an external resource, such as Test Cases, Test Objects, Profiles, and Keywords. To learn more about Git submodules, you can refer to the official Git documentation: Git Tools - Submodules. Git submodules enable you to incorporate and track the version history of external resources. To maintain and update shared resources easily, you can also integrate them as Git submodules. You can manually share test artifacts with the Test Artifacts Sharing feature provided by Katalon Studio. While working on a Katalon Studio project, you might want to use test artifacts from external resources. Using Git Submodules to share Test Artifacts in Katalon Studio
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |