From: Luciano Rocha <luciano@eurotux.com>
To: Paul Gardiner <osronline@glidos.net>
Cc: git@vger.kernel.org
Subject: Re: New to git: sorry for obvious question.
Date: Mon, 4 Feb 2008 10:50:07 +0000 [thread overview]
Message-ID: <20080204105006.GA15855@bit.office.eurotux.com> (raw)
In-Reply-To: <47A6E130.7090909@glidos.net>
[-- Attachment #1.1: Type: text/plain, Size: 1069 bytes --]
On Mon, Feb 04, 2008 at 09:56:00AM +0000, Paul Gardiner wrote:
> Hi,
>
> I've moved a project from CVS on sourceforge to git on repo.or.cz. I
> want a local mirror on my own home server, so that it appears amongst
> the projects shown by my own gitweb set up, and so it gets caught by
> my backup system. I've created the mirror with
>
> git clone --bare <remote-url> <local-dir>
>
> and that seems fine. But how do I now keep it up to date. I was
> guessing a cron job doing some sort of git pull, but pull doesn't
> look to work on --bare proj.git type repositories.
You want git fetch. Git pull also updates the working copy, which you
don't have.
Also, git clone --bare doesn't set up the origin configuration, and I
have to do it by hand:
git config remote.origin.url "$url"
git config remote.origin.fetch "+refs/heads/*:refs/heads/*"
As for keeping clones up to date, I include a script I use daily for
that purpose.
--
Luciano Rocha <luciano@eurotux.com>
Eurotux Informática, S.A. <http://www.eurotux.com/>
[-- Attachment #1.2: update --]
[-- Type: text/plain, Size: 1480 bytes --]
#!/bin/bash
cd /media/stuff/src || exit 1
lockf=/tmp/.uprepo.lock
lockfile -60 -l 36000 -r 20 $lockf || exit 1
TL=$((20*60))
running()
{
kill -0 $* &> /dev/null
}
tl()
{
local max=$(($1+SECONDS))
shift
exec "$@" &
while running $! &> /dev/null && [ $max -ge $SECONDS ]; do sleep 1; done
if running $!; then
kill $! &> /dev/null
sleep 1
kill -9 $! &> /dev/null
fi
}
trap "rm -f $lockf" EXIT
shopt -s dotglob
for i in *.git */*.git; do
[ -h "$i" ] && continue
[ -d "$i" ] || continue
d="${i%/.git}"
echo $d
if [ "$d" = "$i" ]; then
(cd "$d" && tl $TL git fetch) 2>&1 | nocr
elif [ -d "$i/svn" ]; then
(cd "$d" && tl $TL git svn fetch) 2>&1 | nocr
elif [ -e "$d/.cvsurl" ]; then
(cd "$d" && tl $TL git cvsimport $(<.cvsurl)) 2>&1 | nocr
elif [ -e "$d/.svnurl" ]; then
(cd "$d" && tl $TL git svnimport -r $(<.svnurl)) 2>&1 | nocr
else
(cd "$d" && tl $TL git pull) 2>&1 | nocr
fi
done
for i in */*.hg */*/*.hg; do
[ -h "$i" ] && continue
[ -d "$i" ] || continue
d="${i%/.hg}"
echo $d
(cd "$d" && tl $TL hg pull)
done
for i in */*_darcs; do
[ -h "$i" ] && continue
[ -d "$i" ] || continue
d="${i%/_darcs}"
echo $d
(cd "$d" && tl $TL darcs pull -aq)
done
for i in */.svn; do
[ -h "$i" ] && continue
[ -d "$i" ] || continue
d="${i%/.svn}"
echo $d
(cd "$d" && tl $TL svn up -q)
done
for i in */CVS; do
[ -h "$i" ] && continue
[ -d "$i" ] || continue
d="${i%/CVS}"
echo $d
(cd "$d" && tl $TL cvs -Q -z3 up -P)
done
[-- Attachment #1.3: nocr --]
[-- Type: text/plain, Size: 130 bytes --]
#!/usr/bin/perl
use warnings;
use strict;
-t && exec "/bin/cat";
undef $/;
my $in = <>;
$in =~ s/^.*\r(?!\n)//gm;
print $in;
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2008-02-04 10:57 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-04 9:56 New to git: sorry for obvious question Paul Gardiner
2008-02-04 10:27 ` Matthieu Moy
2008-02-04 10:41 ` Paul Gardiner
2008-02-04 10:51 ` Boaz Harrosh
2008-02-04 10:50 ` Luciano Rocha [this message]
2008-02-04 12:04 ` Paul Gardiner
2008-02-04 13:10 ` Boaz Harrosh
2008-02-04 14:17 ` Paul Gardiner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080204105006.GA15855@bit.office.eurotux.com \
--to=luciano@eurotux.com \
--cc=git@vger.kernel.org \
--cc=osronline@glidos.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).