##// END OF EJS Templates
mergestate: use dirstate.update_file API in recordupdates()...
Pulkit Goyal -
r48413:8b16ccc7 default
parent child Browse files
Show More
@@ -743,34 +743,34 b' def recordupdates(repo, actions, branchm'
743 743 # remove (must come first)
744 744 for f, args, msg in actions.get(ACTION_REMOVE, []):
745 745 if branchmerge:
746 repo.dirstate.remove(f)
746 repo.dirstate.update_file(f, p1_tracked=True, wc_tracked=False)
747 747 else:
748 repo.dirstate.drop(f)
748 repo.dirstate.update_file(f, p1_tracked=False, wc_tracked=False)
749 749
750 750 # forget (must come first)
751 751 for f, args, msg in actions.get(ACTION_FORGET, []):
752 repo.dirstate.drop(f)
752 repo.dirstate.update_file(f, p1_tracked=False, wc_tracked=False)
753 753
754 754 # resolve path conflicts
755 755 for f, args, msg in actions.get(ACTION_PATH_CONFLICT_RESOLVE, []):
756 756 (f0, origf0) = args
757 repo.dirstate.add(f)
757 repo.dirstate.update_file(f, p1_tracked=False, wc_tracked=True)
758 758 repo.dirstate.copy(origf0, f)
759 759 if f0 == origf0:
760 repo.dirstate.remove(f0)
760 repo.dirstate.update_file(f0, p1_tracked=True, wc_tracked=False)
761 761 else:
762 repo.dirstate.drop(f0)
762 repo.dirstate.update_file(f0, p1_tracked=False, wc_tracked=False)
763 763
764 764 # re-add
765 765 for f, args, msg in actions.get(ACTION_ADD, []):
766 repo.dirstate.add(f)
766 repo.dirstate.update_file(f, p1_tracked=False, wc_tracked=True)
767 767
768 768 # re-add/mark as modified
769 769 for f, args, msg in actions.get(ACTION_ADD_MODIFIED, []):
770 770 if branchmerge:
771 771 repo.dirstate.normallookup(f)
772 772 else:
773 repo.dirstate.add(f)
773 repo.dirstate.update_file(f, p1_tracked=False, wc_tracked=True)
774 774
775 775 # exec change
776 776 for f, args, msg in actions.get(ACTION_EXEC, []):
@@ -791,10 +791,17 b' def recordupdates(repo, actions, branchm'
791 791 # get
792 792 for f, args, msg in actions.get(ACTION_GET, []):
793 793 if branchmerge:
794 repo.dirstate.otherparent(f)
794 # tracked in p1 can be True also but update_file should not care
795 repo.dirstate.update_file(
796 f,
797 p1_tracked=False,
798 p2_tracked=True,
799 wc_tracked=True,
800 clean_p2=True,
801 )
795 802 else:
796 803 parentfiledata = getfiledata[f] if getfiledata else None
797 repo.dirstate.normal(f, parentfiledata=parentfiledata)
804 repo.dirstate.update_parent_file_data(f, parentfiledata)
798 805
799 806 # merge
800 807 for f, args, msg in actions.get(ACTION_MERGE, []):
@@ -802,10 +809,14 b' def recordupdates(repo, actions, branchm'
802 809 if branchmerge:
803 810 # We've done a branch merge, mark this file as merged
804 811 # so that we properly record the merger later
805 repo.dirstate.merge(f)
812 repo.dirstate.update_file(
813 f, p1_tracked=True, wc_tracked=True, merged=True
814 )
806 815 if f1 != f2: # copy/rename
807 816 if move:
808 repo.dirstate.remove(f1)
817 repo.dirstate.update_file(
818 f1, p1_tracked=True, wc_tracked=False
819 )
809 820 if f1 != f:
810 821 repo.dirstate.copy(f1, f)
811 822 else:
@@ -817,26 +828,30 b' def recordupdates(repo, actions, branchm'
817 828 # merge will appear as a normal local file
818 829 # modification.
819 830 if f2 == f: # file not locally copied/moved
820 repo.dirstate.normallookup(f)
831 repo.dirstate.update_file(
832 f, p1_tracked=True, wc_tracked=True, possibly_dirty=True
833 )
821 834 if move:
822 repo.dirstate.drop(f1)
835 repo.dirstate.update_file(
836 f1, p1_tracked=False, wc_tracked=False
837 )
823 838
824 839 # directory rename, move local
825 840 for f, args, msg in actions.get(ACTION_DIR_RENAME_MOVE_LOCAL, []):
826 841 f0, flag = args
827 842 if branchmerge:
828 repo.dirstate.add(f)
829 repo.dirstate.remove(f0)
843 repo.dirstate.update_file(f, p1_tracked=False, wc_tracked=True)
844 repo.dirstate.update_file(f0, p1_tracked=True, wc_tracked=False)
830 845 repo.dirstate.copy(f0, f)
831 846 else:
832 repo.dirstate.normal(f)
833 repo.dirstate.drop(f0)
847 repo.dirstate.update_file(f, p1_tracked=True, wc_tracked=True)
848 repo.dirstate.update_file(f0, p1_tracked=False, wc_tracked=False)
834 849
835 850 # directory rename, get
836 851 for f, args, msg in actions.get(ACTION_LOCAL_DIR_RENAME_GET, []):
837 852 f0, flag = args
838 853 if branchmerge:
839 repo.dirstate.add(f)
854 repo.dirstate.update_file(f, p1_tracked=False, wc_tracked=True)
840 855 repo.dirstate.copy(f0, f)
841 856 else:
842 repo.dirstate.normal(f)
857 repo.dirstate.update_file(f, p1_tracked=True, wc_tracked=True)
General Comments 0
You need to be logged in to leave comments. Login now