/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 gen_changeset.py

  • Committer: John Arbash Meinel
  • Date: 2005-06-17 16:53:08 UTC
  • mto: (0.5.85) (1185.82.1 bzr-w-changeset)
  • mto: This revision was merged to the branch mainline in revision 1738.
  • Revision ID: john@arbash-meinel.com-20050617165307-6536b99344ed3167
Added a couple more bits

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
    """Turn some sort of revision information into a single
10
10
    set of from-to revision ids.
11
11
 
12
 
    A revision id can be none if there is no associated revison.
 
12
    A revision id can be None if there is no associated revison.
 
13
 
 
14
    :return: (old, new)
13
15
    """
14
16
    # This is a little clumsy because revision parsing may return
15
17
    # a single entry, or a list
33
35
 
34
36
    if new is not None:
35
37
        new = branch.lookup_revision(new)
36
 
        if old is None:
37
 
            # Get the ancestor previous version
38
 
            rev = branch.get_revision(new)
39
 
            old = rev.precursor
40
 
        else:
41
 
            old = branch.lookup_revision(old)
 
38
    if old is None:
 
39
        old = branch.last_patch()
42
40
    else:
43
 
        if old is None:
44
 
            old = branch.last_patch()
45
 
        else:
46
 
            old = branch.lookup_revision(old)
 
41
        old = branch.lookup_revision(old)
47
42
 
48
43
    return old, new
49
44
 
100
95
            if rev == revisions[1]:
101
96
                new_revno = revno
102
97
 
 
98
        self.revision_list = []
103
99
        if old_revno is None:
104
 
            raise bzrlib.errors.BzrError('Could not find revision for %s' % revisions[0])
105
 
 
106
 
        self.revision_list = []
 
100
            self.base_revision = None
 
101
            old_revno = 1
 
102
        else:
 
103
            self.base_revision = self.branch.get_revision(rh[old_revno])
107
104
        if new_revno is not None:
108
 
            for rev_id in rh[old_revno:new_revno+1]:
 
105
            for rev_id in rh[old_revno+1:new_revno+1]:
109
106
                self.revision_list.append(self.branch.get_revision(rev_id))
110
107
        else:
111
 
            for rev_id in rh[old_revno:]:
 
108
            for rev_id in rh[old_revno+1:]:
112
109
                self.revision_list.append(self.branch.get_revision(rev_id))
113
110
            self.revision_list.append(_fake_working_revision(self.branch))
114
111
 
115
112
    def write_meta_info(self, to_file):
116
113
        """Write out the meta-info portion to the supplied file."""
117
114
        from bzrlib.osutils import username
118
 
        def write(key, value):
119
 
            to_file.write('# ' + key + ': ' + value + '\n')
120
 
 
121
 
        write('committer', username())
 
115
        def write(txt, key=None):
 
116
            if key:
 
117
                to_file.write('# ' + key + ': ' + txt + '\n')
 
118
            else:
 
119
                to_file.write('# ' + txt + '\n')
 
120
 
 
121
        write(username(), key='committer')
 
122
 
 
123
        if self.base_revision:
 
124
            write(self.base_revision.revision_id, key='precursor')
 
125
 
 
126
        first = True
 
127
        for rev in self.revision_list:
 
128
            if rev.revision_id is not None:
 
129
                if first:
 
130
                    write(rev.revision_id, key='revisions')
 
131
                    first = False
 
132
                else:
 
133
                    write('\t' + rev.revision_id)
122
134
 
123
135
 
124
136
def show_changeset(branch, revision=None, specific_files=None,