|
Article: Why I don't like git Contents: Installer for the Windows client tools is confusing Conclusion: use subversion
|
# ? Apr 14, 2011 18:24 |
|
|
# ? May 10, 2024 19:49 |
|
Sneaking Mission posted:Article: Why I don't like git e: here's the article again for the new page http://dikhoffsoftware.com/2011/04/why-i-dont-like-git/ Captain Corny fucked around with this message at 18:39 on Apr 14, 2011 |
# ? Apr 14, 2011 18:30 |
|
Your article should be titled "Why I Don’t Like the Git Installer" which basically has nothing to do with Git as a source control application. While you have some valid points about the installer as a first-time user, you later say quote:...Git has a two-step method of checking in source. First, you check in your source in your local repository. Second, you merge your local repository with a server. While there are definite pros and cons to this approach that are most certainly debatable, the only thing I see in the practical sense is that, with Git, I need to take two steps whereas I can get the same result with SVN in one step...
|
# ? Apr 14, 2011 18:35 |
|
Captain Corny posted:I am ignoring a lot of the benefits of Git... because they are not really that relevant to me. Why did you try to get and use Git if you do not want any of its features?
|
# ? Apr 14, 2011 18:41 |
|
Help, an installer asked me to make a choice about how to install something!quote:Git pulls the entire repository to the hard disk of the user, so that all versions of all files are on your own system. The advantage of this is that you can do version control while being offline. That’s pretty nice, but not really relevant to my situation. I’m almost never offline when I’m coding. So I will be dealing mostly with the disadvantage of this approach: a lot of wasted hard disk space. According to this, git averages 1/2 the size of svn: git's versus svn's storage efficiency quote:All projects for which git is less storage efficient, are smaller than 100Kb. The projects for which git is most storage efficient (up to even 6 times for a certain C# project), are all of medium size (10–100MB) and code-heavy. For the other projects, which are blob heavy (eg. images), git and subversion are close (git beats svn by ~20%). Scaevolus fucked around with this message at 18:48 on Apr 14, 2011 |
# ? Apr 14, 2011 18:45 |
|
I disagree with the choice of the title as well. You seem to be projecting the installer's failings on the entire software without ever mentioning what your problems with git are (Other than the two step commit), just like the Linus video you quoted.
|
# ? Apr 14, 2011 18:46 |
|
epswing posted:Your article should be titled "Why I Don’t Like the Git Installer" which basically has nothing to do with Git as a source control application.
|
# ? Apr 14, 2011 18:47 |
|
Star Warrior X posted:Why did you try to get and use Git if you do not want any of its features?
|
# ? Apr 14, 2011 18:51 |
|
Well if your idea was to explore a DVCS on Windows, then your first failure was picking git. Mercurial has had great windows support from the beginning and even has the useful TortoiseHG interface (if you are used to using TortoiseSVN). Plus there is a mercurial plugins for almost every IDE which means you don't really need to deal with the command line.
|
# ? Apr 14, 2011 18:52 |
|
I had used git on Linux and through Cygwin. I had no idea the windows installer was so horrific. SVN can do shallow checkouts, but if you intend on doing merges, it can cause problems with merge tracking. Scaevolus posted:This is wrong, SVN wastes a huge amount of space, even though it doesn't it doesn't have the complete history. I think he was referring to the disk space on the client, not the server.
|
# ? Apr 14, 2011 19:10 |
|
MEAT TREAT posted:Well if your idea was to explore a DVCS on Windows, then your first failure was picking git. Mercurial has had great windows support from the beginning and even has the useful TortoiseHG interface (if you are used to using TortoiseSVN). Plus there is a mercurial plugins for almost every IDE which means you don't really need to deal with the command line. Sizzlechest posted:I think he was referring to the disk space on the client, not the server.
|
# ? Apr 14, 2011 19:13 |
|
Captain Corny posted:Right, but I didn't really have any choice. It just saddens me that Git apparently was designed for Linux only, and that any use for it on other (much bigger) platforms was ignored because of some misplaced and immature pro-Linux bravado. It's just a dumb strategy to follow and even for that reason alone I don't like Git. It wasn't "bravado". Git was designed by Linus for a specific purpose: to facilitate the development of the Linux kernel. So, no, he didn't really consider Windows when designing it.
|
# ? Apr 14, 2011 19:18 |
|
Sizzlechest posted:I had used git on Linux and through Cygwin. I had no idea the windows installer was so horrific. This is only true until you start having to maintain 3-4+ branches on the same client machine. At that point git becomes faster, smaller, and easier to use.
|
# ? Apr 14, 2011 19:21 |
|
Captain Corny: If it's any consolation, there's always git-svn and Subversion 1.7 will have some long sought-after features like a single HFX posted:This is only true until you start having to maintain 3-4+ branches on the same client machine. At that point git becomes faster, smaller, and easier to use. That depends. If his checkout is extremely shallow for all branches, then probably it will be faster than git. Sizzlechest fucked around with this message at 19:25 on Apr 14, 2011 |
# ? Apr 14, 2011 19:22 |
|
Sizzlechest posted:If it's any consolation, there's always git-svn and Subversion 1.7 will have some long sought-after features like a single I've used it before. My experiences where less then stellar especially in the way most SVN users expect things to work (single large commits, no renaming of files, etc). Sizzlechest posted:That depends. If his checkout is extremely shallow for all branches, then probably it will be faster than git. It might have had something to do with the repository being ~2-3 gigs total. Edit: I will say you need to give git more time and try to wrap your head around the distributed model. I hated it at first, but after learning it, I don't ever want to go back to CVS or SVN, especially when working with teams from several companies and locations around the world. HFX fucked around with this message at 19:30 on Apr 14, 2011 |
# ? Apr 14, 2011 19:27 |
|
mr_jim posted:It wasn't "bravado". Git was designed by Linus for a specific purpose: to facilitate the development of the Linux kernel. So, no, he didn't really consider Windows when designing it.
|
# ? Apr 14, 2011 19:43 |
|
Captain Corny posted:That's still a dumb decision. If things are going the way I see them going, SVN will be replaced by Mercurial instead of Git, and Linus will have wasted two years of his life building Git while ignoring the platforms that the rest of the world was using. Why would Linus care what tools Windows developers use? He built the tool that he needed, and then he got back to working on the kernel.
|
# ? Apr 14, 2011 19:46 |
|
Captain Corny posted:That's still a dumb decision. If things are going the way I see them going, SVN will be replaced by Mercurial instead of Git, and Linus will have wasted two years of his life building Git while ignoring the platforms that the rest of the world was using. You're underestimating how many developers there are on Mac/Linux.
|
# ? Apr 14, 2011 19:52 |
|
Why does linus give a poo poo what replaces SVN on windows? Working through the move to DCVS here -- though at least for our internal stuff SVN is just fine for the most part and I wouldn't gain anything. Anyhow, we are pretty windows addled from all angles, is there a reason we should go with git over mercurial?
|
# ? Apr 14, 2011 19:52 |
|
Stuff like http://www.kernel.org/pub/software/scm/git/docs/git-rerere.html are awesome. I'm not sure if hg has the equivalent, but it seems like git is always rolling out some awesome new features.
|
# ? Apr 14, 2011 19:56 |
|
wwb posted:Why does linus give a poo poo what replaces SVN on windows? Probably not, if everyone is using Windows.
|
# ? Apr 14, 2011 19:57 |
|
quote:git on windows If you don't hate GUIs, you should try http://sourceforge.net/projects/gitextensions/
|
# ? Apr 14, 2011 20:02 |
|
mr_jim posted:Why would Linus care what tools Windows developers use? He built the tool that he needed, and then he got back to working on the kernel.
|
# ? Apr 14, 2011 20:04 |
|
HFX posted:It might have had something to do with the repository being ~2-3 gigs total. Err... Like mentioned before, he's not talking about the repository. He's referring to the working copy.
|
# ? Apr 14, 2011 20:27 |
|
Scaevolus posted:Linus Torvalds spent 4 months working on git (April-July 2005), while still working on the kernel, and then handed over development to Junio Hamano.
|
# ? Apr 14, 2011 20:39 |
|
Captain Corny posted:Whoever was developing it were wasting their time because they apparently collectively decided to make it Linux only with extremely limited support for other platforms. How's that? Oh no, a developer tool that was designed for Linux!
|
# ? Apr 14, 2011 20:41 |
|
yaoi prophet posted:Oh no, a developer tool that was designed for Linux!
|
# ? Apr 14, 2011 20:42 |
|
Captain Corny posted:Another good example of the attitude. How is their attitude any different from your "clunky on Windows -> uninstall and HATE" attitude?
|
# ? Apr 14, 2011 20:48 |
|
Star Warrior X posted:How is their attitude any different from your "clunky on Windows -> uninstall and HATE" attitude?
|
# ? Apr 14, 2011 20:56 |
|
Captain Corny posted:extremely limited support for other platforms. Git works great on Windows. I've been using it for over a year just fine. The installer isn't the best, but once you get past that, it works just fine. Look, I completely get that the installer of a piece of software can leave a bad taste. However, to call git support on windows "extremely limited" is just false. FWIW, I haven't ever had to touch Git Bash. I just use it from the Windows command line, or use the git support in whatever IDE I'm using at the time.
|
# ? Apr 14, 2011 21:06 |
|
We've just started developing our new corporate website, we being me and another developer. The other developer will be doing basic HTML and CSS, while I'll be inserting our CMS code into those same documents (this is a .NET platform). I used to use SVN but have already found Git to be much more intuitive. But I'm not used to this decentralized setup, so I want to make sure I'm understanding the workflow correctly: - I created the "master" repository that will be for the development website. This master repo has working files. - Me and the other developer have checked out copies of the repository in our own directories - As we develop, we commit as often as necessary. Every morning I will pull the other developer's changes in, start writing my code around their HTML and CSS. - When we need to start involving copywriters and markets and such, we start pulling our changes into the master repository. - I can't push my changes back to the other developer, so I guess every morning they'll want to pull from my repository as well? - Once we have enough code to get the site working, we can start creating branches for bigger features. Does that make sense, or am I completely off base?
|
# ? Apr 14, 2011 21:07 |
|
For what it's worth, I also tried using git on Windows and very quickly reached the stage where I couldn't be bothered. The biggest problem for me was the fact that Cygwin or git bash or something involved in git couldn't handle network shares. So I gave up and went back to my uncontrolled ways. Then a little while ago I decided to give Mercurial a shot. I installed TortoiseHG and it pretty much instantly clicked. The way it works almost completely makes sense to me (except a little bit in terms of how it handles branching) and it also works over network shares with no complaints and no need to set up a web server if I don't want to. So if you're on windows and want to give DVCS a shot, I whole-heartedly recommend Mercurial and TortoiseHG.
|
# ? Apr 14, 2011 21:10 |
|
A lot of the people working on libgit2 are doing it so that better tools can be written for Windows devs. I get that Linus himself doesn't give a poo poo, but some people get it.
|
# ? Apr 14, 2011 21:15 |
|
Star Warrior X posted:How is their attitude any different from your "clunky on Windows -> uninstall and HATE" attitude? If you make things harder than they should be, you're wasting people's time. With software, this adds up. For example, if people have to spend an average of 10 extra minutes to figure out your installer (which is a conservative estimate IMO), and 10,000 people download your software, you have wasted 100,000 minutes of productivity, or almost 70 days. In my opinion, spending a day or two on improving your installer then becomes not only a reasonable thing to do, but also something of a moral obligation. If the developer decides that wasting other people's time isn't important enough to fix things, or that it's the user's fault for not being smart enough, then I get to call that a bad attitude. Anyway, the end result is that I will recommend others to avoid this software, not because I hate it so much, but because they are going to run into the same problems I ran into, ask me for help, and therefore waste even more of my time.
|
# ? Apr 15, 2011 09:41 |
|
Sizzlechest posted:Err... Like mentioned before, he's not talking about the repository. He's referring to the working copy. I wasn't entirely clear. I even had made a mental note to go fix it and then got side tracked by other issues. The entire repository was much greater then 2-3 gigs (more like 60+). A single branch being pulled down was 2-3 gigs of space. I was usually working with 3-5 branches at a time. When they switched to git, and I just cloned the repo, the repo was ~4.5 gigs total. Thus, I was actually saving space. For what its worth, you don't have to completely clone a copy of the entire repository to your local directory in git. You can just pull a branch and even just keep the history of the files as they are the latest. In effect, you can make it behave like SVN. I did laugh about everyone using Windows. Jethro posted:For what it's worth, I also tried using git on Windows and very quickly reached the stage where I couldn't be bothered. The biggest problem for me was the fact that Cygwin or git bash or something involved in git couldn't handle network shares. So I gave up and went back to my uncontrolled ways. See now these are valid reasons. I know part of the problem with windows shares in cygwin and it is do the fact windows doesn't treat shared mounts as just another file. HFX fucked around with this message at 15:53 on Apr 15, 2011 |
# ? Apr 15, 2011 15:44 |
|
We recently switched from SVN to GiT and initially there was a lot of issues sharing repositories over the network, especially between Linux, Windows, and Mac. So we ended up using more of a centralized setup where every developer pulls and pushes to a Linux server. Since then it has been smooth sailing and Git Bash has worked well for me. It wasn't until Captain Corny's article that I actually understand what it was though, so at least it was useful for that.
|
# ? Apr 15, 2011 16:02 |
|
I tested Git at work (on Windows) and while it worked well for my purposes, I knew I couldn't switch the company over to it because the Windows support isn't a first class priority in Git. For Mercurial on the other hand, Windows support is a critical feature, so I switched us to that. I know it's been said before, but the alternative to Git on Windows isn't Svn, it's Hg.
|
# ? Apr 15, 2011 17:01 |
|
Captain Corny, I have three questions for you. (1) You say that developing software that only runs (or only runs well) on Linux is a waste of time. Is that true of any OS-specific software? Was all the time MS spent on Visual Studio, or Apple spent on XCode, wasted? Or is it only a waste when they aren't developing for the OS that you prefer? (2) Why are you writing off the entire concept of DVCS based on a bad experience with one windows build of git? You kind of give the impression that you went into this wanting to dislike git so you could dismiss DVCS as a whole and reassure yourself that by using SVN, you've made the right choice. (3) As a windows user, why did you decide to start with Git in the first place when even Git diehards like myself agree that Mercurial has better windows support?
|
# ? Apr 15, 2011 17:03 |
|
Wow, so much loving FUD here. GIT WORKS loving AWESOME ON WINDOWS. I DEVELOP poo poo IN GIT ON WINDOWS EVERY SINGLE DAY. Install Msysgit, tortoisegit, done. Use the Git Gui command in the explorer context menu to commit poo poo, use tortoise for everything else.
|
# ? Apr 15, 2011 18:40 |
|
|
# ? May 10, 2024 19:49 |
|
Mithaldu posted:Wow, so much loving FUD here. You can also learn the Git CLI interface, which is very user-friendly.
|
# ? Apr 16, 2011 00:38 |