[PATCH V3] files: write filenode hash if --debug is passed
Martin von Zweigbergk
martinvonz at google.com
Tue Apr 14 15:12:42 CDT 2015
How about we allow --debug only with --rev, at least for now, to make some
progress? That would take us one step closer to deprecating 'hg manifest'.
On Tue, Apr 14, 2015 at 1:06 PM Pierre-Yves David <
pierre-yves.david at ens-lyon.org> wrote:
>
>
> On 04/10/2015 01:02 PM, Martin von Zweigbergk wrote:
> >
> > On Fri, Apr 10, 2015 at 9:32 AM David Soria Parra <davidsp at fb.com
> > <mailto:davidsp at fb.com>> wrote:
> >
> > # HG changeset patch
> > # User David Soria Parra <davidsp at fb.com <mailto:davidsp at fb.com>>
> > # Date 1427163012 25200
> > # Mon Mar 23 19:10:12 2015 -0700
> > # Node ID de49a8dd7d9a2c53e70bfe1436117811ba8b9f72
> > # Parent 811a1842cfe5f632145912d9bf2dc859e6ee3eeb
> > files: write filenode hash if --debug is passed
> >
> > Write the filenode hash similar to hg manifest if --debug is passed.
> > This allows to retrieve the filenode hash for a specific patho.
> >
> > diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
> > --- a/mercurial/cmdutil.py
> > +++ b/mercurial/cmdutil.py
> > @@ -2264,13 +2264,20 @@
> > rev = ctx.rev()
> > ret = 1
> > ds = ctx.repo().dirstate
> > -
> > + st = ctx.repo().status()
> > + changed = st.modified + st.removed
> > for f in ctx.matches(m):
> > if rev is None and ds[f] == 'r':
> > continue
> > fm.startitem()
> > if ui.verbose:
> > fc = ctx[f]
> > + if ui.debugflag:
> > + if f in changed:
> > + formatstr = '%s+ '
> > + else:
> > + formatstr = '%s '
> > + fm.write('hash', formatstr, hex(fc.filenode()))
> > fm.write('size flags', '% 10d % 1s ', fc.size(),
> > fc.flags())
> > fm.data(abspath=f)
> > fm.write('path', fmt, m.rel(f))
> > diff --git a/tests/test-manifest.t b/tests/test-manifest.t
> > --- a/tests/test-manifest.t
> > +++ b/tests/test-manifest.t
> > @@ -32,6 +32,32 @@
> > a
> > l
> >
> > + $ hg files -r . -X b --debug
> > + b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 2 a
> > + 047b75c6d7a3ef6a2243bd0e99f94f6ea6683597 1 l l
> > +
> > + $ echo a >> a
> > + $ hg files -r . -X b --debug
> > + b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3+ 2 a
> >
> >
> > This is surprising to me. I would not expect the "+" on any files that
> > changed in revision ".". I think the suffix is to indicate that the
> > nodeid is still unknown. For any committed file revisions, the nodeid is
> > known and I think it should not have the suffix.
> >
> > I'd like to see the output of "hg --debug" without "-r ." for modified,
> > added and removed files as well.
>
> I shared the same confusion as Martin and dropping this from the
> clowncopter.
>
> --
> Pierre-Yves David
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20150414/5f0ee470/attachment.html>
More information about the Mercurial-devel
mailing list