• Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • mercurial-plugin
    • None
    • Jenkins 1.614, mercurial-plugin 1.52, mercurial 3.4, Windows 64

      Mercurial 3.4 changed the behavior of the log command as used by this plugin. A command such as hg log --rev default:0 --follow --prune 5029 now will show unrelated changesets on other branches (specifically the head of an active branch other than default). This results in build logs and emails that show unrelated changesets and build emails being sent to the authors of unrelated changesets.

      AFAICT the mercurial changeset is http://hg.intevation.org/mercurial/crew/rev/c260887cdbcd. There is related discussion here: http://thread.gmane.org/gmane.comp.version-control.mercurial.general/36471.

      I'm not sure why the hg log behaviour changed or even if it is correct, but from the discussion it seems like the command used by this plugin is not correct either. The --follow flag is used to follow changes to a particular file, not to follow the ancestor relationships of changesets. A better command seems to be hg log --rev descendents(5029)::default which directly asks for all the changesets which are in a line from the previous changeset to the current one.

          [JENKINS-28526] Build emails reference unrelated changesets

          I think this fixes if if someone could merge it in that would be really helpful... https://github.com/jenkinsci/mercurial-plugin/pull/73/files

          Gedalia Pasternak added a comment - I think this fixes if if someone could merge it in that would be really helpful... https://github.com/jenkinsci/mercurial-plugin/pull/73/files

            jglick Jesse Glick
            kent37 Kent Johnson
            Votes:
            6 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: