dMZX Forums: MegaZeux Git Repository - dMZX Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

MegaZeux Git Repository Bye-bye SVN..

#1 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 13 February 2010 - 11:47 AM

After years of procrastination, I finally got around to finishing off the SVN->Git migration for MegaZeux's source code. The old SVN repository, hosted on SourceForge, is now obsolete, and anybody who had write access to it has had their access removed. Consider sourceforge.net's SVN repository dead (though I may still release tarballs there; we'll see). The repository won't be deleted because its history is better in some ways (described below).

The new source repository is now available from github. I haven't decided whether to use the push or pull model; we'll sort that out when somebody wants to contribute some new code. Please feel free to try setting yourself up with Git; ask me any questions on this thread. I have updated the MSYS documentation for folks using Git on Windows. It includes instructions for installing MSYS/mingw, Git, and checking out and building MegaZeux.

As it stands, the new repository has every GPL version of MZX released, all the way back to 2.51g. The DOS versions can be built in DosBox with Borland Turbo C++ 3.0. I have removed the original PRJ files (they had hard-coded paths from Exo/Koji's machines) and replaced them with Borland-syntax Makefiles. The migration wasn't perfectly smooth as there were lots of issues introduced by the automatic CVS->SVN migration I did some years ago. The git history is more or less a direct import of SVN after 2.81e, but some intermediary versions won't build correctly. Versions prior to 2.81f have been imported as "snapshots" of released source. I stopped tagging releases after 2.81h too, because 2.82's trunk diverged too much from the branch -- I may revisit this later. Non-mainline branches have not yet been imported, but that's also on my TODO list.

You can get a list of tags with "git tag" and switch to a tag with "git checkout v2.81e" (for example).

A full clone of this repository, including all versions from 2.51g to SVN HEAD is just over 5MBs. Happy hacking!

--ajs.
0

#2 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 13 February 2010 - 04:58 PM

Why?
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#3 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 13 February 2010 - 05:35 PM

Fair question! The biggest reason for the move was to get rid of sourceforge, which has slow and unreliable servers. Operations like "svn log -rN" and "svn diff -rA:B" were very slow, and as of recently, sometimes would time out altogether. It was becoming exasperating to use. This is hardly a recent problem, though; I started the Git repository almost 2 years ago for the same reason.

Why Git? I thought about just moving the SVN server, certainly that would have been easier, but when folks forked the code, for example dsmzx and Revvy's robotic debugger, they'd put their code in other version control systems. I guess the primary motivation was that a) SVN isn't very good and b) it's not very easy to "clone" an SVN repository. Distributed version control's much better at that, so that narrowed my choices. I ultimately picked git because it was familiar to me (I use it at work) and the Windows port was acceptably functional, and constantly improving.

Also, sometimes it's been useful to be able to switch to the old versions to see how a feature was implemented, and it's much handier to do that from version control than with tarballs.

--ajs.
0

#4 User is offline   Wervyn 

  • I can see you
  • Group: DigiStaff
  • Posts: 1,855
  • Joined: 24-December 00
  • Gender:Male
  • Location:Caras Galadhon

Posted 13 February 2010 - 06:14 PM

From my perspective as an end-user who occasionally pokes at the code, I only really care that the system works. It works, so I'm happy. Hooray!

"git r done"
To lie is to change the truth.
..Ignorance is to be unaware of the truth.
....Incompetence is to be unable to grasp the truth.
......And escape is to run away from the truth.
It is useless to run, since the truth is right next to you.

-Wervyn
0

#5 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 13 February 2010 - 09:41 PM

Yeah, I don't really care either, since I'll probably just be checking things out. ajs's reasons sound good. I've just had kind of an interest in the git phenomenon since it seems a little vague, and a little pushed as Torvalds Word of God. Not to knock the guy, he's certainly a more capable programmer than most of us, but his tirades can be pretty overblown and arbitrary. Like his C++ hate, and this is coming from someone who almost exclusively programs in C over C++.
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#6 User is offline   Terryn 

  • ******
  • Group: DigiStaff
  • Posts: 2,960
  • Joined: 12-October 00
  • Gender:Male

Posted 13 February 2010 - 11:48 PM

What does this mean for your nightly build system? Will it be much of an issue to adapt to the new repository?
angelic stream - shed sanguine - ill-adapt - avis - para/lyser - renaissance - dead tangent - phosphene blur - birth breeds death - ________ - painted glass - lagniappe

<Exophase> HES STEALING MAH AIRSHIP!!!!!!11111111
0

#7 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 14 February 2010 - 12:21 AM

I'll probably fix it tomorrow. The only visible change will be directory names (from SVN rev to date/time + git sha).

--ajs.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users