Github user kamrik commented on the pull request:
https://github.com/apache/cordova-plugman/pull/72#issuecomment-39915727
Looks like the root of the problem is in config_keeper. The files there are
identified by the "fake path" [see note], so when the same file is referenced
as "config.xml" and "res/xml/config.xml", config keeper considers them to be
two different files and changes for one of them get overwritten by the changes
to the other.
I think it would be better to solve the problem in config_keeper rather
than here, otherwise we might hit it again later with another file that might
get referenced as two different names.
Maybe we could even go a level higher and avoid referring to the same file
by two different names when generating the munge.
Anyway, if you decide to go with the current solution, please add a commend
about what it does. Otherwise it is very cryptic.
[note]
Fake path is constructed as project_root/file_name. It is used because
deducing the full real path requires globbing which is very slow (tens of
milliseconds in some cases). The assumption was that the same file will alway
be referred to with the same file_name in the munges. This assumption is broken
in this case.
---
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.
---