Sorry for spamming the list so much. 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: c8a759e5769ffd55153884d36dd347bdbb6c382b # timestamp: 2008-07-13 10:42:43 +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-13 08:41:30 +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 @@ -982,6 +982,7 @@ # Fill the appropriate lists dotted_files = self.pref.get_preference('dotted_files', 'bool') + ignored_files = self.pref.get_preference('ignored_files', 'bool') for item in os.listdir(self.path): if not dotted_files and item[0] == '.': continue @@ -998,6 +999,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 +1019,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 +1263,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 +1275,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 +1292,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 +1416,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 IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWcvKKUEAD3d/gERUREzR7/// f77cqr////BgEc7wHR9PdgdemFAFCgClIHpkgiHt8fZ5aAyAqigyAHDJJqjA9QmATPKTNTBNBkYj CGQZNGmCZBoUyejUmSBk0GmgNMjJggAAAA00A0kflSYozSek09I0aaGRpkBiDTQGQGgMhhk9VT0g TTE0MQADQAAAGgaBoAAiUIE0ARqZoTTTBTTIanqn6mTTak0eoeoD9U3pDQKlCaAmjSGRTaU/VT9T ZE1PMomjJk9QAAABpEBJGttNrgjXqSlNp1iWT6WZSZJbQtAvpmrWXpqoZKP37vzYgPuItESI9EWl Gq3TxYTrZNqdhSGlF5q2RJBFyMsMALrpQ0UqPNyqVXgZGWWGTeYJLFa5p6KmIX3xChBtalydtAcE gN/KqVGiHoRMhYidCwDn69pSl1QtWmmVG9GkNsDOEgGESRTdBTI5nfLXlOvKi4LKXtxjMJatcZXL TYxcZC5xnpEEU0AAPzX7VDb86Ihr//T/3gQ9iv/Y3aRosYrCIyASaP/gTmOH63XrMFv32WvCnGTE oc0NHGnG7G6WpJC0ughglMpTDlQlVIGUVYiD2fKERXiEgkdK9nqiA5VyWujRktlvWkMdIdXmSKm6 +yJZWoWTySINB8IEgSdf6r0Kl17ArOmvFbf3/v1pZWOljeuTSK28rY4aC3Uuher6fP6aVdQhp08I 6BxtObeTH9cfZqhp+Xpy0umdNJNZOY0Y1GsNKbssVps05WXGEhISEhIEQLxCObYyTgwr9mqxVL3Q QhEZrpYprpcuYvNdQJYqIVTor708SHPuquSot9OtnZzvYSaxPKTRJQAKhpVRDM9M9o2jNSoncwjG GNUljFIvpTU2svk3BoAEQ4BPNPPTVlmtFxRA/qvuXzDf6yjKUYAd9hNd9hvIDLqCn/De4R/FgEYs jGDGDGDGDG8fXFc8IQ7cmnaGNj1EQvC1DH409pCe3VqgEIMrQfQStbrFempSGNqlQmGkTX9c87fT Iztfpsm5zfbRoD1tEM2A1DAaL5i9oDZcV8ReIHSIBeJ1jf2CdA6RqvmvkJ3iiPcjPStluevv8fWd a8jxTCcQhgusKtgM/VEwA0OJeN6fWYBVs0R61a9/R4U17O7prgAAAAAXW0lZr0ohPEIiLaVVpMhK IlZxg3RLRbUoXnndVDLG69YNq1TTMFxGCQoJQEpFWQRCUr9RXQBflcLyF1aTS7ZGLPLRSllkYpJZ auf76qM2L1xbKMsYjOaqVwxRDCSq9cEQqmLyaMV8UmD2arpNf0ZsXJRVGa6jZHJo1XZu6M3mo6P0 82azNm4RRFvEjCjwojwU6cXtJNOGYmkXKzfbGkIIWn56tpuIYYF9QTATP5uzoxpikl0fKwolUdUb Yw430vntrai+G/a/Enkukum0zShopN0UjqUUGZm/pSeF2qSkckmVY4o1R5SVm2fW+Lq0WGXVVPD9 WbaTrJw6NV/6ujzdX2eT0SOrjjjfq2ddadEmWXRwwdHk8HZGzdzdnY8WaKIw0zk8JGmNc+9rK4Za 9ejRJnk3kzSSqMJJIvq1zrqjS7OEw6LYYIo7ebmyYtckZubeXRlz3VVVFUn5RpzZc9sKYmDRFEUp Vad2WVnTVi0wzosokaKKM3bts5o4VbuyjNNmjHlOTbodQuQlqmNbDrIhyEtjUhDM7BKlWxGDmqj3 dkXRffx4yjqondFqjjGzXrnJiw8HJjQ/8R5rkxfUoss6Prk7ouk57fB5edqsK3wtxqrW9sr0tS0i mJGV1FfFkqk8mqLsdEretNUUa0aWRStlGaiOF0WWk7pXIsJbHCkmRkXUEtsPIeXLIw0cceszO90K 1FzO6r5Qh72rxaHqzd1lmjFk/Ujz70617V7rVyd0mHikeS67Pn39/Rl4NGvRhw5I9UcufLBomhnR kwW6Xzt4K5DVsotnuvVVVxgrGdm0lsXUq8XJm3eC7Fi7NW6rmj2RvJ6ubdvRx0Yb2xj3SYkwXkrR Jw3V4SbMNcmw8FFmfJS7JHhixdGGqqzbVvWZNXfKSdXc1c1Xfvi8Z9w5ceRz1k6WL2pXrfvXLpWI 8rZDKiMnZ1aOa6E0z1tEycIw3ri8WLJyYNHkzk30eGNWK6TisRw6M35pLquHDVZyWYHxXfdfovlc rbq6HDAS18EQyC83m8x5y2EOk9Oq2O9O3JPTotYvfmrzYunJRRuu8HDaTJ0bOriTZL2KPrR0MV3R ozdXQ3fJJskexdA5LoJbRKNc9wts12BpvmBuNQmBuL+jptqN0mjVZzNpvR3Ud/Fo60bKOfbb6izd 8U3WbvlJVCr6mzyZlDq6LrOzCT730+SqX9sM0sNoWLig1JA7770gXEolrokgZ8ySDkIR6F54MF4o ldwvQKXeIuzZn3a+e34CzZEovYRQPisV6hPixjGLGMYxjGMEYIRF8FwTULDSDITQtFzWtFlPGMjI yMjISFGIYKJmv5i9K61quK0W0XFf6FFsl0IOgD0oIbdFxtFQkBEQH62JcHeuLBMElx0lhOnkA3DY MZjW90Bo82CN8vq8d3BE+nqROC9ixekewtTtWjN+tEstwpcuSJUU+saofk3Aerxt65JJCQiH3hui sj6CkK/c6Pm5MtElXzVSfnfR976P0sFWbBVmwbMGTVi/jRRzTRi+b91354Qu/R6ReajtQ63ru5ji 7TWfAN5mchdgpN5tEn4XoIdbqQvAoKNy4Ka16Qdv8l/blxUTHZl/VfxTPWkkw9s5IjNbf3ItIGaO Px5VeauL1eaij9rdguwUd111lXoxcD6nk/ebrKMWr3qs32fji/m0R7WR8O0Ie2cnnOUln7CJn9nn 6cnVZr06o8EZZ40dUVdndq9GCrBiyYuTh3hDFdd/LV9rmyebo1c3uNXJ79Uc3W6y3ognPAfRjqsv kPsHET819pyCcmFAlGFAlGFAlGFAlGFAlGFGaALz9D9KmjeJmJ4iVADY64xjGMgXdHPYRdzdexit kzsnV4sHtnpZqq835HJ7PZdk+iLvVzkmBuybxGy8l2j8iodSFBu74OTZyZo/62XiYuIn+ncjD6xd 9yTzhPgPokpPzDEfh6U+P67YeOGOVEyk/DzZSer2cPtfe5Iq7MzlfKppajAawFnbtgg4KFNgzONp DfpBmoGqHCwKBYEBtOBwOs+16VZ3r9y1F7BfLKA+lZ1j2RbhQ82iN55gDMJRriUQhg4TtTdDVYxB JsqukkkSSQXyUkkkkkkz7nkUkkkQnJJPhpBrCIOGgJRHBFDESSSSSYwzSCGYPsAXRh2wzSsAJgA1 +/fAAAAvJKg1KUqSTWM3Mk6zdm4sBJuTGnktF4Inm0UDWNyOjsrmvOBOn+1q3gYAukdf6U5a6DyF 11A1CmEWqi+pHNRqvXImgoQpopRI+tu9XvPg8Sj4qvZ7LFmL4vg+LJu0fJk+TVVkoy5Kas3JySVb bDA8vLeKHu/3X7V9aPj4+9Pmn9ErULn5BADIYhrWmmks5KLG4mLiqT+AAAAACUycNuncTaG9dAHk B9wFGnEEOQlQela/jyF8uQp9F0+wB+yIJ5R9a0AoD7Fo0lgWA094m+u+4S4CeoUKfsLo4on2C8cP RTiuvBXigQQxBDxAcxeo7STslAnZ30CgUClKaAe6+6r7RQz7kb6JSWzVQ/tB0gFhSj8QE42f5c/w upzHoqd5zompfPQ+xdK61zEW3bmoviH7tAa0TtyH/WXLlevNzE0rX9wn2HgNRO4P2o7o+jj7VKlU VN7Wn7EX+/CY9UPckay0T8KIHKEOIjsk5JijGCNRrQJogi+YD8F56K24mYTofDQu7gJEEOZY5Ae0 Tg4ud1zAInuWAn8edc9A5Vd4li9dg6OABmAcCCpiB+S9y33LFizgvi5r6gTkPkhB5nYDqXsFsfvE sunJYoba0989I0RLl4DwEoLeQVvaAu4WA4zSpxBjchArRVvXwGq0qLYH4LQVvHaghG73imgCxPYP pEu0LEiJjBSgnmj4XUfEWRRHCfFHGAnUcr7YwEMQPBeGBZdIi/itMq0Ttu3EBa5AuxkfBIuPT9y4 fPGI2HzKRnI4r+PiTyueKdOS3LhaL4L4L3ImncY/AOZXHkLeDUQvBtQcxdpu6Vg0BYdoG3H17V2i xcQLImPOLvXqqaJWlFCiQYepYAdSCFUikj1vhg5TrqLRH+TvFx1Xj5QpKQo45CJl796+9arwWClQ NQGBnwAq/UJADnu2fsvEx3AuaoXimzKgu/sEquhixi5iN0DUwUonTApSg0KsGyB8kELd+OA1XEWL MVf2A9Lp9P+WwoRPwj99PXUrWtetJv78oLxF7hLuF+ygi3LtRKBYbDuyWCXUkhMbc0k56dVb6iKw AAAAAH9YwZKSouuqbc1igUlRVHl6AAAAANCaae2nUo+qc6oE5xTZsrWB8V370HsSk5/OhY+2JFPr X4L2LiLpRJe+pe4aHVQW8EoNjXcihm44mK0XasywBItyAlCDlh3C+4uFuK5tDTBLhLjSqXInuXZ0 XBYOVeyoucRN45bV2alAPiJgL7BOJ/MkISSQMaifLxA0uGD0ifWtB+5D0sGPNn1CrQg8rxNg7RLt 90WA6kS2wD7xevDmEXmE/eJ/NchMRcB5jBzoFGegTaJ8hO4T8hbm9feBs57xdA14o8zyEn3IIZKP UJ3aRNi7taJVchPQNLSSXLRbtj4CXCXCdOoDSueC7h1CZxdyRThQkMvKKUE=
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
