[MERGE] make "diff" detail property changes

Chad launchpad at chad.org
Thu Mar 13 03:24:50 GMT 2008


I couldn't add a new test to cover this code, as I don't know how to
make it portable (or excluded) for
Windows.

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: bzrdev at chad.org-20080313031219-emdycpyqdr4w7snw
# target_branch: file:///home/cmiller/bzr/bzr.dev--pristine/
# testament_sha1: fb21de7f83125c058557bed979440717d436f837
# timestamp: 2008-03-12 23:15:08 -0400
# base_revision_id: pqm at pqm.ubuntu.com-20080312213603-mtgxmfy3td5n04yh
#
# Begin patch
=== modified file 'bzrlib/diff.py'
--- bzrlib/diff.py	2008-03-07 14:15:10 +0000
+++ bzrlib/diff.py	2008-03-13 03:12:19 +0000
@@ -41,6 +41,7 @@
 from bzrlib.symbol_versioning import (
         deprecated_function,
         one_zero,
+        one_three
         )
 from bzrlib.trace import mutter, warning

@@ -540,12 +541,20 @@
         raise errors.PathsDoNotExist(sorted(s))


+ at deprecated_function(one_three)
 def get_prop_change(meta_modified):
     if meta_modified:
         return " (properties changed)"
     else:
         return  ""

+def get_executable_change(old_is_x, new_is_x):
+    descr = { True:"+x", False:"-x" }
+    if old_is_x != new_is_x:
+        return ["%s to %s" % (descr[old_is_x], descr[new_is_x],)]
+    else:
+        return []
+

 class DiffPath(object):
     """Base type for command object that compare files"""
@@ -954,7 +963,15 @@
             old_present = (kind[0] is not None and versioned[0])
             new_present = (kind[1] is not None and versioned[1])
             renamed = (parent[0], name[0]) != (parent[1], name[1])
-            prop_str = get_prop_change(executable[0] != executable[1])
+
+            properties_changed = []
+            properties_changed.extend(get_executable_change(executable[0],
executable[1]))
+
+            if properties_changed:
+                prop_str = " (properties changed: %s)" % (",
".join(properties_changed),)
+            else:
+                prop_str = ""
+
             if (old_present, new_present) == (True, False):
                 self.to_file.write("=== removed %s '%s'\n" %
                                    (kind[0], oldpath_encoded))

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWaWvn90AAdtfgERUc2///1sC
BAq////6UARDT3ULkuyptu7u4SSmKYmTFTwxNJhMmjITR6Q0yHomTygkoCTMmmgTSm1PSAMQAZAN
AASKaEpozU2ijB6oN6mhMj0ACaYjAhzCYBMAJhMJpgAAEyaaBhJJMjSZpKfqbQjTRtKbCZPVGhtQ
BoxGkBG6SfNkNXg+Zzef9M+fVPzzuL8pBxmmV4ZQaKWPQ+CRqpfG+qTpob2vYxIIwWD46zVYV4vb
QTQX22szI4+gVPvWRFe4itbI6SEbQc0eA8m+XhZzpMlXuOjItZxycv3JQ949TVritpwTkmwnSVr0
TjN5dG9otd8ZNlzw1e/DmndFJCstscgeYWOLLLbFFdE1bsuKzfJVCZPHSRcn+tp7hSLuVHxELyyb
Vp1zzSyRu5LZjjZLYqVlMsk3R6IggnN0Tb+1C2Bq3LMJyC5VWKpRnpCYQ5OImLbiIHndt7sC0LKt
UnbYWyQQh1avFFfahBvPAyy9nhHDeVwmXGvcMyJEYuPSbmYsQpWyTkESkgc7w6yKuHp4mCIxJWkR
6zk3WzcYDDEvJ8lvaqLhJYlhe5lkCLHPmOk95F7qmN5M1FJbsKjl/CfGD86KLKVuN5mX8y5q2tbf
g5aGRgPuLVoXYEDGr2yYMruUTkKEMOEHiKFsYNImxSh4py0NttN889Cloq5LXIcUNd5Ip9lxv7ct
LMxKxo81SrT08zBDYeCtYXJi1fhpS0OiRtRv3KTL/Iw5YpIq5RGlK3jTom3/rrIyooMyH4veW/bd
hrhnM9xKco3224CKaflYbBUoLRUPuYwwPXb5VBl1yxJSvLDOGHnkKnxAjx41CYvXbwroNIwxxGCA
xvHlnQHdUjs71t+nAembelsMZjCmV5MUN4x6TLn3UvcwYODG+cI4RYLU10myxK7dU1JP5EC+htCc
fQ2EdN/jR51dSWW5s+w5i47RYtuPyHWxO7O/iOzzHtOo1t14WFRLhY1iHhQSogdJyOfvRHewVPLb
XdfloFO/C7kpkRyNlon0iNwEFRcsY4mAYDMunXuGKp1spmzYBrliBisbQMWl5eAy/PZThZcMNCxp
QWoTIy0emVYYzpBkk4r9aJywTV52YrxoeBff0CrXOBNu9QwY7IoY42S8eykW0DTaZo8mvXAkCC34
VpL4NLRdtNUN+0drk0yzB3CmUgpCz53YDtVl+PqLVemKEnemlrDszZKhNUO6KgYqSqKbRYpLZFhm
x+Fd8tKKUTsDYf2eh4lSGpKpaZlb1a3ZM7jEaNHQoEBFxNZwXCMu6ujkUV0073M9z61mF3iqFPYP
yZnnaL787onAONiV3E6ZCd3jHbPNidJK+2TlxMpkJoVgFWcklI4c3soxDQ4FwELiT+y1igDqu0VF
QJjQk1jeFLygr7CgK9CdNO0rinYrC3cBA0yHSByYZPZVMqRxMtK0O6zSpbxPOiUC+mAYcwcPET1h
5f81DkcEwVNJ8k176qDcRSVgttDdmg1P+LuSKcKEhS18/ug=
-------------- next part --------------
A non-text attachment was scrubbed...
Name: diff-prop.bundle
Type: application/octet-stream
Size: 3603 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20080312/60dd89e8/attachment.obj 


More information about the bazaar mailing list