[PATCH stable] cmdutil: warnings not issued in remove if subrepopath overlaps
Yuya Nishihara
yuya at tcha.org
Fri Jul 22 15:26:34 UTC 2016
On Fri, 22 Jul 2016 23:52:19 +0900, Yuya Nishihara wrote:
> On Fri, 22 Jul 2016 19:50:53 +0800, Anton Shestakov wrote:
> > 22.07.2016, 19:43, "Hannes Oldenburg" <hannes.christian.oldenburg at gmail.com>:
> > > # HG changeset patch
> > > # User Hannes Oldenburg hannes.christian.oldenburg at gmail.com
> > > # Date 1469186982 0
> > > # Fri Jul 22 11:29:42 2016 +0000
> > > # Branch stable
> > > # Node ID 8549f914ebc26442248701789a45feda94d979d7
> > > # Parent d3df009ab1175a6792549b51ae66486dd98f398b
> > > cmdutil: warnings not issued in remove if subrepopath overlaps
> > >
> > > Previously a subrepository "sub" would cause no warnings to be issued
> > > for a file "subnot/a" if it is not removed when calling:
> > >
> > > hg remove -S "subnot/a"
> > >
> > > diff -r d3df009ab117 -r 8549f914ebc2 mercurial/cmdutil.py
> > > --- a/mercurial/cmdutil.py Wed Jul 20 14:12:45 2016 -0500
> > > +++ b/mercurial/cmdutil.py Fri Jul 22 11:29:42 2016 +0000
> > > @@ -2481,7 +2481,7 @@
> > > for f in files:
> > > def insubrepo():
> > > for subpath in wctx.substate:
> > > - if f.startswith(subpath):
> > > + if f.startswith(subpath + '/'):
> > > return True
> > > return False
> > >
> > > diff -r d3df009ab117 -r 8549f914ebc2 tests/test-subrepo.t
> > > --- a/tests/test-subrepo.t Wed Jul 20 14:12:45 2016 -0500
> > > +++ b/tests/test-subrepo.t Fri Jul 22 11:29:42 2016 +0000
> > > @@ -53,6 +53,15 @@
> > > 7cf8cfea66e410e8e3336508dfeec07b3192de51
> > > .hgsub .hgsubstate
> > >
> > > +Subrepopath wich overlaps with filepath, does not change warnings in remove()
> >
> > "which".
>
> Fixed and queued, thanks.
Oops, I got the following test failure:
-- a/tests/test-subrepo-deep-nested-change.t
+++ b/tests/test-subrepo-deep-nested-change.t
$ hg remove -I 're:.*.txt' sub1
\r (no-eol) (esc)
searching [==========================================>] 1/1\r (no-eol) (esc)
\r (no-eol) (esc)
\r (no-eol) (esc)
deleting [===========================================>] 1/1\r (no-eol) (esc)
\r (no-eol) (esc)
+ not removing sub1: no tracked files
+ [1]
New behavior seems wrong since "sub1" is a subrepo and a subrepo directory
can't be empty by "hg remove".
More information about the Mercurial-devel
mailing list