Software

Read Complete Research Material

SOFTWARE

Software

Software

Answer of Question No.1

Git and SVN are version control systems. Both are better than no version control system so you win no matter which you choose. There are some important differences between Git and SVN which might make one more suitable for your type of project than the other. It's not a question of which is better, but which is best suited for your situation and development process. SVN has been around longer. There are tons of tools available which make using it easier for non-technical users. SVN error messages make more sense. If the version control system will be used by managers, graphic designers or other non-developers, SVN is a better choice. With TortoiseSVN anybody tech-savvy enough to browse for files can easily use SVN. Git has a much higher learning curve than SVN.

Git is the new kid on the block, SVN is old-school. Don't get me wrong, Git deserves it's popularity. Git is fast and excellent for managing large open source projects with many collaborators. While branching is possible with SVN, branching and merging is what Git was built to do. Git may be harder to learn, but once you do learn how to use Git, you'll find it to be very feature rich and functional. Another huge advantage to Git is the GitHub website which makes programming a social activity. GitHub lets you connect with and follow other developers, sort of like Facebook for software developers. It makes coding more fun, and even makes it possible for less technical people to take part in the development process.

Subversion offers a centralized model whereas Git offers a decentralized model. What does this mean? With git, everyone has their own copy of the entire repository. Basically, everyone is always working on their own branch and functional code can later be merged into the master. With SVN, everyone has a working copy and changes are committed to a central repository. To work on a branch a user must copy the trunk into another directory and then merge it back when complete.

It's really a matter of preference. Anything you can do with one you can do with the other. If your project involves lots of branching and merging, I'd recommend Git. Keep in mind, not all projects involve branching or merging.Take Battle City for example. Before Battle City was released as open source, back when only one or two people worked on the code at any given time, all commits were done to a central SVN repository. This made sense because there was a project plan and list of features to develop. It was easy to watch the central repository and track progress.

Once Battle City was released as open source, development became a free-for-all. Contributors could work on anything, experiment with new ideas, even create conflicting items. If all commits were still done to a central repository, the project would never again compile and so branches became important.

Branching can still be done with SVN and within a company or organization this might make ...
Related Ads