bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#47058: 28.0.50; Dired Z: insert-directory: Reading directory: No suc


From: Gregory Heytings
Subject: bug#47058: 28.0.50; Dired Z: insert-directory: Reading directory: No such file or directory, CrossLine_linux_x86
Date: Tue, 21 Sep 2021 19:19:52 +0000


Would it not be easier to unconditionally untar the contents in a temporary directory, and to either move its contents to the current directory if it contains only one entry, or to rename it to a directory based on the tar file name when it contains more than one entry?

Easier in what sense?


In the sense of "DWIM".

Something like:

TMP=$(mktemp -d ./XXXXXXXX)
tar -C $TMP -x -z -f $FILE
if (($(ls $TMP | wc -l) == 1))
then
   mv $TMP/* .
   rmdir $TMP
else
   mv $TMP $(basename $FILE .tar.gz)
fi

Wouldn't that remove the files that are in the directory but not in the archive?


No, it does what I explained above:

If all files in the tar file are under one directory (e.g. emacs-27.2.tar.gz whose files are all in a emacs-27.2 directory), the files will be in that directory.

If on the contrary the tar file is "broken" and its files are under multiple directories or not in a directory (say foobar.tar.gz with three files "/foo", "/bar" and "/baz"), the files will be put in a directory "foobar".





reply via email to

[Prev in Thread] Current Thread [Next in Thread]