# HG changeset patch # User Brendan Cully # Date 1181534701 25200 # Node ID 2f489b00f8ebe1322cf92ceab832d82f34f34a15 # Parent cc9b79216a769237f1048e83705b8826c15f0061# Parent 720ae5085ee34ab805ac27a443677c76629d686f Merge with mpm diff --git a/mercurial/hgweb/server.py b/mercurial/hgweb/server.py --- a/mercurial/hgweb/server.py +++ b/mercurial/hgweb/server.py @@ -216,14 +216,10 @@ def create_server(ui, repo): return hgwebobj self.reqmaker = wsgiapplication(make_handler) - addr, port = self.socket.getsockname()[:2] - if addr in ('0.0.0.0', '::'): + addr = address + if addr in ('', '::'): addr = socket.gethostname() - else: - try: - addr = socket.gethostbyaddr(addr)[0] - except socket.error: - pass + self.addr, self.port = addr, port class IPv6HTTPServer(MercurialHTTPServer): diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -810,6 +810,8 @@ class localrepository(repo.repository): if f in m1: del m1[f] removed.append(f) + elif f in m2: + removed.append(f) mn = self.manifest.add(m1, tr, linkrev, c1[0], c2[0], (new, removed)) # add changeset diff --git a/tests/test-586 b/tests/test-586 new file mode 100755 --- /dev/null +++ b/tests/test-586 @@ -0,0 +1,19 @@ +#!/bin/sh +# a test for issue586 + +hg init a +cd a +echo a > a +hg ci -Ama + +hg init ../b +cd ../b +echo b > b +hg ci -Amb + +hg pull -f ../a +hg merge +hg rm -f a +hg ci -Amc + +hg st -A diff --git a/tests/test-586.out b/tests/test-586.out new file mode 100644 --- /dev/null +++ b/tests/test-586.out @@ -0,0 +1,13 @@ +adding a +adding b +pulling from ../a +searching for changes +warning: repository is unrelated +adding changesets +adding manifests +adding file changes +added 1 changesets with 1 changes to 1 files (+1 heads) +(run 'hg heads' to see heads, 'hg merge' to merge) +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +(branch merge, don't forget to commit) +C b