Development process

UNDER CONSTRUCTION


OTHER PAGES WITH MORE INFO

Some of the pages listed here are certainly redundant. A good plan would be to remove/merge some of these pages, and have this page be a high-level summary with pointers to the more detailed pages.

Overview for new developers

New developers need to take the following steps:

  • get access to the source code repository
  • join all the mailing lists
  • get logins for the wiki, forum, and issue tracker

The next section briefly describes how to access these resources, and includes pointers to more detailed information.

Software Engineering Resources

Source code repository

The source code repository uses Subversion, and is located at NERSC, at the server portal-auth.nersc.gov using the "svn+ssh" protocol. You'll need a NERSC account, and a sponsoring developer can help you with this.

Note that we have some scripts to help make checkouts and merges easier and avoid errors, since we use a basic form of branch development to manage releases. For simple trunk development you might be able to get away with raw SVN checkouts, but you'll want learn more about scripts before doing anything complex anyway.

You can find more information here: Version Control

Issue tracker

We use an instance of redmine hosted at ORNL as our issue tracker. VisIt bug tracker

Mailing lists

The VisIt project has several mailing lists. All are hosted at ORNL. You need to subscribe to all of these lists:

  • visit-developers ("visit-developers at elist dot ornl dot gov")
    • This is for developers to ask questions of other developers, or to disseminate important information. If you're actively doing VisIt development, it's important to stay on top of this list.
  • visit-commits ("visit-commits at elist dot ornl dot gov")
    • For every commit to the subversion repository, the developer should send an email to this list. The subject should say which branch (e.g. trunk, 1.12RC, both) and revision numbers involved, and the body should have a "detailed summary" of the change and a list of the files just committed. Unless you've already written separate documentation for your change and provide a link to it, this is the only way other developers will know what's being committed to the code, what new features are added, and what implications this has for them as both developers and users, so please say more than three words here.
  • visit-users ("visit-users at elist dot ornl dot gov")
    • We expect developers to support their changes, and spend some portion of their time helping users. This particular list is for users who are not part of a group specifically providing funding to visit. Watch this list and chime in if you have something helpful to add, including responding if the only action you're taking is to add a bug report.

You want to hit just "reply", not "reply-all" for these lists, as the reply-to field has been set appropriately. In the case of visit-users and visit-developers, they are members-only lists and so by definition the sender will receive any response sent to the list. In the case of visit-commits, the responses go instead to visit-developers, which helps keep visit-commits a clean log of commit messages.

  • visit-help-funded (... and, indirectly, visit-help-asc, visit-help-gnep, visit-help-scidac )
    • If you are receiving funding to do VisIt development, odds are you'll have some users which you're paid, in part, to support. By subscribing to the visit-help-funded list, you will receive emails from these users. Note that users actually send emails to one of the several lists for their project (e.g. visit-help-scidac for SciDAC customers) which are funneled through to the visit-help-funded recipients. So you subscribe only to the visit-help-funded list to receive the incoming emails, and a list administrator also adds you to the visit-help-{asc,gnep,scidac,...} lists' allowed senders.
    • When you reply to this list, do use reply-all, so the response goes to the original recipient and a copy sent to the original visit-help-* list so the other funded developers know you've responded.
    • (This means when you subscribe to visit-help-funded, you'll need to be added to the allowed senders to the funding-group-specific list. Don't worry too much about that, though -- if the list admins don't remember to do this, the first time you send an email back to the list, they will add you.)

You can find more information here: MailingLists

Wiki

If you're reading this, you already know this wiki is a good place to quickly put information for users and developers. We also have other documentation (i.e. manuals) which have, obviously, slightly different uses and organizations. Hit the "create account" button at the top of the page to join.

You can find more information here: JoinWiki

Forum

You might want to also join the VisIt users forum. Users tend to use the mailing list instead of the Forum for now, but joining's still a good idea.

You can join here: http://visitusers.org/forum/YaBB.pl

Making changes to the code

  • checking out
  • committing
  • sending email to visit-commits
  • link to svn scripts
  • commenting code
  • commit comment

specifics of branch or release candidate development

  • merging
    • handling problems, like conflicts
    • backing out a merge

release process

testing

  • responsibility to watch for testing error messages
    • need nersc_username_to_email, right?