mercurial/hg.py
changeset 277 79279550c8ff
parent 276 10e325db7347
child 279 5edd24db6dc7
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) +