-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
Mixed Linux/Windows
To be able to use Mercurial caching, one has to define a Mercurial installation and enable caching there. In case master and slave use a different OS, creating the cache clone on the master fails, simply because it's Linux and can't find C:\Program Files\TortoiseHg\hg.exe.
Therefor, enabling caching shouldn't be bound to specific mercurial installations. Instead, it should be a global option, maybe overridable at job level.
I think the way around this is to not define the Mercurial location in the installation itself, but as a node property, so that the actual path varies according to what computer is running the command. Have not prototyped that to confirm it but IIRC this should work.
The better solution in the longer term is to add automatic installers that download well-known ports according to local platform (OS/arch/etc.). This is mainly hampered by the complexity of interaction with Python ports and native extensions. I have not looked recently at whether Jython has matured to the point where it can (efficiently) run Mercurial, which would be by the far the most convenient option.