comparison mercurial/localrepo.py @ 2844:e196aa1df169

Start using manifestflags methods
author Matt Mackall <mpm@selenic.com>
date Sun, 16 Jul 2006 03:14:17 -0500
parents 00fc88b0b256
children 35af2e56f15a
comparison
equal deleted inserted replaced
2843:0b50a580be36 2844:e196aa1df169
479 mfm = mf1.copy() 479 mfm = mf1.copy()
480 linkrev = self.changelog.count() 480 linkrev = self.changelog.count()
481 for f in files: 481 for f in files:
482 try: 482 try:
483 t = self.wread(f) 483 t = self.wread(f)
484 tm = util.is_exec(self.wjoin(f), mfm.get(f, False)) 484 mfm.set(f, util.is_exec(self.wjoin(f), mfm.execf(f)))
485 r = self.file(f) 485 r = self.file(f)
486 mfm[f] = tm
487 486
488 (entry, fp1, fp2) = self.checkfilemerge(f, t, r, m1, m2) 487 (entry, fp1, fp2) = self.checkfilemerge(f, t, r, m1, m2)
489 if entry: 488 if entry:
490 mm[f] = entry 489 mm[f] = entry
491 continue 490 continue
560 linkrev = self.changelog.count() 559 linkrev = self.changelog.count()
561 commit.sort() 560 commit.sort()
562 for f in commit: 561 for f in commit:
563 self.ui.note(f + "\n") 562 self.ui.note(f + "\n")
564 try: 563 try:
565 mf1[f] = util.is_exec(self.wjoin(f), mf1.get(f, False)) 564 mf1.set(f, util.is_exec(self.wjoin(f), mf1.execf(f)))
566 t = self.wread(f) 565 t = self.wread(f)
567 except IOError: 566 except IOError:
568 self.ui.warn(_("trouble committing %s!\n") % f) 567 self.ui.warn(_("trouble committing %s!\n") % f)
569 raise 568 raise
570 569
804 if self.dirstate.state(f) not in "r": 803 if self.dirstate.state(f) not in "r":
805 self.ui.warn("%s not removed!\n" % f) 804 self.ui.warn("%s not removed!\n" % f)
806 else: 805 else:
807 t = self.file(f).read(m[f]) 806 t = self.file(f).read(m[f])
808 self.wwrite(f, t) 807 self.wwrite(f, t)
809 util.set_exec(self.wjoin(f), mf[f]) 808 util.set_exec(self.wjoin(f), mf.execf(f))
810 self.dirstate.update([f], "n") 809 self.dirstate.update([f], "n")
811 810
812 def copy(self, source, dest, wlock=None): 811 def copy(self, source, dest, wlock=None):
813 p = self.wjoin(dest) 812 p = self.wjoin(dest)
814 if not os.path.exists(p): 813 if not os.path.exists(p):
1735 mfw = mf1.copy() 1734 mfw = mf1.copy()
1736 umap = dict.fromkeys(unknown) 1735 umap = dict.fromkeys(unknown)
1737 1736
1738 for f in added + modified + unknown: 1737 for f in added + modified + unknown:
1739 mw[f] = "" 1738 mw[f] = ""
1740 mfw[f] = util.is_exec(self.wjoin(f), mfw.get(f, False)) 1739 mfw.set(f, util.is_exec(self.wjoin(f), mfw.execf(f)))
1741 1740
1742 if moddirstate and not wlock: 1741 if moddirstate and not wlock:
1743 wlock = self.wlock() 1742 wlock = self.wlock()
1744 1743
1745 for f in deleted + removed: 1744 for f in deleted + removed:
1775 # are both different from the ancestor? 1774 # are both different from the ancestor?
1776 if n != a and m2[f] != a: 1775 if n != a and m2[f] != a:
1777 self.ui.debug(_(" %s versions differ, resolve\n") % f) 1776 self.ui.debug(_(" %s versions differ, resolve\n") % f)
1778 # merge executable bits 1777 # merge executable bits
1779 # "if we changed or they changed, change in merge" 1778 # "if we changed or they changed, change in merge"
1780 a, b, c = mfa.get(f, 0), mfw[f], mf2[f] 1779 a, b, c = mfa.execf(f), mfw.execf(f), mf2.execf(f)
1781 mode = ((a^b) | (a^c)) ^ a 1780 mode = ((a^b) | (a^c)) ^ a
1782 merge[f] = (m1.get(f, nullid), m2[f], mode) 1781 merge[f] = (m1.get(f, nullid), m2[f], mode)
1783 s = 1 1782 s = 1
1784 # are we clobbering? 1783 # are we clobbering?
1785 # is remote's version newer? 1784 # is remote's version newer?
1794 get[f] = m2[f] 1793 get[f] = m2[f]
1795 1794
1796 if not s and mfw[f] != mf2[f]: 1795 if not s and mfw[f] != mf2[f]:
1797 if force: 1796 if force:
1798 self.ui.debug(_(" updating permissions for %s\n") % f) 1797 self.ui.debug(_(" updating permissions for %s\n") % f)
1799 util.set_exec(self.wjoin(f), mf2[f]) 1798 util.set_exec(self.wjoin(f), mf2.execf(f))
1800 else: 1799 else:
1801 a, b, c = mfa.get(f, 0), mfw[f], mf2[f] 1800 a, b, c = mfa.execf(f), mfw.execf(f), mf2.execf(f)
1802 mode = ((a^b) | (a^c)) ^ a 1801 mode = ((a^b) | (a^c)) ^ a
1803 if mode != b: 1802 if mode != b:
1804 self.ui.debug(_(" updating permissions for %s\n") 1803 self.ui.debug(_(" updating permissions for %s\n")
1805 % f) 1804 % f)
1806 util.set_exec(self.wjoin(f), mode) 1805 util.set_exec(self.wjoin(f), mode)
1896 if f[0] == "/": 1895 if f[0] == "/":
1897 continue 1896 continue
1898 self.ui.note(_("getting %s\n") % f) 1897 self.ui.note(_("getting %s\n") % f)
1899 t = self.file(f).read(get[f]) 1898 t = self.file(f).read(get[f])
1900 self.wwrite(f, t) 1899 self.wwrite(f, t)
1901 util.set_exec(self.wjoin(f), mf2[f]) 1900 util.set_exec(self.wjoin(f), mf2.execf(f))
1902 if moddirstate: 1901 if moddirstate:
1903 if branch_merge: 1902 if branch_merge:
1904 self.dirstate.update([f], 'n', st_mtime=-1) 1903 self.dirstate.update([f], 'n', st_mtime=-1)
1905 else: 1904 else:
1906 self.dirstate.update([f], 'n') 1905 self.dirstate.update([f], 'n')