Am Dienstag, den 11.02.2020, 14:37 +0100 schrieb Jonas Hahnfeld:
> Am Dienstag, den 11.02.2020, 14:27 +0100 schrieb David Kastrup:
> > Jonas Hahnfeld <
> > hah...@hahnjo.de
> > 
> > > writes:
> > > Am Dienstag, den 11.02.2020, 13:48 +0100 schrieb Federico Bruni:
> > > > Il giorno mar 11 feb 2020 alle 13:18, Jonas Hahnfeld <
> > > > hah...@hahnjo.de
> > > > 
> > > > 
> > > > 
> > > > ha scritto:
> > > > > >  > Another shortcoming is that links to other issues are broken
> > > > > >  > (transformed in links to non-existing anchors in current issue).
> > > > > > 
> > > > > >  I think that is because some issues have not (yet) been migrated. I
> > > > > >  hope these links start to work once all is there.
> > > > > 
> > > > > So I eventually convinced my script to migrate close to all issues 
> > > > > [1],
> > > > > and all references to other issues that I checked so far are now
> > > > > working. Could you maybe check again and let me know if something's
> > > > > still broken? In any case I've already modified my script to first 
> > > > > sort
> > > > > the issues and not take the (random?) order from SF.
> > > > 
> > > > I still see the problem.
> > > > 
> > > > Take issue 34 as example.
> > > > All the "Issue $NUMBER" have a wrong link:
> > > > https://gitlab.com/lilypond-issues/lilypond/issues/34#note_284918285
> > > > 
> > > > 
> > > > 
> > > > https://gitlab.com/lilypond-issues/lilypond/issues/34#note_284918298
> > > > 
> > > > 
> > > > 
> > > > 
> > > > But I can see an "issue 34" link working fine:
> > > > https://gitlab.com/lilypond-issues/lilypond/issues/34#note_284918318
> > > > 
> > > > 
> > > > 
> > > > 
> > > > Perhaps your script is considering only the lower case "issue"?
> > > 
> > > Well no, I'm relying on GitLab magic here - my script attached for
> > > reference.
> > > But I think I see what's going on: When the script migrated issue #34,
> > > the referenced issues were not there yet and apparently GitLab does
> > > some evaluation when the text is posted. If I migrate the issue now
> > > (see 
> > > https://gitlab.com/lilypond-issues/lilypond/issues/5742
> > > 
> > > ), the
> > > links work - also note how "#25" in the first comment comes live.
> > > (I manually edited two comments in the original #34, so these do work
> > > now. The reference to "Issue 1302" is still broken though as I didn't
> > > touch that comment.)
> > > 
> > > Unfortunately this means that my strategy to create the issues "in
> > > order" doesn't work because comments can reference later issues that
> > > were created in the mean-time. So instead I'll try to first create all
> > > issues and then migrate all comments. That doesn't work for later edits
> > > of the issue description, but that should be the minority.
> > > I'll wait a few days for other problems before starting another
> > > attempt.
> > 
> > May I point out the tool-to-use for this task?
> > 
> > File: coreutils.info,  Node: tsort invocation,  Prev: ptx invocation,  Up: 
> > Operating on sorted files
> > 
> > 7.6 ‘tsort’: Topological sort
> > =============================
> > 
> > [...]
> > 
> > Now of course the non-linear manner of being able to update issues and
> > the desire to have cross-reference means that we _will_ have cycles.  So
> > this is not a cure-all, and cycles may need reediting the issues that
> > are broken by cycles.  But at least for the more linear reference
> > chains, this should be a good help.
> 
> Let me look into how many issue descriptions actually reference other
> issues. If there are none (or at least none that reference earlier
> issues), we can just be happy with the two-stage approach of migrating
> all issues first and add the comments in a second step.

