= Bazaar-Perforce NEWS = == Introduction == The user stories listed below are complete. See also the TODO file in the same directory as this file. The estimated relative size of each story appears in square brackets ([]) following the story. The actual effort to complete the story follows the estimate. == 2009/09/24 == * As a user, I want to use bzr2p4 to migrate a given range of changes one-by-one from a Bazaar branch to a Perforce server. [3] [4 hours] == 2009/09/20 == * As a user, I want p4-fast-export to emit "from" fast-import commands so that `bzr fast-import` can use a marks file to perform robust incremental imports. [2] [3 hours] * As a user, I want to see no deprecation warnings when I run p4-fast-export.py. [3] [0.5 hours] == 2009/08/23 == * As a developer, I want the tests to use an "rsh" P4PORT instead of invoking p4d in the fixture, so that the remaining code is simpler. [1] [1 hour] * As a developer, I want to configure the port that p4d uses, so that I can run multiple instances of the test suite simultaneously on a single machine. [1] [0 hours] == 2009/08/16 == * As a developer, I want all tests to pass on Linux. [2] [2 hours] == 2009/02/22 == * As a user, I want p4-fast-export.py to handle a Perforce path with a large number of files at its head, without running out of memory. [5] [6 hours] == 2009/02/14 == * As a user, I want an automated tool to keep a Bazaar mirror in sync with a Perforce depot, without exporting all changes from Perforce on every sync. [1] [8 hours] == 2009/02/07 == * As a developer I want to automate mirroring the bzrp4 source in the Bazaar branch on Launchpad. [2] [2.5 hours] == 2009/02/01 == * As a developer, I want to improve the accuracy of test coverage information by importing Python modules rather than forking processes, so that I have more accurate information about what code is covered. [1] [14 hours] == 2009/01/19 == * As a developer, I want to fix a test regression that caused the test "test_git_p4__dogfood" to stop finding any Git revisions. [1] [2 hours] == 2009/01/14 == * As a developer, I want test coverage information, so that I know what legacy code most needs additional tests. [1] [7.5 hours] * Obtaining test coverage information for bzrp4 using BZR_PLUGIN_PATH requires a patch to Python's trace.py. See http://bugs.python.org/issue4943 == 2009/01/02 == * As a user, I want p4-fast-export to emit 'mark' commands, so that my Bazaar branch mirrors can remember Perforce changelist numbers in a structured way. [1] [1 hour] * As a developer I want to create a new bzrp4 Bazaar branch on Launchpad to mirror the new Perforce-hosted source history. [0.5] [2 hours] == 2009/01/01 == * As a developer, I want to identify a Perforce hosting service, if one exists, that I can use as the public, primary host for the bzrp4 source. [0.5] [0.5 hours] * As a developer, I want to migrate the bzrp4 source to the Perforce hosting service. [0.5] [0.5 hours] * As a developer, I want to use the following process to create and commit changes to bzrp4's source: 1. Mirror the bzrp4 source from a Perforce host to a Bazaar branch. 2. Branch from the Bazaar mirror branch. 3. Commit changes to the working branch. 4. Rebase changes onto new changes in the upstream mirror branch. 5. Repeat steps 3-4 as necessary. 6. Create a patch. 7. Apply the patch to a Perforce workspace. 8. Submit the change to the Perforce host. Note: Steps 6-8 will later be changed to use bzr2p4 or a similar tool to replay the changes one-by-one onto the Perforce server. [2] [10 hours] == 2008/12/29 == * As a user, I want bzr2p4 to migrate revisions in the order displayed by 'bzr log'. [1] [3.5 hours] == 2008/12/27 == * As a developer, I want to convert all bzrp4 source files to use UNIX line endings, so that there will be no migration ambiguity between Perforce and Bazaar. [0.5] [0.5 hours] == 2008/12/21 == * As a developer, I want to implement changes in bzr2p4 so that it can do a one-time migration of the bzrp4 source history from Bazaar to Perforce, where the migration preserves enough metadata to start using the Perforce server as the primary host for the bzrp4 source. [2] [7.75 hours] == 2008/12/10 == * As a user, I want p4-fast-export to work with bzr.dev, including revno 3841. [1] [1.5 hours] == 2008/12/01 == * As a user, I want p4-fast-export's output to use UNIX line endings. [1] [2 hours] * As a developer, I want bzr2p4 to be silent during tests that exercise it. [2] [1 hour] == 2008/11/14 == * As a user, I want a command-line program that produces a fast-export representation of a Perforce depot directory. [13] [12 hours] * As a user, I want p4-fast-export to export a content length prefix, instead of delimiters, to identify a content section, so that I can use it with importers that only support content length prefixes. [3] [0.5 hours] == 2008/10/30 == * As a developer, I want continuous integration, automatically triggered, for Windows test execution. [3] [11 hours] == 2008/08/16 == * As a user, I want bzr2p4 to migrate Bazaar revisions containing both a delete "file_a" and a rename from "file_b" to "file_a". [1] [6 hours] * As a user, I want bzr2p4 to migrate correctly Bazaar merge revisions that require undoing and redoing a rename. [3] [2 hours] == 2008/08/10 == * As a user, I want bzr2p4 to migrate Bazaar revisions containing both a rename and an add of the renamed file. [1] [2.5 hours] == 2008/08/09 == * As a developer, I want the tests to pass when run from the root of the branch, instead of assuming the current working directory is the tests subdirectory. [1] [1 hour] * As a developer, I want a test suite covering git-p4 sufficient to provide a safety net for refactoring. [8] [5 hours] == 2008/08/03 == * As a developer, I want bzr2p4 to migrate branches with merge revisions, so that test_dogfood passes. Previously, bzr2p4 failed on Bazaar revisions that had no changes. * As a developer, I want a way to easily run all tests. Now, `bzr selftest bzrp4` does the trick, assuming Bazaar can find bzr-p4 as a plugin named bzrp4. == 2008/08/02 == * As a developer, I want all tests to pass from a Windows DOS shell. * As a developer, I want all tests to pass from a Cygwin Bash shell.