LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: Lauro, John<jlauro@u...>
    Date: Tue Apr 18 15:37:38 CEST 2006
    Subject: [oc] kindly convert opencores cvs repository to subversion (svn)
    Top
    1. Can you give some examples of commercial tools that are still only
    lock-modify-unlock? I am not too familiar with many commercial
    options, but doing some quick checks on google, many of the commercial
    options I can find have switched to the copy-modify-merge, and the
    lock-modify-unlock is generally considered outdated, causing more
    problems than it helps. In general, I think most developers will
    agree that LMU slows development, and is not appropriate for large
    teams.

    2. Personally, I think your scenario would work well with git,
    although it would allow other developers access to each others files.
    IMO, blocking access to files that are controlled by other developers
    is a big source of bugs and poor quality control. Instead of finding
    and correcting a problem in someone else's files and uploading the
    changes (which the owner then must approve), the developer ends up
    working around the problem, causing duplicate code, extra
    dependancies, etc... Even if the work around is fine for "now",
    because it wasn't corrected where the problem really was (that file
    was LOCKED and the code isolationism decreases communications), the
    problem will show up again... CMM promotes communications because the
    developer will know when their files are modified by someone else.

    3. Easy... The owner of the code can back-out or require review of
    the changes prior to accepting. I think Linux and many other open
    source projects is proof that it can work. The 1000 line limit also
    sounds a little short, but what is reasonable also depends on the
    language...



    -----Original Message-----
    From: cores-bounces@o... [mailto:cores-bounces@o...]
    On Behalf Of Richard Tierney
    Sent: Tuesday, April 18, 2006 4:50 AM
    To: Discussion list about free open source IP cores
    Subject: Re: [oc] kindly convert opencores cvs repository to
    subversion (svn)

    . . .

    1 - Why are commercial tools lock-modify-unlock, rather than
    copy-modify-merge? Can you name a proper commercial tool that uses
    copy-modify-merge? Why is this?

    2 - Imagine you're a project manager with say, 20 developers, each of
    greatly differing experience and ability, and each working on 100
    source
    files. How do you set this up? I'll tell you how I would set it up:
    each
    developer owns their own source files. They're responsible for those
    files. The other developers cannot get arbitrary access to those
    files.
    A developer carries out the requried changes to their own files,
    except
    in exceptional circumstances, such as code reviews, holidays, and so
    on.

    3 - the whole concept of merging different changes into a software
    source file is just bizarre. The whole file should ideally be about
    400
    lines long, and certainly no longer than 1000 lines. One person needs
    to
    understand the entire file intimately. How could you, as the project
    manager, possibly allow two different developers to simultaneously
    modify two different parts (or, in the worst case, the *same* part) of

    the same file?

    I've worked in one commercial environment where we used CVS. This
    worked
    because we agreed on the rules above, so merging was not an issue.
    This
    is fine, so long as everyone knows their place. I've worked in another

    environment with a commercial RCS-based tool (in other words,
    lock-modify-unlock). This worked because it couldn't fail. Take your
    pick.

    As I said, I'm talking about real-world commercial development; web
    development of free software could be seen as being different.

    RT
    _______________________________________________
    http://www.opencores.org/mailman/listinfo/cores

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.