Of course there are references, and sure enough some of them are
circular - see attached list. Most of them are fine if the migration
script creates the issues in order. The ones that are not:
23-Issue #636 references #498
24:Issue #650 references #651 - ERROR
25-Issue #651 references #650
26:Issue #663 references #664 - ERROR
27-Issue #664 references #663
--
105-Issue #1387 references #1365
106:Issue #1395 references #1396 - ERROR
107-Issue #1396 references #1395
--
174-Issue #2130 references #2057
175:Issue #2141 references #2142 - ERROR
176-Issue #2142 references #2141
--
242-Issue #2632 references #1773
243:Issue #2634 references #3290 - ERROR
244-Issue #2638 references #2148
--
414-Issue #3841 references #355
415:Issue #3847 references #3855 - ERROR
416-Issue #3855 references #10

So there's nothing we can do for 650/651, 663/664, 1395/1396, and
2141/2142, I would propose to just manually fix the links.
The other two are actually false positives:
#2634 references a Python bug report, and #3847 is meant to link to
issue #355.

So, no topological sorting needed as far as I can see.
Jonas
#!/usr/bin/env python3

import json
import os
import re
import sys

json_file = sys.argv[1]
with open(json_file, 'r') as f:
    issues = json.load(f)

tickets = issues['tickets']

def get_ticket_num(ticket):
    return ticket['ticket_num']

def is_ticket(num):
    return 0 < num and num < 6000

tickets.sort(key=get_ticket_num)

issue1 = re.compile('[Ii]ssue #?(\d+)')
issue2 = re.compile('#(\d+)[ \.]')

for t in tickets:
    current = get_ticket_num(t)
    description = t['description']
    referenced = None

    m = issue1.search(description)
    if m:
        referenced = int(m.group(1))
        if not is_ticket(referenced):
            referenced = None

    if referenced is None:
        m = issue2.search(description)
        if m:
            referenced = int(m.group(1))
            if not is_ticket(referenced):
                referenced = None

    if referenced is not None:
        print('Issue #{current} references #{referenced}{error}'.format(
            current=current,
            referenced=referenced,
            error=' - ERROR' if referenced > current else ''
        ))
