Skip to content

Commit d58e6b2

Browse files
authored
Try to make filename reuse FAQ more clear (#12571)
1 parent d2df4a9 commit d58e6b2

File tree

2 files changed

+94
-62
lines changed

2 files changed

+94
-62
lines changed

warehouse/locale/messages.pot

Lines changed: 70 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -576,25 +576,24 @@ msgstr ""
576576
#: warehouse/templates/pages/help.html:719
577577
#: warehouse/templates/pages/help.html:727
578578
#: warehouse/templates/pages/help.html:738
579-
#: warehouse/templates/pages/help.html:755
580-
#: warehouse/templates/pages/help.html:762
581-
#: warehouse/templates/pages/help.html:770
582-
#: warehouse/templates/pages/help.html:786
579+
#: warehouse/templates/pages/help.html:783
583580
#: warehouse/templates/pages/help.html:791
584-
#: warehouse/templates/pages/help.html:796
585-
#: warehouse/templates/pages/help.html:806
586-
#: warehouse/templates/pages/help.html:815
587-
#: warehouse/templates/pages/help.html:829
588-
#: warehouse/templates/pages/help.html:837
589-
#: warehouse/templates/pages/help.html:845
590-
#: warehouse/templates/pages/help.html:853
591-
#: warehouse/templates/pages/help.html:862
592-
#: warehouse/templates/pages/help.html:882
593-
#: warehouse/templates/pages/help.html:897
594-
#: warehouse/templates/pages/help.html:898
595-
#: warehouse/templates/pages/help.html:899
596-
#: warehouse/templates/pages/help.html:900
597-
#: warehouse/templates/pages/help.html:905
581+
#: warehouse/templates/pages/help.html:807
582+
#: warehouse/templates/pages/help.html:812
583+
#: warehouse/templates/pages/help.html:817
584+
#: warehouse/templates/pages/help.html:827
585+
#: warehouse/templates/pages/help.html:836
586+
#: warehouse/templates/pages/help.html:850
587+
#: warehouse/templates/pages/help.html:858
588+
#: warehouse/templates/pages/help.html:866
589+
#: warehouse/templates/pages/help.html:874
590+
#: warehouse/templates/pages/help.html:883
591+
#: warehouse/templates/pages/help.html:903
592+
#: warehouse/templates/pages/help.html:918
593+
#: warehouse/templates/pages/help.html:919
594+
#: warehouse/templates/pages/help.html:920
595+
#: warehouse/templates/pages/help.html:921
596+
#: warehouse/templates/pages/help.html:926
598597
#: warehouse/templates/pages/sponsors.html:33
599598
#: warehouse/templates/pages/sponsors.html:37
600599
#: warehouse/templates/pages/sponsors.html:41
@@ -6154,7 +6153,7 @@ msgid "Troubleshooting"
61546153
msgstr ""
61556154

61566155
#: warehouse/templates/pages/help.html:186
6157-
#: warehouse/templates/pages/help.html:782
6156+
#: warehouse/templates/pages/help.html:803
61586157
msgid "About"
61596158
msgstr ""
61606159

@@ -7151,22 +7150,34 @@ msgstr ""
71517150
msgid "A file with the exact same content exists"
71527151
msgstr ""
71537152

7154-
#: warehouse/templates/pages/help.html:753
7153+
#: warehouse/templates/pages/help.html:754
71557154
msgid ""
71567155
"PyPI does not allow for a filename to be reused, even once a project has "
71577156
"been deleted and recreated."
71587157
msgstr ""
71597158

7160-
#: warehouse/templates/pages/help.html:755
7161-
#, python-format
7159+
#: warehouse/templates/pages/help.html:760
7160+
msgid ""
7161+
"A distribution filename on PyPI consists of the combination of project "
7162+
"name, version number, and distribution type."
7163+
msgstr ""
7164+
7165+
#: warehouse/templates/pages/help.html:766
71627166
msgid ""
7163-
"To avoid this situation, <a href=\"%(test_pypi_href)s\" "
7164-
"title=\"%(title)s\" target=\"_blank\" rel=\"noopener\">use Test PyPI to "
7165-
"perform and check your upload first</a>, before uploading to <a "
7166-
"href=\"%(pypi_href)s\">pypi.org</a>."
7167+
"This ensures that a given distribution for a given release for a given "
7168+
"project will always resolve to the same file, and cannot be "
7169+
"surreptitiously changed one day by the projects maintainer or a malicious"
7170+
" party (it can only be removed)."
71677171
msgstr ""
71687172

7169-
#: warehouse/templates/pages/help.html:762
7173+
#: warehouse/templates/pages/help.html:774
7174+
msgid ""
7175+
"To avoid this situation in most cases, you will need to change the "
7176+
"version number to one that you haven't previously uploaded to PyPI, "
7177+
"rebuild the distribution, and then upload the new distribution."
7178+
msgstr ""
7179+
7180+
#: warehouse/templates/pages/help.html:783
71707181
#, python-format
71717182
msgid ""
71727183
"If you would like to request a new trove classifier file a pull request "
@@ -7175,7 +7186,7 @@ msgid ""
71757186
" to include a brief justification of why it is important."
71767187
msgstr ""
71777188

7178-
#: warehouse/templates/pages/help.html:770
7189+
#: warehouse/templates/pages/help.html:791
71797190
#, python-format
71807191
msgid ""
71817192
"If you're experiencing an issue with PyPI itself, we welcome "
@@ -7186,14 +7197,14 @@ msgid ""
71867197
" first check that a similar issue does not already exist."
71877198
msgstr ""
71887199

7189-
#: warehouse/templates/pages/help.html:777
7200+
#: warehouse/templates/pages/help.html:798
71907201
msgid ""
71917202
"If you are having an issue is with a specific package installed from "
71927203
"PyPI, you should reach out to the maintainers of that project directly "
71937204
"instead."
71947205
msgstr ""
71957206

7196-
#: warehouse/templates/pages/help.html:786
7207+
#: warehouse/templates/pages/help.html:807
71977208
#, python-format
71987209
msgid ""
71997210
"PyPI is powered by the Warehouse project; <a href=\"%(href)s\" "
@@ -7203,7 +7214,7 @@ msgid ""
72037214
"Group (PackagingWG)."
72047215
msgstr ""
72057216

7206-
#: warehouse/templates/pages/help.html:791
7217+
#: warehouse/templates/pages/help.html:812
72077218
#, python-format
72087219
msgid ""
72097220
"The <a href=\"%(href)s\" title=\"%(title)s\" target=\"_blank\" "
@@ -7212,7 +7223,7 @@ msgid ""
72127223
"Python packaging."
72137224
msgstr ""
72147225

7215-
#: warehouse/templates/pages/help.html:796
7226+
#: warehouse/templates/pages/help.html:817
72167227
#, python-format
72177228
msgid ""
72187229
"The <a href=\"%(packaging_wg_href)s\" title=\"%(title)s\" "
@@ -7225,7 +7236,7 @@ msgid ""
72257236
"Warehouse's security and accessibility."
72267237
msgstr ""
72277238

7228-
#: warehouse/templates/pages/help.html:806
7239+
#: warehouse/templates/pages/help.html:827
72297240
#, python-format
72307241
msgid ""
72317242
"PyPI is powered by <a href=\"%(warehouse_href)s\" title=\"%(title)s\" "
@@ -7234,14 +7245,14 @@ msgid ""
72347245
" sponsors</a>."
72357246
msgstr ""
72367247

7237-
#: warehouse/templates/pages/help.html:813
7248+
#: warehouse/templates/pages/help.html:834
72387249
msgid ""
72397250
"As of April 16, 2018, PyPI.org is at \"production\" status, meaning that "
72407251
"it has moved out of beta and replaced the old site (pypi.python.org). It "
72417252
"is now robust, tested, and ready for expected browser and API traffic."
72427253
msgstr ""
72437254

7244-
#: warehouse/templates/pages/help.html:815
7255+
#: warehouse/templates/pages/help.html:836
72457256
#, python-format
72467257
msgid ""
72477258
"PyPI is heavily cached and distributed via <abbr title=\"content delivery"
@@ -7258,38 +7269,38 @@ msgid ""
72587269
"href=\"%(private_index_href)s\">private index</a>."
72597270
msgstr ""
72607271

7261-
#: warehouse/templates/pages/help.html:829
7272+
#: warehouse/templates/pages/help.html:850
72627273
#, python-format
72637274
msgid ""
72647275
"We have a huge amount of work to do to continue to maintain and improve "
72657276
"PyPI (also known as <a href=\"%(href)s\" title=\"%(title)s\" "
72667277
"target=\"_blank\" rel=\"noopener\">the Warehouse project</a>)."
72677278
msgstr ""
72687279

7269-
#: warehouse/templates/pages/help.html:834
7280+
#: warehouse/templates/pages/help.html:855
72707281
msgid "Financial:"
72717282
msgstr ""
72727283

7273-
#: warehouse/templates/pages/help.html:834
7284+
#: warehouse/templates/pages/help.html:855
72747285
#, python-format
72757286
msgid ""
72767287
"We would deeply appreciate <a href=\"%(href)s\">your donations to fund "
72777288
"development and maintenance</a>."
72787289
msgstr ""
72797290

7280-
#: warehouse/templates/pages/help.html:835
7291+
#: warehouse/templates/pages/help.html:856
72817292
msgid "Development:"
72827293
msgstr ""
72837294

7284-
#: warehouse/templates/pages/help.html:835
7295+
#: warehouse/templates/pages/help.html:856
72857296
msgid ""
72867297
"Warehouse is open source, and we would love to see some new faces working"
72877298
" on the project. You <strong>do not</strong> need to be an experienced "
72887299
"open-source developer to make a contribution – in fact, we'd love to help"
72897300
" you make your first open source pull request!"
72907301
msgstr ""
72917302

7292-
#: warehouse/templates/pages/help.html:837
7303+
#: warehouse/templates/pages/help.html:858
72937304
#, python-format
72947305
msgid ""
72957306
"If you have skills in Python, ElasticSearch, HTML, SCSS, JavaScript, or "
@@ -7303,7 +7314,7 @@ msgid ""
73037314
"here."
73047315
msgstr ""
73057316

7306-
#: warehouse/templates/pages/help.html:845
7317+
#: warehouse/templates/pages/help.html:866
73077318
#, python-format
73087319
msgid ""
73097320
"Issues are grouped into <a href=\"%(href)s\" title=\"%(title)s\" "
@@ -7313,19 +7324,19 @@ msgid ""
73137324
"we can guide you through the contribution process."
73147325
msgstr ""
73157326

7316-
#: warehouse/templates/pages/help.html:852
7327+
#: warehouse/templates/pages/help.html:873
73177328
msgid "Stay updated:"
73187329
msgstr ""
73197330

7320-
#: warehouse/templates/pages/help.html:853
7331+
#: warehouse/templates/pages/help.html:874
73217332
#, python-format
73227333
msgid ""
73237334
"You can also follow the ongoing development of the project on the <a "
73247335
"href=\"%(discourse_forum_href)s\" title=\"%(title)s\" target=\"_blank\" "
73257336
"rel=\"noopener\">Python packaging forum on Discourse</a>."
73267337
msgstr ""
73277338

7328-
#: warehouse/templates/pages/help.html:862
7339+
#: warehouse/templates/pages/help.html:883
73297340
#, python-format
73307341
msgid ""
73317342
"Changes to PyPI are generally announced on both the <a "
@@ -7339,33 +7350,33 @@ msgid ""
73397350
"the \"pypi\" label."
73407351
msgstr ""
73417352

7342-
#: warehouse/templates/pages/help.html:872
7353+
#: warehouse/templates/pages/help.html:893
73437354
#, python-format
73447355
msgid ""
73457356
"All traffic is routed through our global CDN, which lists their public IP"
73467357
" addresses here: <a href=\"%(href)s\">%(href)s</a>."
73477358
msgstr ""
73487359

7349-
#: warehouse/templates/pages/help.html:873
7360+
#: warehouse/templates/pages/help.html:894
73507361
#, python-format
73517362
msgid ""
73527363
"More information about this list can be found here: <a "
73537364
"href=\"%(href)s\">%(href)s</a>."
73547365
msgstr ""
73557366

7356-
#: warehouse/templates/pages/help.html:877
7367+
#: warehouse/templates/pages/help.html:898
73577368
msgid ""
73587369
"When Warehouse's maintainers are deploying new features, at first we mark"
73597370
" them with a small \"beta feature\" symbol to tell you: this should "
73607371
"probably work fine, but it's new and less tested than other site "
73617372
"functionality."
73627373
msgstr ""
73637374

7364-
#: warehouse/templates/pages/help.html:878
7375+
#: warehouse/templates/pages/help.html:899
73657376
msgid "Currently, no features are in beta."
73667377
msgstr ""
73677378

7368-
#: warehouse/templates/pages/help.html:882
7379+
#: warehouse/templates/pages/help.html:903
73697380
#, python-format
73707381
msgid ""
73717382
"\"PyPI\" should be pronounced like \"pie pea eye\", specifically with the"
@@ -7375,39 +7386,39 @@ msgid ""
73757386
"implementation of the Python language."
73767387
msgstr ""
73777388

7378-
#: warehouse/templates/pages/help.html:894
7389+
#: warehouse/templates/pages/help.html:915
73797390
msgid "Resources"
73807391
msgstr ""
73817392

7382-
#: warehouse/templates/pages/help.html:895
7393+
#: warehouse/templates/pages/help.html:916
73837394
msgid "Looking for something else? Perhaps these links will help:"
73847395
msgstr ""
73857396

7386-
#: warehouse/templates/pages/help.html:897
7397+
#: warehouse/templates/pages/help.html:918
73877398
msgid "Python Packaging User Guide"
73887399
msgstr ""
73897400

7390-
#: warehouse/templates/pages/help.html:898
7401+
#: warehouse/templates/pages/help.html:919
73917402
msgid "Python documentation"
73927403
msgstr ""
73937404

7394-
#: warehouse/templates/pages/help.html:899
7405+
#: warehouse/templates/pages/help.html:920
73957406
msgid "(main Python website)"
73967407
msgstr ""
73977408

7398-
#: warehouse/templates/pages/help.html:900
7409+
#: warehouse/templates/pages/help.html:921
73997410
msgid "Python community page"
74007411
msgstr ""
74017412

7402-
#: warehouse/templates/pages/help.html:900
7413+
#: warehouse/templates/pages/help.html:921
74037414
msgid "(lists IRC channels, mailing lists, etc.)"
74047415
msgstr ""
74057416

7406-
#: warehouse/templates/pages/help.html:903
7417+
#: warehouse/templates/pages/help.html:924
74077418
msgid "Contact"
74087419
msgstr ""
74097420

7410-
#: warehouse/templates/pages/help.html:905
7421+
#: warehouse/templates/pages/help.html:926
74117422
#, python-format
74127423
msgid ""
74137424
"The <a href=\"%(pypa_href)s\" title=\"%(title)s\" target=\"_blank\" "

warehouse/templates/pages/help.html

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -750,10 +750,31 @@ <h3 id="file-name-reuse">{{ file_name_reuse() }}</h3>
750750
<li>{% trans %}Filename has been used but file no longer exists{% endtrans %}</li>
751751
<li>{% trans %}A file with the exact same content exists{% endtrans %}</li>
752752
</ul>
753-
<p>{% trans %}PyPI does not allow for a filename to be reused, even once a project has been deleted and recreated.{% endtrans %}</p>
754753
<p>
755-
{% trans test_pypi_href='https://packaging.python.org/guides/using-testpypi/', pypi_href='https://pypi.org', title=gettext('External link') %}
756-
To avoid this situation, <a href="{{ test_pypi_href }}" title="{{ title }}" target="_blank" rel="noopener">use Test PyPI to perform and check your upload first</a>, before uploading to <a href="{{ pypi_href }}">pypi.org</a>.
754+
{% trans %}
755+
PyPI does not allow for a filename to be reused, even once a
756+
project has been deleted and recreated.
757+
{% endtrans %}
758+
</p>
759+
<p>
760+
{% trans %}
761+
A distribution filename on PyPI consists of the combination of
762+
project name, version number, and distribution type.
763+
{% endtrans %}
764+
</p>
765+
<p>
766+
{% trans %}
767+
This ensures that a given distribution for a given release for a
768+
given project will always resolve to the same file, and cannot be
769+
surreptitiously changed one day by the projects maintainer or a
770+
malicious party (it can only be removed).
771+
{% endtrans %}
772+
</p>
773+
<p>
774+
{% trans %}
775+
To avoid this situation in most cases, you will need to change the
776+
version number to one that you haven't previously uploaded to PyPI,
777+
rebuild the distribution, and then upload the new distribution.
757778
{% endtrans %}
758779
</p>
759780

0 commit comments

Comments
 (0)