mojoPortal source code is now hosted in a Mercurial repository at Codeplex. To use the mojoPortal source code you need Visual Studio 2010 or the free Visual Web Developer Express 2010 but there are occasionally issues reported by users of the free Express product, it is much better if you have Visual Studio 2010. If you don't have Visual Studio 2010, you may qualify to get it free via the Web Site Spark Program.
Getting The Current Code - Initial Checkout/Cloning of The Repository
- Install TortoiseHG from http://tortoisehg.bitbucket.org/
- Create a folder where you want to put the code
- Right Click the folder and choose TortoiseHG > Clone
- use https://hg.codeplex.com/mojoportal
- after the files have all been created read the README.VisualStudio.txt file
After you have done an initial clone, you may want to get updates periodically because the source code is always changing since we are working actively on this project, you can get updates to the source code as follows:
- Right click the folder where you cloned and choose HG Repository Explorer
- In Repository Explorer (Tortoise HG Workbench) click the toolbar icon to "Pull incoming changes" (if you mouse over the buttons you will see the tool tip). It is the 4th toolbar item from the left (the down arrow with a line under it)
Update in Tortoise HG 2.x Repository Explorer has been renamed to TortoiseHG Workbench and the pull and push icons have changed.
- Close Repository Explorer (Tortoise HG Workbench)
- Right click the folder where you cloned again, and this time choose TortoiseHG > Update, this will apply all the changes you pulled down to your working copy of the code. Always update to the default branch.
- After getting the latest code you should always rebuild the solution in Visual Studio and then visit the /Setup/Default.aspx page to run any new scripts that may have come down with the code.
You can also use Repository Explorer to review comments for all change sets pulled down to your copy of the repository.
You can find out when new code is available on the server by viewing this page on Codeplex, you can also subscribe to this RSS feed using Google Reader or any Feed reader to get updates on new code that has been pushed to the server.
The source code in the repository is intended to be stable but it is also the latest code so there may be rare occasions where there is a bug with the latest code, however if you find and report a bug using the latest code from the repository, it will typically be fixed within hours of reporting it and then you can get the updates easily.
Most people have no trouble cloning the repository but occasionally people report problems. If you have trouble cloning the repository these tips may help you.
- disable any anti virus
- disable windows indexing service
- defragment your hard drive
- try using a wired connection if you are wireless
- try cloning during off peak hours, avoid rush hour traffic
- try cloning to revision 0 then pull all change sets and then update
Differences between our new Mecurial (aka HG) Repository and our previous Subversion (aka svn) Repository
Whereas when we were using TortoiseSVN/svn, we had the concept of "trunk" which was the main branch, in Mercurial this is just called the default branch which is what you get when you clone the repository.
Whereas Subversion was a centralized repository, Mercurial is a distributed repository, this blog post about Distributed Source Control vs Centralized Source Control (especially the comments) provides a lot of insights. When you clone a repository your local copy is a full blown repository of its own. You could even add your custom projects and commit them to your local copy of the repository and use it to track changes in your own files so you can revert to previous versions and keep logs of changes in your development of custom features. The repository on the server is still the central authoritative repository but you have all the repository functionality on your local copy. If you do use the local repository for your own code you should have some kind of file backup strategy since your code is not backed up on the server like the main repository.
Last Updated by Joe Audette 2011-08-01