.. -*- coding: utf-8 -*- .. role:: sref(numref) .. role:: xref(numref) .. Copyright (C) 2019, Wolfgang Scherer, .. .. This file is part of Development. .. Permission is granted to copy, distribute and/or modify this document .. under the terms of the GNU Free Documentation License, Version 1.3 .. or any later version published by the Free Software Foundation; .. with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. .. A copy of the license is included in the section entitled "GNU .. Free Documentation License". .. inline comments (with du_comment_role) .. role:: rem(comment) .. role:: html(raw) :format: html .. role:: shx(code) :language: sh .. rst-class:: narrow xmedium xlarge xhuge xultra ################################################## :rem:`|||:sec:|||`\ Source Control Management ################################################## .. >>CODD See `the components of a doctoral dissertation and their order `_ .. >>CODD Dedication .. >>CODD Epigraph .. >>CODD Abstract .. compound:: .. \|:here:| .. >>CODD Introduction .. >>CODD Chapter ================================================== :rem:`|||:sec:|||`\ Kallithea ================================================== `Kallithea`_ is a Python software providing github functionality, forks, pull requests. Source line annotations. .. _`Kallithea`: https://kallithea-scm.org/ ================================================== :rem:`|||:sec:|||`\ Mercurial Repository Trimming ================================================== See `CommunicatingChanges - Mercurial`_ for descriptions of import/export, bundle/unbundle. Use revsets for specifying a range of revisions (see `revsets - Mercurial`_). Implicit range endpoints of ``--rev`` option for bundle, etc. follow the DAG algorithm (ancestors) of ``x..y`` and ``x::y`` ranges. Use ``x:y`` to get all revisions between x and y, regardless of ancestry. .. code-block:: sh mkdir -p ../repo-trimmed hg bundle --base null --rev 0:240 ../repo-trimmed/bundle.hg ( cd ../repo-trimmed && hg init && hg unbundle bundle.hg) When using :samp:`hg convert`, it is necessary to use the configuration parameter `convert.hg.revs`, since option `--ref` does not understand revsets: hg convert --config convert.hg.revs=0:240 repo repo-trimmed Using :command:`hg export` and :command:`hg import`, it is possilbe to cherry-pick changesets and move them to branches, etc. .. code-block:: sh cd repo hg export --rev '262:263' >.00-merge.patch cd ../repo-trimmed hg import ../repo/00-merge.patch Cherry-pick some changesets, move them on a branch and tag the result: .. code-block:: sh cd repo hg export --rev '241 or 243:259 or 261' >01-branch-abstract-diagrams.patch cd ../repo-trimmed hg branch abstract-diagrams hg import ../repo/01-branch-abstract-diagrams.patch hg tag diag-1-too-abstract .. _`CommunicatingChanges - Mercurial`: https://www.mercurial-scm.org/wiki/CommunicatingChanges .. _`revsets - Mercurial`: https://www.mercurial-scm.org/repo/hg/help/revsets .. >>CODD Conclusion .. >>CODD Appendix A .. \|:here:| .. >>CODD Notes .. ================================================== .. :rem:`|||:sec:|||`\ Footnotes .. ================================================== :html:`
` .. \[#] .. \|:info:| put local references here .. \|:info:| put local definitions here .. include:: doc_defs.inc .. include:: abbrev_defs.inc .. include:: doc_defs_combined.inc .. .. \||<-snap->|| doc_standalone .. include:: doc/doc_defs_secret.inc .. \||<-snap->|| doc_standalone .. \||<-snap->|| not_doc_standalone .. include:: doc_defs_secret.inc .. \||<-snap->|| not_doc_standalone .. _`Wolfgang Scherer`: wolfgang.scherer@gmx.de