How to get your Awesome Dev workspace for Orchard CMS up and running 101

After watching twitter for the last couple of days, and with the additional of a couple other comments, I have decided to write this post.

What does this post assume… 2 things, You have Mercurial (+ Tortoise HG (Download Here)) and Visual Studio 2010.

Lets get going.

  1. Create a new folder structure that resembles this.. D:\BlogPosts\Orchard

  2. Right click on the Orchard Folder navigate via the sub menus to TortoiseHg –> Clone..

  3. Details are..

    Source: https://hg01.codeplex.com/orchard

    Destination: D:\BlogPosts\Orchard

    Hit Clone (This will take a while so make a cup of tea :))

  4. Navigate to D:\BlogPosts\Orchard\src\ and open up Orchard.sln in Visual Studio

  5. Hit F5 in Visual Studio

  6. Welcome to Orchard.

Time to create your own area to allow easy maintenance.

  1. Copy and paste Orchard.sln – rename Copy of Orchard.sln to MyNewAwesomeOrchardInstance.sln – Why do this? Its important to allow you to decrease merge pain from the main repo further down the line.

  2. Check in to your new repo thru the Tortoise Workbench - Always use your new solution.

3 Comments

  • TheMonarch said

    I haven't used distributed source control like Mercurial before. Why is necessary to check in your repo into Mercurial? Are you assuming we want to modify the Orchard source, or just assuming that we want to use Mercurial for our own Orchard modules?

  • Piotr Szmyd said

    @TheMonarch Commit (which Nick meant) and Push are two separate things in Mercurial.

    Basically if you clone an external repository you simply create your own copy and it's a full-featured Mercurial repository. You can work on it locally and commit any changes to it (to track changesets) without doing a Push.

    Push operation is what sends changes to external repo (like the Orchard one) and one needs to have appropriate permissions to do so.

    So Mercurial "Commit+Push" is what "Check-in" in TFS (or Commit in SVN) means. Commit itself touches the local repo only.

  • Michael Artz said

    Can you expand on just what the following sentence means...by way of an example perhaps? " Copy and paste Orchard.sln – rename Copy of Orchard.sln to MyNewAwesomeOrchardInstance.sln – Why do this? Its important to allow you to decrease merge pain from the main repo further down the line"

Leave a Comment

Yay! You've decided to leave a comment. That's fantastic! Please keep in mind that comments are moderated and rel="nofollow" is in use. So, please do not use a spammy keyword or a domain as your name, or it will be deleted. Let's have a personal and meaningful conversation instead. Thanks for dropping by!