[M3devel] --> Git
Rodney M. Bates
rodney_bates at lcwb.coop
Mon Aug 18 23:29:28 CEST 2014
On 08/17/2014 01:20 PM, Dragiša Durić wrote:
> # git push --all --force
> Counting objects: 134952, done.
> Delta compression using up to 4 threads.
> Compressing objects: 100% (59339/59339), done.
> Writing objects: 100% (134952/134952), 166.60 MiB | 827.00 KiB/s, done.
> Total 134952 (delta 92451), reused 114795 (delta 73863)
> remote: warning: GH001: Large files detected.
> remote: warning: See http://git.io/iEPt8g for more information.
> remote: warning: File m3-sys/m3tests/src/p2/p227/stdout.pgm is 52.44 MB; this is larger than GitHub's recommended maximum file size of 50 MB
> remote: warning: File m3-sys/m3tests/src/p2/p227/stdout.pgm-little_endian32 is 52.44 MB; this is larger than GitHub's recommended maximum file size of 50 MB
> To https://github.com/dragisha/cm3.git
> + 0b54fd3...6216c2d master -> master (forced update)
> + 24a4428...56a30c3 release_branch_cm3_5_8 -> release_branch_cm3_5_8 (forced update)
> * [new branch] FSF_GCC_4_5 -> FSF_GCC_4_5
> * [new branch] FSF_GCC_4_7 -> FSF_GCC_4_7
> * [new branch] branch_feature_longint_offset -> branch_feature_longint_offset
> * [new branch] devel_m3core_text_newtext_branch -> devel_m3core_text_newtext_branch
> * [new branch] devel_unicode -> devel_unicode
> * [new branch] gcc -> gcc
> * [new branch] trunk -> trunk
> Here we are.
> Please test this HEAD at least, I will do the same today and tomorrow. Also - let’s make this final, if possible. I can speed this conversion up but it would be the best to make this final if tests pass - so we can free CVS repo and start to reap Git benefits.
I was able to git-clone cm3 and pm3 on two machines and, on LINUXLIBC6, build, install,
and rebuild the "front" group from the sources in the git checkout, then build as much
else as I expect to also build in the cvs checkout.
A diff between the cvs and git checkouts was less than conclusive, because of overwhelming
irrelevant differences, especially .mx & .m3x files. Still, it looks like the only differences
I see in relevant files are changes of \r\n to \n, in a few files, e.g. m3-www/http/src/App.i3
> On 17 Aug 2014, at 19:03, Dragiša Durić <dragisha at m3w.org <mailto:dragisha at m3w.org>> wrote:
>> Thanks for info, it will be so.
>> Now, on boxes I am using it takes about 6 hours to do whole conversion and I cannot do it incrementally.
>> It would be great if we arrange few tests and then turn CVS read-only and switch to using Git. I will push current CVS converted to github in few minutes.
>> On 17 Aug 2014, at 18:19, Antony Hosking <hosking at purdue.edu <mailto:hosking at purdue.edu>> wrote:
>>> I would dearly like to preserve the entire history. It has significant value.
>>> Sent from my iPhone
>>>> On Aug 17, 2014, at 5:40 AM, Dragiša Durić <dragisha at m3w.org <mailto:dragisha at m3w.org>> wrote:
>>>> You probably all know differences between theory and practice. In theory, there are none. In practice - a lot of them! :)
>>>> I have identified three main ways to convert CVS to Git.
>>>> One looked most promising as it is bidirectional (and incremental) - using git cvsimport. I did this one, and its result is at github right now. But - it is not good. Some files show wrong version in HEAD. git cvsimport depends on old version of cvsps, and those cvsps people probably released newer version for some reason(s)… As long as I don’t want to dive into cvsps / git cvsimport source codes, no solution there. And I really do not have that kind of interest and/or time.
>>>> Ok, no incremental… This is where I tried cvs2git. It works well but it does not map authors (svn2git does, but although cvs2git comes from same team, features are not in concert). There is some arcane way proposed, but I lost trust when I saw svn2git from same team supports authors file, but cvs2git does not. Not big issue, but I had that in first try so I tried third way.
>>>> Third way is cvs2svn, and then git svn clone. Results look good, esp. after applying some after processing proposed bu Git people.
>>>> One proposal there is to not convert whole repository history. My idea is to convert from just before 5.8.6 was released (July 2010). Does anybody have something against this? I will still keep original CVS repo, and SVN conversion results (where all history is accessible). If there is oposition, I will spend some more CPU time and make full history available through Git. There are around 10000 svn revisions before July 2010, and total of 12752 as of today.
>>>> Please advise :)
rodney.m.bates at acm.org
More information about the M3devel