Very long commit subject lines #27099

Open
opened 2026-02-21 14:38:35 -05:00 by deekerman · 8 comments
Owner

Originally created by @mk-pmb on GitHub (Apr 24, 2025).

Checklist

  • I'm asking a question
  • I've looked through the README and FAQ for similar questions
  • I've searched the bugtracker for similar questions including closed ones

Question

Originally I suspected a bug in my script that analyzes the git log, but having a look at the original commits (e.g.
c052a16f.patch) shows that this repo indeed uses very long commit subject lines. Is that intended? A lot of them look like they may have been meant to be bullet lists in the message body instead. Could it be some automated summary tool misbehaving?

Originally created by @mk-pmb on GitHub (Apr 24, 2025). ## Checklist - [x] I'm asking a question - [x] I've looked through the README and FAQ for similar questions - [x] I've searched the bugtracker for similar questions including closed ones ## Question Originally I suspected a bug in my script that analyzes the git log, but having a look at the original commits (e.g. [c052a16f.patch](https://github.com/ytdl-org/youtube-dl/commit/c052a16f.patch)) shows that this repo indeed uses very long commit subject lines. Is that intended? A lot of them look like they may have been meant to be bullet lists in the message body instead. Could it be some automated summary tool misbehaving?
Author
Owner

@dirkf commented on GitHub (Apr 25, 2025):

That's quite irritating: thanks for noticing.

The problem is not obvious in the commits page at GH or in git log .., unless you apply oneline format. There should be a blank line after the first (subject) line in each case, because apparently just one newline wasn't enough. Although "to err is human but to really foul things up requires a computer", almost certainly it's not a defect in git rebase --interactive ... or similar, nor even an automated summary tool, but PEBCAK, in fact several of them since examples go back to 62a29bbf7 (2011), in writing or revising commit messages.

