/[MITgcm]/mitgcm.org/scripts/mk_git_tarfile
ViewVC logotype

Diff of /mitgcm.org/scripts/mk_git_tarfile

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.3 by jmc, Wed Dec 13 18:18:52 2017 UTC revision 1.7 by jmc, Thu Feb 1 06:48:54 2018 UTC
# Line 3  Line 3 
3  # $Header$  # $Header$
4    
5  # download the source code from github and make a tar file  # download the source code from github and make a tar file
6  repo='altMITgcm'    git_repo='MITgcm';  git_code='MITgcm'
7  code='MITgcm'  # git_repo='altMITgcm'; #git_code='MITgcm66h'
8    tmpFil="/tmp/"`basename $0`".$$"
9    
10  umask 0002  umask 0002
11    
12  echo 'Changing dir. to /u/httpd/html/download/git_snapshot'  echo 'Changing dir. to /u/u0/httpd/html/download/git_snapshot'
13  cd /u/httpd/html/download/git_snapshot  cd /u/u0/httpd/html/download/git_snapshot
14  outp=$?  outp=$?
15  if test $outp != 0 ; then  if test $outp != 0 ; then
16     echo " Error in cd : $outp"     echo " Error in cd : $outp"
17     exit     exit 1
18  fi  fi
19  test -e $code &&  rm -rf $code  test -e $git_code && rm -rf $git_code
20    
21  echo "Make a clone of $code from repo: $repo ..."  echo "Make a clone of $git_code from repo: $git_repo ..."
22  git clone --depth 1 https://github.com/$repo/$code.git  #git clone --depth 1 https://github.com/$git_repo/$git_code.git 2> $tmpFil
23  #  chgrp gcmpack $code   git clone https://github.com/$git_repo/$git_code.git 2> $tmpFil
24  #  chmod 775 $code  outp=$?
25    if test $outp = 0 ; then
26       echo ' --> done!'
27       rm -f $tmpFil
28    else
29       echo " Error: 'git clone' returned: $outp"
30       cat $tmpFil
31       rm -f $tmpFil
32       exit 2
33    fi
34    #  chgrp gcmpack $git_code
35       chmod 775 $git_code
36    
 echo 'Creating the archive file...'  
37  rm -rf MITgcm_ss_*  rm -rf MITgcm_ss_*
38  arName='MITgcm_ss_'`date +%Y%m%d`'.tar'  arName='MITgcm_ss_'`date +%Y%m%d`'.tar'
39  ( cd $code ; git archive -o ../$arName master )  
40    echo -n 'Creating the archive file ... '
41    ( cd $git_code ; git archive --prefix MITgcm/ -o ../$arName master )
42  gzip -9 $arName  gzip -9 $arName
43    #- should check if successful, it not -> exit 3
44    echo 'Done!'
45    
46  #chmod 664 ${arName}.gz  #chmod 664 ${arName}.gz
47  ls -l ${arName}*  ls -l ${arName}*
48    
49  echo 'Done!'  #exit
50  exit  backupDir="other_checkpoints"
51    if test ! -d ../$backupDir ; then
52      echo -n " make dir: $backupDir"
53      mkdir ../$backupDir
54      outp=$?
55      if test $outp != 0 ; then
56         echo " Error in mkdir command: $outp"
57         exit 4
58      else
59         echo " Done"
60         ls -ld ../$backupDir
61      fi
62    #else
63    # ls -ld ../$backupDir
64    fi
65    
66    savRepo="${git_code}_git"
67    echo -n 'Make a tar file of the full git repo ...'
68      test -e $savRepo.tar    && mv -f $savRepo.tar    ../$backupDir
69      test -e $savRepo.tar.gz && mv -f $savRepo.tar.gz ../$backupDir
70      tar -cf $savRepo.tar $git_code
71      gzip -9 $savRepo.tar
72    #- should check if successful, it not -> exit 5
73    echo ' Done !'
74    ls -l ${savRepo}*
75    
76  #-- test for new checkpoint  #-- test for new checkpoint
77  cd ..  version_file="$git_code/doc/tag-index"
 version_file="daily_snapshot/MITgcm/doc/tag-index"  
 backupDir="other_checkpoints"  
78  if test -f $version_file ; then  if test -f $version_file ; then
79      thischkpt=`awk '/^checkpoint/{print $1; exit}' $version_file`    thischkpt=`awk '/^checkpoint/{print $1; exit}' $version_file`
80      short=`echo $thischkpt | sed 's/checkpoint/c/'`    short=`echo $thischkpt | sed 's/checkpoint/c/'`
81      chkptar="MITgcm_$short"    chkptar="MITgcm_$short"
82      if test -f $chkptar.tar.gz ; then    if test -f ../$chkptar.tar.gz ; then
83        echo "tar file ($chkptar) exist for current tag: $thischkpt"      echo "tar file ($chkptar) exist for current tag: $thischkpt"
84      else
85        echo -n " ; checkpoint archive file ... "
86        ( cd $git_code ; git archive --prefix MITgcm/ -o ../$chkptar $thischkpt )
87        outp=$?
88        if test $outp != 0 ; then
89           echo " Error in 'git archive' command: $outp"
90           exit 5
91      else      else
92        echo -n "Checking out $thischkpt ..."         echo " Done"
       rm -f checkout.out checkout.err  
       cvs co -P -d $chkptar -r $thischkpt MITgcm 1> checkout.out 2> checkout.err  
       outp=$?  
       if test $outp != 0 ; then  
          echo " Error in cvs checkout: $outp"  
          cat checkout.err  
          exit  
       fi  
       echo -n " ; making tar file ... "  
       rm -f checkout.out checkout.err  
       tar -cf $chkptar.tar $chkptar  
       outp=$?  
       if test $outp != 0 ; then  
          echo " Error in tar command: $outp"  
          exit  
       else  
          echo " Done"  
          rm -r -f $chkptar  
       fi  
       gzip $chkptar.tar  
       ls -l $chkptar.tar*  
       #-- move previous tar file to backupDir  
       listTar=`ls MITgcm_c*.tar.gz`  
       if test -d $backupDir ; then  
         for xx in $listTar ; do  
           if test $xx != $chkptar.tar.gz ; then  
             if test -f other_checkpoints/$xx ; then  
               echo "error: $backupDir/$xx already exist"  
             else  
               echo " mv $xx $backupDir"  
               mv $xx $backupDir  
             fi  
           fi  
         done  
       else  
          echo " no dir: $backupDir"  
          exit  
       fi  
93      fi      fi
94        gzip $chkptar.tar
95        ls -l $chkptar.tar*
96        mv $chkptar.tar.gz ..
97        #-- move previous tar file to backupDir
98        cd ..
99        listTar=`ls MITgcm_c*.tar.gz`
100        for xx in $listTar ; do
101          if test $xx != $chkptar.tar.gz ; then
102            if test -f other_checkpoints/$xx ; then
103              echo "error: $backupDir/$xx already exist"
104            else
105              echo " mv $xx $backupDir"
106              mv $xx $backupDir
107            # echo " Remove $xx"
108            # /bin/rm -f $xx
109            fi
110          fi
111        done
112      fi
113    else
114      echo "missing file '$version_file' !"
115  fi  fi
   

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22