<p>I use the on-demand (hosted) version of FogBugz.  I would like to start using Mercurial for source control.  I would like to integrate FogBugz and a BitBucket repository.
I gave it a bit of a try but things weren't going very well.  </p>

<p>FogBugz requires that you hook up your Mercurial client to a fogbugz.py python script.  TortoiseHg doesn't seem to have the hgext directory that they refer to in instructions.</p>

<p>So has anyone successfully done something similar?</p>

From the sounds of it you are wanting to run the hook on your local machine. The hook and directions are intended for use on the central server.
If you are the only one working in your repository or don't mind commit not showing up in FB until after you do a pull, then you can add the hook locally to your primary clone, If you are using your primary clone then you need to do something slightly different from what they say here:
http://bugs.movabletype.org/help/topics/sourcecontrol/setup/Mercurial.html
You can put your fogbugz.py anywhere you want, just add a path line to your [fogbugz] section of that repositories hgrc file:
```
```
[fogbugz]
path=C:\Program Files\TortoiseHg\scripts\fogbugz.py
```
```
Just make sure you have python installed. you may also wish to add a commit hook so that local commits to the repository also get into FB.
```
```
[hooks]
commit=python:hgext.fogbugz.hook
incoming=python:hgext.fogbugz.hook
```
```
On the Fogbugz install you will want change put the following in your for your logs url:
```
```
^REPO/log/^R2/^FILE
```
```
and the following for your diff url:
```
```
^REPO/diff/^R2/^FILE
```
```
When the hook script runs it connects to your FB install and sends it a few parameters. These parameters are stored in the DB and used to generate urls for diffs and log informaiton. The script sends the url of repo, this is in your baseurl setting in the [web] section. You want this url to be the url to your bitbucket repository. This will be used to replace
^REPO
from the url templates above. The hook script also passes the revision id and the file name to FB. These will replace ^R2 and ^FILE. So in summary this is the stuff you want to add to the hgrc file in your .hg directory:
```
```
[extensions]
hgext.fogbugz=

[fogbugz]
path=C:\Program Files\TortoiseHg\scripts\fogbugz.py
host=https://<YOURACCOUNT>.fogbugz.com/
script=cvsSubmit.asp

[hooks]
commit=python:hgext.fogbugz.hook
incoming=python:hgext.fogbugz.hook

[web]
baseurl=http://www.bitbucket.org/<YOURBITBUCKETACCOUNT>/<YOURPROJECT>/
```
```
One thing to remember is that FB may get notified of a checkin before you actually push those changes to bitbucket. If this is the cause do a push and things will work.
EDIT: added section about the FB server and the summary.