git

Roger Pack
2009-02-18
2013-06-12
  • Roger Pack

    Roger Pack - 2009-02-18

    would it be possible to store the code in github, so the rest of us could fork it and hack to our heart's content?
    -=r

     
    • Kirill

      Kirill - 2009-02-20

      Marko,

      Under the following two conditions:
      1. You don't plan to use Git (http://git-scm.com/ or its Windows clone http://code.google.com/p/msysgit/\) as the official version control in a foreseeable future

      2. You do not mind semi-official sources

      I can push my Git repo - dating back to 2.0.132, including boost 1.34.1 and 1.36.0, WTL 8.0, TabbingFramework 2005-07-14, FreeImage 3.11.0, all official releases on the master branch, all my patches on a separate branch - to http://repo.or.cz [just because I already have an account there and I like it for no-bells-and-whistles approach].

      What do you think?

      Roger,

      Sorry, but I don't want to jump ahead of the train.

      --
      Kirill.

       
    • Marko Bozikovic

      Marko Bozikovic - 2009-02-23

      It's fine by me... Just go ahead.

      I didn't have the time to play with git. There certainly are a lot of zaelots out there, though :-)

       
    • Marko Bozikovic

      Marko Bozikovic - 2009-02-23

      I have downloaded msysgit and played a bit...

      It looks ok, but there are two problems:

      1) GUI is *ugly* (I like Tortoise, what can I say :-)

      2) msysgit doesn't come with git-svn. I'd have to install Cygwin git (not a problem, I use Cygwin anyway), but does Cygwin port have tha GUI? Updating and commiting from the command line is not a problem, but I like visual diffs and history trees :-)

      One more question for people that used git a bit more: are there any real disadvantages compared to SVN (I don't mean the GUI, something will turn up, I've seen that work is being done on TortoiseGIT)

      I know that git, being a DVCS, doesn't have locking abilities, which is not a problem here, I think. I think that if one or two people are in charge of merging other people's branches into master there shouldn't be a problem...

      I have also read that git has problems dealing with binary files (or files that should be treated like binaries - e.g. designer-generated code in .NET projects) Have you encountered any real-life binary-handling problems and how did you solve them?

      We use SVN in my company, and automatic merging of .NET designer files usually causes problems (breaks the designer :-), so our team has to be careful when changing forms, DB datasets, etc.

      Cheers,
      Marko

       
      • Kirill

        Kirill - 2009-02-24

        Marko,

        > 1) GUI is *ugly*
        Well... it's not ugly, it's cross-platform ;) I guess after the initial WTF effect, I got used to it - it's pretty functional.

        > but does Cygwin port have tha GUI
        Yes, the "GUI" is the same.

        > I like Tortoise... work is being done on TortoiseGIT...
        IMHO, the supplied git gui and gitk are good enough [considering my speed addiction]. There is Cheetah, which basically extends Explorer with context-sensitive menu items. If you're interested, I can provide a build.

        > but I like visual diffs and history trees
        Have you tried running gitk. You can either do it from the Git Bash or from Git GUI by File -> Visualize All Branches.

        > are there any real disadvantages compared to SVN
        Yes, there is one that comes to mind: it makes you branching-merging addicted. Also, after some use you'd consider the usual suspects *extremely*, unbearably slow :)

        > I have also read that git has problems dealing with binary files
        > (or files that should be treated like binaries -
        > e.g. designer-generated code in .NET projects)
        > Have you encountered any real-life binary-handling problems
        > and how did you solve them?
        I can't say there are inherent problems with binary files - you can't diff or merge them, but other than that, it's pretty standard. However, msysgit has auto.crlf=true by default, which may damage binary files if used on different platforms. However, IMHO, auto.crlf is trying to solve an organizational problem with a software solution, which rarely [if ever] works. So, personally, I git config auto.crlf false on all projects [for some reason, I don't want it global].

        --
        Kirill.

         
    • Marko Bozikovic

      Marko Bozikovic - 2009-02-24

      Cool. I'll give Cygwin git a try this weekend if I find a bit of time.

      I can then convert my local Console SVN repository to git and put it up here...

      It will make hacking for other people much easier...

      Cheers,
      Marko

       
      • Ronald Blaschke

        Ronald Blaschke - 2009-02-24

        Hi Marko,

        Is it really a good idea to put a pure Windows project into a VCS with such poor Windows support?  I know, everybody started hating Subversion the instant Linus started bashing it, but Git is no panacea.  Since you're already using SVN and SourceForge, wouldn't it be better to just put your code into a SourceForge SVN repository?  Don't know, but maybe you can even upload your local repository there.  Git users can use git-svn if they would like to, I guess.

        Just my thoughts,
        Ron

         
        • Marko Bozikovic

          Marko Bozikovic - 2009-02-24

          That is one of my concerns as well...

          I've just installed Cygwin git and couldn't get it to convert my Console repository (permission denied error on creating report.log) I did a short google search, but didn't find anything useful.

          While I do realise the power of cmd line, I think some things need a nice GUI. I don't like reading diff files. I like to use WinMerge to visualise my diffs and conflicted merges (even TortoiseSVN's diff viewer is nice enough). TortoiseSVN's revision graph is also very nice.

          I also like Tortoise's Explorer integration, so I have a quick overview of what files have changed and I can quickly diff them using WinMerge or something else.

          I know that one of git's strengths is branching/merging and that it allows you to keep your master (trunk) tested and deployable while you work on your branches.

          Git would also allow easy hacking to other people, since they could check stuff out to their local repositories.

          Console would also allow me to explore git a bit more.

          However, using SVN is *comfortable*, while using git on Windows is not (at the moment)

          Your thoughts, guys?

          Cheers,
          Marko

           
          • Kirill

            Kirill - 2009-02-25

            Marko,

            > I've just installed Cygwin git and couldn't get it to convert my
            > Console repository (permission denied error on creating report.log)
            Unfortunately, I don't have any SVN repositories to try it, but I know that people on msysGit list had various degree of success. Given that it may work slightly better on a particular branch of msysGit (e.g. devel or some other), I can try if you help me to acquire a meaningful SVN repo.

            > I don't like reading diff files. I like to use WinMerge to visualise my
            > diffs and conflicted merges (even TortoiseSVN's diff viewer is nice
            > enough).
            With gitk you can configure an external diff program. Personally, I have tkdiff and BeyondCompare set up for that.

            > TortoiseSVN's revision graph is also very nice.
            You can probably get an idea of how the tree looks on a website by looking at

            http://repo.or.cz/git-browser/by-commit.html?r=msysgit.git
            (that's the history of dev env for msysGit)

            And a screenshot of my git repo in gitk is available here:

            http://www.kirill.ca/public/console-git-repo.png

            > I also like Tortoise's Explorer integration, so I have a quick
            > overview of what files have changed and I can quickly diff
            > them using WinMerge or something else.
            Well... currently msysGit is obviously behind the curve here. There is Explorer integration, called Cheetah. And recent additions by Christian Michon make it even more useful. But there is still no quick overview [because we can't decide on a way to represent it] of quick diff [because git gui and gitk don't have the required modes, and Cheetah developers are not very enthusiastic about fixing tcl/tk code].

            > Console would also allow me to explore git a bit more.
            > However, using SVN is *comfortable*, while using git on
            > Windows is not (at the moment)
            The only other thing I can say is that git gui worked for me as a replacement of shell integration, because the speed and low impact on source trees of Git outweighed inconveniences.

            And provided that Console does not have a strict dead-lines, IMHO, you can afford to spend some time, exploring the best (at least, in my experience that includes CVS, PVCS, MKS, copy-folder-sometimes) version control system. If you don't like it after couple of releases, you can always come back to SVN [which will probably push me to work on git-svn :)

            Hopefully the above can be qualified as some "thoughts" ;)

            --
            Kirill.

             
    • Joel B. Mohler

      Joel B. Mohler - 2009-02-24

      I haven't been following this discussion in detail, but if you are unhappy with git on windows (I don't blame you) I suggest you take a hard look at mercurial.  I haven't used git enough to make detailed comparisons, but their goals and feature-sets seem pretty much in the same ballpark to me.

      Furthermore, mercurial (http://www.selenic.com/mercurial/wiki/) has made some notable improvements within the last 3 months making life on windows much more pleasant.  Some operations runtimes have been cut in half or in thirds (not that they were slow to begin with) and various windows filename case issues have been fixed.  I take these improvements to mean that there is a critical mass of interested windows developers involved with mercurial.

      There's also tortoisehg (http://bitbucket.org/tortoisehg/stable/wiki/Home) which isn't nearly as polished as tortoisesvn, but certainly covers the essentials and is improving slowly.  However, the real power of mercurial lies in it's extensions which aren't as covered in the gui.

      And, yes, I'm a very happy mercurial user on windows.

       
      • Marko Bozikovic

        Marko Bozikovic - 2009-02-24

        Sourceforge supports CVS, SVN and git.

        While I could host a mercurial repository somewhere, I'd prefer to use SF's resources.

        There is also a git Tortoise port in the works, I'll check that out...

        Argh. Too much choice is not always a good thing :-)

         
        • Kirill

          Kirill - 2009-02-24

          Marko,

          > Sourceforge supports ... git
          if I knew that, I'd ask you to create the git repo ages ago :) Well... at least, around b132 :)

          Could you please set up the repo?
          Although, I'm not experienced user of git's remote capabilities, I'm ready to provide as much help as you need (worse comes worse, we can talk to people on msysGit list). Just yesterday, as a follow up of your permission to put my git repo on repo.or.cz, I found the following article:
          http://toolmantim.com/articles/setting_up_a_new_remote_git_repository

          Seems like it should take you about 15 seconds to create the repo.

          Now, one of the biggest strength of git is the commit history. So, you better either import SVN into Git (not much help from me here) or clone my Git repo (so, at least you have major milestones history).

          (assuming that SF introduced Git repos not so long time ago) Let's be one of the first users of Git on SourceForge!

          --
          Kirill.

           
    • Kirill

      Kirill - 2009-02-27

      Marko et al,

      if you want to clone unofficial, just-for-fun Console repo, you can

        git clone http://akirill.freeshell.org/console.git

      (unfortunately, my main hosting provider turned out to be git-incompatible)

      Please, note that:
      (a) the main reason for its existence is to try repo hosting on dumb server;
      (b) the second main reason is to give Marko a chance to "feel" Console under git [without fighting with git svn];

      (c) the repo will disappear as soon as Marko sets up the official git repo;
      (d) it's a bare repo without gitweb;
      (e) nobody, including yours truly, can push into it [which probably means that it's not going to be updated as often];
      (f) the total, bare repo size is about 14MB;

      If you want to get your own account on http://sdf.lonestar.org please, don't forget to mention that "akirill" sent you [e.g. in the response to Where did you hear about SDF?]. Why would you do that? Just because they have a referral program ;)

      --
      Kirill.

       
    • Roger Pack

      Roger Pack - 2009-03-11

      re: it stinks on windows

      thankfully msysgit just came out with a new version a few days ago which fixed some annoying bugs.
      I usually just use it on the command line so I'm not sure about the GUI's :)

      I'd recommend github for being able to easily track changes and do pull requests, though hosting it on sourceforge wouldn't be so bad either.

      Thanks!
      -=r

       

Log in to post a comment.