{"thread":{"id":"32131","subject":"git log implementation details","startedAt":"2012-11-17T01:14:29Z","lastAt":"2012-11-17T01:14:29Z","messageCount":1,"participants":["Nicolas Dufour"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"203386","messageId":"50A6E4F5.1050402@nemoworld.info","threadId":"32131","inReplyTo":null,"subject":"git log implementation details","fromName":"Nicolas Dufour","fromEmail":"nicolas.dufour@nemoworld.info","sentAt":"2012-11-17T01:14:29Z","receivedAt":"2012-11-17T01:14:29Z","isPatch":false,"sender":{"key":"nicolas.dufour@nemoworld.info","avatar":null},"body":"Hello,\n\nI was wondering how the command \"git log\" is actually retrieving the\ncommit log for a given file behind the scene.\nIs it by walking down the object tree and scanning each commit/tree\nobject? Or any cache/index used here?\n\nThank you,\n\nNicolas\n"}]}