Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/git-plugin
  Commit: 07cfa5ddef698838b01d4214915f98d4e902c0f8
      
https://github.com/jenkinsci/git-plugin/commit/07cfa5ddef698838b01d4214915f98d4e902c0f8
  Author: Jacob Keller <[email protected]>
  Date:   2018-06-30 (Sat, 30 Jun 2018)

  Changed paths:
    M src/main/java/hudson/plugins/git/GitRevisionBuildParameters.java
    M src/main/java/hudson/plugins/git/GitSCM.java
    M src/main/java/hudson/plugins/git/util/BuildData.java
    A src/main/java/hudson/plugins/git/util/BuildDetails.java
    M src/test/java/hudson/plugins/git/GitSCMTest.java
    M src/test/java/hudson/plugins/git/RevisionParameterActionTest.java
    M src/test/java/hudson/plugins/git/util/BuildDataTest.java
    M src/test/java/jenkins/plugins/git/GitStepTest.java

  Log Message:
  -----------
  [JENKINS-19022] rebuild BuildData objects instead of storing them in the 
build.xml

The BuildData objects are serialized into the build.xml for every build.
This is normally not a problem, as their contents are small. However,
for certain types of builds (gerrit-triggered projects, really any git
build which uses a large number of refs) the BuildData objects can
become enormous. Worse, in those cases the data it saves is nearly
worthless.

Unfortunately, complete removal of the BuildData objects is not
possible, as we rely on this data to correctly predict change logs, and
to determine what revisions to build. Disentangling all of these
operations from the BuildData is tricky, if not impossible. This is
especially so for extension points such as the BuildChoosers.

Instead, lets opt for a different approach: generate the BuildData
instead of serializing the buildsByBranchName map to the build.xml for
every single build.

Do this by implementing a simpler BuildDetails structure, which contains
most of the same information, but does not contain the
buildsByBranchName map.

Stop storing the BuildData object into the build Actions. Instead,
search for BuildDetails and regenerate the BuildData structure from
this. As a fallback, allow finding old BuildData actions and using
those, if they still exist.

Jenkins Administrators may wish to purge this data from their build.xml
files if they do not need the historical data, but for now, keep the
plugin as backwards compatible as possible.

With this change, we now only store a single Build object per build
instead of storing the entire branch map, which should significantly
reduce build.xml bloat.

If the time cost of rebuilding the BuildData structure is too high,
(such as when there are a large number of historical builds), we could
add some sort of limit on the number of past builds to check. However,
this would require some thought, as it would not produce exact replicas
of the current BuildData objects.

See [JENKINS-19022] and  [JENKINS-47789] for more details on the issues
the BuildData objects can cause.

Signed-off-by: Jacob Keller <[email protected]>


  Commit: d7689cfacabb6b5e534fcd85481ec29a16f3b0ed
      
https://github.com/jenkinsci/git-plugin/commit/d7689cfacabb6b5e534fcd85481ec29a16f3b0ed
  Author: Jacob Keller <[email protected]>
  Date:   2018-06-30 (Sat, 30 Jun 2018)

  Changed paths:
    M src/main/java/hudson/plugins/git/GitSCM.java

  Log Message:
  -----------
  git-plugin: check all BuildData when searching with hash

When searching for the build that build a specific sha1 hash, search
every build data and build details action instead of just the first.

Signed-off-by: Jacob Keller <[email protected]>
Title: check all BuildData when searching for SHA1
Change-type: DefectResolution


  Commit: 6c529d1e8edd1f4592cdeca10f44175bc3230c21
      
https://github.com/jenkinsci/git-plugin/commit/6c529d1e8edd1f4592cdeca10f44175bc3230c21
  Author: Jacob Keller <[email protected]>
  Date:   2018-06-30 (Sat, 30 Jun 2018)

  Changed paths:
    A src/main/resources/hudson/plugins/git/util/BuildDetails/index.jelly
    A 
src/main/resources/hudson/plugins/git/util/BuildDetails/index_it.properties
    A 
src/main/resources/hudson/plugins/git/util/BuildDetails/index_ja.properties
    A src/main/resources/hudson/plugins/git/util/BuildDetails/summary.jelly
    A 
src/main/resources/hudson/plugins/git/util/BuildDetails/summary_it.properties
    A 
src/main/resources/hudson/plugins/git/util/BuildDetails/summary_ja.properties

  Log Message:
  -----------
  add BuildDetails jelly code to display the action

For the translations, I kept the same output as for translating "Git
Build Data" since I don't know the languages enough to translate it
better, though for English we use "Git Build Details".

