Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a vcs module, with Git and Subversion support. #33

Open
wants to merge 19 commits into
base: main
Choose a base branch
from

Commits on May 31, 2021

  1. vcs: Added a vcs module, with Git and Subversion support.

    This provides a mechanism to interact with VCS-controlled projects.  It
    currently supports Git and Subversion.  The main interesting feature
    here is a rule to generate a version string.  There are other rules for
    querying a directory for its properties that may also prove generally
    useful.
    
    There are also rules to 'fetch' from a repository into a directory and
    'checkout' a symbolic reference from a directory.  These could be used
    to forcibly get a specific revision of a package from a repository.  It
    could also be used to create a proper source package management system
    within Boost.Build.
    
    There are two examples to show how this module might be used.
    
    The documentation build has not been tested.  However, a
    reStructuredText document that should be identical to the BoostBook file
    is included in the doc directory for reference.
    
    There are no tests, but there are two examples that do quite a bit of
    work to test the module, but do not verify the results.
    
    This has been tested on Linux, OS X, and Windows.  The 'type' rule fails
    on Windows due to `path.exists' rule failing.  This needs to be
    investigated.
    
    This does not implement these functions in Python.  It should be
    straightforward to do so.
    tee3 committed May 31, 2021
    Configuration menu
    Copy the full SHA
    c26ff71 View commit details
    Browse the repository at this point in the history
  2. vcs: Fixes to vcs BoostBook.

    The BoostBook for the vcs module was missing several sections and had
    a few glaring mistakes.
    tee3 committed May 31, 2021
    Configuration menu
    Copy the full SHA
    32cbd6b View commit details
    Browse the repository at this point in the history
  3. vcs: Use ".. code::" instead of "::" where possible.

    This is clearer than using the literal section in these cases.
    tee3 committed May 31, 2021
    Configuration menu
    Copy the full SHA
    84161fb View commit details
    Browse the repository at this point in the history
  4. vcs: Use ".. include::" to include code listings.

    While this is not as portable as including the code directly, this
    matches the BoostBook documentation approach and makes ensuring that
    the reStructredText documentation is identical to the DocBook
    documentation.
    tee3 committed May 31, 2021
    Configuration menu
    Copy the full SHA
    4b3906f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5b310ce View commit details
    Browse the repository at this point in the history
  6. vcs: Move usage out of the reference section.

    This change makes it easier to see the rules provided by the vcs
    module.
    tee3 committed May 31, 2021
    Configuration menu
    Copy the full SHA
    98d623d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d10082f View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    15773f9 View commit details
    Browse the repository at this point in the history
  9. vcs: Backends do not currently support VMS.

    Some of the syntax in the SHELL commands is not compatible with VMS.
    tee3 committed May 31, 2021
    Configuration menu
    Copy the full SHA
    8e57bac View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    843c639 View commit details
    Browse the repository at this point in the history
  11. vcs: Added test for the basic features.

    This adds a test to test the functionality of all vcs functionality.
    
    * type
    * fetch
    * checkout,
    * ref
    * generate-version-string.
    
    This tests all backends.
    
    * Git
    * Subversion
    tee3 committed May 31, 2021
    Configuration menu
    Copy the full SHA
    fe71d09 View commit details
    Browse the repository at this point in the history
  12. vcs: Fixed the GitHub URL in the vcs example.

    This change fixes the GitHub URL for the Boost.Build project.  The
    previous URL was correct except that it ceased to work for Subversion
    checkouts some time ago.
    tee3 committed May 31, 2021
    Configuration menu
    Copy the full SHA
    4d278c5 View commit details
    Browse the repository at this point in the history
  13. vcs: Remove the vcs examples dependency on Boost.Build checkout.

    This change removes the assumption that the working copy has been
    checked out via a supported vcs.  Using the actual location of the
    example/vcs directory in the example was not very useful and made
    running the example from the test harness impossible.
    tee3 committed May 31, 2021
    Configuration menu
    Copy the full SHA
    d19c8a3 View commit details
    Browse the repository at this point in the history
  14. vcs: Do not print info in vcs example.

    This change minimizes any confusion caused by unnecessary warnings.
    tee3 committed May 31, 2021
    Configuration menu
    Copy the full SHA
    644fc93 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    7f2f089 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    ac4bd68 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    96f83c8 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    15f29af View commit details
    Browse the repository at this point in the history
  19. vcs: Ensure vcs-git protects user from git stderr.

    This change ensures that stderr is not printed when an exact match, as
    expected, is not found.  The stderr from git was confusing to users.
    tee3 committed May 31, 2021
    Configuration menu
    Copy the full SHA
    bc6a976 View commit details
    Browse the repository at this point in the history