fix wrong mercurial changeset ids during hooks

This commit is contained in:
Sebastian Sdorra
2012-10-17 12:17:37 +02:00
parent 79501ec5fc
commit 8552b564f1
2 changed files with 30 additions and 19 deletions

View File

@@ -68,6 +68,9 @@ import javax.xml.bind.JAXBException;
public class AbstractHgHandler
{
/** Field description */
protected static final String ENV_ID_REVISION = "SCM_ID_REVISION";
/** Field description */
protected static final String ENV_NODE = "HG_NODE";
@@ -219,8 +222,7 @@ public class AbstractHgHandler
Map<String, String> extraEnv)
throws IOException
{
return createProcess(
extraEnv, handler.getConfig().getPythonBinary(),
return createProcess(extraEnv, handler.getConfig().getPythonBinary(),
script.getFile(SCMContext.getContext()).getAbsolutePath());
}
@@ -383,6 +385,12 @@ public class AbstractHgHandler
env.put(ENV_PYTHONIOENCODING, ENCODING);
env.put(ENV_HGENCODING, ENCODING);
//J-
env.put(ENV_ID_REVISION,
String.valueOf(handler.getConfig().isShowRevisionInId())
);
//J+
if (context.isSystemEnvironment())
{
env.putAll(System.getenv());

View File

@@ -75,7 +75,10 @@ def appendWrappedListNodes(doc, parentNode, wrapperName, name, values):
appendListNodes(doc, wrapperNode, name, values)
def getId(ctx):
return str(ctx.rev()) + ':' + hex(ctx.node()[:6])
id = ''
if os.environ['SCM_ID_REVISION'] == 'true':
id = str(ctx.rev()) + ':'
return id + hex(ctx.node())
def appendAuthorNodes(doc, parentNode, ctx):
authorName = ctx.user()