88573e13382f7d3ee112bed7b1f79eac00f1304bLukas Slebodnik * CDDL HEADER START
88573e13382f7d3ee112bed7b1f79eac00f1304bLukas Slebodnik * The contents of this file are subject to the terms of the
b0ee27fd94f1d20d9c220754ae008a3189752287Lukas Slebodnik * Common Development and Distribution License (the "License").
8a5e793a0576250da80371e53aa3e7eba15cdb63Sumit Bose * You may not use this file except in compliance with the License.
b6840554b4eeda395f5460a56df2eac1f3f97397Lukas Slebodnik * See LICENSE.txt included in this distribution for the specific
b6840554b4eeda395f5460a56df2eac1f3f97397Lukas Slebodnik * language governing permissions and limitations under the License.
b6840554b4eeda395f5460a56df2eac1f3f97397Lukas Slebodnik * When distributing Covered Code, include this CDDL HEADER in each
b6840554b4eeda395f5460a56df2eac1f3f97397Lukas Slebodnik * file and include the License file at LICENSE.txt.
b6840554b4eeda395f5460a56df2eac1f3f97397Lukas Slebodnik * If applicable, add the following below this CDDL HEADER, with the
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik * fields enclosed by brackets "[]" replaced with your own identifying
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik * information: Portions Copyright [yyyy] [name of copyright owner]
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik * CDDL HEADER END
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik * Copyright (c) 2010, Trond Norbye <trond.norbye@gmail.com>. All rights reserved.
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnikimport org.opensolaris.opengrok.configuration.Configuration;
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnikimport org.opensolaris.opengrok.util.Executor;
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik * Access to a repository.
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik * @author Trond Norbye <trond.norbye@gmail.com>
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnikpublic class RepoRepository extends Repository {
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik // TODO: cache all of the GitRepositories within the class
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik private static final long serialVersionUID = 1L;
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik /** The property name used to obtain the client command for this repository.*/
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik public static final String CMD_PROPERTY_KEY =
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik Configuration.PROPERTY_KEY_PREFIX + "history.repo";
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik /** The command to use to access the repository if none was given explicitly */
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik public static final String CMD_FALLBACK = "repo";
705bc4480a68f69d287b1c89fe9463a0191987c8Lukas Slebodnik * Create a new instance of type {@code repo}
bfbf5cb0f00c60c0f000f56c282377b13b9a89abSumit Bose * {@inheritDoc}
2344d7f71dd80618a41745b0818b46895fa61b2cLukas Slebodnik ensureCommand(CMD_PROPERTY_KEY, CMD_FALLBACK);
4eafef4572f4e5ff6b589c80db0b9417724f229fJan Cholasta return true;
3be9e26dcd169d44ae105f1b8a0674464c700b77Sumit Bose * {@inheritDoc}
4eafef4572f4e5ff6b589c80db0b9417724f229fJan Cholasta Executor executor = new Executor(cmd, directory);
4eafef4572f4e5ff6b589c80db0b9417724f229fJan Cholasta throw new IOException(executor.getErrorString());
287e76479d68db4134274d4a4fca5fe0fbc9a605Jan Cholasta * {@inheritDoc}
0b52717b76bf306afd30bbeb6d6c619365cfb548Stephen Gallagher public boolean isRepositoryFor(File file) {
12a73062d84fec27536b09fd275ea248d14b93e5Jakub Hrozek return false;
c3b1e99007d5f0069fbbd32a3df799d71ea4882eSumit Bose * {@inheritDoc}
889706cbc739358c2a0aac2ba6bc054fdc8e048bLukas Slebodnik * {@inheritDoc}