regexfiledirectorymercurialhgignore

Mercurial/.hgignore - How do I ignore everything but the contents of a folder?


I have a NetBeans project and the Mercurial repository is in the project root. I would like it to ignore everything except the contents of the "src" and "test" folders, and .hgignore itself.

I'm not familiar with regular expressions and can't come up with one that will do that.

The ones I tried:

(?!src/.*)

(?!test/.*)

(?!^.hgignore)

(?!src/.|test/.|.hgignore)

These seem to ignore everything, I can't figure out why.

Any advice would be great.


Solution

  • This seems to work:

    syntax: regexp
    
    ^(?!src|test|\.hgignore)
    

    This is basically your last attempt, but:

    The second point is important since, as the manual says:

    For example, say we have an untracked file, file.c, at a/b/file.c inside our repository. Mercurial will ignore file.c if any pattern in .hgignore matches a/b/file.c, a/b or a.

    So your pattern must not match src.