Signed-off-by: Jacob Keller <[email protected]>


  Commit: dcd329f4806b2ccec6ebafd6d72125bfda7eea8e
      
https://github.com/jenkinsci/git-plugin/commit/dcd329f4806b2ccec6ebafd6d72125bfda7eea8e
  Author: Mark Waite <[email protected]>
  Date:   2018-07-06 (Fri, 06 Jul 2018)

  Log Message:
  -----------
  Remove trailing empty line in index.jelly

Start a build of the pull request


  Commit: 4d03525627162be2be6b6b17560912eee540c1a4
      
https://github.com/jenkinsci/git-plugin/commit/4d03525627162be2be6b6b17560912eee540c1a4
  Author: Mark Waite <[email protected]>
  Date:   2018-12-11 (Tue, 11 Dec 2018)

  Changed paths:
    M .gitignore
    M .mvn/extensions.xml
    M Jenkinsfile
    M pom.xml
    M src/main/java/hudson/plugins/git/GitChangeLogParser.java
    M src/main/java/hudson/plugins/git/GitChangeSet.java
    M src/main/java/hudson/plugins/git/GitPublisher.java
    M src/main/java/hudson/plugins/git/GitSCM.java
    M src/main/java/hudson/plugins/git/UserMergeOptions.java
    M src/main/java/hudson/plugins/git/browser/AssemblaWeb.java
    M src/main/java/hudson/plugins/git/browser/BitbucketWeb.java
    M src/main/java/hudson/plugins/git/browser/CGit.java
    M src/main/java/hudson/plugins/git/browser/FisheyeGitRepositoryBrowser.java
    M src/main/java/hudson/plugins/git/browser/GitLab.java
    M src/main/java/hudson/plugins/git/browser/GitList.java
    M src/main/java/hudson/plugins/git/browser/GitRepositoryBrowser.java
    M src/main/java/hudson/plugins/git/browser/GitWeb.java
    M src/main/java/hudson/plugins/git/browser/GithubWeb.java
    M src/main/java/hudson/plugins/git/browser/Gitiles.java
    M src/main/java/hudson/plugins/git/browser/GitoriousWeb.java
    M src/main/java/hudson/plugins/git/browser/GogsGit.java
    M src/main/java/hudson/plugins/git/browser/KilnGit.java
    M src/main/java/hudson/plugins/git/browser/Phabricator.java
    M src/main/java/hudson/plugins/git/browser/RedmineWeb.java
    M src/main/java/hudson/plugins/git/browser/RhodeCode.java
    M src/main/java/hudson/plugins/git/browser/Stash.java
    M src/main/java/hudson/plugins/git/browser/TFS2013GitRepositoryBrowser.java
    M src/main/java/hudson/plugins/git/browser/ViewGitWeb.java
    M src/main/java/hudson/plugins/git/extensions/impl/CheckoutOption.java
    M src/main/java/hudson/plugins/git/extensions/impl/CloneOption.java
    M src/main/java/hudson/plugins/git/extensions/impl/LocalBranch.java
    M src/main/java/hudson/plugins/git/extensions/impl/PreBuildMerge.java
    M src/main/java/hudson/plugins/git/extensions/impl/SparseCheckoutPath.java
    M src/main/java/hudson/plugins/git/extensions/impl/SubmoduleOption.java
    M src/main/java/hudson/plugins/git/extensions/impl/UserIdentity.java
    M src/main/java/hudson/plugins/git/util/Build.java
    M src/main/java/hudson/plugins/git/util/BuildData.java
    M src/main/java/hudson/plugins/git/util/GitUtils.java
    M src/main/java/jenkins/plugins/git/AbstractGitSCMSource.java
    M src/main/java/jenkins/plugins/git/GitRemoteHeadRefAction.java
    M src/main/java/jenkins/plugins/git/GitSCMFileSystem.java
    M src/main/java/jenkins/plugins/git/GitSCMSourceContext.java
    M src/main/resources/hudson/plugins/git/GitSCM/buildEnv.groovy
    M src/main/resources/hudson/plugins/git/GitSCM/buildEnv.properties
    M src/main/resources/hudson/plugins/git/GitSCM/global.jelly
    M 
src/main/resources/hudson/plugins/git/GitSCM/help-createAccountBasedOnEmail.html
    A src/main/resources/hudson/plugins/git/browser/GitLab/help-repoUrl.html
    R src/main/resources/hudson/plugins/git/browser/GitLab/help-url.html
    M src/main/resources/hudson/plugins/git/browser/GitLab/help-version.html
    M 
