comparison mercurial/localrepo.py @ 4059:431f3c1d3a37

Merge with crew-stable
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Tue, 30 Jan 2007 19:36:56 -0200
parents bf329bda51a6 e7282dede8cd
children 82eb0fafb56d
comparison
equal deleted inserted replaced
4051:022056263354 4059:431f3c1d3a37
614 fp2 = manifest2.get(fn, nullid) 614 fp2 = manifest2.get(fn, nullid)
615 615
616 meta = {} 616 meta = {}
617 cp = self.dirstate.copied(fn) 617 cp = self.dirstate.copied(fn)
618 if cp: 618 if cp:
619 # Mark the new revision of this file as a copy of another
620 # file. This copy data will effectively act as a parent
621 # of this new revision. If this is a merge, the first
622 # parent will be the nullid (meaning "look up the copy data")
623 # and the second one will be the other parent. For example:
624 #
625 # 0 --- 1 --- 3 rev1 changes file foo
626 # \ / rev2 renames foo to bar and changes it
627 # \- 2 -/ rev3 should have bar with all changes and
628 # should record that bar descends from
629 # bar in rev2 and foo in rev1
630 #
631 # this allows this merge to succeed:
632 #
633 # 0 --- 1 --- 3 rev4 reverts the content change from rev2
634 # \ / merging rev3 and rev4 should use bar@rev2
635 # \- 2 --- 4 as the merge base
636 #
619 meta["copy"] = cp 637 meta["copy"] = cp
620 if not manifest2: # not a branch merge 638 if not manifest2: # not a branch merge
621 meta["copyrev"] = hex(manifest1.get(cp, nullid)) 639 meta["copyrev"] = hex(manifest1.get(cp, nullid))
622 fp2 = nullid 640 fp2 = nullid
623 elif fp2 != nullid: # copied on remote side 641 elif fp2 != nullid: # copied on remote side
624 meta["copyrev"] = hex(manifest1.get(cp, nullid)) 642 meta["copyrev"] = hex(manifest1.get(cp, nullid))
625 elif fp1 != nullid: # copied on local side, reversed 643 elif fp1 != nullid: # copied on local side, reversed
626 meta["copyrev"] = hex(manifest2.get(cp)) 644 meta["copyrev"] = hex(manifest2.get(cp))
627 fp2 = nullid 645 fp2 = fp1
628 else: # directory rename 646 else: # directory rename
629 meta["copyrev"] = hex(manifest1.get(cp, nullid)) 647 meta["copyrev"] = hex(manifest1.get(cp, nullid))
630 self.ui.debug(_(" %s: copy %s:%s\n") % 648 self.ui.debug(_(" %s: copy %s:%s\n") %
631 (fn, cp, meta["copyrev"])) 649 (fn, cp, meta["copyrev"]))
632 fp1 = nullid 650 fp1 = nullid