856 elif n1: # file exists only on local side |
856 elif n1: # file exists only on local side |
857 if f in copied: |
857 if f in copied: |
858 pass # we'll deal with it on m2 side |
858 pass # we'll deal with it on m2 side |
859 elif f in movewithdir: # directory rename, move local |
859 elif f in movewithdir: # directory rename, move local |
860 f2 = movewithdir[f] |
860 f2 = movewithdir[f] |
861 if matcher(f2) and f2 in m2: |
861 if f2 in m2: |
862 actions[f2] = ('m', (f, f2, None, True, pa.node()), |
862 actions[f2] = ('m', (f, f2, None, True, pa.node()), |
863 "remote directory rename, both created") |
863 "remote directory rename, both created") |
864 else: |
864 else: |
865 actions[f2] = ('dm', (f, fl1), |
865 actions[f2] = ('dm', (f, fl1), |
866 "remote directory rename - move from " + f) |
866 "remote directory rename - move from " + f) |
885 elif n2: # file exists only on remote side |
885 elif n2: # file exists only on remote side |
886 if f in copied: |
886 if f in copied: |
887 pass # we'll deal with it on m1 side |
887 pass # we'll deal with it on m1 side |
888 elif f in movewithdir: |
888 elif f in movewithdir: |
889 f2 = movewithdir[f] |
889 f2 = movewithdir[f] |
890 if matcher(f2) and f2 in m1: |
890 if f2 in m1: |
891 actions[f2] = ('m', (f2, f, None, False, pa.node()), |
891 actions[f2] = ('m', (f2, f, None, False, pa.node()), |
892 "local directory rename, both created") |
892 "local directory rename, both created") |
893 else: |
893 else: |
894 actions[f2] = ('dg', (f, fl2), |
894 actions[f2] = ('dg', (f, fl2), |
895 "local directory rename - get from " + f) |
895 "local directory rename - get from " + f) |
896 elif f in copy: |
896 elif f in copy: |
897 f2 = copy[f] |
897 f2 = copy[f] |
898 if matcher(f2) and f2 in m2: |
898 if f2 in m2: |
899 actions[f] = ('m', (f2, f, f2, False, pa.node()), |
899 actions[f] = ('m', (f2, f, f2, False, pa.node()), |
900 "remote copied from " + f2) |
900 "remote copied from " + f2) |
901 else: |
901 else: |
902 actions[f] = ('m', (f2, f, f2, True, pa.node()), |
902 actions[f] = ('m', (f2, f, f2, True, pa.node()), |
903 "remote moved from " + f2) |
903 "remote moved from " + f2) |
925 for d in dirmove: |
925 for d in dirmove: |
926 if f.startswith(d): |
926 if f.startswith(d): |
927 # new file added in a directory that was moved |
927 # new file added in a directory that was moved |
928 df = dirmove[d] + f[len(d):] |
928 df = dirmove[d] + f[len(d):] |
929 break |
929 break |
930 if matcher(df) and df in m1: |
930 if df is not None and df in m1: |
931 actions[df] = ('m', (df, f, f, False, pa.node()), |
931 actions[df] = ('m', (df, f, f, False, pa.node()), |
932 "local directory rename - respect move from " + f) |
932 "local directory rename - respect move from " + f) |
933 elif acceptremote: |
933 elif acceptremote: |
934 actions[f] = ('c', (fl2,), "remote recreating") |
934 actions[f] = ('c', (fl2,), "remote recreating") |
935 else: |
935 else: |