src/main/resources/hudson/plugins/git/extensions/impl/CloneOption/help-depth.html
    M 
src/main/resources/hudson/plugins/git/extensions/impl/CloneOption/help-shallow.html
    M 
src/main/resources/hudson/plugins/git/extensions/impl/SubmoduleOption/config.groovy
    A 
src/main/resources/hudson/plugins/git/extensions/impl/SubmoduleOption/help-depth.html
    A 
src/main/resources/hudson/plugins/git/extensions/impl/SubmoduleOption/help-depth_ja.html
    A 
src/main/resources/hudson/plugins/git/extensions/impl/SubmoduleOption/help-shallow.html
    A 
src/main/resources/hudson/plugins/git/extensions/impl/SubmoduleOption/help-shallow_ja.html
    M src/test/java/hudson/plugins/git/AbstractGitProject.java
    M src/test/java/hudson/plugins/git/AbstractGitTestCase.java
    M src/test/java/hudson/plugins/git/GitChangeLogParserTest.java
    M src/test/java/hudson/plugins/git/GitChangeSetBasicTest.java
    M src/test/java/hudson/plugins/git/GitChangeSetEuroTest.java
    A src/test/java/hudson/plugins/git/GitChangeSetTruncateTest.java
    M src/test/java/hudson/plugins/git/GitChangeSetUtil.java
    M src/test/java/hudson/plugins/git/GitPublisherTest.java
    M src/test/java/hudson/plugins/git/GitSCMTest.java
    M src/test/java/hudson/plugins/git/GitStatusCrumbExclusionTest.java
    M src/test/java/hudson/plugins/git/UserMergeOptionsTest.java
    M src/test/java/hudson/plugins/git/browser/BitbucketWebTest.java
    M src/test/java/hudson/plugins/git/browser/GitLabTest.java
    A src/test/java/hudson/plugins/git/browser/GitLabWorkflowTest.java
    M src/test/java/hudson/plugins/git/browser/GitListTest.java
    M src/test/java/hudson/plugins/git/browser/GitWebTest.java
    M src/test/java/hudson/plugins/git/browser/GithubWebTest.java
    M src/test/java/hudson/plugins/git/browser/GitoriousWebTest.java
    M src/test/java/hudson/plugins/git/browser/GogsGitTest.java
    M src/test/java/hudson/plugins/git/browser/KilnGitTest.java
    M src/test/java/hudson/plugins/git/browser/RedmineWebTest.java
    M src/test/java/hudson/plugins/git/browser/RhodeCodeTest.java
    M src/test/java/hudson/plugins/git/browser/ViewGitWebTest.java
    M src/test/java/hudson/plugins/git/extensions/GitSCMExtensionTest.java
    A 
src/test/java/hudson/plugins/git/extensions/impl/AuthorInChangelogTest.java
    M src/test/java/hudson/plugins/git/extensions/impl/CheckoutOptionTest.java
    A 
src/test/java/hudson/plugins/git/extensions/impl/CleanBeforeCheckoutTest.java
    A src/test/java/hudson/plugins/git/extensions/impl/CleanCheckoutTest.java
    A src/test/java/hudson/plugins/git/extensions/impl/CloneOptionTest.java
    A src/test/java/hudson/plugins/git/extensions/impl/GitLFSPullTest.java
    A 
src/test/java/hudson/plugins/git/extensions/impl/IgnoreNotifyCommitTest.java
    A src/test/java/hudson/plugins/git/extensions/impl/LocalBranchTest.java
    M src/test/java/hudson/plugins/git/extensions/impl/PreBuildMergeTest.java
    A src/test/java/hudson/plugins/git/extensions/impl/PruneStaleBranchTest.java
    A 
src/test/java/hudson/plugins/git/extensions/impl/SparseCheckoutPathTest.java
    M src/test/java/hudson/plugins/git/extensions/impl/SubmoduleOptionTest.java
    A src/test/java/hudson/plugins/git/extensions/impl/UserIdentityTest.java
    A src/test/java/hudson/plugins/git/extensions/impl/WipeWorkspaceTest.java
    M src/test/java/hudson/plugins/git/util/BuildDataTest.java
    A src/test/java/hudson/plugins/git/util/BuildTest.java
    M src/test/java/hudson/plugins/git/util/CandidateRevisionsTest.java
    M src/test/java/hudson/plugins/git/util/CommitTimeComparatorTest.java
    M src/test/java/hudson/plugins/git/util/DefaultBuildChooserTest.java
    M 
