Time to git a new versioning system?
Moderator: OpenTTD Developers
Time to git a new versioning system?
Hmm, ran across "git," a relatively new version control system. It's a more distributed and decentralized versioning system, and it's apparently much better than both CVS and SVN at merging and handling branches - something that could help OpenTTD, since it seems that there are a lot of OpenTTD patches floating around. It's the brainchild of Linus Torvalds, who does a lot of work applying changes from other people into the Linux kernel. The only problem seems to be that there's no "TortoiseGIT" for Windows users yet.
Further information on git can be found here:
http://en.wikipedia.org/wiki/Git_%28software%29
A video of Linus discussing git can be found here:
http://www.youtube.com/watch?v=4XpnKHJAok8
Word of warning: Linus really doesn't like CVS or SVN.
Thoughts? Comments? Would it be worth switching to?
Further information on git can be found here:
http://en.wikipedia.org/wiki/Git_%28software%29
A video of Linus discussing git can be found here:
http://www.youtube.com/watch?v=4XpnKHJAok8
Word of warning: Linus really doesn't like CVS or SVN.
Thoughts? Comments? Would it be worth switching to?
"If a man does not keep pace with his companions, perhaps it is because he hears a different drummer. Let him step to the music he hears, however measured or far away" --Henry David Thoreau
- Digitalfox
- Chief Executive
- Posts: 710
- Joined: 28 Oct 2004 04:42
- Location: Catch the Fox if you can...
- AntBUK
- Transport Coordinator
- Posts: 319
- Joined: 02 May 2007 12:29
- Location: Sheffield, England
- Contact:
Re: Time to git a new versioning system?
Pity there isn't a WINE like program for Windows to run a Linux shell
----------------
Was last listening to: Wednesday 13 - I Walked With A Zombie
via FoxyTunes
----------------
Was last listening to: Wednesday 13 - I Walked With A Zombie
via FoxyTunes
Rasing Awareness: Aspergers Syndrome 1 (NAS UK) • 2 (BBC) • 3 (YaleDDC)
Something is driving you insane... It is me.
Something is driving you insane... It is me.
Re: Time to git a new versioning system?
Cygwin and MinGW both provide a nearly-complete set of Unix tools, compiled for Win32. Cygwin doesn't have a git package (Yet?) but it does apparently provide enough tools to build git from source. (./configure worked; make is still working as I post.)
There's something about the 1.5.3.3 tarball that WinRAR 3.50 doesn't like, but Cygwin's tar and bzip handle it just fine.
There's something about the 1.5.3.3 tarball that WinRAR 3.50 doesn't like, but Cygwin's tar and bzip handle it just fine.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Re: Time to git a new versioning system?
1) it doesn't have a incremental version number, so it will be very hard to know whether someone should upgrade or downgrade to "fix" a particular bug.
2) the Windows support sucks a lot.
3) we run a svn->git and svn->hg (Mercurial) service; you can get a git or hg checkout at respectively git.openttd.org and hg.openttd.org. Note that the version numbers used for them are not the trunk (like r11111), but rather g<some hexadecimals> and h<some hexadecimals>, so you cannot join a nightly server with your git checkout.
2) the Windows support sucks a lot.
3) we run a svn->git and svn->hg (Mercurial) service; you can get a git or hg checkout at respectively git.openttd.org and hg.openttd.org. Note that the version numbers used for them are not the trunk (like r11111), but rather g<some hexadecimals> and h<some hexadecimals>, so you cannot join a nightly server with your git checkout.
Re: Time to git a new versioning system?
Agreed. Git looks pretty new, though, so I'm hoping that something will come out soon.the Windows support sucks a lot.
Actually - I just installed Cygwin today, and it seems that it's in the latest Cygwin. Just the command line Git, though, none of the GUI stuff for X as far as I know.Cygwin doesn't have a git package (Yet?)
Oh, but there are =). Look for virtual machines, like VMware or Virtual PC.Pity there isn't a WINE like program for Windows to run a Linux shell
I'm currently trying Gentoo on Virtual PC. It seems that most graphical Linux distros don't work with Virtual PC, though. VMware might be better. If you don't care about a GUI, Virtual PC is free and works fine.
I'm gonna try git and see how well it works. I'm hoping it will make it possible to combine my patch more easily with other patches, so in addition to my own patch, I can make patches that combine mine with others.
"If a man does not keep pace with his companions, perhaps it is because he hears a different drummer. Let him step to the music he hears, however measured or far away" --Henry David Thoreau
Re: Time to git a new versioning system?
Mercurial works natively on Windows as well as *nix. It's what I use for local projects, as it's not nearly as much hassle as SVN to set up. You don't get any GUI however. I've never tried Git though...
As for a wine-like program to run a bash shell, I'd consider coLinux, which has always worked fine for me (with Slackware), but I daresay the default debian image is fine. (The only snag is that gcc chokes on cofs, so you have to use slow samba or rsync, to run remote compile jobs)
X works fine as well as you can run a windows x-server and pipe the data over a virtual network connection. (some configuration may be required).
As for a wine-like program to run a bash shell, I'd consider coLinux, which has always worked fine for me (with Slackware), but I daresay the default debian image is fine. (The only snag is that gcc chokes on cofs, so you have to use slow samba or rsync, to run remote compile jobs)
X works fine as well as you can run a windows x-server and pipe the data over a virtual network connection. (some configuration may be required).
Ex TTDPatch Coder
Patch Pack, Github
Patch Pack, Github
-
- Route Supervisor
- Posts: 415
- Joined: 07 Oct 2004 10:05
Re: Time to git a new versioning system?
@CobraA1 Actually Virtual PC should virtually run any Linux distro, I have tried Gentoo, Debian and Ubuntu without the "usual" problems I would get with a Live CD or true install as well.
I really dislike the idea though to install an additional "program" (not to say OS) just to do the version management for my OpenTTD checkout. TortoiseSVN is working perfectly fine for me and I also see no reason why SVN should be bad. Git seems to be one of those "you should use Linux because it's better" tools and not like what I call "a true open source app" which works interoperable on Windows and Linux.
I really dislike the idea though to install an additional "program" (not to say OS) just to do the version management for my OpenTTD checkout. TortoiseSVN is working perfectly fine for me and I also see no reason why SVN should be bad. Git seems to be one of those "you should use Linux because it's better" tools and not like what I call "a true open source app" which works interoperable on Windows and Linux.
-
- Transport Coordinator
- Posts: 333
- Joined: 25 Aug 2005 09:44
- Location: Eindhoven, Netherlands
Re: Time to git a new versioning system?
Well... as much as I dislike git (can't get it to work really -windows user), I agree that it has certain advantages.... Try to work on a serious patch with svn (and no branch)... It's very hard to keep track of your changes - you keep making diffs but you lose the diffs between those diffs. This is where git is very handy.... if only it would be reasonably easy to get it to work from a windows command line at least.chrissicom wrote:TortoiseSVN is working perfectly fine for me and I also see no reason why SVN should be bad. Git seems to be one of those "you should use Linux because it's better" tools and not like what I call "a true open source app" which works interoperable on Windows and Linux.
- AntBUK
- Transport Coordinator
- Posts: 319
- Joined: 02 May 2007 12:29
- Location: Sheffield, England
- Contact:
Re: Time to git a new versioning system?
From what I can tell coLinux is an installation job, I was meaning something like QEmu, just without the hard drive images
Rasing Awareness: Aspergers Syndrome 1 (NAS UK) • 2 (BBC) • 3 (YaleDDC)
Something is driving you insane... It is me.
Something is driving you insane... It is me.
Re: Time to git a new versioning system?
Wikipedia: The name 'Wine' derives from the recursive acronym Wine Is Not an Emulator.CobraA1 wrote:Oh, but there are =). Look for virtual machines, like VMware or Virtual PC.Pity there isn't a WINE like program for Windows to run a Linux shell
...
Or exactly: a VM simulate a x86 Hardware (or others like ppc for Mac), completely. WINE 'only' simulate the win API direct to Linux, so you can use win programs native on Linux. And there isn't any program like WINE for win. Thats completely different.
OpenTTD-patch(es) in development: missing shores (new version of: completely shore), road lamps for each position
-
- Route Supervisor
- Posts: 415
- Joined: 07 Oct 2004 10:05
Re: Time to git a new versioning system?
Also you can't even use 5% of Windows apps with WINE especially no new ones. And since most applications work on Windows anyway and those who would be capable of programming an emulator hate Microsoft and are Linux freaks (purely my assumption) there's little chance to see such an emulator any time soon and that's reason enough for me to dislike git as much as I dislike a Linux environment.so you can use win programs native on Linux
Re: Time to git a new versioning system?
http://git.or.cz/gitwiki/InterfacesFron ... ff5d5af1d6
This seams to be the right place to look for a frontend. I didn't take a close look and thus can't tell if there is anything that runs under win32. Not because I hate windows but because I simply don't care.
This seams to be the right place to look for a frontend. I didn't take a close look and thus can't tell if there is anything that runs under win32. Not because I hate windows but because I simply don't care.
Re: Time to git a new versioning system?
Well, the problem for me seems to be configuring the GUI part from the command line. It seems I have troubles finding out how to configure the graphical settings like resolution from the command line. For some odd reason they all seem to select some odd settings that Virtual PC doesn't like. I think I tried Ubuntu, and it gave me this weird black screen that was really wide and not very tall.Actually Virtual PC should virtually run any Linux distro, I have tried Gentoo, Debian and Ubuntu without the "usual" problems I would get with a Live CD or true install as well.
Theoretically, git is a replacement for, not in addition to, SVN. It's true, though, that one can be layered on top of the other, so they can work together. In the end, yeah you should work with whatever you're comfortable with.I really dislike the idea though to install an additional "program" (not to say OS) just to do the version management for my OpenTTD checkout.
Same here, I've been using the TortoiseSVN, and it works okay. I haven't actually tried git yet, but I'm hoping it has some advantages I could leverage.TortoiseSVN is working perfectly fine for me and I also see no reason why SVN should be bad.
The biggest problem so far is trying to get a copy of the git tree. I dunno if it's Cygwin, or if I'm just doing it wrong.
I think it's still quite young, and it's just that nobody has picked up on developing such a tool yet. If it gains popularity in the Linux community, I think it's likely that somebody will try to create a GUI for Windows.Git seems to be one of those "you should use Linux because it's better" tools and not like what I call "a true open source app" which works interoperable on Windows and Linux.
The primary benefit of git seems to be that it's largely decentralized and it's much easier to maintain several branches and keep them synchronized with the trunk.
Yup. It's a "virtualizer" if I remember my terminology right. I'm sure VMware and Virtual PC also take advantage of virtualization when possible and are not true emulators when on a platform with a similar instruction set to what they're emulating. True emulation is very slow, and they try to avoid that when possible. Running Windows XP in Virtual PC is very fast - it can't be true emulation. I've played with DOSBox, a true emulator, and it has major performance troubles.Wikipedia: The name 'Wine' derives from the recursive acronym Wine Is Not an Emulator.
I prefer to use the right tools for the job, rather than letting guilt by association determine what I use. If it turns out git is the wrong tool, I'll go back to using SVN. I'm gonna at least give it a chance, though.and that's reason enough for me to dislike git as much as I dislike a Linux environment.
. . . and I remember now why I never used Gentoo as my primary OS. It has to compile everything you put on it. It's still emerging KDE after letting it run overnight. Compiling everything is great for a development environment, but not useful for productivity.
"If a man does not keep pace with his companions, perhaps it is because he hears a different drummer. Let him step to the music he hears, however measured or far away" --Henry David Thoreau
Re: Time to git a new versioning system?
You may want to take a look here. You will have to scroll down about 30% for the x-server config tips.CobraA1 wrote: I think I tried Ubuntu, and it gave me this weird black screen that was really wide and not very tall.
So far I came across two big project that use it (linux and compiz). There are frontends for both gtk and qt. It would not be black magic to port such tools. But personally I doubt that will happen very soon. Simply because there is no big need to.CobraA1 wrote: I think it's still quite young, and it's just that nobody has picked up on developing such a tool yet. If it gains popularity in the Linux community, I think it's likely that somebody will try to create a GUI for Windows.
Nope, it's not. It a reimplementation of win32 and quite a few other APIs (COM, DirectX, etc.). It further got a loader for PE and a dynamic linker that does understand DLLs (what is black magic, I say).CobraA1 wrote: Yup. It's a "virtualizer" if I remember my terminology right.
There is a good chance that you are doing something wrong. Take a look here.CobraA1 wrote: . . . and I remember now why I never used Gentoo as my primary OS. It has to compile everything you put on it. It's still emerging KDE after letting it run overnight. Compiling everything is great for a development environment, but not useful for productivity.
Re: Time to git a new versioning system?
http://sourceforge.net/projects/line/BigBB wrote:And there isn't any program like WINE for win.
Re: Time to git a new versioning system?
http://code.google.com/p/msysgit/downloads/listA native Microsoft Windows port (using MinGW) is approaching completion, with alpha versions of an installer ready for testing (under the name "WinGit")
THERE IS a project to do a Git for Windows. But it is in beta stage.
Re: Time to git a new versioning system?
DosBox is not a hardware emulator like VirtualPC or VMware, which emulate the same architecture they're running on while DosBox emulates DOS and a different CPU than it runs on, which is probably why it performs so badly.Running Windows XP in Virtual PC is very fast - it can't be true emulation. I've played with DOSBox, a true emulator, and it has major performance troubles
VirtualPC and VMware run instructions as they are.
Re: Time to git a new versioning system?
Looks like a pretty small project right now, and it seems to have troubles in Vista - so I don't know if it will take off.THERE IS a project to do a Git for Windows. But it is in beta stage.
Actually, DOSBox does in fact emulate the hardware found in old DOS systems, including old display formats that may not be found in modern systems and sound systems such as SoundBlaster that were more popular in the past but are not very popular today.DosBox is not a hardware emulator like VirtualPC or VMware, which emulate the same architecture they're running on while DosBox emulates DOS and a different CPU than it runs on, which is probably why it performs so badly.
VirtualPC and VMware run instructions as they are.
You are correct, however, that it does not assume that it is running on the same CPU as the host system and will completely emulate the CPU.*
In this way, Virtual PC and VMware are much closer to WINE than a true emulator, as they won't emulate the CPU if they can virtualize it. I do not believe that WINE is very different than Virtual PC or VMware - and frankly, if VMware or Virtual PC can do the job decently, why do a "WINE for Windows"?
*Note that now it seems that DOSBox does in fact have "recompiling cores" that will increase performance by compiling or translating the code to run directly on the host machine. However, I have not recently used DOSBox, and the last time I used it it did not have such a feature.
"If a man does not keep pace with his companions, perhaps it is because he hears a different drummer. Let him step to the music he hears, however measured or far away" --Henry David Thoreau
Re: Time to git a new versioning system?
Well, at least there is a project...CobraA1 wrote:Looks like a pretty small project right now, and it seems to have troubles in Vista - so I don't know if it will take off.THERE IS a project to do a Git for Windows. But it is in beta stage.
I don't know if Git is really good, but if it is, when Linux programmers need to do Windows programs, they will want to do with Git. Even if he is a "linux freak".
So that is a pretty good reason to port the program to Windows.
Who is online
Users browsing this forum: No registered users and 9 guests