equal
deleted
inserted
replaced
859 info = [ popi ] + [self.applied[popi].rev, self.applied[popi].name] |
859 info = [ popi ] + [self.applied[popi].rev, self.applied[popi].name] |
860 |
860 |
861 start = info[0] |
861 start = info[0] |
862 rev = revlog.bin(info[1]) |
862 rev = revlog.bin(info[1]) |
863 |
863 |
|
864 if update: |
|
865 top = self.check_toppatch(repo) |
|
866 |
|
867 if repo.changelog.heads(rev) != [revlog.bin(self.applied[-1].rev)]: |
|
868 raise util.Abort("popping would remove a revision not " |
|
869 "managed by this patch queue") |
|
870 |
864 # we know there are no local changes, so we can make a simplified |
871 # we know there are no local changes, so we can make a simplified |
865 # form of hg.update. |
872 # form of hg.update. |
866 if update: |
873 if update: |
867 top = self.check_toppatch(repo) |
|
868 qp = self.qparents(repo, rev) |
874 qp = self.qparents(repo, rev) |
869 changes = repo.changelog.read(qp) |
875 changes = repo.changelog.read(qp) |
870 mmap = repo.manifest.read(changes[0]) |
876 mmap = repo.manifest.read(changes[0]) |
871 m, a, r, d, u = repo.status(qp, top)[:5] |
877 m, a, r, d, u = repo.status(qp, top)[:5] |
872 if d: |
878 if d: |
913 wlock = repo.wlock() |
919 wlock = repo.wlock() |
914 try: |
920 try: |
915 self.check_toppatch(repo) |
921 self.check_toppatch(repo) |
916 (top, patchfn) = (self.applied[-1].rev, self.applied[-1].name) |
922 (top, patchfn) = (self.applied[-1].rev, self.applied[-1].name) |
917 top = revlog.bin(top) |
923 top = revlog.bin(top) |
|
924 if repo.changelog.heads(top) != [top]: |
|
925 raise util.Abort("cannot refresh a revision with children") |
918 cparents = repo.changelog.parents(top) |
926 cparents = repo.changelog.parents(top) |
919 patchparent = self.qparents(repo, top) |
927 patchparent = self.qparents(repo, top) |
920 message, comments, user, date, patchfound = self.readheaders(patchfn) |
928 message, comments, user, date, patchfound = self.readheaders(patchfn) |
921 |
929 |
922 patchf = self.opener(patchfn, 'r+') |
930 patchf = self.opener(patchfn, 'r+') |