--- !empty dir /etc * GNU info directory index is up-to-date. rm: cannot remove `/usr/x86_64-pc-linux-gnu/usr': Is a directory rm: descend into directory `/usr/x86_64-pc-linux-gnu'? This came up with crossdev -C x86_64-pc-linux-gnu Portage 2.1.3_rc9 (default-linux/x86/2006.1/desktop, gcc-4.1.2, glibc-2.5-r4, 2.6.22-gentoo-r1 i686) ================================================================= System uname: 2.6.22-gentoo-r1 i686 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz Gentoo Base System release 2.0.0_alpha3 Timestamp of tree: Unknown distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.5.1-r2 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r7 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.4.0 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.22 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=nocona -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo" CXXFLAGS="-O2 -march=nocona -pipe -fomit-frame-pointer" DISTDIR="/var/distfiles" FEATURES="autoaddcvs ccache collision-protect cvs distlocks fixpackages parallel-fetch sandbox sfperms sign strict unmerge-orphans userpriv usersandbox verify-rdepend" GENTOO_MIRRORS=" http://trumpetti.atm.tut.fi/gentoo" LANG="en_US.utf8" LC_ALL="en_US.utf8" LDFLAGS="-Wl,--as-needed -Wl,-O1" LINGUAS="fi" MAKEOPTS="-j2" PKGDIR="/home/pkg/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/mnt/checkouts/overlays/betelgeuse" SYNC="rsync://192.168.150.1/portage" USE="a52 aac acl acpi alsa audiofile bash-completion berkdb bitmap-fonts bluetooth branding bzip2 cairo cdb cddb cdparanoia cdr cli cracklib crypt cups dbus dri dts dvd dvdr dvdread emboss fam ffmpeg firefox gif gstreamer hal iconv isdnlog java jpeg kde kdeenablefinal kdehiddenvisibility libg++ libnotify logitech-mouse mad mikmod mjpeg mmx mp3 mpeg mudflap ncurses network nptl nptlonly nsplugin nvidia offensive ogg opengl openmp pam pcre png ppds pppd qt3 quicktime readline real reflection rtc session spell spl sse sse2 ssl startup-notification subversion svg symlink theora threads truetype truetype-fonts type1-fonts udev unicode usb userlocales vim-syntax vorbis x86 xcb xcomposite xinerama xml xorg xv xvid xvmc zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="mouse keyboard evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fi" USERLAND="GNU" VIDEO_CARDS="none nvidia" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
that is the expected behavior you made some sort of modification to the tree outside of portage so crossdev initiates an interactive remove in case you didnt want to delete something
(In reply to comment #1) > that is the expected behavior > > you made some sort of modification to the tree outside of portage so crossdev > initiates an interactive remove in case you didnt want to delete something > ok accepted that it is accepted behaviour but how about providing a delete all option because accepting every single file gets boring.
i dont think the option is useful ... people would not remember to specify it and `crossdev -C` is not reentrant/resumable the same functionality can be accomplished with: yes | crossdev -C
(In reply to comment #3) > i dont think the option is useful ... people would not remember to specify it > and `crossdev -C` is not reentrant/resumable > > the same functionality can be accomplished with: > yes | crossdev -C > well I still think having to use ctrl+c to kill it is bad but won't be arguing further
you dont have to rm -rf the tree in a different terminal and then hit enter in crossdev or hit y+enter really fast
if you want to code up something that checks to see if the directory still exists and if so, ask the user if they wish to indiscriminately delete the tree, i have no problem merging that ...