GitHub user TimBarham opened a pull request:

    https://github.com/apache/cordova-coho/pull/85

    Handle multiple modules within a single repo.

    This change includes logic to handle multiple modules within a single repo, 
and adds specific handling for the `cordova-serve` module in the `cordova-lib` 
repo. It also generalizes some of the existing logic for modules within a repo 
(that formerly was specific to `cordova-lib`). Specific changes:
    
    1. Adds support for repos specifying a path to their module, when it is not 
at the top level.
    2. Adds support for a repo entry actually being a module within a repo.
    3. Adds `Cordova Serve` to the list of repos, it actually being a module 
within the `Cordova Lib` repo.
    4. When calling `computeReposFromFlag()`, the caller can request to just 
get repos (the default) or to get modules. If just repos, then where the list 
would include two entries that point to the same repo, only one is returned 
(the 'base' module is prioritized). When modules are requested, then all 
entries are returned. The idea here is that actions that work on repos only 
want unique repos. Actions that work on modules (like packaging, license checks 
etc) want modules.
    5. The following repo based commands now work on modules:
      * `audit-license-headers`
      * `check-license`
      * `create-archive`
      * `last-week`
      * `print-tags`
    6. `findMostRecentTag()` can now be provided a prefix, in which case it 
will find the most recent tag with that prefix. The prefix can be used by 
modules other than the primary module to differentiate their versions.
    7. Added `update-release-notes` command that will update a module's release 
notes picking commits that are unique to the module's path (see 
`repoutil.getRepoIncludePath()`)
    8. Added `repoutil.getRepoIncludePath()` method that determines a path to 
provide `git log` so it only includes commits unique to a module. For the base 
module, this will include commits in the root directory and the base module's 
directory. For other modules, it will only include changes in the module's 
directory.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/MSOpenTech/cordova-coho tb-coho-modules

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cordova-coho/pull/85.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #85
    
----
commit 91a22a6aaa1c3c562ba774d0b5ed1171938267d7
Author: Tim Barham <[email protected]>
Date:   2015-06-14T00:39:23Z

    Handle multiple modules within a single repo.
    
    This change includes logic to handle multiple modules within a single repo, 
and adds specific handling for the cordova-serve module in the cordova-lib 
repo. It also generalizes some of the existing logic for modules within a repo 
(that formerly was specific to cordova-lib). Specific changes:
    
    1. Adds support for repos specifying a path to their module, when it is not 
at the top level.
    2. Adds support for a repo entry actually being a module within a repo.
    3. Adds 'Cordova Serve' to the list of repos, it actually being a module 
within the Cordova Lib repo.
    4. When requesting the list of repos from the 'repo=' parameter, the caller 
can request to just get repos (the default) or to get modules. If just repos, 
then where the list would include two entries that point to the same repo, only 
one is returned (the 'base' module is prioritized). When modules are requested, 
then all entries are returned. The idea here is that actions that work on repos 
only want unique repos. Actions that work on modules (like packaging, license 
checks etc) want modules.
    5. The following repo based commands now work on modules:
      * audit-license-headers
      * check-license
      * create-archive
      * last-week
      * print-tags
    6. findMostRecentTag() can now be provided a prefix, in which case it will 
find the most recent tag with that prefix. The prefix can be used by modules 
other than the primary module to differentiate their versions.
    7. Added update-release-notes command that will udpate a modules release 
notes picking commits that are unique to the module's path (see 
getRepoIncludePath)
    8. Added repoutil.getRepoIncludePath() method that determines a path to 
provide 'git log' so it only includes commits unique to a module. For the base 
module, this will include commits in the root directory and the base module's 
directory. For other modules, it will only include changes in the module's 
directory.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to