Re: selfupdate-git
Daniel Johnson <[email protected]>
| Newsgroups | gmane.os.apple.fink.core |
|---|---|
| Message-ID | <[email protected]> |
On Aug 1, 2012, at 9:05 AM, Max Horn <[email protected]> wrote: > > On 01.08.2012, at 02:10, Daniel Johnson wrote: > [...] >>> >>> Since github offers a svn<->git bridge, maintainers can in principle use >>> that. >>> >>> We talked about this two years ago when sourceforge said they were >>> discontinuing CVS (and lost momentum when they backed off of that idea), >>> and git edged svn out in those discussions. Part of the discussion was >>> colored by the fact that we were just coming off of a total CVS outage >>> at sf.net, and the idea of using a distributed VCS where it is easier to >>> mirror the distribution with different providers had a lot of traction. >> >> The selfupdate-git code in my branch works fine when I test it with my fink-dists conversion, but the selfupdate-svn code has stopped working the last time I tried it. Github's git<->svn bridge itself seems to have broken in some way because I can no longer checkout fink-dists with svn at all. The svn process just hangs. :( > > Aha, that's bad of course. Hm. But the example from <https://github.com/blog/966-improved-subversion-client-support> still works, i.e.: > > svn checkout https://github.com/nickh/dynashard svn-ds > > works for me. Note that there was some noticeable initially delay. My guess is that the first checkout takes time that depends on how many revisions and branches a repos has. Indeed, both of these just hang for me: > > svn checkout https://github.com/danielj7/fink-dists danielj-fink-dists > svn checkout https://github.com/fink/fink fink-svn > > My guess is that they are waiting for the server. This command then worked, and it took about 40 seconds: > svn checkout https://github.com/fink/fink/trunk fink-svn-trunk > > Finally, I tried partial checkouts as described in the blog post, and that also worked reasonably well: > > $ svn checkout -N https://github.com/fink/fink fink-svn-N > Checked out revision 5166. > $ cd fink-svn-N > $ svn update trunk > .... > > Likewise, this worked. The final update is still running as I write this. Of course if 10.4 and 10.7 were in different "branches", then this would already greatly reduce the time. > > $ svn checkout -N https://github.com/danielj7/fink-dists danielj-fink-dists-N > Checked out revision 51663. > $ cd danielj-fink-dists-N > $ svn update trunk > .... > Yes, I suspect that the size of the repo is the issue and github's bridge simply can't keep up. Here svn hangs for about 5 minutes and then times out. The odd thing is that it used to work fine so maybe github changed something. Perhaps they throttled the conversion speed or something. We certainly could break it into separate repos for each branch, but then we'd lose the history. I've found that to be very useful for tracking how a package changes between trees which we can't currently do with cvs. It also makes it harder to maintain packages in more than one branch. But that's a minor point. Actually being able to use it is more important. :) > > Note that cloning all of danielj7/fink-dists via git, involving the transfer of 548644 objects (wow) took 5 minutes 50 seconds for me and transferred 127.64 MiB. > Wow, it never took me that long! I just tried it and it took about a minute. I've probably got a faster/closer connection though. Also, that's only the initial clone; subsequent pulls are pretty much instant. > > > Daniel, I took your work and rebased it on the latest fink master (this also dropped the various merge commits). > <https://github.com/fingolfin/fink/tree/selfupdate-git> > > > Would you be OK if I submitted this as a pull request? This would make reviewing things easier and give us a good place to discuss what still needs to be done. I also have various comments on the code, that I could easily add there. That's fine with me; it means I don't have to do it then. :) The code is pretty much a copy of the selfupdate-cvs code and can probably be improved in various ways. I tried to minimize the differences between the various selfupdate methods. Daniel ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ fink-core mailing list [email protected] List archive: http://news.gmane.org/gmane.os.apple.fink.core Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-core