| | |
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | |
|
| | | import org.eclipse.jgit.lib.Repository;
|
| | | import org.eclipse.jgit.lib.StoredConfig;
|
| | | import org.slf4j.Logger;
|
| | | import org.slf4j.LoggerFactory;
|
| | |
|
| | | import com.gitblit.Constants.AccessRestrictionType;
|
| | | import com.gitblit.Constants.FederationStrategy;
|
| | | import com.gitblit.GitBlit;
|
| | | import com.gitblit.utils.ArrayUtils;
|
| | | import com.gitblit.utils.JGitUtils;
|
| | | import com.gitblit.utils.StringUtils;
|
| | |
|
| | | /**
|
| | |
| | | public class RepositoryModel implements Serializable, Comparable<RepositoryModel> {
|
| | |
|
| | | private static final long serialVersionUID = 1L;
|
| | | |
| | | public static String CUSTOM_DEFINED_PROP_SECTION = "gitblit";
|
| | | public static String CUSTOM_DEFINED_PROP_SUBSECTION = "customDefinedProperties";
|
| | | |
| | | private final Logger logger = LoggerFactory.getLogger(RepositoryModel.class);
|
| | |
|
| | | // field names are reflectively mapped in EditRepository page
|
| | | public String name;
|
| | |
| | | public boolean skipSizeCalculation;
|
| | | public boolean skipSummaryMetrics;
|
| | | public String frequency;
|
| | | public boolean isBare;
|
| | | public String origin;
|
| | | public String HEAD;
|
| | | public List<String> availableRefs;
|
| | | public List<String> indexedBranches;
|
| | | public String size;
|
| | |
|
| | | public List<String> preReceiveScripts;
|
| | | public List<String> postReceiveScripts;
|
| | | public List<String> mailingLists;
|
| | | private String displayName;
|
| | | |
| | | public RepositoryModel() {
|
| | | this("", "", "", new Date(0));
|
| | | }
|
| | |
| | | this.lastChange = lastchange;
|
| | | this.accessRestriction = AccessRestrictionType.NONE;
|
| | | this.federationSets = new ArrayList<String>();
|
| | | this.federationStrategy = FederationStrategy.FEDERATE_THIS;
|
| | | this.federationStrategy = FederationStrategy.FEDERATE_THIS; |
| | | }
|
| | | |
| | | public List<String> getLocalBranches() {
|
| | | if (ArrayUtils.isEmpty(availableRefs)) {
|
| | | return new ArrayList<String>();
|
| | | }
|
| | | List<String> localBranches = new ArrayList<String>();
|
| | | for (String ref : availableRefs) {
|
| | | if (ref.startsWith("refs/heads")) {
|
| | | localBranches.add(ref);
|
| | | }
|
| | | }
|
| | | return localBranches;
|
| | | }
|
| | | |
| | | public String getCustomProperty(String propertyKey) {
|
| | | try {
|
| | | Repository r = GitBlit.self().getRepository(name);
|
| | | StoredConfig config = JGitUtils.readConfig(r);
|
| | | |
| | | return config.getString(CUSTOM_DEFINED_PROP_SECTION, CUSTOM_DEFINED_PROP_SUBSECTION, propertyKey);
|
| | | } catch (Exception e) {
|
| | | logger.error("Error getting Custom Property", e);
|
| | | |
| | | return null;
|
| | | } |
| | | }
|
| | | |
| | | public String setCustomProperty(String propertyKey, String propertyValue) {
|
| | | try {
|
| | | Repository r = GitBlit.self().getRepository(name);
|
| | | StoredConfig config = JGitUtils.readConfig(r);
|
| | | |
| | | String oldValue = config.getString(CUSTOM_DEFINED_PROP_SECTION, CUSTOM_DEFINED_PROP_SUBSECTION, propertyKey);
|
| | | |
| | | config.setString(CUSTOM_DEFINED_PROP_SECTION, CUSTOM_DEFINED_PROP_SUBSECTION, propertyKey, propertyValue);
|
| | | config.save();
|
| | | |
| | | return oldValue;
|
| | | } catch (Exception e) {
|
| | | logger.error("Error getting Custom Property", e);
|
| | | |
| | | return null;
|
| | | } |
| | | }
|
| | |
|
| | | @Override
|
| | | public String toString() {
|
| | | return name;
|
| | | if (displayName == null) {
|
| | | displayName = StringUtils.stripDotGit(name);
|
| | | }
|
| | | return displayName;
|
| | | }
|
| | |
|
| | | @Override
|