mirror of
https://github.com/beetbox/beets.git
synced 2026-02-23 07:44:38 +01:00
Simplify multi-genre implementation based on maintainer feedback (PR #6169). Changes: - Remove multi_value_genres and genre_separator config options - Replace complex sync_genre_fields() with ensure_first_value('genre', 'genres') - Update all plugins (Beatport, MusicBrainz, LastGenre) to always write genres as lists - Add automatic migration for comma/semicolon/slash-separated genre strings - Add 'beet migrate genres' command for explicit batch migration with --pretend flag - Update all tests to reflect simplified approach (44 tests passing) - Update documentation Implementation aligns with maintainer vision of always using multi-value genres internally with automatic backward-compatible sync to the genre field via ensure_first_value(), eliminating configuration complexity. Migration strategy avoids problems from #5540: - Automatic lazy migration on item access (no reimport/mbsync needed) - Optional batch migration command for user control - No endless rewrite loops due to proper field synchronization |
||
|---|---|---|
| .. | ||
| autotag | ||
| plugins | ||
| rsrc | ||
| ui | ||
| util | ||
| __init__.py | ||
| conftest.py | ||
| test_art_resize.py | ||
| test_autotag.py | ||
| test_datequery.py | ||
| test_dbcore.py | ||
| test_files.py | ||
| test_hidden.py | ||
| test_importer.py | ||
| test_library.py | ||
| test_logging.py | ||
| test_m3ufile.py | ||
| test_metadata_plugins.py | ||
| test_metasync.py | ||
| test_pipeline.py | ||
| test_plugins.py | ||
| test_query.py | ||
| test_release.py | ||
| test_sort.py | ||
| test_template.py | ||
| test_types.py | ||
| test_util.py | ||
| testall.py | ||