Future Goals

There are a number of enhancements I have planned for in the development of MacHg. Here is a list of some of them.

During this last couple of years my time has been very compressed on other projects and I haven't been able to give MacHg the love and care it really needs. I have intermittently updated it, and in fact recently released a new version for Yosemite. As always if anyone else wants to help I always welcome patches!

Short Term

  • Basic support for sub repositories.
  • Switch to ARC instead of using Garbage Collection. (Done)
  • Add a Flat Files View in addition to the current Browser View. (Done)
  • Allow Hunk level selection of changes for the commit sheet. (Done)
  • Integrate better unified diff display through webkit and javascript. (Done)
  • Add a goto menu so you can jump directly to a changeset or revision. (Done in MacHg 0.9.20)

Medium Term

These are the main features planned for MacHg 1.1
  • Add a Annotation Navigator View of a file (an interactive annotation of a given file).
  • Better support for bookmarks and tags (drag and drop to change tags, rename, etc.)
  • Add drag and drop handling for history editing, down to the hunk level, i.e. drag a changeset from one branch or place and move it to another branch or place to do a transplant / rebase, etc.
  • Support for svn and git through the hgsubversion and hg-git extensions.
  • Add progress bars for some operations like push, pull, and clone.
  • Full integration of external diff viewers into MacHg. (Eg for AraxisMerge, kdiff3, DiffMerge, Changes, Kaleidoscope, etc.) (Done in MacHg 0.9.17)
  • Add the ability to handle MacHg Plugins so users can create scripts and other actions which are executed from menus inside MacHg.

Longer Term

These are the features planned for MacHg 1.2 and later
  • Have undo work through saving bundled changes so edits to history and other operations would be fully undoable.
  • Add localizations for other languages (use Marko Käning's or other progress here.)
  • Add better searching of the history log.
  • Improve documentation.
  • Allow the searching of the history for "duplicate commits", where a duplicate means that the sha1 hash of the hunk differences is the same.
  • Integrate some of the extensions like signed changesets and convert to split out subrepositories.
  • Develop a Mercurial extension for recording which changes have been made to the history, with the ability to push that to other repositories so they can remove these changes as well.
if anyone wants to contribute to the development of MacHg, you are extremely welcome to send me patches or changes. Please contact me and or see here.
if you have suggestions or are dying for one feature versus another then please tell me about it. I like to get feedback. (Especially the complementary kind... No but seriously even the negative criticism - if it is worded in a friendly way - is interesting to hear.)