Add statusmapper method instead of 4 times same logic Merge symlink fix for conflict resolving
Jasper
# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: [EMAIL PROTECTED] # target_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk # testament_sha1: 2e697a62696cecf29c5587aca29a02191d861994 # timestamp: 2008-07-12 02:53:36 +0200 # source_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk # base_revision_id: [EMAIL PROTECTED] # # Begin patch === modified file 'olive/__init__.py' --- olive/__init__.py 2008-07-01 21:56:25 +0000 +++ olive/__init__.py 2008-07-12 00:46:48 +0000 @@ -308,7 +308,7 @@ # We're local try: - self.wt, self.wtpath = WorkingTree.open_containing(path) + self.wt, self.wtpath = WorkingTree.open_containing(os.path.realpath(path)) except (bzrerrors.NotBranchError, bzrerrors.NoWorkingTree): self.notbranch = True @@ -998,6 +998,16 @@ # Add'em to the ListStore for item in dirs: + status = '' + st = '' + fileid = '' + if not self.notbranch: + filename = self.wt.relpath(self.path + os.sep + item) + + st, status = self.statusmapper(filename, delta) + if not ignored_files and status == 'ignored': + continue + try: statinfo = os.stat(self.path + os.sep + item) except OSError, e: @@ -1008,62 +1018,23 @@ liststore.append([ gtk.STOCK_DIRECTORY, True, item, - '', - '', + st, + status, "<DIR>", "<DIR>", statinfo.st_mtime, self._format_date(statinfo.st_mtime), '']) for item in files: - status = 'unknown' + status = '' + st = '' fileid = '' if not self.notbranch: filename = self.wt.relpath(self.path + os.sep + item) - try: - self.wt.lock_read() - - for rpath, rpathnew, id, kind, text_modified, meta_modified in delta.renamed: - if rpathnew == filename: - status = 'renamed' - fileid = id - for rpath, id, kind in delta.added: - if rpath == filename: - status = 'added' - fileid = id - for rpath, id, kind in delta.removed: - if rpath == filename: - status = 'removed' - fileid = id - for rpath, id, kind, text_modified, meta_modified in delta.modified: - if rpath == filename: - status = 'modified' - fileid = id - for rpath, id, kind in delta.unchanged: - if rpath == filename: - status = 'unchanged' - fileid = id - for rpath, file_class, kind, id, entry in self.wt.list_files(): - if rpath == filename and file_class == 'I': - status = 'ignored' - finally: - self.wt.unlock() - - if status == 'renamed': - st = _i18n('renamed') - elif status == 'removed': - st = _i18n('removed') - elif status == 'added': - st = _i18n('added') - elif status == 'modified': - st = _i18n('modified') - elif status == 'unchanged': - st = _i18n('unchanged') - elif status == 'ignored': - st = _i18n('ignored') - else: - st = _i18n('unknown') + st, status = self.statusmapper(filename, delta) + if not ignored_files and status == 'ignored': + continue try: statinfo = os.stat(self.path + os.sep + item) @@ -1291,7 +1262,7 @@ # Try to open the working tree notbranch = False try: - tree1 = WorkingTree.open_containing(path)[0] + tree1 = WorkingTree.open_containing(os.path.realpath(path))[0] except (bzrerrors.NotBranchError, bzrerrors.NoWorkingTree): notbranch = True @@ -1303,6 +1274,16 @@ # Add'em to the ListStore for item in dirs: + status = '' + st = '' + fileid = '' + if not notbranch: + filename = tree1.relpath(os.path.realpath(path) + os.sep + item) + + st, status = self.statusmapper(filename, delta) + if not ignored_files and status == 'ignored': + continue + try: statinfo = os.stat(self.path + os.sep + item) except OSError, e: @@ -1310,67 +1291,26 @@ continue else: raise - liststore.append([gtk.STOCK_DIRECTORY, - True, - item, - '', - '', - "<DIR>", - "<DIR>", - statinfo.st_mtime, - self._format_date(statinfo.st_mtime), - '']) + liststore.append([ gtk.STOCK_DIRECTORY, + True, + item, + st, + status, + "<DIR>", + "<DIR>", + statinfo.st_mtime, + self._format_date(statinfo.st_mtime), + '']) for item in files: - status = 'unknown' + status = '' + st = '' fileid = '' if not notbranch: - filename = tree1.relpath(path + os.sep + item) + filename = tree1.relpath(os.path.realpath(path) + os.sep + item) - try: - self.wt.lock_read() - - for rpath, rpathnew, id, kind, text_modified, meta_modified in delta.renamed: - if rpathnew == filename: - status = 'renamed' - fileid = id - for rpath, id, kind in delta.added: - if rpath == filename: - status = 'added' - fileid = id - for rpath, id, kind in delta.removed: - if rpath == filename: - status = 'removed' - fileid = id - for rpath, id, kind, text_modified, meta_modified in delta.modified: - if rpath == filename: - status = 'modified' - fileid = id - for rpath, id, kind in delta.unchanged: - if rpath == filename: - status = 'unchanged' - fileid = id - for rpath, file_class, kind, id, entry in self.wt.list_files(): - if rpath == filename and file_class == 'I': - status = 'ignored' - finally: - self.wt.unlock() - - if status == 'renamed': - st = _i18n('renamed') - elif status == 'removed': - st = _i18n('removed') - elif status == 'added': - st = _i18n('added') - elif status == 'modified': - st = _i18n('modified') - elif status == 'unchanged': - st = _i18n('unchanged') - elif status == 'ignored': - st = _i18n('ignored') - if not ignored_files: + st, status = self.statusmapper(filename, delta) + if not ignored_files and status == 'ignored': continue - else: - st = _i18n('unknown') try: statinfo = os.stat(self.path + os.sep + item) @@ -1475,6 +1415,53 @@ # Set sensitivity self.set_sensitivity() + def statusmapper(self, filename, delta): + status = 'unknown' + try: + self.wt.lock_read() + + for rpath, rpathnew, id, kind, text_modified, meta_modified in delta.renamed: + if rpathnew == filename: + status = 'renamed' + fileid = id + for rpath, id, kind in delta.added: + if rpath == filename: + status = 'added' + fileid = id + for rpath, id, kind in delta.removed: + if rpath == filename: + status = 'removed' + fileid = id + for rpath, id, kind, text_modified, meta_modified in delta.modified: + if rpath == filename: + status = 'modified' + fileid = id + for rpath, id, kind in delta.unchanged: + if rpath == filename: + status = 'unchanged' + fileid = id + for rpath, file_class, kind, id, entry in self.wt.list_files(): + if rpath == filename and file_class == 'I': + status = 'ignored' + finally: + self.wt.unlock() + + if status == 'renamed': + st = _i18n('renamed') + elif status == 'removed': + st = _i18n('removed') + elif status == 'added': + st = _i18n('added') + elif status == 'modified': + st = _i18n('modified') + elif status == 'unchanged': + st = _i18n('unchanged') + elif status == 'ignored': + st = _i18n('ignored') + else: + st = _i18n('unknown') + return st, status + def _harddisks(self): """ Returns hard drive letters under Win32. """ try: # Begin bundle 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
signature.asc
Description: OpenPGP digital signature
-- bzr-gtk mailing list [email protected] Modify settings or unsubscribe at: https://lists.canonical.com/mailman/listinfo/bzr-gtk
