Ed's cookbook for maintaining PISM:


0)  How do I put a completely new subdirectory in tags, with a copy of the trunk?

  svn copy svn+ssh://svn.gna.org/svn/pism/trunk/ svn+ssh://svn.gna.org/svn/pism/tags/stable0.999 \
    -m "Pithy message."
    
    
1)  How do I make a .tar.gz from the current svn?

  Assume that pism-stable0.1/ contains the source.  Then:
   
   $ svn export pism-stable0.1/ pism-stable0.1.0           # TELL SVN TO MAKE A CLEAN COPY
   $ tar -cvzf pism-stable0.1.0.tar.gz pism-stable0.1.0/   # TAR IT UP
   $ tar -tvf pism-stable0.1.0.tar.gz                      # CHECK ITS CONTENTS

2)  Which files do I need to keep up-to-date at www.pism-docs.org for stable docs?

  These files: manual.pdf, installation.pdf.
  And a recent version of the source code browser, next.

3)  How do I upload a recent version of the (development) source code browser?

  Build it, tar it, send to dogbert, then get on dogbert and unzip it in the right place:
  
   $ cd 'pism build directory'
   $ make browser_base                         # tools needed: doxygen, latex
   $ make browser_util
   $ cd doc/browser/                           # in the build dir
   $ tar -cvzf browser_recent.tar.gz base/* util/*
   $ scp browser_recent.tar.gz bueler@dogbert.gi.alaska.edu:~bueler/pismdocs/doxy-trunk/
   $ ssh -XY bueler@dogbert.gi.alaska.edu
   $ cd pismdocs/doxy-trunk/
   $ mv browser/ old_browser_DATE/             # save old if you want to
   $ mkdir browser/
   $ cd browser/
   $ tar -xvf ../browser_recent.tar.gz         # CREATES base/html/* and util/html/*
   
  Now try "firefox www.pism-docs.org/doxy-trunk/browser/base/html/index.html" on
  a remote machine.  If success, log off of dogbert.
  
  To post a stable version, substitute "doxy/" for "doxy-trunk/" above.

 
4)  How big is the PISM source code?

   $ cd src
   $ wc -l *.cc base/*.hh base/*.cc coupler/*.hh coupler/*.cc \
           eismint/*.hh eismint/*.cc earth/*.hh earth/*.cc trypetsc/l*.c \
           verif/*.hh verif/*.cc verif/tests/*.h verif/tests/*.c \
           ../examples/*/*.py ../examples/*/*.sh ../test/*/*/*.sh
  
  FIXME:  BUT THIS MISSES LOTS ... OF COURSE WHO CARES EXCEPT FOR HISTORICAL ...

  In r1254 this gives 44,586 lines.  Another way to count is to use  wc -c  on
  the same files.  In r1254 this gives 1575926 characters or about 19,700 lines
  if a line is 80 characters.
  
  The biggest files in r1254 are base/iMreport.cc and base/NCVariable.cc.

  Update (circa r1447):

  Another way to count is

  $ find -E src -regex ".*\.(cc|hh|c|h|py|sh)" | xargs wc -lc
  
  [note: "find" doesn't have a "-E" for me in ubuntu.  Ed]

  This gives 63270 lines and 2204839 characters, amounting to 27560 80-character lines.

  A big part of that is license messages and doxygen comments.