From 600d43db0c6c19fafa2f5f313170f31cc82acb9c Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 26 Sep 2014 09:06:29 -0400
Subject: [PATCH] Respect repository default integration branch for new proposal tickets
---
src/main/java/com/gitblit/manager/IRepositoryManager.java | 91 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 89 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/gitblit/manager/IRepositoryManager.java b/src/main/java/com/gitblit/manager/IRepositoryManager.java
index 383ca0d..f37612d 100644
--- a/src/main/java/com/gitblit/manager/IRepositoryManager.java
+++ b/src/main/java/com/gitblit/manager/IRepositoryManager.java
@@ -30,13 +30,14 @@
import com.gitblit.models.SearchResult;
import com.gitblit.models.UserModel;
-public interface IRepositoryManager {
+public interface IRepositoryManager extends IManager {
/**
* Returns the path of the repositories folder. This method checks to see if
* Gitblit is running on a cloud service and may return an adjusted path.
*
* @return the repositories folder path
+ * @since 1.4.0
*/
File getRepositoriesFolder();
@@ -45,6 +46,7 @@
* Gitblit is running on a cloud service and may return an adjusted path.
*
* @return the Groovy hook scripts folder path
+ * @since 1.4.0
*/
File getHooksFolder();
@@ -53,6 +55,7 @@
* Gitblit is running on a cloud service and may return an adjusted path.
*
* @return the Groovy grapes folder path
+ * @since 1.4.0
*/
File getGrapesFolder();
@@ -60,6 +63,7 @@
* Returns the most recent change date of any repository served by Gitblit.
*
* @return a date
+ * @since 1.4.0
*/
Date getLastActivityDate();
@@ -69,6 +73,7 @@
*
* @param user
* @return the effective list of permissions for the user
+ * @since 1.4.0
*/
List<RegistrantAccessPermission> getUserAccessPermissions(UserModel user);
@@ -79,6 +84,7 @@
*
* @param repository
* @return a list of RegistrantAccessPermissions
+ * @since 1.4.0
*/
List<RegistrantAccessPermission> getUserAccessPermissions(RepositoryModel repository);
@@ -88,6 +94,7 @@
* @param repository
* @param permissions
* @return true if the user models have been updated
+ * @since 1.4.0
*/
boolean setUserAccessPermissions(RepositoryModel repository, Collection<RegistrantAccessPermission> permissions);
@@ -98,6 +105,7 @@
* @see IUserService.getUsernamesForRepositoryRole(String)
* @param repository
* @return list of all usernames that have an access permission for the repository
+ * @since 1.4.0
*/
List<String> getRepositoryUsers(RepositoryModel repository);
@@ -108,6 +116,7 @@
*
* @param repository
* @return a list of RegistrantAccessPermissions
+ * @since 1.4.0
*/
List<RegistrantAccessPermission> getTeamAccessPermissions(RepositoryModel repository);
@@ -117,6 +126,7 @@
* @param repository
* @param permissions
* @return true if the team models have been updated
+ * @since 1.4.0
*/
boolean setTeamAccessPermissions(RepositoryModel repository, Collection<RegistrantAccessPermission> permissions);
@@ -127,6 +137,7 @@
* @see IUserService.getTeamnamesForRepositoryRole(String)
* @param repository
* @return list of all teamnames with explicit access permissions to the repository
+ * @since 1.4.0
*/
List<String> getRepositoryTeams(RepositoryModel repository);
@@ -135,20 +146,32 @@
* configured to cache the repository list.
*
* @param model
+ * @since 1.4.0
*/
void addToCachedRepositoryList(RepositoryModel model);
/**
* Resets the repository list cache.
*
+ * @since 1.4.0
+ *
*/
void resetRepositoryListCache();
+
+ /**
+ * Reset all caches for this repository.
+ *
+ * @param repositoryName
+ * @since 1.5.1
+ */
+ void resetRepositoryCache(String repositoryName);
/**
* Returns the list of all repositories available to Gitblit. This method
* does not consider user access permissions.
*
* @return list of all repositories
+ * @since 1.4.0
*/
List<String> getRepositoryList();
@@ -157,6 +180,7 @@
*
* @param repositoryName
* @return repository or null
+ * @since 1.4.0
*/
Repository getRepository(String repositoryName);
@@ -166,14 +190,24 @@
* @param repositoryName
* @param logError
* @return repository or null
+ * @since 1.4.0
*/
Repository getRepository(String repositoryName, boolean logError);
+
+ /**
+ * Returns the list of all repository models.
+ *
+ * @return list of all repository models
+ * @since 1.6.1
+ */
+ List<RepositoryModel> getRepositoryModels();
/**
* Returns the list of repository models that are accessible to the user.
*
* @param user
* @return list of repository models accessible to user
+ * @since 1.4.0
*/
List<RepositoryModel> getRepositoryModels(UserModel user);
@@ -184,6 +218,7 @@
* @param user
* @param repositoryName
* @return repository model or null
+ * @since 1.4.0
*/
RepositoryModel getRepositoryModel(UserModel user, String repositoryName);
@@ -193,6 +228,7 @@
*
* @param repositoryName
* @return repository model or null
+ * @since 1.4.0
*/
RepositoryModel getRepositoryModel(String repositoryName);
@@ -201,6 +237,7 @@
*
* @param repository
* @return the star count
+ * @since 1.4.0
*/
long getStarCount(RepositoryModel repository);
@@ -209,6 +246,7 @@
*
* @param n
* @return true if the repository exists
+ * @since 1.4.0
*/
boolean hasRepository(String repositoryName);
@@ -218,6 +256,7 @@
* @param n
* @param caseInsensitive
* @return true if the repository exists
+ * @since 1.4.0
*/
boolean hasRepository(String repositoryName, boolean caseSensitiveCheck);
@@ -228,6 +267,7 @@
* @param username
* @param origin
* @return true the if the user has a fork
+ * @since 1.4.0
*/
boolean hasFork(String username, String origin);
@@ -238,6 +278,7 @@
* @param username
* @param origin
* @return the name of the user's fork, null otherwise
+ * @since 1.4.0
*/
String getFork(String username, String origin);
@@ -247,6 +288,7 @@
*
* @param repository
* @return a ForkModel
+ * @since 1.4.0
*/
ForkModel getForkNetwork(String repository);
@@ -258,6 +300,7 @@
*
* @param model
* @return size in bytes of the repository
+ * @since 1.4.0
*/
long updateLastChangeFields(Repository r, RepositoryModel model);
@@ -270,6 +313,7 @@
* @param model
* @param repository
* @return a new array list of metrics
+ * @since 1.4.0
*/
List<Metric> getRepositoryDefaultMetrics(RepositoryModel model, Repository repository);
@@ -286,6 +330,7 @@
* @param repository
* @param isCreate
* @throws GitBlitException
+ * @since 1.4.0
*/
void updateRepositoryModel(String repositoryName, RepositoryModel repository, boolean isCreate)
throws GitBlitException;
@@ -297,8 +342,18 @@
* the Git repository
* @param repository
* the Gitblit repository model
+ * @since 1.4.0
*/
void updateConfiguration(Repository r, RepositoryModel repository);
+
+ /**
+ * Returns true if the repository can be deleted.
+ *
+ * @param model
+ * @return true if the repository can be deleted
+ * @since 1.6.0
+ */
+ boolean canDelete(RepositoryModel model);
/**
* Deletes the repository from the file system and removes the repository
@@ -306,6 +361,7 @@
*
* @param model
* @return true if successful
+ * @since 1.4.0
*/
boolean deleteRepositoryModel(RepositoryModel model);
@@ -315,6 +371,7 @@
*
* @param repositoryName
* @return true if successful
+ * @since 1.4.0
*/
boolean deleteRepository(String repositoryName);
@@ -323,6 +380,7 @@
* .groovy extension
*
* @return list of available hook scripts
+ * @since 1.4.0
*/
List<String> getAllScripts();
@@ -333,6 +391,7 @@
* @param repository
* if null only the globally specified scripts are returned
* @return a list of scripts
+ * @since 1.4.0
*/
List<String> getPreReceiveScriptsInherited(RepositoryModel repository);
@@ -344,6 +403,7 @@
* @param repository
* optional parameter
* @return list of available hook scripts
+ * @since 1.4.0
*/
List<String> getPreReceiveScriptsUnused(RepositoryModel repository);
@@ -354,6 +414,7 @@
* @param repository
* if null only the globally specified scripts are returned
* @return a list of scripts
+ * @since 1.4.0
*/
List<String> getPostReceiveScriptsInherited(RepositoryModel repository);
@@ -365,6 +426,7 @@
* @param repository
* optional parameter
* @return list of available hook scripts
+ * @since 1.4.0
*/
List<String> getPostReceiveScriptsUnused(RepositoryModel repository);
@@ -375,13 +437,15 @@
* @param page
* @param pageSize
* @param repositories
- * @return
+ * @return a list of search results
+ * @since 1.4.0
*/
List<SearchResult> search(String query, int page, int pageSize, List<String> repositories);
/**
*
* @return true if we are running the gc executor
+ * @since 1.4.0
*/
boolean isCollectingGarbage();
@@ -390,7 +454,30 @@
*
* @param repositoryName
* @return true if actively collecting garbage
+ * @since 1.4.0
*/
boolean isCollectingGarbage(String repositoryName);
+ /**
+ * Ensures that all cached repositories are completely closed and their resources
+ * are properly released.
+ * @since 1.4.0
+ */
+ void closeAll();
+
+ /**
+ * Ensures that a cached repository is completely closed and it's resources
+ * are properly released.
+ * @since 1.4.0
+ */
+ void close(String repository);
+
+ /**
+ * Returns true if the repository is idle (not being accessed).
+ *
+ * @param repository
+ * @return true if the repository is idle
+ * @since 1.4.0
+ */
+ boolean isIdle(Repository repository);
}
\ No newline at end of file
--
Gitblit v1.9.1