Hello, my name is David Pello and I'm from Asturias, North Spain.

I work at LABoral arts and industrial creation centre as the manager of the production centre and labs, and will be the one in charge of the Asturias FabLAB (opening soon).

My idea for my final project is the design, construction and programming of an open source platform for high altitude balloon tracking, including structure (support, thermal isolation, etc), and electronics (MCU, radio transmission, gps, sensors, etc).

Classes > Project Management

The purpose of this class is to get in touch with tools for collaborative development and project management. For the FabAcademy we're using Mercurial.

I'm used to work with similar tools like git or subversion, so using mercurial it's not difficult for me, and it seems to be a nice tool.

So I've created these pages, and I'll be adding and updating them with my projects during the course, btw, I'm writing this in html and css using vim.

The first thing I did was setting up my ssh keys so I can access the mercurial repository without password. A tutorial was provided for this task.

After this we started using the basic mercurial commands to pull, update, commit and push our changes to the class repository:

$ hg pull
pulling from ssh://hg@fab.cba.mit.edu/academy.2012
searching for changes
adding changesets
adding manifests
adding file changes
added 62 changesets with 487 changes to 469 files
461 files updated, 0 files merged, 6 files removed, 0 files unresolved
(run 'hg update' to get a working copy)
$ hg update
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
		

Then, after some changes...

$ hg commit -m "Message for commit log"
$ hg push
			

If you add files to the repository, you need to tell mercurial to track them. The command "hg add [file]" adds a file to the traking list, but you just can use "hg add ." on the parent directory to make mercurial search and add all new files it finds.

When you work with a version control system like mercurial, you have to pull the last changes from the repository before you commit new ones, oryou can get into conflicts (another user adds something before you, and now there are two changesets). When this happens, most of the times mercurial is smart enough to merge the changesets by itself. You just need to pull again, merge, and commit:

$ hg push
pushing to ssh://hg@fab.cba.mit.edu/academy.2012
searching for changes
abort: push creates new remote head XXXXXXX!
(you should pull and merge or use push -f to force)
$ hg pull
pulling from ssh://hg@fab.cba.mit.edu/academy.2012
searching for changes
adding changesets
adding manifests
adding file changes
added 14 changesets with 53 changes to 44 files (+1 heads)
abort: crosses branches (merge branches or update --check to force update)
warning: changegroup hook exited with status 255
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge
44 files updated, 0 files merged, 5 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg commit -m "New changes"
$ hg push
			

So that's the basics. After being confortable with the commands, I started to write these pages from scratch using clean html and simple css, and as I'm used to that, editing in vim from the commandline. I prefer to code html by hand, visual tools usually insert lots of non-needed code or malformed html, and by the way, html is easy. You just need to code some basic skeleton and then make it look good using CSS.

So that's it for now, I'll keep improving the css and basic html as needs arise.

Back