~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/patiencediff.py

  • Committer: Vincent Ladeuil
  • Date: 2008-01-29 15:16:31 UTC
  • mto: (3206.1.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 3207.
  • Revision ID: v.ladeuil+lp@free.fr-20080129151631-vqjd13tb405mobx6
Fix two more leaking tmp dirs, by reworking TransformPreview lock handling.

* bzrlib/tests/test_transform.py:
(TestTransformMerge): Revert previous patch and cleanly call
preview.finalize now that we can.

* bzrlib/tests/test_merge.py:
(TestMerge.test_make_preview_transform): Catch TransformPreview
leak.

* bzrlib/builtins.py:
(cmd_merge._do_preview): Finalize the TransformPreview or the
limbodir will stay in /tmp.

* bzrlib/transform.py:
(TreeTransformBase.__init__): Create the _deletiondir since it's
reffered to by finalize.
(TreeTransformBase.finalize): Delete the dir only if _deletiondir
is set.
(TreeTransform.__init__): Use a temp var for deletiondir and set
the attribute after the base class __init__ has been called.
(TransformPreview.__init__): Read locks the tree since finalize
wants to unlock it (as suggested by Aaron).

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
#
14
14
# You should have received a copy of the GNU General Public License
15
15
# along with this program; if not, write to the Free Software
16
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
16
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
17
 
18
18
 
19
19
from bzrlib.lazy_import import lazy_import
76
76
        import difflib
77
77
        sequencematcher = difflib.SequenceMatcher
78
78
 
79
 
    if fromfiledate:
80
 
        fromfiledate = '\t' + str(fromfiledate)
81
 
    if tofiledate:
82
 
        tofiledate = '\t' + str(tofiledate)
83
 
 
84
79
    started = False
85
80
    for group in sequencematcher(None,a,b).get_grouped_opcodes(n):
86
81
        if not started:
87
 
            yield '--- %s%s%s' % (fromfile, fromfiledate, lineterm)
88
 
            yield '+++ %s%s%s' % (tofile, tofiledate, lineterm)
 
82
            yield '--- %s %s%s' % (fromfile, fromfiledate, lineterm)
 
83
            yield '+++ %s %s%s' % (tofile, tofiledate, lineterm)
89
84
            started = True
90
85
        i1, i2, j1, j2 = group[0][1], group[-1][2], group[0][3], group[-1][4]
91
86
        yield "@@ -%d,%d +%d,%d @@%s" % (i1+1, i2-i1, j1+1, j2-j1, lineterm)