GNU bug report logs -
#47058
28.0.50; Dired Z: insert-directory: Reading directory: No such file or directory, CrossLine_linux_x86
Previous Next
Reported by: Jean Louis <bugs <at> gnu.support>
Date: Wed, 10 Mar 2021 20:31:01 UTC
Severity: minor
Found in version 28.0.50
Fixed in version 30.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #63 received at 47058 <at> debbugs.gnu.org (full text, mbox):
>> 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".
This bug report was last modified 364 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.