Anonymous avatar Anonymous committed 3459f0f

0.5m4

Comments (0)

Files changed (7)

 ============
 
 * Generating python elements
-* Saving locations and texts
-* Adding `.ropeproject` folder
+* Memorizing locations and texts
+* Added `.ropeproject` folder
 * Saving history across sessions
 * Saving object data to disk
 * Incremental ObjectDB validation
 * Inlining `staticmethod`\s
+* Setting ignored resources patterns
 
+Maybe the most notable change in this release is the addition of a new
+folder in projects for holding configurations and other informations
+for a project.  Its default name is ``.ropeproject``, but it can be
+changed in ``~/.rope`` or `Project` constructor (if using rope as a
+library).  You can also force rope not to make such a folder by using
+`None` instead of a `str`.
+
+Currently it is used for these perposes:
+
+* There is a ``config.py`` file in this folder in which you can change
+  project configurations.  Look at the default ``config.py`` file,
+  that is created when there is none available, for more information.
+  When a project is open you can edit this file using ``"Edit Project
+  config.py"`` action or ``C-x p c``.
+* It can be used for saving project history, so that the next time you
+  open the project you can see and undo past changes.  If you're new
+  to rope use ``"Project History"`` (``C-x p h``) for more
+  information.
+* It can be used for saving object information.  Before this release
+  all object information where kept in memory.  Saving them on disk
+  has two advantages.  First, rope will need less memory and second,
+  the calculated and collected information is not thrown away each
+  time you close a project.
+
+You can change what to save and what not to in the ``config.py`` file.
+
+Since files on disk change overtime project object DB might hold
+invalid information.  Currently there is a basic incremental object DB
+validation that can be used to remove or fix out of date information.
+Rope uses this feature by default but you can disable it by editing
+``config.py``.  Other interesting features related to rope's object DB
+and object inference are planned for ``0.5`` release.  So if you're
+interested keep waiting!
+
+The generate element actions make python elements.  You have to move
+on an element that does not exist and perform one of these generate
+actions.  For example::
+
+  my_print(var=1)
+
+Calling generate function on `my_print` (``C-c n f``) will result in:
+
+  def my_print(var):
+      pass
+
+
+  my_print(var=1)
+
+It handle methods, static methods, classes, variables, modules, and
+packages, too.  Generate element actions use ``C-c n`` prefix.
+
+Rope can now save locations or strings in memory.  These are similar
+to emacs's bookmarks and registers.  These actions use ``C-x m``
+prefix.
 
 
 Getting Started

docs/dev/done.txt

 ===========
 
 
+> Public Release 0.5m4 : April 1, 2007
+
+
 - Incremental ObjectDB validation : March 31, 2007
 
 

docs/dev/stories.txt

 * Moving `staticmethod`\s
 
 
-> Public Release 0.5m4 : April 1, 2007
+> Public Release 0.5m5 : April 15, 2007
+
+
+* Using a better object textual form

docs/dev/workingon.txt

 Small Stories
 =============
 
-- Using MemoryObjectDB for unittests?
-- ``max_history_items`` config
-
-* Profiling and renaming random classes
-* Test on dos
-
 * Adding *clear objectdb* command
 * Inline fails when there is an arg mismatch
 * `sqlite3db`
+* Better UI; Performing refactorings on a separate thread
 * Multiple ropes on one project; problems for objectdb and history
 * Changing method to static method refactoring
 * Recursive SOI; Go where the calls go
   * A dynamic object inference approach
   * A static object inference approach
   * Handling built-in container types
+  * Saving object information on disk
+  * Basic stored object data validation
 
 
 Download

docs/user/overview.txt

 open/new project            C-x C-p        C-P
 close project               C-x p k
 show project tree           C-x p t        M-Q r
+edit project config         C-x p c
 validate project files      C-x p v        F5
+sync project to disk        C-x p s
 --------------------------  -------------  -------------
 new module                  C-x n m
 new package                 C-x n p

ropetest/projecttest.py

         unittest.TestCase.tearDown(self)
 
     def test_project_creation(self):
-        self.assertTrue(os.path.samefile(self.project_root,
-                                         self.project.address))
+        self.assertEquals(os.path.abspath(self.project_root),
+                          os.path.abspath(self.project.address))
 
     def test_getting_project_file(self):
         project_file = self.project.get_resource(self.sample_file)
     def test_fscommands_and_ignored_resources(self):
         fscommands = _MockFSCommands()
         self.project = testutils.sample_project(
-            fscommands=fscommands, ignored_resources=['myfile.txt'])
+            fscommands=fscommands, ignored_resources=['myfile.txt'], ropefolder=None)
         myfile = self.project.get_file('myfile.txt')
         myfile.create()
         self.assertEquals('', fscommands.log)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.