Stop generating TUF 0.9 prefixed metadata and target files

TUF-1.0 no longer needs metadata files to be stored prefixed with the
file's hash. It only requires the version number.

This drops support for parsing M0 metadata, which only generated
hash-prefixed target files.

Change-Id: I002e344f0d381941d29b4ba409382fc8d5932f27
diff --git a/client/client.go b/client/client.go
index d4c7570..f046b6a 100644
--- a/client/client.go
+++ b/client/client.go
@@ -448,28 +448,15 @@
 // downloadVersionedMeta downloads top-level metadata from remote storage and
 // verifies it using the given file metadata.
 func (c *Client) downloadMeta(name string, version int, m data.FileMeta) ([]byte, error) {
-	// FIXME(TUF-0.9) TUF-1.0 requires all consistent snapshot metadata to
-	// be prefixed with a version number (except the timestamp role).
-	// However, if the repository is still serving TUF-0.9 metadata, we
-	// need to fall back to fetching the hashed metadata.
 	r, size, err := func() (io.ReadCloser, int64, error) {
 		if c.consistentSnapshot {
-			// FIXME(TUF-0.9) Only try downloading the versioned
-			// metadata if we know the version we want. We might
-			// not know if we are dealing with a TUF-0.9 snapshot.
-			if version != 0 {
-				path := util.VersionedPath(name, version)
-				r, size, err := c.remote.GetMeta(path)
-				if err == nil {
-					return r, size, nil
-				}
-
-				if !IsNotFound(err) {
-					return nil, 0, err
-				}
+			path := util.VersionedPath(name, version)
+			r, size, err := c.remote.GetMeta(path)
+			if err == nil {
+				return r, size, nil
 			}
 
-			return c.downloadHashed(name, c.remote.GetMeta, m.Hashes)
+			return nil, 0, err
 		} else {
 			return c.remote.GetMeta(name)
 		}
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/0/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/0/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
deleted file mode 100644
index b228793..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/0/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "289e5a9e71afd7909326aa4caea92f7557ee0e2283d8c31f0c3401ce67248a45",
-			"method": "ed25519",
-			"sig": "9e1f093ac101b18ac499fe7708ed8055bcee4efd49ec7853fa009f42a31f465d9d358d1df6ce246b82fb7164a62a82f8148c099c18239ad22ae4a8a4c294cb0e"
-		},
-		{
-			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
-			"method": "ed25519",
-			"sig": "9e1f093ac101b18ac499fe7708ed8055bcee4efd49ec7853fa009f42a31f465d9d358d1df6ce246b82fb7164a62a82f8148c099c18239ad22ae4a8a4c294cb0e"
-		}
-	],
-	"signed": {
-		"_type": "snapshot",
-		"expires": "2100-01-01T00:00:00Z",
-		"meta": {
-			"root.json": {
-				"hashes": {
-					"sha512": "c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99"
-				},
-				"length": 3951,
-				"version": 1
-			},
-			"targets.json": {
-				"hashes": {
-					"sha512": "a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237"
-				},
-				"length": 866,
-				"version": 1
-			}
-		},
-		"spec_version": "1.0",
-		"version": 1
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/0/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/0/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
deleted file mode 100644
index 0864196..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/0/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "808aa256a8172bb0cb961767c6768e55ccf732c99afccc6145752d7a328b7937",
-			"method": "ed25519",
-			"sig": "4d5c3a5da43f3792d077c1128fa28585982ff2957fae59be02a831fc920d0b91cbeaa99fd6c15066ec4da8bf12f993440a90d1624fd7b0a68070e5d60ed2500f"
-		},
-		{
-			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
-			"method": "ed25519",
-			"sig": "4d5c3a5da43f3792d077c1128fa28585982ff2957fae59be02a831fc920d0b91cbeaa99fd6c15066ec4da8bf12f993440a90d1624fd7b0a68070e5d60ed2500f"
-		}
-	],
-	"signed": {
-		"_type": "targets",
-		"expires": "2100-01-01T00:00:00Z",
-		"spec_version": "1.0",
-		"targets": {
-			"0": {
-				"hashes": {
-					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
-				},
-				"length": 1
-			}
-		},
-		"version": 1
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/0/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json b/client/testdata/go-tuf/consistent-snapshot-true/0/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
deleted file mode 100644
index a047c34..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/0/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "ce72db3f938914205461a415c9b7b91267a2079df991fd6283aa8461988c1add",
-			"method": "ed25519",
-			"sig": "40d7a7105eefddcf549d8a11c76ecf0a97153091c107b33c0c6f4bb8df2ecc16fa3ff90a7c92dfe980948ad4c4f84e1dd1352d32889de9a1a806f96e922bc300"
-		},
-		{
-			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
-			"method": "ed25519",
-			"sig": "40d7a7105eefddcf549d8a11c76ecf0a97153091c107b33c0c6f4bb8df2ecc16fa3ff90a7c92dfe980948ad4c4f84e1dd1352d32889de9a1a806f96e922bc300"
-		}
-	],
-	"signed": {
-		"_type": "root",
-		"consistent_snapshot": true,
-		"expires": "2100-01-01T00:00:00Z",
-		"keys": {
-			"289e5a9e71afd7909326aa4caea92f7557ee0e2283d8c31f0c3401ce67248a45": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
-				},
-				"scheme": "ed25519"
-			},
-			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
-				},
-				"scheme": "ed25519"
-			},
-			"808aa256a8172bb0cb961767c6768e55ccf732c99afccc6145752d7a328b7937": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
-				},
-				"scheme": "ed25519"
-			},
-			"aa3255b4e8e17e566d2bdbea0e5842978f9fa1d2fa9ec76ae76b146164acbfc8": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
-				},
-				"scheme": "ed25519"
-			},
-			"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
-				},
-				"scheme": "ed25519"
-			},
-			"ce72db3f938914205461a415c9b7b91267a2079df991fd6283aa8461988c1add": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
-				},
-				"scheme": "ed25519"
-			},
-			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
-				},
-				"scheme": "ed25519"
-			},
-			"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
-				},
-				"scheme": "ed25519"
-			}
-		},
-		"roles": {
-			"root": {
-				"keyids": [
-					"ce72db3f938914205461a415c9b7b91267a2079df991fd6283aa8461988c1add",
-					"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953"
-				],
-				"threshold": 1
-			},
-			"snapshot": {
-				"keyids": [
-					"289e5a9e71afd7909326aa4caea92f7557ee0e2283d8c31f0c3401ce67248a45",
-					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
-				],
-				"threshold": 1
-			},
-			"targets": {
-				"keyids": [
-					"808aa256a8172bb0cb961767c6768e55ccf732c99afccc6145752d7a328b7937",
-					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
-				],
-				"threshold": 1
-			},
-			"timestamp": {
-				"keyids": [
-					"aa3255b4e8e17e566d2bdbea0e5842978f9fa1d2fa9ec76ae76b146164acbfc8",
-					"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d"
-				],
-				"threshold": 1
-			}
-		},
-		"spec_version": "1.0",
-		"version": 1
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/0/repository/targets/0.0 b/client/testdata/go-tuf/consistent-snapshot-true/0/repository/targets/0.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/0/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/1/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
deleted file mode 120000
index a3796a6..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../0/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/1/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
deleted file mode 100644
index 525114d..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "289e5a9e71afd7909326aa4caea92f7557ee0e2283d8c31f0c3401ce67248a45",
-			"method": "ed25519",
-			"sig": "14463f080beff5898169e36ca71b793e2119967df0cd1904a75f0bff46a77f7f5a8f63649aadbd1e84f9019b24f0059701e5fa7e995311820b2a5fcda8e5ae05"
-		},
-		{
-			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
-			"method": "ed25519",
-			"sig": "14463f080beff5898169e36ca71b793e2119967df0cd1904a75f0bff46a77f7f5a8f63649aadbd1e84f9019b24f0059701e5fa7e995311820b2a5fcda8e5ae05"
-		}
-	],
-	"signed": {
-		"_type": "snapshot",
-		"expires": "2100-01-01T00:00:00Z",
-		"meta": {
-			"root.json": {
-				"hashes": {
-					"sha512": "376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428"
-				},
-				"length": 4459,
-				"version": 2
-			},
-			"targets.json": {
-				"hashes": {
-					"sha512": "5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0"
-				},
-				"length": 1067,
-				"version": 2
-			}
-		},
-		"spec_version": "1.0",
-		"version": 2
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json b/client/testdata/go-tuf/consistent-snapshot-true/1/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
deleted file mode 100644
index 4dd4e5f..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "ce72db3f938914205461a415c9b7b91267a2079df991fd6283aa8461988c1add",
-			"method": "ed25519",
-			"sig": "52c86e7048a85d1c2e1486c0790574f16169b5cc1e4489f4350b3414fd345e579753815638e0ffeee4d0aaaef0059960e1c5805757e8eb959f0e0d96fab19600"
-		},
-		{
-			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
-			"method": "ed25519",
-			"sig": "52c86e7048a85d1c2e1486c0790574f16169b5cc1e4489f4350b3414fd345e579753815638e0ffeee4d0aaaef0059960e1c5805757e8eb959f0e0d96fab19600"
-		},
-		{
-			"keyid": "b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f",
-			"method": "ed25519",
-			"sig": "4d4faadeeab83360eb09972dd6cdc9cf0b433214647760ed78f7aa10fd9529c9902873b4d85af1a009477d83b62776bb035e9982afaff544c8a81673a4d8000b"
-		},
-		{
-			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
-			"method": "ed25519",
-			"sig": "4d4faadeeab83360eb09972dd6cdc9cf0b433214647760ed78f7aa10fd9529c9902873b4d85af1a009477d83b62776bb035e9982afaff544c8a81673a4d8000b"
-		}
-	],
-	"signed": {
-		"_type": "root",
-		"consistent_snapshot": true,
-		"expires": "2100-01-01T00:00:00Z",
-		"keys": {
-			"289e5a9e71afd7909326aa4caea92f7557ee0e2283d8c31f0c3401ce67248a45": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
-				},
-				"scheme": "ed25519"
-			},
-			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
-				},
-				"scheme": "ed25519"
-			},
-			"808aa256a8172bb0cb961767c6768e55ccf732c99afccc6145752d7a328b7937": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
-				},
-				"scheme": "ed25519"
-			},
-			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
-				},
-				"scheme": "ed25519"
-			},
-			"aa3255b4e8e17e566d2bdbea0e5842978f9fa1d2fa9ec76ae76b146164acbfc8": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
-				},
-				"scheme": "ed25519"
-			},
-			"b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
-				},
-				"scheme": "ed25519"
-			},
-			"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
-				},
-				"scheme": "ed25519"
-			},
-			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
-				},
-				"scheme": "ed25519"
-			}
-		},
-		"roles": {
-			"root": {
-				"keyids": [
-					"b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f",
-					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
-				],
-				"threshold": 1
-			},
-			"snapshot": {
-				"keyids": [
-					"289e5a9e71afd7909326aa4caea92f7557ee0e2283d8c31f0c3401ce67248a45",
-					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
-				],
-				"threshold": 1
-			},
-			"targets": {
-				"keyids": [
-					"808aa256a8172bb0cb961767c6768e55ccf732c99afccc6145752d7a328b7937",
-					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
-				],
-				"threshold": 1
-			},
-			"timestamp": {
-				"keyids": [
-					"aa3255b4e8e17e566d2bdbea0e5842978f9fa1d2fa9ec76ae76b146164acbfc8",
-					"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d"
-				],
-				"threshold": 1
-			}
-		},
-		"spec_version": "1.0",
-		"version": 2
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/1/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
deleted file mode 100644
index 60273ec..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "808aa256a8172bb0cb961767c6768e55ccf732c99afccc6145752d7a328b7937",
-			"method": "ed25519",
-			"sig": "81bcf5921834a20b8b0946815ad4316f43ffce20b3793e6653dc5fd4b98f1c6318ce2243948574e82414a102717a6f2d731250b3191c54abc8391fd867503e0b"
-		},
-		{
-			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
-			"method": "ed25519",
-			"sig": "81bcf5921834a20b8b0946815ad4316f43ffce20b3793e6653dc5fd4b98f1c6318ce2243948574e82414a102717a6f2d731250b3191c54abc8391fd867503e0b"
-		}
-	],
-	"signed": {
-		"_type": "targets",
-		"expires": "2100-01-01T00:00:00Z",
-		"spec_version": "1.0",
-		"targets": {
-			"0": {
-				"hashes": {
-					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
-				},
-				"length": 1
-			},
-			"1": {
-				"hashes": {
-					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
-				},
-				"length": 1
-			}
-		},
-		"version": 2
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/1/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
deleted file mode 120000
index 129d587..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../0/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json b/client/testdata/go-tuf/consistent-snapshot-true/1/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
deleted file mode 120000
index ac4e7cd..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../0/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/targets/0.0 b/client/testdata/go-tuf/consistent-snapshot-true/1/repository/targets/0.0
deleted file mode 120000
index 0a5640e..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-../../../0/repository/targets/0.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/targets/0.1 b/client/testdata/go-tuf/consistent-snapshot-true/1/repository/targets/0.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/1/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
deleted file mode 120000
index 6b65106..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../1/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
deleted file mode 120000
index 29080f7..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../1/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
deleted file mode 120000
index 3b8f3fb..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../1/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
deleted file mode 120000
index eab77d1..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../1/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json
deleted file mode 100644
index 164181d..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f",
-			"method": "ed25519",
-			"sig": "a384a779c990992b4618968b481f1ac414825ba1dcd1d89f0de262193d83a8891ee38f15988ca37a82a86bf1c53c0e29e27e0c787e072b505ddef63db88aa104"
-		},
-		{
-			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
-			"method": "ed25519",
-			"sig": "a384a779c990992b4618968b481f1ac414825ba1dcd1d89f0de262193d83a8891ee38f15988ca37a82a86bf1c53c0e29e27e0c787e072b505ddef63db88aa104"
-		}
-	],
-	"signed": {
-		"_type": "root",
-		"consistent_snapshot": true,
-		"expires": "2100-01-01T00:00:00Z",
-		"keys": {
-			"0efcc6a8d07a1cb5955fb698b8ea57e903b6924854f5a025c90f16c9a52b2700": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "aee574e56780ea1709a8b56e02d4ffdd9a3a1deaed61e2eb0701f376a4422e42"
-				},
-				"scheme": "ed25519"
-			},
-			"289e5a9e71afd7909326aa4caea92f7557ee0e2283d8c31f0c3401ce67248a45": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
-				},
-				"scheme": "ed25519"
-			},
-			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
-				},
-				"scheme": "ed25519"
-			},
-			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
-				},
-				"scheme": "ed25519"
-			},
-			"aa3255b4e8e17e566d2bdbea0e5842978f9fa1d2fa9ec76ae76b146164acbfc8": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
-				},
-				"scheme": "ed25519"
-			},
-			"b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
-				},
-				"scheme": "ed25519"
-			},
-			"bc8f087663855564b358ddf314d5932ab920af17bd1df2f58b397afd82d76dc1": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "aee574e56780ea1709a8b56e02d4ffdd9a3a1deaed61e2eb0701f376a4422e42"
-				},
-				"scheme": "ed25519"
-			},
-			"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
-				},
-				"scheme": "ed25519"
-			}
-		},
-		"roles": {
-			"root": {
-				"keyids": [
-					"b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f",
-					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
-				],
-				"threshold": 1
-			},
-			"snapshot": {
-				"keyids": [
-					"289e5a9e71afd7909326aa4caea92f7557ee0e2283d8c31f0c3401ce67248a45",
-					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
-				],
-				"threshold": 1
-			},
-			"targets": {
-				"keyids": [
-					"bc8f087663855564b358ddf314d5932ab920af17bd1df2f58b397afd82d76dc1",
-					"0efcc6a8d07a1cb5955fb698b8ea57e903b6924854f5a025c90f16c9a52b2700"
-				],
-				"threshold": 1
-			},
-			"timestamp": {
-				"keyids": [
-					"aa3255b4e8e17e566d2bdbea0e5842978f9fa1d2fa9ec76ae76b146164acbfc8",
-					"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d"
-				],
-				"threshold": 1
-			}
-		},
-		"spec_version": "1.0",
-		"version": 3
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
deleted file mode 120000
index 93bd716..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../1/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json
deleted file mode 100644
index 030f5be..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "289e5a9e71afd7909326aa4caea92f7557ee0e2283d8c31f0c3401ce67248a45",
-			"method": "ed25519",
-			"sig": "e744dee524a9c1445bf71ea8af94152e2bfe0c132da1ce34e829cbfd40003c224baa9038d1b6d5410d3b48b42c96649818e63e516ae80ad49caf6ee40122d507"
-		},
-		{
-			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
-			"method": "ed25519",
-			"sig": "e744dee524a9c1445bf71ea8af94152e2bfe0c132da1ce34e829cbfd40003c224baa9038d1b6d5410d3b48b42c96649818e63e516ae80ad49caf6ee40122d507"
-		}
-	],
-	"signed": {
-		"_type": "snapshot",
-		"expires": "2100-01-01T00:00:00Z",
-		"meta": {
-			"root.json": {
-				"hashes": {
-					"sha512": "701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf"
-				},
-				"length": 3951,
-				"version": 3
-			},
-			"targets.json": {
-				"hashes": {
-					"sha512": "cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95"
-				},
-				"length": 1268,
-				"version": 3
-			}
-		},
-		"spec_version": "1.0",
-		"version": 3
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
deleted file mode 120000
index e4f68d1..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../1/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json
deleted file mode 100644
index 625504e..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "bc8f087663855564b358ddf314d5932ab920af17bd1df2f58b397afd82d76dc1",
-			"method": "ed25519",
-			"sig": "09593c7b47f4dbf1e8ac949fa010279ffbbd36070a54a89b689378441e8111602d4236fa2962063778c82027d4746a8973ba8fea86e9c105190da9fa362d8b0c"
-		},
-		{
-			"keyid": "0efcc6a8d07a1cb5955fb698b8ea57e903b6924854f5a025c90f16c9a52b2700",
-			"method": "ed25519",
-			"sig": "09593c7b47f4dbf1e8ac949fa010279ffbbd36070a54a89b689378441e8111602d4236fa2962063778c82027d4746a8973ba8fea86e9c105190da9fa362d8b0c"
-		}
-	],
-	"signed": {
-		"_type": "targets",
-		"expires": "2100-01-01T00:00:00Z",
-		"spec_version": "1.0",
-		"targets": {
-			"0": {
-				"hashes": {
-					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
-				},
-				"length": 1
-			},
-			"1": {
-				"hashes": {
-					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
-				},
-				"length": 1
-			},
-			"2": {
-				"hashes": {
-					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
-				},
-				"length": 1
-			}
-		},
-		"version": 3
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/targets/0.0 b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/targets/0.0
deleted file mode 120000
index 59c65e1..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-../../../1/repository/targets/0.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/targets/0.1 b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/targets/0.1
deleted file mode 120000
index 37e8fbc..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-../../../1/repository/targets/0.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/targets/0.2 b/client/testdata/go-tuf/consistent-snapshot-true/2/repository/targets/0.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/2/repository/targets/0.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
deleted file mode 120000
index 4422e5d..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../2/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
deleted file mode 120000
index 55d3195..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../2/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
deleted file mode 120000
index 731c6dc..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../2/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a.targets.json
deleted file mode 100644
index eb08a85..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a.targets.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "bc8f087663855564b358ddf314d5932ab920af17bd1df2f58b397afd82d76dc1",
-			"method": "ed25519",
-			"sig": "7bfe0a63ee324034807b5341336d9d2d64e9ef3936086577b5bbcc6d021b4656bd6bf14d817bbb3908e4dcb05391d1b4031b527c14d942c2d1e38275d5ff1308"
-		},
-		{
-			"keyid": "0efcc6a8d07a1cb5955fb698b8ea57e903b6924854f5a025c90f16c9a52b2700",
-			"method": "ed25519",
-			"sig": "7bfe0a63ee324034807b5341336d9d2d64e9ef3936086577b5bbcc6d021b4656bd6bf14d817bbb3908e4dcb05391d1b4031b527c14d942c2d1e38275d5ff1308"
-		}
-	],
-	"signed": {
-		"_type": "targets",
-		"expires": "2100-01-01T00:00:00Z",
-		"spec_version": "1.0",
-		"targets": {
-			"0": {
-				"hashes": {
-					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
-				},
-				"length": 1
-			},
-			"1": {
-				"hashes": {
-					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
-				},
-				"length": 1
-			},
-			"2": {
-				"hashes": {
-					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
-				},
-				"length": 1
-			},
-			"3": {
-				"hashes": {
-					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
-				},
-				"length": 1
-			}
-		},
-		"version": 4
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
deleted file mode 120000
index 3f908e1..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../2/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json
deleted file mode 120000
index 81d87cb..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../2/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b.root.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b.root.json
deleted file mode 100644
index c3f467d..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b.root.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f",
-			"method": "ed25519",
-			"sig": "91fa6c0ea47c3c51faccc36c0d7f3c718be8495b30b7843eb3e4984b10c6e98eadea83d2fbef7f579740febbecab15b09a0ee931735e21ef04577eba38b47600"
-		},
-		{
-			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
-			"method": "ed25519",
-			"sig": "91fa6c0ea47c3c51faccc36c0d7f3c718be8495b30b7843eb3e4984b10c6e98eadea83d2fbef7f579740febbecab15b09a0ee931735e21ef04577eba38b47600"
-		}
-	],
-	"signed": {
-		"_type": "root",
-		"consistent_snapshot": true,
-		"expires": "2100-01-01T00:00:00Z",
-		"keys": {
-			"0efcc6a8d07a1cb5955fb698b8ea57e903b6924854f5a025c90f16c9a52b2700": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "aee574e56780ea1709a8b56e02d4ffdd9a3a1deaed61e2eb0701f376a4422e42"
-				},
-				"scheme": "ed25519"
-			},
-			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
-				},
-				"scheme": "ed25519"
-			},
-			"aa3255b4e8e17e566d2bdbea0e5842978f9fa1d2fa9ec76ae76b146164acbfc8": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
-				},
-				"scheme": "ed25519"
-			},
-			"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
-				},
-				"scheme": "ed25519"
-			},
-			"b096bc2d67080cec22e6c0bbaa69cfd9d714b9e9ad847d255f950b2728855fef": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
-				},
-				"scheme": "ed25519"
-			},
-			"b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
-				},
-				"scheme": "ed25519"
-			},
-			"bc8f087663855564b358ddf314d5932ab920af17bd1df2f58b397afd82d76dc1": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "aee574e56780ea1709a8b56e02d4ffdd9a3a1deaed61e2eb0701f376a4422e42"
-				},
-				"scheme": "ed25519"
-			},
-			"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
-				},
-				"scheme": "ed25519"
-			}
-		},
-		"roles": {
-			"root": {
-				"keyids": [
-					"b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f",
-					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
-				],
-				"threshold": 1
-			},
-			"snapshot": {
-				"keyids": [
-					"b096bc2d67080cec22e6c0bbaa69cfd9d714b9e9ad847d255f950b2728855fef",
-					"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60"
-				],
-				"threshold": 1
-			},
-			"targets": {
-				"keyids": [
-					"bc8f087663855564b358ddf314d5932ab920af17bd1df2f58b397afd82d76dc1",
-					"0efcc6a8d07a1cb5955fb698b8ea57e903b6924854f5a025c90f16c9a52b2700"
-				],
-				"threshold": 1
-			},
-			"timestamp": {
-				"keyids": [
-					"aa3255b4e8e17e566d2bdbea0e5842978f9fa1d2fa9ec76ae76b146164acbfc8",
-					"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d"
-				],
-				"threshold": 1
-			}
-		},
-		"spec_version": "1.0",
-		"version": 4
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
deleted file mode 120000
index 41b0f91..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../2/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json
deleted file mode 120000
index 7e6b002..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../2/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
deleted file mode 120000
index 3aa3c37..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../2/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json
deleted file mode 120000
index 8619a92..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../2/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/cdedb0afc0495517b22b80b9fb2960c104cea88e7f3dfdf86d3cb26c547a6c1cb2f919fb0746df9080545864b8966744a2a2a1950f80a971cddbc7def6375083.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/cdedb0afc0495517b22b80b9fb2960c104cea88e7f3dfdf86d3cb26c547a6c1cb2f919fb0746df9080545864b8966744a2a2a1950f80a971cddbc7def6375083.snapshot.json
deleted file mode 100644
index 97fce23..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/cdedb0afc0495517b22b80b9fb2960c104cea88e7f3dfdf86d3cb26c547a6c1cb2f919fb0746df9080545864b8966744a2a2a1950f80a971cddbc7def6375083.snapshot.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "b096bc2d67080cec22e6c0bbaa69cfd9d714b9e9ad847d255f950b2728855fef",
-			"method": "ed25519",
-			"sig": "3de8cad1d2b9fd5aa5fd8747640c8a8b9ef8ca3dc299b3e26fa84aa9c7b60d1784a6d6c42f3ac6c2e4598f028aef61576121076d8ea60d955bc23725304a8606"
-		},
-		{
-			"keyid": "ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60",
-			"method": "ed25519",
-			"sig": "3de8cad1d2b9fd5aa5fd8747640c8a8b9ef8ca3dc299b3e26fa84aa9c7b60d1784a6d6c42f3ac6c2e4598f028aef61576121076d8ea60d955bc23725304a8606"
-		}
-	],
-	"signed": {
-		"_type": "snapshot",
-		"expires": "2100-01-01T00:00:00Z",
-		"meta": {
-			"root.json": {
-				"hashes": {
-					"sha512": "a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b"
-				},
-				"length": 3951,
-				"version": 4
-			},
-			"targets.json": {
-				"hashes": {
-					"sha512": "3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a"
-				},
-				"length": 1469,
-				"version": 4
-			}
-		},
-		"spec_version": "1.0",
-		"version": 4
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.0 b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.0
deleted file mode 120000
index 13920b0..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-../../../2/repository/targets/0.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.1 b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.1
deleted file mode 120000
index 357ae1e..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-../../../2/repository/targets/0.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.2 b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.2
deleted file mode 120000
index 20ee725..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.2
+++ /dev/null
@@ -1 +0,0 @@
-../../../2/repository/targets/0.2
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.3 b/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.3
deleted file mode 100644
index e440e5c..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/3/repository/targets/0.3
+++ /dev/null
@@ -1 +0,0 @@
-3
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/1617303ebad67c195f8eeb971d722a36c4c9480b401e71dd96d07d6b4cb314d82272b942b5fd4dc0790f929459739331288d8e0ca69823f1921ffd194a4f1eea.root.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/1617303ebad67c195f8eeb971d722a36c4c9480b401e71dd96d07d6b4cb314d82272b942b5fd4dc0790f929459739331288d8e0ca69823f1921ffd194a4f1eea.root.json
deleted file mode 100644
index 6178635..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/1617303ebad67c195f8eeb971d722a36c4c9480b401e71dd96d07d6b4cb314d82272b942b5fd4dc0790f929459739331288d8e0ca69823f1921ffd194a4f1eea.root.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f",
-			"method": "ed25519",
-			"sig": "1cd7c5404e38e5d182b315098be86ee6ef006a56ff1962b5bd00cc90f51a8ddfcd47ded19b5e706052887989f10a6fb455666841d1259f63a8c728395f9dda08"
-		},
-		{
-			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
-			"method": "ed25519",
-			"sig": "1cd7c5404e38e5d182b315098be86ee6ef006a56ff1962b5bd00cc90f51a8ddfcd47ded19b5e706052887989f10a6fb455666841d1259f63a8c728395f9dda08"
-		}
-	],
-	"signed": {
-		"_type": "root",
-		"consistent_snapshot": true,
-		"expires": "2100-01-01T00:00:00Z",
-		"keys": {
-			"0efcc6a8d07a1cb5955fb698b8ea57e903b6924854f5a025c90f16c9a52b2700": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "aee574e56780ea1709a8b56e02d4ffdd9a3a1deaed61e2eb0701f376a4422e42"
-				},
-				"scheme": "ed25519"
-			},
-			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
-				},
-				"scheme": "ed25519"
-			},
-			"a8eaf6de5aecfd0a72b60295b1e1cd12f349079ebcbbb63dbe7072f162e85315": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
-				},
-				"scheme": "ed25519"
-			},
-			"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
-				},
-				"scheme": "ed25519"
-			},
-			"b096bc2d67080cec22e6c0bbaa69cfd9d714b9e9ad847d255f950b2728855fef": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
-				},
-				"scheme": "ed25519"
-			},
-			"b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
-				},
-				"scheme": "ed25519"
-			},
-			"bc8f087663855564b358ddf314d5932ab920af17bd1df2f58b397afd82d76dc1": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "aee574e56780ea1709a8b56e02d4ffdd9a3a1deaed61e2eb0701f376a4422e42"
-				},
-				"scheme": "ed25519"
-			},
-			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
-				"keyid_hash_algorithms": [
-					"sha256",
-					"sha512"
-				],
-				"keytype": "ed25519",
-				"keyval": {
-					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
-				},
-				"scheme": "ed25519"
-			}
-		},
-		"roles": {
-			"root": {
-				"keyids": [
-					"b2403f96ae9b1089d8cbc15bbc35e9acbacd7984571f951b43aab56aedcfa84f",
-					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
-				],
-				"threshold": 1
-			},
-			"snapshot": {
-				"keyids": [
-					"b096bc2d67080cec22e6c0bbaa69cfd9d714b9e9ad847d255f950b2728855fef",
-					"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60"
-				],
-				"threshold": 1
-			},
-			"targets": {
-				"keyids": [
-					"bc8f087663855564b358ddf314d5932ab920af17bd1df2f58b397afd82d76dc1",
-					"0efcc6a8d07a1cb5955fb698b8ea57e903b6924854f5a025c90f16c9a52b2700"
-				],
-				"threshold": 1
-			},
-			"timestamp": {
-				"keyids": [
-					"a8eaf6de5aecfd0a72b60295b1e1cd12f349079ebcbbb63dbe7072f162e85315",
-					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
-				],
-				"threshold": 1
-			}
-		},
-		"spec_version": "1.0",
-		"version": 5
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
deleted file mode 120000
index cdec5f1..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
deleted file mode 120000
index d39341f..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
deleted file mode 120000
index dc629cf..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a.targets.json
deleted file mode 120000
index 4cf325a..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/3d796e290a104155828b2b5fb6713c0790ead8bdb4b002aa7a14b568e83888e7b432d5c4327f98cde7ebd7340e4bcbd1378b59bdd0a578462d1b676ae137fb24.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/3d796e290a104155828b2b5fb6713c0790ead8bdb4b002aa7a14b568e83888e7b432d5c4327f98cde7ebd7340e4bcbd1378b59bdd0a578462d1b676ae137fb24.snapshot.json
deleted file mode 100644
index 103aac9..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/3d796e290a104155828b2b5fb6713c0790ead8bdb4b002aa7a14b568e83888e7b432d5c4327f98cde7ebd7340e4bcbd1378b59bdd0a578462d1b676ae137fb24.snapshot.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "b096bc2d67080cec22e6c0bbaa69cfd9d714b9e9ad847d255f950b2728855fef",
-			"method": "ed25519",
-			"sig": "2432a346b4b6368ae52b9fb6b18e6bb0a0f433f42f38af7759113236f999fd1e6782841020a007655dfe59b3332de22ceae2be6496cf76529ad47d6b601d0307"
-		},
-		{
-			"keyid": "ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60",
-			"method": "ed25519",
-			"sig": "2432a346b4b6368ae52b9fb6b18e6bb0a0f433f42f38af7759113236f999fd1e6782841020a007655dfe59b3332de22ceae2be6496cf76529ad47d6b601d0307"
-		}
-	],
-	"signed": {
-		"_type": "snapshot",
-		"expires": "2100-01-01T00:00:00Z",
-		"meta": {
-			"root.json": {
-				"hashes": {
-					"sha512": "1617303ebad67c195f8eeb971d722a36c4c9480b401e71dd96d07d6b4cb314d82272b942b5fd4dc0790f929459739331288d8e0ca69823f1921ffd194a4f1eea"
-				},
-				"length": 3951,
-				"version": 5
-			},
-			"targets.json": {
-				"hashes": {
-					"sha512": "7f901bd179d88f810ea401f248e2c74e7300b6fdb59fca0ecb8f32d9e3e827839d2b8fbcbd694449c24cb2537181ca26a1287dfde8c888b402e0bc07cefd2043"
-				},
-				"length": 1670,
-				"version": 5
-			}
-		},
-		"spec_version": "1.0",
-		"version": 5
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
deleted file mode 120000
index 53f253c..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json
deleted file mode 120000
index 24f7991..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/7f901bd179d88f810ea401f248e2c74e7300b6fdb59fca0ecb8f32d9e3e827839d2b8fbcbd694449c24cb2537181ca26a1287dfde8c888b402e0bc07cefd2043.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/7f901bd179d88f810ea401f248e2c74e7300b6fdb59fca0ecb8f32d9e3e827839d2b8fbcbd694449c24cb2537181ca26a1287dfde8c888b402e0bc07cefd2043.targets.json
deleted file mode 100644
index 269ab2e..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/7f901bd179d88f810ea401f248e2c74e7300b6fdb59fca0ecb8f32d9e3e827839d2b8fbcbd694449c24cb2537181ca26a1287dfde8c888b402e0bc07cefd2043.targets.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "bc8f087663855564b358ddf314d5932ab920af17bd1df2f58b397afd82d76dc1",
-			"method": "ed25519",
-			"sig": "68f2346cdbe045e8558b2ccd86be66e15466955167557c704b51d7163838f670c53ab9247c16a4ed0cd4ecc981a7e2a04a350b01548f97654499d6f9c17c4202"
-		},
-		{
-			"keyid": "0efcc6a8d07a1cb5955fb698b8ea57e903b6924854f5a025c90f16c9a52b2700",
-			"method": "ed25519",
-			"sig": "68f2346cdbe045e8558b2ccd86be66e15466955167557c704b51d7163838f670c53ab9247c16a4ed0cd4ecc981a7e2a04a350b01548f97654499d6f9c17c4202"
-		}
-	],
-	"signed": {
-		"_type": "targets",
-		"expires": "2100-01-01T00:00:00Z",
-		"spec_version": "1.0",
-		"targets": {
-			"0": {
-				"hashes": {
-					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
-				},
-				"length": 1
-			},
-			"1": {
-				"hashes": {
-					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
-				},
-				"length": 1
-			},
-			"2": {
-				"hashes": {
-					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
-				},
-				"length": 1
-			},
-			"3": {
-				"hashes": {
-					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
-				},
-				"length": 1
-			},
-			"4": {
-				"hashes": {
-					"sha512": "a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"
-				},
-				"length": 1
-			}
-		},
-		"version": 5
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b.root.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b.root.json
deleted file mode 120000
index c89f324..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
deleted file mode 120000
index 5056c76..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json
deleted file mode 120000
index 5ae4261..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
deleted file mode 120000
index f3d762f..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json
deleted file mode 120000
index 3c8fc70..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/cdedb0afc0495517b22b80b9fb2960c104cea88e7f3dfdf86d3cb26c547a6c1cb2f919fb0746df9080545864b8966744a2a2a1950f80a971cddbc7def6375083.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/cdedb0afc0495517b22b80b9fb2960c104cea88e7f3dfdf86d3cb26c547a6c1cb2f919fb0746df9080545864b8966744a2a2a1950f80a971cddbc7def6375083.snapshot.json
deleted file mode 120000
index d32d7b8..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/cdedb0afc0495517b22b80b9fb2960c104cea88e7f3dfdf86d3cb26c547a6c1cb2f919fb0746df9080545864b8966744a2a2a1950f80a971cddbc7def6375083.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../3/repository/cdedb0afc0495517b22b80b9fb2960c104cea88e7f3dfdf86d3cb26c547a6c1cb2f919fb0746df9080545864b8966744a2a2a1950f80a971cddbc7def6375083.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.0 b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.0
deleted file mode 120000
index 7561d7e..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-../../../3/repository/targets/0.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.1 b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.1
deleted file mode 120000
index ef5bca2..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-../../../3/repository/targets/0.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.2 b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.2
deleted file mode 120000
index 26212c8..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.2
+++ /dev/null
@@ -1 +0,0 @@
-../../../3/repository/targets/0.2
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.3 b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.3
deleted file mode 120000
index 6a0a962..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.3
+++ /dev/null
@@ -1 +0,0 @@
-../../../3/repository/targets/0.3
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.4 b/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.4
deleted file mode 100644
index bf0d87a..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/4/repository/targets/0.4
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/10d090324654da9f8a308659421b4a66da00142a9689aa684d36d5ef9085c4c637d153dff8eeb0fcaddd2833df2bc2f7c9d033f7f5f61a755ad39a30d8f0cb30.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/10d090324654da9f8a308659421b4a66da00142a9689aa684d36d5ef9085c4c637d153dff8eeb0fcaddd2833df2bc2f7c9d033f7f5f61a755ad39a30d8f0cb30.targets.json
deleted file mode 100644
index 3cff6dd..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/10d090324654da9f8a308659421b4a66da00142a9689aa684d36d5ef9085c4c637d153dff8eeb0fcaddd2833df2bc2f7c9d033f7f5f61a755ad39a30d8f0cb30.targets.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "bc8f087663855564b358ddf314d5932ab920af17bd1df2f58b397afd82d76dc1",
-			"method": "ed25519",
-			"sig": "1e80ae84c4badf194e2fd7225c120999d8f628598fa0e994a2ff7cac705ec2f14601a64ba5370fc668f3fb114975dd81c554400d757f41762c4e12eb4db35d02"
-		},
-		{
-			"keyid": "0efcc6a8d07a1cb5955fb698b8ea57e903b6924854f5a025c90f16c9a52b2700",
-			"method": "ed25519",
-			"sig": "1e80ae84c4badf194e2fd7225c120999d8f628598fa0e994a2ff7cac705ec2f14601a64ba5370fc668f3fb114975dd81c554400d757f41762c4e12eb4db35d02"
-		}
-	],
-	"signed": {
-		"_type": "targets",
-		"expires": "2100-01-01T00:00:00Z",
-		"spec_version": "1.0",
-		"targets": {
-			"0": {
-				"hashes": {
-					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
-				},
-				"length": 1
-			},
-			"1": {
-				"hashes": {
-					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
-				},
-				"length": 1
-			},
-			"2": {
-				"hashes": {
-					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
-				},
-				"length": 1
-			},
-			"3": {
-				"hashes": {
-					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
-				},
-				"length": 1
-			},
-			"4": {
-				"hashes": {
-					"sha512": "a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"
-				},
-				"length": 1
-			},
-			"5": {
-				"hashes": {
-					"sha512": "06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25"
-				},
-				"length": 1
-			}
-		},
-		"version": 6
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/1617303ebad67c195f8eeb971d722a36c4c9480b401e71dd96d07d6b4cb314d82272b942b5fd4dc0790f929459739331288d8e0ca69823f1921ffd194a4f1eea.root.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/1617303ebad67c195f8eeb971d722a36c4c9480b401e71dd96d07d6b4cb314d82272b942b5fd4dc0790f929459739331288d8e0ca69823f1921ffd194a4f1eea.root.json
deleted file mode 120000
index 3beb25f..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/1617303ebad67c195f8eeb971d722a36c4c9480b401e71dd96d07d6b4cb314d82272b942b5fd4dc0790f929459739331288d8e0ca69823f1921ffd194a4f1eea.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/1617303ebad67c195f8eeb971d722a36c4c9480b401e71dd96d07d6b4cb314d82272b942b5fd4dc0790f929459739331288d8e0ca69823f1921ffd194a4f1eea.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
deleted file mode 120000
index f5eeb75..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/267a65b91d4e139cabf5c3d46ba8ec52626b0494121a46d36f5634c5297d366d7c9415c78ad94ae010926ea25f864315bd6bfdfc29a961860695c396fff1d3f4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
deleted file mode 120000
index d417807..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/2a075480f613bd9da8da134a4995deeb5d0dc0277d244d11e8f83ee404dedbe0ccd2bb0847425511bd13b7397d112bd1ec876da1f8e249857e9ceac5806ff902.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
deleted file mode 120000
index 0b6f01b..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/376daa967ae885567210cd5f68a475b3db5ea9d5681577a83bfd10169cf2f8c68bcae87d9ac7e9c11a33ffd38a10d679712c60767e4a75d59e40e35abbe48428.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a.targets.json
deleted file mode 120000
index 192f8bc..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/3b152c81a97dc74812af58a30effce593d95aba334151d01737b53fd22318b1e5513c40bac0c7eaf7aaa72e87a201302abf0cd9c8d89b24a09e77e7112f6051a.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/3d796e290a104155828b2b5fb6713c0790ead8bdb4b002aa7a14b568e83888e7b432d5c4327f98cde7ebd7340e4bcbd1378b59bdd0a578462d1b676ae137fb24.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/3d796e290a104155828b2b5fb6713c0790ead8bdb4b002aa7a14b568e83888e7b432d5c4327f98cde7ebd7340e4bcbd1378b59bdd0a578462d1b676ae137fb24.snapshot.json
deleted file mode 120000
index 23a7f82..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/3d796e290a104155828b2b5fb6713c0790ead8bdb4b002aa7a14b568e83888e7b432d5c4327f98cde7ebd7340e4bcbd1378b59bdd0a578462d1b676ae137fb24.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/3d796e290a104155828b2b5fb6713c0790ead8bdb4b002aa7a14b568e83888e7b432d5c4327f98cde7ebd7340e4bcbd1378b59bdd0a578462d1b676ae137fb24.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
deleted file mode 120000
index ad71aef..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/5efc50b4784f0ac42230c10e87854aecdb235f62a83e9e97ffcb5b1afda1af285c9f7e9fe62d90ba4fa1a8f2a5faac1f841f9185984eb7e4afbadeba870d09f0.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/6fa146cce3e47008ad49e17882acc7ff8e8997755d958553de1cd9570306aa2d3c7227a9b3199f9ac00077c46b99f8ba7aa7564609231ee9051435eefca5d9c0.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/6fa146cce3e47008ad49e17882acc7ff8e8997755d958553de1cd9570306aa2d3c7227a9b3199f9ac00077c46b99f8ba7aa7564609231ee9051435eefca5d9c0.snapshot.json
deleted file mode 100644
index 5e2328d..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/6fa146cce3e47008ad49e17882acc7ff8e8997755d958553de1cd9570306aa2d3c7227a9b3199f9ac00077c46b99f8ba7aa7564609231ee9051435eefca5d9c0.snapshot.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-	"signatures": [
-		{
-			"keyid": "b096bc2d67080cec22e6c0bbaa69cfd9d714b9e9ad847d255f950b2728855fef",
-			"method": "ed25519",
-			"sig": "b425e66a53148259ade565a97b11cde2d2874798e0f884727e19802e4ba278455d269fd14c8f8cb704882840d024bc437acbc871eb009b0bdb42d43627131a0a"
-		},
-		{
-			"keyid": "ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60",
-			"method": "ed25519",
-			"sig": "b425e66a53148259ade565a97b11cde2d2874798e0f884727e19802e4ba278455d269fd14c8f8cb704882840d024bc437acbc871eb009b0bdb42d43627131a0a"
-		}
-	],
-	"signed": {
-		"_type": "snapshot",
-		"expires": "2100-01-01T00:00:00Z",
-		"meta": {
-			"root.json": {
-				"hashes": {
-					"sha512": "1617303ebad67c195f8eeb971d722a36c4c9480b401e71dd96d07d6b4cb314d82272b942b5fd4dc0790f929459739331288d8e0ca69823f1921ffd194a4f1eea"
-				},
-				"length": 3951,
-				"version": 5
-			},
-			"targets.json": {
-				"hashes": {
-					"sha512": "10d090324654da9f8a308659421b4a66da00142a9689aa684d36d5ef9085c4c637d153dff8eeb0fcaddd2833df2bc2f7c9d033f7f5f61a755ad39a30d8f0cb30"
-				},
-				"length": 1871,
-				"version": 6
-			}
-		},
-		"spec_version": "1.0",
-		"version": 6
-	}
-}
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json
deleted file mode 120000
index 33f33e8..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/701c6f9381750b82632b6cb51dba6486c0f76cc907a7bafc7c74b675af6a3a9f649dd276801d57839ab785ce1dd010148e7be4f169294f768aa57bdb78836fcf.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/7f901bd179d88f810ea401f248e2c74e7300b6fdb59fca0ecb8f32d9e3e827839d2b8fbcbd694449c24cb2537181ca26a1287dfde8c888b402e0bc07cefd2043.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/7f901bd179d88f810ea401f248e2c74e7300b6fdb59fca0ecb8f32d9e3e827839d2b8fbcbd694449c24cb2537181ca26a1287dfde8c888b402e0bc07cefd2043.targets.json
deleted file mode 120000
index 930022c..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/7f901bd179d88f810ea401f248e2c74e7300b6fdb59fca0ecb8f32d9e3e827839d2b8fbcbd694449c24cb2537181ca26a1287dfde8c888b402e0bc07cefd2043.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/7f901bd179d88f810ea401f248e2c74e7300b6fdb59fca0ecb8f32d9e3e827839d2b8fbcbd694449c24cb2537181ca26a1287dfde8c888b402e0bc07cefd2043.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b.root.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b.root.json
deleted file mode 120000
index 73eb0ce..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/a502744ececece1a095b7c8eece1eef66fae1c4425e9a39f896dbe82e93b71292844b9946dc1d1050cf634364d4a5fda302ceb7c893bc6bacaa85ff88dd48c0b.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
deleted file mode 120000
index 3cf4553..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/a66bbec3cbe04851049f9ef4e1feea1d018614b99b1b76c5dbda92daf78f2e2bf384ab720495cd5004dd01e8444d37973f88076ce2d8f0cf6d73a60a05aef237.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json
deleted file mode 120000
index e77edbc..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/be7db458fd2c283f90fb48e56943f04a3913c3205d62f81b50a9866fc8e417f6eccc72f10e53a36caf02680baa8ffc074f726f5bba7d69b053717063fdab5ca3.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
deleted file mode 120000
index d21958d..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/c1cd2ed45f2c0d5b4d0d0a006e8c1e77d4eba36023ebc55069a225473f94fdd4b003db57e06a0dfe4e0687c45bf77e9ea416091ccc1c6fd91a8afcf09922fd99.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json
deleted file mode 120000
index 036306b..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/cd75b795a51d93dae73dfe6ed0a97ee4b96afbc61395484e194b27932984ff08954f3e0077045afecfe0f61dfc025af7d03f0c0a0e4f60dd39e0392ec076dc95.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/cdedb0afc0495517b22b80b9fb2960c104cea88e7f3dfdf86d3cb26c547a6c1cb2f919fb0746df9080545864b8966744a2a2a1950f80a971cddbc7def6375083.snapshot.json b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/cdedb0afc0495517b22b80b9fb2960c104cea88e7f3dfdf86d3cb26c547a6c1cb2f919fb0746df9080545864b8966744a2a2a1950f80a971cddbc7def6375083.snapshot.json
deleted file mode 120000
index 52ceddf..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/cdedb0afc0495517b22b80b9fb2960c104cea88e7f3dfdf86d3cb26c547a6c1cb2f919fb0746df9080545864b8966744a2a2a1950f80a971cddbc7def6375083.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-../../4/repository/cdedb0afc0495517b22b80b9fb2960c104cea88e7f3dfdf86d3cb26c547a6c1cb2f919fb0746df9080545864b8966744a2a2a1950f80a971cddbc7def6375083.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.0 b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.0
deleted file mode 120000
index 28473bd..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-../../../4/repository/targets/0.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.1 b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.1
deleted file mode 120000
index e371cbf..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-../../../4/repository/targets/0.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.2 b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.2
deleted file mode 120000
index 4819cab..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.2
+++ /dev/null
@@ -1 +0,0 @@
-../../../4/repository/targets/0.2
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.3 b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.3
deleted file mode 120000
index 86d2291..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.3
+++ /dev/null
@@ -1 +0,0 @@
-../../../4/repository/targets/0.3
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.4 b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.4
deleted file mode 120000
index 8ad49cb..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.4
+++ /dev/null
@@ -1 +0,0 @@
-../../../4/repository/targets/0.4
\ No newline at end of file
diff --git a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.5 b/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.5
deleted file mode 100644
index 7813681..0000000
--- a/client/testdata/go-tuf/consistent-snapshot-true/5/repository/targets/0.5
+++ /dev/null
@@ -1 +0,0 @@
-5
\ No newline at end of file
diff --git a/local_store.go b/local_store.go
index a765013..1ea3e88 100644
--- a/local_store.go
+++ b/local_store.go
@@ -73,28 +73,8 @@
 }
 
 func (m *memoryStore) Commit(consistentSnapshot bool, versions map[string]int, hashes map[string]data.Hashes) error {
-	shouldCopyVersion := func(path string) bool {
-		return path == "root.json" || (consistentSnapshot && path != "timestamp.json")
-	}
-	shouldCopyHashed := func(path string) bool {
-		return consistentSnapshot && path != "timestamp.json"
-	}
-	shouldCopyUnhashed := func(path string) bool {
-		return !consistentSnapshot
-	}
 	for name, meta := range m.stagedMeta {
-		var paths []string
-		if shouldCopyVersion(name) {
-			paths = append(paths, util.VersionedPath(name, versions[name]))
-		}
-		// FIXME(TUF-0.9) Also generate the TUF-0.9 hash prefixed files
-		// for backwards compatibility.
-		if shouldCopyHashed(name) {
-			paths = append(paths, util.HashedPaths(name, hashes[name])...)
-		}
-		if shouldCopyUnhashed(name) {
-			paths = append(paths, name)
-		}
+		paths := computeMetadataPaths(consistentSnapshot, name, versions)
 		for _, path := range paths {
 			m.meta[path] = meta
 		}
@@ -250,15 +230,6 @@
 	isTarget := func(path string) bool {
 		return strings.HasPrefix(path, "targets/")
 	}
-	shouldCopyVersion := func(path string) bool {
-		return path == "root.json" || (consistentSnapshot && path != "timestamp.json")
-	}
-	shouldCopyHashed := func(path string) bool {
-		return consistentSnapshot && path != "timestamp.json"
-	}
-	shouldCopyUnhashed := func(path string) bool {
-		return !consistentSnapshot || !isTarget(path)
-	}
 	copyToRepo := func(path string, info os.FileInfo, err error) error {
 		if err != nil {
 			return err
@@ -270,17 +241,12 @@
 		if err != nil {
 			return err
 		}
+
 		var paths []string
-		if shouldCopyVersion(rel) {
-			paths = append(paths, util.VersionedPath(rel, versions[rel]))
-		}
-		// FIXME(TUF-0.9) Also generate the TUF-0.9 hash prefixed files
-		// for backwards compatibility.
-		if shouldCopyHashed(rel) {
-			paths = append(paths, util.HashedPaths(rel, hashes[rel])...)
-		}
-		if shouldCopyUnhashed(rel) {
-			paths = append(paths, rel)
+		if isTarget(rel) {
+			paths = computeTargetPaths(consistentSnapshot, rel, hashes)
+		} else {
+			paths = computeMetadataPaths(consistentSnapshot, rel, versions)
 		}
 		var files []io.Writer
 		for _, path := range paths {
@@ -465,3 +431,35 @@
 	}
 	return os.MkdirAll(filepath.Join(f.stagedDir(), "targets"), 0755)
 }
+
+func computeTargetPaths(consistentSnapshot bool, name string, hashes map[string]data.Hashes) []string {
+	if consistentSnapshot {
+		return util.HashedPaths(name, hashes[name])
+	} else {
+		return []string{name}
+	}
+}
+
+func computeMetadataPaths(consistentSnapshot bool, name string, versions map[string]int) []string {
+	copyVersion := false
+
+	switch name {
+	case "root.json":
+		copyVersion = true
+	case "timestamp.json":
+		copyVersion = false
+	default:
+		if consistentSnapshot {
+			copyVersion = true
+		} else {
+			copyVersion = false
+		}
+	}
+
+	paths := []string{name}
+	if copyVersion {
+		paths = append(paths, util.VersionedPath(name, versions[name]))
+	}
+
+	return paths
+}
diff --git a/repo_test.go b/repo_test.go
index aaded54..3e9a051 100644
--- a/repo_test.go
+++ b/repo_test.go
@@ -749,6 +749,10 @@
 	t.assertExists(util.VersionedPath(path, version))
 }
 
+func (t *tmpDir) assertVersionedFileNotExist(path string, version int) {
+	t.assertNotExist(util.VersionedPath(path, version))
+}
+
 func (t *tmpDir) assertEmpty(dir string) {
 	path := filepath.Join(t.path, dir)
 	f, err := os.Stat(path)
@@ -920,10 +924,10 @@
 	hashes, err := r.fileHashes()
 	c.Assert(err, IsNil)
 
-	// root.json, targets.json and snapshot.json should exist at both hashed, versioned and unhashed paths
+	// root.json, targets.json and snapshot.json should exist at both versioned and unversioned paths
 	for _, path := range []string{"root.json", "targets.json", "snapshot.json"} {
 		repoPath := filepath.Join("repository", path)
-		tmp.assertHashedFilesExist(repoPath, hashes[path])
+		tmp.assertHashedFilesNotExist(repoPath, hashes[path])
 		tmp.assertVersionedFileExist(repoPath, versions[path])
 		tmp.assertExists(repoPath)
 	}
@@ -935,7 +939,9 @@
 		tmp.assertNotExist(repoPath)
 	}
 
-	// timestamp.json should exist at an unhashed path (it doesn't have a hash)
+	// timestamp.json should exist at an unversioned and unhashed path (it doesn't have a hash)
+	c.Assert(hashes["repository/timestamp.json"], IsNil)
+	tmp.assertVersionedFileNotExist("repository/timestamp.json", versions["repository/timestamp.json"])
 	tmp.assertExists("repository/timestamp.json")
 
 	// removing a file should remove the hashed files
@@ -955,10 +961,10 @@
 	hashes, err = r.fileHashes()
 	c.Assert(err, IsNil)
 
-	// root.json, targets.json and snapshot.json should exist at both hashed, versioned and unhashed paths
+	// root.json, targets.json and snapshot.json should exist at both versioned and unversioned paths
 	for _, path := range []string{"root.json", "targets.json", "snapshot.json"} {
 		repoPath := filepath.Join("repository", path)
-		tmp.assertHashedFilesExist(repoPath, hashes[path])
+		tmp.assertHashedFilesNotExist(repoPath, hashes[path])
 		tmp.assertVersionedFileExist(repoPath, versions[path])
 		tmp.assertExists(repoPath)
 	}