Mercurial > hg
view tests/test-update-names.t @ 40623:7c5a922be068
tests: document a known failing interaction between narrow and lfs
This is one of the two remaining aborts I found looking into issue5794. I've
got no idea what's wrong with the hook, since the changes there fixed the other
two problems noted in that bug report. It seems like it might go away when the
narrow issue is fixed, but let's make sure this doesn't get lost.
The stacktrace for the hook seems to indicate that the missing file *is* in ctx:
remote: Traceback (most recent call last):
remote: File "c:\Users\Matt\projects\hg\hgext\lfs\__init__.py", line 253, in checkrequireslfs
remote: if any(f in ctx and match(f) and ctx[f].islfs() for f in ctx.files()):
remote: File "c:\Users\Matt\projects\hg\hgext\lfs\__init__.py", line 253, in <genexpr>
remote: if any(f in ctx and match(f) and ctx[f].islfs() for f in ctx.files()):
remote: File "c:\Users\Matt\projects\hg\hgext\lfs\wrapper.py", line 191, in filectxislfs
remote: return _islfs(self.filelog(), self.filenode())
remote: File "c:\Users\Matt\projects\hg\mercurial\context.py", line 631, in filenode
remote: return self._filenode
remote: File "c:\Users\Matt\projects\hg\mercurial\util.py", line 1528, in __get__
remote: result = self.func(obj)
remote: File "c:\Users\Matt\projects\hg\mercurial\context.py", line 579, in _filenode
remote: return self._filelog.lookup(self._fileid)
remote: File "c:\Users\Matt\projects\hg\mercurial\filelog.py", line 68, in lookup
remote: self._revlog.indexfile)
remote: File "c:\Users\Matt\projects\hg\mercurial\utils\storageutil.py", line 218, in fileidlookup
remote: raise error.LookupError(fileid, identifier, _('no match found'))
remote: LookupError: data/inside2/f.i@f59b4e021835: no match found
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 13 Nov 2018 23:54:23 -0500 |
parents | c8514f858788 |
children |
line wrap: on
line source
Test update logic when there are renames or weird same-name cases between dirs and files Update with local changes across a file rename $ hg init r1 && cd r1 $ echo a > a $ hg add a $ hg ci -m a $ hg mv a b $ hg ci -m rename $ echo b > b $ hg ci -m change $ hg up -q 0 $ echo c > a $ hg up merging a and b to b warning: conflicts while merging b! (edit, then use 'hg resolve --mark') 0 files updated, 0 files merged, 0 files removed, 1 files unresolved use 'hg resolve' to retry unresolved file merges [1] Test update when local untracked directory exists with the same name as a tracked file in a commit we are updating to $ hg init r2 && cd r2 $ echo root > root && hg ci -Am root # rev 0 adding root $ echo text > name && hg ci -Am "name is a file" # rev 1 adding name $ hg up 0 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ mkdir name $ hg up 1 1 files updated, 0 files merged, 0 files removed, 0 files unresolved Test update when local untracked directory exists with some files in it and has the same name a tracked file in a commit we are updating to. In future this should be updated to give an friendlier error message, but now we should just make sure that this does not erase untracked data $ hg up 0 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ mkdir name $ echo text > name/file $ hg st ? name/file $ hg up 1 abort: Unlinking directory not permitted: *$TESTTMP/r1/r2/name* (glob) (windows !) abort: Directory not empty: '?\$TESTTMP/r1/r2/name'? (re) (no-windows !) [255] $ cat name/file text $ cd .. #if symlink Test update when two commits have symlinks that point to different folders $ hg init r3 && cd r3 $ echo root > root && hg ci -Am root adding root $ mkdir folder1 && mkdir folder2 $ ln -s folder1 folder $ hg ci -Am "symlink to folder1" adding folder $ rm folder $ ln -s folder2 folder $ hg ci -Am "symlink to folder2" $ hg up 1 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd .. #endif #if rmcwd Test that warning is printed if cwd is deleted during update $ hg init r4 && cd r4 $ mkdir dir $ cd dir $ echo a > a $ echo b > b $ hg add a b $ hg ci -m "file and dir" $ hg up -q null current directory was removed (consider changing to repo root: $TESTTMP/r1/r4) #endif