f327f07 | Antoine Lambert | 29 June 2018, 09:49:25 UTC | New upstream version 0.0.25 | 29 June 2018, 09:49:25 UTC |
edcd365 | Antoine Lambert | 29 June 2018, 09:44:51 UTC | identifiers: Improve persistent identifiers representation This commit changes the swh pids representation returned by the parse_persistent_identifier function from a dict to a named tuple. Also, the 'object_type' attribute of that named tuple now contains a full name instead of an abbreviated one. Closes T1112 Closes T1125 | 29 June 2018, 09:45:17 UTC |
c1de56d | Antoine R. Dumont (@ardumont) | 22 June 2018, 13:38:32 UTC | New upstream version 0.0.24 | 22 June 2018, 13:38:32 UTC |
5eb055d | Antoine R. Dumont (@ardumont) | 22 June 2018, 13:36:52 UTC | d/rules: Avoid fs tests during packaging | 22 June 2018, 13:36:52 UTC |
3803ac3 | Antoine R. Dumont (@ardumont) | 22 June 2018, 13:32:48 UTC | d/control: Add missing dependency | 22 June 2018, 13:34:27 UTC |
bd22f27 | Antoine R. Dumont (@ardumont) | 21 June 2018, 09:53:52 UTC | identifiers: Reuse ValidationError exception + update docstring Close T1104 Close D346 | 21 June 2018, 11:45:17 UTC |
f2422d6 | Antoine R. Dumont (@ardumont) | 21 June 2018, 09:50:40 UTC | identifiers: Validate that inputs are correct Related T1104 | 21 June 2018, 11:45:17 UTC |
dfb128e | Antoine R. Dumont (@ardumont) | 21 June 2018, 08:47:59 UTC | swh.model.cli: Catch specific exception during identifiers check Related T1104 | 21 June 2018, 11:45:17 UTC |
b6073e2 | Antoine R. Dumont (@ardumont) | 21 June 2018, 08:10:50 UTC | identifiers: Permit to pass directly the object's id As the client of this api might not be aware of what's the right id key for a given object. Related T1104 | 21 June 2018, 11:45:17 UTC |
79d57ac | Antoine R. Dumont (@ardumont) | 20 June 2018, 10:11:27 UTC | identifiers: Fix wrong type in docstring | 21 June 2018, 11:45:17 UTC |
7779c57 | Antoine R. Dumont (@ardumont) | 20 June 2018, 10:11:07 UTC | identifiers: Also validate the hash is correct Related T1104 | 21 June 2018, 11:45:16 UTC |
0d3a051 | Antoine R. Dumont (@ardumont) | 20 June 2018, 09:05:22 UTC | identifiers: Raise when invalid contextual data in persistent id Related T1104 | 21 June 2018, 11:45:16 UTC |
8a0cc22 | Antoine R. Dumont (@ardumont) | 20 June 2018, 08:18:17 UTC | identifiers: Make invalid persistent identifier parsing raise error Related T1104 | 21 June 2018, 11:45:16 UTC |
90f08ee | Nicolas Dandrimont | 20 June 2018, 14:08:42 UTC | Update blake2 support to be less Debian-specific Summary: We used to depend on the 'blake2s256' and 'blake2b512' names to be available in hashlib.algorithms_available. It turns out that that's specific to OpenSSL 1.1. We now try, in order: - blake2s256/blake2b512 as shipped by libssl1.1 (Python 3.5+ on Debian stretch and up) - blake2s/blake2b as built into Python 3.6+ - pyblake2 if all else fails While we're here, let's also avoid doing not-so-subtle hacks with hashlib builtins. Thanks to Alexios Zavras for the report. Test Plan: New unit tests added to check for behavior in all cases. Manually running the tests on Python 3.4 + pyblake2, Python 3.5 and Python 3.6 as shipped by Debian exercises all three cases. Reviewers: zack, #reviewers! Differential Revision: https://forge.softwareheritage.org/D347 | 21 June 2018, 10:21:17 UTC |
0d5bc17 | Stefano Zacchiroli | 16 June 2018, 20:40:44 UTC | add swh-identify CLI tool to compute persistent identifiers Currently only content and directory object types are supported, but more can be added in the future. Closes T1039 | 16 June 2018, 20:40:44 UTC |
0c00db9 | Stefano Zacchiroli | 15 June 2018, 10:40:48 UTC | remove obsolete doc about sha1 computation superseded by the doc of swh.model.identifiers | 15 June 2018, 10:40:48 UTC |
8359879 | Antoine R. Dumont (@ardumont) | 14 June 2018, 09:16:40 UTC | docs/persistent-identifiers.rst: Fix typo and align formatting | 14 June 2018, 09:16:40 UTC |
078460b | Stefano Zacchiroli | 13 June 2018, 14:00:14 UTC | docs: add high-level description of the Merkle DAG text adapted from iPRES 2017 paper about Software Heritage, section "Data Model" Closes T787 | 13 June 2018, 14:00:14 UTC |
3f31a9c | Stefano Zacchiroli | 05 June 2018, 09:30:03 UTC | doc: use / as documented endpoint to resolve persistent identifiers | 05 June 2018, 09:30:03 UTC |
bc30e8b | Stefano Zacchiroli | 05 June 2018, 09:04:32 UTC | doc: add documentation of contextual information for persistent IDs Closes T1041 | 05 June 2018, 09:04:32 UTC |
3fcb2e7 | Antoine Lambert | 29 May 2018, 12:08:45 UTC | New upstream version 0.0.23 | 29 May 2018, 12:08:45 UTC |
448eafa | Antoine Lambert | 18 May 2018, 14:57:05 UTC | parse_persistent_identifier: Add optional parts parsing This commits adds support for parsing optional parts in persistent identifiers. Optional parts are defined the following way: <swh_id>[;key1=val1][;key2=val2] Related T1040 | 18 May 2018, 14:57:36 UTC |
3f72bca | Antoine Lambert | 07 March 2018, 12:38:39 UTC | docs: Remove Lorem ipsum paragraph in data-model page | 07 March 2018, 12:38:39 UTC |
d1b975a | Stefano Zacchiroli | 09 February 2018, 15:50:24 UTC | docs: add snapshot, branches, and visits to Merkle DAG diagram | 09 February 2018, 15:50:24 UTC |
6fe1595 | Stefano Zacchiroli | 09 February 2018, 15:49:56 UTC | docs: generate PDF Merkle DAG diagram by default | 09 February 2018, 15:49:56 UTC |
96114f6 | Stefano Zacchiroli | 09 February 2018, 13:32:03 UTC | docs: add preliminary version of the Merkle DAG diagram | 09 February 2018, 13:32:03 UTC |
d788ef1 | Antoine R. Dumont (@ardumont) | 31 January 2018, 09:33:34 UTC | swh.model.identifiers: Fix typo in snapshot_identifier docstring | 31 January 2018, 09:33:34 UTC |
baddc94 | Antoine Pietri | 30 January 2018, 17:22:42 UTC | New upstream version 0.0.22 | 30 January 2018, 17:22:42 UTC |
a06122e | Antoine Lambert | 23 January 2018, 13:16:49 UTC | docs: Fix small issue | 23 January 2018, 13:16:49 UTC |
ab0fb5a | Antoine Pietri | 18 January 2018, 15:27:22 UTC | Add swh.model.toposort algorithm | 19 January 2018, 13:40:52 UTC |
40c4adc | Antoine R. Dumont (@ardumont) | 17 January 2018, 10:06:33 UTC | New upstream version 0.0.21 | 17 January 2018, 10:06:33 UTC |
bdf26f5 | Antoine R. Dumont (@ardumont) | 17 January 2018, 09:22:55 UTC | swh.model.identifiers: persistent_identifier takes object as input Related T335 | 17 January 2018, 10:01:32 UTC |
122326d | Antoine R. Dumont (@ardumont) | 15 January 2018, 17:57:19 UTC | swh.models.hashutil: Add persistent identifier function Related T335 Related T933 | 15 January 2018, 18:28:22 UTC |
b61c666 | Stefano Zacchiroli | 14 January 2018, 21:30:16 UTC | docs: document the naming scheme for persistent identifiers Closes: T335 | 14 January 2018, 21:30:16 UTC |
a01d81c | Stefano Zacchiroli | 14 January 2018, 21:30:02 UTC | docs: shorter fulltitle for the data model document | 14 January 2018, 21:30:02 UTC |
c79c446 | Stefano Zacchiroli | 14 January 2018, 13:54:58 UTC | swh-hash-file: make sure that paths are passed on as bytes | 14 January 2018, 13:54:58 UTC |
73d5ffb | Stefano Zacchiroli | 14 January 2018, 13:40:18 UTC | bin/swh-hash-file: new binary to compute SWH-style content identifiers reincarnation of the old shw.model bin/ script, which is now gone | 14 January 2018, 13:47:43 UTC |
a5f7d1e | Stefano Zacchiroli | 14 January 2018, 13:39:45 UTC | improve hash_file() docstring to specify algorithms type | 14 January 2018, 13:39:45 UTC |
e3d71f6 | Antoine R. Dumont (@ardumont) | 20 December 2017, 09:47:10 UTC | New upstream version 0.0.20 | 20 December 2017, 09:47:10 UTC |
91d74ef | Antoine R. Dumont (@ardumont) | 20 December 2017, 09:40:06 UTC | swh.model.hashutil.hash_data: Optionally integrate length in result | 20 December 2017, 09:46:03 UTC |
eff2692 | Nicolas Dandrimont | 13 December 2017, 10:30:21 UTC | Merge branch 'wip/snapshots' | 13 December 2017, 10:30:21 UTC |
1b1cc8d | Nicolas Dandrimont | 12 December 2017, 19:08:47 UTC | hashutil: add `snapshot` object type for git hashes Summary: Add support for snapshot identifiers Close T566. Related to D268. Test Plan: Unit tests included Reviewers: zack, #reviewers! Maniphest Tasks: T566 Differential Revision: https://forge.softwareheritage.org/D277 | 13 December 2017, 10:30:10 UTC |
46ce819 | Nicolas Dandrimont | 12 December 2017, 19:08:30 UTC | hashutil: add `snapshot` object type for git hashes | 12 December 2017, 19:08:30 UTC |
94bd8dd | Stefano Zacchiroli | 02 November 2017, 10:09:21 UTC | docs: add absolute anchor to documentation index | 02 November 2017, 10:09:21 UTC |
6777883 | Nicolas Dandrimont | 12 October 2017, 16:07:59 UTC | New upstream version 0.0.19 | 12 October 2017, 16:07:59 UTC |
0b7f217 | Nicolas Dandrimont | 12 October 2017, 15:16:56 UTC | Cleanup packaging | 12 October 2017, 15:16:56 UTC |
8232fdd | Nicolas Dandrimont | 05 October 2017, 18:48:29 UTC | New upstream version 0.0.18 | 05 October 2017, 18:48:29 UTC |
34228c5 | Nicolas Dandrimont | 05 October 2017, 18:45:42 UTC | test_from_disk: use os.fsencode to consistently get tmpfile names as bytes | 05 October 2017, 18:45:42 UTC |
2ab8360 | Nicolas Dandrimont | 05 October 2017, 18:38:07 UTC | mark tests needing the filesystem as such | 05 October 2017, 18:38:07 UTC |
6c30346 | Nicolas Dandrimont | 05 October 2017, 18:31:27 UTC | d/control: add breaks on packages depending on removed APIs | 05 October 2017, 18:31:27 UTC |
f6a4d7e | Nicolas Dandrimont | 05 October 2017, 18:28:11 UTC | Remove swh.model.git Close T709 | 05 October 2017, 18:28:11 UTC |
c67f012 | Nicolas Dandrimont | 04 October 2017, 20:33:45 UTC | from_disk: full test coverage | 04 October 2017, 20:33:45 UTC |
8900a91 | Nicolas Dandrimont | 04 October 2017, 20:33:17 UTC | from_disk.Directory: fix some random bugs found when using the API | 04 October 2017, 20:33:17 UTC |
a8e919a | Nicolas Dandrimont | 04 October 2017, 18:08:19 UTC | test_hashutil: remove temporary file after test | 04 October 2017, 18:08:19 UTC |
c790b85 | Nicolas Dandrimont | 04 October 2017, 17:12:39 UTC | from_disk: add a way to save the path to contents This allows loaders to lazily load data: you can read from disk and transfer only the contents that are really missing. | 04 October 2017, 17:12:39 UTC |
d54c066 | Nicolas Dandrimont | 19 September 2017, 11:40:21 UTC | from_disk: convert on-disk data to Software Heritage archive objects Summary: This module is a reimplementation of swh.model.git, with the underlying goal of replacing it and fixing T709 in the process. Reviewers: #reviewers! Differential Revision: https://forge.softwareheritage.org/D248 | 03 October 2017, 17:47:46 UTC |
f44949a | Nicolas Dandrimont | 22 September 2017, 15:10:25 UTC | Add a Merkle tree data structure | 03 October 2017, 17:47:46 UTC |
ac3df91 | Stefano Zacchiroli | 19 September 2017, 15:07:36 UTC | docs/: add sub document data-model.rst Currently just a stub (but with a hereby fixed anchor) to allow linking to it from other part of the development documentation. Will be fillen later on with an abstract description of the Software Heritage data model. | 19 September 2017, 15:07:36 UTC |
8bafb40 | Nicolas Dandrimont | 15 September 2017, 17:15:38 UTC | hashutil: improve docstrings | 15 September 2017, 17:15:38 UTC |
bd43a7f | Stefano Zacchiroli | 06 September 2017, 18:27:43 UTC | docstring: drop useless heading ":py" domain in crossrefs | 06 September 2017, 18:27:43 UTC |
1d898f7 | Stefano Zacchiroli | 06 September 2017, 18:22:30 UTC | sanitize docstrings for sphinx | 06 September 2017, 18:22:30 UTC |
b53f5d8 | Stefano Zacchiroli | 30 August 2017, 10:25:57 UTC | docs/: add sphinx apidoc generation skeleton change cherry picked from python module template commit 71b117ba0cf9f1251b1cac26d0994df03a4c787d | 30 August 2017, 10:25:57 UTC |
8aa5c3a | Nicolas Dandrimont | 12 July 2017, 14:12:12 UTC | Load pyblake2 dynamically instead of hardcoding the Python version Summary: for those people with legacy openssls Reviewers: anlambert, #reviewers! Differential Revision: https://forge.softwareheritage.org/D224 | 12 July 2017, 14:12:35 UTC |
1ef8a12 | Nicolas Dandrimont | 26 June 2017, 12:41:49 UTC | New upstream version 0.0.17 | 26 June 2017, 12:41:49 UTC |
11de644 | Nicolas Dandrimont | 26 June 2017, 12:41:11 UTC | requirements: make pyblake2 conditional on Python3.5 | 26 June 2017, 12:41:11 UTC |
d281faf | Nicolas Dandrimont | 19 June 2017, 17:56:07 UTC | d/control: drop pyblake2 if python >= 3.5 | 19 June 2017, 17:56:07 UTC |
d161b4a | Nicolas Dandrimont | 07 April 2017, 12:32:34 UTC | New upstream version 0.0.16 | 07 April 2017, 12:32:34 UTC |
6f89adf | Nicolas Dandrimont | 07 April 2017, 10:02:30 UTC | git: make GitPerm an IntEnum rather than bytes Fix T685 out of spite. While we wait for a cleaner refactoring of this code, this fixes the immediate clogging of the database with bogus data issue. | 07 April 2017, 10:02:30 UTC |
7409d1d | Antoine R. Dumont (@ardumont) | 24 March 2017, 15:32:35 UTC | New upstream version 0.0.15 | 24 March 2017, 15:32:35 UTC |
4d6d748 | Antoine R. Dumont (@ardumont) | 24 March 2017, 14:17:13 UTC | d/changelog: Fix sbuild warning | 24 March 2017, 14:17:13 UTC |
9812285 | Antoine R. Dumont (@ardumont) | 24 March 2017, 13:08:29 UTC | swh.model.hashutil: Add blake2s256 in default algorithms Related T703 | 24 March 2017, 14:16:36 UTC |
a42c75e | Antoine R. Dumont (@ardumont) | 16 March 2017, 17:10:18 UTC | swh.model.hashutil: Use pyblake2 dependency on python3 <= 3.4 This resolves the caveat mentioned in prior commit about not being able to use blake2 prior to 3.5 Related T692 Closes D192 | 21 March 2017, 09:35:45 UTC |
24f8dd4 | Antoine R. Dumont (@ardumont) | 16 March 2017, 11:19:49 UTC | swh.model.hashutil: Adapt according to latest discussion - Add module docstring - Add blake2s256 and blake2b512 in supported algorithms - Spawn a new variable DEFAULT_ALGORITHMS as default computed algorithms for the main functions Related T692 | 17 March 2017, 08:43:15 UTC |
f75be5a | Antoine R. Dumont (@ardumont) | 15 March 2017, 09:02:28 UTC | swh.model.hashutil: Make unknown variable length algo creation break Remove the limit on the python3 version, this should be transparent. If the hash requested is not available, this will raise with an explanation on the error. Related T692 | 17 March 2017, 08:42:32 UTC |
8776435 | Antoine R. Dumont (@ardumont) | 14 March 2017, 14:51:56 UTC | swh.model.hashutil: Simplify length hash algorithms instantiation The same caveat applies, will only be supported from python3.6 onward. Related T692 | 17 March 2017, 08:42:31 UTC |
9c25f8f | Antoine R. Dumont (@ardumont) | 14 March 2017, 14:15:06 UTC | swh.model.hashutil: Open variable length hash algorithm support The caveat is that it will only be supported when we will be using python3 >= 3.5. Related T692 | 17 March 2017, 08:42:15 UTC |
7b6c6de | Antoine R. Dumont (@ardumont) | 15 March 2017, 15:00:56 UTC | New upstream version 0.0.14 | 15 March 2017, 15:00:56 UTC |
3e325ca | Antoine R. Dumont (@ardumont) | 15 March 2017, 14:31:54 UTC | Migrate from swh.core.hashutil to swh.model.hashutil Related T700 | 15 March 2017, 15:00:44 UTC |
b0f7f06 | Antoine R. Dumont (@ardumont) | 24 February 2017, 07:28:37 UTC | Update docstring to clarify the ambiguity around symlinks | 24 February 2017, 07:29:38 UTC |
c40ab03 | Antoine R. Dumont (@ardumont) | 23 February 2017, 13:20:43 UTC | Consider special files as empty ones when computing content hashes Closes T255 Ref. D179 | 23 February 2017, 14:35:02 UTC |
e0dbae3 | Nicolas Dandrimont | 15 February 2017, 16:45:59 UTC | identifiers: properly escape newlines in author specifications Found by investigating T75 | 15 February 2017, 16:46:22 UTC |
b370d8b | Nicolas Dandrimont | 14 February 2017, 18:32:24 UTC | New upstream version 0.0.13 | 14 February 2017, 18:32:24 UTC |
58c5a24 | Nicolas Dandrimont | 14 February 2017, 17:34:48 UTC | git: don't use double underscores for function names | 14 February 2017, 17:35:14 UTC |
7912710 | Nicolas Dandrimont | 14 February 2017, 17:33:14 UTC | identifiers: force timestamps as integers everywhere The subversion loader (T680) has shown that throwing floating point values around for timestamps is a mess waiting to happen. We now coerce all clients to send us timestamps as integer numbers of seconds and microseconds, avoiding data losses everywhere. | 14 February 2017, 17:35:14 UTC |
87444d4 | Antoine Pietri | 09 February 2017, 11:12:08 UTC | requirements: split internal and external requirements in two separate files | 09 February 2017, 13:32:05 UTC |
2594832 | Antoine R. Dumont (@ardumont) | 23 June 2016, 10:30:35 UTC | Fix: echo -n to avoid adding an extra line | 23 June 2016, 10:30:35 UTC |
5c0be62 | Antoine R. Dumont (@ardumont) | 23 June 2016, 09:33:21 UTC | Open tools to check rev hash | 23 June 2016, 09:33:21 UTC |
9ef6c87 | Nicolas Dandrimont | 14 June 2016, 15:08:20 UTC | New upstream version 0.0.12 | 14 June 2016, 15:08:20 UTC |
cec445d | Nicolas Dandrimont | 14 June 2016, 15:00:27 UTC | d/rules: move to build_dir before tests | 14 June 2016, 15:00:27 UTC |
db20b20 | Antoine R. Dumont (@ardumont) | 13 June 2016, 14:23:36 UTC | Remove dead comment | 13 June 2016, 14:23:36 UTC |
b3c17c7 | Antoine R. Dumont (@ardumont) | 13 June 2016, 14:22:35 UTC | Remove print statement | 13 June 2016, 14:22:35 UTC |
5f7c931 | Antoine R. Dumont (@ardumont) | 12 June 2016, 13:34:07 UTC | Add tests on git.compute_hashes_from_directory - default - ignoring empty folders - ignore folder based on pattern in names | 12 June 2016, 14:08:54 UTC |
aa06697 | Antoine R. Dumont (@ardumont) | 12 June 2016, 13:33:34 UTC | Fix hash typos + remove print statement | 12 June 2016, 13:33:34 UTC |
843d814 | Antoine R. Dumont (@ardumont) | 12 June 2016, 09:29:05 UTC | Add missing tests on new api | 12 June 2016, 09:29:05 UTC |
b682f27 | Antoine R. Dumont (@ardumont) | 11 June 2016, 00:23:19 UTC | New upstream version 0.0.11 | 11 June 2016, 00:23:19 UTC |
1a2b969 | Antoine R. Dumont (@ardumont) | 11 June 2016, 00:20:22 UTC | Open children_hashes api function | 11 June 2016, 00:20:22 UTC |
05ac3c4 | Antoine R. Dumont (@ardumont) | 10 June 2016, 23:58:18 UTC | Remove dead code | 10 June 2016, 23:58:18 UTC |
8d2bf5a | Antoine R. Dumont (@ardumont) | 10 June 2016, 23:54:08 UTC | Rename walk_and_compute_sha1_from_directory_2 to compute_hashes_from_directory | 10 June 2016, 23:54:08 UTC |
70b68ef | Antoine R. Dumont (@ardumont) | 08 June 2016, 13:54:59 UTC | New upstream version 0.0.10 | 08 June 2016, 13:54:59 UTC |
87fcced | Antoine R. Dumont (@ardumont) | 08 June 2016, 13:09:54 UTC | Add objects_per_type api This permits to reuse the same logic for different clients (loader-dir, loader-tar, loader-svn) (Tests were lost) | 08 June 2016, 13:43:52 UTC |