1529
Comment:
|
1209
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
Email: [[MailTo(byteshack<-A-T->gmail<-D-O-T->com)]] | This page will need to be moved to a more permanent place once this tutorial is completed. Please help me with a good name for the page! |
Line 7: | Line 7: |
=== The mq extension === I'm very interested on what the mq extension does. I guess for me it is still a solution looking for a problem, and until I can't fully understand what the problem is, I wont enjoy and fully utilize the solution it provides. Hopefully I can put some stuff that I figure out here. |
|
Line 10: | Line 8: |
=== Random hg use scenarios === Mercurial has a bit of a feature bloat. It is not bad, but it is just hard to know what everything does. There is a LOT of functionality all over the place. This is a place holder of pointer to stuff I seem to forget easily. * Good repo layout? Seems to be a good idea to keep a couple of repos around: upstream, localchanges, outbound. upstream should be kept sync'd with the source, and not modified at all. * To see changes comming from upstream into one of your local repos do: {{{ $ cd localrepo $ hg incoming }}} * {{{hg clone}}} can be VERY slow under windows if one is running python.org. A way around this was given in the IRC channel (by bos_) by going to this location [http://sourceforge.net/projects/pywin32/] and downloading that project. It is a set of python modules (I believe) to, amongst other things, give python the hability to create hardlinks. A nice tool to check for hardlinks in windows is {{{hlscan}}} [http://www.microsoft.com/windows2000/techinfo/reskit/tools/new/hlscan-o.asp]. |
= Mq Tutorial = Outline: * Why the heck would I want to use mq? * How is mq a "stack"? (are there really 2 stacks?) * Tutorial on using mq: * Installing mq * Getting a repo to do work on (use hg for a sample!) * Initializing mq on that repo (make it versioned) * Creating and editing a patch * qnew seems to push the patch to the repo stack. * qrefresh refreshes the patch, not only in the patches folder, but also in the repo. * use qnew -m "message" to control the message that will be used when commiting this patch to the repo. * Creating another patch * Version my patches so far (qcommit) * Spliting the previous patch (edit patch to leave out 2nd patch and do something like: patch -p1 -R < p1b ; hg qrefresh; hg qnew -M "foo" p1b ; patch -p1 < p1b) * Propagating my patches (push all patches we wish to "publish", hg mail that) * Pointers to other docos: MqExtension, see the {{{hgext/mq-howto}}} file. |
Daniel Santa Cruz (byteshack)
This page will need to be moved to a more permanent place once this tutorial is completed. Please help me with a good name for the page!
Mq Tutorial
Outline:
- Why the heck would I want to use mq?
- How is mq a "stack"? (are there really 2 stacks?)
- Tutorial on using mq:
- Installing mq
- Getting a repo to do work on (use hg for a sample!)
- Initializing mq on that repo (make it versioned)
- Creating and editing a patch
- qnew seems to push the patch to the repo stack.
- qrefresh refreshes the patch, not only in the patches folder, but also in the repo.
- use qnew -m "message" to control the message that will be used when commiting this patch to the repo.
- Creating another patch
- Version my patches so far (qcommit)
Spliting the previous patch (edit patch to leave out 2nd patch and do something like: patch -p1 -R < p1b ; hg qrefresh; hg qnew -M "foo" p1b ; patch -p1 < p1b)
- Propagating my patches (push all patches we wish to "publish", hg mail that)
Pointers to other docos: MqExtension, see the hgext/mq-howto file.