Re: First web interface and service API draft
- From
Jan Harkes <jaharkes@cs.cmu.edu>
- Date
- Apr 22, 2005, 14:23 UTC
- Message-ID
- <20050422142342.GG30915@delft.aura.cs.cmu.edu>
- In-Reply-To
- <1114166517.3233.4.camel@localhost>
On Fri, Apr 22, 2005 at 12:41:56PM +0200, Christian Meder wrote:
> ------- > /<project>/blob/<blob-sha1> > /<project>/commit/<commit-sha1>
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,
/<project/<hexadecimal sha1 representation>
will give you the raw object./<project/<hexadecimal sha1 representation>.html (.xml/.txt) will give you a parsed version for user presentation
And since hexadecimal numbers only have [0-9a-f] as valid characters, you can still have additional directories that can be guaranteed unique as long as the first two characters are not a valid hexadecimal value. So things like /branch/linus, or /changelog/, /log/, /diff/. Yeah, you can't use /delta/ without looking at more than the first two characters, but that's where dictionaries can come in handy.
Jan