Teiresias Posted March 13, 2014 Report Share Posted March 13, 2014 Hello everyone,browsing yesterday's IRC logs, it appears to me more and more members of the Wildfiregames team are using a github repository for development now.This seems logical given that git is supposed to replace the current SVN-based repositories in thefuture. As stated in the elder git migration forum thread the 'final' git repository of 0ad will be located on the trac server.As i learned from IRC and confirmed by web search, connecting to a git repository requires an intial "cloning" which downloads the complete repository on the local machine. The problem is that operation is unforgiving: Unlike svn, any interruption of the clone operation causes git to re-start the whole download operation. Some googling shows that effect is known since 2009 and fixing it seems hard (if possible at all without breaking backward compatibility, see 3rd post of linked forum thread). So it seems unlikely this limitation will be removed in the forseeable future. Moreover, the maiority of git(hub) repositories seem rather small compared to 0AD, so there is low pressure to put efforts on it.In short:The svn-git migration might effectively lock out at least some newcomers from the project as the git clone-non-resume problem demands an initial uninterruptable download of several gigabytes (according to Philip on IRC, 2GByte at the moment). I imagine the problem will grow in the future (literally).I see at least three ways of dealing with that:Keep the current parallel SVN|git system, maybe with an auto-converter between them. If there is a way to convert existant .svn checkouts to git, a migration might be possible (git svn seems capable of resuming). Just switch off the SVN repo at day X and tell the people outside to either help themselves or go . Any comments or official statements available? Quote Link to comment Share on other sites More sharing options...
sanderd17 Posted March 13, 2014 Report Share Posted March 13, 2014 There are ways to solve this. Like we can provide a zipped git repo that you can just unpack to get a (slightly older version) of the git branches. Those separate files can be distributed in any format, and can also be resumable. I think we should release a zipped git repo on every alpha release. So people can just download that, and manually update to the current git revision. We could also split the git repo in several repos, though that'd add more management issues. 1 Quote Link to comment Share on other sites More sharing options...
Radagast. Posted March 14, 2014 Report Share Posted March 14, 2014 Didn't have a problem cloning the git repository to my local machine. For my teacher's project I sometimes need to rely on stable transfer that takes one whole night, i.e. 12 hours. And it works even though the connection throughput is ... interesting (64kB/s). Where is the problem then? If it fails, just restart again. Humanity has put tons of effort into handshaking protocols that make data transfer immensely forgivable. Never mind, good you brought up the issue, so thanks for your detailed and interesting links. Correct me if I'm wrong. I'm open to discussion, perhaps I misunderstood the problem. 1 Quote Link to comment Share on other sites More sharing options...
sanderd17 Posted March 14, 2014 Report Share Posted March 14, 2014 I had to try 3 or 4 times (every time it failed after downloading over 1GB), only to see it fail. If the internet just drops every now and then, it can't be resumed via git. I also had to try a few times with svn, but the resume was very handy. Quote Link to comment Share on other sites More sharing options...
Radagast. Posted March 14, 2014 Report Share Posted March 14, 2014 (edited) Okay, I give in resuming is very useful indeed. Didn't want to attack anyone. Finally Teiresias is a master of our guild. I remember his retrobot ... and have swiftly employed it for teaching purposes if that's okay. If I imagine using UPD for downloading 0AD ... Edited March 14, 2014 by Hephaestion Quote Link to comment Share on other sites More sharing options...
Teiresias Posted March 14, 2014 Author Report Share Posted March 14, 2014 sanderd17:If there will be zipped repros available (possibly split into smaller packets) this might help. Besides... What happens when the git equivalent of "svn update" is interrupted? Can that action be restarted or would it screw up the local repository?Hephaestion:My internet connection is quite unstable, and for "logistical" reasons i simply cannot keep my machine online for more than an hour/day or so. When i started digging into 0ad, i had the svn check-out running in the background while i was online, slowly "trickling" the repo down.So, if there were only "git clone" available for getting 0ad, well... Then i'd simply have to part with it. Quote Link to comment Share on other sites More sharing options...
sanderd17 Posted March 15, 2014 Report Share Posted March 15, 2014 Git is designed so the repo is always in a stable state. This means, when an operation fails, git automatically reverts itself. That's the problem causing the difficult first checkout.If you pull the changes regularly, it's very rare a single pull will take more than an hour. So then you shouldn't have problems. Quote Link to comment Share on other sites More sharing options...
historic_bruno Posted March 15, 2014 Report Share Posted March 15, 2014 So, if there were only "git clone" available for getting 0ad, well... Then i'd simply have to part with it.Actually, I think it was planned to keep a read-only SVN repo around after the git transition, kind of like how we use git to mirror SVN now, we would reverse the process. Only team members would be required to use git to commit changes, and we'd prefer everyone else to use it for the better workflow, but SVN could still be there as a backup option. Quote Link to comment Share on other sites More sharing options...
MathiasB Posted March 19, 2014 Report Share Posted March 19, 2014 You could also provide a torrent download of the repo. You download it once over torrent, and after that you can pull the small changes... 2 Quote Link to comment Share on other sites More sharing options...
idanwin Posted March 24, 2014 Report Share Posted March 24, 2014 Me likez torrentz. I also thought that might be a good option, but wasn't too sure about it since that would require some people to keep an old version of the repo on their harddrive that they can't update (since that would break the torrent)So ... yeah.Having an svn version that when downloaded can be updated with git to the latest git version would be perfect. Quote Link to comment Share on other sites More sharing options...
GunChleoc Posted April 7, 2014 Report Share Posted April 7, 2014 If somebody creates a torrent, I'd be happy to help with the seeding Quote Link to comment Share on other sites More sharing options...
Lion.Kanzen Posted April 7, 2014 Report Share Posted April 7, 2014 The torrent version like more. Torrent is best client for sharing large files. I using utorrent since (2006) and is basically program for me.Is easy, faster and you can pause every time. Git hub it's complicated may be in Linux or Mac don't but in windows there aren't good client to git hub like SVN tortoise. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.