comparison util.py @ 152:1fde85a10f9e

push: Fix the bad implementation that required modifying the dirstate to push.
author Augie Fackler <durin42@gmail.com>
date Mon, 22 Dec 2008 21:22:11 -0600
parents 9ffde8662967
children 6fa97cfbf62f
comparison
equal deleted inserted replaced
151:2decec74ad0c 152:1fde85a10f9e
80 return [] 80 return []
81 81
82 def __call__(self, fn): 82 def __call__(self, fn):
83 return fn.startswith(self.p) 83 return fn.startswith(self.p)
84 84
85 def outgoing_revisions(ui, repo, hg_editor, reverse_map): 85 def outgoing_revisions(ui, repo, hg_editor, reverse_map, sourcerev):
86 """Given a repo and an hg_editor, determines outgoing revisions for the 86 """Given a repo and an hg_editor, determines outgoing revisions for the
87 current working copy state. 87 current working copy state.
88 """ 88 """
89 outgoing_rev_hashes = [] 89 outgoing_rev_hashes = []
90 working_rev = repo.parents() 90 if sourcerev in reverse_map:
91 assert len(working_rev) == 1
92 working_rev = working_rev[0]
93 if working_rev.node() in reverse_map:
94 return 91 return
95 while (not working_rev.node() in reverse_map 92 sourcerev = repo[sourcerev]
96 and working_rev.node() != node.nullid): 93 while (not sourcerev.node() in reverse_map
97 outgoing_rev_hashes.append(working_rev.node()) 94 and sourcerev.node() != node.nullid):
98 working_rev = working_rev.parents() 95 outgoing_rev_hashes.append(sourcerev.node())
99 assert len(working_rev) == 1 96 sourcerev = sourcerev.parents()
100 working_rev = working_rev[0] 97 assert len(sourcerev) == 1
101 if working_rev.node() != node.nullid: 98 sourcerev = sourcerev[0]
99 if sourcerev.node() != node.nullid:
102 return outgoing_rev_hashes 100 return outgoing_rev_hashes
103 101
104 102
105 def is_svn_repo(repo): 103 def is_svn_repo(repo):
106 return os.path.exists(os.path.join(repo.path, 'svn')) 104 return os.path.exists(os.path.join(repo.path, 'svn'))