Hi, Thiago Farina wrote: > I was looking into builtin/log.c to see how it does --reverse and I > saw that cmd_cherry is there. > > I'm wondering, why is it there? Good question. So let's check. $ git log --oneline -Scmd_cherry builtin/log.c 81b50f3 Move 'builtin-*' into a 'builtin/' subdirectory That wasn't too helpful. Okay, okay. $ git log --oneline -Scmd_cherry -- builtin-log.c 81b50f3 Move 'builtin-*' into a 'builtin/' subdirectory e827633 Built-in cherry Running "git show e827633" reveals that the core of the original script is for c in $inup do git-diff-tree -p $c done | git-patch-id | while read id name do echo $name >>$patch/$id done while the core of the builtin version is get_patch_ids(&revs, &patch_id_opts, prefix); The latter function is static, introduced by v1.4.1~12^2~5 (format-patch: introduce "--ignore-if-in-upstream", 2006-06-25). So the answer is that "git cherry" is considered a variant on "git log" (like format-patch, show, and whatchanged) and that it uses "git log" internals. Hope that helps, Jonathan -- 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