equal
deleted
inserted
replaced
852 nl.append(n) |
852 nl.append(n) |
853 break |
853 break |
854 |
854 |
855 return nl |
855 return nl |
856 |
856 |
857 def findincoming(self, remote): |
857 def findincoming(self, remote, base={}): |
858 m = self.changelog.nodemap |
858 m = self.changelog.nodemap |
859 search = [] |
859 search = [] |
860 fetch = [] |
860 fetch = [] |
861 base = {} |
|
862 seen = {} |
861 seen = {} |
863 seenbranch = {} |
862 seenbranch = {} |
864 |
863 |
865 # if we have an empty repo, fetch everything |
864 # if we have an empty repo, fetch everything |
866 if self.changelog.tip() == nullid: |
865 if self.changelog.tip() == nullid: |
873 heads = remote.heads() |
872 heads = remote.heads() |
874 unknown = [] |
873 unknown = [] |
875 for h in heads: |
874 for h in heads: |
876 if h not in m: |
875 if h not in m: |
877 unknown.append(h) |
876 unknown.append(h) |
|
877 else: |
|
878 base[h] = 1 |
878 |
879 |
879 if not unknown: |
880 if not unknown: |
880 return None |
881 return None |
881 |
882 |
882 rep = {} |
883 rep = {} |
967 " ".join([short(f) for f in fetch]) + "\n") |
968 " ".join([short(f) for f in fetch]) + "\n") |
968 |
969 |
969 self.ui.debug("%d total queries\n" % reqcnt) |
970 self.ui.debug("%d total queries\n" % reqcnt) |
970 |
971 |
971 return fetch |
972 return fetch |
|
973 |
|
974 def findoutgoing(self, remote): |
|
975 base = {} |
|
976 findincoming(self, remote, base) |
|
977 remain = dict.fromkeys(self.changelog.nodemap) |
|
978 |
|
979 # prune everything remote has from the tree |
|
980 remove = base.keys() |
|
981 while remove: |
|
982 n = remove.pop(0) |
|
983 if n in remain: |
|
984 del remain[n] |
|
985 for p in self.changelog.parents(n): |
|
986 remain.append(p) |
|
987 |
|
988 # find every node whose parents have been pruned |
|
989 subset = [] |
|
990 for n in remain: |
|
991 p1, p2 = self.changelog.parents(n) |
|
992 if p1 not in remain and p2 not in remain: |
|
993 subset.append(n) |
|
994 |
|
995 # this is the set of all roots we have to push |
|
996 return subset |
972 |
997 |
973 def changegroup(self, basenodes): |
998 def changegroup(self, basenodes): |
974 nodes = self.newer(basenodes) |
999 nodes = self.newer(basenodes) |
975 |
1000 |
976 # construct the link map |
1001 # construct the link map |