}
@Test
public void testSymlinkNotModifiedThoughNormalized() throws Exception {
DirCache dc = db.lockDirCache();
DirCacheEditor dce = dc.editor();
final String UNNORMALIZED = "target/";
final byte[] UNNORMALIZED_BYTES = Constants.encode(UNNORMALIZED);
ObjectInserter oi = db.newObjectInserter();
final ObjectId linkid = oi.insert(Constants.OBJ_BLOB,
UNNORMALIZED_BYTES, 0,
UNNORMALIZED_BYTES.length);
oi.release();
dce.add(new DirCacheEditor.PathEdit("link") {
@Override
public void apply(DirCacheEntry ent) {
ent.setFileMode(FileMode.SYMLINK);
ent.setObjectId(linkid);
ent.setLength(UNNORMALIZED_BYTES.length);
}
});
assertTrue(dce.commit());
new Git(db).commit().setMessage("Adding link").call();
new Git(db).reset().setMode(ResetType.HARD).call();
DirCacheIterator dci = new DirCacheIterator(db.readDirCache());
FileTreeIterator fti = new FileTreeIterator(db);