Re: Push to remote repo



On Thu, Oct 22, 2015 at 4:17 PM, Dan Nicholson <nicholson endlessm com> wrote:
On Wed, 2015-10-21 at 09:56 -0400, Colin Walters wrote:
On Wed, Oct 14, 2015, at 12:24 PM, Dan Nicholson wrote:

This again assumes that the builder and the repo host are on the
same
machine, which seems unnecessarily restrictive. Currently, we pull
the
latest commit from the public repo to maintain history, make a new
commit on top of it, then rsync the entire repo back to the public
server.

It's this last step that I'm suggesting can be replaced by
having the public repo do a pull via static http.

Sure, that would make sense but make the builder setup more complicated.
I suppose you could spin up trivial-httpd rather than doing an actual
HTTP server setup requiring fixed paths. Hmm, but pull still requires
you to setup a remote in the configuration. And you now need the server
to have the public GPG keys to verify the pulled commit unless you want
to go to the trouble of setting up HTTPS.

So, I decided to just see what would be needed to push over ssh. After
looking at how git does it for a while, I came up with something dumb,
but it seems to work:

https://github.com/dbnicholson/ostree-push

It's python for quick prototyping, but I think it could be converted
to C without a ton of effort. Here's some documentation on the
operation and the protocol:

https://github.com/dbnicholson/ostree-push/blob/master/README.md
https://github.com/dbnicholson/ostree-push/blob/master/protocol.md

There are definitely some things that could be better (see TODO), but
it works. Is there any interest in doing something like this upstream?
I obviously think that it's a clearly missing feature in ostree. I
imagine the protocol could be used to pull over ssh, too. Which is
another thing I think would be really nice to have after using git for
years.

--
Dan


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]