##// END OF EJS Templates
dirstate: align the dirstate's API to the lower level ones...
marmoute -
r48956:6f54afb0 default
parent child Browse files
Show More
@@ -558,24 +558,14 b' def synclfdirstate(repo, lfdirstate, lfi'
558 558 if lfstandin not in repo.dirstate:
559 559 lfdirstate.update_file(lfile, p1_tracked=False, wc_tracked=False)
560 560 else:
561 stat = repo.dirstate.get_entry(lfstandin)
562 state, mtime = stat.state, stat.mtime
563 if state == b'n':
564 if normallookup or mtime < 0 or not repo.wvfs.exists(lfile):
565 # state 'n' doesn't ensure 'clean' in this case
566 lfdirstate.update_file(
567 lfile, p1_tracked=True, wc_tracked=True, possibly_dirty=True
568 )
569 else:
570 lfdirstate.update_file(lfile, p1_tracked=True, wc_tracked=True)
571 elif state == b'm':
572 lfdirstate.update_file(
573 lfile, p1_tracked=True, wc_tracked=True, merged=True
574 )
575 elif state == b'r':
576 lfdirstate.update_file(lfile, p1_tracked=True, wc_tracked=False)
577 elif state == b'a':
578 lfdirstate.update_file(lfile, p1_tracked=False, wc_tracked=True)
561 entry = repo.dirstate.get_entry(lfstandin)
562 lfdirstate.update_file(
563 lfile,
564 wc_tracked=entry.tracked,
565 p1_tracked=entry.p1_tracked,
566 p2_info=entry.p2_info,
567 possibly_dirty=True,
568 )
579 569
580 570
581 571 def markcommitted(orig, ctx, node):
@@ -553,10 +553,7 b' class dirstate(object):'
553 553 filename,
554 554 wc_tracked,
555 555 p1_tracked,
556 p2_tracked=False,
557 merged=False,
558 clean_p1=False,
559 clean_p2=False,
556 p2_info=False,
560 557 possibly_dirty=False,
561 558 parentfiledata=None,
562 559 ):
@@ -571,9 +568,6 b' class dirstate(object):'
571 568 depending of what information ends up being relevant and useful to
572 569 other processing.
573 570 """
574 if merged and (clean_p1 or clean_p2):
575 msg = b'`merged` argument incompatible with `clean_p1`/`clean_p2`'
576 raise error.ProgrammingError(msg)
577 571
578 572 # note: I do not think we need to double check name clash here since we
579 573 # are in a update/merge case that should already have taken care of
@@ -582,9 +576,7 b' class dirstate(object):'
582 576 self._dirty = True
583 577
584 578 need_parent_file_data = (
585 not (possibly_dirty or clean_p2 or merged)
586 and wc_tracked
587 and p1_tracked
579 not possibly_dirty and not p2_info and wc_tracked and p1_tracked
588 580 )
589 581
590 582 # this mean we are doing call for file we do not really care about the
@@ -606,7 +598,7 b' class dirstate(object):'
606 598 filename,
607 599 wc_tracked,
608 600 p1_tracked,
609 p2_info=merged or clean_p2,
601 p2_info=p2_info,
610 602 has_meaningful_mtime=not possibly_dirty,
611 603 parentfiledata=parentfiledata,
612 604 )
@@ -801,10 +801,8 b' def recordupdates(repo, actions, branchm'
801 801 repo.dirstate.update_file(
802 802 f,
803 803 p1_tracked=p1_tracked,
804 p2_tracked=True,
805 804 wc_tracked=True,
806 clean_p2=not p1_tracked,
807 merged=p1_tracked,
805 p2_info=True,
808 806 )
809 807 else:
810 808 parentfiledata = getfiledata[f] if getfiledata else None
@@ -822,14 +820,11 b' def recordupdates(repo, actions, branchm'
822 820 # We've done a branch merge, mark this file as merged
823 821 # so that we properly record the merger later
824 822 p1_tracked = f1 == f
825 p2_tracked = f2 == f
826 823 repo.dirstate.update_file(
827 824 f,
828 825 p1_tracked=p1_tracked,
829 p2_tracked=p2_tracked,
830 826 wc_tracked=True,
831 merged=p1_tracked,
832 clean_p2=not p1_tracked,
827 p2_info=True,
833 828 )
834 829 if f1 != f2: # copy/rename
835 830 if move:
General Comments 0
You need to be logged in to leave comments. Login now