configurationmercurialhgignore

Repository specific special / dot files in Mercurial


What are the most important special / dot files when using a hg repo ?

Like configuration files and similar.


Solution

  • There are a lot of files that a Mercurial repo will use for configuration or keep track of state, but here are the ones that have the best chance to come in handy:

    .hg/last-message.txt -- used by hg commit to store backup of the commit message in case the commit fails. Example:

    My commit message!
    

    .hg/localtags -- define local tags which are not shared among repositories. Example:

    8a7b128ab80b58fc2e63258c9e2bf1f58a5be7c2 myfirsttag
    08ff3a0b2e5af9a74becbfdf3e92d6e9a2d0c960 secondtag
    6535d105ea795a38808481b160314f9857736c53 thirdtag
    

    .hgignore -- regular expressions that describe file names that should be ignored by hg. Example:

    syntax: glob
    
    *.elc
    *.orig
    *.rej
    *~
    *.mergebackup
    *.o
    *.so
    *.dll
    *.exe
    *.pyd
    *.pyc
    

    .hg/hgrc -- defaults and configuration values for mercurial. Example:

    [ui]
    verbose = True
    username = Joe User <j.user@example.com>
    [extensions]
    hgext.churn = /home/user/hg/hg/contrib/churn.py
    [hgk]
    path = /home/user/hg/hg/contrib/hgk
    

    .hgsub -- locations of all subrepositories and where subrepository checkouts came from. Example:

    subrepo1 = https://user@example.org/user/repo
    subrepo2 = https://user@example.org/user2/repo2
    

    .hgtags -- contains changeset hash values and text tag names Example(same format as localtags):

    8a7b128ab80b58fc2e63258c9e2bf1f58a5be7c2 myfirsttag
    08ff3a0b2e5af9a74becbfdf3e92d6e9a2d0c960 secondtag
    6535d105ea795a38808481b160314f9857736c53 thirdtag