• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

cmd/continuity/H14-Aug-2018-

commands/H14-Aug-2018-

continuityfs/H14-Aug-2018-

devices/H14-Aug-2018-

driver/H14-Aug-2018-

fs/H14-Aug-2018-

pathdriver/H14-Aug-2018-

proto/H14-Aug-2018-

syscallx/H14-Aug-2018-

sysx/H14-Aug-2018-

testutil/H14-Aug-2018-

vendor/H14-Aug-2018-

version/H14-Aug-2018-

.gitignoreH A D14-Aug-2018270

.mailmapH A D14-Aug-201888

.travis.ymlH A D14-Aug-2018452

AUTHORSH A D14-Aug-2018630

LICENSEH A D14-Aug-201811.1 KiB

MakefileH A D14-Aug-20181.8 KiB

README.mdH A D14-Aug-20181.7 KiB

context.goH A D14-Aug-201817.2 KiB

digests.goH A D14-Aug-20182.2 KiB

digests_test.goH A D14-Aug-20181.8 KiB

groups_unix.goH A D14-Aug-20181.9 KiB

hardlinks.goH A D14-Aug-20181.2 KiB

hardlinks_unix.goH A D14-Aug-2018982

hardlinks_windows.goH A D14-Aug-2018386

ioutils.goH A D14-Aug-2018742

manifest.goH A D14-Aug-20183.1 KiB

manifest_test.goH A D14-Aug-20189.5 KiB

manifest_test_darwin.goH A D14-Aug-2018354

resource.goH A D14-Aug-201812.7 KiB

resource_test.goH A D14-Aug-20182.7 KiB

resource_unix.goH A D14-Aug-20181.1 KiB

resource_windows.goH A D14-Aug-2018286

testutil_test.goH A D14-Aug-2018986

vendor.confH A D14-Aug-2018845

README.md

1# continuity
2
3[![GoDoc](https://godoc.org/github.com/containerd/continuity?status.svg)](https://godoc.org/github.com/containerd/continuity)
4[![Build Status](https://travis-ci.org/containerd/continuity.svg?branch=master)](https://travis-ci.org/containerd/continuity)
5
6A transport-agnostic, filesystem metadata manifest system
7
8This project is a staging area for experiments in providing transport agnostic
9metadata storage.
10
11Please see https://github.com/opencontainers/specs/issues/11 for more details.
12
13## Manifest Format
14
15A continuity manifest encodes filesystem metadata in Protocol Buffers.
16Please refer to [proto/manifest.proto](proto/manifest.proto).
17
18## Usage
19
20Build:
21
22```console
23$ make
24```
25
26Create a manifest (of this repo itself):
27
28```console
29$ ./bin/continuity build . > /tmp/a.pb
30```
31
32Dump a manifest:
33
34```console
35$ ./bin/continuity ls /tmp/a.pb
36...
37-rw-rw-r--      270 B   /.gitignore
38-rw-rw-r--      88 B    /.mailmap
39-rw-rw-r--      187 B   /.travis.yml
40-rw-rw-r--      359 B   /AUTHORS
41-rw-rw-r--      11 kB   /LICENSE
42-rw-rw-r--      1.5 kB  /Makefile
43...
44-rw-rw-r--      986 B   /testutil_test.go
45drwxrwxr-x      0 B     /version
46-rw-rw-r--      478 B   /version/version.go
47```
48
49Verify a manifest:
50
51```console
52$ ./bin/continuity verify . /tmp/a.pb
53```
54
55Break the directory and restore using the manifest:
56```console
57$ chmod 777 Makefile
58$ ./bin/continuity verify . /tmp/a.pb
592017/06/23 08:00:34 error verifying manifest: resource "/Makefile" has incorrect mode: -rwxrwxrwx != -rw-rw-r--
60$ ./bin/continuity apply . /tmp/a.pb
61$ stat -c %a Makefile
62664
63$ ./bin/continuity verify . /tmp/a.pb
64```
65
66
67## Contribution Guide
68### Building Proto Package
69
70If you change the proto file you will need to rebuild the generated Go with `go generate`.
71
72```console
73$ go generate ./proto
74```
75