Merge pull request #150 from jvanasco/fixes-subversion
Fixes for subversion
This commit is contained in:
@@ -29,6 +29,7 @@ Table of Contents
|
|||||||
- [Replace expired keys:](#replace-expired-keys)
|
- [Replace expired keys:](#replace-expired-keys)
|
||||||
- [Some common errors:](#some-common-errors)
|
- [Some common errors:](#some-common-errors)
|
||||||
- [Using Blackbox without a repo](#using-blackbox-without-a-repo)
|
- [Using Blackbox without a repo](#using-blackbox-without-a-repo)
|
||||||
|
- [Some Subversion gotchas:](#some-subversion-gotchas)
|
||||||
- [How to submit bugs or ask questions?](#how-to-submit-bugs-or-ask-questions)
|
- [How to submit bugs or ask questions?](#how-to-submit-bugs-or-ask-questions)
|
||||||
- [Developer Info](#developer-info)
|
- [Developer Info](#developer-info)
|
||||||
- [Alternatives](#alternatives)
|
- [Alternatives](#alternatives)
|
||||||
@@ -636,6 +637,13 @@ The following commands have been tested outside a repo:
|
|||||||
- `blackbox_edit_start`
|
- `blackbox_edit_start`
|
||||||
- `blackbox_edit_end`
|
- `blackbox_edit_end`
|
||||||
|
|
||||||
|
Some Subversion gotchas:
|
||||||
|
========================
|
||||||
|
|
||||||
|
The current implementation will store the blackbox in `/keyrings` at the root of the entire repo. this will create an issue between environments that have different roots (ie, checking out `/` on development vs `/releases/foo` in production). To get around this, you can `export BLACKBOX_REPOBASE=/path/to/repo` and set a specific base for your repo.
|
||||||
|
|
||||||
|
This was originally written for git and supports a two-phase commit, in which `commit` is a local commit and "push" sends the change upstream to the version control server when something is registered or deregistered with the system. The current implementation will immediately `commit` a file (to the upstream subversion server) when you execute a `blackbox_*` command.
|
||||||
|
|
||||||
How to submit bugs or ask questions?
|
How to submit bugs or ask questions?
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
|
|||||||
@@ -62,6 +62,11 @@ export REPOBASE=$(physical_directory_of "$REPOBASE")
|
|||||||
# FIXME: Verify this function by checking for .hg or .git
|
# FIXME: Verify this function by checking for .hg or .git
|
||||||
# after determining what we believe to be the answer.
|
# after determining what we believe to be the answer.
|
||||||
|
|
||||||
|
if [[ -n "$BLACKBOX_REPOBASE" ]]; then
|
||||||
|
echo "Using custom repobase: $BLACKBOX_REPOBASE"
|
||||||
|
export REPOBASE="$BLACKBOX_REPOBASE"
|
||||||
|
fi
|
||||||
|
|
||||||
KEYRINGDIR="$REPOBASE/$BLACKBOXDATA"
|
KEYRINGDIR="$REPOBASE/$BLACKBOXDATA"
|
||||||
BB_ADMINS_FILE="blackbox-admins.txt"
|
BB_ADMINS_FILE="blackbox-admins.txt"
|
||||||
BB_ADMINS="${KEYRINGDIR}/${BB_ADMINS_FILE}"
|
BB_ADMINS="${KEYRINGDIR}/${BB_ADMINS_FILE}"
|
||||||
@@ -567,7 +572,7 @@ function vcs_ignore_git() {
|
|||||||
}
|
}
|
||||||
# Subversion
|
# Subversion
|
||||||
function vcs_ignore_svn() {
|
function vcs_ignore_svn() {
|
||||||
svn propset svn:ignore "$(vcs_relative_path "$file")"
|
svn propset svn:ignore "$file" "$(vcs_relative_path)"
|
||||||
}
|
}
|
||||||
# Perforce
|
# Perforce
|
||||||
function vcs_ignore_p4() {
|
function vcs_ignore_p4() {
|
||||||
|
|||||||
@@ -19,6 +19,11 @@ if [[ $1 != 'yes' ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ $VCS_TYPE = "unknown" ]]; then
|
||||||
|
echo 'Not in a known VCS directory'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
change_to_vcs_root
|
change_to_vcs_root
|
||||||
|
|
||||||
echo VCS_TYPE: $VCS_TYPE
|
echo VCS_TYPE: $VCS_TYPE
|
||||||
@@ -30,6 +35,11 @@ vcs_add "${KEYRINGDIR}"
|
|||||||
touch "$BLACKBOXDATA/$BB_ADMINS_FILE" "$BLACKBOXDATA/$BB_FILES_FILE"
|
touch "$BLACKBOXDATA/$BB_ADMINS_FILE" "$BLACKBOXDATA/$BB_FILES_FILE"
|
||||||
vcs_add "$BLACKBOXDATA/$BB_ADMINS_FILE" "$BLACKBOXDATA/$BB_FILES_FILE"
|
vcs_add "$BLACKBOXDATA/$BB_ADMINS_FILE" "$BLACKBOXDATA/$BB_FILES_FILE"
|
||||||
|
|
||||||
|
if [[ $VCS_TYPE = "svn" ]]; then
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo '`subversion` automatically tracks the ignored files; you just need to commit.'
|
||||||
|
else
|
||||||
IGNOREFILE="$(vcs_ignore_file_path)"
|
IGNOREFILE="$(vcs_ignore_file_path)"
|
||||||
test -f "$IGNOREFILE" && vcs_add "$IGNOREFILE"
|
test -f "$IGNOREFILE" && vcs_add "$IGNOREFILE"
|
||||||
|
|
||||||
@@ -38,3 +48,4 @@ echo
|
|||||||
echo
|
echo
|
||||||
echo 'NEXT STEP: You need to manually check these in:'
|
echo 'NEXT STEP: You need to manually check these in:'
|
||||||
echo ' ' $VCS_TYPE commit -m\'INITIALIZE BLACKBOX\' keyrings "$IGNOREFILE"
|
echo ' ' $VCS_TYPE commit -m\'INITIALIZE BLACKBOX\' keyrings "$IGNOREFILE"
|
||||||
|
fi
|
||||||
|
|||||||
@@ -52,5 +52,9 @@ for target in "$@"; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
echo "========== UPDATING VCS: DONE"
|
echo "========== UPDATING VCS: DONE"
|
||||||
|
if [[ $VCS_TYPE = "svn" ]]; then
|
||||||
|
echo "Local repo updated and file pushed to source control (unless an error was displayed)."
|
||||||
|
else
|
||||||
echo "Local repo updated. Please push when ready."
|
echo "Local repo updated. Please push when ready."
|
||||||
echo " $VCS_TYPE push"
|
echo " $VCS_TYPE push"
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user