Re: git read-tree doesn't accept tree-ish
- From
- Nikita Bobko <nikitabobko@gmail.com>
- Date
- Aug 23, 2021, 19:10 UTC
- Message-ID
- <CAMJzOtz_h0iEL1VQCFvvLzw3XnL+qM=f+BvkmsTU=ps+0VA7RA@mail.gmail.com>
- In-Reply-To
- <YSPuq/HmF3tnYHCA@coredump.intra.peff.net>
Yes, now I see. Thanks!
I was trying to read state of a particular directory/file from a particular revision into my index but so far didn't manage to do it reliably.
I was using `git read-tree <hash>:<path>` and it doesn't work for files (because they are blobs not tree-ish as you elaborated it to me) and for directories, in my cases, it fails with not so helpful message: ``` error: Entry '<path>/<subpath>' overlaps with '<path>/<subpath>'. Cannot bind. ```
`git checkout <hash> -- <path>` also doesn't work in my case because if any file is removed in `<hash>` but not in my HEAD then `git checkout` doesn't remove the file in my HEAD
On Mon, Aug 23, 2021 at 8:53 PM Jeff King <peff@peff.net> wrote:
Show 27 quoted lines
> > On Mon, Aug 23, 2021 at 07:31:29PM +0200, Nikita Bobko wrote: > > > ``` > > git init > > echo foo > foo > > git add --all > > git commit -m 'foo' > > > > echo bar > foo > > git add --all > > git commit -m 'bar' > > > > git read-tree HEAD~:foo > > ``` > > EXP: Read information about file `foo` into index > > ACT: `fatal: failed to unpack tree object HEAD~:foo` > > > > I expect it to work because manpage says that `git-read-tree` accepts > > `<tree-ish>` > > In your example, "foo" is a blob, not a tree. And thus HEAD~:foo > is not a tree-ish. Just "HEAD~" would be. > > What are you trying to do? > > -Peff