~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/patch.py

  • Committer: Robert Collins
  • Date: 2007-10-02 05:33:39 UTC
  • mto: This revision was merged to the branch mainline in revision 2885.
  • Revision ID: robertc@robertcollins.net-20071002053339-vnyjf4jrxv0jeekf
* Move transport logging into a new transport class
  TransportTraceDecorator (trace+ to get it from a url).
* Give Registry a useful __repr__.
* Fix a bug introduced by the change to use a Registry for transport where
  the transport loading tests left global state behind due to the
  _get_protocol_handlers method returning a reference, not a value object.
* Add an upper_limit parameter to readv, because when asking for byte
  ranges within the latency-adjustment window near the end of the file
  causes errors that are tricky to manage.
* A few minor drive-by formatting fixes.
* The TransportDecorator constructor now accepts a _from_transport
  parameter for decorators that want to share state (used by the trace
  decorator)

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
 
18
18
import errno
48
48
    if status < 0:
49
49
        raise Exception("%s killed by signal %i" (args[0], -status))
50
50
    return stdout, stderr, status
51
 
 
 
51
    
52
52
 
53
53
def patch(patch_contents, filename, output_filename=None, reverse=False):
54
54
    """Apply a patch to a file, to produce another output file.  This is should
72
72
        args.extend(("-o", output_filename))
73
73
    args.append(filename)
74
74
    stdout, stderr, status = write_to_cmd(args, patch_contents)
75
 
    return status
 
75
    return status 
76
76
 
77
77
 
78
78
def diff3(out_file, mine_path, older_path, yours_path):