Mercurial: Difference between revisions

From Fab Lab Wiki - by NMÍ Kvikan
Jump to navigation Jump to search
No edit summary
No edit summary
Line 45: Line 45:


===Step 5 Clone the archive===
===Step 5 Clone the archive===
*go to where you want the archive to be in your filesystem, and clone the archive
*note that local_archive_name will be a directory with the archive inside it
*ssh_path is the ssh application, including the path, if necessary
Copy this text to the terminal:
Copy this text to the terminal:
*~/Documents/FabAcademy$ hg clone -e "ssh -p 846 -i ~/.ssh/academy" ssh://hg@fab.cba.mit.edu/academy academy
*~/Documents/FabAcademy$ hg clone -e "ssh -p 846 -i ~/.ssh/academy" ssh://hg@fab.cba.mit.edu/academy academy
===Step 6 ===
*append the following your archive's personal configuration file, .hg/hgrc with any text editor
*(the .hg directory is in the fabClassArchive directory, and is a text file with unix line endings and no .txt extension)
[ui]
username = First Last <user@machine.domain>
ssh = ssh_path -i ~/.ssh/key_path/key_name -C
  [hooks]
  changegroup = hg update >&2
===Step 7===
try updating your archive by typing:
hg pull
you should see a response like this:
*  pulling from ssh://hg@fab.cba.mit.edu/863.10
*  searching for changes
*  no changes found
if it asks for a password, then it can’t find the key or the key file permissions make it not look like a key (see step 3)
if it says something about port 22, then it can't find the config file (see step 4)





Revision as of 09:24, 11 January 2011

Mercurial is a free, distributed source control management tool. It efficiently handles projects of any size and offers an easy and intuitive interface.

Mercurial on Ubuntu

Step 1: Install

Install .ssh

 sudo apt-get install ssh

Download the academy and academy.pub files to your .ssh folder.

Linux packages

sudo apt-get install mercurial tortoisehg tortoisehg-nautilus  

install Mercurial

sudo apt-get install mercurial

Step 2: Key files

put key files (academy and academy.pub) somewhere, probably in ~/.ssh/keys/ (you might want to create this keys directory) note that directories that start with a "." may be automatically hidden by your filesystem, you can see them by typing ls -a example: use the terminal and create a folder called .ssh in the home directory, then within the new .ssh directory create another directory called keys download the (academy and academy.pub) files and place them in the keys directory (you will have to either enable hidden folders, or do this all through the terminal)

sudo mv academy ~/.ssh
sudo mv academy.pub ~/.ssh

Step 3: Permissions for the private key

set permissions for your private key so that only the user has read/write access (i.e. sudo chmod go-rw ~/.ssh/keys/academy) your private key permissions could be rw-------, and your public key and config file permissions could be rw-r--r--

~/.ssh$ sudo chmod go-rw academy
~/.ssh$ sudo chmod go-rw-r--r-- academy.pub

Step 4: Setting the port

step 4: set the port that ssh uses to access fab.cba.mit.edu, by appending the following lines to ~/.ssh/config (you might have to create ~/.ssh/config, which is a text file with unix line endings and no .txt extension)

  • host fab.cba.mit.edu
  • port 846
~/.ssh$ gedit config

Step 5 Clone the archive

  • go to where you want the archive to be in your filesystem, and clone the archive
  • note that local_archive_name will be a directory with the archive inside it
  • ssh_path is the ssh application, including the path, if necessary

Copy this text to the terminal:

Step 6

  • append the following your archive's personal configuration file, .hg/hgrc with any text editor
  • (the .hg directory is in the fabClassArchive directory, and is a text file with unix line endings and no .txt extension)
[ui]
username = First Last <user@machine.domain>
ssh = ssh_path -i ~/.ssh/key_path/key_name -C
  [hooks]
  changegroup = hg update >&2 

Step 7

try updating your archive by typing:

hg pull

you should see a response like this:

if it asks for a password, then it can’t find the key or the key file permissions make it not look like a key (see step 3) if it says something about port 22, then it can't find the config file (see step 4)


And also

To open Mercurial

  • To get all changes from another repository into the current one
~/Documents/FabAcademy/academy$ hg pull
  • Add new files
hg add
  • Commit changes
hg commit -m 'MESSAGE'

Push files to server

hg push



Work in process.... to be editied