[[Home|» Project Kenai Documentation and Training]] [[Howdoi|» How Do I ...]] [[SourceControl#About_Mercurial|» Source Code Management]] ==Using Mercurial on Microsoft Windows Systems== Once you have a <a href="SourceControl#About_Mercurial">Mercurial client</a> installed on your local system, you can check out code and check it back into your project repository. The following instructions for command-line Mercurial should get you started. For full instructions on using Mercurial, see [http://hgbook.red-bean.com/]. Because of the better security and better handling of large files, it's best to use the SSH protocol to check files into your project repository. This page assumes you have set up an SSH key and you've configured Mercurial to use plink to manage the key, as described on the following two pages: * [[Winsshwithputty|Generating and Using an SSH Key on a Microsoft Windows Machine]] * [[Usinghg-winsshsetup|Setting Up Mercurial to Use SSH on a Microsoft Windows Machine]] # To initially set up your kenai.com repository, you need to know the name of the project and the name of the source repository. For example, for a project named <tt>bluebird</tt> with a Mercurial repository named <tt>bluebird~mercurial-code-repository</tt>, the default read-write URL would be:<br/><tt> <nowiki>ssh://</nowiki>''your-username''<nowiki>@hg.kenai.com/bluebird~mercurial-code-repository</nowiki></tt> # Change directories on your local machine to the directory in which you want your new hg repository directory to be created, then do the initial clone and create. For example:<br/><tt> > cd \myproj</tt><br/><tt> > hg clone <nowiki>ssh://</nowiki>''your-username''<nowiki>@hg.kenai.com/bluebird~mercurial-code-repository</nowiki> bluebird-hg</tt><br/>'''Note:''' If the command hangs when you're using Mercurial with PuTTY's Plink command-line interface, Plink is likely to be waiting for you to confirm the Host SSH key signature, which you can't do directly at this point. What you can do is start PuTTY, then in the Session settings enter the Host Name part of the URL (for example, <tt><nowiki>ssh://</nowiki>''your-username''<nowiki>@hg.kenai.com</nowiki></tt>) and click Open, and then type Y to save the host SSH key in the registry. You should then see the command complete in the Command window. # Change directories to the new directory:<br/><tt> > cd bluebird-hg</tt> # Copy a file to the local working copy and then add it in Mercurial.<br/><tt> > cp \myjavafiles\helloworld.java helloworld.java</tt><br/><tt> > hg add helloworld.java</tt> # Commit the file to the local repository.<br/><tt> > hg commit -m"First commit to bluebird repository" helloworld.java</tt> # Pull any changes from the server repository:<br/><tt> > hg pull </tt> # Update the local working copy:<br/><tt> > hg update</tt> # Check the file into your project repository on the server:<br/><tt> > hg push</tt> # You see the a series of messages similar to the following:<br/><tt> pushing to <nowiki>ssh://firstname.lastname@example.org/bluebird~mercurial-code-repository</nowiki></tt><br/><tt> searching for changes<br/> remote: adding changesets<br/> remote: adding manifests<br/> remote: adding file changes<br/> remote: added 1 changesets with 1 changes to 1 files</tt> You now have a file in your kenai.com repository.