1
0
mirror of https://github.com/deadc0de6/dotdrop.git synced 2026-02-04 20:19:46 +00:00

merge impignore

This commit is contained in:
deadc0de6
2020-12-09 10:18:29 +01:00
3 changed files with 44 additions and 8 deletions

View File

@@ -186,13 +186,20 @@ class Importer:
self.log.dry('would copy {} to {}'.format(dst, srcf))
else:
# copy the file to the dotpath
if os.path.isdir(dst):
if os.path.exists(srcf):
shutil.rmtree(srcf)
shutil.copytree(dst, srcf, copy_function=self._cp,
ignore=shutil.ignore_patterns(*self.ignore))
else:
shutil.copy2(dst, srcf)
try:
if os.path.isdir(dst):
if os.path.exists(srcf):
shutil.rmtree(srcf)
ig = shutil.ignore_patterns(*self.ignore)
shutil.copytree(dst, srcf,
copy_function=self._cp,
ignore=ig)
else:
shutil.copy2(dst, srcf)
except shutil.Error as e:
src = e.args[0][0][0]
why = e.args[0][0][2]
self.log.err('importing \"{}\" failed: {}'.format(src, why))
return True

View File

@@ -101,6 +101,35 @@ cntpost=`find ${tmps}/dotfiles -type f | wc -l`
[ "${cntpost}" != "${cntpre}" ] && echo "import issue" && exit 1
#######################################
# import directory with named pipe
cat > ${cfg} << _EOF
config:
backup: true
create: true
dotpath: dotfiles
dotfiles:
profiles:
_EOF
# create the dotfile
d="${tmpd}/with_named_pipe"
mkdir -p ${d}
echo "file1" > ${d}/file1
echo "fil2" > ${d}/file2
mkfifo ${d}/fifo
# import
cd ${ddpath} | ${bin} import -c ${cfg} -p p2 -V ${d}
# ensure exists and is not link
[ ! -d ${tmps}/dotfiles/${d} ] && echo "not a directory" && exit 1
[ ! -e ${tmps}/dotfiles/${d}/file1 ] && echo "not exist" && exit 1
[ ! -e ${tmps}/dotfiles/${d}/file2 ] && echo "not exist" && exit 1
cat ${cfg} | grep ${d} >/dev/null 2>&1
## CLEANING
rm -rf ${tmps} ${tmpd}

View File

@@ -100,4 +100,4 @@ fi
#fi
## done
echo "All test finished successfully in ${SECONDS}s"
echo "All test finished successfully"