New -find actions update_merge, rm_merge, clear_merge. -cp_clone now merges.

This commit is contained in:
2011-02-12 17:14:23 +00:00
parent 2c37215969
commit 7f01cfd5dc
18 changed files with 435 additions and 116 deletions

View File

@ -1000,7 +1000,8 @@ filesystem.
-cp_clone iso_rr_path_original [***] iso_rr_path_dest
Create copies of one or more ISO file objects as with command
-clone. Do not not overwrite existing ISO file objects.
-clone. Eventually merge directories with existing ones, but do
not overwrite existing ISO file objects.
The rules for generating the copy addresses are the same as with
command -cpr (see above) resp. shell command cp -r. Other than
with -cpr, relative iso_rr_path_original will get prepended the
@ -1499,12 +1500,28 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Options
performs command -update with the found file address as
iso_rr_path. The corresponding file address is determined
like with above action "compare".
update_merge
is like update but does not delete the found file if it is
missing on disk. It may be run several times and records
with all visited files whether their counterpart on disk has
already been seen by one of the update_merge runs. Finally,
a -find run with action "rm_merge" may remove all files that
saw no counterpart on disk.
Up to the next "rm_merge" or "clear_merge" all newly inserted
files will get marked as having a disk counterpart.
rm
removes the found iso_rr_path from the image if it is not a
directory with files in it. I.e. this "rm" includes "rmdir".
rm_r
removes the found iso_rr_path from the image, including whole
directory trees.
rm_merge
removes the found iso_rr_path if it was visited by one or
more previous actions "update_merge" and saw no counterpart
on disk in any of them. The marking from the update actions
is removed in any case.
clear_merge
removes an eventual marking from action "update_merge".
report_damage
classifies files whether they hit a data block that is marked
as damaged. The result is printed together with the eventual
@ -2763,7 +2780,7 @@ File: xorriso.info, Node: Navigate, Next: Verify, Prev: Inquiry, Up: Options
image. The report format is the same as with command -compare.
add_missing iso_rr_path_start
adds the counterpart if it does not yet exist in the ISO
image.
image and marks it for "rm_merge" as non-removable.
E.g.: -findx /home/thomas -exec add_missing /thomas_on_cd --
is_full_in_iso
reports if the counterpart in the ISO image contains files.
@ -3166,11 +3183,11 @@ programs trigger comparable actions.
option allow_dir_id_ext. This may be avoided by option
-disallow_dir_id_ext.
Option -root is supported. Option -old-root is implemented by
xorriso commands -mkdir, -cp_clone, and -update_r. It sets command
-disk_dev_ino to "ino_only" and -md5 to "on", by default.
-disk_dev_ino can be set to "off" by --old-root-no-ino resp. to
"on" by --old-root-devno . -md5 can be set to "off" by
--old-root-no-md5 .
xorriso commands -mkdir, -cp_clone, -find update_merge, and -find
rm_merge. -root and -old-root set command -disk_dev_ino to
"ino_only" and -md5 to "on", by default. -disk_dev_ino can be set
to "off" by --old-root-no-ino resp. to "on" by --old-root-devno .
-md5 can be set to "off" by --old-root-no-md5 .
Not original mkisofs options are --quoted_path_list , --hardlinks
, --acl , --xattr , --md5 , --stdio_sync . They work like the
xorriso options with the same name and hardcoded argument "on",
@ -3805,7 +3822,7 @@ $ xorriso \
-dev /dev/sr0 \
-volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \
-not_leaf '*.o' -not_leaf '*.swp' \
-update_r /home/thomas/open_source_projects /open_source_projects \
-update_r /home/thomas/projects /projects \
-update_r /home/thomas/personal_mail /personal_mail \
-commit -toc -check_md5 FAILURE -- -eject all
@ -3843,6 +3860,15 @@ commands for older sessions in the table-of-content. E.g. as superuser:
# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
This example produces a result similar to -root / -old-root / with
mkisofs. For getting the session trees accumulated in the new
sessions, let all -update commands use a common parent directory and
clone it after updating is done:
-update_r /home/thomas/projects /current/projects \
-update_r /home/thomas/personal_mail /current/personal_mail \
-clone /current /"$(date '+%Y_%m_%d_%H%M%S')" \
The cloned tree will have a name like /2011_02_12_155700.
Sessions on multi-session media are separated by several MB of unused
blocks. So with small sessions the payload capacity can become
substantially lower than the overall media capacity. If the remaining
@ -3856,9 +3882,6 @@ stored safely on a different media. Always have a blank media ready to
perform a full backup in case the update attempt fails due to
insufficient remaining capacity.
This example produces a result similar to -root / -old-root / with
mkisofs.

File: xorriso.info, Node: ExRestore, Next: ExRecovery, Prev: ExIncBackup, Up: Examples
@ -4468,45 +4491,45 @@ Node: Options23227
Node: AqDrive24835
Node: Loading27741
Node: Insert40885
Node: SetInsert50450
Node: Manip59017
Node: CmdFind67698
Node: Filter78122
Node: Writing82471
Node: SetWrite88760
Node: Bootable102370
Node: Jigdo114677
Node: Charset118935
Node: Exception121686
Node: DialogCtl126201
Node: Inquiry128788
Node: Navigate133121
Node: Verify141016
Node: Restore149605
Node: Emulation156261
Node: Scripting165493
Node: Frontend171055
Node: Examples172350
Node: ExDevices173519
Node: ExCreate174153
Node: ExDialog175427
Node: ExGrowing176689
Node: ExModifying177491
Node: ExBootable177992
Node: ExCharset178539
Node: ExPseudo179367
Node: ExCdrecord180261
Node: ExMkisofs180576
Node: ExGrowisofs181579
Node: ExException182703
Node: ExTime183157
Node: ExIncBackup183616
Node: ExRestore187184
Node: ExRecovery188153
Node: Files188719
Node: Seealso189947
Node: Legal190471
Node: CommandIdx191393
Node: ConceptIdx205765
Node: SetInsert50504
Node: Manip59071
Node: CmdFind67752
Node: Filter79052
Node: Writing83401
Node: SetWrite89690
Node: Bootable103300
Node: Jigdo115607
Node: Charset119865
Node: Exception122616
Node: DialogCtl127131
Node: Inquiry129718
Node: Navigate134051
Node: Verify141991
Node: Restore150580
Node: Emulation157236
Node: Scripting166510
Node: Frontend172072
Node: Examples173367
Node: ExDevices174536
Node: ExCreate175170
Node: ExDialog176444
Node: ExGrowing177706
Node: ExModifying178508
Node: ExBootable179009
Node: ExCharset179556
Node: ExPseudo180384
Node: ExCdrecord181278
Node: ExMkisofs181593
Node: ExGrowisofs182596
Node: ExException183720
Node: ExTime184174
Node: ExIncBackup184633
Node: ExRestore188553
Node: ExRecovery189522
Node: Files190088
Node: Seealso191316
Node: Legal191840
Node: CommandIdx192762
Node: ConceptIdx207134

End Tag Table