Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/localrepo.py @ 1679:675ca845c2f8
Merge with upstream
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Thu, 15 Dec 2005 18:04:39 +0100 |
parents | b345cc4c22c0 a679a364436a |
children | c21b54f7f7b8 |
comparison
equal
deleted
inserted
replaced
1678:b345cc4c22c0 | 1679:675ca845c2f8 |
---|---|
22 if p == oldp: raise repo.RepoError(_("no repo found")) | 22 if p == oldp: raise repo.RepoError(_("no repo found")) |
23 path = p | 23 path = p |
24 self.path = os.path.join(path, ".hg") | 24 self.path = os.path.join(path, ".hg") |
25 | 25 |
26 if not create and not os.path.isdir(self.path): | 26 if not create and not os.path.isdir(self.path): |
27 raise repo.RepoError(_("repository %s not found") % self.path) | 27 raise repo.RepoError(_("repository %s not found") % path) |
28 | 28 |
29 self.root = os.path.abspath(path) | 29 self.root = os.path.abspath(path) |
30 self.ui = ui | 30 self.ui = ui |
31 self.opener = util.opener(self.path) | 31 self.opener = util.opener(self.path) |
32 self.wopener = util.opener(self.root) | 32 self.wopener = util.opener(self.root) |
1362 self.hook("commit", node=hex(self.changelog.node(i))) | 1362 self.hook("commit", node=hex(self.changelog.node(i))) |
1363 | 1363 |
1364 return | 1364 return |
1365 | 1365 |
1366 def update(self, node, allow=False, force=False, choose=None, | 1366 def update(self, node, allow=False, force=False, choose=None, |
1367 moddirstate=True): | 1367 moddirstate=True, forcemerge=False): |
1368 pl = self.dirstate.parents() | 1368 pl = self.dirstate.parents() |
1369 if not force and pl[1] != nullid: | 1369 if not force and pl[1] != nullid: |
1370 self.ui.warn(_("aborting: outstanding uncommitted merges\n")) | 1370 self.ui.warn(_("aborting: outstanding uncommitted merges\n")) |
1371 return 1 | 1371 return 1 |
1372 | 1372 |
1381 mf2 = self.manifest.readflags(m2n) | 1381 mf2 = self.manifest.readflags(m2n) |
1382 ma = self.manifest.read(man) | 1382 ma = self.manifest.read(man) |
1383 mfa = self.manifest.readflags(man) | 1383 mfa = self.manifest.readflags(man) |
1384 | 1384 |
1385 (c, a, d, u) = self.changes() | 1385 (c, a, d, u) = self.changes() |
1386 | |
1387 if allow and not forcemerge: | |
1388 if c or a or d: | |
1389 raise util.Abort(_("outstanding uncommited changes")) | |
1390 if not forcemerge and not force: | |
1391 for f in u: | |
1392 if f in m2: | |
1393 t1 = self.wread(f) | |
1394 t2 = self.file(f).read(m2[f]) | |
1395 if cmp(t1, t2) != 0: | |
1396 raise util.Abort(_("'%s' already exists in the working" | |
1397 " dir and differs from remote") % f) | |
1386 | 1398 |
1387 # is this a jump, or a merge? i.e. is there a linear path | 1399 # is this a jump, or a merge? i.e. is there a linear path |
1388 # from p1 to p2? | 1400 # from p1 to p2? |
1389 linear_path = (pa == p1 or pa == p2) | 1401 linear_path = (pa == p1 or pa == p2) |
1390 | 1402 |