= 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 the application code not to depend on the p4 command-line client. [8] * As a developer, I want to remove unused code. [2] * As a user, I want to migrate the complete current head of a Perforce path to a Bazaar branch. [1] * I need to change the way pull.py computes and passes changelist ranges to git_p4.py. * 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] * I attempted to export a head containing 94,252 files, and p4-fast-export raised MemoryError in git_p4.P4Sync.readP4Files. It looks like it tries to keep the content of all files at a changelist number in memory. * As a user, I want to migrate the complete head as of a given changelist number from a Perforce path to a Bazaar branch. [5] * I need to change the way git_p4 receives and interprets changelist ranges. * As a developer, I want to cover pull.py with tests. [2] * As a user, I want documentation for pull.py. [1] * As a user, I want pull.py to work when I'm using standalone Bazaar for Windows. [2] * As of 2009/02/10, p4-fast-export.py can't import bzrlib.plugin. * As a developer, I want to use bzr2p4 to migrate a given range of changes one-by-one from a Bazaar branch to a Perforce server. [3] * 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] * As a developer, I want the test code not to depend on Git. [5] * As a developer, I want to store Perforce metadata in mirrored Bazaar branches, using Jelmer's Bazaar code to store foreign revision identifiers in Bazaar branches, so that I can reuse that functionality. [3] * As a user, I want bzrp4 to use the same UI as bzr-svn. [8] * As a user, I want bzrp4 to migrate a Perforce view to a Bazaar branch. [5] * 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 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] * bzr2p4.py needs to set standard input and standard output to binary mode on Windows, I think. * 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. [?]