--- a/hgext/largefiles/reposetup.py Fri Dec 09 17:34:57 2011 +0100
+++ b/hgext/largefiles/reposetup.py Fri Dec 09 17:58:12 2011 +0100
@@ -166,7 +166,11 @@
unknown = set(result[4]).difference(lfiles)
if parentworking:
for lfile in unsure:
- if ctx1[lfutil.standin(lfile)].data().strip() \
+ standin = lfutil.standin(lfile)
+ if standin not in ctx1:
+ # from second parent
+ modified.append(lfile)
+ elif ctx1[standin].data().strip() \
!= lfutil.hashfile(self.wjoin(lfile)):
modified.append(lfile)
else:
--- a/tests/test-largefiles.t Fri Dec 09 17:34:57 2011 +0100
+++ b/tests/test-largefiles.t Fri Dec 09 17:58:12 2011 +0100
@@ -647,6 +647,23 @@
$ cat sub2/large7
large7
+Test status after merging with a branch that introduces a new largefile:
+
+ $ echo large > large
+ $ hg add --large large
+ $ hg commit -m 'add largefile'
+ $ hg update -q ".^"
+ $ echo change >> normal3
+ $ hg commit -m 'some change'
+ created new head
+ $ hg merge
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ (branch merge, don't forget to commit)
+ getting changed largefiles
+ 1 largefiles updated, 0 removed
+ $ hg status
+ M large
+
Test that a normal file and a largefile with the same name and path cannot
coexist.