comparison tests/test-subrepo-recursion.t @ 23958:df463ca0adef stable

largefiles: revert to lfilesrepo.status() being an unfiltered method This effectively reverts 67d63ec85eb7, which caused some normal file copies to not be displayed as copies. Other normal file copies could be displayed- the exact reason isn't clear. This also adds two tests that were failing prior to this backout, so that this can be sorted out next cycle. The difference between copy cases that worked and those that didn't seemed to be in copies.pathcopies(). When largefiles isn't enabled for the changed test, or lfstatus is not set in the commands.status() override, 'y.ancestor(x) == x'. That wasn't true otherwise, which fell through to the _chain() method. In this case, the copy is removed in the criss cross loop. 'y.ancestor(x)' returns a context.changectx type, while 'x' is a lfilesctx type in the failing case. I tried adding the ancestor method to the lfilesctx class to change the type of the ancestor context, however the context when printed as a string then gains a '+'. This points to it being a context.committablectx, which clearly isn't correct for an ancestor. Possibly the problem is the lfilesctx needs to subclass context.committablectx in some cases, but context.changectx in others, within the same invocation? I'm not sure how to pull that off, and backing out this change is safer during the freeze. As to the status changing when a path is specified, I haven't looked into it yet.
author Matt Harbison <matt_harbison@yahoo.com>
date Sun, 25 Jan 2015 22:55:10 -0500
parents 9e3910db4e78
children 27ad6b91f5c2
comparison
equal deleted inserted replaced
23957:0c4419faacbc 23958:df463ca0adef
160 160
161 $ hg status -S .. 161 $ hg status -S ..
162 M ../foo/bar/z.txt 162 M ../foo/bar/z.txt
163 M ../foo/y.txt 163 M ../foo/y.txt
164 ? a.txt 164 ? a.txt
165
166 XXX: filtering lfilesrepo.status() in 3.3-rc causes these files to be listed as
167 added instead of modified.
168 $ hg status -S .. --config extensions.largefiles=
169 M ../foo/bar/z.txt
170 M ../foo/y.txt
171 ? a.txt
172
165 $ hg diff --nodates -S .. 173 $ hg diff --nodates -S ..
166 diff -r d254738c5f5e foo/y.txt 174 diff -r d254738c5f5e foo/y.txt
167 --- a/foo/y.txt 175 --- a/foo/y.txt
168 +++ b/foo/y.txt 176 +++ b/foo/y.txt
169 @@ -1,2 +1,3 @@ 177 @@ -1,2 +1,3 @@