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
93689aa5
Commit
93689aa5
authored
Feb 05, 2002
by
David Dykstra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add --no-whole-file and --no-blocking-io options
parent
46e6ad49
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
33 additions
and
7 deletions
+33
-7
NEWS
NEWS
+2
-0
main.c
main.c
+5
-3
options.c
options.c
+18
-4
rsync.yo
rsync.yo
+8
-0
No files found.
NEWS
View file @
93689aa5
...
...
@@ -7,3 +7,5 @@ rsync 2.5.3 (not released yet)
what was historically used so as not to break scripts that try
to parse the output.
* Added --no-whole-file and --no-blocking-io options
main.c
View file @
93689aa5
...
...
@@ -207,10 +207,11 @@ static pid_t do_cmd(char *cmd,char *machine,char *user,char *path,int *f_in,int
args
[
argc
++
]
=
rsync_path
;
server_options
(
args
,
&
argc
);
if
((
blocking_io
==
-
1
)
&&
(
strcmp
(
cmd
,
RSYNC_RSH
)
==
0
))
blocking_io
=
1
;
server_options
(
args
,
&
argc
);
if
(
strcmp
(
cmd
,
RSYNC_RSH
)
==
0
)
blocking_io
=
1
;
}
args
[
argc
++
]
=
"."
;
...
...
@@ -711,7 +712,8 @@ static int start_client(int argc, char *argv[])
if
(
!
p
)
{
local_server
=
1
;
/* disable "rsync algorithm" when both sides local */
whole_file
=
1
;
if
(
whole_file
==
-
1
)
whole_file
=
1
;
}
else
if
(
p
[
1
]
==
':'
)
{
*
p
=
0
;
return
start_socket_client
(
argv
[
argc
-
1
],
p
+
2
,
argc
-
1
,
argv
);
...
...
options.c
View file @
93689aa5
...
...
@@ -22,7 +22,7 @@
#include "popt.h"
int
make_backups
=
0
;
int
whole_file
=
0
;
int
whole_file
=
-
1
;
int
copy_links
=
0
;
int
preserve_links
=
0
;
int
preserve_hard_links
=
0
;
...
...
@@ -73,7 +73,7 @@ int modify_window=2;
#else
int
modify_window
=
0
;
#endif
int
blocking_io
=
0
;
int
blocking_io
=
-
1
;
/** Network address family. **/
#ifdef INET6
...
...
@@ -203,6 +203,7 @@ void usage(enum logcode F)
rprintf
(
F
,
" -S, --sparse handle sparse files efficiently
\n
"
);
rprintf
(
F
,
" -n, --dry-run show what would have been transferred
\n
"
);
rprintf
(
F
,
" -W, --whole-file copy whole files, no incremental checks
\n
"
);
rprintf
(
F
,
" --no-whole-file turn off --whole-file
\n
"
);
rprintf
(
F
,
" -x, --one-file-system don't cross filesystem boundaries
\n
"
);
rprintf
(
F
,
" -B, --block-size=SIZE checksum blocking size (default %d)
\n
"
,
BLOCK_SIZE
);
rprintf
(
F
,
" -e, --rsh=COMMAND specify rsh replacement
\n
"
);
...
...
@@ -237,6 +238,7 @@ void usage(enum logcode F)
rprintf
(
F
,
" --config=FILE specify alternate rsyncd.conf file
\n
"
);
rprintf
(
F
,
" --port=PORT specify alternate rsyncd port number
\n
"
);
rprintf
(
F
,
" --blocking-io use blocking IO for the remote shell
\n
"
);
rprintf
(
F
,
" --no-blocking-io turn off --blocking-io
\n
"
);
rprintf
(
F
,
" --stats give some file transfer stats
\n
"
);
rprintf
(
F
,
" --progress show progress during transfer
\n
"
);
rprintf
(
F
,
" --log-format=FORMAT log file transfers using specified format
\n
"
);
...
...
@@ -264,6 +266,7 @@ enum {OPT_VERSION = 1000, OPT_SUFFIX, OPT_SENDER, OPT_SERVER, OPT_EXCLUDE,
OPT_LOG_FORMAT
,
OPT_PASSWORD_FILE
,
OPT_SIZE_ONLY
,
OPT_ADDRESS
,
OPT_DELETE_AFTER
,
OPT_EXISTING
,
OPT_MAX_DELETE
,
OPT_BACKUP_DIR
,
OPT_IGNORE_ERRORS
,
OPT_BWLIMIT
,
OPT_BLOCKING_IO
,
OPT_NO_BLOCKING_IO
,
OPT_NO_WHOLE_FILE
,
OPT_MODIFY_WINDOW
,
OPT_READ_BATCH
,
OPT_WRITE_BATCH
,
OPT_IGNORE_EXISTING
};
static
struct
poptOption
long_options
[]
=
{
...
...
@@ -297,6 +300,7 @@ static struct poptOption long_options[] = {
{
"links"
,
'l'
,
POPT_ARG_NONE
,
&
preserve_links
},
{
"copy-links"
,
'L'
,
POPT_ARG_NONE
,
&
copy_links
},
{
"whole-file"
,
'W'
,
POPT_ARG_NONE
,
&
whole_file
},
{
"no-whole-file"
,
0
,
POPT_ARG_NONE
,
0
,
OPT_NO_WHOLE_FILE
},
{
"copy-unsafe-links"
,
0
,
POPT_ARG_NONE
,
&
copy_unsafe_links
},
{
"perms"
,
'p'
,
POPT_ARG_NONE
,
&
preserve_perms
},
{
"owner"
,
'o'
,
POPT_ARG_NONE
,
&
preserve_uid
},
...
...
@@ -326,6 +330,7 @@ static struct poptOption long_options[] = {
{
"partial"
,
0
,
POPT_ARG_NONE
,
&
keep_partial
},
{
"ignore-errors"
,
0
,
POPT_ARG_NONE
,
&
ignore_errors
},
{
"blocking-io"
,
0
,
POPT_ARG_NONE
,
&
blocking_io
},
{
"no-blocking-io"
,
0
,
POPT_ARG_NONE
,
0
,
OPT_NO_BLOCKING_IO
},
{
0
,
'P'
,
POPT_ARG_NONE
,
0
,
'P'
},
{
"config"
,
0
,
POPT_ARG_STRING
,
&
config_file
},
{
"port"
,
0
,
POPT_ARG_INT
,
&
rsync_port
},
...
...
@@ -455,8 +460,12 @@ int parse_arguments(int *argc, const char ***argv, int frommain)
add_exclude_file
(
poptGetOptArg
(
pc
),
1
,
0
);
break
;
case
OPT_INCLUDE_FROM
:
add_exclude_file
(
poptGetOptArg
(
pc
),
1
,
1
);
case
OPT_NO_WHOLE_FILE
:
whole_file
=
0
;
break
;
case
OPT_NO_BLOCKING_IO
:
blocking_io
=
0
;
break
;
case
'h'
:
...
...
@@ -557,6 +566,11 @@ void server_options(char **args,int *argc)
int
i
,
x
;
if
(
whole_file
==
-
1
)
whole_file
=
0
;
if
(
blocking_io
==
-
1
)
blocking_io
=
0
;
args
[
ac
++
]
=
"--server"
;
if
(
!
am_sender
)
...
...
rsync.yo
View file @
93689aa5
...
...
@@ -239,6 +239,7 @@ verb(
-S, --sparse handle sparse files efficiently
-n, --dry-run show what would have been transferred
-W, --whole-file copy whole files, no incremental checks
--no-whole-file turn off --whole-file
-x, --one-file-system don't cross filesystem boundaries
-B, --block-size=SIZE checksum blocking size (default 700)
-e, --rsh=COMMAND specify rsh replacement
...
...
@@ -273,6 +274,7 @@ verb(
--config=FILE specify alternate rsyncd.conf file
--port=PORT specify alternate rsyncd port number
--blocking-io use blocking IO for the remote shell
--no-blocking-io turn off --blocking-io
--stats give some file transfer stats
--progress show progress during transfer
--log-format=FORMAT log file transfers using specified format
...
...
@@ -411,6 +413,9 @@ target machines is higher than the bandwidth to disk (especially when the
"disk" is actually a networked file system). This is the default when both
the source and target are on the local machine.
dit(bf(--no-whole-file)) Turn off --whole-file, for use when it is the
default.
dit(bf(-p, --perms)) This option causes rsync to update the remote
permissions to be the same as the local permissions.
...
...
@@ -657,6 +662,9 @@ the default "rsh", this defaults to blocking IO, otherwise it defaults to
non-blocking IO. You may find the --blocking-io option is needed for some
remote shells that can't handle non-blocking IO. Ssh prefers blocking IO.
dit(bf(--no-blocking-io)) Turn off --blocking-io, for use when it is the
default.
dit(bf(--log-format=FORMAT)) This allows you to specify exactly what the
rsync client logs to stdout on a per-file basis. The log format is
specified using the same format conventions as the log format option in
...
...
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