I have considered several options that I shall discuss below, but have yet to find a good comprehensive solution. A full solution might require some changes to IPython, or may rely on some simple external scripts. I currently use mercurialmercurial, but would like a solution that also works with git: an ideal solution would be version-control agnostic.