Versioning of external extensions?
Jason Harris
jason at jasonfharris.com
Tue May 11 09:26:43 UTC 2010
Should external extensions be versioned? Ie imagine someone writes an extension myCoolExtension to go along with Mercurial 1.5.
The user has some .hgrc which has
myCoolExtension = /Users/jason/Library/MercurialExtensions/myCoolExtension
And say a GUI client runs Mercurial 1.4.x ie MacHg for the moment. (I'll update once the first major release goes out...) (and in the future users might just keep using a copy of MacHg without updating it but yet someone on their machine or organization might update the core Mercurial, thus hg v1.4 wouldn't work well with v1.5 extensions .) Or maybe their is an extension that works in an earlier version of Mercurial which is installed on their machine and as a new version of Mercurial is released in MacHg and incompatibilities arise. Basically I am worried about the mercurial binary and the extensions getting out of sync and bad things happening. It would be nice if Mercurial version A uses extensions version A. And Mercurial version B uses extensions version B.
Of course its nice that the extensions keep working when going from 1.5.2 to 1.5.3 say.
Anyway I am sure you have all thought about this. What is planned in this regard, what should external extension writers do? What is best practice etc? Maybe the users should always locate the extensions inside the extensions (hgext) folder so they are paired with that version of Mercurial, and that way when a new version is installed the extension won't be loaded.. automatically?
Cheers,
Jas
More information about the Mercurial
mailing list