I think we should not have symlinks in Git. I does strange things with them. In particular on a system without symlinks, but also in my checkout now:
$ git checkout mdb $ cd servers/slapd/back-mdb/ $ ls -l mdb.c libmdb/mdb.c ls: cannot access libmdb/mdb.c: No such file or directory lrwxrwxrwx 1 hbf usit 12 2011-08-17 13:26 mdb.c -> libmdb/mdb.c $ gitk --all ...but this does show the mdb source.
I suggest:
- treat the 'mdb' branch as a throw-away branch, instead of merging it into master,
- let Makefile make the symlinks, as in libraries/liblunicode,
- make some Git hook which rejects commits with symlinks.