WarpX FAQs
From Warpx
Here is a list of frequently asked questions about WarpX. If you have suggestions for others please send an email to Uri Shumlak or Ammar Hakim.
Where do I find build instructions for WarpX?
On the WarpX Build Instructions page.
Where do I learn basics of subversion?
The most basic command for subversion is checking out code
svn co svn+ssh://warpx@psicenter.org/warpx/trunk warpx
This will check out a copy of WarpX and put it into a directory called warpx. Once you finish editing code, you can check it in from the warpx directory
svn ci
Do not forget to svn add any new files you have created!
For more information see the Subversion Book.
It is free and very comprehensive.
What to do if I forget my subversion password?
Go to your home directory and cd to::
cd .subversion/auth/svn.simple
One of the files in this directory will have your password. Just look!
How do I create a branch and merge when I am done?
Decide on a good branch name. It should be short but descriptive. Then create the branch by doing::
svn cp svn+ssh://warpx@psicenter.org/warpx/trunk svn+ssh://warpx@psicenter.org/warpx/branches/grd_pic_2008
Then checkout the new branch::
svn co svn+ssh://warpx@psicenter.org/warpx/branches/grd_pic_2008
If you already have a working trunk directory you can switch to the new branch without checking out the branch. First, cd to the top of your trunk directory. Then do:
svn sw svn+ssh://warpx@psicenter.org/warpx/branches/grd_pic_2008
The advantage of the switch is that you do not need to compile the code from scratch as the already compile code can be used.
You should now set a svn property to remind you of which version you branched at. Say you branched at revision 1525. Then from the grd_pic_2008 directory do
svn pe svn:mergeinfo .
This will bring up an editor and you should type the revision number when you branched. A message like "Branch created on rev 1525" is sufficient. Now commit
svn ci
You can now work in your branch and commit to it regularly. Once you are ready to merge check in your changes. Note down your latest revision, say 1550. Then determine the revision you branched by quering the property you set when creating the branch
svn pg svn:mergeinfo Branch created on rev 1525
Then checkout the the latest trunk directory. From it merge by doing
svn merge -r 1525:1550 svn+ssh://warpx@psicenter.org/warpx/branches/grd_pic_2008 .
You will see messages as the merge occurs. If there are conflicts you will need to resolve them by hand. Refer to the Subversion Book for details. Once the conflicts have been resolved, commit to the trunk. In genral you should remember to delete your branch once you are done with it.
How do I create a patch and apply it?
First cd to the top of your WarpX directory and do:
svn diff > patchfile.diff
Then you can send this diff file to someone else. If you have a patch from someone else you can apply the patch by doing:
patch -p0 -i patchfile.diff
Is there a Emacs style file which adheres to WarpX coding standards?
Yes. If you have checked out WarpX look in docs/dotemacs. Copy the contents of this file into your .emacs file.
Is there a way for me to navigate the code using Vim or Emacs?
Yes. Run ebrowse from the warpx/src directory
ebrowse */*.h */*.cpp
Then open the BROWSE file with emacs. This only works with emacs. You can also use the ctags utility to generate a TAGS file. Both emacs and vim support ctags. For emacs you can run ctags using::
ctags -e --recurse=yes */
This will create TAGS for all the files in facets. Refer to TAGS documentation which comes with emacs and vim on how to use tags.
A heavy-weight option is the Emacs Code Browser
How do I use the PBS scheduler?
To determine all the queues on your machine use.
qmgr –c “print server”
