In my job deploying applications on behalf of clients, I keep hitting
a recurring problem. So far I've only been using Github as the source
to deploy from but I imagine this will count elsewhere as well.

The remote servers have copies of a deploy key stored on them, but my
local machine from where I execute cap deploy does not. This would
normally work, however capistrano when calling query_revision in the
git scm calls...

"git ls-remote [EMAIL PROTECTED]:test/test.git HEAD" on the local side.
This fails because my local machine does not have access.

If I modify query revision to just allow "HEAD" to be returned as a
valid revision and never let it call "git ls-remote" then this all
works fine.

I don't really want to add my own personal key to the deploy keys, I
tried that and so far its caused me no-end of problems with having to
get the client to remove my personal key before I can log in to Github
as myself again and fiddling around with ssh-add to remove identities.

So, is it acceptable to allow a revision of HEAD to be passed to the
deploy without resolving it as an actual SHA hash? (this seems to work
but I'm sure there's a reason this is not being done presently) - or
can the Git scm be modified to run the 'git ls-remote' task on a
remote server?

Subversion can run revision commands locally just fine because you
store the scm username and password, but it feels a bit messy to call
commands locally with Git when ssh keys are involved.

Anyone have any input on this?
--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to