Skip to content

Commit

Permalink
Initial Git-LFS support
Browse files Browse the repository at this point in the history
+ Filestore menu item to identify status and scale of filestore
+ Hooks into existing repository permissions
+ NOTE: To use the lfs client the lfs url must be set to <server>/lfs/<reponame>
  • Loading branch information
paulsputer committed Sep 20, 2015
1 parent 0322351 commit a9724a3
Show file tree
Hide file tree
Showing 25 changed files with 2,063 additions and 9 deletions.
14 changes: 14 additions & 0 deletions src/main/distrib/data/defaults.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2030,3 +2030,17 @@ server.requireClientCertificates = false
# SINCE 0.5.0
# RESTART REQUIRED
server.shutdownPort = 8081

#
# Gitblit Filestore Settings
#
# The location to save the filestore blobs
#
# SINCE 1.7.0
filestore.storageFolder = ${baseFolder}/lfs

# Maximum allowable upload size
# The default value, -1, disables upload limits.
# Common unit suffixes of k, m, or g are supported.
# SINCE 1.7.0
filestore.maxUploadSize = -1
2 changes: 2 additions & 0 deletions src/main/java/com/gitblit/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ public class Constants {
public static final String R_PATH = "/r/";

public static final String GIT_PATH = "/git/";

public static final String GIT_LFS_PATH = "/lfs/";

public static final String ZIP_PATH = "/zip/";

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/gitblit/FederationClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ public static void main(String[] args) {
UserManager users = new UserManager(runtime, null).start();
RepositoryManager repositories = new RepositoryManager(runtime, null, users).start();
FederationManager federation = new FederationManager(runtime, notifications, repositories).start();
IGitblit gitblit = new GitblitManager(null, null, runtime, null, notifications, users, null, repositories, null, federation);
IGitblit gitblit = new GitblitManager(null, null, runtime, null, notifications, users, null, repositories, null, federation, null);

FederationPullService puller = new FederationPullService(gitblit, federation.getFederationRegistrations()) {
@Override
Expand Down
7 changes: 5 additions & 2 deletions src/main/java/com/gitblit/GitBlit.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import com.gitblit.manager.GitblitManager;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IFederationManager;
import com.gitblit.manager.IFilestoreManager;
import com.gitblit.manager.INotificationManager;
import com.gitblit.manager.IPluginManager;
import com.gitblit.manager.IProjectManager;
Expand Down Expand Up @@ -52,7 +53,8 @@ public GitBlit(
IAuthenticationManager authenticationManager,
IRepositoryManager repositoryManager,
IProjectManager projectManager,
IFederationManager federationManager) {
IFederationManager federationManager,
IFilestoreManager filestoreManager) {

super(
publicKeyManagerProvider,
Expand All @@ -64,6 +66,7 @@ public GitBlit(
authenticationManager,
repositoryManager,
projectManager,
federationManager);
federationManager,
filestoreManager);
}
}
3 changes: 3 additions & 0 deletions src/main/java/com/gitblit/guice/CoreModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@
import com.gitblit.IStoredSettings;
import com.gitblit.manager.AuthenticationManager;
import com.gitblit.manager.FederationManager;
import com.gitblit.manager.FilestoreManager;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IFederationManager;
import com.gitblit.manager.IFilestoreManager;
import com.gitblit.manager.IGitblit;
import com.gitblit.manager.INotificationManager;
import com.gitblit.manager.IPluginManager;
Expand Down Expand Up @@ -72,6 +74,7 @@ protected void configure() {
bind(IRepositoryManager.class).to(RepositoryManager.class);
bind(IProjectManager.class).to(ProjectManager.class);
bind(IFederationManager.class).to(FederationManager.class);
bind(IFilestoreManager.class).to(FilestoreManager.class);

// the monolithic manager
bind(IGitblit.class).to(GitBlit.class);
Expand Down
6 changes: 5 additions & 1 deletion src/main/java/com/gitblit/guice/WebModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
import com.gitblit.servlet.DownloadZipServlet;
import com.gitblit.servlet.EnforceAuthenticationFilter;
import com.gitblit.servlet.FederationServlet;
import com.gitblit.servlet.FilestoreFilter;
import com.gitblit.servlet.FilestoreServlet;
import com.gitblit.servlet.GitFilter;
import com.gitblit.servlet.GitServlet;
import com.gitblit.servlet.LogoServlet;
Expand Down Expand Up @@ -68,6 +70,7 @@ protected void configureServlets() {
serve(fuzzy(Constants.RPC_PATH)).with(RpcServlet.class);
serve(fuzzy(Constants.ZIP_PATH)).with(DownloadZipServlet.class);
serve(fuzzy(Constants.SYNDICATION_PATH)).with(SyndicationServlet.class);
serve(fuzzy(Constants.GIT_LFS_PATH)).with(FilestoreServlet.class);

serve(fuzzy(Constants.FEDERATION_PATH)).with(FederationServlet.class);
serve(fuzzy(Constants.SPARKLESHARE_INVITE_PATH)).with(SparkleShareInviteServlet.class);
Expand Down Expand Up @@ -98,7 +101,8 @@ protected void configureServlets() {
filter(fuzzy(Constants.RPC_PATH)).through(RpcFilter.class);
filter(fuzzy(Constants.ZIP_PATH)).through(DownloadZipFilter.class);
filter(fuzzy(Constants.SYNDICATION_PATH)).through(SyndicationFilter.class);

filter(fuzzy(Constants.GIT_LFS_PATH)).through(FilestoreFilter.class);

// Wicket
String toIgnore = Joiner.on(",").join(Constants.R_PATH, Constants.GIT_PATH, Constants.RAW_PATH,
Constants.PAGES, Constants.RPC_PATH, Constants.ZIP_PATH, Constants.SYNDICATION_PATH,
Expand Down
Loading

0 comments on commit a9724a3

Please sign in to comment.