» Project Kenai Documentation and Training » How Do I ... » Source Code Management
Using Mercurial on Microsoft Windows Systems
Once you have a Mercurial client 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:
- 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 bluebird with a Mercurial repository named bluebird~mercurial-code-repository, the default read-write URL would be:
- 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:
> cd \myproj
> hg clone ssh://firstname.lastname@example.org/bluebird~mercurial-code-repository bluebird-hg
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, ssh://email@example.com) 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:
> cd bluebird-hg
- Copy a file to the local working copy and then add it in Mercurial.
> cp \myjavafiles\helloworld.java helloworld.java
> hg add helloworld.java
- Commit the file to the local repository.
> hg commit -m"First commit to bluebird repository" helloworld.java
- Pull any changes from the server repository:
> hg pull
- Update the local working copy:
> hg update
- Check the file into your project repository on the server:
> hg push
- You see the a series of messages similar to the following:
pushing to ssh://firstname.lastname@example.org/bluebird~mercurial-code-repository
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
You now have a file in your kenai.com repository.