Skip to content

Commit

Permalink
hotfix for wrongly applied tagging upgrade for parcel lockers
Browse files Browse the repository at this point in the history
The upgrade paths for the old `vending=parcel_pickup` and `vending=parcel_mail_in` tags overlap for the case of a feature tagged as `parcel_pickup;parcel_mail_in`. This casuses all three matching `replacement`s to be applied in iD. The value of the `parcel_mail_in` conflicts in this case. Since for `parcel_pickup` the implied `yes` default should not be set, it is impossible to resolve this ambiguity with the current schema of `deprecated.json`.
This hotfix/workaround solves this by skipping the upgrade path for `vending=parcel_mail_in`-only features. This minimally impacts the functionality, as such parcel lockers are much less common than pickup-only or combined ones (250 vs. 18k features).

closes #364
  • Loading branch information
tyrasd committed Jan 24, 2022
1 parent 71fa767 commit 609c017
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 43 deletions.
16 changes: 4 additions & 12 deletions data/deprecated.json
Original file line number Diff line number Diff line change
Expand Up @@ -175,14 +175,6 @@
"old": {"amenity": "vending_machine", "vending": "news_papers"},
"replace": {"amenity": "vending_machine", "vending": "newspapers"}
},
{
"old": {"amenity": "vending_machine", "vending": "parcel_pickup;parcel_mail_in"},
"replace": {"amenity": "parcel_locker", "parcel_mail_in": "yes"}
},
{
"old": {"amenity": "vending_machine", "vending": "parcel_mail_in"},
"replace": {"amenity": "parcel_locker", "parcel_mail_in": "yes", "parcel_pickup": "no"}
},
{
"old": {"amenity": "vending_machine", "vending": "parcel_pickup"},
"replace": {"amenity": "parcel_locker"}
Expand All @@ -191,6 +183,10 @@
"old": {"amenity": "vending_machine", "vending": "parcel_mail_in;parcel_pickup"},
"replace": {"amenity": "parcel_locker", "parcel_mail_in": "yes"}
},
{
"old": {"amenity": "vending_machine", "vending": "parcel_pickup;parcel_mail_in"},
"replace": {"amenity": "parcel_locker", "parcel_mail_in": "yes"}
},
{
"old": {"amenity": "weigh_bridge"},
"replace": {"amenity": "weighbridge"}
Expand Down Expand Up @@ -1735,10 +1731,6 @@
"old": {"unnamed": "*"},
"replace": {"noname": "$1"}
},
{
"old": {"vending": "parcel_mail_in;parcel_pickup"},
"replace": {"vending": "parcel_pickup;parcel_mail_in"}
},
{
"old": {"vhf_channel": "*"},
"replace": {"vhf": "$1"}
Expand Down
29 changes: 5 additions & 24 deletions dist/deprecated.json
Original file line number Diff line number Diff line change
Expand Up @@ -365,37 +365,26 @@
{
"old": {
"amenity": "vending_machine",
"vending": "parcel_pickup;parcel_mail_in"
"vending": "parcel_pickup"
},
"replace": {
"amenity": "parcel_locker",
"parcel_mail_in": "yes"
"amenity": "parcel_locker"
}
},
{
"old": {
"amenity": "vending_machine",
"vending": "parcel_mail_in"
"vending": "parcel_mail_in;parcel_pickup"
},
"replace": {
"amenity": "parcel_locker",
"parcel_mail_in": "yes",
"parcel_pickup": "no"
}
},
{
"old": {
"amenity": "vending_machine",
"vending": "parcel_pickup"
},
"replace": {
"amenity": "parcel_locker"
"parcel_mail_in": "yes"
}
},
{
"old": {
"amenity": "vending_machine",
"vending": "parcel_mail_in;parcel_pickup"
"vending": "parcel_pickup;parcel_mail_in"
},
"replace": {
"amenity": "parcel_locker",
Expand Down Expand Up @@ -3624,14 +3613,6 @@
"noname": "$1"
}
},
{
"old": {
"vending": "parcel_mail_in;parcel_pickup"
},
"replace": {
"vending": "parcel_pickup;parcel_mail_in"
}
},
{
"old": {
"vhf_channel": "*"
Expand Down
2 changes: 1 addition & 1 deletion dist/deprecated.min.json

Large diffs are not rendered by default.

5 changes: 0 additions & 5 deletions dist/taginfo.json
Original file line number Diff line number Diff line change
Expand Up @@ -18942,11 +18942,6 @@
"key": "unnamed",
"description": "🄳 ➜ noname=*"
},
{
"key": "vending",
"value": "parcel_mail_in;parcel_pickup",
"description": "🄳 ➜ vending=parcel_pickup;parcel_mail_in"
},
{
"key": "vhf_channel",
"description": "🄳 ➜ vhf=*"
Expand Down
2 changes: 1 addition & 1 deletion dist/taginfo.min.json

Large diffs are not rendered by default.

0 comments on commit 609c017

Please sign in to comment.