Re: [PATCH v8 2/4] cat-file: teach cat-file a '--literally' option
- From
karthik nayak <karthik.188@gmail.com>
- Date
- Apr 20, 2015, 15:52 UTC
- Message-ID
- <553520CF.6070304@gmail.com>
- In-Reply-To
- <20150420091920.GA31279@hashpling.org>
On 04/20/2015 02:49 PM, Charles Bailey wrote:
Show 27 quoted lines
> On Mon, Apr 20, 2015 at 02:27:44PM +0530, Karthik Nayak wrote: > > Sorry, but I didn't get you, broken objects created using hash-object --literally do not work with cat-file without the --literally option. > > Perhaps an example would help: > > I cannot create a bad tree without --literally: > > $ echo total garbage | ./git hash-object -t tree --stdin -w > fatal: corrupt tree file > $ echo total garbage | ./git hash-object -t tree --stdin -w --literally > fa2905d47028d00baec739f6d73540bb2a75c6f7 > > but I can use cat-file without --literally to query the contents and > information about the object as it stands. > > $ ./git cat-file tree fa2905d47028d00baec739f6d73540bb2a75c6f7 > total garbage > $ ./git cat-file -t fa2905d47028d00baec739f6d73540bb2a75c6f7 > tree > $ ./git cat-file -s fa2905d47028d00baec739f6d73540bb2a75c6f7 > 14 > > As far as I could tell - and please correct me if I've misunderstood, > cat-file's literally is about dealing with unrecognized types whereas > hash-object's --literally is about both creating objects with bad types > and invalid objects of "recognized" types. This latter scenario is where > the option name "literally" makes the most sense.
Yes. What you're saying is correct, but it also makes sense as we're asking "cat-file" to give us information about the object irrespective of the type of the object, hence asking it to literally print the information. Also it stays as a compliment to "hash-object --literally", which is already existing.
> > Charles. >