Use of database for SCM
John A Meinel
john at arbash-meinel.com
Fri Jun 24 20:27:47 BST 2005
Aside: please Reply-to-all so that the replies go back to the list.
Valentino Volonghi aka Dialtone wrote:
>John A Meinel wrote:
>
>
>
>>POST/PUT are perfectly standard HTTP to send some data to a CGI script.
>>
>>
>
>Not really... even BaseHTTPServer can handle POSTs and PUTs (not to tell
>Twisted.Web(2)
>since I see it was mentioned some time ago).
>
>
Sure, but BaseHTTPServer is a special server that you put. It is not
Apache which is already serving a normal web-page. At current remote
putting of files isn't supported because it requires something on the
server side.
>
>
>>Which means that you have to have some sort of customized software
>>installed on the server side.
>>
>>
>
>Nothing like that AFAIK. If you have the webview of your repository it
>is quite easy to write
>the support for POSTs and PUTs to modify files through HTTP.
>
>
>
>>At least that is my understanding. Is it truly possible that without
>>configuring a cgi script you can push files over http into a directory?
>>
>>
>
>I do that every day with Twisted and Nevow. HTTP is a very very very
>rich protocol full of
>potential that nobody actually uses at 100% of its capabilities.
>
>Let's do an example. You send patches as the body of the request at url:
>
>http://www.example.com/myproj/trunk/file1.py
>
>The request will be:
>
>PUT /myproj/trunk/file1.py HTTP/1.1\r\n
>Some-Headers: Bla bla\r\n
>\r\n
>--- e.py 2005-06-20 19:26:02.000000000 +0200
>+++ err.tac 2005-05-28 02:42:15.000000000 +0200
>@@ -1 +1,117 @@
>-print 'sennò non vale :)'
>+from nevow import appserver, rend, loaders, tags as T, inevow, context
>+from twisted.internet import defer
>+from twisted.application import service, internet
>
>And the server will read the content and apply the content to the file
>specified in the path requested.
>This doesn't seem hard at all. at least to me.
>
>
>
It is simple *if* you are running a server which supports PUT. The whole
point is that it is possible for bzr to support remote filesystem access
without a custom server.
>>ftp/sftp etc obviously support that sort of thing.
>>
>>
>
>you don't need to send files, most of the times you just need to send
>patches, and anyway FTP and HTTP
>may, and in fact do, overlap a bit in their functionality.
>
>
>
Certainly. But http with a normal "Apache" style server doesn't let you
upload a file. While ftp does.
>>Right now bzr is considering the best way to handle remote filesystem
>>access, since you want to do the right thing when it comes to locking
>>files.
>>
>>
>
>Instead of thinking about the best way (which means nothing) I think the
>main effort should be on a flexible
>system that can work with different protocols, even if initially you
>will just implement the one you most like.
>
>Obviously, since I'm not partecipating in this project you should feel
>free to ignore my thoughts :).
>
>
>
That it certainly what is planned. Right now we have an abstraction
interface, which is being slightly redesigned to better support
pipelined & asynchronous access. And to better allow pluggable/multiple
storage mechanisms.
There was some discussion as to where the best place to actually have
the code. And because there might be more than 1 storage on disk format,
not to mention more than one transport mechanism. (One of which is a
smart server, dedicated to bzr, others are http,sftp,ftp,etc).
John
=:->
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 253 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20050624/d1d1614f/attachment.pgp
More information about the bazaar
mailing list