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 publication. "
24 "Transactions can be aborted in order to revert to the original state. "
25 "Repositories that are configured to use a CernVM-FS gateway can lock "
26 "certain sub paths, such that other publisher nodes can publish "
27 "concurrently to other sub trees.";
30 return "[options] <repository name>[path]";
33 std::vector<std::string> e;
34 e.push_back(
"example.cvmfs.io "
35 "# normal use with a locally managed repository");
36 e.push_back(
"example.cvmfs.io/64bit/v42 "
37 "# locks only the given sub tree, use with gateway "
38 "(no space between the repository name and the path)");
39 e.push_back(
"example.cvmfs.io/popular/path -t 500 "
40 "# retries for a maximum of 5 minutes to lock /popular/path");
46 "Retry for a maximum number of given seconds if repository is busy "
49 "Clone directory 'from-dir' to 'to-dir' as part of opening the "
52 "Use -U and -V as an alternative to the -T parameter"));
54 "Use -U and -V as an alternative to the -T parameter"));
58 virtual int Main(
const Options &options);
63 #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