threads / discuss / 13732

using git-push to backup repo...strange behavior

Subject: using git-push to backup repo...strange behavior

## tl;dr

3 messages between May 30, 2008 and May 30, 2008.

replies: 2people: 3as markdown or json

davetron5000· May 30, 2008, 12:42 UTC · lore
at least to me.

I have a git repo locally. Want to essentially back it up on a remote server using git.

First step was tar/gz the repo, scp it to my server and expand it. Periodically throughout the day, I will do a

git push ssh://my.hostname.com/path/to/git/repo
There's a few issues:
1. Sometimes it doesn't work, saying a branch is "non fast forward".
--mirror or -f fixes this, but it seems wrong; I make no changes
remotely and clocks are in sync
2. --mirror doesn't like git stash, saying 'stash' is a "funny
refname"
3. On the remote side, I can find no way to update the working dir
with the changes other than git reset --hard.  Do I even need to do
this?  I'd like to be able to for automated builds/tests someday.
4. I made post-update executable, but it never runs (it echos a
message to a file)

I can't help feeling I'm doing everything wrong and just chancing on things working under certain conditions.

Dave
Teemu Likonen· May 30, 2008, 12:58 UTC · re: davetron5000 · lore

hooks/post-update does not run

davetron5000 wrote (2008-05-30 05:42 -0700):
> There's a few issues:
[...]
> 4. I made post-update executable, but it never runs (it echos a
> message to a file)
I have experienced this too. I never got post-update to do anything
- even if the repository lies on the same computer and filesystem I'm
pushing from. I wrote about this issue two ago but it didn't get any
replies: 
http://thread.gmane.org/gmane.comp.version-control.git/82351
david@lang.hm· May 30, 2008, 13:15 UTC · re: davetron5000 · lore

Re: using git-push to backup repo...strange behavior

On Fri, 30 May 2008, davetron5000 wrote:
Show 5 quoted lines
> 3. On the remote side, I can find no way to update the working dir
> with the changes other than git reset --hard.  Do I even need to do
> this?  I'd like to be able to for automated builds/tests someday.
> 4. I made post-update executable, but it never runs (it echos a
> message to a file)
I just went though this.

in the remote repo I make .git/hooks/post-receive executable, then edited it and made the script that it optionally calls excecutable, and uncommented it.

I then added git checkout -f and ran into a problem that was answered this morning by Johan Herland so the final script is

#!/bin/sh
if [ "$GIT_DIR" = "." ]; then
         GIT_DIR=`pwd`
fi

/usr/share/doc/git-core/contrib/hooks/post-receive-email cd .. /usr/bin/git checkout -f

David Lang

← back to recent threads