~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commit.py

  • Committer: Martin Pool
  • Date: 2005-06-06 13:12:39 UTC
  • Revision ID: mbp@sourcefrog.net-20050606131239-cec4df7febbc9fcf
- Show added/renamed/modified messages from commit for non-file
  entries.
- refactor commit a bit more

Show diffs side-by-side

added added

removed removed

Lines of Context:
197
197
        ## TODO: Check that the file kind has not changed from the previous
198
198
        ## revision of this file (if any).
199
199
 
200
 
        ## TODO: Don't need to copy this unless we're going to change it
201
 
        entry = entry.copy()
202
 
 
203
200
        p = branch.abspath(path)
204
201
        file_id = entry.file_id
205
202
        mutter('commit prep file %s, id %r ' % (p, file_id))
220
217
            missing_ids.append(file_id)
221
218
            continue
222
219
 
 
220
        # this is present in the new inventory; may be new, modified or
 
221
        # unchanged.
 
222
        old_ie = basis_inv.has_id(file_id) and basis_inv[file_id]
 
223
        
 
224
        entry = entry.copy()
223
225
        inv.add(entry)
224
226
 
225
 
        if basis_inv.has_id(file_id):
226
 
            old_kind = basis_inv[file_id].kind
 
227
        if old_ie:
 
228
            old_kind = old_ie.kind
227
229
            if old_kind != entry.kind:
228
230
                raise BzrError("entry %r changed kind from %r to %r"
229
231
                        % (file_id, old_kind, entry.kind))
238
240
 
239
241
            new_sha1 = work_tree.get_file_sha1(file_id)
240
242
 
241
 
            old_ie = basis_inv.has_id(file_id) and basis_inv[file_id]
242
243
            if (old_ie
243
244
                and old_ie.text_sha1 == new_sha1):
244
245
                ## assert content == basis.get_file(file_id).read()
258
259
                entry.text_id = gen_file_id(entry.name)
259
260
                branch.text_store.add(content, entry.text_id)
260
261
                mutter('    stored with text_id {%s}' % entry.text_id)
261
 
                if verbose:
262
 
                    ## TODO: Also show these for directories!
263
 
                    if not old_ie:
264
 
                        print('added %s' % path)
265
 
                    elif (old_ie.name == entry.name
266
 
                          and old_ie.parent_id == entry.parent_id):
267
 
                        print('modified %s' % path)
268
 
                    else:
269
 
                        print('renamed %s' % path)
 
262
 
 
263
        if verbose:
 
264
            marked = path + kind_marker(entry.kind)
 
265
            if not old_ie:
 
266
                print 'added', marked
 
267
            elif old_ie == entry:
 
268
                pass                    # unchanged
 
269
            elif (old_ie.name == entry.name
 
270
                  and old_ie.parent_id == entry.parent_id):
 
271
                print 'modified', marked
 
272
            else:
 
273
                print 'renamed', marked
270
274
                        
271
275
    return missing_ids, inv
 
276
 
 
277