PERFORCE DEFECT TRACKING INTEGRATION RELEASE NOTES FOR RELEASE 2.0.0 Nick Barnes, Ravenbrook Limited $Date: 2003/06/02 $ CONTENTS 1. Introduction 2. Supported configurations 3. Getting support 4. Project contacts 5. What's new 5.1. What's new in release 2.0.0 5.2. What was new in release 1.5.3 5.3. What was new in release 1.5.2 5.4. What was new in release 1.5.1 5.5. What was new in release 1.5.0 5.6. What was new in release 1.4.2 5.7. What was new in release 1.4.1 5.8. What was new in releases up to 1.4.0 A. References B. Document history C. Copyright and licence 1. INTRODUCTION These are the release notes for release 2.0.0 of the Perforce Defect Tracking Integration (P4DTI). The P4DTI connects your defect tracking system to Perforce, so that you don't have to switch between them and enter duplicate information about your work. It also links changes made in Perforce with defect tracker issues, making it easy to find out why a change was made, find the work that was done to resolve an issue, or generate reports relating issues to files or codelines. For instructions on installing the P4DTI, see the product readme (readme.txt). For up-to-date information about releases of the P4DTI, see the product information page . From there you will find links to the latest releases, including reports of defects found. If you want to adapt or extend the P4DTI, please go to the product information page and download the Integration Kit. It contains full source code and documentation to help you. The readership of this document is anyone who wants to download and use the Perforce Defect Tracking Integration. This document is not confidential. 2. SUPPORTED CONFIGURATIONS Perforce versions: - Perforce 2000.2, 2001.1, 2002.1, or 2002.2, on any platform; The Bugzilla for Unix integration supports: - Bugzilla 2.14.5 or 2.16.3 on Red Hat Linux 7.3 or Solaris, storing the data in MySQL 3.22.19 or later; - Python 1.5.2, 2.0, or later; - Running the P4DTI replicator on any Unix. Use of Bugzilla 2.14.4, 2.16.1, or 2.16.2 on Red Hat Linux 7.3 or Solaris is also supported, but is deprecated: support may be dropped in a future version of the P4DTI. Support for Python 1.5.2 is deprecated, and may be dropped in a future version of the P4DTI. Note that although the Bugzilla integration runs on a variety of Unix operating systems, we've only tested it on Red Hat Linux 7.3. Also note that the P4DTI will not be able to run Bugzilla's "processmail" script unless it is running on the same machine as Bugzilla itself. The Bugzilla for Windows integration supports: - Bugzilla 2.14.5 on Windows NT4 or Windows 2000; - Python 2.0 or later with Win32 plug-ins; - Running the P4DTI replicator on Windows NT 4 or Windows 2000. No earlier or later version of Bugzilla is supported on Windows at this time. Integration with TeamShare's TeamTrack is no longer supported by Perforce Software, or by this software. An integration is available from TeamShare. Contact TeamShare support by writing to or see the TeamShare web site at for further information. 3. GETTING SUPPORT For problems relating to Perforce or the P4DTI in general, contact Perforce Support by writing to or see the technical support page at for contact information. Bugzilla is not supported by any one person or organization. Consult the documentation that came with Bugzilla, or visit . 4. PROJECT CONTACTS You may want to join the p4dti-discussion mailing list. The goals of the list are: 1. to provide feedback to the project on requirements, design, implementation, etc.; 2. to allow people to exchange information and experience with using and adapting the project; 3. to keep people informed about project progress. To join, send a message with the word "subscribe" in the _body_ to or send the word "help" for general information. Please note that the mailing list will be archived and the archive may be published. 5. WHAT'S NEW This section lists defects that have been fixed. 5.1. WHAT'S NEW IN RELEASE 2.0.0 ESSENTIAL job000110: Replicator falls over if you copy an issue in TeamTrack If you do a copy transition in TeamTrack, then the replicator can't cope with the new issue. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000192: TeamTrack triggers are not run after a transition by the replicator A beta tester found that a case transition caused by the P4DTI did not run the tTrack triggers associated with the transition. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000521: AG doesn't say to run "p4dti.reg" on TeamTrack server The P4DTI Teamtrack integration includes a file called "p4dti.reg", used for modifying the Windows Registry. The modification indicates to TeamTrack that the P4DTI is installed. The installation procedure [1] includes the necessary instructions for running p4dti.reg, but does not state that this should be done on the TeamTrack server (as opposed to the P4DTI server, which may be a different machine). The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000522: P4DTI may fail if Perforce client exists and is broken The P4DTI creates a Perforce client when it first runs. The client name is "p4dti-" concatenated with the machine name (as returned by Python's socket.gethostname() function). This Perforce client may already exist, and may have a clientspec which is broken in such a way that it prevents the P4DTI from running, as reported by a customer [1]. job000598: Damaged memory block in TeamTrack Python API Using Python 2.2 on sandpiper, compile n Visual C++ a debug build of teamtrack50.pyd. Then run the test test_teamtrack.py. Some way into the test, an error appears in a dialog box. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000600: Automated tests fail for TeamTrack test_p4dti.py under Windows using TeamTrack fails with an "Illegal configuration parameters" message for the p4_password parameter. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000619: P4DTI TeamTrack integration can't be used with Python 2.2. The Python TeamTrack interface ".pyd" files need to be built differently to work with Python 2.2. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000627: P4DTI supports TeamTrack, but Perforce doesn't The P4DTI claims to support TeamTrack integration, but Perforce (and Ravenbrook) no longer supports, maintains, or develops the TeamTrack integration. This has been handed over to TeamShare, who will support, maintain, and develop the integration from now on. job000645: Readme reference has incorrect section numbers In the readme.txt file, section 2.1 says "Install the P4DTI as normal (see sections 2.2 to 2.4 below)". The sections on installing the P4DTI are actually numbered 2.2 to 2.5. job000692: replicate_p documentation needs more examples The replicate_p configuration parameter in the P4DTI allows administrators to select particular issues from the defect tracker for replication. This is documented briefly in the AG and somewhat more extensively in the AAG, but the documentation is still a little sparse. In particular, there is only one example for the Bugzilla integration (currently the only supported integration). job000693: Changing rid and running refresh script causes confusion If the administrator changes the 'rid' configuration parameter after the P4DTI has been installed and run, the replicator will no longer replicate the jobs and issues which it was previously replicating. This is correct behaviour, because those jobs and issues 'belong' to a different replicator (one with the old 'rid'). If the 'refresh.py' script is then run, it attempts to replicate all currently-replicated issues (or new issues which pass the replicate_p test). This is wrong: it should only attempt to replicate issues with the correct rid or new issues which pass the replicate_p test. A deeply confusing error message is generated (a _mysql_exceptions.IntegrityError message, with a lengthy backtrace): job000694: check_jobs doesn't work on Windows if .py file association is set If the .py file association is set on Windows (so typing "p4" runs Python on p4.py), then running the check_jobs.py script in the P4DTI install directory fails with a misleading error message: job000695: AG doesn't specify using P4 'admin' access level Perforce 2002.2 introduces a new access level called 'admin', which has exactly the capabilities required for the P4DTI replicator user. The existing documentation (AG section 5.2.1 [1]) states that the replicator user has to be a "super user", which is no longer true. job000696: P4DTI documentation covers old defect tracker versions The P4DTI documentation is out-of-date with respect to the currently-supported versions of defect trackers. Specifically, TeamTrack is no longer supported at all, and neither are releases of Bugzilla prior to 2.14.4 (on Windows and Linux/Unix) and 2.16.1 (on Linux/Unix). job000698: P4DTI installation docs are lengthy and confusing Installing the P4DTI is not actually hard, but the documentation may make it appear so. The AG devotes thousands of words to describing the installation and initial configuration of the P4DTI. OPTIONAL job000231: Perforce state field contains bogus states if replicating a subset of projects from TeamTrack If you're using the replicate_p configuration parameter to limit the replicated issues to a subset of projects in TeamTrack, then it's annoying that the legal values for the Perforce state field include states from projects and workflows that aren't being replicated. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000246: TeamTrack silently resets incorrect fields If a value in a single-select field is disabled for a project, and I use Perforce to set that field to the disabled value in a job belonging to that project, then TeamTrack silently resets the value for that field to (None). The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000247: No error message from TeamTrack if you edit a job as a user with no TeamTrack userid If I'm logged into Perforce as a user with no corresponding user in TeamTrack and I edit a job, then I get an e-mail with the unhelpful error message "(no message from the TeamShare API)". The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000260: Special HTML chars in change descriptions not escaped by TeamTrack Angle brackets and other special HTML characters aren't escaped as ">" etc. by TeamTrack in the fixes table. For example, a change description like "foo baz" looks like "foo baz" because the browser thinks "bar" is HTML markup. It needs to be output as "foo <bar> baz". Similarly, "foo & baz" should be output as "foo & baz". The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000279: Consistency checking and refreshing take unacceptably long in the TeamTrack integration When there are many cases in TeamTrack, the consistency checker and the refresh script take unacceptably long to run. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000280: Issue name changes in TeamTrack not reflected in Perforce You can change the name of an issue in TeamTrack by changing its issue type. However, the job remains unchanged. So the issue might have started out as BUG00123, and then be changed to ENH00123, but it's still replicated to BUG00123 in Perforce. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000282: No support for TeamShare hosted defect tracking TeamShare provide hosted defect tracking with their "TeamTrack Online" service . The P4DTI does not support this service. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000341: TeamTrack integration doesn't work with Python 2.1 If you have Python 2.1 installed, and you try running the TeamTrack integration without also installing Python 2.0, then it doesn't work, because it needs Python20.dll. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000368: TeamTrack on a secure web server is not supported. If you try to connect the P4DTI to a TeamTrack server running on a secure web server, then the replicator hangs for a minute or so, then stops with "TeamShare API error: SERVER_ERROR: Server error: -1." The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000374: TeamTrack integration is slow because it reads too many change records The P4DTI reads all records from the TS_CHANGES table since the last time it replicated. But some of those records are for changes to fields that aren't replicated. This wastes time. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000424: No support for migrating users to TeamTrack The P4DTI provides no automated support for migrating users from Perforce to TeamTrack. So you have to create them all by hand. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000503: replicate_p for TeamTrack is too hard. The replicate_p configuration parameter is hard to write for TeamTrack, because the example in the AG is not ideal and because project IDs are not readily available to TeamTrack administrators. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000517: TeamTrack ignores job_url parameter The TeamTrack user interface doesn't use the job_url parameter of the P4DTI. This is intended to provide a link to a web interface to jobs. The P4DTI adds it to the TeamTrack database in an analogous way to the changelist_url parameter. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000520: Teamtrack integration does not check that p4dti.reg has been run The P4DTI Teamtrack integration includes a file called "p4dti.reg", used for modifying the Windows Registry. The modification indicates to TeamTrack that the P4DTI is installed, and that TeamTrack should therefore display Perforce information in the "Version Control History" section of an issue record. The installation procedure [1] includes the necessary instructions for running p4dti.reg. If the administrator does not run p4dti.reg, the "Version Control History" does not show Perforce information. The P4DTI does not check that p4dti.reg has been run. In principle it could perform such a check and generate a suitable warning message. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . NICE job000061: Fixes are invisible in TeamTrack by default The fixes table only shows up in a case in TeamTrack if the user has checked the "version control" option in their profile. By default, it's unchecked. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000153: "despot" not supported by Bugzilla integration There is an LDAP tool called "Despot", developed and used for Mozilla to manage users, user groups, module ownership, etc. There is a switch in Bugzilla to use Despot for these purposes. The P4DTI Bugzilla integration doesn't support it. Despot support was dropped from Bugzilla version 2.16, so this is no longer a defect in the P4DTI. job000248: Changelist links in TeamTrack go to frame, not whole page If the changelist_url is set up and working, then if you click on one of the changelist links in the "Perforce fixes" table in TeamTrack, the changelist information shows up in the frame, not filling the whole page. This looks poor, because the TeamTrack look-and-feel is very different from the P4Web look and feel. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000373: TeamTrack integration doesn't support primary tables other than TS_CASES/TTT_ISSUES Some TeamShare customers use tables other than TS_CASES and TTT_ISSUES to put their defects in. They can select exactly which fields to include in their table of defects, and which defects go where. This improves performance. However, the P4DTI only support TS_CASES or TTT_ISSUES. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . job000458: P4DTI doesn't automatically detect TeamTrack version The P4DTI doesn't automatically detect the version of the TeamTrack server when it starts up. This means that the P4DTI administrator has to specify the version, and that means that they might get it wrong. The error messages are very obscure when the TeamTrack server version is incorrect. The P4DTI TeamTrack integration is now maintained and supported by TeamShare . 5.2. WHAT WAS NEW IN RELEASE 1.5.3 ESSENTIAL job000642: AG "patching Bugzilla" section needs to explain "patch" for Windows The P4DTI for Bugzilla needs to apply a patch to Bugzilla using the program "patch". This program is provided as standard on Unix and Linux, but not on Windows. In the AG, section 3.4.1 "Software Prerequisites", we say that "patch" is required and provide a link to an implementation of "patch" for Windows. However, this information is not included in section 5.4.1, "Patching Bugzilla", which a user installing the P4DTI will be reading when "patch" is actually required. job000643: Perforce 2002.2 not supported The Perforce 2002.2 release is imminent. The P4DTI works with this release but does not say so in the documentation (in particular in the release notes). job000644: Broken WinZip registration causes embarrassing message The copy of WinZip on our release build machine (sandpiper.ravenbrook.com) is licensed, but somehow lost its license key between P4DTI release 1.4.2 and P4DTI release 1.5.0. Running a self-extracting archive created with this copy of WinZip now displays a message: "This copy of WinZip Self-Extractor is NOT LICENSED for distribution. Any distribution of this file is prohibited and is a violation of US Copyright Law and international treaty." This looks bad. 5.3. WHAT WAS NEW IN RELEASE 1.5.2 ESSENTIAL job000633: Readme.txt has an installer filename wrong The P4DTI readme file, readme.txt, says 'On the Bugzilla Windows machine, run the "p4dti-bugzillawin-1.5.1.exe" installer program that came with this document.' The installer program is actually called "p4dti-bugzilla-1.5.1.exe". job000635: AG doesn't offer "patch" utility for Windows Installing the P4DTI for Bugzilla requires the use of the utility "patch". This is not standard on Windows, and the P4DTI for Bugzilla is now supported on Windows. The AG should explain that "patch" has to be installed, and offer a source of it for Windows. Our test machine has Cygwin installed, which comes with "patch". job000636: Applying Bugzilla patch can put file in wrong place The Bugzilla 2.16.1 patch provided with the P4DTI includes the entirety of a a new file, template/en/custom/bug/edit.html.tmpl. If the patch is applied simply with "patch < bugzilla-2.16.1.patch", this new file is created in the main bugzilla directory. job000637: MySQLdb RPM depends on mx Python module which may not be present The Bugzilla P4DTI requires the Python "MySQLdb" package, to connect to the MySQL database containing the Bugzilla data. This package is available in various forms. The AG links to an RPM for MySQLdb 0.9.1 for Red Hat Linux 7.3. This RPM requires another package, called "mx", to be present in order to install successfully. The AG should either link to an RPM which doesn't require mx or should mention that this mx package is necessary and provide a link to it. OPTIONAL job000632: AG says "doeditparams.pl" not "doeditparams.cgi" In describing the Bugzilla patch, the AG states that it modifies the file "doeditparams.pl". The actual name of this file is "doeditparams.cgi". 5.4. WHAT WAS NEW IN RELEASE 1.5.1 CRITICAL job000628: Bugzilla 2.16 and 2.16.1 patches are broken The patches provided with P4DTI 1.5.0 for Bugzilla 2.16 and 2.16.1 are broken. Using the Bugzilla bug form with these patches results in a "Software error" message in the Bugzilla user interface, complaining about global symbols "$rid" and "$sid": 5.5. WHAT WAS NEW IN RELEASE 1.5.0 ESSENTIAL job000324: Bugzilla patch doesn't work well on Solaris 8 A user reported problems with the Bugzilla 2.10 patch on Solaris 8. The patch applies correctly (if 'patch' is invoked twice) but generates error messages. Apparently the version of 'patch' which comes with Solaris 8 is not capable of applying a regular unified diff patch to more than one file at once, at least not invoked in the usual way. job000389: Bugzilla integration not supported on Windows Bugzilla can be made to work on Windows but the P4DTI is not supported on Windows. job000533: p4_user with wrong email address confuses Bugzilla user translator In the Bugzilla integration, if the P4DTI's perforce user (configuration item p4_user) does not have an email address matching the P4DTI's Bugzilla user (configuration item replicator_address) then the user translator will translate that Perforce user to the P4DTI's Bugzilla user, even if there is a separate Bugzilla user with email address matching that Perforce user. In other words, the translations in the two directions do not match each other. job000551: P4DTI kit for Unix has DOS line endings Since the release build procedure was automated we've been creating integration kits for Unix with DOS line endings. job000552: Bugzilla for Windows integration is in separate source tree A port of P4DTI to Bugzilla for Windows was done by Parrus Technologies and released by at Perforce. Perforce have asked us to integrate it with the master sources. job000607: Bugzilla 2.16.1 not supported Bugzilla 2.16.1 has been released (on 2002-09-30) and is not yet supported by the P4DTI. job000608: Bugzilla 2.14 security patch releases not supported. Bugzilla 2.14.2, 2.14.3, and 2.14.4 have been released as security patch releases to Bugzilla. None of them are currently supported by the P4DTI. We should at least support the most recent patch release (currently 2.14.4). job000609: Test suite for Bugzilla on Windows doesn't work The test suite doesn't support testing for Bugzilla on Windows. To properly support the P4DTI for Bugzilla on Windows (job000389) we have to make the test suite work there. job000610: Bugzilla/Windows integration doesn't support processmail The integration for Bugzilla on Windows doesn't support the use of processmail. The processmail scripts are deferred correctly but then can't be executed because of a limitation of the use of CMD on Windows (can't change directory and run a command with one invocation of os.system()). job000611: TeamTrack test database licenses expired The Teamtrack test databases have licenses which have expired. We need new licenses to enable us to test TeamTrack support. job000613: TeamTrack interface MSVC workspace is confused code/p4dti.dsw and related files control the build of the Python Teamtrack interface on Windows. Unfortunately they have become a little confused: some build (in debug mode) for Python 1.5.2, there is a redundant file, there is a non-existent project ("p4dti"), they have acquired some relative links, and so on. job000614: TeamTrack tests run when configured for Bugzilla on Windows The automated tests for the Python TeamTrack interface run when running the complete automated test suite for the integration with Bugzilla on Windows. job000615: Bugzilla shows extra changelists with multiple Perforce servers When integrating a Bugzilla with more than one Perforce server, the fixes table in a Bugzilla bug with fixes from one Perforce server will show the changelists from all Perforce servers with matching changelist numbers. OPTIONAL job000612: Bugzilla integration doesn't check use_windows_event_log config parameter The Bugzilla integration can now run on Windows. On that platform, the config file may contain a use_windows_event_log parameter. The value of this parameter must be checked (to be 0 or 1). job000616: Linux/Unix system log usage not configurable Under Linux and Unix the P4DTI replicator will send log messages to the system log. The corresponding functionality under Windows is controlled by a configuration parameter "use_windows_event_log". The Linux/Unix system log can theoretically filter out P4DTI messages (with syslog.conf) but it is a good idea to provide a configuration switch as well. job000617: Test suite not very useful under Python 2.2 Changes made to the PyUnit unit test framework between Python 2.1 and Python 2.2 have reduced the utility of the P4DTI test suite. In particular, running a set of tests only produces a list of single-character results ("." for a pass, "F" for a failure, "E" for an error) while the tests are running, preventing any sort of analysis until the run completes. 5.6. WHAT WAS NEW IN RELEASE 1.4.2 ESSENTIAL job000512: Bugzilla P4DTI doesn't work with Python 2.2 The Bugzilla P4DTI inadvertently uses a feature of Python that doesn't work in Python 2.2. Running the P4DTI with Python 2.2 gives an error in the use of has_key at line 412 of bugzilla.py. 5.7. WHAT WAS NEW IN RELEASE 1.4.1 CRITICAL job000461: Bugzilla integration doesn't support multiple Perforce servers The Bugzilla integration doesn't work with multiple Perforce servers. The second replicator instance will fail. ESSENTIAL job000437: Jobspec not suitable for creating new jobs The P4DTI creates a Perforce jobspec that's fine for jobs which are replicated from the defect tracker, but not so good for jobs that are created in Perforce. job000478: TeamTrack 5.02 is supported The P4DTI currently supports TeamTrack 4.5, 5.0, 5.02, and 5.5 (see also job000409 and job000433). This adds to the support burden at Perforce and TeamTrack. Perforce have asked that the set of supported platforms be changed. Specifically, TeamTrack 5.01 and 5.02 should _not_ be supported, and the documentation should recommend that customers upgrade to TeamTrack 5.5. job000483: refresh.py comments are out-of-date The comments in refresh.py indicate that the script will "delete all the jobs on the Perforce server" and refresh them from the defect tracker. This is incorrect; refresh.py no longer deletes any jobs. job000491: jobspec has bad defaults for optional user fields In the Bugzilla integration, if the administrator has added a user field (e.g. 'reporter', 'qa_contact') to replicated_fields, creating jobs in Perforce with the default value of this field will fail. job000494: Bugzilla integration fails if qa_contact is in replicated_fields There is a Bugzilla field "qa_contact", which holds the User name of the "QA contact" assigned to a bug. This may be zero, if the Bugzilla parameter "useqacontact" is turned off, or if there is no QA contact assigned (for instance, if there is no initial QA contact for the component against which this bug is reported). If this field is zero, and the P4DTI is configured to replicate this field to Perforce (i.e. if 'qa_contact' is in replicated_fields in config.py) then the P4DTI will fail. job000501: new jobs break TeamTrack integration if LASTMODIFIEDDATE or SUBMITDATE are replicated In the TeamTrack integration, if either of the fields LASTMODIFIEDDATE and SUBMITDATE are replicated (i.e. are in the replicated_fields configuration parameter) and the P4DTI is set up to replicate new jobs (i.e. replicate_job_p is defined to return 1), and a new job is created without filling in these fields, the P4DTI fails. OPTIONAL job000408: Table of Bugzilla fields in AG is incomplete for Bugzilla 2.14 The Administrator's Guide has a table in section 5.1.5 listing the fields in a Bugzilla bug. The set of fields has changed in Bugzilla 2.14, with the addition of four new fields (reporter_accessible, qacontact_accessible, cclist_accessible, assignee_accessible). These fields are not really suitable for replication, but they should be added to the table in any case. job000492: Test suite doesn't cope with 'reporter' in replicated_fields If you add 'reporter' to replicated_fields in test/config_swan.py, the test suite fails in test_p4dti.py:migrate, saying there's no Bugzilla user corresponding to Perforce user ''. This is because the translate_jobspec function provided by that test doesn't provide a 'reporter' field (required by the new jobspec, but not present in the migrated jobs). job000493: Bugzilla migration fails if delta_ts in replicated_fields If the delta_ts field (the timestamp of the most recent change to a Bugzilla bug) is included in the replicated_fields configuration item, and the user's translate_jobspec function doesn't fill it in, migration will fail. job000495: Test suite doesn't cope with 'qa_contact' in replicated_fields If you add 'qa_contact' to replicated_fields in test/config_swan.py, the test suite fails in test_p4dti.py:migrate, saying there's no Bugzilla user corresponding to Perforce user ''. This is because the translate_jobspec function provided by that test doesn't provide a 'QA_Contact' field (required by the new jobspec, but not present in the migrated jobs). job000496: Bugzilla integration breaks migration if numeric fields are replicated Bugzilla bugs include a small number of numeric fields. One is actually a bitset ('groupset'), one is a genuine number ('votes'), and the rest are actually booleans: 'everconfirmed', 'qacontact_accessible', 'cclist_accessible', 'assignee_accessible', 'reporter_accessible'. If one of these fields is in 'replicated_fields', then migrating jobs without a translate_jobspec function to fill in a numeric value for this field will cause the migration to fail. 5.8. WHAT WAS NEW IN RELEASE 1.4.0 For information about what was new in releases up to and including 1.4.0, see the release notes for that release: A. REFERENCES None. B. DOCUMENT HISTORY 2002-02-01 GDR Noted support for TeamTrack version 5.5. 2002-02-04 GDR Updated for release 1.4.0. 2002-03-14 NB Removed support for TeamTrack 5.02. 2002-04-09 NB Updated for release 1.4.1. 2002-04-19 NB Updated for release 1.4.2. 2002-06-04 GT Updated for Bugzilla on Windows 2000 port for release 1.4.2. 2002-06-26 RB Merged Bugzilla for Windows 2000 port into Ravenbrook sources. 2002-10-30 NB Tidied up in preparation for 1.5 releases. 2002-11-01 NB Updated for release 1.5.0. 2002-11-14 RB Removed TeamTrack support, as this has been handed off to TeamShare. 2002-11-20 NB Updated for release 1.5.1. C. COPYRIGHT AND LICENCE This document is copyright (C) 2002 Perforce Software, Inc. All rights reserved. Redistribution and use of this document in any form, with or without modification, is permitted provided that redistributions of this document retain the above copyright notice, this condition and the following disclaimer. THIS DOCUMENT IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Id: //info.ravenbrook.com/project/p4dti/release/2.0.0/release-notes.txt#1 $