##// END OF EJS Templates
Re: [PATCH 2 of 3] remove walk warning about nonexistent files...
Re: [PATCH 2 of 3] remove walk warning about nonexistent files On 11/15/05, Robin Farine <robin.farine@terminus.org> wrote: > # HG changeset patch > # User Robin Farine <robin.farine@terminus.org> > # Node ID ce0a3cc309a8d1e81278ec01a3c61fbb99c691f4 > # Parent feb77e0951e74d75c213e8471f107fdcc124c876 > remove walk warning about nonexistent files > > diff -r feb77e0951e7 -r ce0a3cc309a8 mercurial/dirstate.py > --- a/mercurial/dirstate.py Tue Nov 15 08:42:45 2005 +0100 > +++ b/mercurial/dirstate.py Tue Nov 15 08:59:50 2005 +0100 > @@ -336,9 +336,6 @@ > try: > st = os.lstat(f) > except OSError, inst: > - if ff not in dc: self.ui.warn('%s: %s\n' % ( > - util.pathto(self.getcwd(), ff), > - inst.strerror)) > continue > if stat.S_ISDIR(st.st_mode): > cmp1 = (lambda x, y: cmp(x[1], y[1])) this break some tests, a better fix would be to check if ff can be a directory prefix from files in dc you can try the attached patch. Benoit

File last commit:

r1514:faf46d81 default
r1564:34579a67 default
Show More
test-rename.out
115 lines | 2.2 KiB | text/plain | TextLexer
# rename a single file
A d2/c
R d1/d11/a1
# move a single file to an existing directory
A d2/a1
R d1/d11/a1
# rename directory d1 as d3
copying d1/a to d3/a
copying d1/b to d3/b
copying d1/ba to d3/ba
copying d1/d11/a1 to d3/d11/a1
removing d1/a
removing d1/b
removing d1/ba
removing d1/d11/a1
A d3/a
A d3/b
A d3/ba
A d3/d11/a1
R d1/a
R d1/b
R d1/ba
R d1/d11/a1
# move directory d1/d11 to an existing directory d2 (removes empty d1)
copying d1/d11/a1 to d2/d11/a1
removing d1/d11/a1
A d2/d11/a1
R d1/d11/a1
# move directories d1 and d2 to a new directory d3
copying d1/a to d3/d1/a
copying d1/b to d3/d1/b
copying d1/ba to d3/d1/ba
copying d1/d11/a1 to d3/d1/d11/a1
copying d2/b to d3/d2/b
removing d1/a
removing d1/b
removing d1/ba
removing d1/d11/a1
removing d2/b
A d3/d1/a
A d3/d1/b
A d3/d1/ba
A d3/d1/d11/a1
A d3/d2/b
R d1/a
R d1/b
R d1/ba
R d1/d11/a1
R d2/b
# move everything under directory d1 to existing directory d2, do not
# overwrite existing files (d2/b)
d2/b: not overwriting - file exists
copying d1/d11/a1 to d2/d11/a1
removing d1/d11/a1
A d2/a
A d2/ba
A d2/d11/a1
R d1/a
R d1/ba
R d1/d11/a1
1c1
< d1/b
---
> d2/b
# attempt to move potentially more than one file into a non-existent
# directory
abort: with multiple sources, destination must be an existing directory
# move every file under d1 to d2/d21 (glob)
copying d1/a to d2/d21/a
copying d1/b to d2/d21/b
copying d1/ba to d2/d21/ba
copying d1/d11/a1 to d2/d21/a1
removing d1/a
removing d1/b
removing d1/ba
removing d1/d11/a1
A d2/d21/a
A d2/d21/a1
A d2/d21/b
A d2/d21/ba
R d1/a
R d1/b
R d1/ba
R d1/d11/a1
# move every file under d1 starting with an 'a' to d2/d21 (regexp)
copying d1/a to d2/d21/a
copying d1/d11/a1 to d2/d21/a1
removing d1/a
removing d1/d11/a1
A d2/d21/a
A d2/d21/a1
R d1/a
R d1/d11/a1
# attempt to overwrite an existing file
d1/ca: not overwriting - file exists
abort: no files to copy
? d1/ca
# forced overwrite of an existing file
A d1/ca
R d1/ba
# replace a symlink with a file
A d1/ca
R d1/ba
# do not copy more than one source file to the same destination file
copying d1/d11/a1 to d3/d11/a1
d3/b: not overwriting - d2/b collides with d1/b
removing d1/d11/a1
A d3/a
A d3/b
A d3/ba
A d3/d11/a1
R d1/a
R d1/b
R d1/ba
R d1/d11/a1