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?