patches: MAME is now pushed as a full repo (branch vt1200-local) -- correct the README, which said it was not, and say why the patch is still kept

This commit is contained in:
SDD committed 2026-10-16 17:50:58 +03:00
1 parent 1561e34967
commit 1051bf2940
1 file changed
+23 -12
+23 -12
View File
@@ -31,23 +31,34 @@ because upstream moved, `git apply -3` will fall back to a three-way merge.
`mame0289` is a tag leaves a **detached HEAD**, so commit before you check
anything else out — otherwise edits are discarded.
## Why a patch and not a mirror
## Why a patch as well as a repo
The MAME tree is not pushed as a repository. Its remote **rejects shallow
updates** (`receive.shallowUpdate` is off), and this is a `--depth 1` clone
pinned at a tag, so no push from it is accepted:
The MAME tree **is** now pushed as a full repository — `origin` is
`git@git.k-space.ee:arti/mame0289.git`, and our commit sits on branch
**`vt1200-local`** there. Getting there needed `git fetch --unshallow` first
(99,645 commits, `.git` 1.9 GB, ~3 minutes) because the server rejects shallow
updates:
```
! [remote rejected] vt1200-local -> vt1200-local (shallow update not allowed)
```
Making it pushable means `git fetch --unshallow`, which downloads MAME's **full
history** — several GB and tens of minutes — to transmit a 50-line difference.
This patch carries the same information in 155 lines and is reviewable in a diff.
`receive.shallowUpdate` is off on that server, and the clone was `--depth 1`
pinned at a tag, so no push from it was accepted until it was unshallowed.
`git config receive.shallowUpdate true` on the server would avoid the unshallow
for anyone repeating this.
If a real fork is wanted anyway, unshallow first:
This patch is kept anyway, for three reasons:
* it is the **complete change in 50 lines** — reviewable in a diff, where a
1.9 GB repository is not;
* it **reproduces the tree without a full clone**, which matters on a fresh
machine or a slow link;
* it is the **record of what this project changes about upstream MAME**, and
every claim about those changes lives beside the driver rather than in a
repository's history.
Note the branch name is `vt1200-local`, not `master`. If the forge's default
branch is still `master` and therefore empty, set `vt1200-local` as the default
so the repository opens on something.
```sh
git -C /home/arti/code/k-space/mame0289 fetch --unshallow upstream
git -C /home/arti/code/k-space/mame0289 push -u origin vt1200-local
```