comparison mercurial/hg.py @ 277:79279550c8ff

merge: update permissions even if file contents didn't change -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 merge: update permissions even if file contents didn't change manifest hash: f24ed7970c6ca48329a7aa9c2037d96333f7172e -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCpz0PywK+sNU5EO8RArOMAJ9CImCJMdubq5HsB3KrxOt1EG7PEgCgpPWg lnVxviZhv31EHtnxujQBoqM= =qxYq -----END PGP SIGNATURE-----
author mpm@selenic.com
date Wed, 08 Jun 2005 10:46:39 -0800
parents 10e325db7347
children 5edd24db6dc7
comparison
equal deleted inserted replaced
276:10e325db7347 277:79279550c8ff
894 for f in d: 894 for f in d:
895 if f in mw: del mw[f] 895 if f in mw: del mw[f]
896 896
897 for f, n in mw.iteritems(): 897 for f, n in mw.iteritems():
898 if f in m2: 898 if f in m2:
899 s = 0
900
899 if n != m2[f]: 901 if n != m2[f]:
900 a = ma.get(f, nullid) 902 a = ma.get(f, nullid)
901 if n != a and m2[f] != a: 903 if n != a and m2[f] != a:
902 self.ui.debug(" %s versions differ, resolve\n" % f) 904 self.ui.debug(" %s versions differ, resolve\n" % f)
903 merge[f] = (m1.get(f, nullid), m2[f]) 905 merge[f] = (m1.get(f, nullid), m2[f])
904 # merge executable bits 906 # merge executable bits
905 # "if we changed or they changed, change in merge" 907 # "if we changed or they changed, change in merge"
906 a, b, c = mfa.get(f, 0), mfw[f], mf2[f] 908 a, b, c = mfa.get(f, 0), mfw[f], mf2[f]
907 mode = ((a^b) | (a^c)) ^ a 909 mode = ((a^b) | (a^c)) ^ a
908 merge[f] = (m1.get(f, nullid), m2[f], mode) 910 merge[f] = (m1.get(f, nullid), m2[f], mode)
911 s = 1
909 elif m2[f] != a: 912 elif m2[f] != a:
910 self.ui.debug(" remote %s is newer, get\n" % f) 913 self.ui.debug(" remote %s is newer, get\n" % f)
911 get[f] = m2[f] 914 get[f] = m2[f]
915 s = 1
916
917 if not s and mfw[f] != mf2[f]:
918 if force:
919 self.ui.debug(" updating permissions for %s\n" % f)
920 set_exec(self.wjoin(f), mf2[f])
921 else:
922 a, b, c = mfa.get(f, 0), mfw[f], mf2[f]
923 mode = ((a^b) | (a^c)) ^ a
924 print a, b, c, mode
925 if mode != b:
926 self.ui.debug(" updating permissions for %s\n" % f)
927 set_exec(self.wjoin(f), mode)
928
912 del m2[f] 929 del m2[f]
913 elif f in ma: 930 elif f in ma:
914 if not force and n != ma[f]: 931 if not force and n != ma[f]:
915 r = self.ui.prompt( 932 r = self.ui.prompt(
916 (" local changed %s which remote deleted\n" % f) + 933 (" local changed %s which remote deleted\n" % f) +