wiki:GettingStarted

Version 1 (modified by mmc, 8 years ago) (diff)

initial page

New Developers

Welcome, new developer! This page will help you get started using this site to help us develop the Bandstructure Lab.

Getting the Code

First step is to download the development code. To do this, you'll need Subversion, an open source version control system. You can download Subversion for all major platforms, including Linux, Windows, and MacOSX. If you're working on Windows, the Tortoise SVN package is particularly slick. It lets you control SVN functions via right-click menus as you navigate the file system. Subversion is similar to CVS, so if you've used that before, you'll feel right at home.

Once Subversion is installed, you download the code as follows:

% svn checkout https://repo.nanohub.org/svn/app-bandstrlab/trunk app-bandstrlab

The checkout command makes a local copy of the entire Bandstructure Lab source tree into your current working directory as a subdirectory called app-bandstrlab. By requesting .../app-bandstrlab/trunk, you get the main development trunk, which should have the latest stable code.

Making Changes

Once you've downloaded the code, you can make whatever changes you like. For example, you might edit a file to fix a bug or add some code. To make your changes permanent, you must {{{commit}} them to the repository as follows:

% cd app-bandstrlab
% svn commit --message "fixed my first bug!"

You don't have to include the optional --message argument. If you just say svn commit, Subversion will prompt you for comments in your favorite editor, and you can type much more.

It's best to commit at the top of the source tree--that's why we said "cd app-bandstrlab" in the example above. When you commit at the top of the tree, Subversion will search everything below, find all files that have changed, and commit them all at once. Committing a change makes it permanent. Once committed, other developers will see the change. If for some reason, you want to throw away your changes and start fresh, you can simply remove your source tree and check it out all over again. Or, you may want to remove just a few files that you've modified, and then update (as we'll see below) to replace the missing files with their previous version.

From time to time, you and another developer will modify the same file at the same time. Suppose the other developer checks in his changes first. When you try to commit, you'll get an error saying that your file is out-of-date. In that case, you need to update before committing. You can do that as follows:

% cd app-bandstrlab
% svn update

It's best to update at the top of the source tree--just like commit. That's why we said "cd app-bandstrlab" in the example above. When you update at the top of the tree, Subversion will search everything below, adding any new files, replacing any missing files, and integrating changes made by other developers. Once all files are properly updated, you can commit your changes again, and this time, it will work.