Add fork documentation and rewrite README
- README: watch-first feature overview, install + libmpv requirement, fork attribution. - docs/UPSTREAM.md: upstream merge procedure, expected conflict zones, list of SageTube-only modules. - docs/BUILDING.md: per-OS libmpv install, managed-binary locations, playback reliability notes, warning that inherited GitHub release workflows download appimagetool/ffmpeg without checksum verification. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Tracking upstream YTSage
|
||||
|
||||
SageTube keeps the full git history of [YTSage](https://github.com/oop7/YTSage)
|
||||
and the internal `ytsage` package name so upstream improvements can be merged.
|
||||
|
||||
## Syncing
|
||||
|
||||
```bash
|
||||
git fetch upstream # upstream = https://github.com/oop7/YTSage.git
|
||||
git merge upstream/main
|
||||
```
|
||||
|
||||
## Expected conflict zones
|
||||
|
||||
Most SageTube features live in **new files** and merge cleanly. Conflicts are
|
||||
likely only in:
|
||||
|
||||
| File | Reason |
|
||||
|---|---|
|
||||
| `ytsage/gui/ytsage_gui_main.py` | tab-shell edit in `init_ui` (`_setup_main_tabs`), closeEvent hook |
|
||||
| `ytsage/gui/ytsage_gui_analysis.py` | delegates subprocess execution to `YtdlpClient` |
|
||||
| `ytsage/utils/ytsage_constants.py` | SageTube data dirs, PATH prepend for managed binaries |
|
||||
| `ytsage/utils/ytsage_config_manager.py` | atomic save, defaults merge, player/feed/advanced keys |
|
||||
| `pyproject.toml` | name, version, deps (python-mpv), URLs |
|
||||
| `ytsage/languages/en.json` | added sections: player, cards, main_tabs, search, watch, browse, feed |
|
||||
|
||||
Bug fixes made in this fork (see git log between the merge commit and the
|
||||
first feature commit) may also conflict if upstream fixes them differently —
|
||||
prefer whichever version is stricter about verification and thread safety.
|
||||
|
||||
## SageTube-only modules (never conflict)
|
||||
|
||||
- `ytsage/core/ytsage_client.py` — shared yt-dlp JSON invocation layer
|
||||
- `ytsage/core/ytsage_mpv.py` — libmpv probe
|
||||
- `ytsage/gui/ytsage_gui_player.py` — embedded mpv player
|
||||
- `ytsage/gui/ytsage_gui_watch.py` / `_search.py` / `_browse.py` / `_feed.py` — tabs
|
||||
- `ytsage/gui/ytsage_gui_router.py` / `_cards.py` — navigation + video cards
|
||||
- `ytsage/utils/ytsage_library_manager.py` — subscriptions/history/queue DB
|
||||
Reference in New Issue
Block a user