GCC Code Coverage Report


Directory: cvmfs/
File: cvmfs/swissknife_ingest.h
Date: 2026-10-04 02:40:33
Exec Total Coverage
Lines: 0 32 0.0%
Branches: 0 0 -%

Line Branch Exec Source
1 /**
2 * This file is part of the CernVM File System.
3 */
4
5 #ifndef CVMFS_SWISSKNIFE_INGEST_H_
6 #define CVMFS_SWISSKNIFE_INGEST_H_
7
8 #include <string>
9
10 #include "swissknife.h"
11
12 namespace swissknife {
13 class Ingest : public Command {
14 public:
15 ✗ ~Ingest() { }
16 ✗ virtual std::string GetName() const { return "ingest"; }
17 ✗ virtual std::string GetDescription() const {
18 ✗ return "Pushes the content of the tarball to the repository";
19 }
20 ✗ virtual ParameterList GetParams() const {
21 ✗ ParameterList r;
22 ✗ r.push_back(Parameter::Mandatory('b', "base hash"));
23 ✗ r.push_back(Parameter::Mandatory('c', "r/o volume"));
24 ✗ r.push_back(Parameter::Mandatory('o', "manifest output file"));
25 ✗ r.push_back(Parameter::Mandatory('r', "spooler definition"));
26 ✗ r.push_back(Parameter::Mandatory('t', "directory for tee"));
27 ✗ r.push_back(Parameter::Mandatory('u', "union volume"));
28 ✗ r.push_back(Parameter::Mandatory('w', "stratum 0 base url"));
29 ✗ r.push_back(Parameter::Mandatory('K', "public key(s) for repo"));
30 ✗ r.push_back(Parameter::Mandatory('N', "fully qualified repository name"));
31
32 ✗ r.push_back(Parameter::Optional('T', "tar file to extract"));
33 ✗ r.push_back(Parameter::Optional(
34 'B', "base directory where to extract the tarfile"));
35 ✗ r.push_back(
36 ✗ Parameter::Optional('D', "entity to delete before to extract the tar"));
37 ✗ r.push_back(Parameter::Optional(
38 'C', "create a new catalog where the tar file is extracted"));
39
40 ✗ r.push_back(Parameter::Optional('P', "session_token_file"));
41 ✗ r.push_back(Parameter::Optional('H', "key file for HTTP API"));
42 ✗ r.push_back(Parameter::Optional('@', "proxy url"));
43 ✗ r.push_back(Parameter::Switch('I', "upload updated statistics DB file"));
44 ✗ r.push_back(Parameter::Optional(
45 'U',
46 "uid of new owner of the ingested data (-1 for keep tarball owner)"));
47 ✗ r.push_back(Parameter::Optional(
48 'G',
49 "gid of new owner of the ingested data (-1 for keep tarball owner)"));
50 ✗ r.push_back(Parameter::Switch('j', "enable nanosecond timestamps"));
51 ✗ r.push_back(Parameter::Switch('f', "fast delete for nested catalogs"));
52 ✗ r.push_back(Parameter::Switch(
53 'm', "tolerate hardlinks whose target is missing from the tarball "
54 "(materialize an empty file with a warning instead of aborting)"));
55 ✗ r.push_back(Parameter::Optional(
56 'Q', "GC SQLite database: read pending paths and delete them"));
57 ✗ r.push_back(Parameter::Optional(
58 'X', "GC database batch size (rows per invocation, 0 = all)"));
59
60 ✗ return r;
61 }
62 int Main(const ArgumentList &args);
63 };
64 } // namespace swissknife
65
66 #endif // CVMFS_SWISSKNIFE_INGEST_H_
67