/[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.2 by jmc, Mon Jul 31 20:22:37 2017 UTC revision 1.11 by jmc, Tue Apr 2 14:06:06 2019 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='MITgcm66h'  # 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...'  
 rm -rf MITgcm_ss_*  
37  arName='MITgcm_ss_'`date +%Y%m%d`'.tar'  arName='MITgcm_ss_'`date +%Y%m%d`'.tar'
38  ( cd $code ; git archive -o ../$arName master )  fixName=MITgcm_today_snapshot.tar.gz
39  gzip -9 $arName  rm -rf MITgcm_ss_* $fixName
 #chmod 664 ${arName}.gz  
 ls -l ${arName}*  
40    
41  echo 'Done!'  echo -n 'Creating the archive file ... '
42  exit  ( cd $git_code ; git archive --prefix MITgcm/ -o ../$arName master )
43     gzip -9 $arName
44    #- should check if successful, it not -> exit 3
45    if test -e ${arName}.gz ; then
46       echo 'Done!'
47      #chmod 664 ${arName}.gz
48       ls -l ${arName}* | tee -a $HOME/testing/logs/tar_file_list
49    #- make a link to a fixed name:
50       ln -s ${arName}.gz $fixName
51       ls -l $fixName
52    else
53       echo 'Fail: no gzip archive file!'
54       ls -l ${arName}*
55       exit 3
56    fi
57    
58  #-- test for new checkpoint  #exit
 cd ..  
 version_file="daily_snapshot/MITgcm/doc/tag-index"  
59  backupDir="other_checkpoints"  backupDir="other_checkpoints"
60    if test ! -d ../$backupDir ; then
61      echo -n " make dir: $backupDir"
62      mkdir ../$backupDir
63      outp=$?
64      if test $outp != 0 ; then
65         echo " Error in mkdir command: $outp"
66         exit 4
67      else
68         echo " Done"
69         ls -ld ../$backupDir
70      fi
71    #else
72    # ls -ld ../$backupDir
73    fi
74    
75    savRepo="${git_code}_git"
76    echo -n 'Make a tar file of the full git repo ...'
77      test -e $savRepo.tar    && mv -f $savRepo.tar    ../$backupDir
78      test -e $savRepo.tar.gz && mv -f $savRepo.tar.gz ../$backupDir
79      tar -cf $savRepo.tar $git_code
80      gzip -9 $savRepo.tar
81    #- should check if successful, it not -> exit 5
82    echo ' Done !'
83    ls -l ${savRepo}*
84    
85    #-- test for new checkpoint
86     version_file="$git_code/doc/tag-index"
87    #version_file="$git_code/.git/config"
88  if test -f $version_file ; then  if test -f $version_file ; then
89      thischkpt=`awk '/^checkpoint/{print $1; exit}' $version_file`    thischkpt=`awk '/^checkpoint/{print $1; exit}' $version_file`
90      short=`echo $thischkpt | sed 's/checkpoint/c/'`   #- better way to get latest tag ( but only works with git version 2 )
91      chkptar="MITgcm_$short"   #thischkpt=`(cd $git_code ; git tag -l --sort=-authordate | head -n 1 )`
92      if test -f $chkptar.tar.gz ; then    short=`echo $thischkpt | sed 's/checkpoint/c/'`
93        echo "tar file ($chkptar) exist for current tag: $thischkpt"    chkptar="MITgcm_${short}.tar"
94      if test -f ../$chkptar.gz ; then
95        echo "tar file ($chkptar) exist for current tag: $thischkpt"
96      else
97        echo -n 'Creating the checkpoint archive file ... '
98        ( cd $git_code ; git archive --prefix MITgcm/ -o ../$chkptar $thischkpt )
99        outp=$?
100        if test $outp != 0 ; then
101           echo " Error in 'git archive' command: $outp"
102           exit 5
103      else      else
104        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  
105      fi      fi
106        gzip -9 $chkptar
107        ls -l ${chkptar}*
108        mv $chkptar.gz ..
109      #-- move previous tar file to backupDir
110        cd ..
111        listTar=`ls MITgcm_c*.tar.gz`
112        for xx in $listTar ; do
113          if test $xx != $chkptar.gz ; then
114            if test -f other_checkpoints/$xx ; then
115              echo "error: $backupDir/$xx already exist"
116            else
117              echo " mv $xx $backupDir"
118              mv $xx $backupDir
119            # echo " Remove $xx"
120            # /bin/rm -f $xx
121            fi
122          fi
123        done
124      fi
125    else
126      echo "missing file '$version_file' !"
127  fi  fi
   

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22