Re: [Lazarus] Lazarus repository in Git (summary)
>From what I've heard... Git is better in most circumstances, excepting complexity, (G)UI, and Windows compatibility. So, Graeme can keep up the Git repository, until the time that Git sorts out those issues, then we already have a repository converted, and it'll take little to no time to convert everyone (if all votes Aye!). Also I guess if SourceForge starts offering Git, that'll show that it's become a standard in the industry. (Do they already?) On Thu, Nov 6, 2008 at 11:57 AM, Graeme Geldenhuys <[EMAIL PROTECTED]>wrote: > On 11/6/08, Vincent Snijders <[EMAIL PROTECTED]> wrote: > > > > For you git is probably better, I suggest you start using it. IIRC, you > > can use git as a front to an existing svn server. > > That's what I am doing now. :-) I've never used Git before yesterday. > So I'll use my Git wrapped Lazarus repository and see how it goes. I > have my crypt notes on a post-it note showing me the equivalent SVN > commands for Git. So far the commands are straight forward. > > > Regards, > - Graeme - > > > ___ > fpGUI - a cross-platform Free Pascal GUI toolkit > http://opensoft.homeip.net/fpgui/ > ___ > Lazarus mailing list > Lazarus@lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus > -- o__ ,_.>/ _ (_)_\(_)___ ...speed is good ___ I believe five out of four people have a problem with fractions. ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
Graeme Geldenhuys schrieb: > > I'll be keeping the Git version of the Lazarus repository. So if total > disaster strikes you guys can simply get a copy from me. ;-) Well, if there is real interest, we can of course create an offical git mirror. ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
On Thu, 2008-11-06 at 17:38 +0100, Marc Santhoff wrote: > I'd love to have one tool less, although the graphical tree (depending > on special comments in cvs's "modules" file :( ), tkdiff and lots of > warning dialogs are really helpful. Either create a patch or file a feature request :) There's nothing that prevents us from improving the tool, is there? Darius ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
Am Donnerstag, den 06.11.2008, 15:33 +0100 schrieb [EMAIL PROTECTED]: > > On 11/6/08, Marc Santhoff <[EMAIL PROTECTED]> wrote: > >> > >> I don't know TC and it's GUI, but for cvs and svn there is always TkCVS. > > > > Thanks, I'll take a look - though I love my CLI interface and it's > > consistent across platforms. Maybe the next new developer in our > > company can start of with a GUI if they wish. > > > > As for Team Coherence. The website is here: > >http://www.teamcoherence.com/ > > > > And here's a screenshot: > > http://www.teamcoherence.com/images/vmmain.jpg > > BTW, Lazarus has it's own SVN GUI interface plugin in case you didn't > know. It's named lazsvnpkg and can be found under ./components. > Mind you it's still under developement (working on the repository browser > right now), but basic stuff is in. Thanks for pointing this out, I didn't know yet and will test it as soon as possible. I'd love to have one tool less, although the graphical tree (depending on special comments in cvs's "modules" file :( ), tkdiff and lots of warning dialogs are really helpful. Regards, Marc ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
> On 11/6/08, Marc Santhoff <[EMAIL PROTECTED]> wrote: >> >> I don't know TC and it's GUI, but for cvs and svn there is always TkCVS. > > Thanks, I'll take a look - though I love my CLI interface and it's > consistent across platforms. Maybe the next new developer in our > company can start of with a GUI if they wish. > > As for Team Coherence. The website is here: >http://www.teamcoherence.com/ > > And here's a screenshot: > http://www.teamcoherence.com/images/vmmain.jpg BTW, Lazarus has it's own SVN GUI interface plugin in case you didn't know. It's named lazsvnpkg and can be found under ./components. Mind you it's still under developement (working on the repository browser right now), but basic stuff is in. Darius ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
On 11/6/08, Marc Santhoff <[EMAIL PROTECTED]> wrote: > > I don't know TC and it's GUI, but for cvs and svn there is always TkCVS. Thanks, I'll take a look - though I love my CLI interface and it's consistent across platforms. Maybe the next new developer in our company can start of with a GUI if they wish. As for Team Coherence. The website is here: http://www.teamcoherence.com/ And here's a screenshot: http://www.teamcoherence.com/images/vmmain.jpg Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
Am Donnerstag, den 06.11.2008, 11:20 +0200 schrieb Graeme Geldenhuys: > That I understand all to well. We had the same issue when we moved > from Team Coherence to SubVersion. SubVersion could really do with a > GUI like TC has. I don't know TC and it's GUI, but for cvs and svn there is always TkCVS. Despite it's name it can handle svn nowadays and since it's written in tcl/tk it run anywhere (yes, I did use it on windows with cvs). Hopefully I got the URL correct (source is on sf.net): http://www.twobarleycorns.net/tkcvs.html HTH, Marc ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
On 11/6/08, Vincent Snijders <[EMAIL PROTECTED]> wrote: > > For you git is probably better, I suggest you start using it. IIRC, you > can use git as a front to an existing svn server. That's what I am doing now. :-) I've never used Git before yesterday. So I'll use my Git wrapped Lazarus repository and see how it goes. I have my crypt notes on a post-it note showing me the equivalent SVN commands for Git. So far the commands are straight forward. Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
Graeme Geldenhuys schreef: > > Git can do all that in a single directory tree, no daemon and only use 133MB. For you git is probably better, I suggest you start using it. IIRC, you can use git as a front to an existing svn server. Vincent ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
On 11/6/08, Florian Klaempfl <[EMAIL PROTECTED]> wrote: > > A git repository of full fpc takes 1,2 GB (checkout of trunk+history). Yes, but you probably forgot the last few steps. Lazarus was 1.5GB after the initial checkout from SubVersion to Git. Missing steps: --- * After checking out data from SubVersion to Git, the Git repository has tons of SubVersion info stored. You need to remove that uncessasary stuff if you are switching to Git. * Repack the repository, so it can optimized the delta's between revisions. Both these steps can be done with one command. Assume 'temp_repos' contains the repository you checked out from SubVersion using Git. cd .. git clone temp_repos clean_repos rm -rf temp_repos cd clean_repos The "clone" command will recreate the repository into a new directory called 'clean_repos'. It will remove all the SubVersion information making it a Git-only repository and then rebuild the deltas. With Lazarus, my 'temp_repos' was 1.5GB and the 'clean_repos' was 133MB after the clone/repack command. For more details on converting a SubVersion repository to Git: http://djwonk.com/blog/2008/05/09/cleanly-import-svn-repository-into-git/ Once you use a Git-only repository, you can repack your local repository every few months, to optimize the revision deltas and save space. There is a repack specific command for this. Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
On 11/6/08, Vincent Snijders <[EMAIL PROTECTED]> wrote: > > I think you understand it correctly. What is a the git equivalent of a > svn server containing the history? If you want to compare only the svn > client, you must remove that part from git, that is the equivalent of > svn server containing the history. If you don't want to do that, you > must allow to install a local svn server, maybe not as comfortable as > git, though. SubVersion is already very inefficient when it comes to disk space. So now you are suggesting I run a SubVersion server locally (+-250MB of data) and the setup of svnd (subversion daemon) and have a local checked out repository (another +-310MB) just so I can see the history of files quicker. Git can do all that in a single directory tree, no daemon and only use 133MB. Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
On 11/6/08, Michael Van Canneyt <[EMAIL PROTECTED]> wrote: > I considered Git for use in my company, (subversion is quite bad for > handling lots of banches) and frankly: I decided against it because > people here couldn't understand it. > > They have a hard time understanding Subversion (or CVS or any of it), > and git is even 2 notches harder to understand. That I understand all to well. We had the same issue when we moved from Team Coherence to SubVersion. SubVersion could really do with a GUI like TC has. Anyway the "hard to understand" issue was easily resolved by writing a short 1 page summary of the most common commands they would need for every day work. Then as they get familiar with the tool after a few months, we started introducing them to new commands (if needed). We also setup a "sandbox" repository for them to experiment in - they really liked that. :) > That and the fact that > there is no decent GUI clinched the matter. I know of two and a few in the pipe-lines. But then, I'm a CLI guy. Anyway, I also found a very nice site showing the SubVersion commands on one side and the Git commands on the other. Most Git commands where shorter and quite easy to understand. But yes, as with any other tools, there will be a period containing a learning curve. > Sometimes one must weigh the technical features against practical usage. True. I must say, I'm very impressed with "svnmerge.py" tool. I have been playing with it for the last 30 minutes. It makes SubVersion branching much easier! I've always avoided branching in SubVersion even though branching is very handy, simply because it is overly complex. Git makes this as simply as pie (out of the box). Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
Graeme Geldenhuys schrieb: > Hi, > > As promised, here is the final details of comparing SubVersion and Git > using the *full* Lazarus history. A git repository of full fpc takes 1,2 GB (checkout of trunk+history). ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
Graeme Geldenhuys schreef: > On 11/6/08, Vincent Snijders <[EMAIL PROTECTED]> wrote: >> Graeme Geldenhuys schreef: >> > SVN doesn't have an option to checkout the full history to the client >> > side, >> >> It does and is called svnsync. It creates a mirror. > > I was referring to the client tools like the svn client. As far as I > understand, svnsync mirrors the repository, so you need to run a > SubVersion server/repository locally. It still doesn't allow the svn > client to have all the history in a single directory where the source > code lives. Or am I not understanding the svnsync tool correctly? I think you understand it correctly. What is a the git equivalent of a svn server containing the history? If you want to compare only the svn client, you must remove that part from git, that is the equivalent of svn server containing the history. If you don't want to do that, you must allow to install a local svn server, maybe not as comfortable as git, though. Vincent ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
On Thu, 6 Nov 2008, Graeme Geldenhuys wrote: > Hi, > > As promised, here is the final details of comparing SubVersion and Git > using the *full* Lazarus history. > > > So there is no doubt that Git is extremely optimized for size and it's > very impressive how much information it can store in such a little > space. Plus it will save considerable download time. All this is very correct, but largely irrelevant. I considered Git for use in my company, (subversion is quite bad for handling lots of banches) and frankly: I decided against it because people here couldn't understand it. They have a hard time understanding Subversion (or CVS or any of it), and git is even 2 notches harder to understand. That and the fact that there is no decent GUI clinched the matter. Sometimes one must weigh the technical features against practical usage. I can have the best technical system of the world, but if I'm the only one understanding it - in my company - it is simply ruled out. Michael. ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
On 11/6/08, Vincent Snijders <[EMAIL PROTECTED]> wrote: > Graeme Geldenhuys schreef: > > > > SVN doesn't have an option to checkout the full history to the client > > side, > > It does and is called svnsync. It creates a mirror. I was referring to the client tools like the svn client. As far as I understand, svnsync mirrors the repository, so you need to run a SubVersion server/repository locally. It still doesn't allow the svn client to have all the history in a single directory where the source code lives. Or am I not understanding the svnsync tool correctly? Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Lazarus repository in Git (summary)
Graeme Geldenhuys schreef: > > SVN doesn't have an option to checkout the full history to the client > side, It does and is called svnsync. It creates a mirror. Vincent ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] Lazarus repository in Git (summary)
Hi, As promised, here is the final details of comparing SubVersion and Git using the *full* Lazarus history. Lazarus repository statistics: * repository age is 8 years and 3 months * 23 unique users have committed to the repository in that time * 17246 revisions have been recorded. SubVersion sizes: --- * HEAD normal checkout = 314MB (that means 1 revision only and no history) * HEAD exported (no .svn folders) = 76MB (latest revision of source code only) So far that means SubVersion adds 238MB of noise simply to manage ONE revision!!! I guess there is a lot of crap in those .svn folders. Git sizes: * HEAD checkout using Git = 108MB (that's 1 revision with no history - which is what svn does normally) So Git is already 206MB smaller than SubVersion using the HEAD revision only. That's quite a saving of space, but that's not the impressive bit yet. * Complete checkout with *full* history of every revision = 133MB!!! That means Git add only 25MB to manage 17246 revisions of history! Plus the full history with Git is smaller than a single checkout with SVN!! So I then compressed the full history checkout with Git using 7zip. That created an archive of 66MB. So to summarize: You can download the full history of Lazarus repository for only 66MB and it is smaller than a single (latest revision) checkout via SVN. If Lazarus every decides to move to Git, I would recommend such an archive gets created on a monthly basis. So users can download, unpack and then do a update. SVN doesn't have an option to checkout the full history to the client side, so I can't compare that size, but I can image it must be in the Gigabyte range considering that a single revision takes up 314MB and there are 17246 revisions! So there is no doubt that Git is extremely optimized for size and it's very impressive how much information it can store in such a little space. Plus it will save considerable download time. I'll be keeping the Git version of the Lazarus repository. So if total disaster strikes you guys can simply get a copy from me. ;-) Regards, - Graeme - ___ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ ___ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus