mercurial
Mercurial “git grep” equivalent extension
Thursday, May 6th, 2010 | Computer Science | Comments
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 hgrep.py in your python modules path and add it to ~/.hgrc inside the extensions section like:
[extensions] hgrep =
Then you will be able to run “hg grep what” inside a mercurial repository and it will find each file at its current state that contains what you were looking for giving you the complete absolute path to the file.
Search
Archives
Tags
3D
acr
apache
automake
autotools
benchmarks
callgrind
canvas
centos
cmake
cms
efika
elixir
feng
functional programming
gentoo
gluster
google
javascript
labs
Linux
lscube
modsecurity
mongodb
netbook
oprofile
osx
pyhp
python
ragel
rails
repoze.who
ruby
security
sprox
sqlalchemy
ssd
Streaming
toscawidgets
turbogears
twitter
valgrind
Web
webserver
windows