Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liblongpath-rsync
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liblongpath
liblongpath-rsync
Commits
57df171b
Commit
57df171b
authored
Nov 08, 1999
by
Andrew Tridgell
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added --delete-after option (suggested by Jason)
parent
f08baea3
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
28 additions
and
3 deletions
+28
-3
options.c
options.c
+12
-1
receiver.c
receiver.c
+11
-2
rsync.yo
rsync.yo
+5
-0
No files found.
options.c
View file @
57df171b
...
...
@@ -62,6 +62,7 @@ int safe_symlinks=0;
int
copy_unsafe_links
=
0
;
int
block_size
=
BLOCK_SIZE
;
int
size_only
=
0
;
int
delete_after
=
0
;
char
*
backup_suffix
=
BACKUP_SUFFIX
;
char
*
tmpdir
=
NULL
;
...
...
@@ -126,6 +127,7 @@ void usage(int F)
rprintf
(
F
,
" -C, --cvs-exclude auto ignore files in the same way CVS does
\n
"
);
rprintf
(
F
,
" --delete delete files that don't exist on the sending side
\n
"
);
rprintf
(
F
,
" --delete-excluded also delete excluded files on the receiving side
\n
"
);
rprintf
(
F
,
" --delete-after delete after transferring, not before
\n
"
);
rprintf
(
F
,
" --partial keep partially transferred files
\n
"
);
rprintf
(
F
,
" --force force deletion of directories even if not empty
\n
"
);
rprintf
(
F
,
" --numeric-ids don't map uid/gid values by user/group name
\n
"
);
...
...
@@ -162,7 +164,8 @@ enum {OPT_VERSION, OPT_SUFFIX, OPT_SENDER, OPT_SERVER, OPT_EXCLUDE,
OPT_RSYNC_PATH
,
OPT_FORCE
,
OPT_TIMEOUT
,
OPT_DAEMON
,
OPT_CONFIG
,
OPT_PORT
,
OPT_INCLUDE
,
OPT_INCLUDE_FROM
,
OPT_STATS
,
OPT_PARTIAL
,
OPT_PROGRESS
,
OPT_COPY_UNSAFE_LINKS
,
OPT_SAFE_LINKS
,
OPT_COMPARE_DEST
,
OPT_LOG_FORMAT
,
OPT_PASSWORD_FILE
,
OPT_SIZE_ONLY
,
OPT_ADDRESS
};
OPT_LOG_FORMAT
,
OPT_PASSWORD_FILE
,
OPT_SIZE_ONLY
,
OPT_ADDRESS
,
OPT_DELETE_AFTER
};
static
char
*
short_options
=
"oblLWHpguDCtcahvqrRIxnSe:B:T:zP"
;
...
...
@@ -217,6 +220,7 @@ static struct option long_options[] = {
{
"stats"
,
0
,
0
,
OPT_STATS
},
{
"progress"
,
0
,
0
,
OPT_PROGRESS
},
{
"partial"
,
0
,
0
,
OPT_PARTIAL
},
{
"delete-after"
,
0
,
0
,
OPT_DELETE_AFTER
},
{
"config"
,
1
,
0
,
OPT_CONFIG
},
{
"port"
,
1
,
0
,
OPT_PORT
},
{
"log-format"
,
1
,
0
,
OPT_LOG_FORMAT
},
...
...
@@ -316,6 +320,10 @@ int parse_arguments(int argc, char *argv[], int frommain)
delete_mode
=
1
;
break
;
case
OPT_DELETE_AFTER
:
delete_after
=
1
;
break
;
case
OPT_DELETE_EXCLUDED
:
delete_excluded
=
1
;
delete_mode
=
1
;
...
...
@@ -632,6 +640,9 @@ void server_options(char **args,int *argc)
if
(
force_delete
)
args
[
ac
++
]
=
"--force"
;
if
(
delete_after
)
args
[
ac
++
]
=
"--delete-after"
;
if
(
copy_unsafe_links
)
args
[
ac
++
]
=
"--copy-unsafe-links"
;
...
...
receiver.c
View file @
57df171b
...
...
@@ -304,14 +304,17 @@ int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen)
int
recv_ok
;
extern
struct
stats
stats
;
extern
int
preserve_perms
;
extern
int
delete_after
;
struct
stats
initial_stats
;
if
(
verbose
>
2
)
{
rprintf
(
FINFO
,
"recv_files(%d) starting
\n
"
,
flist
->
count
);
}
if
(
recurse
&&
delete_mode
&&
!
local_name
&&
flist
->
count
>
0
)
{
delete_files
(
flist
);
if
(
!
delete_after
)
{
if
(
recurse
&&
delete_mode
&&
!
local_name
&&
flist
->
count
>
0
)
{
delete_files
(
flist
);
}
}
while
(
1
)
{
...
...
@@ -478,6 +481,12 @@ int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen)
}
}
if
(
delete_after
)
{
if
(
recurse
&&
delete_mode
&&
!
local_name
&&
flist
->
count
>
0
)
{
delete_files
(
flist
);
}
}
if
(
preserve_hard_links
)
do_hard_links
(
flist
);
...
...
rsync.yo
View file @
57df171b
...
...
@@ -453,6 +453,11 @@ dit(bf(--delete-excluded)) In addition to deleting the files on the
receiving side that are not on the sending side, this tells rsync to also
delete any files on the receiving side that are excluded (see --exclude).
dit(bf(--delete-after)) By default rsync does file deletions before
transferring files to try to ensure that there is sufficient space on
the receiving filesystem. If you want to delete after transferring
then use the --delete-after switch.
dit(bf(--force)) This options tells rsync to delete directories even if
they are not empty. This applies to both the --delete option and to
cases where rsync tries to copy a normal file but the destination
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment