##// END OF EJS Templates
localrepository.status: only acquire wlock if actually needed....
Bryan O'Sullivan -
r4372:4ddc6d37 default
parent child Browse files
Show More
@@ -919,13 +919,10 b' class localrepository(repo.repository):'
919 919 # all the revisions in parent->child order.
920 920 mf1 = mfmatches(node1)
921 921
922 mywlock = False
923
922 924 # are we comparing the working directory?
923 925 if not node2:
924 if not wlock:
925 try:
926 wlock = self.wlock(wait=0)
927 except lock.LockException:
928 wlock = None
929 926 (lookup, modified, added, removed, deleted, unknown,
930 927 ignored, clean) = self.dirstate.status(files, match,
931 928 list_ignored, list_clean)
@@ -942,7 +939,13 b' class localrepository(repo.repository):'
942 939 modified.append(f)
943 940 else:
944 941 clean.append(f)
945 if wlock is not None:
942 if not wlock and not mywlock:
943 mywlock = True
944 try:
945 wlock = self.wlock(wait=0)
946 except lock.LockException:
947 pass
948 if wlock:
946 949 self.dirstate.update([f], "n")
947 950 else:
948 951 # we are comparing working dir against non-parent
@@ -957,6 +960,9 b' class localrepository(repo.repository):'
957 960 for f in removed:
958 961 if f in mf2:
959 962 del mf2[f]
963
964 if mywlock and wlock:
965 wlock.release()
960 966 else:
961 967 # we are comparing two revisions
962 968 mf2 = mfmatches(node2)
General Comments 0
You need to be logged in to leave comments. Login now