package hudson.plugins.mercurial; import hudson.model.AbstractBuild; import hudson.scm.SCMRevisionState; /** * Action contributed to {@link AbstractBuild} from Mercurial. * * <p> * Currently it just remembers the revision ID, but we want to extend this to cover tagging. */ public class MercurialTagAction extends SCMRevisionState { // TODO: have this extends AbstractScmTagAction and offer after-the-fact tagging operation // for now, we just remember the mercurial revision that was built in a given build /** * 160-bit node name, e.g. {@code 5703b34f17d5fec7bbff2f360c0b6c3d0b952f65} from {@code hg log -r . --template '{node}'} */ public final String id; public MercurialTagAction(String id) { this.id = id; } /** * Mercurial often uses a short ID form that consists of 12 letters. */ public String getShortId() { return id.substring(0,12); } public @Override String toString() { return "MercurialTagAction:" + id; } }