feat: Add N8N_GIT_NODE_DISABLE_BARE_REPOS environment variable to allow users to disable bare repositories in Git Node (#19559)

This commit is contained in:
RomanDavydchuk
2025-09-18 18:33:32 +03:00
committed by GitHub
parent bcedf5c76f
commit 5bf3db5ba8
7 changed files with 180 additions and 0 deletions

View File

@@ -20,6 +20,8 @@ import {
switchBranchFields,
tagFields,
} from './descriptions';
import { Container } from '@n8n/di';
import { DeploymentConfig, SecurityConfig } from '@n8n/config';
export class Git implements INodeType {
description: INodeTypeDescription = {
@@ -291,8 +293,18 @@ export class Git implements INodeType {
}
}
const gitConfig: string[] = [];
const deploymentConfig = Container.get(DeploymentConfig);
const isCloud = deploymentConfig.type === 'cloud';
const securityConfig = Container.get(SecurityConfig);
const disableBareRepos = securityConfig.disableBareRepos;
if (isCloud || disableBareRepos) {
gitConfig.push('safe.bareRepository=explicit');
}
const gitOptions: Partial<SimpleGitOptions> = {
baseDir: repositoryPath,
config: gitConfig,
};
const git: SimpleGit = simpleGit(gitOptions)