This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: gdb.git hiccup
Joel Brobecker wrote:
> > I'll build the newer version and make my cvs-to-git process use it.
> > It can only help. Though it can't repair the current holes in gdb.git.
> > Regarding that, if one of you gdb developers who use gdb.git can send
> > me git format-patch output that makes a clone from gdb.git identical to
> > a just-checked-out-from-cvs gdb directory, I will push it to both the
> > staging and public repositories.
>
> Here is a patch that should do the trick.
FYI, here's what I've done to the public git repo:
cvs -d /cvs/src co -P gdb # creates "src/"
git clone /git/gdb.git gdb-git
diff -Naur -xCVS -x.git gdb-git src > k
cd gdb-git
patch -p1 < ../k
git add .
git ci -m 'manually sync from the CVS repository' -a
git push
Then I did the same to the staging directory into which
cvs-to-git changes are first deposited, and from which
the hourly cron pushes to the public repo.
Now, the checkout/clone-and-comparison shows that the only difference
is the empty contrib/ directory (only-in-cvs in spite of -P):
cvs -d /cvs/src co -P gdb && git clone /git/gdb.git gdb-git \
&& diff -ru -xCVS -x.git src gdb-git
Only in src: contrib
[Exit 1]
With that, and the newly-installed cvsps-2.2b1, let's hope the git
repository stays in sync. I'm now running this script via cron every hour,
so if something fails to propagate, I'll know right away.
#!/bin/sh
# Ensure that CVS checkout and git clone produce the same tree.
set -e
tmp=$(mktemp -d)
cleanup()
{
__st=$?;
rm -rf "$tmp"
exit $__st
}
trap cleanup 0
trap 'exit $?' 1 2 13 15
cd "$tmp"
cvs -Q -d /cvs/src co -P gdb
git clone -q /git/gdb.git gdb-git
rm -rf src/contrib/CVS
rmdir src/contrib
diff -ru -xCVS -x.git src gdb-git