##// END OF EJS Templates
Fix up some bugs introduced by recent merge changes...
mpm@selenic.com -
r992:f859e9cb default
parent child Browse files
Show More
@@ -824,6 +824,7 b' class localrepository:'
824 m1 = self.manifest.read(c1[0])
824 m1 = self.manifest.read(c1[0])
825 mf1 = self.manifest.readflags(c1[0])
825 mf1 = self.manifest.readflags(c1[0])
826 m2 = self.manifest.read(c2[0])
826 m2 = self.manifest.read(c2[0])
827 changed = []
827
828
828 if orig_parent == p1:
829 if orig_parent == p1:
829 update_dirstate = 1
830 update_dirstate = 1
@@ -864,6 +865,7 b' class localrepository:'
864 continue
865 continue
865
866
866 mm[f] = r.add(t, {}, tr, linkrev, fp1, fp2)
867 mm[f] = r.add(t, {}, tr, linkrev, fp1, fp2)
868 changed.append(f)
867 if update_dirstate:
869 if update_dirstate:
868 self.dirstate.update([f], "n")
870 self.dirstate.update([f], "n")
869 except IOError:
871 except IOError:
@@ -878,7 +880,7 b' class localrepository:'
878
880
879 mnode = self.manifest.add(mm, mfm, tr, linkrev, c1[0], c2[0])
881 mnode = self.manifest.add(mm, mfm, tr, linkrev, c1[0], c2[0])
880 user = user or self.ui.username()
882 user = user or self.ui.username()
881 n = self.changelog.add(mnode, files, text, tr, p1, p2, user, date)
883 n = self.changelog.add(mnode, changed, text, tr, p1, p2, user, date)
882 tr.close()
884 tr.close()
883 if update_dirstate:
885 if update_dirstate:
884 self.dirstate.setparents(n, nullid)
886 self.dirstate.setparents(n, nullid)
@@ -887,6 +889,8 b' class localrepository:'
887 match = util.always, force=False):
889 match = util.always, force=False):
888 commit = []
890 commit = []
889 remove = []
891 remove = []
892 changed = []
893
890 if files:
894 if files:
891 for f in files:
895 for f in files:
892 s = self.dirstate.state(f)
896 s = self.dirstate.state(f)
@@ -962,6 +966,9 b' class localrepository:'
962 continue
966 continue
963
967
964 new[f] = r.add(t, meta, tr, linkrev, fp1, fp2)
968 new[f] = r.add(t, meta, tr, linkrev, fp1, fp2)
969 # remember what we've added so that we can later calculate
970 # the files to pull from a set of changesets
971 changed.append(f)
965
972
966 # update manifest
973 # update manifest
967 m1.update(new)
974 m1.update(new)
@@ -976,16 +983,21 b' class localrepository:'
976 new.sort()
983 new.sort()
977
984
978 if not text:
985 if not text:
979 edittext = "\n" + "HG: manifest hash %s\n" % hex(mn)
986 edittext = ""
980 edittext += "".join(["HG: changed %s\n" % f for f in new])
987 if p2 != nullid:
988 edittext += "HG: branch merge\n"
989 edittext += "\n" + "HG: manifest hash %s\n" % hex(mn)
990 edittext += "".join(["HG: changed %s\n" % f for f in changed])
981 edittext += "".join(["HG: removed %s\n" % f for f in remove])
991 edittext += "".join(["HG: removed %s\n" % f for f in remove])
992 if not changed and not remove:
993 edittext += "HG: no files changed\n"
982 edittext = self.ui.edit(edittext)
994 edittext = self.ui.edit(edittext)
983 if not edittext.rstrip():
995 if not edittext.rstrip():
984 return None
996 return None
985 text = edittext
997 text = edittext
986
998
987 user = user or self.ui.username()
999 user = user or self.ui.username()
988 n = self.changelog.add(mn, new, text, tr, p1, p2, user, date)
1000 n = self.changelog.add(mn, changed, text, tr, p1, p2, user, date)
989 tr.close()
1001 tr.close()
990
1002
991 self.dirstate.setparents(n)
1003 self.dirstate.setparents(n)
@@ -1010,7 +1022,7 b' class localrepository:'
1010
1022
1011 def fcmp(fn, mf):
1023 def fcmp(fn, mf):
1012 t1 = self.wfile(fn).read()
1024 t1 = self.wfile(fn).read()
1013 t2 = self.file(fn).revision(mf[fn])
1025 t2 = self.file(fn).revision(mf.get(fn, nullid))
1014 return cmp(t1, t2)
1026 return cmp(t1, t2)
1015
1027
1016 def mfmatches(node):
1028 def mfmatches(node):
@@ -1772,7 +1784,10 b' class localrepository:'
1772 self.wfile(f, "w").write(t)
1784 self.wfile(f, "w").write(t)
1773 util.set_exec(self.wjoin(f), mf2[f])
1785 util.set_exec(self.wjoin(f), mf2[f])
1774 if moddirstate:
1786 if moddirstate:
1775 self.dirstate.update([f], 'n')
1787 if mode == 'm':
1788 self.dirstate.update([f], 'n', st_mtime=0)
1789 else:
1790 self.dirstate.update([f], 'n')
1776
1791
1777 # merge the tricky bits
1792 # merge the tricky bits
1778 files = merge.keys()
1793 files = merge.keys()
General Comments 0
You need to be logged in to leave comments. Login now