5 #ifndef CVMFS_PUBLISH_CMD_TRANSACTION_H_
6 #define CVMFS_PUBLISH_CMD_TRANSACTION_H_
17 virtual std::string
GetName()
const {
return "transaction"; }
19 return "Open a managed repository for writing";
22 return "A transaction gets a lease for a repository in order to write "
23 "new content. The content is not visible to clients until "
25 "Transactions can be aborted in order to revert to the original "
27 "Repositories that are configured to use a CernVM-FS gateway can "
29 "certain sub paths, such that other publisher nodes can publish "
30 "concurrently to other sub trees.";
33 return "[options] <repository name>[path]";
36 std::vector<std::string> e;
37 e.push_back(
"example.cvmfs.io "
38 "# normal use with a locally managed repository");
39 e.push_back(
"example.cvmfs.io/64bit/v42 "
40 "# locks only the given sub tree, use with gateway "
41 "(no space between the repository name and the path)");
42 e.push_back(
"example.cvmfs.io/popular/path -t 500 "
43 "# retries for a maximum of 5 minutes to lock /popular/path");
49 "retry-timeout",
't',
"seconds",
50 "Retry for a maximum number of given seconds if repository is busy "
53 "template",
'T',
"from-dir=to-dir",
54 "Clone directory 'from-dir' to 'to-dir' as part of opening the "
57 "template-from",
'U',
"from-dir",
58 "Use -U and -V as an alternative to the -T parameter"));
60 "template-to",
'V',
"to-dir",
61 "Use -U and -V as an alternative to the -T parameter"));
65 virtual int Main(
const Options &options);
70 #endif // CVMFS_PUBLISH_CMD_TRANSACTION_H_
static Parameter Optional(const std::string &key, char short_key, const std::string &arg_name, const std::string &desc)
virtual ParameterList GetParams() const
virtual std::string GetBrief() const
virtual int Main(const Options &options)
virtual std::string GetName() const
std::vector< Parameter > ParameterList
virtual std::string GetDescription() const
virtual std::vector< std::string > DoGetExamples() const
virtual std::string GetUsage() const