From: Jon Seymour Date: Sat, 23 Apr 2005 06:39:19 GMT Subject: Re: First web interface and service API draft Message-ID: <2cfc403205042223393a769e57@mail.gmail.com> In-Reply-To: <1114203423.3207.24.camel@localhost> On 4/23/05, Christian Meder wrote: > On Fri, 2005-04-22 at 10:23 -0400, Jan Harkes wrote: > > On Fri, Apr 22, 2005 at 12:41:56PM +0200, Christian Meder wrote: > > > ------- > > > //blob/ > > > //commit/ > > > > It is trivial to find an object when given a sha, but to know the object > > type you'd have to decompress it and check inside. Also the way git > > stores these things you can't have both a blob and a commit with the > > same sha anyways. > > > > So why not use, > > / > > will give you the raw object. > > Hmm. I'm not sure about throwing away the information in > the url. I think I'd prefer to retain the blob, tree and commit > namespaces because I think they help API users to explicitly state what > kind of object they expect. I can't think of a scenario where I'd want a > of unknown type. Do you have a specific use case in mind ? > I was initially inclined to agree with Jan, but on brief reflection I think Christian is correct to want to preserve the type info in the URI. There are numerous reasons why this is a good idea: - both carbon and silicon users of the URI who don't have direct access to the repository can infer what the URI refers to without actually fetching it - programmatically the web server can make request routing decisions based on the URI alone and is not forced to perfom a relatively expensive and unnecessary db hit to derive the type. That said, I can see some value in providing a web-based type-resolution service. So, given a URI of the form //object/ the server should resolve the type of the named object and issue an HTTP re-direct to the typed URI, e.g. //blob/ Because browsers tend not to remember redirection sources, external entities end up recording the typed URIs, but all the benefits of Jan's suggestion still accrue. jon. -- homepage: http://www.zeta.org.au/~jon/ blog: http://orwelliantremors.blogspot.com/