Capistrano busca repo antiguo de Github después de deploy.rb cambiado a nuevo repository

Recientemente, un proyecto en el que estoy trabajando cambió los repositorys de origen en Github.

El deploy.rb se actualizó para apuntar correctamente a la nueva count de github, pero cuando ejecuto el cap staging deploy , se busca el repository anterior.

 cap staging deploy * executing `staging' * executing `deploy' * executing `deploy:updatify' * executing "cd /home/deploy/example/current; git fetch origin; git reset --hard origin/staging" servers: ["example.com"] Password: [example.com] executing command ** [out :: example.com] ERROR: oldusername/example.git doesn't exist. Did you enter it correctly? ** [out :: example.com] fatal: The remote end hung up unexpectedly ** [out :: example.com] HEAD is now at 7c92a69 adding changes command finished in 4148ms triggering after callbacks for `deploy:updatify' * executing `bundle:install' * executing "cd /home/deploy/example/current && bundle install --gemfile /home/deploy/example/current/Gemfile --path /home/deploy/example/shanetworking/bundle --deployment --quiet --without development test" servers: ["example.com"] [example.com] executing command command finished in 7442ms * executing `deploy:restart' * executing "cd /home/deploy/example/current; [ -f tmp/pids/unicorn.pid ] && kill -USR2 `cat tmp/pids/unicorn.pid` || bundle exec unicorn_rails -c ./config/unicorn.rb -E staging -D" servers: ["example.com"] [example.com] executing command command finished in 94ms 

Traté de search un directory de copy en caching como se menciona aquí: Capistrano todavía intenta conectarse a mi repository anterior pero en mi server, no hay un directory de copy en caching.

¿Dónde está aún haciendo reference al antiguo repository?

deploy.rb:

  require 'bundler/capistrano' load 'config/deploy/nginx' load 'config/deploy/unicorn' load 'config/deploy/updatify' # Base Settings ############################################################ set :user, 'deploy' set :application, 'example' set :use_sudo, false set :scm, :git set :repository, '[email protected]:new_repo_user/example.git' set :deploy_to, "/home/#{user}/#{application}" # Fake using releases to just use git set :current_release, current_path ssh_options[:paranoid] = false default_run_options[:pty] = true # Multistage ############################################################### ### task :production do server 'exampleprod.com', :app, :web, :db, :primary => true set :branch, 'origin/production' set :environment, 'production' set :environment_database, defer { production_database } set :environment_dbhost, defer { production_dbhost } end task :staging do server 'example.com', :app, :web, :db, :primary => true set :branch, 'origin/staging' set :environment, 'staging' set :environment_database, defer { environment_info["database"] } set :environment_dbhost, defer { environment_info["host"] } end 

Resulta que todavía había una reference al repository original en el file .git/config .

Cambié esto:

 [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = [email protected]:oldusername/example.git 

A esto:

 [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = [email protected]:new_repo_user/example.git 

Y Capistrano comenzó a hacer lo correcto.

Tuve un problema similar después de cambiar el grupo de repository. Resulta que al eliminar el directory repo del server se reparó un problema con una reference de versión repo anterior.