= Bazaar-Perforce TODO = == Introduction == See also the NEWS file in the same directory as this file. == User Stories == The User Stories below appear in priority order. The estimated relative size of each story appears in square brackets ([]) following the story. * As a developer, I want continuous integration, automatically triggered, for Windows test execution. [3] [2 hours] * As a user, I want a command-line program that produces a fast-export representation of a Perforce depot directory. [13] * As a user, I want documentation that describes the usage of "p4-fast-export". [1] * 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] [3.25 hours] * I may also need to test rm a; mv b a; edit a. * As a user, I want bzr2p4 to migrate correctly Bazaar merge revisions that are not rebased, not linear, and require undoing and redoing a rename. [3] [1.5 hours] * After merging my rename/readd fix: * test_git_p4__dogfood emits a p4 exit code of 1 to the console, but "passes" * test_bzr2p4__syncs_self_to_p4 fails * test_p4_fast_export__export_add fails (expected, not related) * I think the problem with bzr2p4 is on Bazaar merge revisions that are not linear and not rebased. * Things might go wrong at revision 69.1.1. Since it isn't rebased, it effectively has to undo changes 70 and 71. All that shows up as one Bazaar revision. I wonder if the general case requires n Perforce revisions to represent a Bazaar revision. * The case of 69.1.1 is a delete a followed by a rename from b to a in a single revision. The p4 submit in the dogfood test seems to work, though. * As a user, I want a command-line program that produces a Bazaar branch from a fast-export representation of a Perforce depot directory. (Does this already exist as bzr-fastimport?) [0.5] * As a developer, I want the application code not to depend on the p4 command-line client. [8] * As a developer, I want all tests to pass on Linux. [2] * As a developer, I want continuous integration, automatically triggered, for Linux test execution. [2] * As a developer, I want continuous integration, automatically triggered, for Cygwin test execution. [3] * As a user, I want bzr2p4 to show only the progress I care about instead of logging verbosely to the console. [3] * As a developer, I want bzr2p4 to be silent during tests that exercise it. [2] * As a user, I want the line endings of my files not to change during migration, so that my data is exactly the same before and after migration. (I'm not sure Perforce can do this.) [13] * As a user, I want the author of each Bazaar revision migrated to Perforce, so that I can easily see who created revisions in Perforce. [3] * As a user, I want migration of revisions with Perforce keywords to work correctly, so that I can migrate projects that use Perforce keywords. (Does this just need tests that demonstrate it works?) [3] * As a user, I want a suite of tools that facilitate creating a Bazaar branch from a Perforce depot, and submitting to a Perforce depot from a Bazaar branch. [?]