~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commit.py

  • Committer: Robert Collins
  • Date: 2005-09-13 09:39:26 UTC
  • mto: This revision was merged to the branch mainline in revision 1397.
  • Revision ID: robertc@robertcollins.net-20050913093926-7edba69aff28352d
bugfix symlink support - read the link from the abspath not relative path

Show diffs side-by-side

added added

removed removed

Lines of Context:
231
231
        ## TODO: Check that the file kind has not changed from the previous
232
232
        ## revision of this file (if any).
233
233
 
234
 
        p = branch.abspath(path)
 
234
        abspath = branch.abspath(path)
235
235
        file_id = entry.file_id
236
 
        mutter('commit prep file %s, id %r ' % (p, file_id))
 
236
        mutter('commit prep file %s, id %r ' % (abspath, file_id))
237
237
 
238
238
        if specific_files and not is_inside_any(specific_files, path):
239
239
            mutter('  skipping file excluded from commit')
268
268
                                % (file_id, old_kind, entry.kind))
269
269
 
270
270
        if entry.kind == 'directory':
271
 
            if not isdir(p):
 
271
            if not isdir(abspath):
272
272
                raise BzrError("%s is entered as directory but not a directory"
273
 
                               % quotefn(p))
 
273
                               % quotefn(abspath))
274
274
        elif entry.kind == 'file':
275
 
            if not isfile(p):
276
 
                raise BzrError("%s is entered as file but is not a file" % quotefn(p))
 
275
            if not isfile(abspath):
 
276
                raise BzrError("%s is entered as file but is not a file" % quotefn(abspath))
277
277
 
278
278
            new_sha1 = work_tree.get_file_sha1(file_id)
279
279
 
286
286
                mutter('    unchanged from previous text_id {%s}' %
287
287
                       entry.text_id)
288
288
            else:
289
 
                content = file(p, 'rb').read()
 
289
                content = file(abspath, 'rb').read()
290
290
 
291
291
                # calculate the sha again, just in case the file contents
292
292
                # changed since we updated the cache
297
297
                branch.text_store.add(content, entry.text_id)
298
298
                mutter('    stored with text_id {%s}' % entry.text_id)
299
299
        elif entry.kind == 'symlink':
300
 
            if not islink(p):
 
300
            if not islink(abspath):
301
301
                raise BzrError("%s is entered as link but is not a link" 
302
 
                                % quotefn(p))
 
302
                                % quotefn(abspath))
303
303
 
304
 
            entry.read_symlink_target(path)
 
304
            entry.read_symlink_target(abspath)
305
305
 
306
306
            if (old_ie
307
307
                and old_ie.symlink_target == entry.symlink_target):