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]