Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Removed/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.

...

  1. Create a BitBucket account (https://bitbucket.org/)
  2. Fill out the TIME Source Code Licence Agreement and email it to Geoff Davis
  3. 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
  4. Install SourceTree (See: Sg (Source Get)
  5. Install Visual Studio 2022
  6. .net framework 4.8 SDK https://wwwdotnet.sourcetreeappmicrosoft.com/)
  7. Restart your computer
  8. See: Sg (Source Get)/en-us/download/dotnet-framework/net48
  9. .net 5.0.401 sdk https://dotnet.microsoft.com/en-us/download/dotnet/5.0
  10. 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 pagehttphttps://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:

  1. PullFetch changes from the central repository to your local repository
  2. UpdatePull your local code to the latest version on your local repository


Image RemovedImage Added


You can Pull then Update all Fetch then Checkout all of the repositories using hgall.bat:Image Removedsg.exe:

Using Powershell or Command Prompt: you will need to include a .\ infront of sg.exe

Image Added

Image Added


Image Added

Using Git Bash: you will need a ./ infront of sg.exe

Image Added


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:

  1. Commit changes into your local repository
  2. Pull / Rebase changes from the server
  3. Merge the changes into your repository
  4. 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