~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/patiencediff.py

  • Committer: Eric Holmberg
  • Date: 2008-05-06 15:02:27 UTC
  • mto: This revision was merged to the branch mainline in revision 3449.
  • Revision ID: eholmberg@arrow.com-20080506150227-l3arq1yntdvnoxum
Fix for Bug #215426 in which bzr can cause a MemoryError in socket.recv while
downloading large packs over http.  This patch limits the request size for
socket.recv to avoid this problem.

Changes:
Added mock file object bzrlib.tests.file_utils.
Added new parameters to bzrlib.osutils.pumpfile.
Added unit tests for bzrlib.osutils.pumpfile.
Added usage of bzrlib.osutils.pumpfile to bzrlib.transport.http.response.

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)