Commit 979a6df4 authored by Jacob Vosmaer's avatar Jacob Vosmaer

Skip 'git annex init' when using 'gcryptsetup'

'gcryptsetup' is a special git-annex feature that does its own
initialization.
parent c31e6165
...@@ -67,7 +67,7 @@ class GitlabShell ...@@ -67,7 +67,7 @@ class GitlabShell
@repo_name = escape_path(args[2].sub(/\A\/~\//, '')) @repo_name = escape_path(args[2].sub(/\A\/~\//, ''))
# Make sure repository has git-annex enabled # Make sure repository has git-annex enabled
init_git_annex(@repo_name) init_git_annex(@repo_name) unless gcryptsetup?(args)
when 'git-lfs-authenticate' when 'git-lfs-authenticate'
raise DisallowedCommandError unless args.count >= 2 raise DisallowedCommandError unless args.count >= 2
@repo_name = escape_path(args[1]) @repo_name = escape_path(args[1])
...@@ -174,4 +174,9 @@ class GitlabShell ...@@ -174,4 +174,9 @@ class GitlabShell
$logger.info "Enable git-annex for repository: #{path}." $logger.info "Enable git-annex for repository: #{path}."
end end
end end
def gcryptsetup?(args)
non_dashed = args.reject { |a| a.start_with?('-') }
non_dashed[0, 2] == %w{git-annex-shell gcryptsetup}
end
end end
...@@ -96,6 +96,14 @@ describe GitlabShell do ...@@ -96,6 +96,14 @@ describe GitlabShell do
it 'should init git-annex' do it 'should init git-annex' do
File.exists?(File.join(tmp_repos_path, 'dzaporozhets/gitlab.git/annex')).should be_true File.exists?(File.join(tmp_repos_path, 'dzaporozhets/gitlab.git/annex')).should be_true
end end
context 'with git-annex-shell gcryptsetup' do
let(:ssh_cmd) { 'git-annex-shell gcryptsetup /~/dzaporozhets/gitlab.git' }
it 'should not init git-annex' do
File.exists?(File.join(tmp_repos_path, 'dzaporozhets/gitlab.git/annex')).should be_false
end
end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment