Revision 436:4eb486dbf730
| extra/soundsoftware/update-external-repo.sh | ||
|---|---|---|
| 60 | 60 |
|
| 61 | 61 |
success="" |
| 62 | 62 |
|
| 63 |
# If we have a record of the last successfully updated remote repo |
|
| 64 |
# URL, check it against our current remote URL: if it has changed, we |
|
| 65 |
# will need to start again with a new clone rather than pulling |
|
| 66 |
# updates into the existing local mirror |
|
| 67 |
|
|
| 68 |
successfile="$project_mirror/last_successful_url" |
|
| 69 |
if [ -f "$successfile" ]; then |
|
| 70 |
last=$(cat "$successfile") |
|
| 71 |
if [ x"$last" == x"$remote_repo" ]; then |
|
| 72 |
echo "$$: Remote URL is unchanged from last successful update" |
|
| 73 |
else |
|
| 74 |
echo "$$: Remote URL has changed since last successful update:" |
|
| 75 |
echo "$$: Last URL was $last, current is $remote_repo" |
|
| 76 |
suffix="$$.$(date +%s)" |
|
| 77 |
echo "$$: Moving existing repos to $suffix suffix and starting afresh" |
|
| 78 |
mv "$project_repo_mirror" "$project_repo_mirror"."$suffix" |
|
| 79 |
mv "$local_repo" "$local_repo"."$suffix" |
|
| 80 |
mv "$successfile" "$successfile"."$suffix" |
|
| 81 |
fi |
|
| 82 |
fi |
|
| 83 |
|
|
| 63 | 84 |
if [ -d "$project_repo_mirror" ]; then |
| 64 | 85 |
|
| 65 | 86 |
# Repo mirror exists: update it |
| ... | ... | |
| 96 | 117 |
|
| 97 | 118 |
if [ -n "$success" ]; then |
| 98 | 119 |
echo "$$: Update successful, pulling into local repo at $local_repo" |
| 120 |
if [ ! -d "$local_repo" ]; then |
|
| 121 |
"$hg" init "$local_repo" |
|
| 122 |
fi |
|
| 99 | 123 |
if [ -d "$project_repo_mirror/.git" ]; then |
| 100 |
if [ ! -d "$local_repo" ]; then |
|
| 101 |
"$hg" init "$local_repo" |
|
| 102 |
fi |
|
| 103 |
( cd "$local_repo" && "$hg" --config extensions.hggit= pull "$project_repo_mirror" ) |
|
| 124 |
( cd "$local_repo" && "$hg" --config extensions.hggit= pull "$project_repo_mirror" ) && echo "$remote_repo" > "$successfile" |
|
| 104 | 125 |
else |
| 105 |
( cd "$local_repo" && "$hg" pull "$project_repo_mirror" ) |
|
| 126 |
( cd "$local_repo" && "$hg" pull "$project_repo_mirror" ) && echo "$remote_repo" > "$successfile"
|
|
| 106 | 127 |
fi |
| 107 | 128 |
fi |
Also available in: Unified diff