From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.bugs Subject: bug#10489: 24.0.92; dired-do-copy may create infinite directory hierarchy Date: Fri, 13 Jan 2012 14:55:42 +0100 Message-ID: <87d3anogf5.fsf@gmail.com> References: <87mx9su32g.fsf@web.de> <87sjjkfvwt.fsf@gmail.com> <8362ggkquq.fsf@gnu.org> <87lipcrlga.fsf@gmail.com> <87fwfkc4pn.fsf@gmx.de> <87fwfjsw8t.fsf@gmail.com> <87aa5rdazl.fsf@gmx.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1326463006 1192 80.91.229.12 (13 Jan 2012 13:56:46 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 13 Jan 2012 13:56:46 +0000 (UTC) Cc: 10489@debbugs.gnu.org To: Michael Albinus Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jan 13 14:56:41 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RlhcV-0001ip-UY for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Jan 2012 14:56:40 +0100 Original-Received: from localhost ([::1]:44727 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RlhcV-00066i-Dy for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Jan 2012 08:56:39 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:47636) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RlhcN-00065B-RH for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 08:56:37 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RlhcH-0005zR-TD for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 08:56:31 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33163) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RlhcH-0005zJ-QF for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 08:56:25 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1Rlhcs-0003JT-F9 for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 08:57:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Thierry Volpiatto Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 13 Jan 2012 13:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10489 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 10489-submit@debbugs.gnu.org id=B10489.132646299412693 (code B ref 10489); Fri, 13 Jan 2012 13:57:02 +0000 Original-Received: (at 10489) by debbugs.gnu.org; 13 Jan 2012 13:56:34 +0000 Original-Received: from localhost ([127.0.0.1]:56069 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlhcM-0003Ic-Tb for submit@debbugs.gnu.org; Fri, 13 Jan 2012 08:56:34 -0500 Original-Received: from mail-wi0-f172.google.com ([209.85.212.172]:38402) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RlhcG-0003IQ-FP for 10489@debbugs.gnu.org; Fri, 13 Jan 2012 08:56:29 -0500 Original-Received: by wibhj6 with SMTP id hj6so430073wib.3 for <10489@debbugs.gnu.org>; Fri, 13 Jan 2012 05:55:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=RSyB1O8F6Eizp0KBatAkXP8kkhrp1ZI4g5d2pkc796U=; b=DM+z4qYiLg6qZng5TYOUhAe83YBWbuf+JtFHifdj08EfXwQcf+OfnKT/zz39rRDl7Y yB0zgp2CvGxs+lsvAfOJvXPcT/r/O24KjVnXCIMeMlMimPkBrKILv090MIZ9ot/Rp1cD 4VKefZvzbWdTHnLMypCzFaRD3LlRpExGeDxaU= Original-Received: by 10.180.95.199 with SMTP id dm7mr2074480wib.9.1326462946581; Fri, 13 Jan 2012 05:55:46 -0800 (PST) Original-Received: from thierry-MM061 (121.77.197.77.rev.sfr.net. [77.197.77.121]) by mx.google.com with ESMTPS id hv1sm4075996wib.1.2012.01.13.05.55.44 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 13 Jan 2012 05:55:45 -0800 (PST) In-Reply-To: <87aa5rdazl.fsf@gmx.de> (Michael Albinus's message of "Fri, 13 Jan 2012 13:48:30 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:55689 Archived-At: Hi Michael, Michael Albinus writes: > Thierry Volpiatto writes: > >> Hi Michael, > > Hi Thierry, > >> I want to only suppress the use of: >> (copy-directory "/sudo:host:/home/user/Test" "/home/user/Test") > > Do you know `tramp-default-proxies-alist'? With that toy, "/sudo:host:" > can be another machine but your local one. You really don't know, > without going into deep Tramp interna. No I didn't know, I did differently, see below. >> (copy-directory "/sudo:host:/home/user/Test" "/sudo:host:/home/user/Test") > > That would be reasonable to suppress. We must suppress this as it cause infinite creation of subdir in ~/Test. > But you don't need a special remote test for this. Just compare the > results of `file-truename', as suggested by Eli. This shall work also > for remote files automagically. Ok good, but I did differently in last patch: --8<---------------cut here---------------start------------->8--- (when (equal (or (and (equal "sudo" (file-remote-p (file-name-as-directory from) 'method)) (file-remote-p (file-name-as-directory from) 'localname)) (file-name-as-directory from)) (or (and (equal "sudo" (file-remote-p (file-name-as-directory to) 'method)) (file-remote-p (file-name-as-directory to) 'localname)) (file-name-as-directory to))) (error "Can't copy directory `%s' on itself" from)) --8<---------------cut here---------------end--------------->8--- Which fail for the example below. > If somebody wants to apply > > (copy-directory "/ssh:host:/home/user/Test" "/scp:host:/home/user/Test") > > you can't suppress. Same for using different hostnames which are aliases > for the same machine, etc pp. Yes right. BTW, working on this, I found another bug for (copy-directory "/ssh:host:/home/user/Test" "/home/user/Test") This seem to overwrite "/home/user/Test". Doing the same operation from Dired create "/home/user/Test/Test". But I think it's easy to fix, just need to move the tramp block lower in copy-directory, have a look. So I will finish writing this patch with the compare file function suggested by Juanma. -- Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997