MacHg 1.0.1 Released!! (Yosemite version)

I am happy to announce that I have just released MacHg 1.0.1.

You can get the latest MacHg from the downloads, and you can view the latest release notes here.

MacHg 1.0.1 updates MacHg to fix Yosemite compatibility issues. Under the hood things have massively changed and MacHg now uses ARC rather than garbage collection for it’s memory management. Subjectively, it feels a good bit snappier because of this. It is finally code signed, so you don’t need to add a security exception to install it. There are a number of other nice fixes in MacHg 1.0.1. Take a look at the full change log for details!

As a personal note, sorry for the massive delay in development here. My real world job has been very very busy and demanding, and I haven’t had as much time to devote to MacHg as I would have liked. However, with Yosemite MacHg started to crash on startup so I have now dug into it and put in the effort to release a new version. Enjoy!

Cheers, Jason

Leave a Comment

Still here…

Hi All,

A quick note to say that I am still here. Unfortunately with my day job I have been working on a skunk works project that took up all my work time and it took up all my outside free time as well. And, it has been going on for a while like this. The good news is that I am almost through with a conversion of MacHg from using GarbageCollection to a version based on ARC. Hopefully I will be releasing it soonish…

Cheers, Jas

Comments (3)

MacHg 1.0.0 Beta Released!!

I am extremely happy to announce that much work has happened on MacHg in the last 4 months. In fact after the 25 previously shipped versions of MacHg I have released, I am just about ready to launch a very complete version 1.0. (This corresponds to the original complete feature set I considered to be a mature and very complete client.)

There have been many, many changes in these last months. However, the major changes can be grouped into the following categories:

  • Major work on the sidebar (MacHg now supports repository grouping for sub repositories and sub repository support, multiple selection dragging, deleting, badge counts, moving, and copying to other documents.)
  • File outline views, and flat file table outline views, in addition to the browser view. (This was a much requested feature.)
  • In product, sub-line, side-by-side and unified differences. (Another highly requested feature.)
  • Hunk level commit selection when committing or amending a commit. (Another frequently requested feature.)
  • Revamping the menu layout, adding better support tags, bookmarks and branches, etc.
  • Added a new AlterDetails sheet to allow easily changing commit messages / commit authors / commit times.
  • Refactored the GUI to more uniformly use my own concertina views.
  • Removed dependence on BWToolkit for compatibility with newer versions of XCode.
  • Many, many bug fixes, additions and improvements.

If you use MacHg could you download this version and give me feedback on it. I am looking for show-stoppers and new things that crop up as a result of these changes. I should be releasing MacHg 1.0 in maybe a week’s time… During this next weekend I will be adding the documentation for the new features and recording screen casts on new functionality, etc.

You can download the beta version of MacHg here:

Thanks, Jason

Comments (5)

Skiing fun

Well, just a quick note to say that when skiing recently I fell down and ruptured my anterior cruciate ligament (ACL) in my left knee. I have now had it surgically reconstructed and all, but it seriously threw my schedule out of whack for the last month between pain killers, and well having to sleep with a leg brace, etc. The happy news is that I am pretty much over the worst of it. From here on out it’s all down to physiotherapy. So to celebrate I have released a beta of MacHg… which is the topic for the next message…

Leave a Comment

Terminal: clear yields “terminals database is inaccessible”…

I just noticed that suddenly MacHg started producing something like the following when trying to open up a terminal from MacHg:

That not clearing of the terminal commands happens due to clear no longer working. If you do some googling it turns out the culprit seems to be an XCode 4 update for me. It handily blew away some of the files in /usr/share/terminfo/78 specifically it removed the configuration file xterm-256color. Restoring this file from time machine or another Lion install will restore the clear command and will stop some other funkiness I was seeing in the terminal.

Or if you have pacifist and the Lion Installer application you can open the specific package and extract the file:

  1. Find the Install Mac OS X Lion application and Right click it and choose Show Package Contents
  2. Inside the package contents mount the .dmg located at Install Mac OS X
  3. From the disk image open Mac OS X Install ESD/Packages/BaseSystemResources.pkg in pacifist
  4. In pacifist navigate to and extract the file /usr/share/terminfo/78/xterm-256color to the same place on your hard drive.

All fixed!

Comments (2)

Bitbucket beers…

I just wanted to drop a quick note about the event “Beers with BitBucket…” that the bitbucket team sponsored this last Tuesday the 25th of October in Chicago.

I went along and scored some bitbucket bling: Two free t-shirts and a bottle opener as well as of course far too much free beer 🙂 (The beer was quite good.) In fact there was enough free beer that by the end of the night after I had left the two t-shirts at a table at one of the after function bar’s there was only one t-shirt left after I picked up my stuff. So obviously the bling was really popular! Still I guess that’s what happens in Chicago “after hours”.

