Skip to content

Latest commit

 

History

History
91 lines (66 loc) · 3.75 KB

changes-from-v2.4.4.txt

File metadata and controls

91 lines (66 loc) · 3.75 KB

Changes in v2.5.1 since muddle v2.5

If "muddle pull" is given a command line that includes the build description (implicitly or explicitly), it will pull the build description first, and if that pull changed things, will reload the build description and re-evaluate the command line, before pulling the other checkouts requested. See "muddle help pull" for a more complete description.

As a consequence of this, the "_just_pulled" value is now set by "muddle checkout" as well as by "muddle pull".

Changes in v2.5 since muddle v2.4.4

First, changes you'll already have if you've been keeping up-to-date with the current version of muddle:

  • New squashfs and romfs deployments. Also, the underlying code for the "muddled.deployments" modules has been rewritten, and CPIO deployments can now be made to a package (specifically, to a package install directory), removing one of the causes of packages depending on deployments.

  • Minor tweaks in the release mechanism, based on experience of using it. These include adding a "-test" switch to "muddle release", and allowing "muddle stamp release" to "guess" the next version number to use for a release stamp.

    See "muddle help release" and "muddle help stamp release".

  • A new "quickstart" section at the beginning of the documentation, for those who've just been given a build using muddle for the first time.

    See http://muddle.readthedocs.org/en/latest/quickstart.html ("Quick start: so you’ve been asked to work on a project using muddle")

  • The Invocation class is no more, it has been folded into Builder. Thus builder.invocation.XXX is now identical to builder.XXX in all cases. This basically makes build descriptions a bit simpler, and removes the problem of how to remember whether a particular method had .invocation in front of its name or not.

  • There has been an internal rewrite of the version control handler support and much of the "memory" of how checkouts work has been moved from there to the Database class and db.py. This was a prequisite of the lifecycle work, below.

  • There have been various minor fixes in license support, including not propagating GPL licenses to/through GPL licenses.

Secondly, changes that have just been introduced by merging a long development branch back into "master":

  • Lifecycle support. I've been working on this for a while. Basically, it allows branching a whole build tree for maintenance support.

    New commands are:

    muddle init -branch <branch> <repo> <build-desc>
    muddle branch-tree <new-branch>
    muddle query checkout-branches
    muddle query checkout-id
    muddle sync

    and muddle stamp version behaves slightly differently with a branched build tree.

    Stamping and unstampping of checkouts on other branches or revisions is now more robust and consistent as well.

    See the new lifecycle documentation (a new chapter in the normal muddle documentation, http://muddle.readthedocs.org/en/latest/lifecycle.html), and also "muddle help" for each of the new commands above.

  • Repository specifications no longer treat a revision argument of the form "a:b" as meaning <branch>:<revision>. This was a legacy from early repository support. and clashes with such things as specifying Bazaar revision ids of the form "branch:<path>" or "revno:<number>".

  • The "no_follow" VCS option has been added for Subversion and Bazaar, and builder.db.set_checkout_vcs_option(co_label, name, value) may now be used to set options.

  • A rewritten and more powerful "muddle doc" command. See "muddle help doc", and try:

    muddle doc Label
    muddle doc Label -pydoc
    muddle doc -contains Directory
  • A variety of other tidyings and bugfixes.