[PATCH STABLE] cmdutil: warnings not issued in cat if subrepopath overlaps

Augie Fackler raf at durin42.com
Wed Jul 27 09:16:12 EDT 2016


On Wed, Jul 27, 2016 at 08:56:42AM +0000, Hannes Oldenburg wrote:
> # HG changeset patch
> # User Hannes Oldenburg <hannes.christian.oldenburg at gmail.com>
> # Date 1469608734 0
> #      Wed Jul 27 08:38:54 2016 +0000
> # Branch stable
> # Node ID 1cb0ce20c615d848b7ca50fb23096cdc27d4b6d1
> # Parent  6217180f9ab8c61320ea3826591960415779282e
> cmdutil: warnings not issued in cat if subrepopath overlaps

Queued, thanks.

>
> Previously a subrepository "sub" would cause no warnings to
> be issued for a file "subnot/a", if it's not present in the
> corresponding changeset when calling:
>
> hg cat subnot/a
>
> diff -r 6217180f9ab8 -r 1cb0ce20c615 mercurial/cmdutil.py
> --- a/mercurial/cmdutil.py	Mon Jul 25 12:59:52 2016 +0800
> +++ b/mercurial/cmdutil.py	Wed Jul 27 08:38:54 2016 +0000
> @@ -2584,7 +2584,7 @@
>      # Don't warn about "missing" files that are really in subrepos
>      def badfn(path, msg):
>          for subpath in ctx.substate:
> -            if path.startswith(subpath):
> +            if path.startswith(subpath + '/'):
>                  return
>          matcher.bad(path, msg)
>
> diff -r 6217180f9ab8 -r 1cb0ce20c615 tests/test-subrepo.t
> --- a/tests/test-subrepo.t	Mon Jul 25 12:59:52 2016 +0800
> +++ b/tests/test-subrepo.t	Wed Jul 27 08:38:54 2016 +0000
> @@ -60,6 +60,9 @@
>    $ hg remove -S snot/file
>    not removing snot/file: file is untracked
>    [1]
> +  $ hg cat snot/filenot
> +  snot/filenot: no such file in rev 7cf8cfea66e4
> +  [1]
>    $ rm -r snot
>
>  Revert subrepo and test subrepo fileset keyword:
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list