Still in any case I met some really cool people. The bitbucket guys were really chilled. I pronounced “Atlassian” totally wrong and they still liked me 🙂 Anyway thanks to Atlassian and the bitbucket crew I have a much better idea of their strategic direction and that they are really in this for the long haul and push.

In fact after I came back at around 2am (I know, I know, wandering around downtown Chicago at 2am fending off all the hmm… people who were trying to sell me “stuff”, maybe wasn’t the brightest thing to do…) But in any case I went to subway for some food and one of the bitbucket system administrators was there and of course we got to talking again and he insisted on personally paying for my subway sandwich… It’s just one detail, but I just got the feeling the team of engineers were just genuienly nice people. I get the feeling they really want to do good things for developers everywhere! So in any case personal thanks to Justin and the others!

I should also say the other people who attended were really interesting. Eg I met one of my MacHg users Sean Farley, and he was a really neat guy (He has a really strange Gravitar image, but I gave him some friendly grief over it. (Scraws!)) . Anyway, it turns out he was also a physicist and he knew a lot about Mathematica (my day job), and knew a lot about well a lot of other really interesting technologies. We got along famously…) But in any case I got some extra impetuous to add an annotation view to MacHg… I really have to get onto this.

But all in all it was a really fun night! Thanks to the bitbucket crowd for hosting it. You guys rock!

Cheers, Jas

Leave a Comment

Hardware support for Android…

Michael Degusta writes:

In other words, Apple’s way of getting you to buy a new phone is to make you really happy with your current one, whereas apparently Android phone makers think they can get you to buy a new phone by making you really unhappy with your current one…

The full article is really interesting and you can read it here: Historical support of android phones

Man, that’s not such good support… (Let’s hope this really improves…)

Leave a Comment

On XCode 4…

The only thing worse than managing multiple windows is managing multiple panes… Brent Simmons

I feel like this all the time in Xcode 4. I have been using XCode 4 for quite a while now and while I love the fact that Clang and all the back end smarts are much nicer, the interface has really taken a retro-grade step in my opinion. I recently had to go back to XCode 3 to do some stuff and wow it was soooo much faster to get around and do stuff. There is now so much pane management in XCode 4.

For instance lets consider doing a find across your project. In XCode 4 you hit cmd-shift-F, enter your find text and hit return. Then you have to go drag the find results sub-pane bigger… then look through all your results. Then when you find something interesting you have to double click on a result to look at the find instance (being very careful not to single click it or else the main bit of code you were looking at to provide context to your find disappears). Then when you finally found what you want you have to dismiss the new windows you created, then resize the find column back to something you use for eg a stack trace / build results / whatever (Debug Navigator / Log Navigator) and then go on your way.

In XCode 3 you just hit cmd-shift-F, enter the find and hit return, look through the results, and then close the window. Sooo much quicker and simpler. Its things like this which just made XCode 3 so much smoother…

Apple please, please, please, also allow a more windowed approach like there used to be which was so much more flexible and quicker…

Leave a Comment

MacHg 0.9.24 Released!!

I am happy to announce that I have just released MacHg 0.9.24.

You can get the latest MacHg from the downloads, and you can view the latest release notes here.

MacHg 0.9.24 updates MacHg to fix Lion compatibility issues, and also updates the underlying Mercurial to the latest version, 1.9.2. There are a number of other nice fixes in MacHg 0.9.24. Take a look at the full change log for details!

As a personal note, sorry for the 3 month delay in development here. My real world job has been very busy and demanding, and I haven’t had as much time to devote to MacHg as I would have liked. However, the roadmap is still very much in progress…

Cheers, Jason

Comments (2)

BanChangesets Mercurial Extension Released!

Update: I have changed the name of this extension from ExcludeChangests to BanChangesets. (9-Oct-2011)

Just a quick note to say I uploaded my first published Mercurial extension!

BanChangesets can be used to ensure that certain changesets which are determined to be “bad” by a team can be banned from being repushed to a central repository.

Imagine that you have a team of people working on a mercurial repository. One of the members of the team pushes a changeset or group of changesets to the central repository but these changesets are “bad” for one reason or another. (Maybe some branch was merged when it should not have been, etc. Maybe some nuclear launch codes were accidentally committed, etc.). Ideally this should never happen. In practice it happens all too frequently.

So typically the leader of the project will send out an email saying something like: Please strip the following revisions from your repositories:


The problem is of course that in a team of say 20 people someone might have already pulled the “bad” revisions and they may accidentally miss the email, and re-push these bad revisions back to the central server.

The extension ban-changesets is intended to prevent such a re-push of these “bad” changesets.

See the full details here and on the wiki page

Comments (2)