Skip to main content

Working with mercurial

A while back I wrote an intro about using mercurial as your own repository that does not require any network connection to commit. Finally I've come to the point where I have to send my modifications onto another machine. So how do I do it? Let's begin with having the project reside on a computer which we will call mainserver. On this machine we already have created a mercurial repo and has committed files into it. Let's say we have another machine which we will call devlaptop. And on the devlaptop there is no copy of the project yet. So here are the steps by steps to get your work done.

1. First we will put a copy of the project into devlaptop. At the mainserver go to the project root directory and run the command `hg serve`. This should make the repo accesible on the default port 8000. Use the -p option to set to a different port. Then on the devlaptop run the command `hg clone http://mainserver:8000 projectname`. That will pull the project from the mainserver and put it into the projectname directory on the devlaptop. (Note: if your routes are not set properly just replace the name mainserver with the actual ip of mainserver)

2. Do your thing. Fix up the project and stuff. Commit to the local repo like there's no tomorrow. Until your finally satisfied. All test have passed and it is time to finally put those changes on the mainserver.

3. Put the changes from devlaptop onto the mainserver. First on the devlaptop go to the project root directory and run `hg serve`. That would make the repo available to others. Then on the mainserver just go to the project root directory and run `hg pull http://devlaptop:8000`. That will pull all the latest changes you've made on the devlaptop. But the repo will now be aware of the changes but have not applied them yet. To apply them run the command `hg update` on the mainserver and it should apply all the changes to the local repo. Now the mainserver has the most latest of your project.

Simple...

Comments

JP said…
Can we push the changes from Devlaptop to mainserver and perform a remote hg update on mainserver? if so, what would be the steps to perform this?

Popular posts from this blog

Food first post

My blogs' name is High-Tech Rojak but I don't recall ever talking about food. So here's a first. Just recently I got some free time and finally got to cook the pasta I've bought for ages. So here's an account of how it went down.. :) Okay. That's the thing I cooked. I have no idea what it's called. At first I was thinking of buying the ribbon ones, then my wife looked at the colorful spiral ones and said "why not get these? they're more colorful" and so we got them (yes, we know nothing about pasta.. :) So I boiled it, actually put some salt and oil into the water so that they won't stick, drained it and tadaaaaa, you'd get the above. I remember once I tried to cook macaroni and I didn't drain it after boiling it, it filled up the whole pot. LOL... Learned my lesson. Next up the sauce. Like I said we don't know anything about pasta so here's the ingredients we prepared. Yes ladies and gentleman. Instant pasta sauce all bottl

Documentation is a must... after this.

I've been thinking quite a bit about documentation and the 'cost' it involves. And when I say documentation, I mean documentation in general about anything. One obvious case with the industry I'm involved in is user documentation (a.k.a The Manual). Creating great features in software takes time and effort but if it is not documented then the user won't even know about it and finally it never gets used. But then while documenting it you just wish that you're working on the next cool thing rather than have to write this up. So finally you end up not doing the documentation or doing it rather badly. Same thing with this blog writing. I have been doing some pretty interesting things with my phone (rooting it and using cynogenmod and all), some pretty significant life changes (my grandmother passed away) and a lot of other things which I should probably like to remember better or reflect more on it but not documented (here or anywhere permanent) and it would probabl

The Future Of Gaming

I love playing computer games. It's what originally drove me to learn computer programming, I wanted to create my own games. Until now I still have very little success with that, but... I have learnt to program web applications quite well and earning my pay using those skills. And I love open source software. Ever since I started programming professionally, my main work OS has always been Linux (various distributions and all and currently on Arch Linux). I always install dual-boot because... hardware problems (some projectors and printers just couldn't be detected by Linux when I started out, that's mostly not a problem now) and mainly to play games (sure there was some open source games available, but apart from "Battle for Wesnoth" and "FreeCiv" I don't actually recall any games I've played extensively enough to be remembered). But recently the gaming scene in LinuxLand has improved tremendously, partly thanks to the Windows 8 app store like