On Tuesday 16 November 2010 06:02:27 pm Konstantin Khomoutov wrote: > Martin Fick wrote: > > This might be a silly question, but I can't figure it > > out: is there a way to get all the tags and branches > > whose tip includes a certain blob (by SHA1) in its tree > > object? > > I doubt there is any ready-made solution for this corner > case, but you could roll your own using git-ls-tree > low-level command -- given a commit name, it outputs a > list of objects the tree linked to that commit > references, and that output includes type, sha1 and name > of each of those objects. So you could write a script > which starts with a given commit name, calls git-ls-tree > on it, tries to find a matching sha1 in its output, and > that fails, descends to each listed tree objects doing > the same thing on them until either the hierarchy is > exhausted or the matching sha1 is found.
Thanks, I actually just did something similar. Although the -r option to git-ls-tree seems to recurse for me automatically. A few simple switches to automatically iterate over the list of branches and tags and... a simple working generic solution. I am still kinda curious if there isn't a much better way since this may not scale well on large repos? It takes about ~1s on a cached gerrit repo. -Martin -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To post to this group, send email to git-us...@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.