Update hadd docs
Related to #11245 . The -O option of hadd can be used to force the recompression of the whole target tree (including branches and baskets) to the compression algorithm set with -f option. This is not clear in the current hadd help message.
The first commit updates the help for the -O option, most probably this can be further improved so suggestions are welcome!
Other commits are style changes to the message for a clearer output and code.
After this PR:
$: hadd -h
usage: hadd [-a A] [-k K] [-T T] [-O O] [-v V] [-j J] [-dbg DBG] [-d D] [-n N]
[-cachesize CACHESIZE]
[-experimental-io-features EXPERIMENTAL_IO_FEATURES] [-f F]
[-fk FK] [-ff FF] [-f0 F0] [-f6 F6]
TARGET SOURCES
OPTIONS:
-a Append to the output
-k Skip corrupt or non-existent files, do not exit
-T Do not merge TTree objects
-O If hadd is used to merge TTree objects, compress the whole target tree
(including its branches and baskets) with the desired compression
algorithm. This can be set for example through the '-f' option
-v Explicitly set the verbosity level: 0 request no output, 99 is the
default
-j Parallelize the execution in multiple processes
-dbg Parallelize the execution in multiple processes in debug mode (Does
not delete partial files stored inside working directory)
-d Carry out the partial multiprocess execution in the specified
directory
-n Open at most 'maxopenedfiles' at once (use 0 to request to use the
system maximum)
-cachesize Resize the prefetching cache use to speed up I/O operations (use 0 to
disable)
-experimental-io-features Used with an argument provided, enables the corresponding experimental
feature for output trees
-f Gives the ability to specify the compression level of the target file
(by default 4)
-fk Sets the target file to contain the baskets with the same compression
as the input files (unless -O is specified). Compresses the meta data
using the compression level specified in the first input or the
compression setting after fk (for example 206 when using -fk206)
-ff The compression level use is the one specified in the first input
-f0 Do not compress the target file
-f6 Use compression level 6 (See TFile::SetCompressionSettings for the
supported range of values)
TARGET Target file
SOURCES Source files
Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14
How to customize builds
This pull request fixes 1 alert when merging 3b45969ea9daf0a65a6bc75a9c2b0ba566f7af48 into 0b49293d4d67dfecfe58e710616094b30a90130f - view on LGTM.com
fixed alerts:
- 1 for Unused import
Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14
How to customize builds
Reverted the changes to the help text of O option. Kept other formatting changes, this is the current look of the help output
OPTIONS:
-a Append to the output
-k Skip corrupt or non-existent files, do not exit
-T Do not merge Trees
-O Re-optimize basket size when merging TTree
-v Explicitly set the verbosity level: 0 request no output, 99 is the
default
-j Parallelize the execution in multiple processes
-dbg Parallelize the execution in multiple processes in debug mode (Does
not delete partial files stored inside working directory)
-d Carry out the partial multiprocess execution in the specified
directory
-n Open at most 'maxopenedfiles' at once (use 0 to request to use the
system maximum)
-cachesize Resize the prefetching cache use to speed up I/O operations(use 0 to
disable)
-experimental-io-features Used with an argument provided, enables the corresponding experimental
feature for output trees
-f Gives the ability to specify the compression level of the target file
(by default 4)
-fk Sets the target file to contain the baskets with the same compression
as the input files (unless -O is specified). Compresses the meta data
using the compression level specified in the first input or the
compression setting after fk (for example 206 when using -fk206)
-ff The compression level use is the one specified in the first input
-f0 Do not compress the target file
-f6 Use compression level 6 (see TFile::SetCompressionSettings for the
supported range of values)
TARGET Target file
SOURCES Source files
This pull request fixes 1 alert when merging e7b393a71713efe5c56e04cefa8dade989ba7ec1 into 338cea5ec8883c031b9e40bbea650688d2db92f2 - view on LGTM.com
fixed alerts:
- 1 for Unused import
Build failed on ROOT-ubuntu18.04/nortcxxmod. Running on sft-ubuntu-1804-2.cern.ch:/build/workspace/root-pullrequests-build See console output.
Failing tests:
- projectroot.roottest.python.cmdLineUtils.roottest_python_cmdLineUtils_SimpleRootmkdir1PrepareInput
- projectroot.roottest.python.cmdLineUtils.roottest_python_cmdLineUtils_SimpleRootcp1PrepareInput
- projectroot.roottest.python.cmdLineUtils.roottest_python_cmdLineUtils_SimpleRootmkdir3PrepareInput
- projectroot.roottest.python.cmdLineUtils.roottest_python_cmdLineUtils_SimpleRootrm2PrepareInput
- projectroot.roottest.python.cmdLineUtils.roottest_python_cmdLineUtils_SimpleRootmkdir2PrepareInput
- projectroot.roottest.python.cmdLineUtils.roottest_python_cmdLineUtils_SimpleRootrm3PrepareInput
- projectroot.roottest.python.cmdLineUtils.roottest_python_cmdLineUtils_SimpleRootrm1PrepareInput
- projectroot.roottest.python.cmdLineUtils.roottest_python_cmdLineUtils_SimpleRootcp5PrepareInput
- projectroot.roottest.python.cmdLineUtils.roottest_python_cmdLineUtils_SimpleRootcp3PrepareInput
- projectroot.roottest.python.cmdLineUtils.roottest_python_cmdLineUtils_SimpleRootcp2PrepareInput
And 170 more
Build failed on ROOT-debian10-i386/soversion. Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build See console output.
Failing tests:
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_import_load_libs
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_root_module
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_pretty_printing
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_decorator
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_array_interface
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_stl_vector
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_tobject_contains
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_tobject_comparisonops
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_tcontext_contextmanager
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_tdirectory_attrsyntax
And 160 more
Build failed on ROOT-ubuntu2004/python3. Running on root-ubuntu-2004-3.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build See console output.
Failing tests:
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_callable_generator
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_friendinfo
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_headnode
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_operation
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_node
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_ranges
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_proxy
- projectroot.bindings.experimental.distrdf.test.backend.pyunittests_distrdf_unit_backend_test_common
- projectroot.bindings.experimental.distrdf.test.backend.pyunittests_distrdf_unit_backend_test_dist
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_numbadeclare
And 185 more
Build failed on ROOT-performance-centos8-multicore/cxx17. Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build See console output.
Failing tests:
- projectroot.runtutorials.tutorial_pyroot_fillrandom_py
- projectroot.runtutorials.tutorial_pyroot_geometry_py
- projectroot.runtutorials.tutorial_pyroot_hsimple_py
- projectroot.runtutorials.tutorial_roofit_rf502_wspacewrite_py
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_rdataframe_makenumpy
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_rdataframe_histo_profile
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_rdataframe_asnumpy
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_rdfdescription
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_rtensor
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_string_view_backport
And 361 more
Build failed on windows10/cxx14. Running on null:C:\build\workspace\root-pullrequests-build See console output.
Failing tests:
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_pretty_printing
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_root_module
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_decorator
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_array_interface
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_stl_vector
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_tobject_comparisonops
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_tobject_contains
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_tclass_dynamiccast
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_tcontext_contextmanager
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_pyz_tfile_attrsyntax_get_writeobject_open
And 144 more
Build failed on mac11/cxx14. Running on macphsft20.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build See console output.
Failing tests:
- projectroot.runtutorials.tutorial_pyroot_fillrandom_py
- projectroot.runtutorials.tutorial_pyroot_geometry_py
- projectroot.runtutorials.tutorial_pyroot_hsimple_py
- projectroot.runtutorials.tutorial_roofit_rf502_wspacewrite_py
- projectroot.runtutorials.tutorial_.rootlogon_py
- projectroot.runtutorials.tutorial_dataframe_df000_simple_py
- projectroot.runtutorials.tutorial_dataframe_df001_introduction_py
- projectroot.runtutorials.tutorial_dataframe_df002_dataModel_py
- projectroot.runtutorials.tutorial_dataframe_df003_profiles_py
- projectroot.runtutorials.tutorial_dataframe_df004_cutFlowReport_py
And 373 more
Build failed on mac1015/cxx17. Running on macitois22.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build See console output.
Failing tests:
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_callable_generator
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_friendinfo
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_headnode
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_node
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_operation
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_ranges
- projectroot.bindings.experimental.distrdf.test.pyunittests_distrdf_unit_test_proxy
- projectroot.bindings.experimental.distrdf.test.backend.pyunittests_distrdf_unit_backend_test_common
- projectroot.bindings.experimental.distrdf.test.backend.pyunittests_distrdf_unit_backend_test_dist
- projectroot.bindings.pyroot.pythonizations.test.pyunittests_pyroot_numbadeclare
And 184 more
@pcanal can we merge this? Now it only contains formatting changes and fixes a couple of typos. My previous comment shows the new output after this PR.
Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac11/noimt, mac12arm/cxx20, windows10/cxx14
How to customize builds
Build failed on ROOT-ubuntu2204/nortcxxmod. Running on root-ubuntu-2204-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build See console output.
Warnings:
- [2023-06-22T10:06:47.354Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: variable ‘parent_path’ set but not used [-Wunused-but-set-variable]
- [2023-06-22T10:07:36.383Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: variable ‘parent_path’ set but not used [-Wunused-but-set-variable]
Build failed on ROOT-debian10-i386/soversion. Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build See console output.
Warnings:
- [2023-06-22T11:16:17.142Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: variable ‘parent_path’ set but not used [-Wunused-but-set-variable]
- [2023-06-22T11:17:14.458Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: variable ‘parent_path’ set but not used [-Wunused-but-set-variable]
Build failed on ROOT-ubuntu2004/python3. Running on root-ubuntu-2004-1.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build See console output.
Warnings:
- [2023-06-22T11:30:20.277Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: variable ‘parent_path’ set but not used [-Wunused-but-set-variable]
- [2023-06-22T11:31:08.764Z] /home/sftnight/build/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: variable ‘parent_path’ set but not used [-Wunused-but-set-variable]
Build failed on ROOT-performance-centos8-multicore/cxx17. Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build See console output.
Warnings:
- [2023-06-22T11:30:50.464Z] /data/sftnight/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: variable ‘parent_path’ set but not used [-Wunused-but-set-variable]
- [2023-06-22T11:37:02.387Z] /data/sftnight/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: variable ‘parent_path’ set but not used [-Wunused-but-set-variable]
Build failed on mac11/noimt. Running on macphsft23.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build See console output.
Warnings:
- [2023-06-22T11:39:00.617Z] /Users/sftnight/build/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: unused variable 'parent_path' [-Wunused-variable]
- [2023-06-22T11:40:23.103Z] /Users/sftnight/build/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: unused variable 'parent_path' [-Wunused-variable]
Build failed on mac12arm/cxx20. Running on macphsft26.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build See console output.
Warnings:
- [2023-06-22T12:46:36.429Z] /Users/sftnight/build/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: unused variable 'parent_path' [-Wunused-variable]
- [2023-06-22T12:47:17.361Z] /Users/sftnight/build/workspace/root-pullrequests-build/root/core/foundation/src/FoundationUtils.cxx:116:9: warning: unused variable 'parent_path' [-Wunused-variable]