2008/9/19 Elijah Newren <newren@xxxxxxxxx>: > Hi, > > unpack-file doesn't create symlinks as I'd expect. I'm not sure if > this is a bug in unpack-file, or in my expectations. > > To reproduce: > > $ git init > Initialized empty Git repository in /home/newren/testing/.git/ > $ echo bla > bar > $ ln -s bar foo > $ git add bar foo > $ git ls-files -s foo > 120000 ba0e162e1c47469e3fe4b393a8bf8c569f302116 0 foo > $ git unpack-file ba0e162e1c47469e3fe4b393a8bf8c569f302116 > .merge_file_J1hTaV > $ ls -l foo .merge_file_J1hTaV > lrwxrwxrwx 1 enewren enewren 3 Sep 19 08:22 foo -> bar > -rw------- 1 enewren enewren 3 Sep 19 08:23 .merge_file_J1hTaV > $ echo $(cat .merge_file_J1hTaV) > bar > > Why is .merge_file_J1hTaV a regular file instead of a symlink? Is > there an alternative command I can use that would create a symlink to > bar given the information I have from the git ls-files command (and > which also works for creating normal files and other special file > types)? This is not a bug. The type of a file is in the tree, not the blob, see: % echo -n foo > file % ln -s foo symlink % git add file symlink % git commit Created initial commit 31ad9b0 on master: file and symlink 2 files changed, 2 insertions(+), 0 deletions(-) create mode 100644 file create mode 120000 symlink % git ls-tree HEAD 100644 blob 19102815663d23f8b75a47e7a01965dcdc96468c file 120000 blob 19102815663d23f8b75a47e7a01965dcdc96468c symlink -- Mikael Magnusson -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html