~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/msgeditor.py

remove diff.py shebang

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
import os
23
23
from subprocess import call
24
 
 
25
 
import bzrlib.config as config
26
24
from bzrlib.errors import BzrError
27
25
 
28
26
def _get_editor():
29
27
    """Return a sequence of possible editor binaries for the current platform"""
30
 
    try:
31
 
        yield os.environ["BZR_EDITOR"]
32
 
    except KeyError:
33
 
        pass
34
 
 
35
 
    e = config.GlobalConfig().get_editor()
 
28
    from bzrlib.osutils import _read_config_value
 
29
    
 
30
    e = _read_config_value("editor")
36
31
    if e is not None:
37
32
        yield e
38
33
        
39
34
    try:
40
35
        yield os.environ["EDITOR"]
41
36
    except KeyError:
42
 
        pass
43
 
 
44
 
    if os.name == "nt":
45
 
        yield "notepad.exe"
46
 
    elif os.name == "posix":
47
 
        yield "/usr/bin/vi"
 
37
        if os.name == "nt":
 
38
            yield "notepad.exe"
 
39
        elif os.name == "posix":
 
40
            yield "/usr/bin/vi"
48
41
 
49
42
 
50
43
def _run_editor(filename):
79
72
        ignoreline = "-- This line and the following will be ignored --"
80
73
        
81
74
    try:
82
 
        tmp_fileno, msgfilename = tempfile.mkstemp(prefix='bzr_log.', dir=u'.')
 
75
        tmp_fileno, msgfilename = tempfile.mkstemp()
83
76
        msgfile = os.close(tmp_fileno)
84
77
        if infotext is not None and infotext != "":
85
78
            hasinfo = True
114
107
            msg.append(line)
115
108
            
116
109
        if len(msg) == 0:
117
 
            return ""
 
110
            return None
118
111
        # delete empty lines at the end
119
112
        del msg[lastline:]
120
113
        # add a newline at the end, if needed
127
120
        try: os.unlink(msgfilename)
128
121
        except IOError: pass
129
122
 
130
 
 
131
 
def make_commit_message_template(working_tree, specific_files):
132
 
    """Prepare a template file for a commit into a branch.
133
 
 
134
 
    Returns a unicode string containing the template.
135
 
    """
136
 
    # TODO: Should probably be given the WorkingTree not the branch
137
 
    #
138
 
    # TODO: make provision for this to be overridden or modified by a hook
139
 
    #
140
 
    # TODO: Rather than running the status command, should prepare a draft of
141
 
    # the revision to be committed, then pause and ask the user to
142
 
    # confirm/write a message.
143
 
    from StringIO import StringIO       # must be unicode-safe
144
 
    from bzrlib.status import show_status
145
 
    status_tmp = StringIO()
146
 
    show_status(working_tree.branch, specific_files=specific_files, to_file=status_tmp)
147
 
    return status_tmp.getvalue()