Mercurial “git grep” equivalent extension

As we are used to git when working on mercurial we miss a lot the “git grep” command as “hg grep” doesn’t really do the same thing. So we managed to quickly create a mercurial extension to add the hgrep command to hg which behaves a bit like git grep. import itertools, os, os.path   def hgrep(ui, repo, what, **opts): files = [] status = repo.status(clean=True)   for f in itertools.chain(status[0], status[1], status[4], status[6]): files.append(os.path.join(repo.root, f))   os.system("grep %s %s" % (what, ‘ ‘.join(files)))   cmdtable = {"hgrep": (hgrep, [], "[what]")} To have the “hg hgrep” command and make it work just save it as in your python modules path and add it to ~/.hgrc inside the extensions section […]