Thread (3 messages) flat view 3 messages, 3 authors, 2016-06-15

How to put tree into index

From: Alexander GQ Gerasiov <hidden>
Date: 2016-06-15 22:59:17

Hello there.

I need to realize the following scenario with git.

1. I have repository with tree like this:

dir1/
	file1
	file2
	file3

dir2/
	subdir1/
		some files


2. Current branch is B.

3. I want to get dir1 from branch A, and save it's content on current
branch (B) as dir2/subdir1


From my point I should do the following
1. Get tree-object sha1 of dir1 from A with git ls-tree
2. Put into index new tree-object with the same sha1/content, but under
the name dir2/subdir1
3. Commit index.


But it doesn't work for me. It works with blob object, but not with
tree object.

I tried the following commands:

git ls-tree A dir1 | 
sed 's#dir1#dir2/subdir1#' | 
git update-index --index-info

But after this I see in the index not tree-object with mode 040000, but
commit-object with mode 160000.



So my question is
How to put into index tree-object with known sha1 and given name?


PS I was able to do what I need when copied files, not tree-itself.
Just add -r to git ls-tree, and put into index blobs/files, not tree.
But I'm interested: is it possible to put tree-object into index?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help