Announcement

Collapse
No announcement yet.

Git Developers Want Your Feedback (2016 Git Survey)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    SVN is definitely easier to reason about. It has fewer concepts to learn in order to use it effectively. Git has a similar learning curve if you just want to use it like SVN, but then you're not using it effectively and might as well stick with SVN. I lose most non-developers once I start explaining the staging area.

    Originally posted by pipe13 View Post
    Migrating any established project from one SCM to another is not trivial.
    Migrating from SVN to Git isn't trivial but it's not excessively difficult either, unless you do stupid things like we did and keep branches around forever (we have hundreds of them, if not thousands, in one repo). After several attempts to keep a full repo history I gave up and only whitelisted active branches, which is all I personally wanted to bring across anyway. I had a repo with ~111000 revisions (including merges and other branching-related commits) converted in about 90 minutes once I got the configuration right.

    Comment


    • #32
      Originally posted by bug77 View Post
      SystemCrasher I'm not disputing any of your claims. But learning svn is like learning Basic. A simple language that you pick up easily and lets you do stuff.
      I'm not really sure how beginners are supposed to have easy start with SVN. Either they have to set up own server, which is hardly "easy start", or they have to use someone's else server, which warrants plenty of extra actions like registration, creation of project/repos/etc. IMHO this time is better spent on learning how git works and proper workflows.

      And then someone comes and tell you about C. We all know you can do real work in C, but since you don't know the rewards that await you, you might just conclude that C is an unnecessarily complex language and Basic is more user friendly. And you wouldn't be 100% wrong either.
      I'm rather telling learning BASIC these days is pointless: it finds no use in modern world. So one is probably better learning, say, JS. Sometimes tool could get hopelessly outdated. That's what SVN and BASIC have got in common.

      As for reasons to use svn, what about "the team already has a svn server in place and they don't know git"?
      It makes vague assumption which may or may not be true and if team using svn as of 2016, one may really take a look around checking if there're less retarded teams doing the project of same kind. Bringing BASIC analogy back, its like joining the team using BASIC to write their project.

      I use git-svn when this happens, but I had the nasty surprise of a svn repository being somehow misconfigured, making it impossible to clone with git
      Speaking for myself somehow it came to the fact I do not use projects with svn. Just like I do not use projects written in BASIC. SVN is not a fun to deal with, it does not allows me to get understanding what's going on. This warrants grim experience with project and shitty workflows. Needless to say I put efforts to avoid this.

      And about branches, at least svn is honest about it and it doesn't even have a "branch" command (or "tag" fwiw). It only has "copy". Once you get branches and tags out of your way, things become a lot simpler
      Nope, thanks, I'm better off with tools which could just do branches and tags reasonably.

      Comment


      • #33
        SystemCrasher Let me tell you how it happens. You join a bigger company that already has the svn server in place*. That way you only have to learn a few commands. checkout, commit, update and, if you really want to be pro-active, log. You never really learn what's going on, but you're kind of productive, as long as the company is concerned.
        And the BASIC analogy seems fitting, it's exactly how I feel dealing with svn.

        *it happens at my current workplace. As a bonus, we have over 20 projects in the same repository, because hey, svn is a free-for-all so why not?

        Comment


        • #34
          Originally posted by bug77 View Post
          SystemCrasher Let me tell you how it happens. You join a bigger company that already has the svn server in place*.
          Such companies tend to have quite retarded, outdated or fundamentally broken workflows. I've even met one company using TFS, which is roughly as bad as svn in terms of defective workflows. Honestly, I've not been sorry about parting my ways. My life gone far more pleasant since then. So I at least do not have to use retarded tools and basically do what I really like for fun and profit. Needless to say I do it the best I can and learned shitload of funny things I always dreamed to learn. Not something one could do in large corporation using outdated workflow.

          I've seen these toxic patterns going so badly one company branch was unable to use code created by another branch at all, so despite large company size it never worked as whole thing, boasting collaboration and creating strong product. Needless to say I consider such workflows retarded. It fails core reuse, it halts development here and there due to dependencies and there're way too much bottlenecks all over place. I've forewarned PMs about inappropriate tools and so on, but they were big fans of doing it that way. AFAIK they've eventually failed project since they never managed to boast workable collaborations and it has been really critical since project has been far too large for one small branch to handle it reasonably without reusing components created by others. If we take a look on e.g. Linux, their development processes are light years ahead of this crap. So to the hell, why stick to retarded crap when one could get much better tools? XD

          And the BASIC analogy seems fitting, it's exactly how I feel dealing with svn.
          Somehow large companies are prone to this kind of crap - it has been 198x when they've started, few upstarts were young and brash and took BASIC as their tool of choice, just because they had superb idea and only knew this tool. Over time their idea proven to be good and it took off. Large company has appeared. Times has changed, project is increasingly inappropriate to what's going on, but they can't easily replace it. That's how it works. Large companies are slow and not really efficient. That's what gives room for smaller companies to start their adventures. Sometimes even large company refuses to become slow and efficient. In this case Google happens and many other companies are getting dominated really hard, just like e.g. Android did, even if it has been some byproduct

          *it happens at my current workplace. As a bonus, we have over 20 projects in the same repository, because hey, svn is a free-for-all so why not?
          Becaues I've seen how it performs in large companies. Then I've seen how it performs in e.g. Linux kernel. That's how one could easily see who has got their workflows fucked up. Somehow I do not think it is Linux :P. Speaking for myself I'm not a big fan using retarded tools and fucked up workflows.

          Comment

          Working...
          X