gnucobol icon indicating copy to clipboard operation
gnucobol copied to clipboard

Could you combine gnucobol2 with gnucobol repo?

Open GitMensch opened this issue 3 years ago • 9 comments

I know that cross-posting is "not nice", but I wasn't sure on the awareness of https://github.com/OCamlPro/gnucobol2/issues/1 so:

[gnucobol2] has a much longer history (back to https://github.com/OCamlPro/gnucobol2/commit 6c03b34fc4159a993d0f223bb480b58bc4a453e6) and all branches, which lights up the hope that it may be possible to:

  • update the [gnucobol2] repo (= we'd get everything that is actually in)
  • create missing branches for OCamplPro contributions which currently only exist in the gnucobol repo with its content
  • rename gnucobol to gnucobol-old and gnucobol2 to gnucobol

GitMensch avatar Nov 08 '22 18:11 GitMensch

I just gave another attempt at migration SVN -> GIT. I created three Github projects:

  • https://github.com/OCamlPro/gnucobol3 : this one is supposed to work the same way as OCamlPro/gnucobol, but with a complete history. Contrary to OCamlPro/gnucobol2 that was not updated, it is also supposed to be updated.
  • https://github.com/OCamlPro/gnucobol-docs : this one is for the external-doc/ dir of gnucobol/code. I couldn't find a way for svn2git to work with it without creating a specific git repo.
  • https://github.com/OCamlPro/gnucobol-contrib : this one is for the contrib/ part

They are supposed to be updated every 10 minutes from the SVN, I will check in a few days if everything works correctly (i.e. updates are pushed), in which case we could decide to use them.

lefessan avatar Feb 24 '23 10:02 lefessan

That looks quite nice! I guess this should also work with "local" branches (like the ocaml ones we have here)?

GitMensch avatar Feb 24 '23 11:02 GitMensch

Yes, actually, it could be done in both ways, i.e. merging on Github would commit on SVN, but I haven't tried it (and it makes me a little scary of breaking everything...)

lefessan avatar Feb 24 '23 12:02 lefessan

Please let's leave GitHub as a "mirror + " only (one way). BTW: can you please share the notes how you setup gnucobol3 and do the automated sync from upstream?

GitMensch avatar Feb 24 '23 12:02 GitMensch

To create the repo:

svn2git svn+ssh://[email protected]/p/gnucobol/code 
git remote add origin [email protected]:OCamlPro/gnucobol3.git
git push --mirror

lefessan avatar Feb 24 '23 12:02 lefessan

To update it from crontab every 10 minutes:

yes | /usr/local/bin/svn2git --rebase
git push origin --all
git push origin --tags

lefessan avatar Feb 24 '23 12:02 lefessan

Not complex, just takes a lot of time the first time to go through 5000 commits

lefessan avatar Feb 24 '23 12:02 lefessan

The notes above miss the part how to split the external-docs out to a separate repo.

GitMensch avatar Jan 02 '24 16:01 GitMensch

So, I have restarted my efforts, and the result is here:

https://github.com/OCamlPro/gnucobol4

This time, all the authors are correctly handled.

Note that I have already switched the gnucobol-docs and gnucobol-contrib to use these mirrors (as they almost had no contributions, except one for docs).

The next operations should be:

  • warn all users of what is going to happen
  • wait some time (a few days ? a few weeks ?)
  • rename ocamlpro/gnucobol to ocamlpro/gnucobol2
  • rename ocamlpro/gnucobol4 to ocamlpro/gnucobol
  • tell all users that the renaming was done

lefessan avatar Jan 11 '24 23:01 lefessan