Issue #22 references #1
Issue #43 references #42
Issue #60 references #1
Issue #98 references #11
Issue #130 references #4
Issue #142 references #2
Issue #148 references #1
Issue #226 references #1
Issue #228 references #1
Issue #241 references #221
Issue #276 references #20
Issue #308 references #2
Issue #328 references #1
Issue #337 references #242
Issue #377 references #1
Issue #385 references #34
Issue #433 references #430
Issue #443 references #1
Issue #529 references #1
Issue #592 references #434
Issue #605 references #446
Issue #609 references #160
Issue #636 references #498
Issue #650 references #651 - ERROR
Issue #651 references #650
Issue #663 references #664 - ERROR
Issue #664 references #663
Issue #684 references #10
Issue #689 references #541
Issue #696 references #279
Issue #707 references #248
Issue #729 references #47
Issue #739 references #2
Issue #749 references #8
Issue #755 references #114
Issue #757 references #353
Issue #765 references #1
Issue #796 references #76
Issue #801 references #784
Issue #836 references #404
Issue #868 references #155
Issue #880 references #821
Issue #881 references #880
Issue #898 references #638
Issue #909 references #781
Issue #913 references #261
Issue #917 references #899
Issue #923 references #670
Issue #930 references #428
Issue #931 references #880
Issue #932 references #850
Issue #939 references #2
Issue #956 references #793
Issue #960 references #810
Issue #969 references #968
Issue #984 references #618
Issue #985 references #618
Issue #994 references #898
Issue #996 references #995
Issue #1005 references #1
Issue #1024 references #712
Issue #1025 references #974
Issue #1039 references #838
Issue #1041 references #836
Issue #1057 references #218
Issue #1065 references #247
Issue #1076 references #880
Issue #1078 references #391
Issue #1079 references #963
Issue #1088 references #801
Issue #1093 references #2
Issue #1142 references #1141
Issue #1145 references #1014
Issue #1149 references #2
Issue #1179 references #837
Issue #1186 references #10
Issue #1187 references #10
Issue #1208 references #1161
Issue #1219 references #840
Issue #1220 references #1053
Issue #1223 references #573
Issue #1224 references #1055
Issue #1229 references #1219
Issue #1230 references #7
Issue #1231 references #1
Issue #1233 references #1232
Issue #1255 references #1255
Issue #1256 references #379
Issue #1259 references #1089
Issue #1264 references #1066
Issue #1269 references #1263
Issue #1270 references #815
Issue #1271 references #1117
Issue #1276 references #684
Issue #1296 references #881
Issue #1300 references #506
Issue #1303 references #1297
Issue #1304 references #1289
Issue #1312 references #541
Issue #1334 references #677
Issue #1336 references #1173
Issue #1352 references #1266
Issue #1365 references #1288
Issue #1370 references #814
Issue #1387 references #1365
Issue #1395 references #1396 - ERROR
Issue #1396 references #1395
Issue #1403 references #817
Issue #1404 references #1283
Issue #1441 references #1004
Issue #1449 references #1309
Issue #1465 references #884
Issue #1483 references #20
Issue #1486 references #1483
Issue #1500 references #1120
Issue #1505 references #1
Issue #1506 references #1
Issue #1525 references #1524
Issue #1539 references #1054
Issue #1551 references #1550
Issue #1557 references #1000
Issue #1563 references #1
Issue #1590 references #688
Issue #1591 references #1548
Issue #1592 references #1586
Issue #1618 references #1609
Issue #1630 references #498
Issue #1632 references #1612
Issue #1642 references #1629
Issue #1653 references #340
Issue #1667 references #1043
Issue #1691 references #1015
Issue #1713 references #1546
Issue #1716 references #1655
Issue #1717 references #1
Issue #1718 references #439
Issue #1719 references #940
Issue #1725 references #1089
Issue #1744 references #153
Issue #1745 references #1702
Issue #1747 references #451
Issue #1751 references #6
Issue #1763 references #1
Issue #1764 references #1733
Issue #1771 references #1063
Issue #1785 references #1779
Issue #1787 references #652
Issue #1806 references #1405
Issue #1812 references #1793
Issue #1819 references #413
Issue #1826 references #1349
Issue #1836 references #1816
Issue #1848 references #1816
Issue #1860 references #40
Issue #1861 references #620
Issue #1887 references #1135
Issue #1901 references #1
Issue #1943 references #1919
Issue #1950 references #1506
Issue #1964 references #1637
Issue #1991 references #1669
Issue #2005 references #1951
Issue #2032 references #2024
Issue #2033 references #2024
Issue #2048 references #1
Issue #2058 references #1229
Issue #2065 references #1846
Issue #2085 references #12
Issue #2093 references #2059
Issue #2099 references #2075
Issue #2110 references #409
Issue #2118 references #12
Issue #2121 references #2059
Issue #2130 references #2057
Issue #2141 references #2142 - ERROR
Issue #2142 references #2141
Issue #2143 references #2141
Issue #2144 references #2141
Issue #2145 references #2143
Issue #2148 references #584
Issue #2162 references #3
Issue #2179 references #1316
Issue #2182 references #1222
Issue #2185 references #220
Issue #2190 references #1
Issue #2196 references #37
Issue #2198 references #1948
Issue #2203 references #2142
Issue #2207 references #8
Issue #2209 references #1815
Issue #2222 references #1816
Issue #2229 references #2070
Issue #2246 references #2228
Issue #2247 references #2240
Issue #2259 references #2130
Issue #2263 references #1110
Issue #2266 references #1721
Issue #2278 references #12
Issue #2289 references #146
Issue #2317 references #1873
Issue #2326 references #1377
Issue #2337 references #2300
Issue #2382 references #2381
Issue #2391 references #2365
Issue #2400 references #2200
Issue #2410 references #2394
Issue #2430 references #2
Issue #2443 references #2425
Issue #2449 references #1238
Issue #2450 references #2450
Issue #2451 references #2450
Issue #2452 references #2450
Issue #2453 references #2450
Issue #2454 references #2450
Issue #2455 references #2450
Issue #2456 references #2450
Issue #2457 references #2450
Issue #2458 references #2450
Issue #2459 references #2450
Issue #2460 references #2450
Issue #2461 references #2450
Issue #2462 references #2450
Issue #2463 references #2450
Issue #2475 references #1196
Issue #2480 references #1459
Issue #2482 references #1043
Issue #2486 references #2468
Issue #2497 references #2348
Issue #2507 references #1063
Issue #2514 references #1997
Issue #2532 references #620
Issue #2539 references #2536
Issue #2557 references #1812
Issue #2560 references #1
Issue #2575 references #1
Issue #2584 references #1967
Issue #2594 references #2475
Issue #2605 references #427
Issue #2613 references #2451
Issue #2619 references #2317
Issue #2631 references #2450
Issue #2632 references #1773
Issue #2634 references #3290 - ERROR
Issue #2638 references #2148
Issue #2656 references #12
Issue #2659 references #6
Issue #2691 references #2217
Issue #2696 references #2692
Issue #2697 references #2692
Issue #2700 references #2637
Issue #2705 references #2702
Issue #2708 references #8
Issue #2715 references #2673
Issue #2722 references #7
Issue #2723 references #7
Issue #2762 references #2533
Issue #2775 references #1627
Issue #2785 references #15
Issue #2799 references #2547
Issue #2802 references #2655
Issue #2830 references #100
Issue #2837 references #2810
Issue #2839 references #2801
Issue #2841 references #590
Issue #2866 references #2717
Issue #2870 references #2717
Issue #2876 references #1257
Issue #2884 references #2591
Issue #2888 references #2881
Issue #2896 references #2874
Issue #2898 references #2897
Issue #2899 references #1050
Issue #2920 references #2422
Issue #2923 references #2832
Issue #2934 references #2883
Issue #2935 references #2859
Issue #2937 references #2917
Issue #2944 references #1455
Issue #2947 references #1
Issue #2952 references #2003
Issue #2953 references #2934
Issue #2958 references #28
Issue #2988 references #1
Issue #2991 references #2967
Issue #3001 references #2868
Issue #3003 references #687
Issue #3006 references #1322
Issue #3040 references #10
Issue #3041 references #2990
Issue #3050 references #1
Issue #3053 references #3004
Issue #3055 references #1
Issue #3079 references #677
Issue #3086 references #3056
Issue #3090 references #3071
Issue #3098 references #3
Issue #3099 references #1
Issue #3100 references #3095
Issue #3104 references #3
Issue #3105 references #1
Issue #3109 references #2527
Issue #3118 references #1
Issue #3135 references #1798
Issue #3139 references #3085
Issue #3147 references #3095
Issue #3152 references #2449
Issue #3160 references #2276
Issue #3164 references #1
Issue #3168 references #754
Issue #3202 references #754
Issue #3203 references #3192
Issue #3208 references #3208
Issue #3216 references #910
Issue #3221 references #171
Issue #3223 references #1473
Issue #3231 references #3229
Issue #3245 references #3231
Issue #3246 references #30
Issue #3263 references #3254
Issue #3266 references #80
Issue #3270 references #2393
Issue #3275 references #3239
Issue #3279 references #1263
Issue #3294 references #3283
Issue #3300 references #2996
Issue #3307 references #7
Issue #3311 references #3161
Issue #3312 references #2658
Issue #3320 references #2795
Issue #3325 references #2795
Issue #3334 references #732
Issue #3342 references #3279
Issue #3352 references #3023
Issue #3355 references #3032
Issue #3363 references #3327
Issue #3370 references #12
Issue #3380 references #3307
Issue #3383 references #1
Issue #3385 references #1
Issue #3395 references #1843
Issue #3398 references #3187
Issue #3403 references #2470
Issue #3406 references #3395
Issue #3407 references #725
Issue #3410 references #3304
Issue #3434 references #3106
Issue #3435 references #1
Issue #3448 references #1
Issue #3479 references #3463
Issue #3480 references #826
Issue #3490 references #10
Issue #3493 references #3490
Issue #3497 references #601
Issue #3500 references #3487
Issue #3501 references #2527
Issue #3503 references #2527
Issue #3504 references #3330
Issue #3516 references #2883
Issue #3519 references #5
Issue #3520 references #2376
Issue #3522 references #10
Issue #3532 references #2910
Issue #3533 references #2658
Issue #3534 references #3307
Issue #3536 references #3535
Issue #3541 references #3307
Issue #3544 references #3330
Issue #3550 references #3307
Issue #3551 references #3199
Issue #3553 references #3225
Issue #3560 references #1772
Issue #3569 references #3553
Issue #3579 references #2240
Issue #3583 references #3571
Issue #3588 references #3015
Issue #3601 references #3581
Issue #3606 references #2768
Issue #3610 references #3205
Issue #3626 references #3026
Issue #3630 references #2527
Issue #3632 references #2862
Issue #3634 references #3140
Issue #3636 references #3631
Issue #3640 references #2379
Issue #3644 references #1334
Issue #3650 references #823
Issue #3651 references #3187
Issue #3652 references #1334
Issue #3653 references #4
Issue #3660 references #712
Issue #3661 references #3161
Issue #3662 references #3648
Issue #3663 references #1320
Issue #3668 references #3457
Issue #3670 references #3140
Issue #3676 references #3487
Issue #3681 references #2
Issue #3698 references #3664
Issue #3700 references #1196
Issue #3708 references #2658
Issue #3710 references #2
Issue #3730 references #3664
Issue #3739 references #3304
Issue #3740 references #3664
Issue #3744 references #2392
Issue #3748 references #2883
Issue #3757 references #3487
Issue #3777 references #3720
Issue #3782 references #3648
Issue #3807 references #3675
Issue #3830 references #3629
Issue #3838 references #3823
Issue #3840 references #693
Issue #3841 references #355
Issue #3847 references #3855 - ERROR
Issue #3855 references #10
Issue #3865 references #1
Issue #3868 references #3304
Issue #3870 references #2663
Issue #3875 references #3304
Issue #3894 references #2745
Issue #3900 references #3543
Issue #3918 references #3916
Issue #3919 references #460
Issue #3930 references #2752
Issue #3942 references #3941
Issue #3943 references #1154
Issue #3979 references #3239
Issue #3986 references #2067
Issue #3987 references #3887
Issue #3989 references #1470
Issue #3990 references #3987
Issue #3993 references #2245
Issue #3998 references #3648
Issue #4003 references #3797
Issue #4006 references #2462
Issue #4009 references #2240
Issue #4010 references #3593
Issue #4011 references #3593
Issue #4019 references #13
Issue #4023 references #3992
Issue #4029 references #248
Issue #4031 references #2660
Issue #4036 references #3978
Issue #4059 references #3601
Issue #4065 references #677
Issue #4068 references #3748
Issue #4070 references #380
Issue #4078 references #4075
Issue #4098 references #4097
Issue #4099 references #3664
Issue #4120 references #2752
Issue #4148 references #4139
Issue #4157 references #448
Issue #4186 references #3286
Issue #4201 references #4191
Issue #4208 references #2702
Issue #4220 references #4187
Issue #4222 references #1503
Issue #4226 references #99
Issue #4229 references #3383
Issue #4235 references #3903
Issue #4245 references #3749
Issue #4255 references #3324
Issue #4262 references #1774
Issue #4266 references #3
Issue #4291 references #4282
Issue #4303 references #99
Issue #4306 references #630
Issue #4307 references #4198
Issue #4314 references #4270
Issue #4324 references #4138
Issue #4330 references #4281
Issue #4373 references #4360
Issue #4375 references #3687
Issue #4377 references #4365
Issue #4381 references #2877
Issue #4387 references #4366
Issue #4388 references #4209
Issue #4389 references #4209
Issue #4393 references #1735
Issue #4406 references #3229
Issue #4414 references #4332
Issue #4422 references #4421
Issue #4425 references #4422
Issue #4432 references #3778
Issue #4443 references #4422
Issue #4445 references #4444
Issue #4462 references #4461
Issue #4463 references #4442
Issue #4469 references #14
Issue #4473 references #2459
Issue #4480 references #1432
Issue #4489 references #14
Issue #4495 references #4421
Issue #4497 references #4445
Issue #4502 references #4418
Issue #4504 references #4502
Issue #4505 references #4488
Issue #4506 references #3693
Issue #4508 references #4479
Issue #4509 references #2458
Issue #4514 references #4505
Issue #4517 references #4381
Issue #4523 references #4505
Issue #4529 references #4505
Issue #4530 references #4465
Issue #4531 references #4120
Issue #4532 references #3930
Issue #4552 references #952
Issue #4553 references #952
Issue #4560 references #4550
Issue #4574 references #4552
Issue #4590 references #4370
Issue #4592 references #4426
Issue #4593 references #4591
Issue #4597 references #2240
Issue #4609 references #4596
Issue #4620 references #4618
Issue #4621 references #90
Issue #4655 references #4643
Issue #4670 references #3693
Issue #4673 references #4504
Issue #4681 references #4504
Issue #4687 references #2
Issue #4688 references #4131
Issue #4704 references #4355
Issue #4711 references #4
Issue #4728 references #90
Issue #4729 references #4729
Issue #4730 references #7
Issue #4732 references #4731
Issue #4736 references #4735
Issue #4737 references #4735
Issue #4742 references #4533
Issue #4764 references #3487
Issue #4766 references #5
Issue #4780 references #4737
Issue #4806 references #1578
Issue #4826 references #660
Issue #4838 references #621
Issue #4842 references #4840
Issue #4843 references #4357
Issue #4844 references #680
Issue #4878 references #4783
Issue #4899 references #4885
Issue #4901 references #4900
Issue #4902 references #4900
Issue #4904 references #4781
Issue #4909 references #4909
Issue #4920 references #3945
Issue #4926 references #2240
Issue #4938 references #4745
Issue #4943 references #4943
Issue #4944 references #4814
Issue #4960 references #4643
Issue #4965 references #4814
Issue #4978 references #10
Issue #4981 references #4981
Issue #4982 references #4757
Issue #4989 references #4989
Issue #4992 references #4992
Issue #4994 references #4992
Issue #4998 references #4991
Issue #5031 references #2059
Issue #5046 references #1504
Issue #5052 references #4342
Issue #5068 references #4752
Issue #5079 references #4356
Issue #5084 references #5084
Issue #5086 references #5086
Issue #5087 references #5053
Issue #5110 references #5033
Issue #5147 references #1388
Issue #5156 references #5155
Issue #5164 references #1388
Issue #5166 references #4776
Issue #5172 references #5172
Issue #5173 references #5172
Issue #5195 references #1
Issue #5202 references #5181
Issue #5204 references #4575
Issue #5212 references #5113
Issue #5213 references #4981
Issue #5217 references #5217
Issue #5221 references #3727
Issue #5225 references #5220
Issue #5235 references #4129
Issue #5236 references #2067
Issue #5245 references #1988
Issue #5247 references #5074
Issue #5263 references #5025
Issue #5264 references #5263
Issue #5293 references #5247
Issue #5305 references #145
Issue #5307 references #90
Issue #5324 references #5324
Issue #5345 references #5345
Issue #5346 references #5341
Issue #5348 references #5346
Issue #5360 references #4421
Issue #5367 references #5043
Issue #5371 references #10
Issue #5392 references #1
Issue #5423 references #4790
Issue #5462 references #216
Issue #5467 references #5467
Issue #5470 references #5458
Issue #5489 references #5489
Issue #5490 references #5490
Issue #5498 references #4914
Issue #5514 references #1033
Issue #5519 references #4452
Issue #5536 references #4751
Issue #5537 references #5524
Issue #5584 references #5582
Issue #5644 references #5524
Issue #5655 references #5331
Issue #5658 references #4550
Issue #5664 references #5660
Issue #5725 references #4943

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to