[Oberon] http://cas.inf.ethz.ch/projects/a2

Michael Schierl schierlm at gmx.de
Wed Feb 15 00:02:26 CET 2023


Hello,


Am 21.12.2022 um 17:29 schrieb Michael Schierl:
> Am 04.11.2022 um 08:13 schrieb Felix Friedrich:
>
>> When/if we do the switch, I will try to preserve all history of the A2
>> SVN in git and / or leave the SVN (read-only) in place.
>
> Could you make a dump file of the old SVN repository available? (I did
> not find any.) For some reason, svnrdump runs really slow when I run it
> from my machine across the Internet against the readonly repository.

I finally managed to run it from a different machine and filter it to
not contain most of the binaries. The resulting repository is about
120MB, which is acceptable (in my opinion) for a git repository size
(and still smaller than the old SVN working copy's .svn directory).

A Git repository of all the history of `trunk`, except

- `/trunk/ARM`
- `/trunk/lin32`
- `/trunk/Linux32`
- `/trunk/Linux32G`
- `/trunk/Linux64`
- `/trunk/Linux64G`
- `/trunk/LinuxARM`
- `/trunk/Win32`
- `/trunk/win64`
- `/trunk/Win64`
- `/trunk/Win64G`
- `/trunk/WinAos/Obg`
- `/trunk/WinAos/Obj`
- `/trunk/WinAos/ObjE`
- `/trunk/WinAos/ObjI`
- `/trunk/WinAos/obg`
- `/trunk/WinAos/obj`
- `/trunk/WinAos/A2.exe`
- `/trunk/WinAos/Aos.EXE`
- `/trunk/WinAos/AosDebug.exe`
- `/trunk/WinAos/oberon.exe`

is now available at

https://github.com/schierlm/Oberon-A2-Archive/


You can use "git replace" to replace the history in your own local
repositories like this:


git clone https://gitlab.inf.ethz.ch/felixf/oberon.git
cd oberon
git remote add archive https://github.com/schierlm/Oberon-A2-Archive.git
git fetch archive a2-svn-filtered-trunk
git checkout -b replace-9e55f03e archive/a2-svn-filtered-trunk
git reset 9e55f03e -- :/
git commit -m 'Create replace reference point'
git reset --hard
git clean -fdx
git checkout main
git replace 9e55f03e replace-9e55f03e


Afterwards, "git log", "git blame", etc. will follow the old history
once they reach the commit 9e55f03e, providing a (hopefully) full
history of the source files. When committing or pushing, the old history
is ignored, so that the resulting commits can be merged to the upstream
repository.


Regards,


Michael



More information about the Oberon mailing list