Ticket #328 (closed defect: fixed)

Opened 5 years ago

Last modified 5 years ago

buildbot.changes.hgbuildbot: repo.changelog.extract renamed/changed

Reported by: xyld Owned by:
Priority: major Milestone: 0.7.9
Version: 0.7.8 Keywords: hg mercurial devtree
Cc: dustin

Description

In revision:

changeset:   5744:9db7fd77417d
user:        Matt Mackall <mpm@selenic.com>
date:        Thu Dec 27 23:55:40 2007 -0600
summary:     changelog: remove extract function
-    def extract(self, text):
+    def read(self, node):
         """
         format used:
         nodeid
        : manifest node in ascii
@@ -149,6 +146,7 @@
 
         changelog v0 doesn't use extra
         """
+        text = self.revision(node)
         if not text:
             return (nullid, "", (0, 0), [], "", {'branch': 'default'})
         last = text.index("

")
@@ -175,10 +173,7 @@
         files = l[3:]
         return (manifest, user, (time, timezone), files, desc, extra)
 
-    def read(self, node):
-        return self.extract(self.revision(node))
-

Please change buildbot.changes.hgbuildbot like:

diff -ru buildbot-0.7.7/buildbot/changes/hgbuildbot.py buildbot-0.7.7-patched/buildbot/changes/hgbuildbot.py
--- buildbot-0.7.7/buildbot/changes/hgbuildbot.py       2008-03-29 21:30:17.000000000 -0500
+++ buildbot-0.7.7-patched/buildbot/changes/hgbuildbot.py       2008-08-06 18:34:42.636308000 -0500
@@ -83,7 +83,7 @@
         for rev in xrange(start, end):
             # send changeset
             n = repo.changelog.node(rev)
-            changeset=repo.changelog.extract(repo.changelog.revision(n))
+            changeset=repo.changelog.read(n)
             change = {
                 'master': master,
                 # note: this is more likely to be a full email address, which

Thanks.

Change History

comment:1 Changed 5 years ago by xyld

Hmm. That fixed the mercurial state of affairs, however, it broke something nasty on buildbot/twisted side.

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/Twisted-8.1.0-py2.5-linux-x86_64.egg/twisted/internet/base.py", line 374, in fireEvent
    DeferredList(beforeResults).addCallback(self._continueFiring)
  File "/usr/lib/python2.5/site-packages/Twisted-8.1.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 195, in addCallback
    callbackKeywords=kw)
  File "/usr/lib/python2.5/site-packages/Twisted-8.1.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 186, in addCallbacks
    self._runCallbacks()
  File "/usr/lib/python2.5/site-packages/Twisted-8.1.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 328, in _runCallbacks
    self.result = callback(self.result, *args, **kw)
--- <exception caught here> ---
  File "/usr/lib/python2.5/site-packages/Twisted-8.1.0-py2.5-linux-x86_64.egg/twisted/internet/base.py", line 387, in _continueFiring
    callable(*args, **kwargs)
  File "/usr/lib/python2.5/site-packages/Twisted-8.1.0-py2.5-linux-x86_64.egg/twisted/internet/base.py", line 1002, in _handleSignals
    signal.signal(signal.SIGTERM, self.sigTerm)
exceptions.ValueError: signal only works in main thread

Any help would be awesome.

comment:2 Changed 5 years ago by xyld

Sorry. I guess I was using 0.7.7 when it blew up. 0.7.8 has fixed that. However, the original issue is still an issue. Please patch.

comment:3 Changed 5 years ago by dustin

  • Cc dustin added

comment:4 Changed 5 years ago by dustin

  • Status changed from new to closed
  • Resolution set to fixed

comment:5 Changed 5 years ago by dustin

  • Keywords devtree added
  • Status changed from closed to reopened
  • Resolution fixed deleted

comment:6 Changed 5 years ago by dustin

  • Milestone changed from undecided to 0.7.9

comment:7 Changed 5 years ago by warner

What version of mercurial was affected by that change? What sort of dependencies would this patch introduce? We may need to update the buildbot docs to say "only works with hg-1.x.x or higher" or something.

comment:8 Changed 5 years ago by djc

This changed between hg 0.9.5 and 1.0.

comment:9 Changed 5 years ago by djc

BTW, a better way of doing this in 1.0 would be through the use of a changectx(). That is, use ctx = repo.changectx(n), then ctx.manifest(), ctx.user(), etc.

comment:10 Changed 5 years ago by warner

  • Status changed from reopened to closed
  • Resolution set to fixed

committed. Feel free to add a new ticket with the changectx() improvement.

Note: See TracTickets for help on using tickets.