= 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 user, I want to use `bzr push` to submit changes to a Perforce depot via a Perforce client workspace view. [8] * As a user, I want to use `bzr rebase` to rebase a Bazaar branch on a Perforce depot via a Perforce client workspace view. [8] * As a user, I want to use `bzr branch` to branch from a Perforce depot via a Perforce client workspace view. [8] * As a user, I want to use `bzr log` to view submitted changes in a Perforce depot. [8] * As a user, I want to use bzr commands to work with a Perforce depot via a Perforce client workspace view. [?] * This is an epic. It's a placeholder for bzr commands that don't have individual stories elsewhere in this backlog. * 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 bzr2p4 to fail with a helpful error if I try to migrate a revision range that shouldn't apply cleanly given the states of the Perforce depot and workspace. [3] [1 hour] * As a user, I want p4-fast-export to import/export marks files so that it can perform robust incremental exports. [8] * As a developer, I want to make git_p4.P4Sync.importHeadRevision share code with importChanges and importNewBranch, especially so that it propagates the user of the Perforce changelist. [1] * As a developer, I want the application code not to depend on the p4 command-line client. [8] [6 hours] * As a user, I want Bazaar-Perforce to be installed as p4 instead of bzrp4 so that it is consistent with other Bazaar plugins. [1] * As a user, I want the Bazaar-Perforce Launchpad branch to be named bzr-p4 instead of bzrp4 so that it is consistent with other Bazaar plugins. [1] * As a user, I want p4-fast-export.py packaged with bzr-fastimport so that I don't have to install an additional plugin (bzrp4) to use it. [3] * Note: Given the current physical structure of the code, fulfilling this story would require moving the following files: p4-fast-export.py p4_fast_export.py git_p4.py tests/test_p4_fast_export.py tests/test_git_p4.py tests/test_git_p4_imported.py tests/test_intermediate_file.py tests/p4_for_test * As a developer, I want to remove unused code. [2] * As a user, I want bzr fast-import to handle a Perforce path with a large number of files, and with very large individual files, without running out of memory. [8] * I attempted to import a head containing 22,909 files, where one particular file was bigger than 600 MB. The bzr fast-import command raised MemoryError in parser.LineBasedParser.read_bytes. * 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 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 the test code not to depend on Git. [5] * As a user, I want bzrp4 to migrate a Perforce view to a Bazaar branch. [5] * I think this works already. Try passing //view@all to p4-fast-export. * 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. [?]
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#89 | 7422 | Matt McClure |
Splits a bit story regarding the UI for working with Perforce depots and client workspace views. bzr: revno 240, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Fri 2009-09-25 16:49:27 -0400 |
||
#88 | 7421 | Matt McClure |
Adds a note regarding the story about migrating a Perforce view. bzr: revno 239, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Fri 2009-09-25 09:26:52 -0400 |
||
#87 | 7419 | Matt McClure |
Logs time, reprioritizes. bzr: revno 237, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Fri 2009-09-25 09:24:54 -0400 |
||
#86 | 7417 | Matt McClure |
Removes a story that duplicates the one I just finished. bzr: revno 235, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Fri 2009-09-25 07:50:59 -0400 |
||
#85 | 7413 | Matt McClure |
Updates NEWS and TODO. bzr: revno 234, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Thu 2009-09-24 18:25:38 -0400 |
||
#84 | 7412 | Matt McClure |
Updates time. bzr: revno 233, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Thu 2009-09-24 18:06:52 -0400 |
||
#83 | 7408 | Matt McClure |
Reprioritizes, and logs the time I spent. bzr: revno 229, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Thu 2009-09-24 12:17:52 -0400 |
||
#82 | 7402 | Matt McClure |
Adds two stories about naming the Bazaar-Perforce branch and directory consistently with other plugins. |
||
#81 | 7401 | Matt McClure | Removes imports of unused, deprecated modules. | ||
#80 | 7400 | Matt McClure |
p4-fast-export emits `from` fast-import commands. Flush the output stream before exiting. Fixes a bug I observed where the output stream ended prematurely when called from `bzr fast-export-from-p4`. |
||
#79 | 7385 | Matt McClure | Adds two stories about using marks files to perform robust exports/imports. | ||
#78 | 7357 | Matt McClure | Adds a story about refactoring importHeadRevision. | ||
#77 | 7356 | Matt McClure | Uses rsh P4PORT so that there's no need to explicitly start and stop a p4d server for the tests. | ||
#76 | 7149 | Matt McClure | Reduces memory usage so that p4-fast-export can handle a large number of files at a single changelist, and very large individual files. | ||
#75 | 7140 | Matt McClure | Adds a story about running out of memory with a large number of files in the upstream Perforce depot. | ||
#74 | 7139 | Matt McClure | Adds two stories about migrating partial changelist histories from Perforce. | ||
#73 | 7136 | Matt McClure | Pull doesn't create extra Bazaar revisions on incremental imports from Perforce. | ||
#72 | 7130 | Matt McClure | Adds a story about pull.py creating extra Bazaar revisions on incremental migrations from Perforce. | ||
#71 | 7129 | Matt McClure | Adds a story regarding pull.py on standalone Bazaar for Windows. | ||
#70 | 7128 | Matt McClure | Adds a few TODO items, and reprioritizes. | ||
#69 | 7127 | Matt McClure | Implements a pull program sufficient for mirroring bzrp4 from Perforce on the public depot to Bazaar on Launchpad. | ||
#68 | 7123 | Matt McClure | Adds a mirror batch file, and updates NEWS and TODO. | ||
#67 | 7120 | Matt McClure | Removes an obsolete story handled elsewhere. | ||
#66 | 7119 | Matt McClure | Improves the test coverage reporting by importing python modules rather than forking processes. | ||
#65 | 7112 | Matt McClure | Reports test coverage information during CI. | ||
#64 | 7105 | Matt McClure | Adds a story about test coverage. | ||
#63 | 7103 | Matt McClure | Updates NEWS and TODO for the new Launchpad mirror branch of the Perforce depot trunk. | ||
#62 | 7101 | Matt McClure | Emits mark commands in the fast export stream. | ||
#61 | 7099 | Matt McClure |
Moves several stories to NEWS. Updates date on README. |
||
#60 | 7096 | Matt McClure |
Updates NEWS and TODO. bzr: revno 94.1.3, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Mon 2008-12-29 20:57:51 -0500 |
||
#59 | 7094 | Matt McClure |
bzr2p4.py migrates changes in the order that 'bzr log' displays them. TODO: I need to update the tests accordingly. bzr: revno 94.1.1, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-12-28 12:09:05 -0500 |
||
#58 | 7093 | Matt McClure |
Merges host.in.p4 branch. Prepares code for a first migration to Perforce hosting. bzr: revno 94, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-12-27 15:14:35 -0500 |
||
#57 | 7092 | Matt McClure |
Converts all source files to UNIX line endings. bzr: revno 88.2.25, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-12-27 14:36:39 -0500 |
||
#56 | 7091 | Matt McClure |
Logs time I spent testing the cyclical workflow manually. bzr: revno 88.2.24, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-12-27 14:15:15 -0500 |
||
#55 | 7089 | Matt McClure |
Updates NEWS and TODO. bzr: revno 88.2.22, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-12-21 16:28:42 -0500 |
||
#54 | 7083 | Matt McClure |
Logs some time. bzr: revno 88.2.16, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Fri 2008-12-19 13:34:02 -0500 |
||
#53 | 7081 | Matt McClure |
Appends Bazaar author, date, and revision number to the Perforce changelist. bzr: revno 88.2.14, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Mon 2008-12-15 21:33:24 -0500 |
||
#52 | 7080 | Matt McClure |
Adds note to myself. bzr: revno 88.2.13, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-12-14 16:06:29 -0500 |
||
#51 | 7076 | Matt McClure |
Merges upstream changes. bzr: revno 88.2.9, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Wed 2008-12-10 23:18:43 -0500 |
||
#50 | 7074 | Matt McClure |
Eliminates deprecated use of None where intent is NULL_REVISION. Updates NEWS and TODO. bzr: revno 88.2.7, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Mon 2008-12-01 21:44:51 -0500 |
||
#49 | 7068 | Matt McClure |
Removes Bazaar metadata from Perforce commit descriptions. bzr: revno 88.2.1, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Mon 2008-12-01 18:26:45 -0500 |
||
#48 | 7067 | Matt McClure |
Adds a note about bzr2p4's line ending limitations. bzr: revno 93, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-12-27 15:08:10 -0500 |
||
#47 | 7066 | Matt McClure |
Adds a story about converting to UNIX line endings. bzr: revno 92, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-12-27 13:56:10 -0500 |
||
#46 | 7065 | Matt McClure |
Adds a story about 'mark' commands. bzr: revno 91, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-12-27 12:47:40 -0500 |
||
#45 | 7064 | Matt McClure |
Supports Bazaar from bzr.dev revno 3854. bzr: revno 90, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Wed 2008-12-10 23:04:51 -0500 |
||
#44 | 7061 | Matt McClure |
Set BZR_PLUGIN_PATH for the child process. bzr: revno 88.1.1, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Wed 2008-12-10 22:30:15 -0500 |
||
#43 | 7060 | Matt McClure |
Adds note. bzr: revno 89, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Wed 2008-12-10 23:04:02 -0500 |
||
#42 | 7058 | Matt McClure |
Updates NEWS and TODO. bzr: revno 86.1.4, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Mon 2008-12-01 17:15:09 -0500 |
||
#41 | 7057 | Matt McClure |
Merges upstream changes. bzr: revno 86.1.3, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Mon 2008-12-01 17:11:28 -0500 |
||
#40 | 7055 | Matt McClure |
Uses binary mode for stdout on Windows. bzr: revno 86.1.1, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Mon 2008-12-01 09:09:34 -0500 |
||
#39 | 7054 | Matt McClure |
Added stories describing changes necessary to facilitate a Perforce-hosted development process. bzr: revno 87, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Mon 2008-12-01 17:08:14 -0500 |
||
#38 | 7046 | Matt McClure |
Adds a few things I want to do. bzr: revno 82, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-11-15 18:20:06 -0500 |
||
#37 | 7043 | Matt McClure |
Merges changes from doc branch. bzr: revno 79, part 2 of 2 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-11-15 12:35:42 -0500 |
||
#36 | 7038 | Matt McClure |
Adds a brief user guide. bzr: revno 77.1.1, part 3 of 3 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Fri 2008-11-14 09:58:48 -0500 |
||
#35 | 7032 | Matt McClure |
Merges upstream branch into this one. bzr: revno 69.2.27, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-11-15 12:22:33 -0500 |
||
#34 | 7030 | Matt McClure |
Updates NEWS and TODO. bzr: revno 69.2.25, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Fri 2008-11-14 10:36:13 -0500 |
||
#33 | 7022 | Matt McClure |
Adds an "export" command to git_p4. bzr: revno 69.2.19, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-11-09 13:22:00 -0500 |
||
#32 | 7021 | Matt McClure |
Logs time. bzr: revno 69.2.18, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-11-09 07:58:59 -0500 |
||
#31 | 7014 | Matt McClure |
Cleans up TODO. bzr: revno 69.2.11, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-11-02 22:18:56 -0500 |
||
#30 | 7013 | Matt McClure |
Notes other ideas for working around/fixing the git hang. bzr: revno 69.2.10, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-11-02 22:16:11 -0500 |
||
#29 | 7010 | Matt McClure |
More notes to myself. bzr: revno 69.2.7, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-11-02 09:00:02 -0500 |
||
#28 | 7009 | Matt McClure |
Adds note to myself. bzr: revno 69.2.6, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-11-02 08:24:54 -0500 |
||
#27 | 7008 | Matt McClure |
Merges upstream changes. bzr: revno 69.2.5, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-11-02 07:32:23 -0500 |
||
#26 | 7007 | Matt McClure |
Merges from upstream branch. bzr: revno 69.2.4, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-11-01 23:31:43 -0400 |
||
#25 | 7006 | Matt McClure |
Merges mainline changes into feature branch. bzr: revno 69.2.3, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-08-23 13:40:15 -0400 |
||
#24 | 7003 | Matt McClure |
Snapshot. bzr: revno 69.2.1, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-08-10 10:47:26 -0400 |
||
#23 | 7002 | Matt McClure |
Adds a story about content length prefixes. bzr: revno 77, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Fri 2008-11-14 02:17:40 -0500 |
||
#22 | 7001 | Matt McClure |
Adds a story about p4d port conflicts. bzr: revno 76, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Fri 2008-11-14 00:56:04 -0500 |
||
#21 | 6999 | Matt McClure |
Removes stories left behind accidentally in mlm@aya.yale.edu-20080823165408-v35s55mdgmefdike bzr: revno 74, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-11-02 07:26:07 -0500 |
||
#20 | 6997 | Matt McClure |
Updated NEWS and TODO. Cleaed up ci.selftest.bat. bzr: revno 72.1.17, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Thu 2008-10-30 21:44:34 -0400 |
||
#19 | 6993 | Matt McClure |
Tested a few more things. Updated steps to configure the Hudson job. bzr: revno 72.1.13, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Mon 2008-10-27 21:33:00 -0400 |
||
#18 | 6991 | Matt McClure |
Testing polling. bzr: revno 72.1.11, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Mon 2008-10-27 18:53:25 -0400 |
||
#17 | 6988 | Matt McClure |
Added some more notes. bzr: revno 72.1.8, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-10-26 12:13:11 -0400 |
||
#16 | 6987 | Matt McClure |
Noted some possible next steps. bzr: revno 72.1.7, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-10-26 12:04:20 -0400 |
||
#15 | 6986 | Matt McClure |
Updated progress on CI. bzr: revno 72.1.6, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-10-26 11:56:33 -0400 |
||
#14 | 6981 | Matt McClure |
Split Windows and Cygwin continuous integration stories. bzr: revno 72.1.1, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Mon 2008-10-13 12:18:10 -0400 |
||
#13 | 6976 | Matt McClure |
Work-in-progress: steps toward making the test from revid:mlm@aya.yale.edu-20080813012433-5c2is22zjh3hxcg8 pass. bzr: revno 71.1.3, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-08-16 19:35:09 -0400 |
||
#12 | 6974 | Matt McClure |
Adds a failing test that isolates a problem I first observed in the bzr2p4 dogfood test. bzr: revno 71.1.1, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Tue 2008-08-12 21:24:33 -0400 |
||
#11 | 6973 | Matt McClure |
Merges rename/readd fix. bzr: revno 71, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-08-23 11:51:04 -0400 |
||
#10 | 6971 | Matt McClure |
Begins to add a test that renames a to b and adds a new b in a single commit. The bzr2p4.py tool currently fails on such a case. bzr: revno 69.1.1, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-08-10 12:17:37 -0400 |
||
#9 | 6970 | Matt McClure |
Adds documentation story. bzr: revno 70, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-08-16 11:59:57 -0400 |
||
#8 | 6969 | Matt McClure |
Verifies that all revisions have the same data in the dogfood test that exercises git-p4. bzr: revno 69, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-08-09 18:39:16 -0400 |
||
#7 | 6968 | Matt McClure |
This change is very much a work in progress. See the diff to remember what I was doing. bzr: revno 68, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-08-09 11:59:00 -0400 |
||
#6 | 6966 | Matt McClure |
Adds several stories, and reprioritizes the top of the list. bzr: revno 66, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-08-09 10:34:38 -0400 |
||
#5 | 6964 | Matt McClure |
I can run the tests from any working directory now. bzr: revno 64, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-08-09 08:59:35 -0400 |
||
#4 | 6963 | Matt McClure |
Estimates each story in TODO. bzr: revno 63, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-08-03 15:15:28 -0400 |
||
#3 | 6962 | Matt McClure |
Adds a couple stories and reprioritizes. bzr: revno 62, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-08-03 15:05:59 -0400 |
||
#2 | 6960 | Matt McClure |
Migrates branches with merge revisions, so that test_dogfood passes. bzr: revno 60, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sun 2008-08-03 14:46:27 -0400 |
||
#1 | 6956 | Matt McClure |
Adds NEWS and TODO files. bzr: revno 57, part 1 of 1 bzr: author Matt McClure <mlm@aya.yale.edu> bzr: committed Sat 2008-08-02 12:31:06 -0400 |