# HG changeset patch # User Matt Harbison <matt_harbi...@yahoo.com> # Date 1515967224 18000 # Sun Jan 14 17:00:24 2018 -0500 # Node ID 5147a1a111145b239a79765499b58f253b6503ea # Parent 4f66e5c58c21d6a743d1ea69398b7fa2b9ff6419 lfs: add the '{raw}' template keyword to '{lfs_files}'
Even though it is (probably) weird to have multiline output from a keyword, something similar to this is useful as the public interface to dump the raw pointer content. I still haven't figured out how to use `hg debugdata` in a non trivial repo, and that will just be another point of aggravation when debugging a problem. The raw text is accessed directly here, so that we don't mask any problems in the data while deserializing and processing it (or abort). Ultimately, this functionality should probably be provided by something like `hg cat file -T '{raw}'`, and this keyword translated to a dict of the metadata. For non-LFS files, this would do the same thing as normal `hg cat`. This would be similar (I think) to `git show HEAD:{filename}`. But with the freeze looming, I won't have time to figure that out, and it could be a valuable debugging tool as this extension gets a wider audience. diff --git a/hgext/lfs/__init__.py b/hgext/lfs/__init__.py --- a/hgext/lfs/__init__.py +++ b/hgext/lfs/__init__.py @@ -231,6 +231,7 @@ makemap = lambda v: { 'file': v, 'oid': pointers[v].oid(), + 'raw': ctx[v].rawdata(), # pointersfromctx() filters out removed files } # TODO: make the separator ', '? diff --git a/tests/test-lfs.t b/tests/test-lfs.t --- a/tests/test-lfs.t +++ b/tests/test-lfs.t @@ -859,6 +859,12 @@ oid sha256:5bb8341bee63b3649f222b2215bde37322bea075a30575aa685d8f8d21c77024 size 29 x-is-binary 0 + $ hg --cwd convert_lfs log -r 0 -T '{lfs_files % "{raw}\n"}' + version https://git-lfs.github.com/spec/v1 + oid sha256:5bb8341bee63b3649f222b2215bde37322bea075a30575aa685d8f8d21c77024 + size 29 + x-is-binary 0 + $ hg --cwd convert_lfs \ > log -r 'all()' -T '{rev}: {lfs_files % "{file}: {oid}\n"}' 0: a1: 5bb8341bee63b3649f222b2215bde37322bea075a30575aa685d8f8d21c77024 _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel