bin/svndigest-copy-cache.cc

Code
Comments
Other
Rev Date Author Line
1294 14 Nov 10 peter 1 // $Id$
1294 14 Nov 10 peter 2
1294 14 Nov 10 peter 3 /*
1635 30 Mar 23 peter 4   Copyright (C) 2010, 2012, 2023 Peter Johansson
1294 14 Nov 10 peter 5
1294 14 Nov 10 peter 6   This file is part of svndigest, http://dev.thep.lu.se/svndigest
1294 14 Nov 10 peter 7
1294 14 Nov 10 peter 8   svndigest is free software; you can redistribute it and/or modify it
1294 14 Nov 10 peter 9   under the terms of the GNU General Public License as published by
1294 14 Nov 10 peter 10   the Free Software Foundation; either version 3 of the License, or
1294 14 Nov 10 peter 11   (at your option) any later version.
1294 14 Nov 10 peter 12
1294 14 Nov 10 peter 13   svndigest is distributed in the hope that it will be useful, but
1294 14 Nov 10 peter 14   WITHOUT ANY WARRANTY; without even the implied warranty of
1294 14 Nov 10 peter 15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1294 14 Nov 10 peter 16   General Public License for more details.
1294 14 Nov 10 peter 17
1294 14 Nov 10 peter 18   You should have received a copy of the GNU General Public License
1294 14 Nov 10 peter 19   along with svndigest. If not, see <http://www.gnu.org/licenses/>.
1294 14 Nov 10 peter 20 */
1294 14 Nov 10 peter 21
1619 12 Mar 23 peter 22 #include <config.h>
1619 12 Mar 23 peter 23
1294 14 Nov 10 peter 24 #include "svndigest_copy_cacheParameter.h"
1294 14 Nov 10 peter 25
1294 14 Nov 10 peter 26 #include "lib/CacheCopyer.h"
1294 14 Nov 10 peter 27 #include "lib/Directory.h"
1321 28 Nov 10 peter 28 #include "lib/utility.h"
1294 14 Nov 10 peter 29
1673 26 Aug 23 peter 30 #include <yat/utility/Exception.h>
1673 26 Aug 23 peter 31 #include <yat/utility/OptionArg.h>
1675 26 Aug 23 peter 32 #include <yat/utility/utility.h>
1294 14 Nov 10 peter 33
1294 14 Nov 10 peter 34 #include <iostream>
1294 14 Nov 10 peter 35
1294 14 Nov 10 peter 36 using namespace theplu;
1294 14 Nov 10 peter 37 using namespace svndigest;
1294 14 Nov 10 peter 38 int main( int argc, char* argv[])
1294 14 Nov 10 peter 39 {
1294 14 Nov 10 peter 40   // Reading commandline options
1294 14 Nov 10 peter 41   svndigest_copy_cacheParameter option;
1294 14 Nov 10 peter 42   try {
1294 14 Nov 10 peter 43     option.parse(argc,argv);
1294 14 Nov 10 peter 44     if (option.verbose())
1294 14 Nov 10 peter 45       std::cout << "Done parsing parameters" << std::endl;
1294 14 Nov 10 peter 46   }
1294 14 Nov 10 peter 47   catch (yat::utility::cmd_error& e) {
1294 14 Nov 10 peter 48     std::cerr << e.what() << std::endl;
1294 14 Nov 10 peter 49     exit(EXIT_FAILURE);
1294 14 Nov 10 peter 50   }
1294 14 Nov 10 peter 51   catch (std::runtime_error& e) {
1294 14 Nov 10 peter 52     std::cerr << "svndigest-copy-cache: " << e.what() << std::endl;
1294 14 Nov 10 peter 53     return EXIT_FAILURE;
1294 14 Nov 10 peter 54   }
1294 14 Nov 10 peter 55
1294 14 Nov 10 peter 56   try {
1294 14 Nov 10 peter 57     if (option.verbose())
1294 14 Nov 10 peter 58       std::cout << "Initializing SVN singleton." << std::endl;
1294 14 Nov 10 peter 59     SVN::instance(option.root());
1294 14 Nov 10 peter 60
1294 14 Nov 10 peter 61     Directory tree(0, option.root(), "", option.root_basename());
1294 14 Nov 10 peter 62
1675 26 Aug 23 peter 63     yat::utility::chdir(option.root());
1294 14 Nov 10 peter 64     CacheCopyer copyer(option.target(), option.verbose());
1294 14 Nov 10 peter 65     tree.traverse(copyer);
1294 14 Nov 10 peter 66   }
1294 14 Nov 10 peter 67   catch (std::runtime_error& e) {
1507 31 Aug 12 peter 68     std::cerr << "svndigest-copy-cache: " << e.what() << "\n";
1294 14 Nov 10 peter 69     return EXIT_FAILURE;
1294 14 Nov 10 peter 70   }
1294 14 Nov 10 peter 71
1294 14 Nov 10 peter 72   return EXIT_SUCCESS;        // normal exit
1294 14 Nov 10 peter 73 }