2010-09-02

pbranch curiosities

I've started using pbranch extension for hg more seriously. It works nicely but is a little rough around the edges, in particular:



No hg qpop/push equivalent


I really miss this. I find myself constantly doing hg pgraph to figure out where I am and then typing the patch above or below.



No way to shelve a patch


With MQ, I can easily guard a patch to temporarily remove it from the queue. There doesn't seem to be a simple way to do that with pbranch.



Editing patch messages.


You use peditmessage, but because this modifies the repository, you then have to always hg pmerge -all. This pops to the top and causes a bunch of extra changesets, and it gets annoying quickly. And frustratingly, these patch messages do *not* appear in the repo history. So your code reviews of the main repo are just showered in useless merge messages, instead of the actual commit message you care about.



No pfinish


I don't know why, but there's no way to automatically commit a patch as a single changeset on the root default tip, then close the patch branch.



Inserting and deleting patches is horrible


Yuck - I really hope this gets easier soon.



Showing the current patch history


A little tip not mentioned on the pbranch site: the way to show the changelog history of the current patch is to do hg log -b patchname.


Re-enable Ctrl-Alt-Backspace in Xorg

Create the following as /etc/hal/fdi/policy/30user/10-x11-zap.fdi:

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<!--
Default X.org input configuration is defined in:
/etc/hal/fdi/policy/30user/10-x11-input.fdi
Settings here modify or override the default configuration.
See comment in the file above for more information.

To see the currently active hal X.org input configuration
run lshal or hal-device(1m) and search for "input.x11*" keys.

Hal and X must be restarted for changes here to take any effect
-->
<match key="info.capabilities" contains="input.keys">
<merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>
</match>
</device>
</deviceinfo>

and then restart hald and Xorg.

Disabling that goddamn GTK bell


echo 'gtk-error-bell = 0' >>$HOME/.gtkrc-2.0