1 % help |
1 % help |
2 keyword extension - keyword expansion in local repositories |
2 keyword extension - keyword expansion in local repositories |
3 This extension expands RCS/CVS-like or self-customized $Keywords$ |
3 This extension expands RCS/CVS-like or self-customized $Keywords$ in |
4 in tracked text files selected by your configuration. |
4 tracked text files selected by your configuration. |
5 Keywords are only expanded in local repositories and not stored in |
5 Keywords are only expanded in local repositories and not stored in the |
6 the change history. The mechanism can be regarded as a convenience |
6 change history. The mechanism can be regarded as a convenience for the |
7 for the current user or for archive distribution. |
7 current user or for archive distribution. |
8 Configuration is done in the [keyword] and [keywordmaps] sections |
8 Configuration is done in the [keyword] and [keywordmaps] sections of |
9 of hgrc files. |
9 hgrc files. |
10 Example: |
10 Example: |
11 [keyword] |
11 [keyword] |
12 # expand keywords in every python file except those matching "x*" |
12 # expand keywords in every python file except those matching "x*" |
13 **.py = |
13 **.py = |
14 x* = ignore |
14 x* = ignore |
15 Note: the more specific you are in your filename patterns |
15 Note: the more specific you are in your filename patterns |
16 the less you lose speed in huge repos. |
16 the less you lose speed in huge repositories. |
17 For [keywordmaps] template mapping and expansion demonstration and |
17 For [keywordmaps] template mapping and expansion demonstration and |
18 control run "hg kwdemo". |
18 control run "hg kwdemo". |
19 An additional date template filter {date|utcdate} is provided. |
19 An additional date template filter {date|utcdate} is provided. |
20 The default template mappings (view with "hg kwdemo -d") can be replaced |
20 The default template mappings (view with "hg kwdemo -d") can be |
21 with customized keywords and templates. |
21 replaced with customized keywords and templates. Again, run "hg |
22 Again, run "hg kwdemo" to control the results of your config changes. |
22 kwdemo" to control the results of your config changes. |
23 Before changing/disabling active keywords, run "hg kwshrink" to avoid |
23 Before changing/disabling active keywords, run "hg kwshrink" to avoid |
24 the risk of inadvertedly storing expanded keywords in the change history. |
24 the risk of inadvertently storing expanded keywords in the change |
|
25 history. |
25 To force expansion after enabling it, or a configuration change, run |
26 To force expansion after enabling it, or a configuration change, run |
26 "hg kwexpand". |
27 "hg kwexpand". |
27 Also, when committing with the record extension or using mq's qrecord, be aware |
28 Also, when committing with the record extension or using mq's qrecord, |
28 that keywords cannot be updated. Again, run "hg kwexpand" on the files in |
29 be aware that keywords cannot be updated. Again, run "hg kwexpand" on |
29 question to update keyword expansions after all changes have been checked in. |
30 the files in question to update keyword expansions after all changes |
|
31 have been checked in. |
30 Expansions spanning more than one line and incremental expansions, |
32 Expansions spanning more than one line and incremental expansions, |
31 like CVS' $Log$, are not supported. A keyword template map |
33 like CVS' $Log$, are not supported. A keyword template map |
32 "Log = {desc}" expands to the first line of the changeset description. |
34 "Log = {desc}" expands to the first line of the changeset description. |
33 Caveat: With Mercurial versions prior to 4574925db5c0 "hg import" might |
35 Caveat: With Mercurial versions prior to 4574925db5c0 "hg import" might |
34 cause rejects if the patch context contains an active keyword. |
36 cause rejects if the patch context contains an active keyword. |