mirror of
https://github.com/facebook/zstd.git
synced 2025-08-07 06:23:00 +03:00
add --patch-apply command
as an equivalent for `-d --patch-from`. Requested by @sergeevabc in #2173.
This commit is contained in:
@@ -230,7 +230,8 @@ static void usageAdvanced(const char* programName)
|
|||||||
#endif
|
#endif
|
||||||
DISPLAYOUT(" --adapt Dynamically adapt compression level to I/O conditions.\n");
|
DISPLAYOUT(" --adapt Dynamically adapt compression level to I/O conditions.\n");
|
||||||
DISPLAYOUT(" --long[=#] Enable long distance matching with window log #. [Default: %u]\n", g_defaultMaxWindowLog);
|
DISPLAYOUT(" --long[=#] Enable long distance matching with window log #. [Default: %u]\n", g_defaultMaxWindowLog);
|
||||||
DISPLAYOUT(" --patch-from=REF Use REF as the reference point for Zstandard's diff engine. \n\n");
|
DISPLAYOUT(" --patch-from=REF Use REF as the reference point for Zstandard's diff engine. \n");
|
||||||
|
DISPLAYOUT(" --patch-apply Equivalent for `-d --patch-from` \n\n");
|
||||||
# ifdef ZSTD_MULTITHREAD
|
# ifdef ZSTD_MULTITHREAD
|
||||||
DISPLAYOUT(" -T# Spawn # compression threads. [Default: 1; pass 0 for core count.]\n");
|
DISPLAYOUT(" -T# Spawn # compression threads. [Default: 1; pass 0 for core count.]\n");
|
||||||
DISPLAYOUT(" --single-thread Share a single thread for I/O and compression (slightly different than `-T1`).\n");
|
DISPLAYOUT(" --single-thread Share a single thread for I/O and compression (slightly different than `-T1`).\n");
|
||||||
@@ -1124,6 +1125,7 @@ int main(int argCount, const char* argv[])
|
|||||||
if (longCommandWArg(&argument, "--trace")) { char const* traceFile; NEXT_FIELD(traceFile); TRACE_enable(traceFile); continue; }
|
if (longCommandWArg(&argument, "--trace")) { char const* traceFile; NEXT_FIELD(traceFile); TRACE_enable(traceFile); continue; }
|
||||||
#endif
|
#endif
|
||||||
if (longCommandWArg(&argument, "--patch-from")) { NEXT_FIELD(patchFromDictFileName); ultra = 1; continue; }
|
if (longCommandWArg(&argument, "--patch-from")) { NEXT_FIELD(patchFromDictFileName); ultra = 1; continue; }
|
||||||
|
if (longCommandWArg(&argument, "--patch-apply")) { operation=zom_decompress; NEXT_FIELD(patchFromDictFileName); memLimit= 1U << ZSTD_WINDOWLOG_MAX; continue; }
|
||||||
if (longCommandWArg(&argument, "--long")) {
|
if (longCommandWArg(&argument, "--long")) {
|
||||||
unsigned ldmWindowLog = 0;
|
unsigned ldmWindowLog = 0;
|
||||||
ldmFlag = 1;
|
ldmFlag = 1;
|
||||||
|
@@ -1777,11 +1777,15 @@ datagen -g1000 -P10 > tmp_patch
|
|||||||
zstd --patch-from=tmp_dict tmp_patch -o tmp_patch_diff
|
zstd --patch-from=tmp_dict tmp_patch -o tmp_patch_diff
|
||||||
zstd -d --patch-from=tmp_dict tmp_patch_diff -o tmp_patch_recon
|
zstd -d --patch-from=tmp_dict tmp_patch_diff -o tmp_patch_recon
|
||||||
$DIFF -s tmp_patch_recon tmp_patch
|
$DIFF -s tmp_patch_recon tmp_patch
|
||||||
|
zstd -f --patch-apply=tmp_dict tmp_patch_diff -o tmp_patch_recon
|
||||||
|
$DIFF -s tmp_patch_recon tmp_patch
|
||||||
|
|
||||||
println "\n===> alternate syntax: patch-from origin"
|
println "\n===> alternate syntax: patch-from origin"
|
||||||
zstd -f --patch-from tmp_dict tmp_patch -o tmp_patch_diff
|
zstd -f --patch-from tmp_dict tmp_patch -o tmp_patch_diff
|
||||||
zstd -df --patch-from tmp_dict tmp_patch_diff -o tmp_patch_recon
|
zstd -df --patch-from tmp_dict tmp_patch_diff -o tmp_patch_recon
|
||||||
$DIFF -s tmp_patch_recon tmp_patch
|
$DIFF -s tmp_patch_recon tmp_patch
|
||||||
|
zstd -f --patch-apply tmp_dict tmp_patch_diff -o tmp_patch_recon
|
||||||
|
$DIFF -s tmp_patch_recon tmp_patch
|
||||||
rm -rf tmp_*
|
rm -rf tmp_*
|
||||||
|
|
||||||
println "\n===> patch-from recursive tests"
|
println "\n===> patch-from recursive tests"
|
||||||
|
Reference in New Issue
Block a user