Reputation: 42364
I'd like to make it so that every time I create a new repository, certain filters automatically get added to my .hgignore files by default.
For example, for C# projects, I would like these to be added:
glob:bin/*
glob:obj/*
Is this possible? How?
If it can't be automated, is it at least safe to copy the .hgignore file from one repository to another?
Upvotes: 9
Views: 2204
Reputation: 134
In the TortoiseHg settings under the tab TortoiseHg users can specify the path of a Repo Skeleton. You can put your predefined .hgignore there, and it will be automatically copied during hg init.
See also: https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/3569
Upvotes: 0
Reputation: 52351
Just to clarify, it is safe to copy a .hgignore
from one repos to another, it is just a plain old simple text file.
Upvotes: 4
Reputation: 6375
I use ~/.hgignore and just cp that into my repo.
In my ~/.hgrc:
[ui]
ignore.other = ~/.hgignore
I just put the really obvious stuff in that one. And copy it for project specific stuff.
I don't think its quite what you're asking for as there is no automation, but it does the trick.
Windows users, see Ry4an's comment below.
Upvotes: 9
Reputation: 19872
You could use a post-init hook to do it for you:
[hooks]
post-init.ignore-bin = echo 'glob:bin/*' >> .hgignore
post-init.ignore-obj = echo 'glob:obj/*' >> .hgignore
This form only works with the mkdir sample && cd sample && hg init
style of creating a repo If you use the faster hg init sample
form it will dump the new .hgignore
file into the current directory.
You could write a more intelligent hook script if you prefer using hg init name
.
Upvotes: 3
Reputation: 25680
hg add .hgignore
?
Perhaps you could clone from a repo that only had that file checked in. :)
Otherwise you'd have to write a small extension that did this in hg init
somehow
Upvotes: 1