fix(transation): fix ignores on force
This commit is contained in:
parent
e1a8457409
commit
8865f53ce4
4 changed files with 23 additions and 5 deletions
12
src/list.sh
12
src/list.sh
|
|
@ -29,6 +29,10 @@ local_full_list() {
|
||||||
find . -mindepth 1 ! -regex "^./$syncdir\$" ! -regex "^./$syncdir/.*" | sed 's|^./||g' | grep -vE "$ignores" | sort
|
find . -mindepth 1 ! -regex "^./$syncdir\$" ! -regex "^./$syncdir/.*" | sed 's|^./||g' | grep -vE "$ignores" | sort
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local_file_list() {
|
||||||
|
find . -mindepth 1 ! -type d ! -regex "^./$syncdir\$" ! -regex "^./$syncdir/.*" | sed 's|^./||g' | grep -vE "$ignores" | sort
|
||||||
|
}
|
||||||
|
|
||||||
server_full_list() {
|
server_full_list() {
|
||||||
ssh_exec '#LXSH_PARSE_MINIFY
|
ssh_exec '#LXSH_PARSE_MINIFY
|
||||||
set -e
|
set -e
|
||||||
|
|
@ -37,6 +41,14 @@ server_full_list() {
|
||||||
' "$rdir" "$syncdir" "$ignores" | sort
|
' "$rdir" "$syncdir" "$ignores" | sort
|
||||||
}
|
}
|
||||||
|
|
||||||
|
server_file_list() {
|
||||||
|
ssh_exec '#LXSH_PARSE_MINIFY
|
||||||
|
set -e
|
||||||
|
cd "$1"
|
||||||
|
find . -mindepth 1 ! -type d ! -regex "^./$2\$" ! -regex "^./$2/.*" | sed "s|^./||g" | grep -vE "$3"
|
||||||
|
' "$rdir" "$syncdir" "$ignores" | sort
|
||||||
|
}
|
||||||
|
|
||||||
server_both_list() {
|
server_both_list() {
|
||||||
ssh_exec '#LXSH_PARSE_MINIFY
|
ssh_exec '#LXSH_PARSE_MINIFY
|
||||||
set -e
|
set -e
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
[ "$DEBUG" = true ] && set -x
|
||||||
|
|
||||||
%include config.sh options.sh *.sh
|
%include config.sh options.sh *.sh
|
||||||
|
|
||||||
arg=$1
|
arg=$1
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,11 @@ sync()
|
||||||
|
|
||||||
local_full_list > "$tdir/local_full"
|
local_full_list > "$tdir/local_full"
|
||||||
local_hash_list > "$tdir/local_hash"
|
local_hash_list > "$tdir/local_hash"
|
||||||
server_both_list | tee >(
|
server_hash_list > "$tdir/server_hash"
|
||||||
head -z -n1 | tr -d '\0' | sort > "$tdir/server_full"
|
server_full_list > "$tdir/server_full"
|
||||||
) | tail -z -n1 | sort > "$tdir/server_hash"
|
#server_both_list | tee >(
|
||||||
|
# head -z -n1 | tr -d '\0' | sort > "$tdir/server_full"
|
||||||
|
#) | tail -z -n1 | sort > "$tdir/server_hash"
|
||||||
|
|
||||||
# get changed on both sides
|
# get changed on both sides
|
||||||
local_newer=$( list_diff "$tdir/local_hash" "$@") || { rm -rf "$tdir" ; unlock_all ; return 1; }
|
local_newer=$( list_diff "$tdir/local_hash" "$@") || { rm -rf "$tdir" ; unlock_all ; return 1; }
|
||||||
|
|
|
||||||
|
|
@ -70,10 +70,11 @@ delete_local() {
|
||||||
forcepull()
|
forcepull()
|
||||||
{
|
{
|
||||||
local ret=0
|
local ret=0
|
||||||
|
get_ignores
|
||||||
get_server || return $?
|
get_server || return $?
|
||||||
init_local || return $?
|
init_local || return $?
|
||||||
init_server || { unlock_local ; return $?; }
|
init_server || { unlock_local ; return $?; }
|
||||||
rsync $rsync_opts -r --delete -e ssh "$raddr:$rdir" "$(pwd)/." || ret=$?
|
server_file_list | rsync $rsync_opts --files-from=- --delete -e ssh "$raddr:$rdir" "$PWD/." || ret=$?
|
||||||
unlock_all
|
unlock_all
|
||||||
write_lists
|
write_lists
|
||||||
return $ret
|
return $ret
|
||||||
|
|
@ -82,10 +83,11 @@ forcepull()
|
||||||
forcepush()
|
forcepush()
|
||||||
{
|
{
|
||||||
local ret=0
|
local ret=0
|
||||||
|
get_ignores
|
||||||
get_server || return $?
|
get_server || return $?
|
||||||
init_local || return $?
|
init_local || return $?
|
||||||
init_server || { unlock_local ; return $?; }
|
init_server || { unlock_local ; return $?; }
|
||||||
rsync $rsync_opts -r --delete -e ssh "$(pwd)/." "$raddr:$rdir" || ret=$?
|
local_file_list | rsync $rsync_opts --files-from=- --delete -e ssh "$PWD/." "$raddr:$rdir" || ret=$?
|
||||||
unlock_all
|
unlock_all
|
||||||
write_lists
|
write_lists
|
||||||
return $ret
|
return $ret
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue