Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-28526

Build emails reference unrelated changesets

XMLWordPrintable

    • 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.

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

              Created:
              Updated:
              Resolved: