Revision 434:dcf38f417f1f extra
| extra/soundsoftware/update-external-repo.sh | ||
|---|---|---|
| 1 | 1 |
#!/bin/sh |
| 2 | 2 |
|
| 3 | 3 |
mirrordir="/var/mirror" |
| 4 |
logfile="/var/www/test-cannam/log/update-external-repo.log"
|
|
| 4 |
hg="/usr/local/bin/hg"
|
|
| 5 | 5 |
|
| 6 | 6 |
project="$1" |
| 7 | 7 |
local_repo="$2" |
| ... | ... | |
| 66 | 66 |
echo "$$: Mirror for project $project exists at $project_repo_mirror, updating" 1>&2 |
| 67 | 67 |
|
| 68 | 68 |
if [ -d "$project_repo_mirror/.hg" ]; then |
| 69 |
hg --config extensions.convert= convert --datesort "$remote_repo" "$project_repo_mirror" && success=true
|
|
| 69 |
"$hg" --config extensions.convert= convert --datesort "$remote_repo" "$project_repo_mirror" && success=true
|
|
| 70 | 70 |
elif [ -d "$project_repo_mirror/.git" ]; then |
| 71 |
( cd "$project_repo_mirror" && git fetch "$remote_repo" ) && success=true
|
|
| 71 |
( cd "$project_repo_mirror" && git pull "$remote_repo" master ) && success=true
|
|
| 72 | 72 |
else |
| 73 | 73 |
echo "$$: ERROR: Repo mirror dir $project_repo_mirror exists but is not an Hg or git repo" 1>&2 |
| 74 | 74 |
fi |
| ... | ... | |
| 81 | 81 |
case "$remote_repo" in |
| 82 | 82 |
*git*) |
| 83 | 83 |
git clone "$remote_repo" "$project_repo_mirror" || |
| 84 |
hg --config extensions.convert= convert --datesort "$remote_repo" "$project_repo_mirror"
|
|
| 84 |
"$hg" --config extensions.convert= convert --datesort "$remote_repo" "$project_repo_mirror"
|
|
| 85 | 85 |
;; |
| 86 | 86 |
*) |
| 87 |
hg --config extensions.convert= convert --datesort "$remote_repo" "$project_repo_mirror" ||
|
|
| 87 |
"$hg" --config extensions.convert= convert --datesort "$remote_repo" "$project_repo_mirror" ||
|
|
| 88 | 88 |
git clone "$remote_repo" "$project_repo_mirror" || |
| 89 |
hg clone "$remote_repo" "$project_repo_mirror"
|
|
| 89 |
"$hg" clone "$remote_repo" "$project_repo_mirror"
|
|
| 90 | 90 |
;; |
| 91 | 91 |
esac && success=true |
| 92 | 92 |
|
| ... | ... | |
| 98 | 98 |
echo "$$: Update successful, pulling into local repo at $local_repo" |
| 99 | 99 |
if [ -d "$project_repo_mirror/.git" ]; then |
| 100 | 100 |
if [ ! -d "$local_repo" ]; then |
| 101 |
hg init "$local_repo"
|
|
| 101 |
"$hg" init "$local_repo"
|
|
| 102 | 102 |
fi |
| 103 |
( cd "$local_repo" && hg --config extensions.hgext.git= pull "$project_repo_mirror" )
|
|
| 103 |
( cd "$local_repo" && "$hg" --config extensions.hggit= pull "$project_repo_mirror" )
|
|
| 104 | 104 |
else |
| 105 |
( cd "$local_repo" && hg pull "$project_repo_mirror" )
|
|
| 105 |
( cd "$local_repo" && "$hg" pull "$project_repo_mirror" )
|
|
| 106 | 106 |
fi |
| 107 | 107 |
fi |
Also available in: Unified diff