Mercurial > hg > mercurial-crew-with-dirclash
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') |