Here's a candidate list (354 items)
$ git log --pretty=format:"%h %B" | sed -rn -e '/^[0-9a-f]{9} /{:lp;h;n;s/^$//;t;s/^[0-9a-f]{9}/&/;t lp;g;p}' 
c052a16f7 [JSInterp] Add tests and relevant functionality from yt-dlp
6eb6d6dff [InfoExtractor] Use local variants for remaining parent method calls
6c40d9f84 [YouTube] Remove remaining hard-coded API keys
1b08d3281 [YouTube] Fix playlist continuation extraction
32b8d3178 [YouTube] Support shorts playlist
cedeeed56 [cache] Align further with yt-dlp
add462287 [compat] Add compat_os_makedirs
9a6ddece4 [core] Refactor message routines to align better with yt-dlp
4e714f9df [Misc] Correct [_]IE_DESC/NAME in a few IEs
c1ea7f5a2 [ITV] Mark ITVX not working
2b4fbfce2 [YouTube] Support player `4fcd6e4a`
1bc45b8b6 [JSInterp] Use `,` for join() with null/undefined argument
b982d77d0 [YouTube] Align signature tests with yt-dlp
a4fc1151f [JSInterp] Improve indexing
da7223d4a [YouTube] Improve support for tce-style player JS
37c2440d6 [YouTube] Update player client data
420d53387 [JSInterp] Improve tests
32f89de92 [YouTube] Update TVHTML5 client parameters
283dca56f [YouTube] Initially support tce-style player JS
1dc27e1c3 [JSInterp] Make indexing error handling more conformant
94849bc99 [JSInterp] Improve Date processing
974c7d7f3 [compat] Fix inheriting from compat_collections_chain_map
8738407d7 [compat] Support zstd Content-Encoding
cecaa18b8 [compat] Clean-up
26b6f15d1 [compat] Make casefold private
5975d7bb9 [YouTube] Use X-Goog-Visitor-Id
21fff0512 [YouTube] Switch to TV API client
1036478d1 [YouTube] Endure subtitle URLs are complete
00ad2b8ca [YouTube] Refactor subtitle processing
176fc2cb0 [YouTube] Avoid early crash if webpage can't be read
d55d1f423 [YouTube] Always extract using MWEB API client
eeafbbc3e [YouTube] Fix signature function extraction for `2f1832d2`
b4469a0f6 [YouTube] Handle player `3bb1f723`
ce1e556b8 [jsinterp] Add return hook for player `3bb1f723`
f487b4a02 [jsinterp] Strip /* comments */ when parsing
60835ca16 [jsinterp] Fix and improve "methods"
94fd77460 [jsinterp] Fix and improve split/join
5dee6213e [jsinterp] Fix and improve arithmetic operations
81e64cacf [jsinterp] Support multiple indexing (eg a[1][2])
c1a03b1ac [jsinterp] Fix and improve loose and strict equality operations
f28d7178e [InfoExtractor] Use kwarg maxsplit for re.split
c5098961b [Youtube] Rework n function extraction pattern
16f5bbc46 [YouTube] Fix nsig processing for player `b22ef6e7`
d35ce6ce9 [jsinterp] Support functionality for player `b22ef6e7`
76ac69917 [jsinterp] Further improve expression parsing (fix fd8242e)
756f6b45c [jsinterp] Re-align JSInterp and tests (esp.) with yt-dlp
465210964 [core,utils] Implement unsafe file extension mitigation
3c466186a [utils] Back-port Namespace and MEDIA_EXTENSIONS from yt-dlp
4d05f8432 [PalcoMP3] Conform to new linter rule
e0094e63c [jsinterp] Various tweaks
fd8242e3e [jsinterp] Fix and improve expression parsing
ad01fa6cc [jsinterp] Add Debugger from yt-dlp
e20ca543f [ORF] Re-factor and update`ORFFM4StoryIE`
e39466051 [ORF] Support sound.orf.at, updating `ORFRadioIE`
d95c0d203 [ORF] Support on.orf.at, replacing `ORFTVthekIE`
3bde6a575 [test] Improve download test
21924742f [InfoExtractor] Misc yt-dlp back-ports, etc
768ccccd9 [compat] Avoid type comparison in `compat_ord`
34484e49f [compat] Improve compat_etree_iterfind for Py2.6
06da64ee5 [utils] Update traverse_obj() from yt-dlp
668332b97 [YouPorn] Add playlist extractors
0b2ce3685 [YouPorn] Improve extraction
c2766cb80 [test/test_download] Support 'playlist_maxcount:count' expected value
eb3866543 [YouPorn] Incorporate yt-dlp PR 8827
e0727e4ab [postprocessor/ffmpeg] Fix finding ffprobe (bug in 21792b8)
21792b88b [external/FFmpeg] Fix and improve --ffmpeg-location handling
d8f134a66 [downloader/external] Fix "Resource Warning" in downloader test
820fae3b3 [Videa] Fix extraction
f7b30e3f7 [XFileShare] Update extractor for 2024
f66372403 [InfoExtractor] Rework and improve JWPlayer extraction
7216fa2ac [InfoExtractor] Add `_search_json()`
4416f82c8 [Vbox7IE] Sanitise ld+json containing unexpected characters
bdda6b81d [Vbox7IE] Improve extraction
1fd8f802b [InfoExtractor] Correctly resolve BaseURL in DASH manifest
4eaeb9b2c [InfoExtractor] Support byte range for DASH
bec9180e8 [downloader/dash] Support `range` in fragment (format f'{start}-{end}')
dc512e3a8 [YouTube] Fix `like_count` extraction using `likeButtonViewModel`
f8b013585 [YouTube] Rework n-sig processing, realigning with yt-dlp
665187141 [compat] Rework compat for `method` parameter of `compat_urllib_request.Request` constructor
2a4e9faa7 [doc] Update developer guidance
74eef6bb5 [workflows/ci.yml] Extend Python versions
b2741f265 [InfoExtractor] Add search methods for Next/Nuxt.js from yt-dlp
d9d07a958 [utils] Improve js_to_json, align with yt-dlp
07af47960 [YouTube] Improve fix for ae8ba2c
ae8ba2c31 [YouTube] Fix `KeyError QV` in signature extraction failed
1f7c6f8b2 [core] Further improve platform debug log
d89c2137b [jsinterp] Small updates for a85a875
6ed343382 [jsinterp] Add short-cut evaluation for common expression
a85a875fe [jsinterp] Handle NaN in bitwise operators
cdf40b6aa [test] Update tests for Ubuntu 20.04
bafb6dec7 [YouTube] Refresh compat/utils usage
f2f90887c [Vimeo] Fix `Unable to extract info section` redux
295736c9c [jsinterp] Improve parsing
c282e5f8d [ZDF] Overhaul ZDF extractors
9493ffdb8 [test] Use windows-2019 for tests
7009bb9f3 [jsinterp] Workaround operator associativity issue
55c823634 [jsinterp] Handle new YT players 113ca41c, c57c113c
ed5c44e7b [compat] Replace deficient ChainMap class in Py3.3 and earlier
d619dd712 [jsinterp] Fix bug in operator precedence
66e58dccc [core] Avoid processing empty format list after removing bad formats
46b8ae2f5 [jsinterp] Clean up and pull yt-dlp style
cc179df34 [XHamster] Support xhday.com alias, extract `uploader_id`
811c480f7 [YouTube] Support JSON3 subtitle format
530f4582d [HRFernsehen] Back-port new extractor from yt-dlp
1baa0f5f6 [utils] Escape URL while sanitizing
e41882335 [ChangeLog] Actualize
5f85eb820 [ChangeLog] Actualize
efeb9e0fb [ChangeLog] Actualize
346dd3b5e [ChangeLog] Actualize
f20b505b4 [ChangeLog] Actualize
445db582a [ChangeLog] Actualize
e789bb1aa [ChangeLog] Actualize
207bc35d3 [ChangeLog] Actualize
c2fbfb49d [ChangeLog] Actualize
b509d24b2 [ChangeLog] Actualize
8c9766f4b [ChangeLog] Actualize
000288862 [ChangeLog] Actualize
44b2d5f5f [ChangeLog] Actualize
cd493c5ad [ChangeLog] Actualize
c7d407bca [ChangeLog] Actualize
3c07d007c [ChangeLog] Actualize
811a183eb [ChangeLog] Actualize
dbf3fa8af [ChangeLog] Actualize
8673f4344 [ChangeLog] Actualize
38a967c98 [ChangeLog] Actualize
f4afb9a6a [ChangeLog] Actualize
2a84694b1 [ChangeLog] Actualize
38286ee72 [ChangeLog] Actualize
a272fe21a [ChangeLog] Actualize
924ea66ad [ChangeLog] Actualize
2240a1dc4 [ChangeLog] Actualize
ed40c02c9 [ChangeLog] Actualize
772cefef8 [ChangeLog] Actualize
9da0504a0 [ChangeLog] Actualize
d9482c008 [ChangeLog] Actualize
e7f93fbd8 [ChangeLog] Actualize
09d923f2e [ChangeLog] Actualize
16c822e91 [ChangeLog] Actualize
4dc545553 [ChangeLog] Actualize
da4eaa15a [ChangeLog] Actualize
650bd8f62 [ChangeLog] Actualize
32152bab7 [ChangeLog] Actualize
bb2b89e07 [ChangeLog] Actualize
e3cad6bd9 [ChangeLog] Actualize
5bbdadd5f [ChangeLog] Actualize
b9bceba37 [ChangeLog] Actualize
bbc3b5b4b [ChangeLog] Actualize
ca7ebc4e5 [ChangeLog] Actualize
bff857a8a [postprocessor/embedthumbnail] Fix issues (closes #25717)
6cd452acf [ChangeLog] Actualize
570611955 [ChangeLog] Actualize
1c748722f [ChangeLog] Actualize
7adc7ca54 [ChangeLog] Actualize
607d20455 [ChangeLog] Actualize
efd72b05d [ChangeLog] Actualize
b74896dad [ChangeLog] Actualize
66f32ca0e [ChangeLog] Actualize
30b5121a1 [ChangeLog] Actualize
b439634f0 [ChangeLog] Actualize
434f57304 [ChangeLog] Actualize
2db9ac228 [ChangeLog] Actualize
170f5b7c2 [ChangeLog] Actualize
0d718db62 [ChangeLog] Actualize
bffdedfab [ChangeLog] Actualize
d7c55f226 [ChangeLog] Actualize
d6bf9cbd4 [ChangeLog] Actualize
b1a92520a [ChangeLog] Actualize
2dbc0967f [ChangeLog] Actualize
e3f00f139 [ChangeLog] Actualize
fb8dfc5a2 [ChangeLog] Actualize
1a4e4b0bf [ChangeLog] Actualize
cae0bbc53 [ChangeLog] Actualize
0d7392e68 [ChangeLog] Actualize
b4818e3c7 [ChangeLog] Actualize
173190f5e [ChangeLog] Actualize
412f44f4b [ChangeLog] Actualize
2f851a7d7 [ChangeLog] Actualize
303d3e142 [ChangeLog] Actualize
035c7a59e [ChangeLog] Actualize
79dd8884b [ChangeLog] Actualize
69611a161 [ChangeLog] Actualize
2e9522b06 [ChangeLog] Actualize
8614a03f9 [ChangeLog] Actualize
eaba9dd6c [ChangeLog] Actualize
8b4a0ebf1 [ChangeLog] Actualize
364a2cb65 [ChangeLog] Actualize
7612406bf [ChangeLog] Actualize
c8343f0a4 [ChangeLog] Actualize
232331c0d [ChangeLog] Actualize
bc6438c09 [ChangeLog] Actualize
e35fc5ebc [ChangeLog] Actualize
afd4985f7 [travis] Force dist to Ubuntu Trusty by default
42c971341 [ChangeLog] Actualize
07a2cef78 [ChangeLog] Actualize
67bfbe494 [ChangeLog] Actualize
a61ce7146 [youtube] Remove info el for get_video_info request
026fbedc8 [youtube] Improve extraction robustness
da668a23b [ISSUE_TEMPLATE.md] Add entry on argument escaping in make-sure checklist
98933c14e [ChangeLog] Actualize
984693525 [ChangeLog] Actualize
aa5338118 [ChangeLog] Actualize
25d924314 [ChangeLog] Actualize
2ed2ebdb3 [ChangeLog] Actualize
47f979262 [ruleporn] Remove extractor (closes #15344, closes #20324)
bba35695e [ChangeLog] Actualize
39c780fde [extractor/common] Return MPD manifest as format's url meta field (#20242)
333f617b1 [ChangeLog] Actualize
c76fc5b22 [ChangeLog] Actualize
f1f5b4725 [ChangeLog] Actualize
0efcb5a2f [vporn] Remove extractor (closes #16276)
c2a0fe2ea [ChangeLog] Actualize
ca01e5f90 [ChangeLog] Actualize
a2d821d71 [drtv] Improve extraction (closes #19039)
bf8ebc9cf [ChangeLog] Actualize
7d311586e [ChangeLog] Actualize
0670bdd8f [ChangeLog] Actualize
f53cecd79 [ChangeLog] Actualize
b0d73a745 [ChangeLog] Actualize
a4491dd55 [ChangeLog] Actualize
aeb72b3a4 [ChangeLog] Actualize
32ac3d49a [ChangeLog] Actualize
cbb3e4b14 [ChangeLog] Actualize
24cc64254 [ChangeLog] Actualize
1fa59a928 [ChangeLog] Actualize
66173211c [ChangeLog] Actualize
02df855e1 [ChangeLog] Actualize
f81d44aab [ChangeLog] Actualize
a08541093 [ChangeLog] Actualize
c2fe21efa [ChangeLog] Actualize
2e7ed29e3 [ChangeLog] Actualize
3d3499742 [ChangeLog] Actualize
d9b1cec17 [ChangeLog] Actualize
14f577e31 [ChangeLog] Actualize
a41a50607 [ChangeLog] Actualize
7bbc1b189 [ChangeLog] Actualize
56213aff1 [ChangeLog] Actualize
b66227398 [ChangeLog] Actualize
20f96f64b [ChangeLog] Actualize
4eecef84f [ChangeLog] Actualize
6f27998e7 [ChangeLog] Actualize
25586c601 [theplatform] PEP 8
7e8e948cf [ChangeLog] Actualize
d5de0f21b [ChangeLog] Actualize
c306f076e [ChangeLog] Actualize
91aa502d9 [foxnews:insider] Remove extractor (#15810)
e73050882 [ChangeLog] Actualize
d391b7e23 [extractor/common] Introduce expected_status for convenient accept of failed HTTP requests
9e761fe6f [ChangeLog] Actualize
03eef0f03 [ChangeLog] Actualize
cc37cc3f9 [ChangeLog] Actualize
c6c478f40 [ChangeLog] Actualize
73c938e46 [ChangeLog] Actualize
bc3143ac5 [ChangeLog] Actualize
38e4e8ab8 [ChangeLog] Actualize
58197205d [ChangeLog] Actualize
44277998a [ChangeLog] Actualize
5f95927a6 Improve geo bypass mechanism
cc5772c4f [ChangeLog] Actualize
e028d4f50 [ChangeLog] Actualize
171625469 [etonline] Remove extractor (closes #16256)
af751350e [Makefile] Add support for pandoc 2 and disable smart extension (closes #16251)
0e6ccb390 [ChangeLog] Actualize
880ed89d4 [ChangeLog] Actualize
10f9caec0 [ChangeLog] Actualize
c3cfc71a0 [ChangeLog] Actualize
29d959456 [ChangeLog] Actualize
c651de39d [ChangeLog] Actualize
c95dfb050 [ChangeLog] Actualize
d11691899 [raywenderlich] PEP 8
7399ca1f8 [pornhub] PEP 8
7dee41712 [ChangeLog] Actualize
28f21c950 [ChangeLog] Actualize
69d69da98 [kaltura] Add another embed pattern for entry_id
6b2d8c918 [bbc.co.uk] fix extraction for 320k m3u8 streams
d3f8b76b6 [extractor/generic] Fix typo (closes #14902)
593f2f798 [downloader/fragment] Commit part file after each fragment
21ce43405 [travis] Enable IRC notifications
210a2720b [anvato] Process master m3u8 manifests
cd6fc19ed [YoutubeDL] Ignore duplicates in --playlist-items
6be08ce60 [utils] Use in OnDemandPagedList by default
ff17be3ac [extractor/generic] Extract from LD-JSON last of all
a3c3a1e12 [http] Rework HTTP downloader
1141e9104 Use relative paths for DASH fragments (closes #12990)
799802f36 [teamfour] Remove extractor (closes #13782)
0396806f6 [YoutubeDL] Do not override id, extractor and extractor_key in url_transparent
deef31955 [utils] Improve unified_timestamp
7986c3abc [anvato] Improve extraction (closes #12913)
c0fa4245c [downloader/fragment] Remove assert for resume_len when no fragments downloaded
cb2520802 [extractor/common] Improve m3u8 extraction (closes #12211)
e5d39886e [limelight] Improve embeds extraction (closes #12761)
d35dc344a [YoutubeDL] Apply expand_path after output template substitution
d23028a8f [youtube] Remove explicit preference for audio-only and video-only formats
b8d8cced9 [rai] Improve extraction (closes #11790)
610a6d105 [atresplayer] Do not extract ISM formats
4d345bf17 [ruutu] Disable DASH formats (closes #12322)
527ef85fe [dailymotion] Make comment count optional (closes #12209)
553f6dbac [downloader/dash] Honor HTTP headers when downloading fragments
4248dad92 Improve geo bypass mechanism
773f291dc Add experimental geo restriction bypass mechanism
ff24261ba [kaltura] Add explicit port to regexes
f7a10d8cd [sportbox] Remove extractor (closes #11954)
79fc8496c [xiami] Improve extraction (closes #11699)
906420cae [limelight] Improve and make more robust (closes #11737)
adf063dad [mtv,cc,cmt,spike] Improve and refactor
20faad74b [mtv] Fix non-hls extraction
2032d935d [mtv] Add default value for use_hls
ee824a8d0 [ChangeLog] Actualize
f475e8812 [vimeo] PEP 8
cc764a6da [twitch:stream] Remove fallback to profile extraction when stream is offline
86f4d14f8 Refactor fragments interface and dash segments downloader
1dec2c8a0 [adobepass] Change mvpd cache section name
c96eca426 [mixcloud] Added support for user uploads, playlists, favorites and listens.
2ddfd26f1 '[ZippCast] Add new extractor'
5c2266df4 Switch codebase to use sanitized_Request instead of
45eedbe58 Generic: use compat_urllib_parse_unquote to prevent utf8 mangling
a8b081a05 BBCNewsIE: eliminate redundant function.
b4e1576ae Brightcove extractor: support customBC.createVideo(...); method
5d1f0e607 [MiomioTv] updated based on feedback to merge request:
796df3c63 fixed viddler support - needed a Referer header; also added a viddler
ebb641996 [common] Split _download_json
0403b0698 [soundcloud] Improve_VALID_URL
3266f0c68 [myspace] Redirect to other extractors
1940fadd5 [myspace] Handle non-playable songs
03fd72d99 [myspace] Add more data to info dict
f2b44a251 [myspace] Use player_url for faster download
6d1f2431b [BehindKink] Minor fixes
5c47fc680 Remove executable files.
1c783bca8 fixed (what I assume was a typo) that caused test_format_note to always fail.
77541837e The opening curly brace, '{', is a regex reserved control character, so it needs to be escaped (see http://stackoverflow.com/a/400316/1106367)
79981f039 Fixed test failure in test_all_urls: test_no_duplicates: BandcampAlbumIE inappropriately matched non-album bandcamp links as well.
0c7214c40 [prosiebensat1] Add support for ProSiebenSat.1 Digital sites (Closes
2e3fd9ec2 [bbc.co.uk] Improve overall extractor structure, add subtitles support
e63fc1bed Added '--xattrs' option which writes metadata to the file's extended attributes using a youtube-dl postprocessor.
1f343eaab [subtitles] refactor to support websites with subtitle information the
d80a064ef [subtitles] Added tests to check correct behavior when no subtitles are
69df680b9 [subtitles] Improved docs + new class for servers who don't support
33eb0ce4c [subtitles] removed only-sub option (--skip-download achieves the same
8377574c9 [internal] Improved subtitle architecture + (update in
953e32b2c [dailymotion] Added support for subtitles + new InfoExtractor for
cd453d38b Merge pull request #878 from yasoob/master
213c31ae1 Added option --autonumber-size:
553d09744 Refactor subtitle options from srt to the more generic 'sub'.
ae608b807 Added new option '--all-srt' to download all the subtitles of a video.
cdb130b09 Added new option '--only-srt' to download only the subtitles of a video
7311fef85 Modified youtube-dl to write new lines with the --newline switch. This
4fb1acc21 use the new --test option to speed up tests (fetch only first 10K)
1ca63e3ae the test didn't load our Gzip opener
c7287a3ca ATTENTION DO NOT USE THESE: new binaries in the Downloads section
fd873c69a Merge PR #422 from 'kevinamadeus/master'
ae16f68f4 Provider (youtube, etc) is now saved in info_dict, so template filename can be something like %(provider)s_%(id)s.%(ext)s
2c288bda4 reorganized the titles sanitizing: now title is the untouched title
921a14559 dropped the support for Python 2.5
c99dcbd2d Merge remote-tracking branch 'rmanola/master' (Closes: #124)
62a29bbf7 Fixed download from Dailymotion.

Since fixing this means rewriting oodles of history, I'm inclined to keep the fix in mind for some future time when it's critical to force-push to the repo. A command like this would then be needed, or else some slavehelpers to apply the changes manually:

git filter-repo --message-callback '
    nl = re.search(b"\\n(.)", message)
    if nl and nl.group(1) != b"\\n":
        message = message[:nl.start(1)] + b"\\n" + message[nl.start(1):]
    return message
'

Meanwhile, this POSIX formulation simulates git log --oneline args... (actually, --color isn't a grep option in any version of POSIX and more isn't required to interpret terminal colour codes, so colour might have to be omitted):

git log --pretty=tformat:"%h %B" args... | grep -E '^[0-9a-f]{9} ' --color=always | more

This formulation shows the notes as intended:

git log --pretty=tformat:"%h %B" args... | sed -r -e '/^[0-9a-f]{9} /{s/^([0-9a-f]+).+/Notes for \1:/}'
@dirkf commented on GitHub (Apr 25, 2025): That's quite irritating: thanks for noticing. The problem is not obvious in the commits page at GH or in `git log ..`, unless you apply `oneline` format. There should be a blank line after the first (subject) line in each case, because apparently just one newline wasn't enough. Although ["to err is human but to really foul things up requires a computer"](https://quoteinvestigator.com/2010/12/07/foul-computer/), almost certainly it's not a defect in `git rebase --interactive ...` or similar, nor even an automated summary tool, but [PEBCAK](https://www.pcmag.com/encyclopedia/term/pebcak), in fact several of them since examples go back to 62a29bbf7 (2011), in writing or revising commit messages. <details><summary>Here's a candidate list (354 items)</summary> ```console $ git log --pretty=format:"%h %B" | sed -rn -e '/^[0-9a-f]{9} /{:lp;h;n;s/^$//;t;s/^[0-9a-f]{9}/&/;t lp;g;p}' c052a16f7 [JSInterp] Add tests and relevant functionality from yt-dlp 6eb6d6dff [InfoExtractor] Use local variants for remaining parent method calls 6c40d9f84 [YouTube] Remove remaining hard-coded API keys 1b08d3281 [YouTube] Fix playlist continuation extraction 32b8d3178 [YouTube] Support shorts playlist cedeeed56 [cache] Align further with yt-dlp add462287 [compat] Add compat_os_makedirs 9a6ddece4 [core] Refactor message routines to align better with yt-dlp 4e714f9df [Misc] Correct [_]IE_DESC/NAME in a few IEs c1ea7f5a2 [ITV] Mark ITVX not working 2b4fbfce2 [YouTube] Support player `4fcd6e4a` 1bc45b8b6 [JSInterp] Use `,` for join() with null/undefined argument b982d77d0 [YouTube] Align signature tests with yt-dlp a4fc1151f [JSInterp] Improve indexing da7223d4a [YouTube] Improve support for tce-style player JS 37c2440d6 [YouTube] Update player client data 420d53387 [JSInterp] Improve tests 32f89de92 [YouTube] Update TVHTML5 client parameters 283dca56f [YouTube] Initially support tce-style player JS 1dc27e1c3 [JSInterp] Make indexing error handling more conformant 94849bc99 [JSInterp] Improve Date processing 974c7d7f3 [compat] Fix inheriting from compat_collections_chain_map 8738407d7 [compat] Support zstd Content-Encoding cecaa18b8 [compat] Clean-up 26b6f15d1 [compat] Make casefold private 5975d7bb9 [YouTube] Use X-Goog-Visitor-Id 21fff0512 [YouTube] Switch to TV API client 1036478d1 [YouTube] Endure subtitle URLs are complete 00ad2b8ca [YouTube] Refactor subtitle processing 176fc2cb0 [YouTube] Avoid early crash if webpage can't be read d55d1f423 [YouTube] Always extract using MWEB API client eeafbbc3e [YouTube] Fix signature function extraction for `2f1832d2` b4469a0f6 [YouTube] Handle player `3bb1f723` ce1e556b8 [jsinterp] Add return hook for player `3bb1f723` f487b4a02 [jsinterp] Strip /* comments */ when parsing 60835ca16 [jsinterp] Fix and improve "methods" 94fd77460 [jsinterp] Fix and improve split/join 5dee6213e [jsinterp] Fix and improve arithmetic operations 81e64cacf [jsinterp] Support multiple indexing (eg a[1][2]) c1a03b1ac [jsinterp] Fix and improve loose and strict equality operations f28d7178e [InfoExtractor] Use kwarg maxsplit for re.split c5098961b [Youtube] Rework n function extraction pattern 16f5bbc46 [YouTube] Fix nsig processing for player `b22ef6e7` d35ce6ce9 [jsinterp] Support functionality for player `b22ef6e7` 76ac69917 [jsinterp] Further improve expression parsing (fix fd8242e) 756f6b45c [jsinterp] Re-align JSInterp and tests (esp.) with yt-dlp 465210964 [core,utils] Implement unsafe file extension mitigation 3c466186a [utils] Back-port Namespace and MEDIA_EXTENSIONS from yt-dlp 4d05f8432 [PalcoMP3] Conform to new linter rule e0094e63c [jsinterp] Various tweaks fd8242e3e [jsinterp] Fix and improve expression parsing ad01fa6cc [jsinterp] Add Debugger from yt-dlp e20ca543f [ORF] Re-factor and update`ORFFM4StoryIE` e39466051 [ORF] Support sound.orf.at, updating `ORFRadioIE` d95c0d203 [ORF] Support on.orf.at, replacing `ORFTVthekIE` 3bde6a575 [test] Improve download test 21924742f [InfoExtractor] Misc yt-dlp back-ports, etc 768ccccd9 [compat] Avoid type comparison in `compat_ord` 34484e49f [compat] Improve compat_etree_iterfind for Py2.6 06da64ee5 [utils] Update traverse_obj() from yt-dlp 668332b97 [YouPorn] Add playlist extractors 0b2ce3685 [YouPorn] Improve extraction c2766cb80 [test/test_download] Support 'playlist_maxcount:count' expected value eb3866543 [YouPorn] Incorporate yt-dlp PR 8827 e0727e4ab [postprocessor/ffmpeg] Fix finding ffprobe (bug in 21792b8) 21792b88b [external/FFmpeg] Fix and improve --ffmpeg-location handling d8f134a66 [downloader/external] Fix "Resource Warning" in downloader test 820fae3b3 [Videa] Fix extraction f7b30e3f7 [XFileShare] Update extractor for 2024 f66372403 [InfoExtractor] Rework and improve JWPlayer extraction 7216fa2ac [InfoExtractor] Add `_search_json()` 4416f82c8 [Vbox7IE] Sanitise ld+json containing unexpected characters bdda6b81d [Vbox7IE] Improve extraction 1fd8f802b [InfoExtractor] Correctly resolve BaseURL in DASH manifest 4eaeb9b2c [InfoExtractor] Support byte range for DASH bec9180e8 [downloader/dash] Support `range` in fragment (format f'{start}-{end}') dc512e3a8 [YouTube] Fix `like_count` extraction using `likeButtonViewModel` f8b013585 [YouTube] Rework n-sig processing, realigning with yt-dlp 665187141 [compat] Rework compat for `method` parameter of `compat_urllib_request.Request` constructor 2a4e9faa7 [doc] Update developer guidance 74eef6bb5 [workflows/ci.yml] Extend Python versions b2741f265 [InfoExtractor] Add search methods for Next/Nuxt.js from yt-dlp d9d07a958 [utils] Improve js_to_json, align with yt-dlp 07af47960 [YouTube] Improve fix for ae8ba2c ae8ba2c31 [YouTube] Fix `KeyError QV` in signature extraction failed 1f7c6f8b2 [core] Further improve platform debug log d89c2137b [jsinterp] Small updates for a85a875 6ed343382 [jsinterp] Add short-cut evaluation for common expression a85a875fe [jsinterp] Handle NaN in bitwise operators cdf40b6aa [test] Update tests for Ubuntu 20.04 bafb6dec7 [YouTube] Refresh compat/utils usage f2f90887c [Vimeo] Fix `Unable to extract info section` redux 295736c9c [jsinterp] Improve parsing c282e5f8d [ZDF] Overhaul ZDF extractors 9493ffdb8 [test] Use windows-2019 for tests 7009bb9f3 [jsinterp] Workaround operator associativity issue 55c823634 [jsinterp] Handle new YT players 113ca41c, c57c113c ed5c44e7b [compat] Replace deficient ChainMap class in Py3.3 and earlier d619dd712 [jsinterp] Fix bug in operator precedence 66e58dccc [core] Avoid processing empty format list after removing bad formats 46b8ae2f5 [jsinterp] Clean up and pull yt-dlp style cc179df34 [XHamster] Support xhday.com alias, extract `uploader_id` 811c480f7 [YouTube] Support JSON3 subtitle format 530f4582d [HRFernsehen] Back-port new extractor from yt-dlp 1baa0f5f6 [utils] Escape URL while sanitizing e41882335 [ChangeLog] Actualize 5f85eb820 [ChangeLog] Actualize efeb9e0fb [ChangeLog] Actualize 346dd3b5e [ChangeLog] Actualize f20b505b4 [ChangeLog] Actualize 445db582a [ChangeLog] Actualize e789bb1aa [ChangeLog] Actualize 207bc35d3 [ChangeLog] Actualize c2fbfb49d [ChangeLog] Actualize b509d24b2 [ChangeLog] Actualize 8c9766f4b [ChangeLog] Actualize 000288862 [ChangeLog] Actualize 44b2d5f5f [ChangeLog] Actualize cd493c5ad [ChangeLog] Actualize c7d407bca [ChangeLog] Actualize 3c07d007c [ChangeLog] Actualize 811a183eb [ChangeLog] Actualize dbf3fa8af [ChangeLog] Actualize 8673f4344 [ChangeLog] Actualize 38a967c98 [ChangeLog] Actualize f4afb9a6a [ChangeLog] Actualize 2a84694b1 [ChangeLog] Actualize 38286ee72 [ChangeLog] Actualize a272fe21a [ChangeLog] Actualize 924ea66ad [ChangeLog] Actualize 2240a1dc4 [ChangeLog] Actualize ed40c02c9 [ChangeLog] Actualize 772cefef8 [ChangeLog] Actualize 9da0504a0 [ChangeLog] Actualize d9482c008 [ChangeLog] Actualize e7f93fbd8 [ChangeLog] Actualize 09d923f2e [ChangeLog] Actualize 16c822e91 [ChangeLog] Actualize 4dc545553 [ChangeLog] Actualize da4eaa15a [ChangeLog] Actualize 650bd8f62 [ChangeLog] Actualize 32152bab7 [ChangeLog] Actualize bb2b89e07 [ChangeLog] Actualize e3cad6bd9 [ChangeLog] Actualize 5bbdadd5f [ChangeLog] Actualize b9bceba37 [ChangeLog] Actualize bbc3b5b4b [ChangeLog] Actualize ca7ebc4e5 [ChangeLog] Actualize bff857a8a [postprocessor/embedthumbnail] Fix issues (closes #25717) 6cd452acf [ChangeLog] Actualize 570611955 [ChangeLog] Actualize 1c748722f [ChangeLog] Actualize 7adc7ca54 [ChangeLog] Actualize 607d20455 [ChangeLog] Actualize efd72b05d [ChangeLog] Actualize b74896dad [ChangeLog] Actualize 66f32ca0e [ChangeLog] Actualize 30b5121a1 [ChangeLog] Actualize b439634f0 [ChangeLog] Actualize 434f57304 [ChangeLog] Actualize 2db9ac228 [ChangeLog] Actualize 170f5b7c2 [ChangeLog] Actualize 0d718db62 [ChangeLog] Actualize bffdedfab [ChangeLog] Actualize d7c55f226 [ChangeLog] Actualize d6bf9cbd4 [ChangeLog] Actualize b1a92520a [ChangeLog] Actualize 2dbc0967f [ChangeLog] Actualize e3f00f139 [ChangeLog] Actualize fb8dfc5a2 [ChangeLog] Actualize 1a4e4b0bf [ChangeLog] Actualize cae0bbc53 [ChangeLog] Actualize 0d7392e68 [ChangeLog] Actualize b4818e3c7 [ChangeLog] Actualize 173190f5e [ChangeLog] Actualize 412f44f4b [ChangeLog] Actualize 2f851a7d7 [ChangeLog] Actualize 303d3e142 [ChangeLog] Actualize 035c7a59e [ChangeLog] Actualize 79dd8884b [ChangeLog] Actualize 69611a161 [ChangeLog] Actualize 2e9522b06 [ChangeLog] Actualize 8614a03f9 [ChangeLog] Actualize eaba9dd6c [ChangeLog] Actualize 8b4a0ebf1 [ChangeLog] Actualize 364a2cb65 [ChangeLog] Actualize 7612406bf [ChangeLog] Actualize c8343f0a4 [ChangeLog] Actualize 232331c0d [ChangeLog] Actualize bc6438c09 [ChangeLog] Actualize e35fc5ebc [ChangeLog] Actualize afd4985f7 [travis] Force dist to Ubuntu Trusty by default 42c971341 [ChangeLog] Actualize 07a2cef78 [ChangeLog] Actualize 67bfbe494 [ChangeLog] Actualize a61ce7146 [youtube] Remove info el for get_video_info request 026fbedc8 [youtube] Improve extraction robustness da668a23b [ISSUE_TEMPLATE.md] Add entry on argument escaping in make-sure checklist 98933c14e [ChangeLog] Actualize 984693525 [ChangeLog] Actualize aa5338118 [ChangeLog] Actualize 25d924314 [ChangeLog] Actualize 2ed2ebdb3 [ChangeLog] Actualize 47f979262 [ruleporn] Remove extractor (closes #15344, closes #20324) bba35695e [ChangeLog] Actualize 39c780fde [extractor/common] Return MPD manifest as format's url meta field (#20242) 333f617b1 [ChangeLog] Actualize c76fc5b22 [ChangeLog] Actualize f1f5b4725 [ChangeLog] Actualize 0efcb5a2f [vporn] Remove extractor (closes #16276) c2a0fe2ea [ChangeLog] Actualize ca01e5f90 [ChangeLog] Actualize a2d821d71 [drtv] Improve extraction (closes #19039) bf8ebc9cf [ChangeLog] Actualize 7d311586e [ChangeLog] Actualize 0670bdd8f [ChangeLog] Actualize f53cecd79 [ChangeLog] Actualize b0d73a745 [ChangeLog] Actualize a4491dd55 [ChangeLog] Actualize aeb72b3a4 [ChangeLog] Actualize 32ac3d49a [ChangeLog] Actualize cbb3e4b14 [ChangeLog] Actualize 24cc64254 [ChangeLog] Actualize 1fa59a928 [ChangeLog] Actualize 66173211c [ChangeLog] Actualize 02df855e1 [ChangeLog] Actualize f81d44aab [ChangeLog] Actualize a08541093 [ChangeLog] Actualize c2fe21efa [ChangeLog] Actualize 2e7ed29e3 [ChangeLog] Actualize 3d3499742 [ChangeLog] Actualize d9b1cec17 [ChangeLog] Actualize 14f577e31 [ChangeLog] Actualize a41a50607 [ChangeLog] Actualize 7bbc1b189 [ChangeLog] Actualize 56213aff1 [ChangeLog] Actualize b66227398 [ChangeLog] Actualize 20f96f64b [ChangeLog] Actualize 4eecef84f [ChangeLog] Actualize 6f27998e7 [ChangeLog] Actualize 25586c601 [theplatform] PEP 8 7e8e948cf [ChangeLog] Actualize d5de0f21b [ChangeLog] Actualize c306f076e [ChangeLog] Actualize 91aa502d9 [foxnews:insider] Remove extractor (#15810) e73050882 [ChangeLog] Actualize d391b7e23 [extractor/common] Introduce expected_status for convenient accept of failed HTTP requests 9e761fe6f [ChangeLog] Actualize 03eef0f03 [ChangeLog] Actualize cc37cc3f9 [ChangeLog] Actualize c6c478f40 [ChangeLog] Actualize 73c938e46 [ChangeLog] Actualize bc3143ac5 [ChangeLog] Actualize 38e4e8ab8 [ChangeLog] Actualize 58197205d [ChangeLog] Actualize 44277998a [ChangeLog] Actualize 5f95927a6 Improve geo bypass mechanism cc5772c4f [ChangeLog] Actualize e028d4f50 [ChangeLog] Actualize 171625469 [etonline] Remove extractor (closes #16256) af751350e [Makefile] Add support for pandoc 2 and disable smart extension (closes #16251) 0e6ccb390 [ChangeLog] Actualize 880ed89d4 [ChangeLog] Actualize 10f9caec0 [ChangeLog] Actualize c3cfc71a0 [ChangeLog] Actualize 29d959456 [ChangeLog] Actualize c651de39d [ChangeLog] Actualize c95dfb050 [ChangeLog] Actualize d11691899 [raywenderlich] PEP 8 7399ca1f8 [pornhub] PEP 8 7dee41712 [ChangeLog] Actualize 28f21c950 [ChangeLog] Actualize 69d69da98 [kaltura] Add another embed pattern for entry_id 6b2d8c918 [bbc.co.uk] fix extraction for 320k m3u8 streams d3f8b76b6 [extractor/generic] Fix typo (closes #14902) 593f2f798 [downloader/fragment] Commit part file after each fragment 21ce43405 [travis] Enable IRC notifications 210a2720b [anvato] Process master m3u8 manifests cd6fc19ed [YoutubeDL] Ignore duplicates in --playlist-items 6be08ce60 [utils] Use in OnDemandPagedList by default ff17be3ac [extractor/generic] Extract from LD-JSON last of all a3c3a1e12 [http] Rework HTTP downloader 1141e9104 Use relative paths for DASH fragments (closes #12990) 799802f36 [teamfour] Remove extractor (closes #13782) 0396806f6 [YoutubeDL] Do not override id, extractor and extractor_key in url_transparent deef31955 [utils] Improve unified_timestamp 7986c3abc [anvato] Improve extraction (closes #12913) c0fa4245c [downloader/fragment] Remove assert for resume_len when no fragments downloaded cb2520802 [extractor/common] Improve m3u8 extraction (closes #12211) e5d39886e [limelight] Improve embeds extraction (closes #12761) d35dc344a [YoutubeDL] Apply expand_path after output template substitution d23028a8f [youtube] Remove explicit preference for audio-only and video-only formats b8d8cced9 [rai] Improve extraction (closes #11790) 610a6d105 [atresplayer] Do not extract ISM formats 4d345bf17 [ruutu] Disable DASH formats (closes #12322) 527ef85fe [dailymotion] Make comment count optional (closes #12209) 553f6dbac [downloader/dash] Honor HTTP headers when downloading fragments 4248dad92 Improve geo bypass mechanism 773f291dc Add experimental geo restriction bypass mechanism ff24261ba [kaltura] Add explicit port to regexes f7a10d8cd [sportbox] Remove extractor (closes #11954) 79fc8496c [xiami] Improve extraction (closes #11699) 906420cae [limelight] Improve and make more robust (closes #11737) adf063dad [mtv,cc,cmt,spike] Improve and refactor 20faad74b [mtv] Fix non-hls extraction 2032d935d [mtv] Add default value for use_hls ee824a8d0 [ChangeLog] Actualize f475e8812 [vimeo] PEP 8 cc764a6da [twitch:stream] Remove fallback to profile extraction when stream is offline 86f4d14f8 Refactor fragments interface and dash segments downloader 1dec2c8a0 [adobepass] Change mvpd cache section name c96eca426 [mixcloud] Added support for user uploads, playlists, favorites and listens. 2ddfd26f1 '[ZippCast] Add new extractor' 5c2266df4 Switch codebase to use sanitized_Request instead of 45eedbe58 Generic: use compat_urllib_parse_unquote to prevent utf8 mangling a8b081a05 BBCNewsIE: eliminate redundant function. b4e1576ae Brightcove extractor: support customBC.createVideo(...); method 5d1f0e607 [MiomioTv] updated based on feedback to merge request: 796df3c63 fixed viddler support - needed a Referer header; also added a viddler ebb641996 [common] Split _download_json 0403b0698 [soundcloud] Improve_VALID_URL 3266f0c68 [myspace] Redirect to other extractors 1940fadd5 [myspace] Handle non-playable songs 03fd72d99 [myspace] Add more data to info dict f2b44a251 [myspace] Use player_url for faster download 6d1f2431b [BehindKink] Minor fixes 5c47fc680 Remove executable files. 1c783bca8 fixed (what I assume was a typo) that caused test_format_note to always fail. 77541837e The opening curly brace, '{', is a regex reserved control character, so it needs to be escaped (see http://stackoverflow.com/a/400316/1106367) 79981f039 Fixed test failure in test_all_urls: test_no_duplicates: BandcampAlbumIE inappropriately matched non-album bandcamp links as well. 0c7214c40 [prosiebensat1] Add support for ProSiebenSat.1 Digital sites (Closes 2e3fd9ec2 [bbc.co.uk] Improve overall extractor structure, add subtitles support e63fc1bed Added '--xattrs' option which writes metadata to the file's extended attributes using a youtube-dl postprocessor. 1f343eaab [subtitles] refactor to support websites with subtitle information the d80a064ef [subtitles] Added tests to check correct behavior when no subtitles are 69df680b9 [subtitles] Improved docs + new class for servers who don't support 33eb0ce4c [subtitles] removed only-sub option (--skip-download achieves the same 8377574c9 [internal] Improved subtitle architecture + (update in 953e32b2c [dailymotion] Added support for subtitles + new InfoExtractor for cd453d38b Merge pull request #878 from yasoob/master 213c31ae1 Added option --autonumber-size: 553d09744 Refactor subtitle options from srt to the more generic 'sub'. ae608b807 Added new option '--all-srt' to download all the subtitles of a video. cdb130b09 Added new option '--only-srt' to download only the subtitles of a video 7311fef85 Modified youtube-dl to write new lines with the --newline switch. This 4fb1acc21 use the new --test option to speed up tests (fetch only first 10K) 1ca63e3ae the test didn't load our Gzip opener c7287a3ca ATTENTION DO NOT USE THESE: new binaries in the Downloads section fd873c69a Merge PR #422 from 'kevinamadeus/master' ae16f68f4 Provider (youtube, etc) is now saved in info_dict, so template filename can be something like %(provider)s_%(id)s.%(ext)s 2c288bda4 reorganized the titles sanitizing: now title is the untouched title 921a14559 dropped the support for Python 2.5 c99dcbd2d Merge remote-tracking branch 'rmanola/master' (Closes: #124) 62a29bbf7 Fixed download from Dailymotion. ``` </details> Since fixing this means rewriting oodles of history, I'm inclined to keep the fix in mind for some future time when it's critical to force-push to the repo. A command like this would then be needed, or else some ~slave~helpers to apply the changes manually: ```shell git filter-repo --message-callback ' nl = re.search(b"\\n(.)", message) if nl and nl.group(1) != b"\\n": message = message[:nl.start(1)] + b"\\n" + message[nl.start(1):] return message ' ``` Meanwhile, this POSIX formulation simulates `git log --oneline args...` (actually, `--color` isn't a _grep_ option in any version of POSIX and _more_ isn't required to interpret terminal colour codes, so colour might have to be omitted): ```shell git log --pretty=tformat:"%h %B" args... | grep -E '^[0-9a-f]{9} ' --color=always | more ``` This formulation shows the `notes` as intended: ```shell git log --pretty=tformat:"%h %B" args... | sed -r -e '/^[0-9a-f]{9} /{s/^([0-9a-f]+).+/Notes for \1:/}' ```
Author
Owner

@bashonly commented on GitHub (Apr 26, 2025):

Surely you're not considering rewriting years of git commit history the next time you have to force push? That would be extremely suspect

@bashonly commented on GitHub (Apr 26, 2025): Surely you're not considering rewriting years of git commit history the next time you have to force push? That would be extremely suspect
Author
Owner

@mk-pmb commented on GitHub (Apr 26, 2025):

I happen to have really good tools for rewriting (linear¹) git history, so if you need help with that, I'm here. (¹ I could probably add sidetracks and merge commits if needed.)

That said, I agree with @bashonly that this is not a proper use case to do so. We should accept the past and improve from here on. Any effort we'd need to convince users to trust the rewritten branch, should instead go towards helping them switch to yt-dlp.

Edit: Ok actually on 2nd thought, the effort would be for them to do a git diff between two tags that we would provide for their convenience, and observing that the diff is empty. In an ideal world, that would be trivial for all parties involved. In the real world though, users will be very creative in having concerns and questions.

@mk-pmb commented on GitHub (Apr 26, 2025): I happen to have really good tools for rewriting (linear¹) git history, so if you need help with that, I'm here. (¹ I could probably add sidetracks and merge commits if needed.) That said, I agree with @bashonly that this is not a proper use case to do so. We should accept the past and improve from here on. Any effort we'd need to convince users to trust the rewritten branch, should instead go towards helping them switch to yt-dlp. Edit: Ok actually on 2nd thought, the effort would be for them to do a git diff between two tags that we would provide for their convenience, and observing that the diff is empty. In an ideal world, that would be trivial for all parties involved. In the real world though, users will be very creative in having concerns and questions.
Author
Owner

@dirkf commented on GitHub (Apr 26, 2025):

... not considering rewriting years of git commit history ... ?

Obvs considering it, since it's the only way to solve the issue, apart from doing nothing, but by no means keen to do so. If only retroactively changing whitespace in git commit messages wasn't like adjusting the amount of crypto-coins in one's wallet.

... a git diff between two tags that we would provide for their convenience ... is empty.

It's basically, or even easier than, the "easy case" as described under "RECOVERING FROM UPSTREAM REBASE" in the git-rebase documentation.

As suggested, there could be a "true history" branch at the HEAD of the then current master, with a matching tag in the rewritten master; but only master would receive subsequent updates.

Since yt-dlp isn't a strict fork, I suppose that changing commit digests here wouldn't affect it, but any custodians of true forks are encouraged to comment.

@dirkf commented on GitHub (Apr 26, 2025): > ... not considering rewriting years of git commit history ... ? Obvs *considering* it, since it's the only way to solve the issue, apart from doing nothing, but by no means keen to do so. If only retroactively changing whitespace in _git_ commit messages wasn't like adjusting the amount of crypto-coins in one's wallet. > ... a git diff between two tags that we would provide for their convenience ... is empty. It's basically, or even easier than, the "easy case" as described under "RECOVERING FROM UPSTREAM REBASE" in the `git-rebase` documentation. As suggested, there could be a "true history" branch at the `HEAD` of the then current `master`, with a matching tag in the rewritten `master`; but only `master` would receive subsequent updates. Since _yt-dlp_ isn't a strict fork, I suppose that changing commit digests here wouldn't affect it, but any custodians of true forks are encouraged to comment.
Author
Owner

@bashonly commented on GitHub (Apr 28, 2025):

We should accept the past and improve from here on.

@bashonly commented on GitHub (Apr 28, 2025): > We should accept the past and improve from here on.
Author
Owner

@mk-pmb commented on GitHub (Jun 1, 2025):

any custodians of true forks are encouraged to comment.

Should we put a closing date on it? How do we progress?

@mk-pmb commented on GitHub (Jun 1, 2025): > any custodians of true forks are encouraged to comment. Should we put a closing date on it? How do we progress?
Author
Owner

@dirkf commented on GitHub (Aug 20, 2025):

Probably I'm a bit slow but today I learned about git-replace.

It seems that this could only be a local solution after cloning from the GH repo, but it should be possible to produce a script based on commands mentioned above to take each problem commit, create a fixed commit from it, and then git replace ... it with the fixed one.

@dirkf commented on GitHub (Aug 20, 2025): Probably I'm a bit slow but today I learned about [_git-replace_](https://git-scm.com/docs/git-replace). It seems that this could only be a local solution after cloning from the GH repo, but it should be possible to produce a script based on commands mentioned above to take each problem commit, create a fixed commit from it, and then `git replace ...` it with the fixed one.
Author
Owner

@mk-pmb commented on GitHub (Aug 22, 2025):

Yeah, git-replace sounds like a very hacky local override. I'd expect that to cause much more long-term maintenance trouble than having people verify via empty diff that a new branch is legit. With a script to reproduce the replacements, users would have to trust that script. A script has much more potential for shenanigans than an empty diff could have.

@mk-pmb commented on GitHub (Aug 22, 2025): Yeah, `git-replace` sounds like a very hacky local override. I'd expect that to cause much more long-term maintenance trouble than having people verify via empty diff that a new branch is legit. With a script to reproduce the replacements, users would have to trust that script. A script has much more potential for shenanigans than an empty diff could have.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/youtube-dl-ytdl-org#27099
No description provided.