diff --git a/doc/bugs/__39__Production__39___build_doesn__39__t_pass_testsuite_on_Win32.mdwn b/doc/bugs/__39__Production__39___build_doesn__39__t_pass_testsuite_on_Win32.mdwn new file mode 100644 index 0000000000..13e29221ab --- /dev/null +++ b/doc/bugs/__39__Production__39___build_doesn__39__t_pass_testsuite_on_Win32.mdwn @@ -0,0 +1,779 @@ +### Please describe the problem. + +Building an optimized Windows binary with flag `Production` active doesn't result in one that is able +to pass its test suite. + +### What steps will reproduce the problem? + +`stack --stack-yaml stack-lts-18.13.yaml setup && stack --stack-yaml stack-lts-18.13.yaml build --flag 'git-annex:Production' --flag 'git-annex:-Crypton'` + +(I found that the `Crypton` flag needs to be explicitly negated due to the `Production` flag somehow making it active causing +the build to fail because of a missing dependency `crypton`. A bug in Cabal, perhaps?) + +Then run the test suite in Git Bash in a directory that contains the executable and the requisite DLLs (the latter +obtained by way of `stack exec ldd -- git-annex.exe` and copying over the ones in `/mingw64`). Observe the following +(`just` is a cross-platform command runner that I use instead of GNU make.) + +[[!format sh """ +jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129) +$ just tests-new +/usr/bin/time ./git-annex.exe test 2>&1 | tee git-annex.test.LOG~200 + +All 0 tests passed (0.00s) +Tests + Repo Tests v10 adjusted unlocked branch + Init Tests + init: OK (9.36s) + add: FAIL + Exception: fd:4: hGetChar: invalid argument (invalid byte sequence) + Use -p '/Init Tests.add/' to rerun this test only. + crypto: SKIP + + Use -p '/crypto/' to rerun this test only. + uninit (in git-annex branch): SKIP + + Use -p '/uninit (in git-annex branch)/' to rerun this test only. + conflict resolution symlink bit: SKIP + + Use -p '/conflict resolution symlink bit/' to rerun this test only. + union merge regression: SKIP + + Use -p '/union merge regression/' to rerun this test only. + unused: SKIP + + Use -p '/unused/' to rerun this test only. + fsck (bare): SKIP + + Use -p '/fsck (bare)/' to rerun this test only. + lock: SKIP + + Use -p '/Repo Tests v10 adjusted unlocked branch.lock/' to rerun this test only. + drop (with remote): SKIP + + Use -p '/drop (with remote)/' to rerun this test only. + log: SKIP + + Use -p '/log/' to rerun this test only. + add extras: SKIP + + Use -p '/add extras/' to rerun this test only. + +11 out of 12 tests failed (11.65s) +[...] +"""]] + + +### What version of git-annex are you using? On what operating system? + +[[!format sh """ +git-annex version: 10.20231129-gbacd781c4fe05126219c4b5f2963677a6de01481 +build flags: Assistant Webapp Pairing TorrentParser MagicMime Benchmark Feeds Testsuite S3 WebDAV +dependency versions: aws-0.22 bloomfilter-2.0.1.0 cryptonite-0.29 DAV-1.3.4 feed-1.3.2.0 ghc-8.10.7 http-client-0.7.9 pe +rsistent-sqlite-2.13.0.3 torrent-10000.1.1 uuid-1.3.15 yesod-1.6.1.2 +key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SH +A3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 +BLAKE2B160E BLAKE2B160 BLAKE2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2BP512E BLAKE2BP512 BLAKE2S256E BLAKE2S256 BLA +KE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256 BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM UR +L X* +remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar git-lfs httpalso borg h +ook external +operating system: mingw32 x86_64 +supported repository versions: 8 9 10 +upgrade supported from repository versions: 2 3 4 5 6 7 8 9 10 +"""]] + +Windows 10 version 22H2 (build 19045.3693), 64 bit. + +### Please provide any additional information below. + +This is how I build my "production" version of git-annex (in PowerShell): + +[[!format sh """ +C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +6 ~0 -0 !]> just setup-build +cd 'C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P' && stack --stack-yaml stack-lts-18.13.yaml setup --verbose 2>&1 | & $env:GNU_TEE_CMD stack.setup---verbose.LOG~101 +Version 2.13.1, Git revision 8102bb8afce90fc954f48efae38b87f37cabc988 x86_64 hpack-0.36.0 +2023-12-08 16:24:52.098843: [debug] Loading project config file stack-lts-18.13.yaml +2023-12-08 16:24:52.130837: [debug] Use of Casa server enabled: (CasaRepoPrefix "https://casa.stackage.org", 1280). +2023-12-08 16:24:52.142835: [debug] (SQL) SELECT COUNT(*) FROM "last_performed" WHERE ("action"=?) AND ("timestamp">=?); [PersistInt64 1,PersistUTCTime 2023-12-07 14:24:52.1418345 UTC] +2023-12-08 16:24:52.144833: [debug] Using package location completions from a lock file +2023-12-08 16:24:52.154836: [debug] Loaded snapshot from Pantry database. +2023-12-08 16:24:52.575861: [debug] Prefetching git repos: [] +2023-12-08 16:24:52.576863: [debug] [] +2023-12-08 16:24:52.614841: [debug] Asking for a supported GHC version +2023-12-08 16:24:52.624838: [debug] Installed tools: + - msys2-20200903 + - ghc-9.6.2 + - ghc-9.0.2 + - ghc-8.8.4 + - ghc-8.8.3 + - ghc-8.6.5 + - ghc-8.4.3 + - ghc-8.10.7 + - ghc-8.10.4 +2023-12-08 16:24:52.625841: [debug] Potential GHC builds: standard +2023-12-08 16:24:52.625841: [debug] Found already installed GHC builds: standard +2023-12-08 16:24:52.630839: [debug] Performing a sanity check on: C:\Users\jkniiv\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.7\bin\ghc-8.10.7.exe +2023-12-08 16:24:52.632844: [debug] Run process within C:\Users\jkniiv\AppData\Local\Temp\stack-sanity-check-2b0507b6fb5a74f8\: C:\Users\jkniiv\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.7\bin\ghc-8.10.7.exe C:\Users\jkniiv\AppData\Local\Temp\stack-sanity-check-2b0507b6fb5a74f8\Main.hs -no-user-package-db -hide-all-packages "-package base" "-package Cabal" +2023-12-08 16:25:16.713070: [debug] Process finished in 24079ms: C:\Users\jkniiv\AppData\Local\Programs\stack\x86_64-windows\ghc-8.10.7\bin\ghc-8.10.7.exe C:\Users\jkniiv\AppData\Local\Temp\stack-sanity-check-2b0507b6fb5a74f8\Main.hs -no-user-package-db -hide-all-packages "-package base" "-package Cabal" +2023-12-08 16:25:16.721070: [debug] (SQL) SELECT "id","actual_version","arch","ghc_path","ghc_size","ghc_modified","ghc_pkg_path","runghc_path","haddock_path","cabal_version","global_db","global_db_cache_size","global_db_cache_modified","info","global_dump" FROM "compiler_cache" WHERE "ghc_path"=?; [PersistText "C:\\Users\\jkniiv\\AppData\\Local\\Programs\\stack\\x86_64-windows\\ghc-8.10.7\\bin\\ghc-8.10.7.exe"] +2023-12-08 16:25:16.806072: [debug] Loaded compiler information from cache +2023-12-08 16:25:16.806072: [debug] Asking for a supported GHC version +2023-12-08 16:25:16.806072: [info] Stack will use a sandboxed GHC it installed. To use this GHC and packages outside of a project, +consider using: stack ghc, stack ghci, stack runghc, or stack exec. +C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +6 ~0 -0 !]> just build-production +cd 'C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P' && stack --stack-yaml stack-lts-18.13.yaml build --flag 'git-annex:Production' --flag 'git-annex:-Crypton' 2>&1 | & $env:GNU_TEE_CMD stack.build---flag-git-annex_Production.LOG~102 +Building all executables for git-annex once. After a successful build of all of them, only specified +executables will be rebuilt. +git-annex> configure (exe) +[ 1 of 22] Compiling Author ( Author.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Author.o ) +[ 2 of 22] Compiling Utility.Data ( Utility\Data.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Data.o ) +[ 3 of 22] Compiling Utility.FileSystemEncoding ( Utility\FileSystemEncoding.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\FileSystemEncoding.o ) +[ 4 of 22] Compiling Utility.Debug ( Utility\Debug.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Debug.o ) +[ 5 of 22] Compiling Utility.Misc ( Utility\Misc.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Misc.o ) +[ 6 of 22] Compiling Utility.Monad ( Utility\Monad.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Monad.o ) +[ 7 of 22] Compiling Utility.Process.Shim ( Utility\Process\Shim.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Process\Shim.o ) +[ 8 of 22] Compiling Utility.SafeOutput ( Utility\SafeOutput.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\SafeOutput.o ) +[ 9 of 22] Compiling Utility.Exception ( Utility\Exception.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Exception.o ) +[10 of 22] Compiling Utility.Process ( Utility\Process.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Process.o ) +[11 of 22] Compiling Utility.SafeCommand ( Utility\SafeCommand.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\SafeCommand.o ) +[12 of 22] Compiling Utility.Env.Basic ( Utility\Env\Basic.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Env\Basic.o ) +[13 of 22] Compiling Build.Version ( Build\Version.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Build\Version.o ) +[14 of 22] Compiling Utility.Split ( Utility\Split.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Split.o ) +[15 of 22] Compiling Utility.DottedVersion ( Utility\DottedVersion.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\DottedVersion.o ) +[16 of 22] Compiling Git.Version ( Git\Version.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Git\Version.o ) +[17 of 22] Compiling Utility.SystemDirectory ( Utility\SystemDirectory.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\SystemDirectory.o ) +[18 of 22] Compiling Utility.Path ( Utility\Path.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Utility\Path.o ) +[19 of 22] Compiling Build.TestConfig ( Build\TestConfig.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Build\TestConfig.o ) +[20 of 22] Compiling Build.Configure ( Build\Configure.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Build\Configure.o ) +[21 of 22] Compiling Main ( C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\Setup.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\Main.o ) +[22 of 22] Compiling StackSetupShim ( C:\\hs-stack\setup-exe-src\setup-shim-9p6GVs8J.hs, C:\\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\dist\ed8db9df\setup\StackSetupShim.o ) +Linking C:\\Users\\jkniiv\\Projektit\\git-annex.branchable.com\\git-annex--BUILD-231130-10.20231129~P\\.stack-work\\dist\\ed8db9df\\setup\\setup.exe ... + checking UPGRADE_LOCATION... not available + checking git... yes + checking git version... 2.43.0.windows.1 + checking cp -a... yes + checking cp -p... yes + checking cp --preserve=timestamps... yes + checking cp_reflink_supported... no + checking cp --no-preserve=xattr... yes + checking xargs -0... yes + checking rsync... no + checking curl... yes + checking bup... no + checking borg... no + checking nice... yes + checking ionice... no + checking nocache... no + checking gpg... gpg + checking lsof... not available + checking git-remote-gcrypt... not available + checking ssh connection caching... yes +Configuring git-annex-10.20231129... +git-annex> build (exe) +Preprocessing executable 'git-annex' for git-annex-10.20231129.. +Building executable 'git-annex' for git-annex-10.20231129.. +[ 1 of 693] Compiling Assistant.Types.BranchChange +[ 2 of 693] Compiling Assistant.Types.ThreadName +[ 3 of 693] Compiling Assistant.Types.TransferSlots +[...snip...] +[691 of 693] Compiling Command.Assistant +[692 of 693] Compiling CmdLine.GitAnnex +[693 of 693] Compiling Main +Linking .stack-work\\dist\\ed8db9df\\build\\git-annex\\git-annex.exe ... +git-annex> copy/register +Installing executable git-annex in C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P\.stack-work\install\f241563d\bin +C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +6 ~0 -0 !]> cp .\.stack-work\install\f241563d\bin\git-annex.exe . +C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +7 ~0 -0 !]> .\git-annex.exe version > git-annex.version.TXT +C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +7 ~0 -0 !]> head -1 .\git-annex.version.TXT +git-annex version: 10.20231129-gbacd781c4fe05126219c4b5f2963677a6de01481 +C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +7 ~0 -0 !]> cat build.TXT +git-annex--BUILD-231130-10.20231129~P +resolver: lts-18.13 +C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +7 ~0 -0 !]> just copy-dlls-over-to-here ++ PATH='/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Program Files/PowerShell/7:' ++ cd 'C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P' +++ stack exec ldd -- git-annex.exe +++ grep /mingw64 +++ cut '-d ' -f3 ++ dlls_to_copy='/mingw64/bin/libmagic-1.dll +/mingw64/bin/libsystre-0.dll +/mingw64/bin/libtre-5.dll +/mingw64/bin/libintl-8.dll' ++ stack exec cp -- -pv /mingw64/bin/libmagic-1.dll /mingw64/bin/libsystre-0.dll /mingw64/bin/libtre-5.dll /mingw64/bin/libintl-8.dll . +'C:/Users/jkniiv/AppData/Local/Programs/stack/x86_64-windows/msys2-20200903/mingw64/bin/libmagic-1.dll' -> './libmagic-1.dll' +'C:/Users/jkniiv/AppData/Local/Programs/stack/x86_64-windows/msys2-20200903/mingw64/bin/libsystre-0.dll' -> './libsystre-0.dll' +'C:/Users/jkniiv/AppData/Local/Programs/stack/x86_64-windows/msys2-20200903/mingw64/bin/libtre-5.dll' -> './libtre-5.dll' +'C:/Users/jkniiv/AppData/Local/Programs/stack/x86_64-windows/msys2-20200903/mingw64/bin/libintl-8.dll' -> './libintl-8.dll' +C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P [BUILD-231130-10.20231129 +12 ~0 -0 !]> just install-files-to-annx-test-dir ++ PATH='/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Program Files/PowerShell/7:' ++ cd 'C:\Users\jkniiv\Projektit\git-annex.branchable.com\git-annex--BUILD-231130-10.20231129~P' +++ shopt -s nullglob +++ echo git-annex.exe libintl-8.dll libmagic-1.dll libsystre-0.dll libtre-5.dll build.TXT git-annex.version.TXT stack.build---flag-git-annex_Production.LOG~102 stack.build.LOG~102 stack.setup---verbose.LOG~101 CHANGELOG ++ files_to_copy='git-annex.exe libintl-8.dll libmagic-1.dll libsystre-0.dll libtre-5.dll build.TXT git-annex.version.TXT stack.build---flag-git-annex_Production.LOG~102 stack.build.LOG~102 stack.setup---verbose.LOG~101 CHANGELOG' ++ cp -pv git-annex.exe libintl-8.dll libmagic-1.dll libsystre-0.dll libtre-5.dll build.TXT git-annex.version.TXT stack.build---flag-git-annex_Production.LOG~102 stack.build.LOG~102 stack.setup---verbose.LOG~101 CHANGELOG .annx-test +'git-annex.exe' -> '.annx-test/git-annex.exe' +'libintl-8.dll' -> '.annx-test/libintl-8.dll' +'libmagic-1.dll' -> '.annx-test/libmagic-1.dll' +'libsystre-0.dll' -> '.annx-test/libsystre-0.dll' +'libtre-5.dll' -> '.annx-test/libtre-5.dll' +'build.TXT' -> '.annx-test/build.TXT' +'git-annex.version.TXT' -> '.annx-test/git-annex.version.TXT' +'stack.build---flag-git-annex_Production.LOG~102' -> '.annx-test/stack.build---flag-git-annex_Production.LOG~102' +'stack.build.LOG~102' -> '.annx-test/stack.build.LOG~102' +'stack.setup---verbose.LOG~101' -> '.annx-test/stack.setup---verbose.LOG~101' +'CHANGELOG' -> '.annx-test/CHANGELOG' + +# End of transcript or log. +"""]] + +And this is how I usually run the test suite in Git Bash (with some preliminary actions to record the tests available + make +an SHA256SUMS file of the most important files in this test directory): + +[[!format sh """ +jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P (BUILD-231130-10.20231129) +$ cd .annx-test/ + +jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129) +$ just record-tests +./git-annex.exe test --list-tests > git-annex.test---list-tests.TXT + +jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129) +$ just sums check-sums +sha256sum git-annex.exe libintl-8.dll libmagic-1.dll libsystre-0.dll libtre-5.dll build.TXT git-annex.test---list-tests. +TXT git-annex.version.TXT > SHA256SUMS +sha256sum -c SHA256SUMS +git-annex.exe: OK +libintl-8.dll: OK +libmagic-1.dll: OK +libsystre-0.dll: OK +libtre-5.dll: OK +build.TXT: OK +git-annex.test---list-tests.TXT: OK +git-annex.version.TXT: OK + +jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129) +$ ls -l +total 73065 +-rw-r--r-- 1 jkniiv 197121 429145 Dec 8 14:28 CHANGELOG +-rw-r--r-- 1 jkniiv 197121 1073 Dec 14 2022 Justfile +-rw-r--r-- 1 jkniiv 197121 664 Dec 8 16:48 SHA256SUMS +-rw-r--r-- 1 jkniiv 197121 60 Dec 8 15:27 build.TXT +-rwxr-xr-x 1 jkniiv 197121 73740800 Dec 8 16:41 git-annex.exe* +-rw-r--r-- 1 jkniiv 197121 8464 Dec 8 16:48 git-annex.test---list-tests.TXT +-rw-r--r-- 1 jkniiv 197121 1112 Dec 8 16:42 git-annex.version.TXT +-rwxr-xr-x 1 jkniiv 197121 187145 Nov 23 11:21 libintl-8.dll* +-rwxr-xr-x 1 jkniiv 197121 226435 Dec 4 20:11 libmagic-1.dll* +-rwxr-xr-x 1 jkniiv 197121 18240 Jan 17 2018 libsystre-0.dll* +-rwxr-xr-x 1 jkniiv 197121 92313 Jan 17 2018 libtre-5.dll* +-rw-r--r-- 1 jkniiv 197121 37834 Dec 8 16:41 stack.build---flag-git-annex_Production.LOG~102 +-rw-r--r-- 1 jkniiv 197121 37834 Dec 8 15:45 stack.build.LOG~102 +-rw-r--r-- 1 jkniiv 197121 2757 Dec 8 16:25 stack.setup---verbose.LOG~101 + +jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129) +$ ldd git-annex.exe + ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x7ff93f190000) + KERNEL32.DLL => /c/WINDOWS/System32/KERNEL32.DLL (0x7ff93e380000) + KERNELBASE.dll => /c/WINDOWS/System32/KERNELBASE.dll (0x7ff93c9d0000) + ADVAPI32.dll => /c/WINDOWS/System32/ADVAPI32.dll (0x7ff93e870000) + msvcrt.dll => /c/WINDOWS/System32/msvcrt.dll (0x7ff93d2b0000) + libmagic-1.dll => /c/Users/jkniiv/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test/libmagic-1.dll (0x7ff8fd370000) + sechost.dll => /c/WINDOWS/System32/sechost.dll (0x7ff93e250000) + SHLWAPI.dll => /c/WINDOWS/System32/SHLWAPI.dll (0x7ff93e440000) + libsystre-0.dll => /c/Users/jkniiv/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test/libsystre-0.dll (0x6bcc0000) + RPCRT4.dll => /c/WINDOWS/System32/RPCRT4.dll (0x7ff93e120000) + CRYPT32.dll => /c/WINDOWS/System32/CRYPT32.dll (0x7ff93d090000) + libtre-5.dll => /c/Users/jkniiv/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test/libtre-5.dll (0x63bc0000) + ucrtbase.dll => /c/WINDOWS/System32/ucrtbase.dll (0x7ff93cf00000) + GDI32.dll => /c/WINDOWS/System32/GDI32.dll (0x7ff93d1f0000) + win32u.dll => /c/WINDOWS/System32/win32u.dll (0x7ff93ced0000) + libintl-8.dll => /c/Users/jkniiv/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test/libintl-8.dll (0x7ff8f3d20000) + gdi32full.dll => /c/WINDOWS/System32/gdi32full.dll (0x7ff93ccd0000) + dbghelp.dll => /c/WINDOWS/SYSTEM32/dbghelp.dll (0x7ff93ae50000) + msvcp_win.dll => /c/WINDOWS/System32/msvcp_win.dll (0x7ff93c8c0000) + USER32.dll => /c/WINDOWS/System32/USER32.dll (0x7ff93d6c0000) + ole32.dll => /c/WINDOWS/System32/ole32.dll (0x7ff93d4e0000) + libiconv-2.dll => /c/Users/jkniiv/bin/libiconv-2.dll (0x7ff8a6e00000) + combase.dll => /c/WINDOWS/System32/combase.dll (0x7ff93e510000) + IPHLPAPI.DLL => /c/WINDOWS/SYSTEM32/IPHLPAPI.DLL (0x7ff93bbf0000) + SHELL32.dll => /c/WINDOWS/System32/SHELL32.dll (0x7ff93d900000) + WS2_32.dll => /c/WINDOWS/System32/WS2_32.dll (0x7ff93d860000) + WINMM.dll => /c/WINDOWS/SYSTEM32/WINMM.dll (0x7ff928e00000) + CRYPTBASE.DLL => /c/WINDOWS/SYSTEM32/CRYPTBASE.DLL (0x7ff93c070000) + dbgcore.DLL => /c/WINDOWS/SYSTEM32/dbgcore.DLL (0x7ff928dc0000) + +jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129) +$ just tests-new +/usr/bin/time ./git-annex.exe test 2>&1 | tee git-annex.test.LOG~200 + +All 0 tests passed (0.00s) +Tests + Repo Tests v10 adjusted unlocked branch + Init Tests + init: OK (9.36s) + add: FAIL + Exception: fd:4: hGetChar: invalid argument (invalid byte sequence) + Use -p '/Init Tests.add/' to rerun this test only. + crypto: SKIP + + Use -p '/crypto/' to rerun this test only. + uninit (in git-annex branch): SKIP + + Use -p '/uninit (in git-annex branch)/' to rerun this test only. + conflict resolution symlink bit: SKIP + + Use -p '/conflict resolution symlink bit/' to rerun this test only. + union merge regression: SKIP + + Use -p '/union merge regression/' to rerun this test only. + unused: SKIP + + Use -p '/unused/' to rerun this test only. + fsck (bare): SKIP + + Use -p '/fsck (bare)/' to rerun this test only. + lock: SKIP + + Use -p '/Repo Tests v10 adjusted unlocked branch.lock/' to rerun this test only. + drop (with remote): SKIP + + Use -p '/drop (with remote)/' to rerun this test only. + log: SKIP + + Use -p '/log/' to rerun this test only. + add extras: SKIP + + Use -p '/add extras/' to rerun this test only. + +11 out of 12 tests failed (11.65s) +Tests + QuickCheck + prop_quote_unquote_roundtrip: OK (0.10s) + +++ OK, passed 1000 tests. + prop_encode_c_decode_c_roundtrip: OK (0.11s) + +++ OK, passed 1000 tests. + prop_isomorphic_key_encode: OK (0.05s) + +++ OK, passed 1000 tests. + prop_isomorphic_shellEscape: OK (0.04s) + +++ OK, passed 1000 tests. + prop_isomorphic_shellEscape_multiword: OK (1.25s) + +++ OK, passed 1000 tests. + prop_isomorphic_configEscape: OK (0.03s) + +++ OK, passed 1000 tests. + prop_parse_show_Config: OK (0.08s) + +++ OK, passed 1000 tests. + prop_upFrom_basics: OK + +++ OK, passed 1000 tests. + prop_relPathDirToFileAbs_basics: OK (0.04s) + +++ OK, passed 1000 tests. + prop_relPathDirToFileAbs_regressionTest: OK + +++ OK, passed 1 test. + prop_dirContains_regressionTest: OK + +++ OK, passed 1 test. + prop_cost_sane: OK + +++ OK, passed 1 test. + prop_matcher_sane: OK + +++ OK, passed 1 test. + prop_HmacSha1WithCipher_sane: OK + +++ OK, passed 1 test. + prop_VectorClock_sane: OK + +++ OK, passed 1 test. + prop_addMapLog_sane: OK + +++ OK, passed 1 test. + prop_verifiable_sane: OK (0.11s) + +++ OK, passed 1000 tests. + prop_segment_regressionTest: OK + +++ OK, passed 1 test. + prop_read_write_transferinfo: OK (0.06s) + +++ OK, passed 1000 tests. + prop_read_show_inodecache: OK (0.04s) + +++ OK, passed 1000 tests. + prop_parse_build_presence_log: OK (1.92s) + +++ OK, passed 1000 tests. + prop_parse_build_contentidentifier_log: OK (1.65s) + +++ OK, passed 1000 tests. + prop_read_show_TrustLevel: OK + +++ OK, passed 1 test. + prop_parse_build_TrustLevelLog: OK + +++ OK, passed 1 test. + prop_schedule_roundtrips: OK (0.01s) + +++ OK, passed 1000 tests. + prop_past_sane: OK + +++ OK, passed 1 test. + prop_duration_roundtrips: OK + +++ OK, passed 1000 tests. + prop_metadata_sane: OK (1.00s) + +++ OK, passed 1000 tests. + prop_metadata_serialize: OK (1.07s) + +++ OK, passed 1000 tests. + prop_branchView_legal: OK (1.10s) + +++ OK, passed 1000 tests. + prop_viewPath_roundtrips: OK (0.02s) + +++ OK, passed 1000 tests. + prop_view_roundtrips: OK (0.55s) + +++ OK, passed 1000 tests. + prop_viewedFile_rountrips: OK (0.04s) + +++ OK, passed 1000 tests. + prop_standardGroups_parse: OK + +++ OK, passed 1 test. + sha1 stable: OK + +++ OK, passed 1 test. + sha2_224 stable: OK + +++ OK, passed 1 test. + sha2_256 stable: OK + +++ OK, passed 1 test. + sha2_384 stable: OK + +++ OK, passed 1 test. + sha2_512 stable: OK + +++ OK, passed 1 test. + skein256 stable: OK + +++ OK, passed 1 test. + skein512 stable: OK + +++ OK, passed 1 test. + sha3_224 stable: OK + +++ OK, passed 1 test. + sha3_256 stable: OK + +++ OK, passed 1 test. + sha3_384 stable: OK + +++ OK, passed 1 test. + sha3_512 stable: OK + +++ OK, passed 1 test. + blake2s_160 stable: OK + +++ OK, passed 1 test. + blake2s_224 stable: OK + +++ OK, passed 1 test. + blake2s_256 stable: OK + +++ OK, passed 1 test. + blake2sp_224 stable: OK + +++ OK, passed 1 test. + blake2sp_256 stable: OK + +++ OK, passed 1 test. + blake2b_160 stable: OK + +++ OK, passed 1 test. + blake2b_224 stable: OK + +++ OK, passed 1 test. + blake2b_256 stable: OK + +++ OK, passed 1 test. + blake2b_384 stable: OK + +++ OK, passed 1 test. + blake2b_512 stable: OK + +++ OK, passed 1 test. + blake2bp_512 stable: OK + +++ OK, passed 1 test. + md5 stable: OK + +++ OK, passed 1 test. + HmacSha1 stable: OK + +++ OK, passed 1 test. + HmacSha224 stable: OK + +++ OK, passed 1 test. + HmacSha256 stable: OK + +++ OK, passed 1 test. + HmacSha384 stable: OK + +++ OK, passed 1 test. + HmacSha512 stable: OK + +++ OK, passed 1 test. + +All 62 tests passed (9.40s) +Tests + Repo Tests v10 adjusted unlocked branch + Init Tests + init: OK (9.46s) + add: FAIL + Exception: fd:4: hGetChar: invalid argument (invalid byte sequence) + Use -p '/add/' to rerun this test only. + bup remote: SKIP + + Use -p '/bup remote/' to rerun this test only. + map: SKIP + + Use -p '/map/' to rerun this test only. + conflict resolution movein regression: SKIP + + Use -p '/conflict resolution movein regression/' to rerun this test only. + sync: SKIP + + Use -p '/sync/' to rerun this test only. + migrate: SKIP + + Use -p '/migrate/' to rerun this test only. + trust: SKIP + + Use -p '/trust/' to rerun this test only. + move (numcopies): SKIP + + Use -p '/move (numcopies)/' to rerun this test only. + unannex (with copy): SKIP + + Use -p '/unannex (with copy)/' to rerun this test only. + export and import of subdir: SKIP + + Use -p '/export and import of subdir/' to rerun this test only. + +10 out of 11 tests failed (11.84s) +Tests + Repo Tests v10 adjusted unlocked branch + Init Tests + init: OK (9.47s) + add: FAIL + Exception: fd:4: hGetChar: invalid argument (invalid byte sequence) + Use -p '/Init Tests.add/' to rerun this test only. + borg remote: SKIP + + Use -p '/borg remote/' to rerun this test only. + uninit: SKIP + + Use -p '/uninit/' to rerun this test only. + conflict resolution (mixed directory and file): SKIP + + Use -p '/conflict resolution (mixed directory and file)/' to rerun this test only. + concurrent get of dup key regression: SKIP + + Use -p '/concurrent get of dup key regression/' to rerun this test only. + migrate (via gitattributes): SKIP + + Use -p '/migrate (via gitattributes)/' to rerun this test only. + fsck (basics): SKIP + + Use -p '/fsck (basics)/' to rerun this test only. + copy: SKIP + + Use -p '/copy/' to rerun this test only. + drop (no remote): SKIP + + Use -p '/drop (no remote)/' to rerun this test only. + shared clone: SKIP + + Use -p '/shared clone/' to rerun this test only. + add dup: SKIP + + Use -p '/add dup/' to rerun this test only. + +11 out of 12 tests failed (11.82s) +Tests + Repo Tests v10 adjusted unlocked branch + Init Tests + init: OK (8.97s) + add: FAIL + Exception: fd:4: hGetChar: invalid argument (invalid byte sequence) + Use -p '/Init Tests.add/' to rerun this test only. + addurl: SKIP + + Use -p '/addurl/' to rerun this test only. + directory remote: SKIP + + Use -p '/directory remote/' to rerun this test only. + conflict resolution (nonannexed symlink): SKIP + + Use -p '/conflict resolution (nonannexed symlink)/' to rerun this test only. + conflict resolution: SKIP + + Use -p '$0=="Tests.Repo Tests v10 adjusted unlocked branch.conflict resolution"' to rerun this test only. + info: SKIP + + Use -p '/info/' to rerun this test only. + conversion git to annexed: SKIP + + Use -p '/conversion git to annexed/' to rerun this test only. + partial commit: SKIP + + Use -p '/partial commit/' to rerun this test only. + move: SKIP + + Use -p '/move/' to rerun this test only. + reinject: SKIP + + Use -p '/reinject/' to rerun this test only. + metadata: SKIP + + Use -p '/metadata/' to rerun this test only. + +11 out of 12 tests failed (11.20s) +Tests + Repo Tests v10 adjusted unlocked branch + Init Tests + init: OK (9.18s) + add: FAIL + Exception: fd:4: hGetChar: invalid argument (invalid byte sequence) + Use -p '/Init Tests.add/' to rerun this test only. + preferred content: SKIP + + Use -p '/preferred content/' to rerun this test only. + upgrade: SKIP + + Use -p '/upgrade/' to rerun this test only. + conflict resolution (uncommitted local file): SKIP + + Use -p '/conflict resolution (uncommitted local file)/' to rerun this test only. + adjusted branch merge regression: SKIP + + Use -p '/adjusted branch merge regression/' to rerun this test only. + describe: SKIP + + Use -p '/describe/' to rerun this test only. + fsck (local untrusted): SKIP + + Use -p '/fsck (local untrusted)/' to rerun this test only. + lock --force: SKIP + + Use -p '/lock --force/' to rerun this test only. + drop (untrusted remote): SKIP + + Use -p '/drop (untrusted remote)/' to rerun this test only. + view: SKIP + + Use -p '/view/' to rerun this test only. + add moved link: SKIP + + Use -p '/add moved link/' to rerun this test only. + +11 out of 12 tests failed (11.64s) +Tests + Repo Tests v10 adjusted unlocked branch + Init Tests + init: OK (9.02s) + add: FAIL + Exception: fd:4: hGetChar: invalid argument (invalid byte sequence) + Use -p '/Init Tests.add/' to rerun this test only. + add subdirs: SKIP + + Use -p '/add subdirs/' to rerun this test only. + hook remote: SKIP + + Use -p '/hook remote/' to rerun this test only. + conflict resolution (nonannexed file): SKIP + + Use -p '/conflict resolution (nonannexed file)/' to rerun this test only. + transition propagation: SKIP + + Use -p '/transition propagation/' to rerun this test only. + merge: SKIP + + Use -p '/merge/' to rerun this test only. + fsck --from remote: SKIP + + Use -p '/fsck --from remote/' to rerun this test only. + edit (pre-commit): SKIP + + Use -p '/edit (pre-commit)/' to rerun this test only. + get (ssh remote): SKIP + + Use -p '/get (ssh remote)/' to rerun this test only. + import: SKIP + + Use -p '/import/' to rerun this test only. + ignore deleted files: SKIP + + Use -p '/ignore deleted files/' to rerun this test only. + +11 out of 12 tests failed (11.22s) +Tests + Repo Tests v10 adjusted unlocked branch + Init Tests + init: OK (8.99s) + add: FAIL + Exception: fd:4: hGetChar: invalid argument (invalid byte sequence) + Use -p '/add/' to rerun this test only. + required_content: SKIP + + Use -p '/required_content/' to rerun this test only. + whereis: SKIP + + Use -p '/whereis/' to rerun this test only. + conflict resolution (removed file): SKIP + + Use -p '/conflict resolution (removed file)/' to rerun this test only. + adjusted branch subtree regression: SKIP + + Use -p '/adjusted branch subtree regression/' to rerun this test only. + find: SKIP + + Use -p '/find/' to rerun this test only. + fsck (remote untrusted): SKIP + + Use -p '/fsck (remote untrusted)/' to rerun this test only. + edit (no pre-commit): SKIP + + Use -p '/edit (no pre-commit)/' to rerun this test only. + get: SKIP + + Use -p '/get/' to rerun this test only. + magic: SKIP + + Use -p '/magic/' to rerun this test only. + readonly remote: SKIP + + Use -p '/readonly remote/' to rerun this test only. + +11 out of 12 tests failed (11.22s) +Tests + Repo Tests v10 adjusted unlocked branch + Init Tests + init: OK (5.91s) + add: FAIL + Exception: fd:4: hGetChar: invalid argument (invalid byte sequence) + Use -p '/add/' to rerun this test only. + repair: SKIP + + Use -p '/repair/' to rerun this test only. + rsync remote: SKIP + + Use -p '/rsync remote/' to rerun this test only. + conflict resolution (mixed locked and unlocked file): SKIP + + Use -p '/conflict resolution (mixed locked and unlocked file)/' to rerun this test only. + conflict resolution (adjusted branch): SKIP + + Use -p '/conflict resolution (adjusted branch)/' to rerun this test only. + version: SKIP + + Use -p '/Repo Tests v10 adjusted unlocked branch.version/' to rerun this test only. + conversion annexed to git: SKIP + + Use -p '/conversion annexed to git/' to rerun this test only. + fix: SKIP + + Use -p '/fix/' to rerun this test only. + move (ssh remote): SKIP + + Use -p '/move (ssh remote)/' to rerun this test only. + unannex (no copy): SKIP + + Use -p '/unannex (no copy)/' to rerun this test only. + export and import: SKIP + + Use -p '/export and import/' to rerun this test only. + +11 out of 12 tests failed (7.23s) + (Failures above could be due to a bug in git-annex, or an incompatibility + with utilities, such as git, installed on this system.) +Command exited with non-zero status 1 +0.00user 0.04system 0:31.25elapsed 0%CPU (0avgtext+0avgdata 5248maxresident)k +0inputs+0outputs (1391major+0minor)pagefaults 0swaps + +jkniiv@AINESIS MINGW64 ~/Projektit/git-annex.branchable.com/git-annex--BUILD-231130-10.20231129~P/.annx-test (BUILD-231130-10.20231129) +$ ./git-annex.exe test -p ' /Init Tests.add/' + +All 0 tests passed (0.00s) +Tests + Repo Tests v10 adjusted unlocked branch + Init Tests + init: OK (5.02s) + add: FAIL + Exception: fd:4: hGetChar: invalid argument (invalid byte sequence) + Use -p '(/Init Tests.add/||/Init Tests/)&&/add/' to rerun this test only. + +1 out of 2 tests failed (6.37s) + +All 0 tests passed (0.00s) + (Failures above could be due to a bug in git-annex, or an incompatibility + with utilities, such as git, installed on this system.) + +# End of transcript or log. +"""]] + +### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders) + +Sure, Git Annex is great as always. I use it several times a week with my multigigabyte +backups, where it gives structure to my image-based backup routines, so you could +say I'm a believer. :) + +[[!meta author=jkniiv]] diff --git a/doc/bugs/sync_does_not_sync_content_with_new_remote_on_first_run/comment_1_c1df7f51ac724400dbef664ce10784a8._comment b/doc/bugs/sync_does_not_sync_content_with_new_remote_on_first_run/comment_1_c1df7f51ac724400dbef664ce10784a8._comment new file mode 100644 index 0000000000..4458913735 --- /dev/null +++ b/doc/bugs/sync_does_not_sync_content_with_new_remote_on_first_run/comment_1_c1df7f51ac724400dbef664ce10784a8._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="nobodyinperson" + avatar="http://cdn.libravatar.org/avatar/736a41cd4988ede057bae805d000f4f5" + subject="Similar to initremote type=git" + date="2023-12-07T08:31:08Z" + content=""" +Cool, this would reduce surprises for sure! 😀 + +On that note, IIRC `initremote type=git` straight up refuses to proceed if the remote does not have a UUID (i.e. has had `git annex init` run in it). Might be worth auto-init-ing here as well when you're already at it. +"""]] diff --git a/doc/forum/client_repositories_setup_problem/comment_2_f9660534c3f3346f322de57c2da0eb27._comment b/doc/forum/client_repositories_setup_problem/comment_2_f9660534c3f3346f322de57c2da0eb27._comment new file mode 100644 index 0000000000..92ed584657 --- /dev/null +++ b/doc/forum/client_repositories_setup_problem/comment_2_f9660534c3f3346f322de57c2da0eb27._comment @@ -0,0 +1,87 @@ +[[!comment format=mdwn + username="kolam" + avatar="http://cdn.libravatar.org/avatar/4d2741e5e0b47928bc599b00397b5e59" + subject="comment 2" + date="2023-12-06T21:08:05Z" + content=""" +Thanks Joey! Your comment is right on point. + +Changed to the following and now it works as expected. The bash script is now: + +``` +#/usr/bin/env bash + +# Just a way to access the script's directory +cd \"$(dirname \"$0\")\" +DIR=\"$(pwd)\" + +# Create the 1st client repository +mkdir $DIR/client1 +cd $DIR/client1 +git init && git annex init + +# Create the 2nd client repository +mkdir $DIR/client2 +cd $DIR/client2 +git init && git annex init + +# Create the transfer repository +mkdir $DIR/share +cd $DIR/share +git init && git annex init + +# Setup the remotes and groups for the transfer repository +cd $DIR/share +git remote add client1 $DIR/client1 +git remote add client2 $DIR/client2 +git annex wanted . standard +git annex group . transfer +git annex group client1 client +git annex group client2 client +git annex mincopies 2 +git annex numcopies 2 +git co -b main + +# Setup the remotes and groups for the 1st client repository. +cd $DIR/client1 +git remote add share $DIR/share +git annex wanted . standard +git annex group . client +git annex group share transfer +# git annex config --set annex.addunlocked true +git co -b main + +# Setup the remotes and groups for the 2nd client repository. +cd $DIR/client2 +git remote add share $DIR/share +git annex wanted . standard +git annex group . client +git annex group share transfer +# git annex config --set annex.addunlocked true +git co -b main + +# Start git-annex assistant for client1 only +cd $DIR/client1 && git annex assistant + +# Add a single file to the 1st client. +cd $DIR/client1 +touch file.txt + +# Wait for the commit to be auto created by git-annex-assistant. +sleep 3; + +cd $DIR/share +git pull client1 main +git annex assistant +cd $DIR/client2 +git pull share main +git annex assistant + +cd $DIR/client1 +echo \"My first line\" >> file.txt +``` + +I have other issues following that, but I'll create separate forum questions for them. + +Thanks again Joey. +"""]] diff --git a/doc/forum/name_resolution_of_dne/comment_2_54ed13db673cff7177cd371143a295b4._comment b/doc/forum/name_resolution_of_dne/comment_2_54ed13db673cff7177cd371143a295b4._comment new file mode 100644 index 0000000000..ff51f9180d --- /dev/null +++ b/doc/forum/name_resolution_of_dne/comment_2_54ed13db673cff7177cd371143a295b4._comment @@ -0,0 +1,9 @@ +[[!comment format=mdwn + username="https://esgf-node.llnl.gov/esgf-idp/openid/mvhulten" + nickname="mvhulten" + avatar="http://cdn.libravatar.org/avatar/8e966234bbd87d1efb0db4a4690960faa51b28cd27f4d285b9501c132a11567b" + subject="comment 2" + date="2023-12-07T12:30:24Z" + content=""" +Thank you for the clarification. +"""]] diff --git a/doc/forum/transfer_bare_repo_setup_problem.mdwn b/doc/forum/transfer_bare_repo_setup_problem.mdwn new file mode 100644 index 0000000000..239d268cf0 --- /dev/null +++ b/doc/forum/transfer_bare_repo_setup_problem.mdwn @@ -0,0 +1,111 @@ +Thanks to Joey's help, I managed to get the transfer repository setup working in a [previous forum question](https://git-annex.branchable.com/forum/client_repositories_setup_problem/). + +Now, I'm trying to do something similar, but using a bare git repository as the transfer repo instead of a regular git repository. + +Here's my bash script which bootstraps the setup stage: + +``` +#/usr/bin/env bash + +# Useful links: +# https://git-annex.branchable.com/bare_repositories/ + +# Just a way to access the script's directory +cd "$(dirname "$0")" +DIR="$(pwd)" + +# Create the 1st client repository +mkdir $DIR/client1 +cd $DIR/client1 +git init && git annex init + +# Create the 2nd client repository +mkdir $DIR/client2 +cd $DIR/client2 +git init && git annex init + +# Create the transfer repository +mkdir $DIR/share +cd $DIR/share +git init --bare && git annex init + +# Setup the remotes and groups for the transfer repository +cd $DIR/share +git remote add client1 $DIR/client1 +git remote add client2 $DIR/client2 +git annex wanted . standard +git annex group . transfer +git annex group client1 client +git annex group client2 client +git annex mincopies 2 +git annex numcopies 2 + +# Setup the remotes and groups for the 1st client repository. +cd $DIR/client1 +git remote add share $DIR/share +git annex wanted . standard +git annex group . client +git annex group share transfer +git annex config --set annex.addunlocked true +git co -b main + +# Setup the remotes and groups for the 2nd client repository. +cd $DIR/client2 +git remote add share $DIR/share +git annex wanted . standard +git annex group . client +git annex group share transfer +git annex config --set annex.addunlocked true +git co -b main + +# Add a single file to the 1st client. +cd $DIR/client1 +touch file.txt +git annex add file.txt +git commit -m "Initial commit" + +# Needed step for bare repos, as documented in https://git-annex.branchable.com/bare_repositories/ +cd $DIR/client1 +git push share main + +############################################################################### +# Need to do this if there are no commits in the 'client2' and 'share' +# repositories. Or else, I'll get the following logs: +# +# merge: refs/remotes/share/main - not something we can merge +# merge: refs/remotes/share/synced/main - not something we can merge +cd $DIR/client2 +git pull share main +############################################################################### + +# Run git-annex assistant for each repository +cd $DIR/client1 && git annex assistant +cd $DIR/client2 && git annex assistant + +sleep 3; +cd $DIR/client1 +echo "My first line" >> file.txt +``` + +The repo `client1` correctly contains 2 commits representing changes to `file.txt`. +Additionally, `share` and `client2` contain the same commits that were propagated. +However, I expected `cat client2/file.txt` to show "My first line", but it shows instead "/annex/objects/SHA256E-s14--42e950c34152a022a2ec82b2201a2287689e39d4d97bfcef67f8940b49d25d4b.txt". + +Doing `git status` in `client2` yield: + +``` + file.txt is a git-annex pointer file. Its content is not available in this repository. (Maybe file.txt was copied from another repository?) +``` + +but not sure how to solve this. + +Running `git annex whereis` yields: + +``` +whereis file.txt (0 copies) failed +whereis: 1 failed +``` + +Any ideas what went wrong? + +-- [[kolam]] diff --git a/doc/forum/transfer_bare_repo_setup_problem/comment_1_3b6c15b81c5df09587bc75c5e358b39c._comment b/doc/forum/transfer_bare_repo_setup_problem/comment_1_3b6c15b81c5df09587bc75c5e358b39c._comment new file mode 100644 index 0000000000..4a29ea77ba --- /dev/null +++ b/doc/forum/transfer_bare_repo_setup_problem/comment_1_3b6c15b81c5df09587bc75c5e358b39c._comment @@ -0,0 +1,48 @@ +[[!comment format=mdwn + username="kolam" + avatar="http://cdn.libravatar.org/avatar/4d2741e5e0b47928bc599b00397b5e59" + subject="comment 1" + date="2023-12-07T20:08:52Z" + content=""" +Seems like I needed to manually run: + +``` +cd $DIR/client2 +git annex sync --content +``` + +which solves the file not found issue. Wonder why the git-annex assistant didn't just sync again... + +Then, `cat file.txt` still gives `/annex/objects/SHA256E-s14--42e950c34152a022a2ec82b2201a2287689e39d4d97bfcef67f8940b49d25d4b.txt`. + +I managed to solve it by running `git-annex restage` on client2. + +However, after running `git annex whereis`, I get: + +``` +whereis file.txt (3 copies) + 1d6bad3e-6a1c-4371-af5f-794bf387480c -- kolam@xxx:~/git-annex-scenarios/share-between-clients/share [share] + 87ba86d9-4922-4a4a-8c8d-57c791e0f80e -- kolam@xxx:~/git-annex-scenarios/share-between-clients/client2 [here] + f5b9efb1-e5b3-4573-aa6d-354180193c74 -- kolam@xxx:~/git-annex-scenarios/share-between-clients/client1 +ok +``` + +but I noticed that the assistant doesn't drop the file from the \"share\" repo. + +Running `git annex drop --auto --from share`, I get: + +``` +drop file.txt (from share...) (unsafe) + Could only verify the existence of 1 out of 2 necessary copies + + Maybe add some of these git remotes (git remote add ...): + f5b9efb1-e5b3-4573-aa6d-354180193c74 -- kolam@nelson:~/git-annex-scenarios/share-between-clients/client1 + + (Use --force to override this check, or adjust numcopies.) +failed +drop: 1 failed +``` + +Of course, that also means that if I modify \"$DIR/client2/file.txt\", the assistant doesn't send the updates to client1. I need to do a manual `git annex sync --content` on `client1`. +Then again, I can't drop the file from \"share\" because of that same error as before. +"""]] diff --git a/doc/forum/transfer_bare_repo_setup_problem/comment_2_c011e8fcda61b6ee0067020abbddf61a._comment b/doc/forum/transfer_bare_repo_setup_problem/comment_2_c011e8fcda61b6ee0067020abbddf61a._comment new file mode 100644 index 0000000000..d25bc6fc92 --- /dev/null +++ b/doc/forum/transfer_bare_repo_setup_problem/comment_2_c011e8fcda61b6ee0067020abbddf61a._comment @@ -0,0 +1,18 @@ +[[!comment format=mdwn + username="kolam" + avatar="http://cdn.libravatar.org/avatar/4d2741e5e0b47928bc599b00397b5e59" + subject="comment 2" + date="2023-12-07T20:16:29Z" + content=""" +There's a similar setup page for running your own server with a bare git repo: + +However: + +1. the instructions are not specific for a transfer repo and showcasing the git-annex-drop statement +2. out of date as the instructions don't work. + +I also found . +But the solution doesn't seem to work here either. +Maybe something changed since then. + +"""]] diff --git a/doc/forum/transfer_repo_not_auto_dropping_files.mdwn b/doc/forum/transfer_repo_not_auto_dropping_files.mdwn deleted file mode 100644 index c429099f5e..0000000000 --- a/doc/forum/transfer_repo_not_auto_dropping_files.mdwn +++ /dev/null @@ -1,88 +0,0 @@ -I'm trying to set up two client repositories that don't communicate directly with one another, but sync their data using a transfer repository. - -Here's the script I used for creating a reproducible environment: - -``` -#/usr/bin/env bash - -# Just a way to access the script's directory -cd "$(dirname "$0")" -DIR="$(pwd)" - -# Create the 1st client repository -mkdir $DIR/client1 -cd $DIR/client1 -git init && git annex init - -# Create the 2nd client repository -mkdir $DIR/client2 -cd $DIR/client2 -git init && git annex init - -# Create the transfer repository -mkdir $DIR/share -cd $DIR/share -git init && git annex init - -# Setup the remotes and groups for the transfer repository -cd $DIR/share -git remote add client1 $DIR/client1 -git remote add client2 $DIR/client1 -git annex group . transfer -git annex group client1 client -git annex group client2 client -git co -b main - -# Setup the remotes and groups for the 1st client repository. -cd $DIR/client1 -git remote add share $DIR/share -git annex group . client -git annex group share transfer -git annex config --set annex.addunlocked true -git co -b main - -# Setup the remotes and groups for the 2nd client repository. -cd $DIR/client2 -git remote add share $DIR/share -git annex group . client -git annex group share transfer -git annex config --set annex.addunlocked true -git co -b main - -# Run git-annex assistant for each repository -cd $DIR/client1 && git annex assistant -cd $DIR/client2 && git annex assistant -cd $DIR/share && git annex assistant - -# Add a single file to the 1st client. -cd $DIR/client1 -touch file.txt - -# Need to do this if there are no commits in the 'client2' and 'share' repositories. -# Or else, I'll get the following logs: -# -# merge: refs/remotes/share/main - not something we can merge -# merge: refs/remotes/share/synced/main - not something we can merge -sleep 3; -cd $DIR/share -git pull client1 main -sleep 3; -cd $DIR/client2 -git pull share main - -cd $DIR/client1 -echo "My first line" >> file.txt -``` - -However, after letting `git-annex assistant` do it's thing, `file.txt` seems to never be dropped from the `share` transfer repository. -Event after running `git-annex sync --content`, the `git-annex whereis file.txt` gives: - -``` -whereis file.txt (3 copies) - 274b3417-1bf3-47b3-a75e-53ebe7ca20d8 -- user@server:~/share [share] - 7cc7d6a8-6230-4d2c-8414-1b45b2fc14d8 -- user@server:~/client2 - bdfea36f-d011-4950-8be0-1668f5e56f5c -- user@server:~/client1 [here] -ok -``` - -The documentation says that the file should be automatically dropped, but that doesn't happen here. diff --git a/doc/git-annex-matching-options/comment_1_09d1a7961a79dff47bef8797b3775766._comment b/doc/git-annex-matching-options/comment_1_09d1a7961a79dff47bef8797b3775766._comment new file mode 100644 index 0000000000..83849ea16d --- /dev/null +++ b/doc/git-annex-matching-options/comment_1_09d1a7961a79dff47bef8797b3775766._comment @@ -0,0 +1,9 @@ +[[!comment format=mdwn + username="mike@2d6d71f56ce2a992244350475251df87c26fe351" + nickname="mike" + avatar="http://cdn.libravatar.org/avatar/183fa439752e2f0c6f39ede658d81050" + subject="--includesamecontent same as --not --includesamecontent?" + date="2023-12-06T22:12:47Z" + content=""" +The text for `--includesamecontent` states that is the \"same as `--not --includesamecontent`\", this is probably a bug in the documentation? +"""]] diff --git a/doc/users/kolam.mdwn b/doc/users/kolam.mdwn new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/doc/users/kolam.mdwn @@ -0,0 +1 @@ +TODO