diff options
author | Gianluca Montecchi <gian@grys.it> | 2010-02-10 00:03:38 +0100 |
---|---|---|
committer | Gianluca Montecchi <gian@grys.it> | 2010-02-10 00:03:38 +0100 |
commit | c67a5863826771001f009e1ee90262ccb7a2e172 (patch) | |
tree | 64c7f83238685959bf40a13c876168071a085556 /.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/496edad5-1484-413a-bc68-4b01274a65eb | |
parent | a60e599798d43ba930efc1f8e2f184d3e8262189 (diff) | |
parent | 50444209eee408dde7d240fdf59bfc9e82b714ce (diff) | |
download | bugseverywhere-c67a5863826771001f009e1ee90262ccb7a2e172.tar.gz |
Merged Trevor's tree
Diffstat (limited to '.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/496edad5-1484-413a-bc68-4b01274a65eb')
3 files changed, 51 insertions, 0 deletions
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/496edad5-1484-413a-bc68-4b01274a65eb/comments/8d927822-eff9-42c4-9541-8b784b3f7db2/body b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/496edad5-1484-413a-bc68-4b01274a65eb/comments/8d927822-eff9-42c4-9541-8b784b3f7db2/body new file mode 100644 index 0000000..dfcf82c --- /dev/null +++ b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/496edad5-1484-413a-bc68-4b01274a65eb/comments/8d927822-eff9-42c4-9541-8b784b3f7db2/body @@ -0,0 +1,29 @@ +I was having problems with `python test.py bugdir` with the Arch +backend. Commits were failing with `archive not registered'. + +Adding some trace information to arch.Arch._rcs_init() and +._rcs_cleanup() (the traceback module is great :p), I found +that the problem was coming from bugdir.BugDir.guess_rcs(). + +The Arch backend deletes any auto-created archives when it is cleaned +up (RCS.__del__ -> RCS.cleanup -> Arch._rcs_cleanup). This means that +whatever instance is used to init the archive in guess_rcs() must be +kept around. I had been doing: + * installed_rcs() -> Arch-instance-A + * Arch-instance-A.init() + * store Arch-instnance-A.name as bugdir.rcs_name + * future calls to bugdir.rcs get new instance Arch-instance-B + * eventually Arch-instance-A cleaned up + * archive dissapears & tests crash + +I switched things around so .rcs is the `master attribute' and +.rcs_name follows it. Now just save whichever rcs you used to init +your archive as .rcs. + +In order to implement the fix, I had to tweak the memory/file-system +interaction a bit. Instead of saving the settings *every*time* a +setting_property changed, we now save only if the .be file exists. +This file serves as a 'file-system-bugdir-active' flag. Before it is +created (e.g., by a .save()), the BugDir lives purely in memory, and +can freely go about configuring .rcs, .rcs_name, etc until it get's +to the point where it's ready to go to disk. diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/496edad5-1484-413a-bc68-4b01274a65eb/comments/8d927822-eff9-42c4-9541-8b784b3f7db2/values b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/496edad5-1484-413a-bc68-4b01274a65eb/comments/8d927822-eff9-42c4-9541-8b784b3f7db2/values new file mode 100644 index 0000000..e9bbdac --- /dev/null +++ b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/496edad5-1484-413a-bc68-4b01274a65eb/comments/8d927822-eff9-42c4-9541-8b784b3f7db2/values @@ -0,0 +1,8 @@ +Author: W. Trevor King <wking@drexel.edu> + + +Content-type: text/plain + + +Date: Sat, 22 Nov 2008 18:53:20 +0000 + diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/496edad5-1484-413a-bc68-4b01274a65eb/values b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/496edad5-1484-413a-bc68-4b01274a65eb/values new file mode 100644 index 0000000..2ef6ea3 --- /dev/null +++ b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/496edad5-1484-413a-bc68-4b01274a65eb/values @@ -0,0 +1,14 @@ +creator: W. Trevor King <wking@drexel.edu> + + +severity: minor + + +status: fixed + + +summary: Early del-cleanup with Arch backend + + +time: Sat, 22 Nov 2008 18:38:32 +0000 + |