# simple use case scenario for --read-tree and --write-tree with --prefix option

5 messages from 2006-06-19 to 2006-06-19. Participants: Aneesh Kumar, Junio C Hamano, Petr Baudis.
Thread: https://gitlist.dev/t/4565

## Aneesh Kumar, 2006-06-19 07:28

Subject: simple use case scenario for --read-tree and --write-tree with --prefix option
Message-ID: <cc723f590606190028t65c76c74t6a90d1dcec411598@mail.gmail.com>
URL: https://gitlist.dev/e/cc723f590606190028t65c76c74t6a90d1dcec411598%40mail.gmail.com

```
Hi all,

I searched the archives but didn't find anything. If i understand
correctly the sub project idea is using the gitlink object type. So
what is read-tree and write-tree with --prefix option supposed to
achieve.

-aneesh

```

## Junio C Hamano, 2006-06-19 07:52

Subject: Re: simple use case scenario for --read-tree and --write-tree with --prefix option
Message-ID: <7vpsh5a8gs.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vpsh5a8gs.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <cc723f590606190028t65c76c74t6a90d1dcec411598@mail.gmail.com>

```
"Aneesh Kumar" <aneesh.kumar@gmail.com> writes:

> I searched the archives but didn't find anything. If i understand
> correctly the sub project idea is using the gitlink object type. So
> what is read-tree and write-tree with --prefix option supposed to
> achieve.

The --prefix option to read-tree was very useful when I did a
hand merge of gitweb for example.  I am reasonably sure clever
people will find other uses as well.

```

## Aneesh Kumar, 2006-06-19 07:58

Subject: Re: simple use case scenario for --read-tree and --write-tree with --prefix option
Message-ID: <cc723f590606190058w2d7481ecsaded46095aee2355@mail.gmail.com>
URL: https://gitlist.dev/e/cc723f590606190058w2d7481ecsaded46095aee2355%40mail.gmail.com
In-Reply-To: <7vpsh5a8gs.fsf@assigned-by-dhcp.cox.net>

```
On 6/19/06, Junio C Hamano <junkio@cox.net> wrote:
> "Aneesh Kumar" <aneesh.kumar@gmail.com> writes:
>
> > I searched the archives but didn't find anything. If i understand
> > correctly the sub project idea is using the gitlink object type. So
> > what is read-tree and write-tree with --prefix option supposed to
> > achieve.
>
> The --prefix option to read-tree was very useful when I did a
> hand merge of gitweb for example.  I am reasonably sure clever
> people will find other uses as well.
>

Ok i tried this
mkdir test/test1
mkdir test/test2
cd test
git init-db
cd test1
git init-db
cd ../test2
git init-db

now  i do some devel under test2
now if i want to pull this with the history to toplevel directory test
should i be doing

cd test

kvaneesh@satan:/tmp/test$ git read-tree --prefix=test1/ $(cat
test1/.git/refs/heads/master)
fatal: failed to unpack tree object c6c049d03f0bee0ac546ff6e436d5f6f3a5f4864

But the above command doesn't work for me. I guess i am missing something.

-aneesh

```

## Petr Baudis, 2006-06-19 13:53

Subject: Re: simple use case scenario for --read-tree and --write-tree with --prefix option
Message-ID: <20060619135343.GP2609@pasky.or.cz>
URL: https://gitlist.dev/e/20060619135343.GP2609%40pasky.or.cz
In-Reply-To: <cc723f590606190058w2d7481ecsaded46095aee2355@mail.gmail.com>

```
Dear diary, on Mon, Jun 19, 2006 at 09:58:31AM CEST, I got a letter
where Aneesh Kumar <aneesh.kumar@gmail.com> said that...
> cd test
> 
> kvaneesh@satan:/tmp/test$ git read-tree --prefix=test1/ $(cat
> test1/.git/refs/heads/master)
> fatal: failed to unpack tree object c6c049d03f0bee0ac546ff6e436d5f6f3a5f4864
> 
> But the above command doesn't work for me. I guess i am missing something.

You need to do a fetch to your /tmp/test repository first.

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
A person is just about as big as the things that make them angry.

```

## Aneesh Kumar, 2006-06-19 15:50

Subject: Re: simple use case scenario for --read-tree and --write-tree with --prefix option
Message-ID: <cc723f590606190850q4a200423ve3304c4f7df20267@mail.gmail.com>
URL: https://gitlist.dev/e/cc723f590606190850q4a200423ve3304c4f7df20267%40mail.gmail.com
In-Reply-To: <20060619135343.GP2609@pasky.or.cz>

```
On 6/19/06, Petr Baudis <pasky@suse.cz> wrote:
> Dear diary, on Mon, Jun 19, 2006 at 09:58:31AM CEST, I got a letter
> where Aneesh Kumar <aneesh.kumar@gmail.com> said that...
> > cd test
> >
> > kvaneesh@satan:/tmp/test$ git read-tree --prefix=test1/ $(cat
> > test1/.git/refs/heads/master)
> > fatal: failed to unpack tree object c6c049d03f0bee0ac546ff6e436d5f6f3a5f4864
> >
> > But the above command doesn't work for me. I guess i am missing something.
>
> You need to do a fetch to your /tmp/test repository first.
>


Ok that made the --read-tree part work. But the log or whatchanged
commands doesn't gets me the history of changes with resepect to the
files added.  Now i remember this is in a way simillar to gitweb
history not shown. But then using the --full-history option with git
log also doesn't show the details of history with respect to the
files.

This is what i did

git fetch ./test2/
git read-tree --prefix=test2/ $(cat test2/.git/refs/heads/master)

Now if i look at .git/objects/ I can see commit objects with respect
to changes for test2/a

-aneesh

```
