def _update_handle_list(self, s, lstate, named, modified, added, deleted): uinfo = self.socket[s][UpdateInfo] func = lstate['update function'] handles, nconflicts = func(self.co, uinfo, named, modified, added, deleted, lstate['txn']) handle_list = lstate['handle list'] for handle, show in handles: letters = (' ', ' ') if uinfo['newfiles'].has_key(handle): letters = ('A', 'A') elif uinfo['deletes'].has_key(handle): letters = ('D', 'D') elif uinfo['names'].has_key(handle): letters = (' ', 'N') if nconflicts.has_key(handle): letters = (letters[0], 'C') handle_list.append( (handle_to_filename(self.co, handle, lstate['txn']), handle, show, letters)) handle_list.sort() handle_list.reverse() uinfo['name conflicts'] = nconflicts.keys()
def check_modified(co, modified_files): for handle in modified_files: if handle_name(co, handle, None) is None: continue pinfo = co.editsdb.get(handle) if pinfo is None or not bdecode(pinfo).has_key('hash'): continue file = handle_to_filename(co, handle) if conflicts_in_file(co, file): msg = 'file ' + file + ' has conflicts, resolve before updating' raise ClientError, msg
def _update_handle_list(self, s, lstate, named, modified, added, deleted): uinfo = self.socket[s][UpdateInfo] func = lstate['update function'] handles, nconflicts = func(self.co, uinfo, named, modified, added, deleted, lstate['txn']) handle_list = lstate['handle list'] for handle, show in handles: letters = (' ', ' ') if uinfo['newfiles'].has_key(handle): letters = ('A', 'A') elif uinfo['deletes'].has_key(handle): letters = ('D', 'D') elif uinfo['names'].has_key(handle): letters = (' ', 'N') if nconflicts.has_key(handle): letters = (letters[0], 'C') handle_list.append((handle_to_filename(self.co, handle, lstate['txn']), handle, show, letters)) handle_list.sort() handle_list.reverse() uinfo['name conflicts'] = nconflicts.keys()