Skip to content

Commit blocked by hook  #160

@mkunzecw

Description

@mkunzecw

git-as-svn: 1.1.8
gitlab 10.2.5
client: svn 1.9.3 (linux) and tortoise 1.9.5 (windows)

#cd Test
#vi bla.img 
<adding some garbage>
#svn add bla.img
#svn commit
Füge hinzu         bla.img
Übertrage Daten .erledigt
Übertrage Transaktion...
svn: E165001: Übertragen schlug fehl (Details folgen):
svn: E165001: svn: E165001: Commit blocked by hook with output:

svn: E165001: Ihre Logmeldung wurde in einer Temporärdatei abgelegt:
svn: E165001:    »/home/xxx/test/Test/svn-commit.tmp

server shows

2017-12-21T10:17:42,560  INFO [pool-2-thread-1] (SvnServer.java:311) - User: yyyy
2017-12-21T10:17:42,847  INFO [pool-2-thread-1] (GitDeltaConsumer.java:178) - Created blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 for file: /bla.img
2017-12-21T10:17:42,857  INFO [pool-2-thread-1] (GitWriter.java:257) - Create commit 54b79461ed5de6ce6875f594a7443bea47867aad: qwer
2017-12-21T10:17:42,870  INFO [pool-2-thread-1] (GitWriter.java:265) - Validate properties
2017-12-21T10:17:42,873  INFO [pool-2-thread-1] (GitWriter.java:268) - Try to push commit in branch: refs/heads/master
2017-12-21T10:17:43,891  WARN [pool-2-thread-1] (CommitCmd.java:625) - Found error in cmd close-edit
org.tmatesoft.svn.core.SVNException: svn: E165001: Commit blocked by hook with output:

	at svnserver.repository.git.push.GitPushEmbedded.runHook(GitPushEmbedded.java:125) ~[git-as-svn.jar:?]
	at svnserver.repository.git.push.GitPushEmbedded.runReceiveHook(GitPushEmbedded.java:83) ~[git-as-svn.jar:?]
	at svnserver.repository.git.push.GitPushEmbedded.push(GitPushEmbedded.java:74) ~[git-as-svn.jar:?]
	at svnserver.repository.git.GitWriter$GitCommitBuilder.commit(GitWriter.java:269) ~[git-as-svn.jar:?]
	at svnserver.repository.git.GitWriter$GitCommitBuilder.commit(GitWriter.java:95) ~[git-as-svn.jar:?]
	at svnserver.server.command.CommitCmd$EditorPipeline.lambda$closeEdit$8(CommitCmd.java:563) ~[git-as-svn.jar:?]
	at svnserver.repository.locks.PersistentLockFactory.wrapLock(PersistentLockFactory.java:65) ~[git-as-svn.jar:?]
	at svnserver.repository.locks.PersistentLockFactory.wrapLockWrite(PersistentLockFactory.java:56) ~[git-as-svn.jar:?]
	at svnserver.repository.git.GitRepository.wrapLockWrite(GitRepository.java:684) ~[git-as-svn.jar:?]
	at svnserver.server.command.CommitCmd$EditorPipeline.closeEdit(CommitCmd.java:557) ~[git-as-svn.jar:?]
	at svnserver.server.command.LambdaCmd.process(LambdaCmd.java:46) ~[git-as-svn.jar:?]
	at svnserver.server.command.CommitCmd$EditorPipeline.editorCommand(CommitCmd.java:622) [git-as-svn.jar:?]
	at svnserver.server.SvnServer.serveClient(SvnServer.java:202) [git-as-svn.jar:?]
	at svnserver.server.SvnServer.lambda$run$0(SvnServer.java:168) [git-as-svn.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1158) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:632) [?:?]
	at java.lang.Thread.run(Thread.java:804) [?:?]
2017-12-21T10:17:43,901  WARN [pool-2-thread-1] (SvnServer.java:225) - Command execution error: svn: E165001: Commit blocked by hook with output:

2017-12-21T10:17:43,921  INFO [pool-2-thread-1] (SvnServer.java:175) - Connection from /192.168.44.187:42796 closed
2017-12-21T10:19:07,334  INFO [qtp24039137-62] (WebServer.java:103) - 127.0.0.1:47678 -  - "POST //localhost:8123/" 200 null

gitlab has the new commit added non the less, but svn is kinda stuck:

#svn status
A       bla.img
#svn update
Aktualisiere ».«:
E    bla.img
Aktualisiert zu Revision 2.
#svn status
?       svn-commit.tmp

hook that fails: update
found in e.g. /var/opt/gitlab/git-data//repo.git/hooks/update

#!/opt/gitlab/embedded/bin/ruby --disable-gems
# Fix the PATH so that gitlab-shell can find git-upload-pack and friends.
ENV['PATH'] = '/opt/gitlab/bin:/opt/gitlab/embedded/bin:' + ENV['PATH']

#!/usr/bin/env ruby

# This file was placed here by GitLab. It makes sure that your pushed commits
# will be processed properly.

ref_name  = ARGV[0]
old_value = ARGV[1]
new_value = ARGV[2]
repo_path = Dir.pwd
key_id    = ENV.delete('GL_ID')

require_relative '../lib/gitlab_custom_hook'

if GitlabCustomHook.new(repo_path, key_id).update(ref_name, old_value, new_value)
  exit 0
else
  exit 1
end

the repo has no custom hooks installed

Metadata

Metadata

Assignees

No one assigned

    Labels

    buggitlabGitLab integration

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions