/wiki/spaces/SC/pages/51643422
This page will show you how to get set up with eWater Source's code. We use Mercurial (also called Hg) for source code version controlgit for version control of source code and project files. It is hosted by BitBucket for Source Members members to share plugins, source project files, and get access to the source code.
...
- Create a BitBucket account (https://bitbucket.org/)
- Fill out the TIME Source Code Licence Agreement and email it to Geoff Davis
- After we receive your completed Licence Agreement we will send you a BitBucket invitation – click on the link in the invitation and log in after creating an account
- Install SourceTree (See: Sg (Source Get)
- Install Visual Studio 2022
- .net framework 4.8 SDK https://wwwdotnet.sourcetreeappmicrosoft.com/)
- Restart your computer
- See: Sg (Source Get)/en-us/download/dotnet-framework/net48
- .net 5.0.401 sdk https://dotnet.microsoft.com/en-us/download/dotnet/5.0
- Main Solution file to be opened with Visual Studio is RiverSystem\Solutions\Source.sln
Note: Please don’t include special characters into your username or password (particularly ‘:’, ‘/’, ‘\’, ‘.’ or ‘@’).
Mercurial Home Pagegit home page: httphttps://mercurial.selenicgit-scm.com/Quick Start guide
quick start videos available: httphttps://mercurial.selenicgit-scm.com/learn/
Detailed description of Mercurial (also called Hg): httpvideos
visual cheatsheet available: https://hginitndpsoftware.com/git-cheatsheet.html
The main change from Subversion is that everyone has the entire repository on their machine. This means an Update in subversion becomes a two-step process:
- PullFetch changes from the central repository to your local repository
- UpdatePull your local code to the latest version on your local repository
You can Pull then Update all Fetch then Checkout all of the repositories using hgall.bat:sg.exe:
Using Powershell or Command Prompt: you will need to include a .\ infront of sg.exe
Using Git Bash: you will need a ./ infront of sg.exe
Note: if you add sg.exe to your path - you can call sg without a ./ or .\ infront. But this will require administrator privileges to do so.
This also means the process for making changes requires a two-step process to make changes to the central repository. The general process will be:
- Commit changes into your local repository
- Pull / Rebase changes from the server
- Merge the changes into your repository
- Push the changes back to the server.
...
Changes for the core repositories are made by doing a Pull Request. Details of how to do a Pull Request can be found here: Fork a Repo, Compare Code and Create a Pull Request
Download Video: Hg Demonstration Video.mp4
Troubleshooting
Issue: hg update fails complaining about uncommitted changes.
Answer: You may need to either Revert these changes (getting rid of them), or Commit the changes to your local repository before you can update. For more advanced users it is possible to Shelve the changes.
Issue: hg times out while pulling.
Answer: try with a small repository first. If the issue persists it could mean that you need to configure hg to understand your proxy.
In this case you will need to go to the .hg\hgrc file in each repository and add to the end the lines
[http_proxy]
host =proxyname:port
Compiling
To compile you will need Visual Studio 2017 with the .net 4.7.2 SDK.
Main Solution file to be opened with Visual Studio is RiverSystem\Solutions\Source.sln
To clear dll's you use RiverSystem\Build\RepositoryScripts\ClearAll.bat