From: Andrey Repin <anrdaemon@yandex.ru>
To: Fergus Daly <fergusd84@outlook.com>, cygwin@cygwin.com
Subject: Re: When only rsync will do .. or maybe not
Date: Sat, 22 Oct 2022 17:39:19 +0300 [thread overview]
Message-ID: <3910040698.20221022173919@yandex.ru> (raw)
In-Reply-To: <DB6P18901MB0055D8029AD580DE9D4AB12FA4229@DB6P18901MB0055.EURP189.PROD.OUTLOOK.COM>
Greetings, Fergus Daly!
> Requirement: to move some selected files and folders under /folder1/ to /folder2/, preserving full pathnames.
Full pathname would include the /folder1 making the requirement impossible
from the start.
If, on the other hand, you want to preserve directory structure, then a simple
cd /f1; find . -xdev -type d -exec mkdir -p "/f2/{}" ';' -o -type f -exec mv '{}' "/f2/{}" ';'
will do.
> One solution would be (i) to copy the required content to /folder2/ and
> then (ii) delete the identical content under /folder1/;
> but this is expensive (one might not even have the disk space to do it) and
> it seems seriously unsatisfactory and not without risk
> to have to copy folders and files (possibly huge) when all one wants to do is to change the {pathname} to them.
`cp --reflink=always` will take care of duplicated content.
Do note that paths must be relative. cp has an issue detecting "same volume"
and failing or falling back to simple copy.
> Question 1
> Would the command (or something like it, again with care over syntax and $PWD)
> $ rsync -axuv --progress {pathto}/folder1/{content} {pathto}/folder2/
> do the trick? Or is the very existence of the switch
> $ rsync -axuv --remove-source-files --progress {pathto}/folder1/{content} {pathto}/folder2/
> indicative that here too the "move" is achieved through a two-stage "copy-then-delete" operation?
> Question 2
> If rsync can provide a genuine "move" capability then is installing the
> rsync package adequate to the purpose;
> or would librsync-devel and/or librsync2 packages need to be installed also?
No, not the purpose of rsync.
> Question 3
> If not rsync, is there any operation for which "move" can be achieved
> without involving "copy-then-delete"?
Yep.
See above.
--
With best regards,
Andrey Repin
Saturday, October 22, 2022 11:56:05
Sorry for my terrible english...
prev parent reply other threads:[~2022-10-22 14:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-12 10:55 Fergus Daly
2022-10-14 13:36 ` Cyrille Lefevre
2022-10-14 15:35 ` Lemke, Michael SF/HZA-ZE2E
2022-10-22 14:39 ` Andrey Repin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3910040698.20221022173919@yandex.ru \
--to=anrdaemon@yandex.ru \
--cc=cygwin@cygwin.com \
--cc=fergusd84@outlook.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).