threads / discuss / 22588

git + davfs2, is it safe?

Subject: git + davfs2, is it safe?

## tl;dr

2 messages between Feb 9, 2010 and Feb 9, 2010.

replies: 1people: 2as markdown or json

Gábor Farkas· Feb 9, 2010, 16:39 UTC · lore
hi,

for various reasons our git repositories are hosted using https (webdav), which is http-auth and client-certificate authenticated.

(linux on both the server and the client)

it's possible to somehow persuade git to push/fetch from such repositories, but it's very annoying because either you have to enter your username+password+cert_password on every fetch and twice on every push, or you have to write them down in $HOME/.netrc .

an alternative that seems to work is to mount the webdav directory using davfs2, and then use it with git as a normal mounted filesystem.

it seems to work ok (a little slow, but usable), but i'm a little worried about possible corner-cases. for example, will it be ok if two people are trying to push into it at the same time, etc?

so generally, is it safe/recommended to use git in such a deployment, or not?

p.s: or, does anyone know about a better way to handle the username/password/cert_password when accessing the webdav-repo directly (without davfs2)?

thanks, gabor

Shawn O. Pearce· Feb 9, 2010, 17:57 UTC · re: Gábor Farkas · lore

Re: git + davfs2, is it safe?

G?bor Farkas <gabor@nekomancer.net> wrote:
Show 10 quoted lines
> for various reasons our git repositories are hosted using https (webdav),
> which is http-auth and client-certificate authenticated.
> 
> (linux on both the server and the client)
> 
> it's possible to somehow persuade git to push/fetch from such repositories,
> but it's very annoying because either you have to enter your
> username+password+cert_password
> on every fetch and twice on every push, or you have to write them down
> in $HOME/.netrc .

This is why I prefer SSH. You have ssh-agent around to retain your key for you.

A more modern Git (1.6.6 or later IIRC) should avoid prompting for the password twice, because the HTTP client should actually reuse the connection for the subsequent requests. But I haven't tested it.

You might also want to consider upgrading your server to post-1.6.6 and stop using WebDAV... but instead use smart HTTP for push. That should only need one authentication cycle to perform the push.

It sounds like its time for a proper curl-agent for libcurl though.
Users and applications shouldn't have to keep implementing their
password stores as text files...
 
-- 
Shawn.

← back to recent threads