comparison README @ 565:ebecf034e52a

README: improved documentation of svn:externals support
author Mark Edgington <edgimar@gmail.com>
date Sun, 21 Feb 2010 20:14:29 -0600
parents 9fadbf0686a1
children f12257bf8b91
comparison
equal deleted inserted replaced
564:7bd457ec4e5e 565:ebecf034e52a
58 For more information, see ``hg help svn`` while in a converted repo. 58 For more information, see ``hg help svn`` while in a converted repo.
59 59
60 Support for ``svn:externals`` 60 Support for ``svn:externals``
61 ----------------------------- 61 -----------------------------
62 All ``svn:externals`` properties are serialized into a single 62 All ``svn:externals`` properties are serialized into a single
63 ``.hgsvnexternals`` file, with the following syntax:: 63 ``.hgsvnexternals`` file having the following syntax::
64 64
65 [.] 65 [.]
66 external_reference_line1_1 66 common1 http://path/to/external/svn/repo1
67 external_reference_line1_2 67 ...additional svn:externals properties lines...
68 [dir2] 68 [dir2]
69 external_reference_line2_1 69 common2 -r123 http://path/to/external/svn/repo2
70 external_reference_line2_2 70 ...additional svn:externals properties lines...
71 71
72 A header line gives the directory the property applies on, '.' for the 72 A header line in brackets specifies the directory the property applies
73 project root directory. The property content follows, *every line 73 to, where '.' indicates the project root directory. The property content
74 being prefixed by a single space*. 74 follows the header, **with every content line being prefixed by a single
75 space**. Note that the property lines have a format identical to
76 svn:externals properties as used in Subversion, and do not support the
77 hgsubversion extended svn+http:// URL format.
75 78
76 The creation or modification of this file will trigger ``svn:externals`` 79 Issuing the command ``hg svn updateexternals`` with the
77 updates on the related subversion repository. 80 ``.hgsvnexternals`` example above would fetch the latest revision of
81 repo1 into the subdirectory ./common1, and revision 123 of repo2 into
82 dir2/common2. Note that ``.hgsvnexternals`` must be tracked by Mercurial
83 before this will work. If ``.hgsvnexternals`` is created or changed, it
84 will not be pushed to the related Subversion repository, *but its
85 contents will be used to update ``svn:externals`` properties on the
86 related Subversion repository*.