aboutsummaryrefslogtreecommitdiff
path: root/bpkg/rep-add.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-12-09 11:32:50 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-12-09 11:32:50 +0200
commitcbd8296c7b86f7fc368d1133da3be3670b7923be (patch)
tree1f8c10aeaf0e19a7d198b06800c2e2a72e760499 /bpkg/rep-add.cxx
parent82a8cf379ee19dbc66c62bfe78b436d4ab6b497a (diff)
Clean up command names, add aliases
Diffstat (limited to 'bpkg/rep-add.cxx')
-rw-r--r--bpkg/rep-add.cxx70
1 files changed, 0 insertions, 70 deletions
diff --git a/bpkg/rep-add.cxx b/bpkg/rep-add.cxx
deleted file mode 100644
index 0c06ce6..0000000
--- a/bpkg/rep-add.cxx
+++ /dev/null
@@ -1,70 +0,0 @@
-// file : bpkg/rep-add.cxx -*- C++ -*-
-// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd
-// license : MIT; see accompanying LICENSE file
-
-#include <bpkg/rep-add>
-
-#include <stdexcept> // invalid_argument
-
-#include <bpkg/types>
-#include <bpkg/package>
-#include <bpkg/package-odb>
-#include <bpkg/utility>
-#include <bpkg/database>
-#include <bpkg/diagnostics>
-#include <bpkg/manifest-utility>
-
-using namespace std;
-using namespace butl;
-
-namespace bpkg
-{
- int
- rep_add (const rep_add_options& o, cli::scanner& args)
- {
- tracer trace ("rep_add");
-
- dir_path c (o.directory ());
- level4 ([&]{trace << "configuration: " << c;});
-
- if (!args.more ())
- fail << "repository location argument expected" <<
- info << "run 'bpkg help rep-add' for more information";
-
- repository_location rl (parse_location (args.next ()));
- const string& rn (rl.canonical_name ());
-
- // Create the new repository and add is as a complement to the root.
- //
- database db (open (c, trace));
- transaction t (db.begin ());
- session s; // Repository dependencies can have cycles.
-
- // It is possible that this repository is already in the database.
- // For example, it might be a prerequisite of one of the already
- // added repository.
- //
- shared_ptr<repository> r (db.find<repository> (rl.canonical_name ()));
-
- if (r == nullptr)
- {
- r.reset (new repository (rl));
- db.persist (r);
- }
-
- shared_ptr<repository> root (db.load<repository> (""));
-
- if (!root->complements.insert (lazy_shared_ptr<repository> (db, r)).second)
- {
- fail << rn << " is already a repository of this configuration";
- }
-
- db.update (root);
- t.commit ();
-
- if (verb)
- text << "added repository " << rn;
-
- return 0;
- }
-}