]>
git.madduck.net Git - code/vcsh.git/blobdiff - vcsh
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
# If '.git-HEAD' is appended to the version, you are seeing an unreleased
# version of vcsh; the master branch is supposed to be clean at all times
# so you can most likely just use it nonetheless
# If '.git-HEAD' is appended to the version, you are seeing an unreleased
# version of vcsh; the master branch is supposed to be clean at all times
# so you can most likely just use it nonetheless
SELF=$(basename $0)
fatal() {
SELF=$(basename $0)
fatal() {
done
[ x"$VCSH_CONFLICT" = x'1' ]) &&
fatal "will stop after fetching and not try to merge!
done
[ x"$VCSH_CONFLICT" = x'1' ]) &&
fatal "will stop after fetching and not try to merge!
- Once this situation has been resolved, run 'vcsh run $VCSH_REPO_NAME git pull' to finish cloning." 17
+ Once this situation has been resolved, run 'vcsh $VCSH_REPO_NAME pull' to finish cloning." 17
git merge origin/master
hook post-merge
hook post-clone
git merge origin/master
hook post-merge
hook post-clone
list_tracked() {
for VCSH_REPO_NAME in $(list); do
get_files
list_tracked() {
for VCSH_REPO_NAME in $(list); do
get_files
+ done | sed "s,^,$(printf '%s\n' "$VCSH_BASE/" | \
+ sed 's/[,\&]/\\&/g')," | sort -u
}
list_tracked_by() {
use
}
list_tracked_by() {
use
+ git ls-files | sed "s,^,$(printf '%s\n' "$VCSH_BASE/" | \
+ sed 's/[,\&]/\\&/g')," | sort -u
}
pull() {
hook pre-pull
for VCSH_REPO_NAME in $(list); do
}
pull() {
hook pre-pull
for VCSH_REPO_NAME in $(list); do
- printf "$VCSH_REPO_NAME: "
+ printf '%s: ' "$VCSH_REPO_NAME "
GIT_DIR=$VCSH_REPO_D/$VCSH_REPO_NAME.git; export GIT_DIR
use
git pull
GIT_DIR=$VCSH_REPO_D/$VCSH_REPO_NAME.git; export GIT_DIR
use
git pull
push() {
hook pre-push
for VCSH_REPO_NAME in $(list); do
push() {
hook pre-push
for VCSH_REPO_NAME in $(list); do
- printf "$VCSH_REPO_NAME: "
+ printf '%s: ' "$VCSH_REPO_NAME "
GIT_DIR=$VCSH_REPO_D/$VCSH_REPO_NAME.git; export GIT_DIR
use
git push
GIT_DIR=$VCSH_REPO_D/$VCSH_REPO_NAME.git; export GIT_DIR
use
git push
+list_untracked() {
+ for VCSH_REPO_NAME in $(list); do
+ [ -n $ran_once ] && files_untracked=$(printf '%s\n' "$files_untracked" | grep -x "$files_other")
+ export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git"
+ files_other="$(git ls-files --others)"
+ [ -z $ran_once ] && { ran_once=1; files_untracked=$files_other; }
+ done
+ echo "$files_untracked" | sort -u
+}
+
rename() {
git_dir_exists
[ -d "$GIT_DIR_NEW" ] && fatal "'$GIT_DIR_NEW' exists" 54
rename() {
git_dir_exists
[ -d "$GIT_DIR_NEW" ] && fatal "'$GIT_DIR_NEW' exists" 54
elif [ x"$VCSH_COMMAND" = x'commit' ] ||
[ x"$VCSH_COMMAND" = x'list' ] ||
[ x"$VCSH_COMMAND" = x'list-tracked' ] ||
elif [ x"$VCSH_COMMAND" = x'commit' ] ||
[ x"$VCSH_COMMAND" = x'list' ] ||
[ x"$VCSH_COMMAND" = x'list-tracked' ] ||
+ [ x"$VCSH_COMMAND" = x'list-untracked' ] ||
[ x"$VCSH_COMMAND" = x'pull' ] ||
[ x"$VCSH_COMMAND" = x'push' ]; then
:
[ x"$VCSH_COMMAND" = x'pull' ] ||
[ x"$VCSH_COMMAND" = x'push' ]; then
: