<feed xmlns='http://www.w3.org/2005/Atom'>
<title>metastore/man1, branch format1-3</title>
<subtitle>File metadata backup/comparison/restoration tool</subtitle>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/'/>
<entry>
<title>Return non-zero exit status if "compare" finds differences</title>
<updated>2022-05-24T09:12:33+00:00</updated>
<author>
<name>Adam Spragg</name>
<email>adam@spra.gg</email>
</author>
<published>2022-05-23T14:29:11+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=a0902fe51010645f779e4d02cd46f35e488b8bd2'/>
<id>a0902fe51010645f779e4d02cd46f35e488b8bd2</id>
<content type='text'>
This makes `metastore` more useful in scripts, just to check if it found
anything, in the same way as `diff` and `grep`.

Note that POSIX requires that EXIT_SUCCESS is 0, and EXIT_FAILURE is 1,
so I've defined EXIT_DIFFERENCES as 2 which, while different from the
values `diff` and `grep` use (1 for finding something, 2 for errors),
maintains a certain amount of backwards compatibility with previous
versions of metastore.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes `metastore` more useful in scripts, just to check if it found
anything, in the same way as `diff` and `grep`.

Note that POSIX requires that EXIT_SUCCESS is 0, and EXIT_FAILURE is 1,
so I've defined EXIT_DIFFERENCES as 2 which, while different from the
values `diff` and `grep` use (1 for finding something, 2 for errors),
maintains a certain amount of backwards compatibility with previous
versions of metastore.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make "--no-mtime" apply to "dump" action</title>
<updated>2022-05-24T09:12:33+00:00</updated>
<author>
<name>Adam Spragg</name>
<email>adam@spra.gg</email>
</author>
<published>2022-05-23T14:00:28+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=7c0520451b071e77b4c432ed89fc7559b8c58138'/>
<id>7c0520451b071e77b4c432ed89fc7559b8c58138</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ability to not save mtime in metadata files</title>
<updated>2022-05-24T09:12:33+00:00</updated>
<author>
<name>Adam Spragg</name>
<email>adam@spra.gg</email>
</author>
<published>2022-05-18T15:35:35+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=7292804c1bafd43389defc0d7b4352ada666d626'/>
<id>7292804c1bafd43389defc0d7b4352ada666d626</id>
<content type='text'>
If you're storing metadata in a version control system with multiple
branches, mtime differences are going to produce a whole bunch of
conflicts that you likely don't care about. This allows you to not
save mtime and avoid those.

Note that we use a sentinel value of -1 for the mentry `mtimensec` field
to indicate this in the data, as all values of `mtime` are theoretically
valid, but `mtimensec` must always be between 0 and 999,999,999 in the
real world.

I'm not 100% sure about the mechanism for selecting this feature. The
legacy behaviour for metastore was to save mtimes in the metadata files,
but ignore them for compare/apply by default, with a `--mtime` option to
use the mtime data.

Keeping the legacy behaviour for backwards compatibility, but adding a
`--no-mtime` option to ignore mtimes when saving felt like a reasonable
way of making this happen, but something about it doesn't feel great.

Maybe I just didn't figure out how to make the documentation clear
enough.  ¯\_(ツ)_/¯
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If you're storing metadata in a version control system with multiple
branches, mtime differences are going to produce a whole bunch of
conflicts that you likely don't care about. This allows you to not
save mtime and avoid those.

Note that we use a sentinel value of -1 for the mentry `mtimensec` field
to indicate this in the data, as all values of `mtime` are theoretically
valid, but `mtimensec` must always be between 0 and 999,999,999 in the
real world.

I'm not 100% sure about the mechanism for selecting this feature. The
legacy behaviour for metastore was to save mtimes in the metadata files,
but ignore them for compare/apply by default, with a `--mtime` option to
use the mtime data.

Keeping the legacy behaviour for backwards compatibility, but adding a
`--no-mtime` option to ignore mtimes when saving felt like a reasonable
way of making this happen, but something about it doesn't feel great.

Maybe I just didn't figure out how to make the documentation clear
enough.  ¯\_(ツ)_/¯
</pre>
</div>
</content>
</entry>
<entry>
<title>Add documentation for new Format 1</title>
<updated>2022-05-18T16:19:40+00:00</updated>
<author>
<name>Adam Spragg</name>
<email>adam@spra.gg</email>
</author>
<published>2022-05-17T09:44:27+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=588b3e780fef14631f7ec5c369bff07efdc5e013'/>
<id>588b3e780fef14631f7ec5c369bff07efdc5e013</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add -r/--format option to pick the format to save as</title>
<updated>2022-05-18T16:19:40+00:00</updated>
<author>
<name>Adam Spragg</name>
<email>adam@spra.gg</email>
</author>
<published>2022-05-16T13:25:16+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=96df5969b11b9a64f95c0c28347154b06cfc9d15'/>
<id>96df5969b11b9a64f95c0c28347154b06cfc9d15</id>
<content type='text'>
Only version 0 is supported here.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only version 0 is supported here.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update AUTHORS section of man page.</title>
<updated>2016-02-01T23:40:08+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2016-02-01T23:40:08+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=f2f86f833eb20cb05135c4db09f8a0785644dd35'/>
<id>f2f86f833eb20cb05135c4db09f8a0785644dd35</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move man pages for section 1 to man1/ directory.</title>
<updated>2015-09-13T20:57:00+00:00</updated>
<author>
<name>Przemyslaw Pawelczyk</name>
<email>przemoc@gmail.com</email>
</author>
<published>2015-09-13T20:57:00+00:00</published>
<link rel='alternate' type='text/html' href='https://spragg-ssl.co.uk/projects/cgit.cgi/metastore/commit/?id=05860653b0e37abbc144f43b48dc86b9ab71f156'/>
<id>05860653b0e37abbc144f43b48dc86b9ab71f156</id>
<content type='text'>
As a bonus you can install out-of-tree now via make -f.
Fixes #22.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As a bonus you can install out-of-tree now via make -f.
Fixes #22.
</pre>
</div>
</content>
</entry>
</feed>
