From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com [IPv6:2a00:1450:4864:20::136]) by sourceware.org (Postfix) with ESMTPS id B57013857004 for ; Sun, 3 Jan 2021 04:16:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B57013857004 Received: by mail-lf1-x136.google.com with SMTP id h22so56988910lfu.2 for ; Sat, 02 Jan 2021 20:16:27 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=PCD8RwKCi7Q+25gGtckszFwJf8TVq9jjUkpVueIP98U=; b=kAj5OHBIQ10ZHVwSPsao1wXoS9hfWMnlJqRMiVgzS4276r5kTlPD7JygdO68rqL926 RJ/P0g7DOQTiPRvNe2+TBDxbCX5/nIWcA0Ism2FDuLB9iVtUe7ke5AnH/re3Jz+qZsQ9 +mmHRBihGFDw6fbo2rS8fvhV/n8N9VCzfwHuOaKvNBbVKvzKgGsFhJPqYjaX/n3HDm0J A8ptKQ+yfmxcH96GKDOLfX76JkLDYhm6lDTl52I/QyGnc8JpmH6hcu4H+e/Hr9HlPtET I5slzNV++cLYPoeEKQP0CKX3frt1NMGz6Ir6+Jd/+9gRe0E0n9fabAGhBw29gotfG3+3 X+0A== X-Gm-Message-State: AOAM533hKscf8JjaE1B4l/zS+SwUn1iQUkxwxhf2QXqEhpRBrWO2Pm9f xjQwGH/dS1e1MrhN1jIOoMnCU0yJaziCi+kTVbOMFaqsxVrjXQ== X-Google-Smtp-Source: ABdhPJykhzXO2Db5O6c+ikXajlo1yXCrEzif2Y/iAiM3bPLVZnVoTipzaukUDCwgtCjN8V/wkGjqp48nQXvq7BhPyag= X-Received: by 2002:a05:651c:1102:: with SMTP id d2mr31272827ljo.398.1609647386108; Sat, 02 Jan 2021 20:16:26 -0800 (PST) MIME-Version: 1.0 From: "Matt D." Date: Sat, 2 Jan 2021 23:16:14 -0500 Message-ID: Subject: Native symbolic link behavior is broken and makes backups using Cygwin command line tools impossible To: cygwin@cygwin.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2021 04:16:29 -0000 I have a folder with a lot of native Windows symbolic links. I want to copy this folder. I cannot rsync or cp this folder due to Cygwin being unable to create symbolic links without also wanting to verify the link target. This can be demonstrated: $ ln -s a b ln: failed to create symbolic link 'b': No such file or directory If I create a test directory folder_a/ and folder_b/. Inside I will "touch a" and "ln -s a b". I cannot rsync this folder: $ rsync -a folder_a/ folder_b/ rsync: symlink "folder_a/b" -> "a" failed: No such file or directory (2) rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1306) [sender=3.2.0dev] Using "cp -a folder_a/* folder_b/" in this test case DOES work but this is simply because files were returned in the correct order and the link could be created. This can be demonstrated where this works fine: $ cp -a folder_a/a folder_a/b folder_b/ But this does not: $ cp -a folder_a/b folder_a/b folder_b/ cp: cannot create symbolic link 'folder_b/b': No such file or directory cp: warning: source file 'folder_a/b' specified more than once The order in which files are returned while listing them in a directory and necessitating their pre-existence while performing a deep copy is impossible. It's also very normal for symbolic links to exist which may or may not point to a valid target depending on the observing path. Windows does NOT require a link to be valid before creation. This can be demonstrated with mklink: C:\mklink b a symbolic link created for b <<===>> a