src/test/java/jenkins/plugins/git/AbstractGitSCMSourceRetrieveHeadsTest.java
    M src/test/java/jenkins/plugins/git/AbstractGitSCMSourceTest.java
    M src/test/java/jenkins/plugins/git/AbstractGitSCMSourceTrivialTest.java
    M src/test/java/jenkins/plugins/git/CliGitCommand.java
    A src/test/java/jenkins/plugins/git/GitRemoteHeadRefActionTest.java
    M src/test/java/jenkins/plugins/git/GitSCMFileSystemTest.java
    A src/test/java/jenkins/plugins/git/GitSCMSourceContextTest.java
    A src/test/java/jenkins/plugins/git/GitSCMSourceDefaultsTest.java
    M src/test/java/jenkins/plugins/git/GitSCMSourceTest.java
    M src/test/java/jenkins/plugins/git/GitSCMSourceTraitsTest.java
    M src/test/java/jenkins/plugins/git/GitSCMTelescopeTest.java
    M src/test/java/jenkins/plugins/git/GitSampleRepoRule.java
    A src/test/resources/hudson/plugins/git/browser/rawchangelog-with-escape
    M 
src/test/resources/jenkins/plugins/git/GitSCMSourceTraitsTest/pimpped_out.xml

  Log Message:
  -----------
  Merge branch 'master' into jk-dont-store-build-data


  Commit: f97765bd86212b60bb63460e93e9287d15847cbf
      
https://github.com/jenkinsci/git-plugin/commit/f97765bd86212b60bb63460e93e9287d15847cbf
  Author: Jacob Keller <[email protected]>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M src/main/java/hudson/plugins/git/GitSCM.java

  Log Message:
  -----------
  GitSCM: remove the unnecessary fixNull for strings

There's no reason to implement a fixNull for strings, since Util already
provides one.

Signed-off-by: Jacob Keller <[email protected]>


  Commit: 63afee640c638f67753733701a79e0cc6614b029
      
https://github.com/jenkinsci/git-plugin/commit/63afee640c638f67753733701a79e0cc6614b029
  Author: Jacob Keller <[email protected]>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M src/main/java/hudson/plugins/git/util/BuildDetails.java

  Log Message:
  -----------
  BuildDetails: remove the clone interface

Currently no one actually calls clone on a BuildDetails. Remove the
clone interface. If we do end up needing to implement copying of
a BuildDetails, we should implement a copy constructor.

Signed-off-by: Jacob Keller <[email protected]>


  Commit: 649d07949171afe1b29f644bddb4ab3d6114d850
      
https://github.com/jenkinsci/git-plugin/commit/649d07949171afe1b29f644bddb4ab3d6114d850
  Author: Jacob Keller <[email protected]>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M src/main/java/hudson/plugins/git/GitRevisionBuildParameters.java
    M src/main/java/hudson/plugins/git/GitSCM.java
    M src/main/java/hudson/plugins/git/util/BuildData.java
    M src/main/java/hudson/plugins/git/util/BuildDetails.java
    M src/test/java/hudson/plugins/git/RevisionParameterActionTest.java

  Log Message:
  -----------
  BuildDetails: mark data fields as private

Also mark the build field as final so that it cannot be modified after
object creation.

Update the callers to use the getters when accessing the now private
fields.

Signed-off-by: Jacob Keller <[email protected]>


  Commit: 8eff95373d11e88565deb2edddf52ed95dbe3e5d
      
https://github.com/jenkinsci/git-plugin/commit/8eff95373d11e88565deb2edddf52ed95dbe3e5d
  Author: Jacob Keller <[email protected]>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M src/main/java/hudson/plugins/git/util/BuildDetails.java

  Log Message:
  -----------
  BuildDetails: fix a typo in getDisplayName

Signed-off-by: Jacob Keller <[email protected]>


  Commit: 0cd73537a74da340be553424b1eb32acb673d1a4
      
https://github.com/jenkinsci/git-plugin/commit/0cd73537a74da340be553424b1eb32acb673d1a4
  Author: Jacob Keller <[email protected]>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M src/main/java/hudson/plugins/git/util/BuildDetails.java

  Log Message:
  -----------
  BuildDetails: remove the unused constructors

These constructors were carried over as part of copying BuildData, but
are unnecessary. Lets just remove them. Future code can add new
constructors if/when they become useful.

Signed-off-by: Jacob Keller <[email protected]>


  Commit: 543ae9d77a51cf3e3dd59d4cbe1e77f5fcb4753d
      
https://github.com/jenkinsci/git-plugin/commit/543ae9d77a51cf3e3dd59d4cbe1e77f5fcb4753d
  Author: Jacob Keller <[email protected]>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    R 
src/main/resources/hudson/plugins/git/util/BuildDetails/index_it.properties
    R 
src/main/resources/hudson/plugins/git/util/BuildDetails/index_ja.properties
    R 
src/main/resources/hudson/plugins/git/util/BuildDetails/summary_it.properties
    R 
src/main/resources/hudson/plugins/git/util/BuildDetails/summary_ja.properties

  Log Message:
  -----------
  BuildDetails: remove translation files

It's best to just let real translators handle the work of translation to
ensure that it is accurate.

Signed-off-by: Jacob Keller <[email protected]>


  Commit: bd6236b028d94dd514aca3b432bba4c45301bf0e
      
https://github.com/jenkinsci/git-plugin/commit/bd6236b028d94dd514aca3b432bba4c45301bf0e
  Author: Jacob Keller <[email protected]>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M src/main/java/hudson/plugins/git/util/BuildDetails.java

  Log Message:
  -----------
  BuildDetails: do not implement readResolve

Instead of implementing readResolve to convert a null remotes
collection, just mark the remote collection as @NonNull

Signed-off-by: Jacob Keller <[email protected]>


  Commit: 48dd67eb4037a4562916fcb3d10770cfafa09d34
      
https://github.com/jenkinsci/git-plugin/commit/48dd67eb4037a4562916fcb3d10770cfafa09d34
  Author: Jacob Keller <[email protected]>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M src/main/java/hudson/plugins/git/util/BuildDetails.java

  Log Message:
  -----------
  remove Clonable interface from BuildDetails

Signed-off-by: Jacob Keller <[email protected]>


  Commit: 074e06ac09b813726c11564e6082dedd31a37cb2
      
https://github.com/jenkinsci/git-plugin/commit/074e06ac09b813726c11564e6082dedd31a37cb2
  Author: Jacob Keller <[email protected]>
  Date:   2019-01-02 (Wed, 02 Jan 2019)

  Changed paths:
    M src/main/java/hudson/plugins/git/util/BuildDetails.java

  Log Message:
  -----------
  no need to check null on remoteUrls since it's @NonNull

Signed-off-by: Jacob Keller <[email protected]>


  Commit: 1cbfc3453be66caa45faf07e11d0e05b0c06ff10
      
https://github.com/jenkinsci/git-plugin/commit/1cbfc3453be66caa45faf07e11d0e05b0c06ff10
  Author: Jacob Keller <[email protected]>
  Date:   2019-01-03 (Thu, 03 Jan 2019)

  Changed paths:
    M src/main/java/hudson/plugins/git/extensions/impl/PreBuildMerge.java

  Log Message:
  -----------
  don't store BuildData in PreBuildMerge extension

The PreBuildMerge extension attempted to extend the BuildData and save
an indication that the build failed on the new merged revision. However,
this is now incorrect and will continue to promulgate the BuildData
action.

Fix this by having the extension store a BuildDetails instead.

Signed-off-by: Jacob Keller <[email protected]>


  Commit: d77f380de81404758970f52b3b90f3e6d04ca7c7
      
https://github.com/jenkinsci/git-plugin/commit/d77f380de81404758970f52b3b90f3e6d04ca7c7
  Author: Mark Waite <[email protected]>
  Date:   2019-01-21 (Mon, 21 Jan 2019)

  Changed paths:
    M src/main/java/hudson/plugins/git/GitRevisionBuildParameters.java
    M src/main/java/hudson/plugins/git/GitSCM.java
    M src/main/java/hudson/plugins/git/extensions/impl/PreBuildMerge.java
    M src/main/java/hudson/plugins/git/util/BuildData.java
    A src/main/java/hudson/plugins/git/util/BuildDetails.java
    A src/main/resources/hudson/plugins/git/util/BuildDetails/index.jelly
    A src/main/resources/hudson/plugins/git/util/BuildDetails/summary.jelly
    M src/test/java/hudson/plugins/git/GitSCMTest.java
    M src/test/java/hudson/plugins/git/RevisionParameterActionTest.java
    M src/test/java/hudson/plugins/git/util/BuildDataTest.java
    M src/test/java/jenkins/plugins/git/GitStepTest.java

  Log Message:
  -----------
  Merge pull request #578 from jacob-keller/jk-dont-store-build-data

[JENKINS-19022] rebuild BuildData objects instead of storing them in the 
build.xml


Compare: 
https://github.com/jenkinsci/git-plugin/compare/bec2d60c9f66...d77f380de814
      **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to