info EXECUTING PLAN 'inspect_init' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN inspect_init Inspection of internal data after init STEP 1 10/25/26 20:14 Inspecting of internal revision files when putting a local source folder under version control $ arcv -yy --silent [?12l[?25h   info Committed first revision 0aba5b72f26dc8e6 Inspecting repository revision folder OK '/tmp/arcv-test-archive/test-project.archive/ROOT' line 'riffian-dell/24-5e-be-4d-9c-e1: /home/ubuntu/test-arcv/test-project' was found OK '/tmp/arcv-test-archive/test-project.archive/head/REV' content is correct ('0') OK '/tmp/arcv-test-archive/test-project.archive/test-project.archive0/CHANGE_LOG' content is correct ('Creation') Inspecting head folder OK: file_A.txt is the same between head folder and revision folder OK: file_B.txt is the same between head folder and revision folder OK: file_A.txt is the same between head folder and original source folder OK: file_B.txt is the same between head folder and original source folder Adding file_C.txt [?12l[?25h  info Committed revision 1 signed 9cfc64bb04567199 Creating branch fun-project $ av --silent -yy branch fun-project info The branch is going to be created in a folder '../fun-project' from head revision 1 task Branch creation in folder ../fun-project [ RUNNING ] task Branch creation in folder ../fun-project [ OK ] task Branch 'fun-project' commit in '/home/ubuntu/test-arcv/fun-project' [ RUNNING ] task Branch 'fun-project' commit in '/home/ubuntu/test-arcv/fun-project' [ OK ] Inspecting branch revision folder $ Test__assertFileContent "/tmp/arcv-test-archive/fun-project.archive/BRANCH_ROOT" "/tmp/arcv-test-archive/test-project.archive" OK '/tmp/arcv-test-archive/fun-project.archive/BRANCH_ROOT' content is correct ('/tmp/arcv-test-archive/test-project.archive') OK '/tmp/arcv-test-archive/fun-project.archive/BRANCH_ROOT_REV' content is correct ('1') OK: file_A.txt is the same between head folder and original source folder OK: file_B.txt is the same between head folder and original source folder OK: file_C.txt is the same between head folder and original source folder [?12l[?25h getshot has finished. info EXECUTING PLAN 'spacechars' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN spacechars Wide range of tests dealing with path components containing spaces STEP 1 10/25/26 20:14 Wide range of tests dealing with path components containing spaces .: total 12 -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:14 file A.txt -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:14 file B.txt drwxr-xr-x 2 ubuntu ubuntu 4096 Oct 25 20:14 system configs ./system configs: total 8 -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:14 sys config1.yml -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:14 sys config3.yml $ arcv -yy --silent [?12l[?25h   info Committed first revision b72cd1026bca1279 OK: output of 'av rev' is correct OK: 0 returned by 'av check' info SRC: /home/ubuntu/test-arcv/test project of mine info test project of mine is the first archived version info No change in source  info Committed revision 1 signed b84ca13631438609 info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 1 info Successfully restored VERSION.txt from revison 1 Inspecting repository revision folder OK: '/tmp/arcv-test-archive/test project of mine.archive/ROOT': present OK '/tmp/arcv-test-archive/test project of mine.archive/head/REV' content is correct ('1') OK '/tmp/arcv-test-archive/test project of mine.archive/test project of mine.archive0/CHANGE_LOG' content is correct ('Creation') Inspecting head folder OK: file A.txt is the same between head folder and revision folder OK: file B.txt is the same between head folder and revision folder OK: sys config1.yml is the same between head folder and revision folder OK: file A.txt is the same between head folder and original source folder OK: file B.txt is the same between head folder and original source folder OK: sys config1.yml is the same between head folder and original source folder Adding file C.txt and system configs/sys config2.yml, modifying system configs/sys config1.yml, removing system configs/sys config3.yml $ rm "system configs/sys config3.yml" [!p[?3;4l>[?69l OK: 1 returned by 'av check' $ av check --verbose && _exit -1 "Error: no change detected" || true There are new, deleted, modified files for revision 1 [!p[?3;4l>[?69l [?12l[?25h  info Committed revision 2 signed f82946060e5bb8de OK: output of 'av rev' is correct OK: 0 returned by 'av check' OK: 0 returned by 'av diff 0vs0' OK: 0 returned by 'av diff 2vs2' OK: 0 returned by 'av diff headvs2' $ av tarball -o "/tmp/test av" info Successfully created /tmp/test av/test project of mine-2.tar.gz OK: '/tmp/test av/test project of mine-2.tar.gz': present drwxr-xr-x ubuntu/ubuntu 0 2026-10-25 20:14 test project of mine/ -rw-r--r-- ubuntu/ubuntu 12 2026-10-25 20:14 test project of mine/file B.txt drwxr-xr-x ubuntu/ubuntu 0 2026-10-25 20:14 test project of mine/system configs/ -rw-r--r-- ubuntu/ubuntu 12 2026-10-25 20:14 test project of mine/system configs/sys config2.yml -rw-r--r-- ubuntu/ubuntu 24 2026-10-25 20:14 test project of mine/system configs/sys config1.yml -rw-r--r-- ubuntu/ubuntu 5 2026-10-25 20:14 test project of mine/VERSION.txt -rw-r--r-- ubuntu/ubuntu 15 2026-10-25 20:14 test project of mine/file C.txt -rw-r--r-- ubuntu/ubuntu 12 2026-10-25 20:14 test project of mine/file A.txt $ av tarball 0 -o "/tmp/test av" info Successfully created /tmp/test av/test project of mine-0.tar.gz OK: '/tmp/test av/test project of mine-0.tar.gz': present drwxr-xr-x ubuntu/ubuntu 0 2026-10-25 20:14 test project of mine/ -rw-r--r-- ubuntu/ubuntu 12 2026-10-25 20:14 test project of mine/file B.txt drwxr-xr-x ubuntu/ubuntu 0 2026-10-25 20:14 test project of mine/system configs/ -rw-r--r-- ubuntu/ubuntu 12 2026-10-25 20:14 test project of mine/system configs/sys config3.yml -rw-r--r-- ubuntu/ubuntu 12 2026-10-25 20:14 test project of mine/system configs/sys config1.yml -rw-r--r-- ubuntu/ubuntu 12 2026-10-25 20:14 test project of mine/file A.txt Perform some info display commands $ av check --verbose || echo "OK NO change detected" Image is up-to-date. Revision is 2 $ av log -n --verbose 2 2026-10-25 20:14:54 Changed: system configs/sys config1.yml. New: file C.txt system configs/sys  config2.yml. Deleted: system configs/sys config3.yml system configs/sys config2.yml system configs/sys config1.yml file C.txt system configs/sys config3.yml 1 2026-10-25 20:14:49 Added /home/ubuntu/test-arcv/test project of mine/VERSION.txt while requesting  creation of release tag VERSION.txt 0 2026-10-25 20:14:46 Creation system configs/sys config1.yml system configs/sys config3.yml file B.txt file A.txt Operation finished. $ av hash --verbose Head hash signature is f82946060e5bb8de157a5681b5a9612b240dc3c37adaf2ac548595ad6de1174d Operation finished. $ av list --verbose info arcv run from riffian-dell, storage on riffian will be accessed via mountpoint /tmp/arcv-test-archive riffian 192.168.0.12(LAN) (public) fun-project 0 9cfc64bb04567199 25 Oct 20:14 ubuntu (1000) 24K   \u2502 test project of mine 2 f82946060e5bb8de 25 Oct 20:14 ubuntu (1000) 52K   \u2502 76 KiB [?12l[?25h Operation finished. COMPARING /home/ubuntu/test-arcv/test project of mine with revision 0 : /tmp/Arcv.tmp.RSax8LFZUy/test project of mine Only in '/home/ubuntu/test-arcv/test project of mine': VERSION.txt Only in '/home/ubuntu/test-arcv/test project of mine': 'file C.txt' diff --no-dereference -r '--color=always' -u -X '/tmp/arcv-test-archive/test project of mine.archive/EXCLUDE' "/tmp/Arcv.tmp.RSax8LFZUy/test project of mine/system configs/sys config1.yml" "/home/ubuntu/test-arcv/test project of mine/system configs/sys config1.yml" --- "/tmp/Arcv.tmp.RSax8LFZUy/test project of mine/system configs/sys config1.yml" 2026-10-25 20:14:44.000000000 +0100 +++ "/home/ubuntu/test-arcv/test project of mine/system configs/sys config1.yml" 2026-10-25 20:14:52.285621228 +0100 @@ -1 +1,2 @@ param1: 100 +param1: 101 Only in '/home/ubuntu/test-arcv/test project of mine/system configs': 'sys config2.yml' Only in '/tmp/Arcv.tmp.RSax8LFZUy/test project of mine/system configs': 'sys config3.yml' [!p[?3;4l>[?69l OK: 1 returned by 'av diff 0' , is != of 0 Inspecting changes OK: file C.txt is the same between head folder and revision folder OK: sys config2.yml is the same between head folder and revision folder OK: file C.txt is the same between head folder and original source folder OK: sys config2.yml is the same between head folder and original source folder OK '/tmp/arcv-test-archive/test project of mine.archive/test project of mine.archive2/test project of mine/system configs/sys config1.yml' last line is correct ('param1: 101') Creating branch 'fun project' $ av --silent -yy branch "fun project" info The branch is going to be created in a folder '../fun project' from head revision 2 task Branch creation in folder ../fun project [ RUNNING ] task Branch creation in folder ../fun project [ OK ] task Branch 'fun project' commit in '/home/ubuntu/test-arcv/fun project' [ RUNNING ] task Branch 'fun project' commit in '/home/ubuntu/test-arcv/fun project' [ OK ] OK: file A.txt is the same between head folder and revision folder OK: file B.txt is the same between head folder and revision folder OK: file C.txt is the same between head folder and revision folder OK: sys config1.yml is the same between head folder and revision folder OK: sys config2.yml is the same between head folder and revision folder OK: '/tmp/arcv-test-archive/fun project.archive/fun project.archive0/fun project/system configs/sys config3.yml': not there OK: '/tmp/arcv-test-archive/fun project.archive/head/fun project/system configs/sys config3.yml': not there OK: file A.txt is the same between head folder and original source folder OK: file B.txt is the same between head folder and original source folder OK: file C.txt is the same between head folder and original source folder OK: sys config1.yml is the same between head folder and original source folder OK: sys config2.yml is the same between head folder and original source folder Checking out rev 0 in '/tmp/test av' task Revision 0 checkout in folder ../../../../tmp/test av/test project of mine-rev0 [ RUNNING ] task Revision 0 checkout in folder ../../../../tmp/test av/test project of mine-rev0 [ OK ] OK 'file A.txt' content is correct ('Test file A') OK 'file B.txt' content is correct ('Test file B') OK 'system configs/sys config1.yml' content is correct ('param1: 100') OK 'system configs/sys config3.yml' content is correct ('param1: 300') OK: 'file C.txt': not there OK: 'system configs/sys config2.yml': not there Checking out release 1.0.0 in '/tmp/test av' task Release R1.0.0 checkout in folder ../../../../tmp/test av/test project of mine-R1.0.0 [ RUNNING ] task Release R1.0.0 checkout in folder ../../../../tmp/test av/test project of mine-R1.0.0 [ OK ] OK 'file A.txt' content is correct ('Test file A') Checking out revision 1 in '/tmp/' using explicit source name task Revision 1 checkout in folder ../../test project of mine-rev1 [ RUNNING ] task Revision 1 checkout in folder ../../test project of mine-rev1 [ OK ] OK: 'VERSION.txt': present OK: 'system configs/sys config2.yml': not there OK: 'system configs/sys config3.yml': present OK 'file A.txt' content is correct ('Test file A') OK 'system configs/sys config1.yml' last line is correct ('param1: 100') Checking out head in '/tmp/' using explicit source name task Checking out head revision inside '/tmp/test project of mine' [ RUNNING ] task Checking out head revision inside '/tmp/test project of mine' [ OK ] OK: 'VERSION.txt': present OK: 'system configs/sys config2.yml': present OK: 'system configs/sys config3.yml': not there OK 'file A.txt' content is correct ('Test file A') OK 'system configs/sys config1.yml' last line is correct ('param1: 101') [?12l[?25h getshot has finished. info EXECUTING PLAN 'exclusions' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN exclusions Exclude some types of files from revision control and related operations STEP 1 10/25/26 20:15 Example of excluding some types of files from revision control and related operations .: total 16 -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:15 file A.txt -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:15 file B.txt drwxr-xr-x 2 ubuntu ubuntu 4096 Oct 25 20:15 system configs -rw-r--r-- 1 ubuntu ubuntu 17 Oct 25 20:15 videofile.mp4 ./system configs: total 12 -rw-r--r-- 1 ubuntu ubuntu 27 Oct 25 20:15 screenshot.jpg -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:15 sys config1.yml -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:15 sys config3.yml $ arcv -y --silent -X "*.mp4,*.jpg "  info Committed first revision 00a0175e3dc5231a OK: output of 'av rev' is correct Inspecting repository for non existing excluded files OK: '/tmp/arcv-test-archive/test project of mine.archive/head/test project of mine/videofile.mp4': not there OK: '/tmp/arcv-test-archive/test project of mine.archive/head/test project of mine/system configs/screenshot.jpg': not there OK: '/tmp/arcv-test-archive/test project of mine.archive/test project of mine.archive0/test project of mine/videofile.mp4': not there OK: '/tmp/arcv-test-archive/test project of mine.archive/test project of mine.archive0/test project of mine/system configs/screenshot.jpg': not there OK: 0 returned by 'av check' Adding another_videofile.mp4 and system configs/another_screenshot.jpg and performing a check OK: 0 returned by 'av check' $ av check --verbose Image is up-to-date. Revision is 0 Adding file C.txt and system configs/sys config2.yml, modifying system configs/sys config1.yml, removing system configs/sys config3.yml $ rm "system configs/sys config3.yml" [!p[?3;4l>[?69l OK: 1 returned by 'av check' $ av check --verbose || true # just for display There are new, deleted, modified files for revision 0 [!p[?3;4l>[?69l [?12l[?25h  info Committed revision 1 signed c1b3912e20f7e848 OK: 0 returned by 'av check' OK: output of 'av rev' is correct OK: '/tmp/arcv-test-archive/test project of mine.archive/head/test project of mine/videofile.mp4': not there OK: '/tmp/arcv-test-archive/test project of mine.archive/head/test project of mine/system configs/screenshot.jpg': not there OK: '/tmp/arcv-test-archive/test project of mine.archive/test project of mine.archive2/test project of mine/videofile.mp4': not there OK: '/tmp/arcv-test-archive/test project of mine.archive/test project of mine.archive2/test project of mine/system configs/screenshot.jpg': not there OK: '/tmp/arcv-test-archive/test project of mine.archive/head/test project of mine/another_videofile.mp4': not there OK: '/tmp/arcv-test-archive/test project of mine.archive/head/test project of mine/system configs/another_screenshot.jpg': not there OK: '/tmp/arcv-test-archive/test project of mine.archive/test project of mine.archive2/test project of mine/another_videofile.mp4': not there OK: '/tmp/arcv-test-archive/test project of mine.archive/test project of mine.archive2/test project of mine/system configs/another_screenshot.jpg': not there $ av co 1 -o /tmp -y task Revision 1 checkout in folder ../../../../tmp/test project of mine-rev1 [ RUNNING ] task Revision 1 checkout in folder ../../../../tmp/test project of mine-rev1 [ OK ] OK: 'c1b3912e20f7e848e27a4cc4b8ea94e22f2024b411b520b08850b5741ed9e2dd' was output by both commands 'av hash' and 'av hash '/tmp/test project of mine-rev1'' OK: 0 returned by 'av diff 0vs0' OK: 0 returned by 'av diff 1vs1' OK: 0 returned by 'av diff headvs1' Perform some diffs COMPARING /home/ubuntu/test-arcv/test project of mine with revision 0 : /tmp/Arcv.tmp.xgeUjK0wNp/test project of mine Only in '/home/ubuntu/test-arcv/test project of mine': 'file C.txt' diff --no-dereference -r '--color=always' -u -X '/tmp/arcv-test-archive/test project of mine.archive/EXCLUDE' "/tmp/Arcv.tmp.xgeUjK0wNp/test project of mine/system configs/sys config1.yml" "/home/ubuntu/test-arcv/test project of mine/system configs/sys config1.yml" --- "/tmp/Arcv.tmp.xgeUjK0wNp/test project of mine/system configs/sys config1.yml" 2026-10-25 20:15:13.000000000 +0100 +++ "/home/ubuntu/test-arcv/test project of mine/system configs/sys config1.yml" 2026-10-25 20:15:18.609841509 +0100 @@ -1 +1,2 @@ param1: 100 +param1: 101 Only in '/home/ubuntu/test-arcv/test project of mine/system configs': 'sys config2.yml' Only in '/tmp/Arcv.tmp.xgeUjK0wNp/test project of mine/system configs': 'sys config3.yml' [!p[?3;4l>[?69l OK: 1 returned by 'av diff 0' , is != of 0 Inspecting changes OK: file C.txt is the same between head folder and revision folder OK: sys config2.yml is the same between head folder and revision folder OK: file C.txt is the same between head folder and original source folder OK: sys config2.yml is the same between head folder and original source folder OK '/tmp/arcv-test-archive/test project of mine.archive/test project of mine.archive1/test project of mine/system configs/sys config1.yml' last line is correct ('param1: 101') Creating branch 'fun project' $ av --silent -yy branch "fun project" info The branch is going to be created in a folder '../fun project' from head revision 1 task Branch creation in folder ../fun project [ RUNNING ] task Branch creation in folder ../fun project [ OK ] task Branch 'fun project' commit in '/home/ubuntu/test-arcv/fun project' [ RUNNING ] task Branch 'fun project' commit in '/home/ubuntu/test-arcv/fun project' [ OK ] OK: '/tmp/arcv-test-archive/fun project.archive/fun project.archive0/fun project/system configs/sys config3.yml': not there OK: '/tmp/arcv-test-archive/fun project.archive/head/fun project/system configs/sys config3.yml': not there OK: '/tmp/arcv-test-archive/fun project.archive/head/fun project/videofile.mp4': not there OK: '/tmp/arcv-test-archive/fun project.archive/head/fun project/system configs/screenshot.jpg': not there OK: '/tmp/arcv-test-archive/fun project.archive/fun project.archive0/fun project/videofile.mp4': not there OK: '/tmp/arcv-test-archive/fun project.archive/fun project.archive0/fun project/system configs/screenshot.jpg': not there OK: '/tmp/arcv-test-archive/fun project.archive/head/fun project/another_videofile.mp4': not there OK: '/tmp/arcv-test-archive/fun project.archive/head/fun project/system configs/another_screenshot.jpg': not there OK: '/tmp/arcv-test-archive/fun project.archive/fun project.archive0/fun project/another_videofile.mp4': not there OK: '/tmp/arcv-test-archive/fun project.archive/fun project.archive0/fun project/system configs/another_screenshot.jpg': not there Checking out rev 0 in '/tmp/test av' task Revision 0 checkout in folder ../../../../tmp/test av/test project of mine-rev0 [ RUNNING ] task Revision 0 checkout in folder ../../../../tmp/test av/test project of mine-rev0 [ OK ] OK 'file A.txt' content is correct ('Test file A') OK 'file B.txt' content is correct ('Test file B') OK 'system configs/sys config1.yml' content is correct ('param1: 100') OK 'system configs/sys config3.yml' content is correct ('param1: 300') OK: 'file C.txt': not there OK: 'system configs/sys config2.yml': not there OK: 'videofile.mp4': not there OK: 'system configs/screenshot.jpg': not there Checking out head in '/tmp/' using explicit source name task Checking out head revision inside '/tmp/test project of mine' [ RUNNING ] task Checking out head revision inside '/tmp/test project of mine' [ OK ] OK: 'system configs/sys config2.yml': present OK: 'system configs/sys config3.yml': not there OK 'file A.txt' content is correct ('Test file A') OK 'system configs/sys config1.yml' last line is correct ('param1: 101') OK: 'videofile.mp4': not there OK: 'system configs/screenshot.jpg': not there OK: 'another_videofile.mp4': not there OK: 'system configs/another_screenshot.jpg': not there [?12l[?25h getshot has finished. info EXECUTING PLAN 'init' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN init Initiate a revision control STEP 1 10/25/26 20:15 Example of putting a source folder under revision control $ ls -l . total 8 -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:15 file_A.txt -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:15 file_B.txt $ arcv -yy [?12l[?25h  info Committed first revision b9af43acfba28886 OK: output of 'av rev' is correct $ av rev 0 $ av log 0 2026-10-25 20:15:37 Creation $ av log --verbose 0 2026-10-25 20:15:37 Creation file_A.txt file_B.txt Operation finished. $ av info SRC: /home/ubuntu/test-arcv/test-project info REV: 0 (hash b9af43acfba288860f9566cf999233cca4a3345217d351534f89f0ba13bfa11f) info No change in source [?12l[?25h getshot has finished. info EXECUTING PLAN 'addfiles' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN addfiles Check-in a new file STEP 1 10/25/26 20:15 Example of check-in of a new file $ echo "This is a new test report" > "test_report.txt" $ arcv check --verbose && _exit -1 "Error: no change detected and should have" || echo "OK change detected" There are new files for revision 0 [!p[?3;4l>[?69l OK change detected $ arcv -y -m "added test report" info SRC: /home/ubuntu/test-arcv/test-project info REV: 0 (hash b9af43acfba288860f9566cf999233cca4a3345217d351534f89f0ba13bfa11f) New: test_report.txt Previous logs: 0 2026-10-25 20:15:37 Creation Commit: Folder /home/ubuntu/test-arcv/test-project is going to backed up as revision 1 inside: /tmp/arcv-test-archive/test-project.archive/test-project.archive1 info Committed revision 1 signed 3b6e97f5be3169c8 $ arcv check --verbose || _exit -1 "Error: change detected and shouldn't have" Image is up-to-date. Revision is 1 OK: output of 'av rev' is correct $ av log 1 2026-10-25 20:15:44 added test report 0 2026-10-25 20:15:37 Creation Inspecting repository revision folder OK: '/tmp/arcv-test-archive/test-project.archive/test-project.archive1/test-project/file_A.txt': not there OK: '/tmp/arcv-test-archive/test-project.archive/test-project.archive1/test-project/file_B.txt': not there OK '/tmp/arcv-test-archive/test-project.archive/test-project.archive1/test-project/test_report.txt' content is correct ('This is a new test report') $ av rev 1 $ av log --verbose 1 2026-10-25 20:15:44 added test report test_report.txt 0 2026-10-25 20:15:37 Creation file_A.txt file_B.txt Operation finished. [?12l[?25h getshot has finished. info EXECUTING PLAN 'removefiles' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN removefiles Check-in a file for deletion STEP 1 10/25/26 20:15 Example of check-in a new file for deletion $ rm file_A.txt $ arcv check --verbose && _exit -1 "Error: no change detected and should have" || echo "OK change detected" There are deleted files for revision 1 [!p[?3;4l>[?69l OK change detected $ arcv -y -m "Removed file A" info SRC: /home/ubuntu/test-arcv/test-project info REV: 1 (hash 3b6e97f5be3169c803d4393736c686eb20529866c4d5820980a776121f8ddd67) Deleted: file_A.txt Previous logs: 1 2026-10-25 20:15:44 added test report 0 2026-10-25 20:15:37 Creation Commit: Folder /home/ubuntu/test-arcv/test-project is going to backed up as revision 2 inside: /tmp/arcv-test-archive/test-project.archive/test-project.archive2 info Committed revision 2 signed 1bdf8ea9c313ae95 $ arcv check --verbose || _exit -1 "Error: change detected and shouldn't have" Image is up-to-date. Revision is 2 OK: output of 'av rev' is correct Inspecting repository revision folder OK: '/tmp/arcv-test-archive/test-project.archive/test-project.archive2/test-project/file_A.txt': not there OK: '/tmp/arcv-test-archive/test-project.archive/test-project.archive2/test-project/file_B.txt': not there OK: '/tmp/arcv-test-archive/test-project.archive/test-project.archive2/test-project/test_report.txt': not there OK '/tmp/arcv-test-archive/test-project.archive/test-project.archive2/DROPPED' content is correct ('- /file_A.txt') $ av rev 2 $ av log --verbose 2 2026-10-25 20:15:52 Removed file A file_A.txt 1 2026-10-25 20:15:44 added test report test_report.txt 0 2026-10-25 20:15:37 Creation file_A.txt file_B.txt Operation finished. [?12l[?25h getshot has finished. info EXECUTING PLAN 'modifyfiles' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN modifyfiles Check-in a modified file STEP 1 10/25/26 20:15 Example of check-in of a modified file $ echo "Test result is OK" >> "test_report.txt" There are modified files for revision 2 [!p[?3;4l>[?69l OK change detected $ arcv -y -m "Update report with test result" info SRC: /home/ubuntu/test-arcv/test-project info REV: 2 (hash 1bdf8ea9c313ae95a4c1b7199fc0582f797133b88669ec235dc4c4e74b70cf6a) Changed: test_report.txt Previous logs: 2 2026-10-25 20:15:52 Removed file A 1 2026-10-25 20:15:44 added test report 0 2026-10-25 20:15:37 Creation Commit: Folder /home/ubuntu/test-arcv/test-project is going to backed up as revision 3 inside: /tmp/arcv-test-archive/test-project.archive/test-project.archive3 info Committed revision 3 signed 34933d38da098c2a $ arcv check --verbose || _exit -1 "Error: change detected and shouldn't have" Image is up-to-date. Revision is 3 OK: output of 'av rev' is correct Inspecting repository revision folder OK '/tmp/arcv-test-archive/test-project.archive/test-project.archive3/test-project/test_report.txt' last line is correct ('Test result is OK') OK: '/tmp/arcv-test-archive/test-project.archive/test-project.archive3/test-project/file_A.txt': not there OK: '/tmp/arcv-test-archive/test-project.archive/test-project.archive3/test-project/file_B.txt': not there $ av rev 3 $ av log --verbose 3 2026-10-25 20:15:59 Update report with test result test_report.txt 2 2026-10-25 20:15:52 Removed file A file_A.txt 1 2026-10-25 20:15:44 added test report test_report.txt 0 2026-10-25 20:15:37 Creation file_A.txt file_B.txt Operation finished. [?12l[?25h getshot has finished. info EXECUTING PLAN 'checkoutrev' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkoutrev Checkout a revision STEP 1 10/25/26 20:16 Example of check-out of a revision Image is up-to-date. Revision is 3 $ av co 0 -o /tmp task Revision 0 checkout in folder ../../../../tmp/test-project-rev0 [ RUNNING ] task Revision 0 checkout in folder ../../../../tmp/test-project-rev0 [ OK ] file_A.txt file_B.txt OK 'file_A.txt' content is correct ('Test file A') OK 'file_B.txt' content is correct ('Test file B') Image is up-to-date. Revision is 3 [?12l[?25h getshot has finished. info EXECUTING PLAN 'checkoutfile' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkoutfile Checkout a file from head revision to restore it after modification STEP 1 10/25/26 20:16 Example of restoring a modified file from head revision $ cat "test_report.txt" This is a new test report Test result is OK $ echo "Line with errors" >> "test_report.txt" There are modified files for revision 3 [!p[?3;4l>[?69l OK change detected OK 'test_report.txt' last line is correct ('Line with errors') $ arcv -y co "test_report.txt" old file saved to '/tmp/arcv-test-archive/test-project.archive/dropped/.#modified.3.20261025-2016.test_report.txt' info Successfully restored test_report.txt from revison 3 OK: output of 'av rev' is correct OK 'test_report.txt' last line is correct ('Test result is OK') $ arcv co "test_report.txt" info /home/ubuntu/test-arcv/test-project/test_report.txt is already up-to-date Image is up-to-date. Revision is 3 OK 'test_report.txt' last line is correct ('Test result is OK') [?12l[?25h getshot has finished. info EXECUTING PLAN 'checkoutfilefromrev' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkoutfilefromrev Checkout a file from a specific revision STEP 1 10/25/26 20:16 Example of check-out of a modified file from a random revision $ cat "test_report.txt" This is a new test report Test result is OK Restoring revision 1 containing only first line $ arcv -y co "test_report.txt:1" old file saved to '/tmp/arcv-test-archive/test-project.archive/dropped/.#modified.3.20261025-2016.test_report.txt' info Successfully restored test_report.txt from revison 1 OK 'test_report.txt' last line is correct ('This is a new test report') Testing checkout scenario with invalid revision numbers OK it was detected revision 0 does not exist for the file OK it was detected revision 100 does not exist for the file Restoring back head revision containing the 2 lines $ arcv -y co "test_report.txt" old file saved to '/tmp/arcv-test-archive/test-project.archive/dropped/.#modified.3.20261025-2016.test_report.txt' info Successfully restored test_report.txt from revison 3 OK 'test_report.txt' last line is correct ('Test result is OK') [?12l[?25h getshot has finished. info EXECUTING PLAN 'checkoutdirfromrev' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkoutdirfromrev Checkout a subfolder to restore it after modification STEP 1 10/25/26 20:16 Example of check-out of a modified subfolder Adding and committing subfolder named 'subdir' plus file_D.txt below with line 'This is file D' There are new files for revision 3 [!p[?3;4l>[?69l OK change detected [?12l[?25h  info Committed revision 4 signed 9ca83100a92029a1 Adding extra line for file_D.txt [?12l[?25h  info Committed revision 5 signed c02d5a1e77dd42c3 Checking out initial version of 'subdir' $ arcv -y co subdir:$(( $(av rev) - 1)) info Successfully restored subdir from revison 4 OK 'subdir/file_D.txt' last line is correct ('This is file D') Checking out latest version of 'subdir' $ arcv -y co subdir info Successfully restored subdir from revison 5 OK 'subdir/file_D.txt' last line is correct ('Extra line for file D') [?12l[?25h getshot has finished. info EXECUTING PLAN 'checkoutreltag' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkoutreltag Checkout a release from a release tag STEP 1 10/25/26 20:16 Example of check-out of a release $ echo "This is a new test report" > "test_report.txt"  info Committed revision 6 signed d3a5c2cdecae34ea $ av -yy pub -m "A test release 1.0.0" || _exit -1 "Failed to create release tag" info SRC: /home/ubuntu/test-arcv/test-project info REV: 5 (hash d3a5c2cdecae34eaf23e26266cfd548d69090adbca75f2c7083b93bccebc69a3) info No change in source  info Committed revision 7 signed f0e6e3ac9689c5a7 info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 7 Now applying changes after tag: remove file_B.txt and add extra line to test_report.txt $ rm file_B.txt $ echo "Extended test report" >> "test_report.txt"  info Committed revision 8 signed 74a7228230183a51 Checking out tagged release 1.0.0 and checking sources for correcness (file_A.txt deleted in previous test) $ av co R1.0.0 -o /tmp task Release R1.0.0 checkout in folder ../../../../tmp/test-project-R1.0.0 [ RUNNING ] task Release R1.0.0 checkout in folder ../../../../tmp/test-project-R1.0.0 [ OK ] Image is up-to-date. Revision is 8 $ ls /tmp/test-project-R1.0.0 VERSION.txt file_B.txt subdir test_report.txt OK: 'file_A.txt': not there OK 'file_B.txt' content is correct ('Test file B') OK 'test_report.txt' content is correct ('This is a new test report') [?12l[?25h getshot has finished. info EXECUTING PLAN 'checkoutfile_with_removed_files' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkoutfile_with_removed_files Checkout a revision by its number STEP 1 10/25/26 20:16 Example of checkout of a revision containing anterior commits with removed files [?12l[?25h   info Committed first revision 5a80b24af716b128  info Committed revision 1 signed 2bb2118c3a6ee89e  info Committed revision 2 signed 5a80b24af716b128  info Committed revision 3 signed bfd1fedf1e16d57e  info Committed revision 4 signed 7a3bee580ce2ed5f $ av log 4 2026-10-25 20:16:47 Added line to file A 3 2026-10-25 20:16:46 Removed test file B 2 2026-10-25 20:16:45 Removed test report 1 2026-10-25 20:16:44 Added test report 0 2026-10-25 20:16:42 Creation $ av co 3 -o /tmp || _exit -1 "Error: check out failed" task Revision 3 checkout in folder ../../../../tmp/test-project-rev3 [ RUNNING ] task Revision 3 checkout in folder ../../../../tmp/test-project-rev3 [ OK ] OK: '/tmp/test-project-rev3/test_report.txt': not there OK: '/tmp/test-project-rev3/file_B.txt': not there OK '/tmp/test-project-rev3/file_A.txt' last line is correct ('Test file A') $ av co 4 -o /tmp || _exit -1 "Error: check out failed" task Revision 4 checkout in folder ../../../../tmp/test-project-rev4 [ RUNNING ] task Revision 4 checkout in folder ../../../../tmp/test-project-rev4 [ OK ] OK: '/tmp/test-project-rev3/test_report.txt': not there OK: '/tmp/test-project-rev3/file_B.txt': not there OK '/tmp/test-project-rev4/file_A.txt' last line is correct ('A new line for file A. OK.') [?12l[?25h getshot has finished. info EXECUTING PLAN 'displayrev' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN displayrev Display current revision STEP 1 10/25/26 20:16 Example of showing current revision OK: output of 'av rev' is correct $ av rev 4 $ av log 4 2026-10-25 20:16:47 Added line to file A 3 2026-10-25 20:16:46 Removed test file B 2 2026-10-25 20:16:45 Removed test report 1 2026-10-25 20:16:44 Added test report 0 2026-10-25 20:16:42 Creation [?12l[?25h getshot has finished. info EXECUTING PLAN 'checkoutheadrev' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkoutheadrev Checkout head revision into the current source STEP 1 10/25/26 20:16 Example of checkout of all head revision files [?12l[?25h   info Committed first revision 4690d53257efc8b8 $ rm file_B.txt $ echo "A new line for file A. OK." >> "file_A.txt" $ arcv check --verbose && _exit -1 "Error: no change detected and should have" || echo "OK change detected" Permission-only change:  There are deleted, modified files for revision 0 [!p[?3;4l>[?69l OK change detected Diffing, pls check manually $ av diff || true COMPARING /home/ubuntu/test-arcv/test-project with revision head : /tmp/arcv-test-archive/test-project.archive/head/test-project diff --no-dereference -r '--color=always' -u -X /tmp/arcv-test-archive/test-project.archive/EXCLUDE /tmp/arcv-test-archive/test-project.archive/head/test-project/file_A.txt /home/ubuntu/test-arcv/test-project/file_A.txt --- /tmp/arcv-test-archive/test-project.archive/head/test-project/file_A.txt 2026-10-25 20:16:58.000000000 +0100 +++ /home/ubuntu/test-arcv/test-project/file_A.txt 2026-10-25 20:16:59.266683289 +0100 @@ -1 +1,2 @@ Test file A +A new line for file A. OK. Only in /tmp/arcv-test-archive/test-project.archive/head/test-project: file_B.txt [!p[?3;4l>[?69l Checking out head revision $ av -y co || _exit -1 "Error: check out head revision failed" task Updating current working directory with head revision [ RUNNING ] task Updating current working directory with head revision [ OK ] Inspecting checked out files $ ls -l total 8 -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:16 file_A.txt -rw-r--r-- 1 ubuntu ubuntu 12 Oct 25 20:16 file_B.txt OK 'file_A.txt' content is correct ('Test file A') OK 'file_B.txt' content is correct ('Test file B') [?12l[?25h getshot has finished. info EXECUTING PLAN 'checkoutsource' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkoutsource Checkout any source folder stored in the repository in a random location STEP 1 10/25/26 20:17 Example of checkout of head revision of a test project into the current directory [?12l[?25h   info Committed first revision e53499bbce42be25 info SRC: /home/ubuntu/test-arcv/test-project info test-project is the first archived version info No change in source  info Committed revision 1 signed 74800b942de67523 info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 1 info Successfully restored VERSION.txt from revison 1 $ echo "Additional line for file A" >> file_A.txt $ echo "Additional line for file B" >> file_B.txt  info Committed revision 2 signed 9845fdb88ccba892 $ echo "This is file C" > "file_C.txt"  info Committed revision 3 signed e395992b9c66ea29 Change directory to /home/ubuntu/checkoutsource-test-folder Checking out source from repo $ av -y co --source=test-project || _exit -1 "Error: check out head revision failed" task Checking out head revision inside '/home/ubuntu/checkoutsource-test-folder/test-project' [ RUNNING ] task Checking out head revision inside '/home/ubuntu/checkoutsource-test-folder/test-project' [ OK ] OK 'test-project/file_A.txt' last line is correct ('Additional line for file A') OK 'test-project/file_B.txt' last line is correct ('Additional line for file B') $ Test__assertFilesShouldExist "test-project/file_C.txt" OK: 'test-project/file_C.txt': present [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkoutsource Checkout any source folder stored in the repository in a random location STEP 2 10/25/26 20:17 Example of checkout of a tagged release of a test project into the current directory Change directory to /home/ubuntu/checkoutsource-test-folder $ av -y co R1.0.0 --source=test-project || _exit -1 "Error: check out head revision failed" task Release R1.0.0 checkout in folder test-project-R1.0.0 [ RUNNING ] task Release R1.0.0 checkout in folder test-project-R1.0.0 [ OK ] OK 'test-project-R1.0.0/file_A.txt' content is correct ('Test file A') OK 'test-project-R1.0.0/file_B.txt' content is correct ('Test file B') $ Test__assertFilesShouldNotExist "test-project-R1.0.0/file_C.txt" OK: 'test-project-R1.0.0/file_C.txt': not there [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkoutsource Checkout any source folder stored in the repository in a random location STEP 3 10/25/26 20:17 Example of checkout of a specific revision of a test project into the current directory Change directory to /home/ubuntu/checkoutsource-test-folder $ av -y co 2 --source=test-project || _exit -1 "Error: check out head revision failed" task Revision 2 checkout in folder test-project-rev2 [ RUNNING ] task Revision 2 checkout in folder test-project-rev2 [ OK ] OK 'test-project/file_A.txt' last line is correct ('Additional line for file A') OK 'test-project/file_B.txt' last line is correct ('Additional line for file B') $ Test__assertFilesShouldNotExist "test-project-rev2/file_C.txt" OK: 'test-project-rev2/file_C.txt': not there [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkoutsource Checkout any source folder stored in the repository in a random location STEP 4 10/25/26 20:17 Example of checkout of head revision of a test project into a specific output folder [?12l[?25h   info Committed first revision 1e74331ce47b22e1 info SRC: /home/ubuntu/test-arcv/test-project info test-project is the first archived version info No change in source  info Committed revision 1 signed c7fb9864b1eddace info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 1 info Successfully restored VERSION.txt from revison 1 $ echo "Additional line for file A" >> file_A.txt $ echo "Additional line for file B" >> file_B.txt  info Committed revision 2 signed 1e46a485ea369b5a $ av -y co --source=test-project -o /tmp || _exit -1 "Error: check out head revision failed" task Checking out head revision inside '/tmp/test-project' [ RUNNING ] task Checking out head revision inside '/tmp/test-project' [ OK ] OK '/tmp/test-project/file_A.txt' last line is correct ('Additional line for file A') OK '/tmp/test-project/file_B.txt' last line is correct ('Additional line for file B') [?12l[?25h getshot has finished. info EXECUTING PLAN 'source-uri' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN source-uri Manage revision control of data fetched from a MongoDB URI STEP 1 10/25/26 20:17 Example of fetching a MongoDB dump from a random URI into a source folder without any revision control $ av -y --source=mongodb://192.168.0.12:27018/slashetc --fetch-only || _exit -1 "Error: fetch from mongodb URI failed" task Fetching mongodb://192.168.0.12:27018/slashetc into 'mongodb-slashetc@192.168.0.12-27018' [ RUNNING ] task Fetching mongodb://192.168.0.12:27018/slashetc into 'mongodb-slashetc@192.168.0.12-27018' [ OK ] The source 'mongodb-slashetc@192.168.0.12-27018' was not added to the repository. To do so type 'av' inside the created folder, or call the same command with '--fetch' option. OK: '/tmp/mongodb-slashetc@192.168.0.12-27018/mongo-db-slashetc.gz': present $ Test__assertFileSizeGreaterThan "/tmp/mongodb-slashetc@192.168.0.12-27018/mongo-db-slashetc.gz" 0 OK '/tmp/mongodb-slashetc@192.168.0.12-27018/mongo-db-slashetc.gz' size 27843 > 0 [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN source-uri Manage revision control of data fetched from a MongoDB URI STEP 2 10/25/26 20:17 Example of initiating revision control for a MongoDB dump fetched from an URI $ av -y --source=mongodb://192.168.0.12:27018/slashetc --fetch || _exit -1 "Error: check in of mongodb URI failed" task Fetching mongodb://192.168.0.12:27018/slashetc into 'mongodb-slashetc@192.168.0.12-27018' [ RUNNING ] task Fetching mongodb://192.168.0.12:27018/slashetc into 'mongodb-slashetc@192.168.0.12-27018' [ OK ] task Creating 'mongodb-slashetc@192.168.0.12-27018' in repository [ RUNNING ] task Creating 'mongodb-slashetc@192.168.0.12-27018' in repository [ OK ] OK: '/tmp/mongodb-slashetc@192.168.0.12-27018/mongo-db-slashetc.gz': present OK '/tmp/mongodb-slashetc@192.168.0.12-27018/mongo-db-slashetc.gz' size 27808 > 0 OK: output of 'av rev' is correct OK: 0 returned by 'av check' COMPARING /tmp/mongodb-slashetc@192.168.0.12-27018 with revision head : /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/head/mongodb-slashetc@192.168.0.12-27018 OK: 0 returned by 'av diff' [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN source-uri Manage revision control of data fetched from a MongoDB URI STEP 3 10/25/26 20:17 Example of adding a new revision directly from the MongoDB URI without requiring an existing local source $ Test__assertChangeDir "/tmp/" $ av -y --source=mongodb://192.168.0.12:27018/slashetc --fetch || _exit -1 "Error: check in of mongodb URI failed" info SRC: /tmp/mongodb-slashetc@192.168.0.12-27018 info REV: 0 (hash 79305c44e5201cc075bd6841d10d62106f1decef32d677d7485f94081c91d573) task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ RUNNING ] task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ OK ] Changed: mongo-db-slashetc.gz Previous logs: 0 2026-10-25 20:17:41 Creation Commit: Folder /tmp/mongodb-slashetc@192.168.0.12-27018 is going to backed up as revision 1 inside: /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive1 [?12l[?25h info Committed revision 1 signed b28f596a7da637c0 OK: '/tmp/mongodb-slashetc@192.168.0.12-27018/mongo-db-slashetc.gz': present OK '/tmp/mongodb-slashetc@192.168.0.12-27018/mongo-db-slashetc.gz' size 27012 > 0 OK: output of 'av rev' is correct OK: 0 returned by 'av check' COMPARING /tmp/mongodb-slashetc@192.168.0.12-27018 with revision head : /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/head/mongodb-slashetc@192.168.0.12-27018 OK: 0 returned by 'av diff' [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN source-uri Manage revision control of data fetched from a MongoDB URI STEP 4 10/25/26 20:17 Example of adding a new revision from an existing local source folder by explictly requesting to fetch a new dump $ av -y -m "database update" --fetch || _exit -1 "Error: check in of mongodb URI failed" info SRC: /tmp/mongodb-slashetc@192.168.0.12-27018 info REV: 1 (hash b28f596a7da637c0d60f7426542b2b9aae066c6091eca447145b735594c019a2) task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ RUNNING ] task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ OK ] Changed: mongo-db-slashetc.gz Previous logs: 1 2026-10-25 20:17:48 Changed: mongo-db-slashetc.gz 0 2026-10-25 20:17:41 Creation Commit: Folder /tmp/mongodb-slashetc@192.168.0.12-27018 is going to backed up as revision 2 inside: /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive2 info Committed revision 2 signed 9723938e102e2fb9 OK: '/tmp/mongodb-slashetc@192.168.0.12-27018/mongo-db-slashetc.gz': present OK '/tmp/mongodb-slashetc@192.168.0.12-27018/mongo-db-slashetc.gz' size 27881 > 0 OK: output of 'av rev' is correct OK: 0 returned by 'av check' COMPARING /tmp/mongodb-slashetc@192.168.0.12-27018 with revision head : /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/head/mongodb-slashetc@192.168.0.12-27018 OK: 0 returned by 'av diff' OK: 'av changelog --fmt=plain|filter-changelog.sh' output is correct [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN source-uri Manage revision control of data fetched from a MongoDB URI STEP 5 10/25/26 20:18 Example of creating a new revision directly from the MongoDB URI and cleaning up the folder afterwards $ Test__assertChangeDir "/tmp/" $ av -y --source=mongodb://192.168.0.12:27018/slashetc --fetch --rm || _exit -1 "Error: check in of mongodb URI failed" info SRC: /tmp/mongodb-slashetc@192.168.0.12-27018 info REV: 2 (hash 9723938e102e2fb9017d2e72ab7f408c33d2acb713f3fc9e619037a79f47da8e) task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ RUNNING ] task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ OK ] Changed: mongo-db-slashetc.gz Previous logs: 2 2026-10-25 20:17:55 database update 1 2026-10-25 20:17:48 Changed: mongo-db-slashetc.gz 0 2026-10-25 20:17:41 Creation Commit: Folder /tmp/mongodb-slashetc@192.168.0.12-27018 is going to backed up as revision 3 inside: /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive3 [?12l[?25h info Committed revision 3 signed ae19960998b3b4b3 task Cleaning up folder 'mongodb-slashetc@192.168.0.12-27018' [ RUNNING ] task Cleaning up folder 'mongodb-slashetc@192.168.0.12-27018' [ OK ] OK: '/tmp/mongodb-slashetc@192.168.0.12-27018': not there OK: output of 'av list|filter-sourcelist.sh mongodb-slashetc@192.168.0.12-27018' is correct [?12l[?25h getshot has finished. info EXECUTING PLAN 'push-uri' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN push-uri Pushing back/restoring data fetched from a MongoDB URI under revision control STEP 1 10/25/26 20:18 Example of initiating revision control for a MongoDB dump fetched from an URI $ av -y --silent --source=mongodb://192.168.0.12:27018/slashetc --fetch || _exit -1 "Error: check in of mongodb URI failed" task Fetching mongodb://192.168.0.12:27018/slashetc into 'mongodb-slashetc@192.168.0.12-27018' [ RUNNING ] task Fetching mongodb://192.168.0.12:27018/slashetc into 'mongodb-slashetc@192.168.0.12-27018' [ OK ] task Creating 'mongodb-slashetc@192.168.0.12-27018' in repository [ RUNNING ] task Creating 'mongodb-slashetc@192.168.0.12-27018' in repository [ OK ] $ av -y --silent --fetch || _exit -1 "Error: check in of mongodb URI failed" task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ RUNNING ] task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ OK ] [?12l[?25h  info Committed revision 1 signed 6aba64fc3b4a0389 $ av -yy pub -m "1.0.0 from rev 1" info SRC: /tmp/mongodb-slashetc@192.168.0.12-27018 info REV: 0 (hash 6aba64fc3b4a03895408fe579cc2e72ebf54f0b7ec796fbca48b24b63d0641d5) info No change in source  info Committed revision 2 signed e34c04d6da3349b2 info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 2 $ av -y --silent --fetch || _exit -1 "Error: check in of mongodb URI failed" task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ RUNNING ] task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ OK ] [?12l[?25h  info Committed revision 3 signed 65440cc60d6bc8b3 $ av push -y task Pushing data into 'mongodb://192.168.0.12:27018/slashetc' [ RUNNING ] task Pushing data into 'mongodb://192.168.0.12:27018/slashetc' [ OK ] $ av -y push 1 task Revision 1 checkout in folder mongodb-slashetc@192.168.0.12-27018-rev1 [ RUNNING ] task Revision 1 checkout in folder mongodb-slashetc@192.168.0.12-27018-rev1 [ OK ] task Pushing data into 'mongodb://192.168.0.12:27018/slashetc' [ RUNNING ] task Pushing data into 'mongodb://192.168.0.12:27018/slashetc' [ OK ] $ av -y push R1.0.0 task Release R1.0.0 checkout in folder mongodb-slashetc@192.168.0.12-27018-R1.0.0 [ RUNNING ] task Release R1.0.0 checkout in folder mongodb-slashetc@192.168.0.12-27018-R1.0.0 [ OK ] task Pushing data into 'mongodb://192.168.0.12:27018/slashetc' [ RUNNING ] task Pushing data into 'mongodb://192.168.0.12:27018/slashetc' [ OK ] $ av -y --source=mongodb://192.168.0.12:27018/slashetc push R1.0.0 task Release R1.0.0 checkout in folder mongodb-slashetc@192.168.0.12-27018-R1.0.0 [ RUNNING ] task Release R1.0.0 checkout in folder mongodb-slashetc@192.168.0.12-27018-R1.0.0 [ OK ] task Pushing data into 'mongodb://192.168.0.12:27018/slashetc' [ RUNNING ] task Pushing data into 'mongodb://192.168.0.12:27018/slashetc' [ OK ] [?12l[?25h getshot has finished. info EXECUTING PLAN 'circular' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN circular Circular revisions STEP 1 10/25/26 20:18 Example of committing revisions with a circular history $ Test__assertChangeDir "/tmp/" task Fetching mongodb://192.168.0.12:27018/slashetc into 'mongodb-slashetc@192.168.0.12-27018' [ RUNNING ] task Fetching mongodb://192.168.0.12:27018/slashetc into 'mongodb-slashetc@192.168.0.12-27018' [ OK ] task Creating 'mongodb-slashetc@192.168.0.12-27018' in repository [ RUNNING ] task Creating 'mongodb-slashetc@192.168.0.12-27018' in repository [ OK ]  info Committed revision 1 signed ff41fcfede69454a OK '/tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive1/mongodb-slashetc@192.168.0.12-27018/file_1.txt' content is correct ('file 1') OK: output of 'ls -1 /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive1/mongodb-slashetc@192.168.0.12-27018' is correct  info Committed revision 2 signed c1f5221c1d785fcb OK '/tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive2/mongodb-slashetc@192.168.0.12-27018/file_2.txt' content is correct ('file 2') OK: output of 'pushd /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive2/mongodb-slashetc@192.168.0.12-27018/ &>/dev/null && ls -1 file_*|xargs echo && popd &>/dev/null' is correct task Removing antic revision 0 [ RUNNING ] task Removing antic revision 0 [ OK ]  info Committed revision 0 signed 5ef22a6d37410967 OK '/tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive0/mongodb-slashetc@192.168.0.12-27018/file_3.txt' content is correct ('file 3') OK: output of 'pushd /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive0/mongodb-slashetc@192.168.0.12-27018/ &>/dev/null && ls -1 file_*|xargs echo && popd &>/dev/null' is correct OK: '/tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive3': not there task Removing antic revision 1 [ RUNNING ] task Removing antic revision 1 [ OK ]  info Committed revision 1 signed f3945e7761fe7262 OK '/tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive1/mongodb-slashetc@192.168.0.12-27018/file_4.txt' content is correct ('file 4') OK: output of 'pushd /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive1/mongodb-slashetc@192.168.0.12-27018/ &>/dev/null && ls -1 file_*|xargs echo && popd &>/dev/null' is correct task Removing antic revision 2 [ RUNNING ] task Removing antic revision 2 [ OK ]  info Committed revision 2 signed f6166a062d3ca2b4 OK '/tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive2/mongodb-slashetc@192.168.0.12-27018/file_5.txt' content is correct ('file 5') OK: output of 'pushd /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive2/mongodb-slashetc@192.168.0.12-27018/ &>/dev/null && ls -1 file_*|xargs echo && popd &>/dev/null' is correct task Removing antic revision 0 [ RUNNING ] task Removing antic revision 0 [ OK ]  info Committed revision 0 signed 5ffcb126629d5acd OK '/tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive0/mongodb-slashetc@192.168.0.12-27018/file_6.txt' content is correct ('file 6') OK: output of 'pushd /tmp/arcv-test-archive/mongodb-slashetc@192.168.0.12-27018.archive/mongodb-slashetc@192.168.0.12-27018.archive0/mongodb-slashetc@192.168.0.12-27018/ &>/dev/null && ls -1 file_*|xargs echo && popd &>/dev/null' is correct [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN circular Circular revisions STEP 2 10/25/26 20:18 Example of checking out head of a source with circular history $ Test__assertChangeDir "/tmp/" $ av -o /tmp --source=mongodb-slashetc@192.168.0.12-27018 co task Checking out head revision inside '/tmp/mongodb-slashetc@192.168.0.12-27018' [ RUNNING ] task Checking out head revision inside '/tmp/mongodb-slashetc@192.168.0.12-27018' [ OK ] OK '/tmp/mongodb-slashetc@192.168.0.12-27018/file_1.txt' content is correct ('file 1') OK '/tmp/mongodb-slashetc@192.168.0.12-27018/file_2.txt' content is correct ('file 2') OK '/tmp/mongodb-slashetc@192.168.0.12-27018/file_3.txt' content is correct ('file 3') OK '/tmp/mongodb-slashetc@192.168.0.12-27018/file_4.txt' content is correct ('file 4') OK '/tmp/mongodb-slashetc@192.168.0.12-27018/file_5.txt' content is correct ('file 5') OK '/tmp/mongodb-slashetc@192.168.0.12-27018/file_6.txt' content is correct ('file 6') [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN circular Circular revisions STEP 3 10/25/26 20:18 Example of checking out a specific revision of a source with circular history $ Test__assertChangeDir "/tmp/" $ av -y -o /tmp --source=mongodb-slashetc@192.168.0.12-27018 co 0 task Revision 0 checkout in folder mongodb-slashetc@192.168.0.12-27018-rev0 [ RUNNING ] task Revision 0 checkout in folder mongodb-slashetc@192.168.0.12-27018-rev0 [ OK ] OK: output of 'pushd /tmp/mongodb-slashetc@192.168.0.12-27018-rev0 &>/dev/null && ls -1 file_*|xargs echo && popd &>/dev/null' is correct $ av -y -o /tmp --source=mongodb-slashetc@192.168.0.12-27018 co 2 task Revision 2 checkout in folder mongodb-slashetc@192.168.0.12-27018-rev2 [ RUNNING ] task Revision 2 checkout in folder mongodb-slashetc@192.168.0.12-27018-rev2 [ OK ] OK: output of 'pushd /tmp/mongodb-slashetc@192.168.0.12-27018-rev2 &>/dev/null && ls -1 file_*|xargs echo && popd &>/dev/null' is correct task Removing antic revision 1 [ RUNNING ] task Removing antic revision 1 [ OK ]  info Committed revision 1 signed a583b010b332aa46 $ av -y -o /tmp --source=mongodb-slashetc@192.168.0.12-27018 co 1 task Revision 1 checkout in folder ../mongodb-slashetc@192.168.0.12-27018-rev1 [ RUNNING ] task Revision 1 checkout in folder ../mongodb-slashetc@192.168.0.12-27018-rev1 [ OK ] OK: output of 'pushd /tmp/mongodb-slashetc@192.168.0.12-27018-rev1 &>/dev/null && ls -1 file_*|xargs echo && popd &>/dev/null' is correct [?12l[?25h getshot has finished. info EXECUTING PLAN 'circular-save' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN circular-save Circular revisions with cycles backup STEP 1 10/25/26 20:18 Example of circular revisions with a cycle backup $ Test__assertChangeDir "/tmp/" task Fetching mongodb://192.168.0.12:27018/slashetc into 'mongodb-slashetc@192.168.0.12-27018' [ RUNNING ] task Fetching mongodb://192.168.0.12:27018/slashetc into 'mongodb-slashetc@192.168.0.12-27018' [ OK ] task Creating 'mongodb-slashetc@192.168.0.12-27018' in repository [ RUNNING ] task Creating 'mongodb-slashetc@192.168.0.12-27018' in repository [ OK ] Creating the source with a revision cycle of 3 with cycle backup [?12l[?25h  info Committed revision 1 signed aa5f32d6db71e9f7 [?12l[?25h  info Committed revision 2 signed 8b2de17a775b71d0 task Performing cycle backup [ RUNNING ] task Performing cycle backup [ OK ] [?12l[?25h task Removing antic revision 0 [ RUNNING ] task Removing antic revision 0 [ OK ]  info Committed revision 0 signed f7984998255f8586 task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ RUNNING ] task Updating by fetching 'mongodb://192.168.0.12:27018/slashetc' [ OK ] [?12l[?25h task Removing antic revision 1 [ RUNNING ] task Removing antic revision 1 [ OK ]  info Committed revision 1 signed d8d6284d3ad4babe [?12l[?25h task Removing antic revision 2 [ RUNNING ] task Removing antic revision 2 [ OK ]  info Committed revision 2 signed d677e10f37a58097 task Performing cycle backup [ RUNNING ] task Performing cycle backup [ OK ] [?12l[?25h task Removing antic revision 0 [ RUNNING ] task Removing antic revision 0 [ OK ]  info Committed revision 0 signed 107e3876788f4f49 OK: output of 'av rev' is correct OK: mongo-db-slashetc.gz is the same between rev 0 and rev1 OK: mongo-db-slashetc.gz is the same between rev 0 and rev2 OK: mongo-db-slashetc.gz is the same between rev 0 and cycle rev1 OK: mongo-db-slashetc.gz is not the same between rev 0 and cycle rev0 $ av co 0 --source="mongodb-slashetc@192.168.0.12-27018-cycles" -o /tmp task Revision 0 checkout in folder ../mongodb-slashetc@192.168.0.12-27018-cycles-rev0 [ RUNNING ] task Revision 0 checkout in folder ../mongodb-slashetc@192.168.0.12-27018-cycles-rev0 [ OK ] $ av co --source="mongodb-slashetc@192.168.0.12-27018-cycles" -o /tmp task Checking out head revision inside '/tmp/mongodb-slashetc@192.168.0.12-27018-cycles' [ RUNNING ] task Checking out head revision inside '/tmp/mongodb-slashetc@192.168.0.12-27018-cycles' [ OK ] info No change in source OK: 0 returned by 'av -y --silent' OK: output of 'av rev' is correct OK: output of 'ls -1 .|xargs echo' is correct OK 'cycle_0_rev0.txt' content is correct ('0_0') OK 'cycle_0_rev1.txt' content is correct ('0_1') OK 'cycle_0_rev2.txt' content is correct ('0_2') OK 'cycle_1_rev0.txt' content is correct ('1_0') OK 'cycle_1_rev1.txt' content is correct ('1_1') OK 'cycle_1_rev2.txt' content is correct ('1_2') OK: mongo-db-slashetc.gz is not the same between rev0 and rev 1 of DB dump file [?12l[?25h getshot has finished. info EXECUTING PLAN 'commitinterval' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN commitinterval Restrict time interval between two commits STEP 1 10/25/26 20:19 Example of restricting the time interval between two commits $ arcv --silent -yy --interval=5s [?12l[?25h   info Committed first revision 8c25f2b5bf899a28 OK: output of 'av rev' is correct info 4 secs remaining before allowing next commit. error Nothing committed. [!p[?3;4l>[?69l OK: 127 returned by 'av --silent -ym 'A'' sleeping 5s  info Committed revision 1 signed 7e4bc529871f891d OK: 0 returned by 'av --silent -ym 'A'' sleeping 2s info 2 secs remaining before allowing next commit. error Nothing committed. [!p[?3;4l>[?69l OK: 127 returned by 'av --silent -ym 'B'' sleeping 4s  info Committed revision 2 signed 539dbf0f212a7c27 OK: 0 returned by 'av --silent -ym 'B'' [?12l[?25h getshot has finished. info EXECUTING PLAN 'forcecommit' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN forcecommit Force creation of a new revision even when there's no change STEP 1 10/25/26 20:19 Example of restricting the time interval between two commits $ arcv --silent -y [?12l[?25h   info Committed first revision 13119882e640207a $ arcv -y --force -m "no change commit" info SRC: /home/ubuntu/test-arcv/test-project info REV: 0 (hash 13119882e640207a24fa874db4db841f7655f0aace653f325a91ef277984b773) info No change in source Commit: Folder /home/ubuntu/test-arcv/test-project is going to backed up as revision 1 inside: /tmp/arcv-test-archive/test-project.archive/test-project.archive1 info Committed revision 1 signed 13119882e640207a OK: output of 'av rev' is correct info No change in source info No change in source OK: output of 'av rev' is correct info No change in source  info Committed revision 2 signed 13119882e640207a OK: output of 'av rev' is correct  info Committed revision 3 signed bb6491f5c1ec32c1 OK: 0 returned by 'av --silent -ym 'added A file'' OK: output of 'av rev' is correct info No change in source OK: output of 'av rev' is correct info No change in source  info Committed revision 4 signed bb6491f5c1ec32c1 OK: output of 'av rev' is correct OK: 'av changelog --fmt=plain|filter-changelog.sh' output is correct task Revision 1 checkout in folder ../../../../tmp/test-project-rev1 [ RUNNING ] task Revision 1 checkout in folder ../../../../tmp/test-project-rev1 [ OK ] OK: 0 returned by 'av co 1 -o /tmp' OK: '/tmp/test-project-rev1': present OK: '/tmp/test-project-rev1/A': not there [?12l[?25h getshot has finished. info EXECUTING PLAN 'displaylog' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN displaylog Display revision history of a source folder STEP 1 10/25/26 20:19 Example of showing short and long revision log messages [?12l[?25h   info Committed first revision 8ae8af81166fa4da Permission-only change:    info Committed revision 1 signed a799894da1333224 $ av log 1 2026-10-25 20:19:47 Updated file set to demonstrate log list 0 2026-10-25 20:19:46 Creation OK: 'av log --fmt=plain|cut -d" " -f2,3 --complement' output is correct OK: output of 'av log --fmt=plain|cut -d" " -f2' is correct $ av log --verbose 1 2026-10-25 20:19:47 Updated file set to demonstrate log list file_C.txt file_B.txt file_A.txt 0 2026-10-25 20:19:46 Creation file_A.txt file_B.txt Operation finished. OK: 'av log --verbose --fmt=plain|cut -d" " -f2,3 --complement' output is correct [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN displaylog Display revision history of a source folder STEP 2 10/25/26 20:19 Example of log messages for a certain range of revisions OK: 'av log --from=0 --fmt=plain|cut -d" " -f2,3 --complement' output is correct OK: 'av log --from=2 --fmt=plain|cut -d" " -f2,3 --complement' output is correct OK: 'av log --from=4 --fmt=plain|cut -d" " -f2,3 --complement' output is correct error The specified most recent start revision 5 (5) is superior to the head revision 4 error Operation ended with a failure. Please check above messages. [!p[?3;4l>[?69l OK: 255 returned by 'av log --silent --from=5' , is != of 0 OK: 'av log --to=4 --fmt=plain|cut -d" " -f2,3 --complement' output is correct OK: 'av log --to=2 --fmt=plain|cut -d" " -f2,3 --complement' output is correct OK: 'av log --to=0 --fmt=plain|cut -d" " -f2,3 --complement' output is correct error The specified most recent start revision 4 (4) is inferior to the specific end revision 5 (5) error Operation ended with a failure. Please check above messages. [!p[?3;4l>[?69l OK: 255 returned by 'av log --silent --to=5' , is != of 0 OK: 'av log --from=3 --to=1 --fmt=plain|cut -d" " -f2,3 --complement' output is correct error The specified most recent start revision 3 (3) is inferior to the specific end revision 4 (4) error Operation ended with a failure. Please check above messages. [!p[?3;4l>[?69l OK: 255 returned by 'av log --silent --from=3 --to=4' , is != of 0 [?12l[?25h getshot has finished. info EXECUTING PLAN 'displaylog_menu' warning Live recording skipped for 'Example of interacting with the revision history menu to perform diffs' since interactive mode disabled info EXECUTING PLAN 'displayfilelog' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN displayfilelog Display revision history of a file STEP 1 10/25/26 20:20 Example of showing revision log messages of a file $ av log file_A.txt 4 2026-10-25 20:20:13 added stamp 4 line to file A 3 2026-10-25 20:20:12 added stamp 3 line to file A 2 2026-10-25 20:20:11 added stamp 2 line to file A 1 2026-10-25 20:20:10 added stamp 1 line to file A 0 2026-10-25 20:20:09 Creation $ av log file_A.txt --from=3 --to=1 3 2026-10-25 20:20:12 added stamp 3 line to file A 2 2026-10-25 20:20:11 added stamp 2 line to file A 1 2026-10-25 20:20:10 added stamp 1 line to file A OK: 'av log file_A.txt --from=0 --fmt=plain|cut -d" " -f2,3 --complement' output is correct OK: 'av log file_A.txt --from=2 --fmt=plain|cut -d" " -f2,3 --complement' output is correct OK: 'av log file_A.txt --from=4 --fmt=plain|cut -d" " -f2,3 --complement' output is correct error The specified most recent start revision 5 (5) is superior to the head revision 4 error Operation ended with a failure. Please check above messages. [!p[?3;4l>[?69l OK: 255 returned by 'av log --silent --from=5' , is != of 0 OK: 'av log file_A.txt --to=4 --fmt=plain|cut -d" " -f2,3 --complement' output is correct OK: 'av log file_A.txt --to=2 --fmt=plain|cut -d" " -f2,3 --complement' output is correct OK: 'av log file_A.txt --to=0 --fmt=plain|cut -d" " -f2,3 --complement' output is correct error The specified most recent start revision 4 (4) is inferior to the specific end revision 5 (5) error Operation ended with a failure. Please check above messages. [!p[?3;4l>[?69l OK: 255 returned by 'av log --silent --to=5' , is != of 0 OK: 'av log file_A.txt --from=3 --to=1 --fmt=plain|cut -d" " -f2,3 --complement' output is correct error The specified most recent start revision 3 (3) is inferior to the specific end revision 4 (4) error Operation ended with a failure. Please check above messages. [!p[?3;4l>[?69l OK: 255 returned by 'av log file_A.txt --silent --from=3 --to=4' , is != of 0 [?12l[?25h getshot has finished. info EXECUTING PLAN 'displayfilelog_menu' warning Live recording skipped for 'Example of interacting with the file revision history menu to perform diffs' since interactive mode disabled info EXECUTING PLAN 'displayfilelog_av' warning Live recording skipped for 'Example of checking a large file revision history (arcv)' since interactive mode disabled info EXECUTING PLAN 'displayreleaselog' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN displayreleaselog Display release tag history STEP 1 10/25/26 20:20 Example of release tag history display  info Committed revision 1 signed 83cae21d70fa5789 $ av -yy pub -m "A test release 1.0.0" || _exit -1 "Failed to create release tag" info SRC: /home/ubuntu/test-arcv/test-project info REV: 0 (hash 83cae21d70fa57895b95d2b1b1fe0fa4efc23b48e981d01904d0abebf0b3217d) info No change in source  info Committed revision 2 signed 5cb9650c9319c210 info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 2 $ echo "2.0.0" > VERSION.txt  info Committed revision 3 signed 207855bd2c3a8479  info Committed revision 4 signed 918768c71e9828b8  info Committed revision 5 signed c6c3d6ebb0e0d4f4 $ av -yy pub -m "A test release 2.0.0" || _exit -1 "Failed to create release tag" info SRC: /home/ubuntu/test-arcv/test-project info REV: 4 (hash c6c3d6ebb0e0d4f49986cafa77cd0977f54ea4e846709a6b3047f95c38eb84f8) info No change in source info Going to create release tag R2.0.0 info Successfully created release tag R2.0.0 for revision 5 $ av rel R2.0.0 5 A test release 2.0.0 R1.0.0 2 A test release 1.0.0 OK: 'av rel --fmt=plain' output is correct [?12l[?25h getshot has finished. info EXECUTING PLAN 'displayreleaselog_menu' warning Live recording skipped for 'Example of interacting with the release menu to perform diffs' since interactive mode disabled info EXECUTING PLAN 'displaychangelog' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN displaychangelog Display log history since last release STEP 1 10/25/26 20:20 Example of change log from a certain release tag  info Committed revision 3 signed 08e1e03877b10df3 info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 3 OK: 'av changelog --fmt=plain|filter-changelog.sh' output is correct [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN displaychangelog Display log history since last release STEP 2 10/25/26 20:20 Example of change log when some revisions exist but no release tag OK: 'av changelog --fmt=plain|filter-changelog.sh' output is correct [?12l[?25h getshot has finished. info EXECUTING PLAN 'displayhash' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN displayhash Display hash signature of the head revision STEP 1 10/25/26 20:20 Example of showing the hash signature of head revision info arcv run from riffian-dell, storage on riffian will be accessed via mountpoint /tmp/arcv-test-archive [?12l[?25h  task Creating archive version 0 [ RUNNING ] task Creating archive version 0 [ OK ] task Updating CHANGE_LOG [ RUNNING ] task Updating CHANGE_LOG [ OK ] task Cleaning archive version 0 : pruning empty folders, removing symlinks [ RUNNING ] task Cleaning archive version 0 : pruning empty folders, removing symlinks [ OK ] task Updating HEAD [ RUNNING ] task Updating HEAD [ OK ] info Committed first revision signed 0b54288e7ee610c028173e583f730bfaddf79c26ddbf6f779fe4bccc9d70681d Operation finished. $ av hash 0b54288e7ee610c028173e583f730bfaddf79c26ddbf6f779fe4bccc9d70681d $ av co -o /tmp task Checking out head revision inside '/tmp/test-project' [ RUNNING ] task Checking out head revision inside '/tmp/test-project' [ OK ] OK: '0b54288e7ee610c028173e583f730bfaddf79c26ddbf6f779fe4bccc9d70681d' was output by both commands 'av hash' and 'av hash /tmp/test-project' [?12l[?25h getshot has finished. info EXECUTING PLAN 'checkhash' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkhash Recompute and check hash signatures from checked out folders STEP 1 10/25/26 20:21 Example of showing how the hash signature can be recomputed and crosschecked with the original one established at commit info arcv run from riffian-dell, storage on riffian will be accessed via mountpoint /tmp/arcv-test-archive [?12l[?25h  task Creating archive version 0 [ RUNNING ] task Creating archive version 0 [ OK ] task Updating CHANGE_LOG [ RUNNING ] task Updating CHANGE_LOG [ OK ] task Cleaning archive version 0 : pruning empty folders, removing symlinks [ RUNNING ] task Cleaning archive version 0 : pruning empty folders, removing symlinks [ OK ] task Updating HEAD [ RUNNING ] task Updating HEAD [ OK ] info Committed first revision signed e71227c0f210cda2fd4c863c86411ef83c75be99e4e148a3370c613c95920a41 Operation finished. Checking hash for a head revision checkout task Checking out head revision inside '/tmp/test-project' [ RUNNING ] task Checking out head revision inside '/tmp/test-project' [ OK ] OK: 'e71227c0f210cda2fd4c863c86411ef83c75be99e4e148a3370c613c95920a41' was output by both commands 'av hash' and 'av hash /tmp/test-project' $ mkdir pack && echo fileC > pack/fileC $ mkdir mydir && echo fileD > mydir/fileD [?12l[?25h  info Committed revision 1 signed c75bbd36cfb0820a task Revision 1 checkout in folder ../../../../tmp/test-project-rev1 [ RUNNING ] task Revision 1 checkout in folder ../../../../tmp/test-project-rev1 [ OK ] OK: 'c75bbd36cfb0820a8cd8eafa5529b43d7c8a2917d09074521b77cd789bbadddb' was output by both commands 'av hash' and 'av hash /tmp/test-project-rev1' $ echo extraline >> pack/fileC $ echo fileF >> pack/fileF # Creating a new file forced the time info of folder to be updated to a more recent one than before $ mkdir mydir2 # empty folder $ mkdir mydir3 && echo fileE > mydir3/fileE [?12l[?25h  info Committed revision 2 signed 3f2b5c61dbf893cc task Revision 2 checkout in folder ../../../../tmp/test-project-rev2 [ RUNNING ] task Revision 2 checkout in folder ../../../../tmp/test-project-rev2 [ OK ] OK: '3f2b5c61dbf893cc3df293d4095409fff86e652cd448fa4a7474842f6bf60995' was output by both commands 'av hash' and 'av hash /tmp/test-project-rev2' task Checking out head revision inside '/tmp/test-project' [ RUNNING ] task Checking out head revision inside '/tmp/test-project' [ OK ] OK: '3f2b5c61dbf893cc3df293d4095409fff86e652cd448fa4a7474842f6bf60995' was output by both commands 'av hash' and 'av hash /tmp/test-project' task Revision 1 checkout in folder ../../../../tmp/test-project-rev1 [ RUNNING ] task Revision 1 checkout in folder ../../../../tmp/test-project-rev1 [ OK ] OK: 'c75bbd36cfb0820a8cd8eafa5529b43d7c8a2917d09074521b77cd789bbadddb' was output by both commands 'cat /tmp/hasrev1' and 'av hash /tmp/test-project-rev1' [?12l[?25h getshot has finished. info EXECUTING PLAN 'listsources' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN listsources List the source folders stored in the repository STEP 1 10/25/26 20:21 Example of listing of the source folders stored in the repository info arcv run from riffian-dell, storage on riffian will be accessed via mountpoint /tmp/arcv-test-archive [?12l[?25h  task Creating archive version 0 [ RUNNING ] task Creating archive version 0 [ OK ] task Updating CHANGE_LOG [ RUNNING ] task Updating CHANGE_LOG [ OK ] task Cleaning archive version 0 : pruning empty folders, removing symlinks [ RUNNING ] task Cleaning archive version 0 : pruning empty folders, removing symlinks [ OK ] task Updating HEAD [ RUNNING ] task Updating HEAD [ OK ] info Committed first revision signed d87c8e6c4f3095628b8afc11dbc2338319dbf4836fbc621d6e0cc087e2f01d99 Operation finished. info arcv run from riffian-dell, storage on riffian will be accessed via mountpoint /tmp/arcv-test-archive [?12l[?25h  task Creating archive version 0 [ RUNNING ] task Creating archive version 0 [ OK ] task Updating CHANGE_LOG [ RUNNING ] task Updating CHANGE_LOG [ OK ] task Cleaning archive version 0 : pruning empty folders, removing symlinks [ RUNNING ] task Cleaning archive version 0 : pruning empty folders, removing symlinks [ OK ] task Updating HEAD [ RUNNING ] task Updating HEAD [ OK ] info Committed first revision signed f378b5faa132962c3f15348e91b0f553a0625734b40cef022c48eb5eaed843e7 Operation finished. $ av list riffian 192.168.0.12(LAN) (public) test project of mine 0 f378b5faa132962c 25 Oct 20:21 ubuntu (1000) 16K   \u2502 test-project 0 d87c8e6c4f309562 25 Oct 20:21 ubuntu (1000) 16K   \u2502 32 KiB [?12l[?25h[?12l[?25h getshot has finished. info EXECUTING PLAN 'repoinfo' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN repoinfo Display all available internal repository information STEP 1 10/25/26 20:21 Example of display of all available internal repository information error test-project is not under revision-control in repository /tmp/arcv-test-archive [!p[?3;4l>[?69l OK: 255 returned by 'av repo' , is != of 0 [?12l[?25h   info Committed first revision 7187352d3040d80e $ av repo release-dir /tmp/arcv-test-archive/test-project.archive/releases release-hooks No hook defined yet releases No release tag has been created yet latest-release-tag latest-release-rev exclude-file /tmp/arcv-test-archive/test-project.archive/EXCLUDE exclusions .nfs*,.swp*,RCS,SCCS,CVS,CVS.adm,RCSLOG,cvslog.*,tags,TAGS,.make.state,.nse_depi- nfo,*~,,*,_$*,*$,*.old,*.bak,*.BAK,*.orig,*.rej,.del-*,*.a,*.olb,*.o,*.obj,*.so,- *.exe,*.Z,*.elc,*.ln,core,.svn,.git,.hg,.bzr src-dir /tmp/arcv-test-archive/test-project.archive/ rev-dir /tmp/arcv-test-archive/test-project.archive/test-project.archive0 rev-hashfilepath /tmp/arcv-test-archive/test-project.archive/test-project.archive0/._arcv_sha256_test-project rev-hashfilename ._arcv_sha256_test-project head-dir /tmp/arcv-test-archive/test-project.archive/head head-image-dir /tmp/arcv-test-archive/test-project.archive/head/test-project head-rev 0 fetch-url git-repo /tmp/arcv-test-archive/test-project.archive/git size 20 KiB [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN repoinfo Display all available internal repository information STEP 2 10/25/26 20:21 Example of display of all repository information containing release information $ rm file_A.txt $ echo "Additional line for file B" >> file_B.txt Permission-only change:    info Committed revision 1 signed 8f63c24c5c77016d $ av -y pub MYTAG:1 -m "A version tagged with 'MYTAG'" _inArcVersion: '1' info Going to create release tag MYTAG for revision 1 info Successfully created tag MYTAG for revision 1 $ av repo release-dir /tmp/arcv-test-archive/test-project.archive/releases release-hooks No hook defined yet releases MYTAG 1 A version tagged with 'MYTAG' latest-release-tag MYTAG latest-release-rev 1 exclude-file /tmp/arcv-test-archive/test-project.archive/EXCLUDE exclusions .nfs*,.swp*,RCS,SCCS,CVS,CVS.adm,RCSLOG,cvslog.*,tags,TAGS,.make.state,.nse_depi- nfo,*~,,*,_$*,*$,*.old,*.bak,*.BAK,*.orig,*.rej,.del-*,*.a,*.olb,*.o,*.obj,*.so,- *.exe,*.Z,*.elc,*.ln,core,.svn,.git,.hg,.bzr src-dir /tmp/arcv-test-archive/test-project.archive/ rev-dir /tmp/arcv-test-archive/test-project.archive/test-project.archive1 rev-hashfilepath /tmp/arcv-test-archive/test-project.archive/test-project.archive1/._arcv_sha256_test-project rev-hashfilename ._arcv_sha256_test-project head-dir /tmp/arcv-test-archive/test-project.archive/head head-image-dir /tmp/arcv-test-archive/test-project.archive/head/test-project head-rev 1 fetch-url git-repo /tmp/arcv-test-archive/test-project.archive/git size 20 KiB [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN repoinfo Display all available internal repository information STEP 3 10/25/26 20:21 Example of display of repository information which identifying name contains keyword 'release' $ echo "Second additional line for file B" >> file_B.txt  info Committed revision 2 signed 140035c4f327a008  info Committed revision 3 signed b3a8a5528436c8b7 info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 3 info Successfully restored VERSION.txt from revison 3 $ av repo release latest-release-tag R1.0.0 latest-release-rev 3 releases R1.0.0 3 auto release MYTAG 1 A version tagged with 'MYTAG' release-dir /tmp/arcv-test-archive/test-project.archive/releases release-hooks No hook defined yet [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN repoinfo Display all available internal repository information STEP 4 10/25/26 20:21 Example of display of repository information which identifying name contains keyword 'dir' $ av repo dir rev-dir /tmp/arcv-test-archive/test-project.archive/test-project.archive3 release-dir /tmp/arcv-test-archive/test-project.archive/releases src-dir /tmp/arcv-test-archive/test-project.archive/ head-dir /tmp/arcv-test-archive/test-project.archive/head head-image-dir /tmp/arcv-test-archive/test-project.archive/head/test-project [?12l[?25h getshot has finished. info EXECUTING PLAN 'checkup2date' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN checkup2date Check for modifications in a source folder under revision control STEP 1 10/25/26 20:21 Example of checking for modification in a source folder under revision control $ arcv check || echo "OK, properly detected folder not under rev control" error test-project is not under revision-control in repository /tmp/arcv-test-archive [!p[?3;4l>[?69l OK, properly detected folder not under rev control $ av --silent -y || "Error: first commit failed" [?12l[?25h   info Committed first revision 5c81445d4751e568 $ arcv check --verbose || _exit -1 "Error: change detected and shouldn't have" Image is up-to-date. Revision is 0 OK: output of 'arcv check --verbose ' is correct $ echo "extended file a content" >> "file_A.txt" $ arcv check --verbose && _exit -1 "Error: No change detected whereas file_A.txt changed." || echo "OK, a change was detected" There are modified files for revision 0 [!p[?3;4l>[?69l OK, a change was detected $ arcv --silent -y co file_A.txt info Successfully restored file_A.txt from revison 0 $ echo "This is my file C data" >> "file_C.txt" $ arcv check --verbose && _exit -1 "Error: No change detected whereas file_C.txt added." || echo "OK, file C addition detected!" There are new files for revision 0 [!p[?3;4l>[?69l OK, file C addition detected! $ rm "file_C.txt" "file_A.txt" $ arcv check --verbose && _exit -1 "Error: No change detected whereas file_A.txt removed." || echo "OK, file A removal detected!" There are deleted files for revision 0 [!p[?3;4l>[?69l OK, file A removal detected! $ arcv --silent -y co file_A.txt info Successfully restored file_A.txt from revison 0 $ arcv check --verbose || _exit -1 "Error: change detected and shouldn't have" Image is up-to-date. Revision is 0 [?12l[?25h getshot has finished. info EXECUTING PLAN 'modifyfileperms' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN modifyfileperms Check-in and check-out a file which permissions change STEP 1 10/25/26 20:22 Example of check-in of file which permissions changed $ umask 002 [?12l[?25h   info Committed first revision 482124395858f394 $ chmod 700 "file_A.txt" $ Test__assertCmd "ls -l file_A.txt | awk '{print \$1}'" "-rwx------" OK: output of 'ls -l file_A.txt | awk '{print $1}'' is correct $ arcv check --verbose && _exit -1 "Error: no change detected and should have" || echo "OK change detected" Permission-only change: file_A.txt : -rw-rw-r-- changed to -rwx------ There are changed permissions for files for revision 0 [!p[?3;4l>[?69l OK change detected $ arcv -y -m "Update file_A.txt with no access rights for others" info SRC: /home/ubuntu/test-arcv/test-project info REV: 0 (hash 482124395858f3945d49e43a0f68c1a524d4429e346acc8e5d3d7ecbb1d0c750) Permission-only change: file_A.txt : -rw-rw-r-- changed to -rwx------ Previous logs: 0 2026-10-25 20:22:11 Creation Commit: Folder /home/ubuntu/test-arcv/test-project is going to backed up as revision 1 inside: /tmp/arcv-test-archive/test-project.archive/test-project.archive1 info Committed revision 1 signed 36a4d2182ab91105 $ chmod 777 "file_A.txt" $ Test__assertCmd "ls -l file_A.txt | awk '{print \$1}'" "-rwxrwxrwx" OK: output of 'ls -l file_A.txt | awk '{print $1}'' is correct $ arcv check --verbose && _exit -1 "Error: no change detected and should have" || echo "OK change detected" Permission-only change: file_A.txt : -rwx------ changed to -rwxrwxrwx There are changed permissions for files for revision 1 [!p[?3;4l>[?69l OK change detected $ av -y co file_A.txt old file saved to '/tmp/arcv-test-archive/test-project.archive/dropped/.#modified.1.20261025-2022.file_A.txt' info Successfully restored file_A.txt from revison 1 $ Test__assertCmd "ls -l file_A.txt | awk '{print \$1}'" "-rwx------" OK: output of 'ls -l file_A.txt | awk '{print $1}'' is correct [?12l[?25h getshot has finished. info EXECUTING PLAN 'modifydirperms' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN modifydirperms Check-in and check-out a directory which permissions change STEP 1 10/25/26 20:22 Example of check-in of directory which permissions changed $ umask 002 $ mkdir subdir $ echo "message" > subdir/testfile.txt [?12l[?25h   info Committed first revision 1829f38cb9aa9a4b $ chmod 700 "subdir" OK: output of 'ls -l -d subdir | awk '{print $1}'' is correct Permission-only change: ./subdir : drwxrwxr-x changed to drwx------ There are changed permissions for files for revision 0 [!p[?3;4l>[?69l av check: OK change detected $ arcv -y -m "Update subdir with no access rights for others" info SRC: /home/ubuntu/test-arcv/test-project info REV: 0 (hash 1829f38cb9aa9a4b14d348c5164053758164bcccdaffdadee0a827488261addf) Permission-only change: ./subdir : drwxrwxr-x changed to drwx------ Previous logs: 0 2026-10-25 20:22:20 Creation Commit: Folder /home/ubuntu/test-arcv/test-project is going to backed up as revision 1 inside: /tmp/arcv-test-archive/test-project.archive/test-project.archive1 info Committed revision 1 signed 1829f38cb9aa9a4b $ chmod 777 "subdir" OK: output of 'ls -l -d subdir | awk '{print $1}'' is correct $ arcv check --verbose && _exit -1 "Error: no change detected and should have" || echo "OK change detected" Permission-only change: ./subdir : drwx------ changed to drwxrwxrwx There are changed permissions for files for revision 1 [!p[?3;4l>[?69l OK change detected $ av -y co subdir info Successfully restored subdir from revison 1 OK: output of 'ls -l -d subdir | awk '{print $1}'' is correct [?12l[?25h getshot has finished. info EXECUTING PLAN 'remove_dir_after_modify_other_dir_perms' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN remove_dir_after_modify_other_dir_perms Check-in a directory which permissions change and then check-in removal of another folder STEP 1 10/25/26 20:22 Check-in of directory which permissions changed and then check-in removal of another folder $ umask 002 $ mkdir subdir1 $ mkdir subdir2 $ mkdir subdir3 $ mkdir subdir4 [?12l[?25h   info Committed first revision e6ebec1e3c04aed9 $ chmod 700 "subdir2" OK: output of 'ls -l -d subdir2 | awk '{print $1}'' is correct Permission-only change: ./subdir2 : drwxrwxr-x changed to drwx------ There are changed permissions for files for revision 0 [!p[?3;4l>[?69l av check: OK change detected Permission-only change: ./subdir2 : drwxrwxr-x changed to drwx------  info Committed revision 1 signed e6ebec1e3c04aed9 $ rmdir subdir1 $ av check --verbose There are deleted files for revision 1 [!p[?3;4l>[?69l Now checking output, only deleted file should be reported $ av check --verbose > "/tmp/checkinstatus.txt" [!p[?3;4l>[?69l OK '/tmp/checkinstatus.txt' last line is correct ('There are deleted files for revision 1') $ chmod 777 "subdir2" OK: output of 'ls -l -d subdir2 | awk '{print $1}'' is correct $ av -y co subdir2 info Successfully restored subdir2 from revison 1 OK: output of 'ls -l -d subdir2 | awk '{print $1}'' is correct [?12l[?25h getshot has finished. info EXECUTING PLAN 'listmodifiedfiles' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN listmodifiedfiles List any file change in a source folder (new/deleted/modified/permissions) STEP 1 10/25/26 20:22 Example of listing changes in a source folder $ umask 002 $ echo "file C" >> file_C.txt [?12l[?25h   info Committed first revision 8e8c25e669370b34 $ chmod 700 "file_A.txt" $ rm file_B.txt $ echo "Second line file file C" >> file_C.txt $ echo "file D" >> file_D.txt Permission-only change: file_A.txt : -rw-rw-r-- changed to -rwx------ There are new, deleted, modified, changed permissions for files for revision 0 [!p[?3;4l>[?69l OK change detected $ Test__assertCmd "ls -l file_A.txt | awk '{print \$1}'" "-rwx------" OK: output of 'ls -l file_A.txt | awk '{print $1}'' is correct $ av -l info SRC: /home/ubuntu/test-arcv/test-project info REV: 0 (hash 8e8c25e669370b34b8f8d4c55abdcb6a3a4e431636fbb9364a0e9dc4879a4ef3) Changed: file_C.txt New: file_D.txt Deleted: file_B.txt Permission-only change: file_A.txt : -rw-rw-r-- changed to -rwx------ OK: 'av -l' output is correct [?12l[?25h getshot has finished. info EXECUTING PLAN 'compare' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN compare Comparing revisions STEP 1 10/25/26 20:22 Sample scenarios of comparing revisions using simple diff tool [?12l[?25h   info Committed first revision a3c7afc5a83604ce  info Committed revision 1 signed c3aacade5a6f7181 info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 1 info Successfully restored VERSION.txt from revison 1 $ echo "This is the second line of file A" >> "file_A.txt"  info Committed revision 2 signed 5b2f1bb11a119f82 $ echo "This is the third line of file A" >> "file_A.txt"  info Committed revision 3 signed 2ce29b6481dc6097 $ echo "This is the fourth line of file A (not committed)" >> "file_A.txt" # Not committed $ av diff --fmt=plain > diffresult.txt # diff current vs head [!p[?3;4l>[?69l OK 'diffresult.txt' last line is correct ('> This is the fourth line of file A (not committed)') $ av diff 2 --fmt=plain > diffresult.txt # diff current vs revision 2 preceeding head [!p[?3;4l>[?69l OK 'diffresult.txt' line 5 is correct ('> This is the third line of file A') OK 'diffresult.txt' line 6 is correct ('> This is the fourth line of file A (not committed)') $ av diff R1.0.0 --fmt=plain > diffresult.txt # diff current vs release tag R1.0.0 [!p[?3;4l>[?69l OK 'diffresult.txt' line 4 is correct ('> This is the second line of file A') OK 'diffresult.txt' line 5 is correct ('> This is the third line of file A') OK 'diffresult.txt' line 6 is correct ('> This is the fourth line of file A (not committed)') $ av diff headvs2 --fmt=plain > diffresult.txt # diff head and revision 2 [!p[?3;4l>[?69l OK 'diffresult.txt' last line is correct ('< This is the third line of file A') $ av diff 2vs0 --fmt=plain > diffresult.txt # diff rev 1 and 0 [!p[?3;4l>[?69l OK 'diffresult.txt' last line is correct ('< This is the second line of file A') $ av diff 1vs0 --fmt=plain | grep 'Only in' | grep 'VERSION.txt' > diffresult.txt [!p[?3;4l>[?69l OK 'diffresult.txt' content is correct ('^Only in.+VERSION\.txt') $ av diff 3vsR1.0.0 --fmt=plain > diffresult.txt # diff rev 3 and tag 1.0.0 [!p[?3;4l>[?69l OK 'diffresult.txt' line 3 is correct ('< This is the second line of file A') OK 'diffresult.txt' line 4 is correct ('< This is the third line of file A') [?12l[?25h getshot has finished. info EXECUTING PLAN 'compareatcheckin' warning Live recording skipped for 'Example of checking changes at check-in' since interactive mode disabled info EXECUTING PLAN 'reltag' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN reltag Creating a release tag for a head revision ('publish') STEP 1 10/25/26 20:23 Example of release tag creation for head revision [?12l[?25h   info Committed first revision a0dc28dab21b8661 $ av -yy pub -m "A test release 1.0.0" || _exit -1 "Failed to create release tag" info SRC: /home/ubuntu/test-arcv/test-project info test-project is the first archived version info No change in source  info Committed revision 1 signed 27155f53b03df966 info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 1 There are modified files for revision 1 [!p[?3;4l>[?69l OK change detected OK '/home/ubuntu/test-arcv/test-project/VERSION.txt' content is correct ('1.0.1') OK '/tmp/arcv-test-archive/test-project.archive/releases/R1.0.0' points to ../test-project.archive1 OK '/tmp/arcv-test-archive/test-project.archive/releases/R1.0.0.log' content is correct ('A test release 1.0.0') Committing changes after tagging $ rm file_A.txt $ echo "Additional line for file B" >> file_B.txt Permission-only change:    info Committed revision 2 signed eeaac071d3fda3f4 $ av log 2 2026-10-25 20:23:10 Changed file A and B state before checking out release 1 2026-10-25 20:23:07 Added /home/ubuntu/test-arcv/test-project/VERSION.txt while requesting creation  of release tag 0 2026-10-25 20:23:05 Creation Now checking out release tagged 1.0.0 and check if original file A and B OK $ av co R1.0.0 -o /tmp task Release R1.0.0 checkout in folder ../../../../tmp/test-project-R1.0.0 [ RUNNING ] task Release R1.0.0 checkout in folder ../../../../tmp/test-project-R1.0.0 [ OK ] OK 'VERSION.txt' content is correct ('1.0.0') OK 'file_A.txt' content is correct ('Test file A') OK 'file_B.txt' content is correct ('Test file B') [?12l[?25h getshot has finished. ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN reltag Creating a release tag for a head revision ('publish') STEP 2 10/25/26 20:23 Example of tag creation to a random revision [?12l[?25h   info Committed first revision 53158ccc4eba0250 Committing changes BEFORE tagging $ rm file_A.txt $ echo "Additional line for file B" >> file_B.txt Permission-only change:    info Committed revision 1 signed 997f19de2db17957 $ av -yy pub MYTAG:1 -m "A version tagged with 'MYTAG'" || _exit -1 "Failed to create release tag" _inArcVersion: '1' info Going to create release tag MYTAG for revision 1 info Successfully created tag MYTAG for revision 1 Image is up-to-date. Revision is 1 Now checking existing of tag symlink and tag log OK: '/home/ubuntu/test-arcv/test-project/VERSION.txt': not there OK '/tmp/arcv-test-archive/test-project.archive/releases/MYTAG' points to ../test-project.archive1 OK '/tmp/arcv-test-archive/test-project.archive/releases/MYTAG.log' content is correct ('A version tagged with 'MYTAG'')  info Committed revision 2 signed 5c8e2ff599874263  info Committed revision 3 signed ec29eed39fb858a0 info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 3 $ av rel R1.0.0 3 Release after second changes MYTAG 1 A version tagged with 'MYTAG' OK: 'av rel --fmt=plain' output is correct Now checking out MYTAG and check file B and A is not there. $ av co MYTAG -o /tmp task Release MYTAG checkout in folder ../../../../tmp/test-project-MYTAG [ RUNNING ] task Release MYTAG checkout in folder ../../../../tmp/test-project-MYTAG [ OK ] OK: 'file_A.txt': not there OK: 'file_C.txt': not there OK 'file_B.txt' last line is correct ('Additional line for file B') Now checking out release tagged 1.0.0 and check if original file A and B OK $ av co R1.0.0 -o /tmp task Release R1.0.0 checkout in folder ../../../../tmp/test-project-R1.0.0 [ RUNNING ] task Release R1.0.0 checkout in folder ../../../../tmp/test-project-R1.0.0 [ OK ] OK 'VERSION.txt' content is correct ('1.0.0') OK: 'file_A.txt': not there OK 'file_C.txt' content is correct ('This is new file C') OK 'file_B.txt' last line is correct ('Second additional line for file B') [?12l[?25h getshot has finished. info EXECUTING PLAN 'hook' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN hook Create a hook for executing a program after release tag creation STEP 1 10/25/26 20:23 Example of creating a hook for executing a program after release tag creation [?12l[?25h   info Committed first revision 6d50d53391f89530 $ av hook myhook.sh info Successfully created release hook applying from revision 0, executable set for 'myhook.sh' $ av -yy pub -m "A test release 1.0.0" || _exit -1 "Failed to create release tag" info SRC: /home/ubuntu/test-arcv/test-project info test-project is the first archived version info Source changed according to new hash 29f10790f5fe06ba49f87d3bf0c4ec95d0a6f6a2164a4ff58eeccd841286154e Permission-only change: myhook.sh : -rw-r--r-- changed to -rwxr-xr-x  info Committed revision 1 signed bb8a942fcae36189 info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 1 info Executing release hook ''myhook.sh'' Now checking that file hook.proof was actually created by the hook script OK 'hook.proof' content is correct ('R1.0.0') $ arcv hook 0 'myhook.sh' OK: output of 'arcv hook --fmt=plain' is correct [?12l[?25h getshot has finished. info EXECUTING PLAN 'branch' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN branch Create branches STEP 1 10/25/26 20:23 Example of branch creation from head revision, random revisions and release tag [?12l[?25h   info Committed first revision a8125cfbcaafdc3f  info Committed revision 1 signed 34c3daafebd585dc info Created VERSION.txt info Going to create release tag R1.0.0 info Successfully created release tag R1.0.0 for revision 1 info Successfully restored VERSION.txt from revison 1  info Committed revision 2 signed 9075fcd8e029354d  info Committed revision 3 signed ae10dfb0676ff163 $ av --silent -y branch fun-project info The branch is going to be created in a folder '../fun-project' from head revision 3 [!p[?3;4l>[?69l task Branch creation in folder ../fun-project [ RUNNING ] task Branch creation in folder ../fun-project [ OK ] task Branch 'fun-project' commit in '/home/ubuntu/test-arcv/fun-project' [ RUNNING ] task Branch 'fun-project' commit in '/home/ubuntu/test-arcv/fun-project' [ OK ] OK '/tmp/diffresult.txt' last line is correct ('< This is the fourth line of file A (not committed)') $ av --silent -y branch fun-project:2 info The branch is going to be created in a folder '../fun-project' from revision 2 [!p[?3;4l>[?69l task Branch creation in folder ../fun-project [ RUNNING ] task Branch creation in folder ../fun-project [ OK ] task Branch 'fun-project' commit in '/home/ubuntu/test-arcv/fun-project' [ RUNNING ] task Branch 'fun-project' commit in '/home/ubuntu/test-arcv/fun-project' [ OK ] OK '/tmp/diffresult.txt' line 3 is correct ('< This is the third line of file A') OK '/tmp/diffresult.txt' line 4 is correct ('< This is the fourth line of file A (not committed)') $ av --silent -y branch fun-project:R1.0.0 info The branch is going to be created in a folder '../fun-project' from revision 3 [!p[?3;4l>[?69l task Branch creation in folder ../fun-project [ RUNNING ] task Branch creation in folder ../fun-project [ OK ] task Branch 'fun-project' commit in '/home/ubuntu/test-arcv/fun-project' [ RUNNING ] task Branch 'fun-project' commit in '/home/ubuntu/test-arcv/fun-project' [ OK ] OK '/tmp/diffresult.txt' line 3 is correct ('< This is the second line of file A') OK '/tmp/diffresult.txt' line 4 is correct ('< This is the third line of file A') OK '/tmp/diffresult.txt' line 5 is correct ('< This is the fourth line of file A (not committed)') $ av --silent -y branch fun-project:0 -o /tmp/ info The branch is going to be created in a folder '/tmp/fun-project' from revision 0 [!p[?3;4l>[?69l task Branch creation in folder ../../../../tmp/fun-project [ RUNNING ] task Branch creation in folder ../../../../tmp/fun-project [ OK ] task Branch 'fun-project' commit in '/tmp/fun-project' [ RUNNING ] task Branch 'fun-project' commit in '/tmp/fun-project' [ OK ] $ av --silent -y co R1.0.0 -o /tmp/ task Release R1.0.0 checkout in folder ../../../../tmp/test-project-R1.0.0 [ RUNNING ] task Release R1.0.0 checkout in folder ../../../../tmp/test-project-R1.0.0 [ OK ] $ [ "$(cat /tmp/diffresult.txt)" = "Only in /tmp/test-project-R1.0.0: VERSION.txt" ] && echo "OK diff is OK" || (sleep 1 && _exit -1 "Error: unexpected differences found!") OK diff is OK [?12l[?25h getshot has finished. info EXECUTING PLAN 'tarball' ************************************************************************** TESTED APP arcv 2.0.0 rev:397 hash:c2611dc49f82084f /usr/bin/arcv/arcv TEST BENCH arcv-test 2.0.0 rev:269 hash:6316b8b5ecbeb6ab /usr/bin/arcv-test/arcv-test SHELL API 1.2.0 rev:267 hash:540b647815f09cf0 /usr/bin/shell-api-1.2-0/genapp SHOTPLAN shotplan 1.1.3 rev:104 hash:50b02b80dc1f399b /usr/bin/shotplan/shotplan PLAN tarball Exporting a revision as a tarball STEP 1 10/25/26 20:24 Example of tarball export for head revision, modified head revision and random revision [?12l[?25h   info Committed first revision 21c889dbfc6d23db $ av tarball -o /tmp info Successfully created /tmp/test-project-0.tar.gz OK: '/tmp/test-project-0.tar.gz': present $ echo "Extra line for file A" >> "file_A.txt" $ av tarball -o /tmp [!p[?3;4l>[?69l info Successfully created /tmp/test-project-0M-20261025.tar.gz OK: '/tmp/test-project-0M-20261025.tar.gz': present  info Committed revision 1 signed 8bdc319ee641f605 $ av tarball head -o /tmp info Successfully created /tmp/test-project-1.tar.gz OK: '/tmp/test-project-1.tar.gz': present $ av tarball 0 -o /home/ubuntu info Successfully created /home/ubuntu/test-project-0.tar.gz OK: '/home/ubuntu/test-project-0.tar.gz': present $ echo "Extracting all tarballs before check" Extracting all tarballs before check $ diff -r /tmp/test-project-0M /tmp/test-project-1 || _exit -1 "Extracts 0M and 1 should be the same" $ diff -r /tmp/test-project-0 /tmp/test-project-1 && _exit -1 "Extracts 0 and 1 should not be the same" || echo "OK, Extracts 0 and 1 are different" diff -r /tmp/test-project-0/test-project/file_A.txt /tmp/test-project-1/test-project/file_A.txt 1a2 > Extra line for file A OK, Extracts 0 and 1 are different [?12l[?25h getshot has finished. info EXECUTING PLAN 'github' Test plan 'github' skipped according to fulfilled filter condition [ -f /.dockerenv ] ************************************************************************** OVERALL RESULT: OK ************************************************************************** - arcv_compareatcheckin_1 [ RUNNING ]  - arcv_compareatcheckin_1 [ OK ] - arcv_branch_1 [ RUNNING ]  - arcv_branch_1 [ OK ] - arcv_addfiles_1 [ RUNNING ]  - arcv_addfiles_1 [ OK ] - arcv_checkoutdirfromrev_1 [ RUNNING ]  - arcv_checkoutdirfromrev_1 [ OK ] - arcv_removefiles_1 [ RUNNING ]  - arcv_removefiles_1 [ OK ] - arcv_modifyfileperms_1 [ RUNNING ]  - arcv_modifyfileperms_1 [ OK ] - arcv_push-uri_1 [ RUNNING ]  - arcv_push-uri_1 [ OK ] - arcv_checkoutfile_with_removed_files_1 [ RUNNING ]  - arcv_checkoutfile_with_removed_files_1 [ OK ] - arcv_checkoutreltag_1 [ RUNNING ]  - arcv_checkoutreltag_1 [ OK ] - arcv_listsources_1 [ RUNNING ]  - arcv_listsources_1 [ OK ] - arcv_circular-save_1 [ RUNNING ]  - arcv_circular-save_1 [ OK ] - arcv_remove_dir_after_modify_other_dir_perms_1 [ RUNNING ]  - arcv_remove_dir_after_modify_other_dir_perms_1 [ OK ] - arcv_reltag_1 [ RUNNING ]  - arcv_reltag_1 [ OK ] - arcv_reltag_2 [ RUNNING ]  - arcv_reltag_2 [ OK ] - arcv_displaylog_2 [ RUNNING ]  - arcv_displaylog_2 [ OK ] - arcv_displaylog_1 [ RUNNING ]  - arcv_displaylog_1 [ OK ] - arcv_exclusions_1 [ RUNNING ]  - arcv_exclusions_1 [ OK ] - arcv_compare_1 [ RUNNING ]  - arcv_compare_1 [ OK ] - arcv_checkoutsource_1 [ RUNNING ]  - arcv_checkoutsource_1 [ OK ] - arcv_checkoutsource_2 [ RUNNING ]  - arcv_checkoutsource_2 [ OK ] - arcv_checkoutsource_3 [ RUNNING ]  - arcv_checkoutsource_3 [ OK ] - arcv_checkoutsource_4 [ RUNNING ]  - arcv_checkoutsource_4 [ OK ] - arcv_source-uri_1 [ RUNNING ]  - arcv_source-uri_1 [ OK ] - arcv_source-uri_3 [ RUNNING ]  - arcv_source-uri_3 [ OK ] - arcv_source-uri_2 [ RUNNING ]  - arcv_source-uri_2 [ OK ] - arcv_source-uri_5 [ RUNNING ]  - arcv_source-uri_5 [ OK ] - arcv_source-uri_4 [ RUNNING ]  - arcv_source-uri_4 [ OK ] - arcv_checkup2date_1 [ RUNNING ]  - arcv_checkup2date_1 [ OK ] - arcv_checkhash_1 [ RUNNING ]  - arcv_checkhash_1 [ OK ] - arcv_displaylog_menu_1 [ RUNNING ]  - arcv_displaylog_menu_1 [ OK ] - arcv_displayrev_1 [ RUNNING ]  - arcv_displayrev_1 [ OK ] - arcv_hook_1 [ RUNNING ]  - arcv_hook_1 [ OK ] - arcv_init_1 [ RUNNING ]  - arcv_init_1 [ OK ] - arcv_commitinterval_1 [ RUNNING ]  - arcv_commitinterval_1 [ OK ] - arcv_checkoutheadrev_1 [ RUNNING ]  - arcv_checkoutheadrev_1 [ OK ] - arcv_spacechars_1 [ RUNNING ]  - arcv_spacechars_1 [ OK ] - arcv_displaychangelog_2 [ RUNNING ]  - arcv_displaychangelog_2 [ OK ] - arcv_displaychangelog_1 [ RUNNING ]  - arcv_displaychangelog_1 [ OK ] - arcv_displayreleaselog_menu_1 [ RUNNING ]  - arcv_displayreleaselog_menu_1 [ OK ] - arcv_modifydirperms_1 [ RUNNING ]  - arcv_modifydirperms_1 [ OK ] - arcv_checkoutfilefromrev_1 [ RUNNING ]  - arcv_checkoutfilefromrev_1 [ OK ] - arcv_inspect_init_1 [ RUNNING ]  - arcv_inspect_init_1 [ OK ] - arcv_displayfilelog_menu_1 [ RUNNING ]  - arcv_displayfilelog_menu_1 [ OK ] - arcv_displayreleaselog_1 [ RUNNING ]  - arcv_displayreleaselog_1 [ OK ] - arcv_modifyfiles_1 [ RUNNING ]  - arcv_modifyfiles_1 [ OK ] - arcv_checkoutfile_1 [ RUNNING ]  - arcv_checkoutfile_1 [ OK ] - arcv_displayhash_1 [ RUNNING ]  - arcv_displayhash_1 [ OK ] - arcv_checkoutrev_1 [ RUNNING ]  - arcv_checkoutrev_1 [ OK ] - arcv_tarball_1 [ RUNNING ]  - arcv_tarball_1 [ OK ] - arcv_repoinfo_4 [ RUNNING ]  - arcv_repoinfo_4 [ OK ] - arcv_repoinfo_3 [ RUNNING ]  - arcv_repoinfo_3 [ OK ] - arcv_repoinfo_2 [ RUNNING ]  - arcv_repoinfo_2 [ OK ] - arcv_repoinfo_1 [ RUNNING ]  - arcv_repoinfo_1 [ OK ] - arcv_circular_1 [ RUNNING ]  - arcv_circular_1 [ OK ] - arcv_circular_2 [ RUNNING ]  - arcv_circular_2 [ OK ] - arcv_circular_3 [ RUNNING ]  - arcv_circular_3 [ OK ] - arcv_forcecommit_1 [ RUNNING ]  - arcv_forcecommit_1 [ OK ] - arcv_displayfilelog_av_1 [ RUNNING ]  - arcv_displayfilelog_av_1 [ OK ] - arcv_displayfilelog_1 [ RUNNING ]  - arcv_displayfilelog_1 [ OK ] - arcv_listmodifiedfiles_1 [ RUNNING ]  - arcv_listmodifiedfiles_1 [ OK ] Press a key to exit[?12l[?25h Shotplan has finished. info Executing '/usr/bin/arcv-test/posttest.sh' EXECUTING POST-TEST SCRIPT. REPODIR='/tmp/arcv-test-archive'