/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/patch.py

Merge from bzr.dev, resolving conflicts.

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
 
from __future__ import absolute_import
18
17
 
19
18
import errno
20
19
import os
21
20
from subprocess import Popen, PIPE
22
21
 
23
 
from .errors import NoDiff3
24
 
from .textfile import check_text_path
 
22
from bzrlib.errors import NoDiff3
 
23
from bzrlib.textfile import check_text_path
25
24
 
26
25
"""Diff and patch functionality"""
27
26
 
49
48
    if status < 0:
50
49
        raise Exception("%s killed by signal %i" (args[0], -status))
51
50
    return stdout, stderr, status
52
 
 
 
51
    
53
52
 
54
53
def patch(patch_contents, filename, output_filename=None, reverse=False):
55
54
    """Apply a patch to a file, to produce another output file.  This is should
73
72
        args.extend(("-o", output_filename))
74
73
    args.append(filename)
75
74
    stdout, stderr, status = write_to_cmd(args, patch_contents)
76
 
    return status
 
75
    return status 
77
76
 
78
77
 
79
78
def diff3(out_file, mine_path, older_path, yours_path):
89
88
    args.extend((mine_path, older_path, yours_path))
90
89
    try:
91
90
        output, stderr, status = write_to_cmd(args)
92
 
    except OSError as e:
 
91
    except OSError, e:
93
92
        if e.errno == errno.ENOENT:
94
93
            raise NoDiff3
95
94
        else: