Marco Costalba <mcostalba@xxxxxxxxx> writes: > Is it possible to get branch name from a revision sha? > Something like > > $ git branch b14e2494b8a70737066f4ade4df1b5559e81b44b > todo That is in general impossible. $ git show-branch master~1 next pu ! [master~1] blame: Nicer output ! [next] Merge branch 'jc/cvsimport' into next ! [pu] Merge branch 'jc/cvsimport' into next --- -- [next] Merge branch 'jc/cvsimport' into next ++ [next^2] cvsimport: honor -i and non -i upon subsequent imports -- [next^] Merge branch 'jc/fetch' into next ++ [next^^2] fetch: exit non-zero when fast-forward check fails. -- [next~2] Merge branch 'ew/abbrev' into next ++ [next~2^2] ls-files: add --abbrev[=<n>] option ++ [next~2^2^] ls-tree: add --abbrev[=<n>] option ++ [next^2^] blame: Fix git-blame <directory> +++ [master~1] blame: Nicer output $ git rev-parse --verify master~1 88a8b7955666ed8fa5924fadbb3bb58984eaa6af Now what should this command say? $ git branch --tell 88a8b7955666ed8fa5924fadbb3bb58984eaa6af It is not head of any branch. Should it say master~1? next^2~1? pu^2~1? The closest thing is name-rev, which tries to give you the simplest. It may or may not match what you want: $ git name-rev 88a8b7955666ed8fa5924fadbb3bb58984eaa6af 88a8b7955666ed8fa5924fadbb3bb58984eaa6af master~1 $ git name-rev `git rev-parse --verify b14e24` b14e2494b8a70737066f4ade4df1b5559e81b44b todo~16 However. > I need this to correctly annotate files not in HEAD > tree. Currently qgit runs git-rev-list --header --topo-order > --parents --remove-empty HEAD -- <path> > > to get a file history. But this fails if <path> is not found > in HEAD. The right command to run in our case should be: > git-rev-list --header --topo-order --parents --remove-empty > todo -- <path> ... I wonder why you care. Wouldn't this work just as well? $ git rev-list --header --topo-order --parents --remove-empty \ --all -- <path> It lists 70 commits at the moment. - : 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