Revision 37d70d653f4ad3d7efa3e174560d1006830162b7 authored by Valentin Lorentz on 20 November 2018, 15:04:59 UTC, committed by Valentin Lorentz on 21 November 2018, 14:32:35 UTC
Summary: The PG Storage provides that feature, and the Git loader uses it. This commit documents that feature, adds it to the Mem Storage, and changes test_content_missing to test that behavior. Reviewers: #reviewers, ardumont Reviewed By: #reviewers, ardumont Subscribers: swh-public-ci Differential Revision: https://forge.softwareheritage.org/D680
1 parent 97b356a
swh-storage-add-dir
#!/usr/bin/env python3
# Copyright (C) 2015 The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information
import logging
import os
import sys
from swh import storage
from swh.core.hashutil import _hash_fname
if __name__ == '__main__':
try:
db_connstring = sys.argv[1]
obj_root = sys.argv[2]
dirname = sys.argv[3]
except IndexError:
print('Usage: swh-storage-add-dir' +
' DB_CONNSTRING OBJ_STORAGE_DIR DATA_DIR')
print('Example: swh-storage-add-dir "dbname=swh user=foo"' +
' /srv/softwareheritage/objects /usr/src/linux-4.2')
sys.exit(1)
logging.basicConfig(level=logging.INFO)
storage = storage.Storage(db_connstring, obj_root)
def list_content():
for root, _dirs, files in os.walk(dirname):
for name in files:
path = os.path.join(root, name)
cont = _hash_fname(path)
cont['data'] = open(path, 'rb').read()
yield cont
storage.content_add(list_content())
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...