private JGitFileSystem newFileSystem(Map<String, String> fullHostNames, Git git, String fsName, CredentialsProvider credential, JGitFileSystemsEventsManager fsEventsManager, Map<FileSystemHooks, ?> fsHooks) { fileSystemsLocks.putIfAbsent(fsName, createLock(git)); final JGitFileSystem fs = new JGitFileSystemImpl(jGitFileSystemProvider, fullHostNames, git, fileSystemsLocks.get(fsName), fsName, credential, fsEventsManager, fsHooks); fs.getGit().gc(); return fs; }
private void firePostponedBatchEvents(JGitFileSystem fileSystem) { synchronized (postponedEventsLock) { if (fileSystem.hasPostponedEvents()) { fileSystem.publishEvents(fileSystem.getRootDirectories().iterator().next(), fileSystem.getPostponedWatchEvents()); } fileSystem.clearPostponedWatchEvents(); int value = fileSystem.incrementAndGetCommitCount(); if (value >= config.getCommitLimit()) { fileSystem.getGit().gc(); fileSystem.resetCommitCount(); } } }
@Override protected void execute(final FileSystemUser user, final Repository repository, final InputStream in, final OutputStream out, final OutputStream err, final JGitFileSystem fileSystem) { try { final ReceivePack rp = receivePackFactory.create(this, repository); rp.receive(in, out, err); rp.setPostReceiveHook((rp1, commands) -> { fileSystem.getGit().gc(); fileSystem.resetCommitCount(); }); } catch (final Exception ignored) { } } }
int value = fileSystem.incrementAndGetCommitCount(); if (value >= config.getCommitLimit()) { git.gc(); fileSystem.resetCommitCount();