문제

I started a project and added it to Mercurial. But I want to take *.cs file under version control only. So I have to add bin, obj, sln, suo, _resharper folder etc to ignore pattern.

How to let Hg only monitor certain kind of file like white list? How to do that in Subversion?

도움이 되었습니까?

해결책

Just add the extensions to your .hgignore file as you come across them:

syntax: glob
*.bin
*.obj

and so on. It's not a lot of work, and it documents to the rest of the world exactly what kind of files you consider unimportant for revision control.

You can even setup a global ignore file, please see the ignore entry in the [ui] section.

Trying to turn the .hgignore upside-down by using negative lookahead regular expressions and other voodoo is (in my opinion) not a good idea. It will almost surely not work and will only lead to confusion. This is because hg matches all prefixes of a give path name against the rules in .hgignore. So a file like

a/b/c.cs

will be ignored if any of

a/b/c.cs
a/b
a

is matched by a rule in your .hgignore file. In particular, this means that you cannot use a negative lookahead expression to have a/b/c.cs not-ignored -- the rule will match a/b or a.

다른 팁

Regarding the link to a Mercurial issue supplied by Martin Geisler (https://www.mercurial-scm.org/bts/issue712), please note that the issue is not one of technical difficulty, but support:

This is an ancient and recurring feature request, which I turned down well before this bug was created. I've written and supported a couple include/exclude file syntaxes and have decided I would rather say "no, you can't do that" once to 1% of users than "no, you're reading the docs wrong" repeatedly to 20% of users. —Matt Mackall (developer of Mercurial)

Add a file named .hgignore to your repository with these contents.

syntax: regexp

^\.cs

Subversion doesn't let you use regex to ignore files, only a subset of glob syntax to match file/directory names. I had no idea how to make ignore files not ending in .cs so I searched the web and this webpage says:

svn propset svn:ignore "*[!c][!s]
*.cs?*" .

Use it with caution :)

Edit: Martin Geisler is right and I was mistaken, the regexp syntax is wrong. I apologize. The correct concept is there but not the metacharacters... :(

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top