Mercurial > hgsubversion
comparison hg_delta_editor.py @ 335:9ef720a611e0
HgChangeReceiver: better diagnostics for invalid links
Issue better diagnostics when something pretends to be a link, but
isn't. This was reported by `doub' on #mercurial.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Wed, 13 May 2009 18:00:31 +0200 |
parents | 75f082b5897e |
children |
comparison
equal
deleted
inserted
replaced
334:3c3c3264c362 | 335:9ef720a611e0 |
---|---|
688 flags = parent_ctx.flags(path) | 688 flags = parent_ctx.flags(path) |
689 is_exec = self.current_files_exec.get(current_file, 'x' in flags) | 689 is_exec = self.current_files_exec.get(current_file, 'x' in flags) |
690 is_link = self.current_files_symlink.get(current_file, 'l' in flags) | 690 is_link = self.current_files_symlink.get(current_file, 'l' in flags) |
691 if current_file in self.current_files: | 691 if current_file in self.current_files: |
692 data = self.current_files[current_file] | 692 data = self.current_files[current_file] |
693 if is_link: | 693 if is_link and data.startswith('link '): |
694 assert data.startswith('link ') | |
695 data = data[len('link '):] | 694 data = data[len('link '):] |
695 elif is_link: | |
696 raise ValueError('file erronously marked as a link: ' | |
697 '%s (%r)' % (current_file, flags)) | |
696 else: | 698 else: |
697 data = parent_ctx.filectx(path).data() | 699 data = parent_ctx.filectx(path).data() |
698 return context.memfilectx(path=path, | 700 return context.memfilectx(path=path, |
699 data=data, | 701 data=data, |
700 islink=is_link, isexec=is_exec, | 702 islink=is_link, isexec=is_exec, |