Global hgignore usage
Asked Answered
C

1

23

In my mercurial.ini file, I call a global hgignore file like this:

[ui]
ignore = ~/hgignore.ini

This refers to a hgignore.ini file which is in the same directory as the mercurial.ini file.

  1. Does the local hgignore override the global hgignore?
  2. If so, is it recommended to have a single global hgignore with relevant sections marked or have a global hgignore file for general patterns and individual local hgignore files for special patterns pertaining to the particular repo?

By global hgignore with relevant sections marked, I mean:

syntax: glob

# VISUAL STUDIO

*.obj
*.pdb
*.suo
[Bb]in
[Dd]ebug*/
[Rr]elease*/

# TEMPORARY FILES

*.log
*.bak
*.cache    
Chide answered 28/11, 2011 at 18:26 Comment(3)
For those of us that are hard of thinking, hgignore.ini is the Windows name; on other OSes this must be ~/.hgrc.Rathskeller
@FauxFaux: Wrong! It corresponds to ~/.hgignore on Unix systems.Prelusive
The per-user Mercurial config file is %USERPROFILE%/mercurial.ini on Windows and ~/.hgrc on Linux/Unix (though %USERPROFILE%/.hgrc is also allowed on Windows). This is detailed in hg help hgrc. The global ignore file can of course be called whatever you want, since the path is explicitly specified in the config file.Chambermaid
K
20

The global .hgignore is "added" to the local one. This means that everything in the global one will be considered for each repository, but the content of the local one will also be considered.

For the second question, I think the best answer is : it depends on what you want ;)

  1. If you want a really fine grained control on what is ignored for each repository, go for the local version.
  2. If you want to don't be bothered each time you create a repo, add everything to the global file.
  3. Anything in between to suits your needs...

In my case, I use both of them. The global .hgignore contains project files (Visual Studio, Netbeans), backup files (.bak, vim), libraries (dll, so, etc). And for each project, I put whatever is specific in the local file.

Kurt answered 28/11, 2011 at 21:40 Comment(2)
I wouldn't recommend ignoring Visual Studio project files unless you are just using it as an editor. The project file contains important information needed to compile the application and will be needed by anyone who clones your repository. If they have to create it themselves then they could create it with different settings and get a different output.Khan
I include the project files, but exclude the solutions and the suo filesWhittemore

© 2022 - 2024 — McMap. All rights reserved.