Re: how to git-archive ignore some files?

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: David Bryson
Date: Thursday, May 8, 2008 - 10:04 am

Hi Victor,

On Tue, May 06, 2008 at 03:15:31PM -0300 or thereabouts, Victor Bogado da S=
ilva Lins wrote:

Others already discussed the --delete method with tar, and I do something
similar except slightly more flexible.  I have for example, a git repo
that checks out directories from CVS, and of course I don't want these
CVS directories in my 'release'.  So put a executable '.release' file in
each repo that tells my release script how to fix up the tarball to be
production ready.

Here is my release script, modeled after some lines Linus put in the git
documentation.  It is meant to be run, reviewed for mistakes, and then
have the commands run via cut-paste.

#!/bin/bash=20
stable=3D"$1"
last=3D"$2"
new=3D"$3"
chip=3D"$4"
rel=3D`pwd | cut -d'/' -f6 | sed -e 's/\.git//'`

if [ -z $chip ]; then
	reldir=3D$rel
else
	reldir=3D$rel-$chip
fi

reldir=3D"$reldir-$new"
tarfile=3D"$reldir.tar"

if [ -d $reldir ]; then
	echo "release directory $reldir already exists, please remove" 1>&2
	exit 1
fi

if [ -f "../$reldir.tar" ]; then
	echo "Release file ../$reldir.tar already exists, please remove" 1>&2
	exit 1
fi

if [ -f "../$reldir.tar.gz" ]; then
	echo "Release file ../$reldir.tar.gz already exists, please remove" 1>&2
	exit 1
fi

echo "#git tag v$new"
echo "Tagging new release v$new" 1>&2
echo "git archive --prefix=3D$reldir/ v$new > ../$tarfile"
echo "mkdir $reldir"
#echo "git diff v$stable v$new | gzip -9 > ../patch-$new.gz"
echo "git log --no-merges v$new ^v$last > $reldir/ChangeLog-$new"
echo "git shortlog --no-merges v$new ^v$last > $reldir/ShortLog"
echo "git diff --stat --summary -M v$last v$new > $reldir/diffstat-$new"
echo "tar -rf ../$tarfile $reldir/*"
=2E/.release $reldir ../$tarfile
if [ $? !=3D 0 ]; then
	echo ".release script failed! removing generated files" 1>&2
	echo "rm -rf $reldir ../$tarfile"
	exit 1
fi
echo "gzip -9 < ../$tarfile > ../$tarfile.gz"
echo "rm -rf $reldir ../$tarfile"
echo "New release at ../$tarfile.gz" 1>&2

And an example .release file

#!/bin/bash
dirlist=3D"make foo_include scripts"
excludes=3D"--exclude CVS --exclude '*.o' --exclude '*.swp' --exclude '*.d'=
 --exclude '*.a'"
reldir=3D$1
tarfile=3D$2
#echo "make doc && make -C doc/latex pdf"
echo "cp -a $dirlist $reldir"
echo "cp Makefile.release $reldir/Makefile"
echo "tar $excludes -rf $tarfile $reldir/*"

# write over the makefile
echo "cp Makefile.release $reldir/Makefile"
echo "tar -u -f $tarfile $reldir/Makefile"
echo "tar --delete --file=3D$tarfile $reldir/Makefile.release"

# delete the doxygen file
echo "cp Doxyfile $reldir"
echo "tar --delete --file=3D$tarfile $reldir/Doxyfile"

# remove traces of the release file
echo "tar --delete --file=3D$tarfile $reldir/.release"
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
how to git-archive ignore some files?, Victor Bogado da Sil ..., (Tue May 6, 11:15 am)
Re: how to git-archive ignore some files?, Sean Estabrooks, (Tue May 6, 11:56 am)
Re: how to git-archive ignore some files?, René Scharfe, (Tue May 6, 2:23 pm)
Re: how to git-archive ignore some files?, Junio C Hamano, (Tue May 6, 3:08 pm)
Re: how to git-archive ignore some files?, David Bryson, (Thu May 8, 10:04 am)
Re: how to git-archive ignore some files?, Johannes Schindelin, (Thu May 8, 1:22 pm)
Re: how to git-archive ignore some files?, René Scharfe, (Sun May 11, 3:44 am)
Re: how to git-archive ignore some files?, Junio C Hamano, (Sun May 11, 9:20 am)
Re: how to git-archive ignore some files?, Jakub Narebski, (Mon May 12, 2:36 am)
Re: how to git-archive ignore some files?, René Scharfe, (Sun Jun 8, 9:42 am)