• Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major Major
    • subversion-plugin
    • Platform: All, OS: All

      New jobs or jobs that have been reconfigured to point to a different branch
      always show an empty changelog for the first build. It would be more useful to
      report the changes since the branch was created instead.

      I've linked this bug to subcomponent "subversion", but it might be true for
      other VCS's also.

          [JENKINS-4162] Changelog empty when building new branch

          I could be wrong, but isn't it very expensive to compute all the ancestory of a
          tree to see if it matches the last revision built?

          Kohsuke Kawaguchi added a comment - I could be wrong, but isn't it very expensive to compute all the ancestory of a tree to see if it matches the last revision built?

          nighty added a comment -

          I don't know if I understand you correctly, but basically there's two
          possibilities where the changelog is "empty" under the current version:

          1) User manually started a build while nothing was committed in between; branch
          and rev number match the one from the previous build => nothing needs to be
          done, the changeset is actually empty.
          2) This is a first-time build of the current branch; either it's a new job or
          the branchname does not match the one used for the previous build.

          It shouldn't be too expensive. Determining if this is a "new" build is already
          being done: the changelog is empty and it's not because branch and revision
          match the previous build (if indeed there was one). Enumerating the changes is
          also inexpensive since the list of changes in a new branch is usually small and
          you only need to trace back up to the point where the branch was created. Or to
          put it in subversion commandline terms: a log with the --stop-on-copy option.

          nighty added a comment - I don't know if I understand you correctly, but basically there's two possibilities where the changelog is "empty" under the current version: 1) User manually started a build while nothing was committed in between; branch and rev number match the one from the previous build => nothing needs to be done, the changeset is actually empty. 2) This is a first-time build of the current branch; either it's a new job or the branchname does not match the one used for the previous build. It shouldn't be too expensive. Determining if this is a "new" build is already being done: the changelog is empty and it's not because branch and revision match the previous build (if indeed there was one). Enumerating the changes is also inexpensive since the list of changes in a new branch is usually small and you only need to trace back up to the point where the branch was created. Or to put it in subversion commandline terms: a log with the --stop-on-copy option.

          addition for multibranch pipeline: changeset is empty for first commit in branch.
          => no way to determine commit authors and notify when build fails ;(
          As i think, this is really problem. At least for me...

          Dmitry Salashnik added a comment - addition for multibranch pipeline: changeset is empty for first commit in branch. => no way to determine commit authors and notify when build fails ;( As i think, this is really problem. At least for me...

          Pull Request which addresses this: https://github.com/jenkinsci/git-plugin/pull/1565

          Ben Hochstedler added a comment - Pull Request which addresses this: https://github.com/jenkinsci/git-plugin/pull/1565

            Unassigned Unassigned
            nighty nighty
            Votes:
            9 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated: