timja / jenkins-gh-issues-poc-06-18

0 stars 0 forks source link

[JENKINS-166] Some CVS/SVN changes might not be visible to users #8235

Closed timja closed 11 years ago

timja commented 17 years ago

There are two cases reported:

From Sven:
"I am not quite sure if I got this diagnosed correctly, but I will try
to describe what I assume is happening.

1. Hudson is polling SVN and detects changes.
2. Hudson triggers the build.
3. During SVN co (or update maybe) a network connection error occurs.
4. The build fails, no changelog
5. Manual restart of build (no further changes in the repository so far)
6. Successful build
7. Still no changelog

Seems Hudson gets confused in case the assumed chain of events is broken."

From Vladimir:
"I've seen similar behavior when, for example, I misconfigured SVN
settings (like, providing two URLs for two modules where one of the
modules does not exist due to error in URL), and then Hudson tries to
check out sources, fails for the second module, and no changes written
in the change log - so from the user's point of view some recent
changes in the first module will never be visible."

Kohsuke response:
"Hudson's changelog computation is based on comparing the current files
in the workspace vs the set of files after update.

So Vladimir's case makes sense to me. If the update of the 2nd module
failed, then the 1st module is already updated, so next time a build
runs it misses the update of the 1st module — that can be fixed by
making sure that changelogs are written per module."


Originally reported by vsizikov, imported from: Some CVS/SVN changes might not be visible to users
  • assignee: mc1arke
  • status: Resolved
  • priority: Major
  • resolution: Fixed
  • resolved: 2012-10-14T16:34:24+00:00
  • imported: 2022/01/10
timja commented 14 years ago

pcampbell:

I ran into this problem just yesterday so it's still an issue. My manager was very unhappy that the information he depends upon was not available.

My case...

Build started but the svn sync was not able to complete due to a network error. Build failed.

Restarted the build. Sync succeeded, build passed.

The failed build indicates that it was unable to retrieve the change log.

The successful build shows no changes.

Is there a way to manually update the change list that Hudson displays for a build?

timja commented 11 years ago

mc1arke:

I believe this is fixed (it works in the CVS plugin at least). SCM plugins can either do their polling as part of the checkout activity or following checkout. If there is an error during checkout which the plugin doesn't handle then the build is marked as failed and then it's down to the SCM plugin to work out what to do on the next build. CVS checks for changes and generate changelogs since the start time of the last successful build, other SCM plugins (Perforce, GIT, clearcase etc) may work differently but that would have to be raised as issues against those specific components