Posso pensar em duas possibilidades que poderiam estar causando isso:
-
Cache . Se você estava usando PHP, então eu diria que isso era APC com a configuração
stat
alterada paraOff
. Não sendo familiar o suficiente com Ruby, só posso imaginar que há um cache OpCode embutido e que reiniciar o servidor inteiro libera o cache. Você pode ser capaz de sair apenas reiniciando o daemon HTTP. - Script de inicialização . Pode haver um script de inicialização que executa uma verificação do repositório do subversion ou, possivelmente, uma cópia direta de um diretório para outro. Isso também pode fazer parte de um script existente, como aquele que inicia seu daemon HTTP. Novamente, encontrar o script e executá-lo pode poupar o trabalho de reinicializar todo o servidor.
Um gancho de post-commit do SVN certamente poderia ser usado para fazer o que estiver sendo feito aqui, até mesmo para reinicializar o servidor, mas eu teria cuidado com isso. Implantar código em um servidor de produção é algo em que você deve ter uma certa quantidade de controle e deve ser separado do processo de desenvolvimento. A ideia de um desenvolvedor cometer algo e tê-lo implantado automaticamente e instantaneamente me dá um susto.