~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/msgeditor.py

  • Committer: Martin Pool
  • Date: 2005-10-12 10:44:57 UTC
  • mto: (1185.16.26)
  • mto: This revision was merged to the branch mainline in revision 1454.
  • Revision ID: mbp@sourcefrog.net-20051012104457-a186917c83a2afc7
[pick] clear hashcache in format upgrade to avoid worrisome warning

robertc@lifelesslap.robertcollins.net-20051012002452-64068f25c8656f66

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"""
 
28
    from bzrlib.osutils import _read_config_value
 
29
    
30
30
    try:
31
31
        yield os.environ["BZR_EDITOR"]
32
32
    except KeyError:
33
33
        pass
34
34
 
35
 
    e = config.GlobalConfig().get_editor()
 
35
    e = _read_config_value("editor")
36
36
    if e is not None:
37
37
        yield e
38
38
        
79
79
        ignoreline = "-- This line and the following will be ignored --"
80
80
        
81
81
    try:
82
 
        tmp_fileno, msgfilename = tempfile.mkstemp(prefix='bzr_log.', dir=u'.')
 
82
        tmp_fileno, msgfilename = tempfile.mkstemp()
83
83
        msgfile = os.close(tmp_fileno)
84
84
        if infotext is not None and infotext != "":
85
85
            hasinfo = True
127
127
        try: os.unlink(msgfilename)
128
128
        except IOError: pass
129
129
 
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()