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
Show 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)
...
@@ -7,3 +7,5 @@ rsync 2.5.3 (not released yet)
what was historically used so as not to break scripts that try
what was historically used so as not to break scripts that try
to parse the output.
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
...
@@ -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
;
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
++
]
=
"."
;
args
[
argc
++
]
=
"."
;
...
@@ -711,6 +712,7 @@ static int start_client(int argc, char *argv[])
...
@@ -711,6 +712,7 @@ static int start_client(int argc, char *argv[])
if
(
!
p
)
{
if
(
!
p
)
{
local_server
=
1
;
local_server
=
1
;
/* disable "rsync algorithm" when both sides local */
/* disable "rsync algorithm" when both sides local */
if
(
whole_file
==
-
1
)
whole_file
=
1
;
whole_file
=
1
;
}
else
if
(
p
[
1
]
==
':'
)
{
}
else
if
(
p
[
1
]
==
':'
)
{
*
p
=
0
;
*
p
=
0
;
...
...
options.c
View file @
93689aa5
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
#include "popt.h"
#include "popt.h"
int
make_backups
=
0
;
int
make_backups
=
0
;
int
whole_file
=
0
;
int
whole_file
=
-
1
;
int
copy_links
=
0
;
int
copy_links
=
0
;
int
preserve_links
=
0
;
int
preserve_links
=
0
;
int
preserve_hard_links
=
0
;
int
preserve_hard_links
=
0
;
...
@@ -73,7 +73,7 @@ int modify_window=2;
...
@@ -73,7 +73,7 @@ int modify_window=2;
#else
#else
int
modify_window
=
0
;
int
modify_window
=
0
;
#endif
#endif
int
blocking_io
=
0
;
int
blocking_io
=
-
1
;
/** Network address family. **/
/** Network address family. **/
#ifdef INET6
#ifdef INET6
...
@@ -203,6 +203,7 @@ void usage(enum logcode F)
...
@@ -203,6 +203,7 @@ void usage(enum logcode F)
rprintf
(
F
,
" -S, --sparse handle sparse files efficiently
\n
"
);
rprintf
(
F
,
" -S, --sparse handle sparse files efficiently
\n
"
);
rprintf
(
F
,
" -n, --dry-run show what would have been transferred
\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
,
" -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
,
" -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
,
" -B, --block-size=SIZE checksum blocking size (default %d)
\n
"
,
BLOCK_SIZE
);
rprintf
(
F
,
" -e, --rsh=COMMAND specify rsh replacement
\n
"
);
rprintf
(
F
,
" -e, --rsh=COMMAND specify rsh replacement
\n
"
);
...
@@ -237,6 +238,7 @@ void usage(enum logcode F)
...
@@ -237,6 +238,7 @@ void usage(enum logcode F)
rprintf
(
F
,
" --config=FILE specify alternate rsyncd.conf file
\n
"
);
rprintf
(
F
,
" --config=FILE specify alternate rsyncd.conf file
\n
"
);
rprintf
(
F
,
" --port=PORT specify alternate rsyncd port number
\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
,
" --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
,
" --stats give some file transfer stats
\n
"
);
rprintf
(
F
,
" --progress show progress during transfer
\n
"
);
rprintf
(
F
,
" --progress show progress during transfer
\n
"
);
rprintf
(
F
,
" --log-format=FORMAT log file transfers using specified format
\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,
...
@@ -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_LOG_FORMAT
,
OPT_PASSWORD_FILE
,
OPT_SIZE_ONLY
,
OPT_ADDRESS
,
OPT_DELETE_AFTER
,
OPT_EXISTING
,
OPT_MAX_DELETE
,
OPT_BACKUP_DIR
,
OPT_DELETE_AFTER
,
OPT_EXISTING
,
OPT_MAX_DELETE
,
OPT_BACKUP_DIR
,
OPT_IGNORE_ERRORS
,
OPT_BWLIMIT
,
OPT_BLOCKING_IO
,
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
};
OPT_MODIFY_WINDOW
,
OPT_READ_BATCH
,
OPT_WRITE_BATCH
,
OPT_IGNORE_EXISTING
};
static
struct
poptOption
long_options
[]
=
{
static
struct
poptOption
long_options
[]
=
{
...
@@ -297,6 +300,7 @@ static struct poptOption long_options[] = {
...
@@ -297,6 +300,7 @@ static struct poptOption long_options[] = {
{
"links"
,
'l'
,
POPT_ARG_NONE
,
&
preserve_links
},
{
"links"
,
'l'
,
POPT_ARG_NONE
,
&
preserve_links
},
{
"copy-links"
,
'L'
,
POPT_ARG_NONE
,
&
copy_links
},
{
"copy-links"
,
'L'
,
POPT_ARG_NONE
,
&
copy_links
},
{
"whole-file"
,
'W'
,
POPT_ARG_NONE
,
&
whole_file
},
{
"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
},
{
"copy-unsafe-links"
,
0
,
POPT_ARG_NONE
,
&
copy_unsafe_links
},
{
"perms"
,
'p'
,
POPT_ARG_NONE
,
&
preserve_perms
},
{
"perms"
,
'p'
,
POPT_ARG_NONE
,
&
preserve_perms
},
{
"owner"
,
'o'
,
POPT_ARG_NONE
,
&
preserve_uid
},
{
"owner"
,
'o'
,
POPT_ARG_NONE
,
&
preserve_uid
},
...
@@ -326,6 +330,7 @@ static struct poptOption long_options[] = {
...
@@ -326,6 +330,7 @@ static struct poptOption long_options[] = {
{
"partial"
,
0
,
POPT_ARG_NONE
,
&
keep_partial
},
{
"partial"
,
0
,
POPT_ARG_NONE
,
&
keep_partial
},
{
"ignore-errors"
,
0
,
POPT_ARG_NONE
,
&
ignore_errors
},
{
"ignore-errors"
,
0
,
POPT_ARG_NONE
,
&
ignore_errors
},
{
"blocking-io"
,
0
,
POPT_ARG_NONE
,
&
blocking_io
},
{
"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'
},
{
0
,
'P'
,
POPT_ARG_NONE
,
0
,
'P'
},
{
"config"
,
0
,
POPT_ARG_STRING
,
&
config_file
},
{
"config"
,
0
,
POPT_ARG_STRING
,
&
config_file
},
{
"port"
,
0
,
POPT_ARG_INT
,
&
rsync_port
},
{
"port"
,
0
,
POPT_ARG_INT
,
&
rsync_port
},
...
@@ -455,8 +460,12 @@ int parse_arguments(int *argc, const char ***argv, int frommain)
...
@@ -455,8 +460,12 @@ int parse_arguments(int *argc, const char ***argv, int frommain)
add_exclude_file
(
poptGetOptArg
(
pc
),
1
,
0
);
add_exclude_file
(
poptGetOptArg
(
pc
),
1
,
0
);
break
;
break
;
case
OPT_INCLUDE_FROM
:
case
OPT_NO_WHOLE_FILE
:
add_exclude_file
(
poptGetOptArg
(
pc
),
1
,
1
);
whole_file
=
0
;
break
;
case
OPT_NO_BLOCKING_IO
:
blocking_io
=
0
;
break
;
break
;
case
'h'
:
case
'h'
:
...
@@ -557,6 +566,11 @@ void server_options(char **args,int *argc)
...
@@ -557,6 +566,11 @@ void server_options(char **args,int *argc)
int
i
,
x
;
int
i
,
x
;
if
(
whole_file
==
-
1
)
whole_file
=
0
;
if
(
blocking_io
==
-
1
)
blocking_io
=
0
;
args
[
ac
++
]
=
"--server"
;
args
[
ac
++
]
=
"--server"
;
if
(
!
am_sender
)
if
(
!
am_sender
)
...
...
rsync.yo
View file @
93689aa5
...
@@ -239,6 +239,7 @@ verb(
...
@@ -239,6 +239,7 @@ verb(
-S, --sparse handle sparse files efficiently
-S, --sparse handle sparse files efficiently
-n, --dry-run show what would have been transferred
-n, --dry-run show what would have been transferred
-W, --whole-file copy whole files, no incremental checks
-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
-x, --one-file-system don't cross filesystem boundaries
-B, --block-size=SIZE checksum blocking size (default 700)
-B, --block-size=SIZE checksum blocking size (default 700)
-e, --rsh=COMMAND specify rsh replacement
-e, --rsh=COMMAND specify rsh replacement
...
@@ -273,6 +274,7 @@ verb(
...
@@ -273,6 +274,7 @@ verb(
--config=FILE specify alternate rsyncd.conf file
--config=FILE specify alternate rsyncd.conf file
--port=PORT specify alternate rsyncd port number
--port=PORT specify alternate rsyncd port number
--blocking-io use blocking IO for the remote shell
--blocking-io use blocking IO for the remote shell
--no-blocking-io turn off --blocking-io
--stats give some file transfer stats
--stats give some file transfer stats
--progress show progress during transfer
--progress show progress during transfer
--log-format=FORMAT log file transfers using specified format
--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
...
@@ -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
"disk" is actually a networked file system). This is the default when both
the source and target are on the local machine.
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
dit(bf(-p, --perms)) This option causes rsync to update the remote
permissions to be the same as the local permissions.
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
...
@@ -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
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.
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
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
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
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