/plugins/SVNPlugin/trunk/notes.txt

# · Plain Text · 151 lines · 110 code · 41 blank · 0 comment · 0 complexity · fb0772e2a78c91a50c84bca484e5f6ec MD5 · raw file

  1. Eclipse has these in the Team menu, I'm using that as my model for user actions for the context menu in ProjectViewer. There is a different context menu for the repository browser. In general, commands operate on working copies through Project Viewer and remote copies in the repository browser.
  2. Project Viewer context menu:
  3. status - done
  4. update - done
  5. commit - done
  6. (not in Eclipse, I added "diff" here)
  7. create patch - svn diff, see notes below
  8. apply patch - won't do, use JDiff for this
  9. --
  10. revert - done
  11. add - done
  12. ignore - done
  13. edit conflicts - done?
  14. resolve - done
  15. (not in Eclipse, I added "delete" here)
  16. --
  17. lock - done
  18. unlock - done
  19. --
  20. tag - done
  21. branch - done
  22. merge - done // TODO
  23. switch - done
  24. --
  25. show properties - done
  26. set properties - done, see notes below
  27. set keywords // TODO
  28. --
  29. history - done, I called it "log"
  30. annotations - done, I called it "blame"
  31. --
  32. copy - done
  33. export - done
  34. cleanup - done
  35. Property notes:
  36. - set properties is not part of the context menu in PV. Instead, it is accessed through the "show properties" results panel with buttons for add a property, edit an existing property, or delete an existing property.
  37. - the 'ignore' and 'keywords' commands need property manipulation working first.
  38. The basic subversion commands:
  39. svn add - done
  40. svn blame - done, need to fix Sidekick so it doesn't send out inappropriate Buffer changing messages
  41. svn cat - done, double click on a file in svnbrowser to see the contents
  42. svn checkout - done
  43. svn cleanup - done
  44. svn commit - done
  45. svn copy - done
  46. svn delete - done
  47. svn diff - done
  48. svn export - done
  49. svn help - won't do this one, see the help file
  50. svn import - done
  51. svn info - done
  52. svn list - done
  53. svn lock - done
  54. svn log - done
  55. svn merge - done
  56. svn mkdir - done
  57. svn move - done
  58. svn propdel - done
  59. svn propedit - done
  60. svn propget - done
  61. svn proplist - done
  62. svn propset - done
  63. svn resolved - done
  64. svn revert - done
  65. svn status - done
  66. svn switch - done
  67. svn unlock - done
  68. svn update - done
  69. Move: is a copy and delete from a working copy to a working copy. If in the same directory, then this is "rename". PV has a "rename" command already, can it be modified without modifying PV code?
  70. Copy: is a copy from a working copy to a working copy. Don't allow copy in the same directory as that is a move/rename.
  71. Branch: branch is a copy from a URL to a URL within the same repository. Need to let the user pick the "from" URL and the base of the "to" URL with the SVN Browser. The "to" URL should default to base repository + /branch.
  72. Tag: exact same as branch, except should default to base repository + /tags. A variation is copy from a working copy to a URL.
  73. Undelete: copy from URL to working copy at a specific revision prior to the delete revision. Should be able to pick the deleted file from the log results interface. This is done and documented in help file.
  74. TODO:
  75. Done - Fix Info and Log commands to work correctly with svn:external links.
  76. - History diff, see email from Alan.
  77. - bugtraq
  78. - on the various results panels, add ability to open a file in a jEdit buffer. --> done in some places
  79. - add Tag/Branch command to Log output. It would be handy to be able to look at a log, pick a revision and create a branch or tag from that revision.
  80. - remove ... from Info in context menu, there is no interstitial dialog
  81. - clean up popups, the tool tips are often too large to be useful and don't stay visible long enough. The TableCellViewer that I borrowed from Antelope conflicts with the popup menu mouse gesture. Right now, there is a mix, should figure out how to avoid the popup menu conflict and use the TableCellViewer popup as it is more useful. Maybe a "zoom" menu item? --> added "zoom" in some places.
  82. *** add option to automatically tag external links when tagging a project?
  83. Done - in the property display, multi-line values are shown in a single line in the table. They look good in the popup, but should look good in the table too. --> done, using BestRowTable
  84. Done - who owns JDiff? It needs some work, like the ability to move lines/blocks left or right between files. --> Looks like there is no owner at the moment, so I went ahead and make the changes, also added ability to create and apply patches. JDiff already could create normal patches, now it can also create unified diffs and apply both normal and unified patches.
  85. Done - Need to check, doesn't Eclipse have a "Move"? --> Don't care, move is done.
  86. Done - There should be a "compare" to open a diff. This needs a dialog to be able to pick a specific revision to compare the local file to, or to
  87. diff two non-local revisions. Need to pop this as an option in the log
  88. viewer. -> done, I called it "diff" rather than "compare" and am using JDiff
  89. plugin rather than svn diff.
  90. Done - there is a need for svn diff. It's currently working from PV and text area context menu, but not from SVN Browser. --> done for SVNBrowser
  91. Done - Update docs on undelete to point out that Move is really a copy and delete, so to undo a move, either move back or revert and undelete.
  92. Done - Move doesn't work right if it's a rename. -- Works correctly now.
  93. ----------------------------------------------------------------------------
  94. All Done - Passwords:
  95. Passwords can be set per repository and per project. Most likely, a project
  96. will be created by doing a checkout from the repository browser, but not
  97. necessarily.
  98. Passwords are always encrypted until needed. SVNAction and SVNData both provide get/setPassword methods, these are assumed to be encrypted passwords. They both also provide a getDecryptedPassword method for access to the decrypted password.
  99. Fixed: Password refactoring has broke:
  100. - Log from SVN Browser
  101. - Diff from SVN Browser
  102. - Better check all of SVN Browser
  103. Log from PV looks broke too, could only get 1 entry from header.jsp - not a bug.
  104. ----------------------------------------------------------------------------
  105. 4 Oct 2008 Diff use cases:
  106. 1. working file against remote revision - in PV, want to compare the current working file against a revision in the repository. The repository version could be the same file but a previous revision, or a file in a different branch.
  107. -- currently can only do against a previous version of the file.
  108. 2. remote revision against remote revision - in SVN Browser, want to compare two revisions of the same remote file, or files in different branches. For example, I might want to compare two revisions of the same file, or the same file in different branches.
  109. -- currently can only do against two revisions of the same file. This is done in RemoteDiffAction, need to check if this class can be combined with DiffAction so all diff code is in one place.
  110. ++ 22 Oct 2008, apparently I don't remember what all I've already done. I looked into the code for this, and found it has worked since January. Just pick 2 files in the browser to diff.