TODO #89

  • //
  • guest/
  • matt_mcclure/
  • bzrp4/
  • trunk/
  • TODO
  • View
  • Commits
  • Open Download .zip Download (5 KB)
= 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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
bzr: committed Fri 2008-11-14 00:56:04 -0500
#21 6999 Matt McClure Removes stories left behind accidentally in
[email protected]

bzr: revno 74, part 1 of 1
bzr: author Matt McClure <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
bzr: committed Mon 2008-10-13 12:18:10 -0400
#13 6976 Matt McClure Work-in-progress: steps toward making the test from
revid:[email protected] pass.

bzr: revno 71.1.3, part 1 of 1
bzr: author Matt McClure <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
bzr: committed Sat 2008-08-02 12:31:06 -0400