add dir diff and git log and some bugfix