# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-'''create and manage versioned repository dependencies'''
+'''create and manage versioned repository dependencies
+For each revision there is an associated list of dependencies. Each entry
+fully specifies the state of a dependency; it lists its alias,
+the path to the directory it should be located in, and its revision.
+An alias is used to refer to a particular dependency across all revisions.
+Every alias is associated with a remote location or a command, from or with
+which the dependency can be fetched.
+Dependency lists and alias mapping are both stored in a versioned file
+called '.hgdeps'. The file is divided to sections, each of which begins
+with '[SECTIONNAME]' header.
+Special section 'aliases' contains alias mapping. Each line consists
+of alias name, remote repository type, and its remote location.
+The lines are parsed with shlex. An example:
+ spam hg http://example.org/hg/spam-stable
+ eggs cmd 'svn co http://svn.example.com/eggs/trunk/@$rev $dest'
+Aliases can be managed using 'hg depalias', 'hg depaliases',
+and 'hg deprmalias' commands.
+The rest of the sections represent dependency lists. The name of a section
+should be a hexadecimal nodeid located in the local repository.
+ 6976733213056a95ab3395fb4663c10987606814 spam lib/spam
+ 73986 eggs lib/contrib/bacon/eggs
+Use 'hg dep' command to move dependencies around the working dir.
+The '.hgdeps' file can be automatically updated using 'hg depci'.
+Use 'hg depup' after 'hg up' to update dependencies according
+to the proper dependency list.
Should the lookup fail, REV is assumed to identify a revision.
If REV is not specified, current revision is used.
- The long and the short form of a revision identifier are both used
- to lookup the dependency list. If the lookup fails, the search continues
+ The long form of a revision identifier is used to lookup
+ the dependency list. If the lookup fails, the search continues
with the parent revision. The search terminates at the first merge.
If a dependency list is successfully retrieved, the dependencies
if wlock: wlock.release()
- '''show changes
in the dependency list
+ '''show changes the dependency list
Show status of dependencies in the dependency list.
The specified dependencies are completely removed from the disk and
- are not save to '.hg/deps' directory.
+ are not save to '.hg/deps' directory.