Mercurial > public > mercurial-scm > hg
comparison mercurial/hg.py @ 2808:30f59f4a327e
Introduce update helper functions: update, merge, clean, and revert
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 07 Aug 2006 22:54:33 -0500 |
parents | fdc232d8a193 |
children | 1c6beafbae97 |
comparison
equal
deleted
inserted
replaced
2807:a8a7ce1a01a5 | 2808:30f59f4a327e |
---|---|
8 from node import * | 8 from node import * |
9 from repo import * | 9 from repo import * |
10 from demandload import * | 10 from demandload import * |
11 from i18n import gettext as _ | 11 from i18n import gettext as _ |
12 demandload(globals(), "localrepo bundlerepo httprepo sshrepo statichttprepo") | 12 demandload(globals(), "localrepo bundlerepo httprepo sshrepo statichttprepo") |
13 demandload(globals(), "errno lock os shutil util merge") | 13 demandload(globals(), "errno lock os shutil util merge@_merge") |
14 | 14 |
15 def _local(path): | 15 def _local(path): |
16 return (os.path.isfile(path and util.drop_scheme('file', path)) and | 16 return (os.path.isfile(path and util.drop_scheme('file', path)) and |
17 bundlerepo or localrepo) | 17 bundlerepo or localrepo) |
18 | 18 |
198 | 198 |
199 if dest_lock: | 199 if dest_lock: |
200 dest_lock.release() | 200 dest_lock.release() |
201 | 201 |
202 if update: | 202 if update: |
203 merge.update(dest_repo, dest_repo.changelog.tip()) | 203 _merge.update(dest_repo, dest_repo.changelog.tip()) |
204 if dir_cleanup: | 204 if dir_cleanup: |
205 dir_cleanup.close() | 205 dir_cleanup.close() |
206 | 206 |
207 return src_repo, dest_repo | 207 return src_repo, dest_repo |
208 | 208 |
209 | 209 def update(repo, node): |
210 # This should instead be several functions with short arglists, like | 210 """update the working directory to node, merging linear changes""" |
211 # update/merge/revert | 211 return _merge.update(repo, node) |
212 | 212 |
213 def update(repo, node, allow=False, force=False, choose=None, | 213 def clean(repo, node, wlock=None, show_stats=True): |
214 moddirstate=True, forcemerge=False, wlock=None, show_stats=True): | 214 """forcibly switch the working directory to node, clobbering changes""" |
215 return merge.update(repo, node, allow, force, choose, moddirstate, | 215 return _merge.update(repo, node, force=True, wlock=wlock, |
216 forcemerge, wlock, show_stats) | 216 show_stats=show_stats) |
217 | |
218 def merge(repo, node, force=None, remind=True, wlock=None): | |
219 """branch merge with node, resolving changes""" | |
220 return _merge.update(repo, node, allow=True, forcemerge=force, | |
221 remind=remind, wlock=wlock) | |
222 | |
223 def revert(repo, node, choose): | |
224 """revert changes to revision in node without updating dirstate""" | |
225 return _merge.update(repo, node, force=True, choose=choose, | |
226 moddirstate=False, show_stats=False) | |
217 | 227 |
218 def verify(repo): | 228 def verify(repo): |
219 """verify the consistency of a repository""" | 229 """verify the consistency of a repository""" |
220 import verify as _verify | 230 import verify as _verify |
221 return _verify.verify(repo) | 231 return _verify.verify(repo) |