git-annex 6.20160418 → 6.20160419
raw patch · 503 files changed
+19347/−22114 lines, 503 filesbinary-added
Files
- .stack-work/install/x86_64-linux/lts-5.5/7.10.3/pkgdb/package.cache binary
- .stack-work/logs/HUnit-1.3.1.1.log +12/−0
- .stack-work/logs/IfElse-0.85.log +13/−0
- .stack-work/logs/StateVar-1.1.0.3.log +8/−0
- .stack-work/logs/asn1-encoding-0.9.3.log +33/−0
- .stack-work/logs/asn1-parse-0.9.4.log +13/−0
- .stack-work/logs/asn1-types-0.3.2.log +17/−0
- .stack-work/logs/async-2.1.0.log +8/−0
- .stack-work/logs/base-orphans-0.5.2.log +9/−0
- .stack-work/logs/bytestring-builder-0.10.6.0.0.log +7/−0
- .stack-work/logs/case-insensitive-1.2.0.5.log +10/−0
- .stack-work/logs/cereal-0.5.1.0.log +11/−0
- .stack-work/logs/cryptonite-0.10.log +0/−0
- .stack-work/logs/disk-free-space-0.1.0.1.log +8/−0
- .stack-work/logs/enclosed-exceptions-1.0.1.1.log +8/−0
- .stack-work/logs/exceptions-0.8.2.1.log +9/−0
- .stack-work/logs/feed-0.3.11.1.log +34/−0
- .stack-work/logs/file-embed-0.0.9.1.log +13/−0
- .stack-work/logs/hashable-1.2.4.0.log +15/−0
- .stack-work/logs/hex-0.1.2.log +8/−0
- .stack-work/logs/hourglass-0.2.10.log +43/−0
- .stack-work/logs/http-api-data-0.2.2.log +14/−0
- .stack-work/logs/http-types-0.9.log +30/−0
- .stack-work/logs/lifted-base-0.2.3.6.log +43/−0
- .stack-work/logs/memory-0.11.log +55/−0
- .stack-work/logs/mmorph-1.0.6.log +53/−0
- .stack-work/logs/monad-control-1.0.0.5.log +8/−0
- .stack-work/logs/mountpoints-1.0.1.log +8/−0
- .stack-work/logs/mtl-compat-0.2.1.3.log +7/−0
- .stack-work/logs/mwc-random-0.13.4.0.log +1/−0
- .stack-work/logs/nats-1.1.log +7/−0
- .stack-work/logs/prelude-extras-0.4.0.3.log +8/−0
- .stack-work/logs/process-1.3.0.0.log +53/−0
- .stack-work/logs/psqueues-0.2.2.0.log +0/−0
- Annex/AdjustedBranch.hs +20/−4
- Annex/AutoMerge.hs +4/−4
- Annex/Content.hs +11/−8
- Annex/Direct.hs +8/−9
- Annex/GitOverlay.hs +4/−1
- Annex/Ssh.hs +6/−5
- Assistant/Install.hs +4/−1
- Assistant/Sync.hs +9/−1
- Assistant/Threads/Merger.hs +3/−1
- Assistant/Threads/Upgrader.hs +4/−4
- Build/LinuxMkLibs.hs +14/−0
- Build/mdwn2man +1/−1
- CHANGELOG +32/−0
- CmdLine/GitAnnex.hs +2/−0
- CmdLine/Usage.hs +2/−0
- Command/Adjust.hs +1/−3
- Command/CalcKey.hs +28/−0
- Command/Merge.hs +2/−2
- Command/Reinject.hs +57/−25
- Command/Sync.hs +24/−19
- Command/TestRemote.hs +3/−3
- Git/Merge.hs +38/−13
- Logs/Location.hs +8/−0
- Remote/Git.hs +6/−6
- Remote/Helper/Chunked.hs +6/−4
- Remote/Helper/Special.hs +2/−1
- Test.hs +12/−2
- debian/changelog +32/−0
- debian/control +1/−0
- doc/bugs/--help_should_not_demand_being_in_the_git_repo.mdwn +0/−25
- doc/bugs/--json_issues.mdwn +0/−49
- doc/bugs/5.20140517_fails_to_talk_to_other_5.x_git-annex_remotes.mdwn +0/−37
- doc/bugs/Addurl_downloads_but_does_not_checkout_files.mdwn +0/−74
- doc/bugs/Amazon_S3_storage_hosted_in_Frankfurt_not_usable.mdwn +0/−19
- doc/bugs/Android___91__Terminal_session_finished__93__.mdwn +0/−33
- doc/bugs/Android_build_missing_webapp.mdwn +0/−39
- doc/bugs/Android_chroot_stuck_in_Cabal_hell.mdwn +0/−12
- doc/bugs/Android_fails_on_Google_Nexus_10_Jellybean.mdwn +0/−166
- doc/bugs/Armel_version_broken_on_Synology_DSM_4.3-3810.mdwn +0/−28
- doc/bugs/Assistant_doesn__39__t_check_if_it_can_drop_files.mdwn +0/−64
- doc/bugs/Assistant_dropping_from_backup_repo.mdwn +0/−28
- doc/bugs/Assistant_from_standalone_5.20131230_64bit_crashes_on_startup.mdwn +0/−31
- doc/bugs/Assistant_merge_loop.mdwn +0/−19
- doc/bugs/Assistant_removed_all_references_to_files.mdwn +0/−1305
- doc/bugs/Bloom_filter_capacity_too_large_to_represent.mdwn +0/−44
- doc/bugs/Box.com_ReposnseTimeout.mdwn +0/−12
- doc/bugs/Bug_Report_doesn__39__t_work.mdwn +0/−20
- doc/bugs/Build_error_when_S3_is_disabled.mdwn +0/−39
- doc/bugs/Build_error_with_Yesod_1.4.mdwn +0/−287
- doc/bugs/Build_fails_when_no_wget_avalible.mdwn +0/−46
- doc/bugs/Build_failure_at_commit_1efe4f3.mdwn +0/−45
- doc/bugs/Build_failures_with_7.10.mdwn +0/−27
- doc/bugs/Can__39__t_get_content_from_S3_with_s3-aws_library.mdwn +0/−62
- doc/bugs/Can__39__t_initialize_Tahoe_special_remote.mdwn +0/−40
- doc/bugs/Can__39__t_start_on_Cyanogenmod_10.2_nightly.mdwn +0/−158
- doc/bugs/Can_not_Drop_Unused_Files_With_Spaces.mdwn +0/−22
- doc/bugs/Cannot_set_direct_mode_with_non_default_worktree.mdwn +0/−47
- doc/bugs/Creating_a_WebDAV_repo_under_OpenBSD.mdwn +0/−53
- doc/bugs/Daemon_stops_working_on_mounted_CIF_share.mdwn +0/−12
- doc/bugs/Data_loss_when_doing___96__git_annex_import_--force__96__.mdwn +0/−62
- doc/bugs/Deleted_files_during_merge.mdwn +0/−2138
- doc/bugs/Direct_mode_sync_fails_to_transfer_a_10GB_file.mdwn +0/−60
- doc/bugs/Drop_--from_always_trusts_local_repository.mdwn +0/−46
- doc/bugs/Drop_files_with_the_same_checksum..mdwn +0/−33
- doc/bugs/Endless_SSH_password_prompts.mdwn +0/−38
- doc/bugs/Error_creating_remote_repository_using_ssh_on_OSX.mdwn +0/−39
- doc/bugs/Error_writing_log_message_when_filename_contains_Unicode_chars.mdwn +0/−25
- doc/bugs/External_special_remote_broken__63__.mdwn +64/−0
- doc/bugs/Fails_to_add_files_with_a_newline_in_their_name___59____41__.mdwn +0/−71
- doc/bugs/Forcing_https_for_Google_cloud_storage_remote__63__.mdwn +0/−31
- doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn +0/−37
- doc/bugs/GIT_DIR_support_incomplete.mdwn +0/−17
- doc/bugs/GPG_issues_with_pubkey___40__Again__63____41__.mdwn +0/−44
- doc/bugs/Git-Annex_requires_all_repositories_to_repair.mdwn +0/−6
- doc/bugs/Git_annex_add_._dies_when_you_add_too_much.mdwn +0/−58
- doc/bugs/Git_annex_for_Windows_keyboard_shortcut.mdwn +0/−22
- doc/bugs/Glacier_remote_uploads_duplicates.mdwn +0/−36
- doc/bugs/Google_Cloud_Storage_Nearline.mdwn +0/−24
- doc/bugs/How_to_use_a_DRA_bucket_in_Google_cloud_storage__63__.mdwn +0/−27
- doc/bugs/Huge_annex_out_of_memory_on_switch_to_indirect_mode_and_status.mdwn +0/−69
- doc/bugs/Incorrect_merge__44___direct_repos___40__2__41__.mdwn +0/−44
- doc/bugs/Incorrect_merge___40__a_special_case__41__.mdwn +0/−48
- doc/bugs/Installation_on_ArchLinux_fails.mdwn +0/−36
- doc/bugs/Internal_Server_Error_unknown_UUID__59___cannot_modify.mdwn +0/−26
- doc/bugs/Internal_server_error_while_adding_remote_server_on_Windows.mdwn +0/−33
- doc/bugs/Latest_64_bit_standalone_Linux_build_broken.mdwn +0/−18
- doc/bugs/Mac_OS_10.9_GPG_erro_when_creating_USB_repo___40__solved__41__.mdwn +0/−23
- doc/bugs/Mac_OS_10.9_GPG_error_adding_S3_repo___40__solved__41__.mdwn +0/−28
- doc/bugs/Mac_OS_X_Build_doesn__39__t_include_webapp.mdwn +0/−12
- doc/bugs/Mac_OS_git_version_still_too_old_for_.gitignore__63__.mdwn +0/−28
- doc/bugs/Mac_OS_git_version_too_old_to_honour_.gitignore.mdwn +0/−38
- doc/bugs/Manual_content_mode_isn__39__t_manual.mdwn +0/−89
- doc/bugs/Merge_involving_symlink_yields_unexpected_results.mdwn +0/−51
- doc/bugs/Missing_repo_uuid_after_local_pairing_with_older_annex.mdwn +0/−31
- doc/bugs/No_easy_way_to_re-inject_a_file_into_an_annex.mdwn +0/−12
- doc/bugs/No_manual_page_on_prebuilt_linux_version.mdwn +0/−18
- doc/bugs/No_such_file_with_certain_filenames_using_WORM_backend.mdwn +0/−64
- doc/bugs/Numcopies_not_checked_when_running_with_--all.mdwn +0/−40
- doc/bugs/OOM_while_configuring_git-annex.mdwn +0/−48
- doc/bugs/Old_repository_stuck.mdwn +0/−9
- doc/bugs/On_Windows_the_Comitted_Symlinks_are_not_Relative.mdwn +0/−102
- doc/bugs/Out_of_memory_error_in_fsck_whereis_find_and_status_cmds.mdwn +0/−84
- doc/bugs/Possible_data-loss_if_WORM_keys_do_not_encode_relative_paths.mdwn +0/−24
- doc/bugs/Prevent_accidental_merges.mdwn +0/−16
- doc/bugs/Proxy_support.mdwn +0/−42
- doc/bugs/Repository_Information_Is_Lost.mdwn +0/−39
- doc/bugs/Resolve_.local_adresses_using_avahi_or_bonjour.mdwn +0/−16
- doc/bugs/Revert_to_old_file_version_in_direct_mode___40__VFAT__41__.mdwn +0/−29
- doc/bugs/Rsync_remote_created_via_webapp_remains_empty.mdwn +0/−138
- doc/bugs/S3_Access_fails_on_windows.mdwn +0/−42
- doc/bugs/S3_buckets_with_capital_letters_breaks_authentication.mdwn +0/−32
- doc/bugs/S3_memory_leaks.mdwn +0/−19
- doc/bugs/S3_memory_leaks/comment_1_a7268213b090bce6b1f1858a8e23d90e._comment +0/−14
- doc/bugs/S3_memory_leaks/comment_2_320a8e3bb7b207d1aff8926b9247f5ba._comment +0/−8
- doc/bugs/S3_memory_leaks/comment_3_5e9cecb0e2ec7602963406779b6e3c1f._comment +0/−12
- doc/bugs/S3_memory_leaks/comment_4_37e41b518813bd7c349017abf4a0ca0f._comment +0/−8
- doc/bugs/S3_memory_leaks/comment_5_1b6d13852aeb37c5c29baf100bd62789._comment +0/−8
- doc/bugs/S3_memory_leaks/comment_6_71ffb88f548969fd4d45eac4656380c0._comment +0/−11
- doc/bugs/S3_memory_leaks/comment_7_1ac572b79caa23e3f791e4f8461fcddd._comment +0/−10
- doc/bugs/S3_upload_not_using_multipart.mdwn +0/−62
- doc/bugs/SanityCheckerStartup_crashed.mdwn +0/−28
- doc/bugs/Share_with_friends_crash_in_osx.mdwn +0/−370
- doc/bugs/Small_archive_behaving_like_archive.mdwn +0/−36
- doc/bugs/Stale_keys_not_forgotten_upon_git-annex_forget.mdwn +0/−33
- doc/bugs/Three_tests_fail_when_annex.backends_is_defined.mdwn +4/−0
- doc/bugs/Truncated_file_transferred_via_S3.mdwn +0/−617
- doc/bugs/Unable_to_add_files_on_Android_due_to_weird_rename_error.mdwn +0/−37
- doc/bugs/Unclear_output_during_git-annex_copy.mdwn +0/−17
- doc/bugs/Unicode_characters_lost__47__converted_in_metadata.mdwn +0/−17
- doc/bugs/Unicode_file_names_ignored_on_Windows.mdwn +0/−41
- doc/bugs/Uninstalling_removes_libcrypto.dll.mdwn +0/−25
- doc/bugs/Update_freebsd_install_instructions.mdwn +0/−11
- doc/bugs/Upgrade_Does_not_Complete_on_OS_X.mdwn +0/−32
- doc/bugs/Visual_glitch_while_xmpp_pairing.mdwn +0/−14
- doc/bugs/WORM_keys_differ_depending_on_working_dir_during_add.mdwn +0/−68
- doc/bugs/Webapp_fails_to_resolve_ipv6_hostname.mdwn +0/−15
- doc/bugs/Weird_directories_appearing.mdwn +0/−82
- doc/bugs/Windows_build_has_hardcoded_paths.mdwn +0/−39
- doc/bugs/Windows_daemon_silently_dies.mdwn +0/−132
- doc/bugs/Windows_file_timestamp_timezone_madness.mdwn +0/−31
- doc/bugs/Wrong_port_while_configuring_ssh_remote.mdwn +0/−35
- doc/bugs/Zombie_processes_and__47__or_stuck_git_processes.mdwn +0/−44
- doc/bugs/__171__transferkey__187___fails_for_bare_remotes.mdwn +0/−21
- doc/bugs/__34__old__34___and___34__new__34___hash_formats_are_mixed_up.mdwn +0/−31
- doc/bugs/__34__transfers_in_progress__34___gets_the_direction_wrong.mdwn +0/−55
- doc/bugs/__39__copy_destdir__61____60__path__62____39___fails.mdwn +0/−56
- doc/bugs/__39__git_annex_get__39___returns_success_when_file_not_found.mdwn +0/−30
- doc/bugs/__96__git_annex_add_.__96___fails_for_all_files_if_one_fails.mdwn +0/−34
- doc/bugs/__96__git_annex_import__96___clobbers_mtime.mdwn +0/−62
- doc/bugs/__96__minimal_build__39____fails_due_to_missing_stm_dependency.mdwn +0/−95
- doc/bugs/adding_existing_repo_as_remote_in_webapp_may_reset_its_group.mdwn +0/−16
- doc/bugs/addurl_+_sync_vs_addurl_+_commit.mdwn +0/−27
- doc/bugs/addurl_magnet_could_not_download_torrent_file.mdwn +0/−49
- doc/bugs/android_4.2.1__44___galaxy_nexus_java.lang.SecurityException.mdwn +0/−41
- doc/bugs/android_autobuild_broken.mdwn +0/−4
- doc/bugs/annex-rsync-transport_ignored.mdwn +0/−30
- doc/bugs/annex_add_doesn__39__t_any_longer_by_default_commit_git-annex.mdwn +0/−43
- doc/bugs/assistant_committer_crash_on_OSX_when_adding_lots_of_files.mdwn +0/−22
- doc/bugs/assistant_creating_.git_directory_inside_bare_repo.mdwn +0/−90
- doc/bugs/assistant_eats_all_CPU.mdwn +0/−529
- doc/bugs/assistant_hangs_during_commit.mdwn +0/−27
- doc/bugs/assistant_ignore_.gitignore.mdwn +0/−31
- doc/bugs/assistant_not_noticing_file_renames__44___not_fixing_files.mdwn +0/−68
- doc/bugs/assistant_report_error_when_git_global_email+name_not_set.mdwn +0/−23
- doc/bugs/assistant_syncs_with_remotes_even_when_all_remotes_disabled.mdwn +0/−33
- doc/bugs/assistant_unable_to_auth___40__windows__41__.mdwn +0/−85
- doc/bugs/assistant_using_the_incorrect_path_on_windows__63__.mdwn +0/−45
- doc/bugs/assistant_windows_does_not_start.mdwn +0/−37
- doc/bugs/bad_behaviour_with_file_names_with_newline_in_them.mdwn +0/−5
- doc/bugs/bad_merge_commit_deleting_all_files.mdwn +0/−78
- doc/bugs/bencode.mdwn +0/−32
- doc/bugs/bencode/comment_1_24bc8c996eb32f344b3f091e14171a15._comment +0/−11
- doc/bugs/bittorrent_special_url_double-encoding.mdwn +0/−177
- doc/bugs/box.com.mdwn +0/−35
- doc/bugs/box.com/comment_1_d904a08519424cb9f599b2154d1ef953._comment +0/−10
- doc/bugs/broken_git_annex_map_on_direct_mode.mdwn +0/−58
- doc/bugs/broken_repo_when_inodes_exhausted.mdwn +62/−0
- doc/bugs/build_fails_in_Assistant__47__WebApp__47__Gpg.hs.mdwn +0/−57
- doc/bugs/build_issue_with_8baff14054e65ecbe801eb66786a55fa5245cb30.mdwn +0/−43
- doc/bugs/cannot_change_locale___40__en__95__US.UTF-8__41__.mdwn +19/−0
- doc/bugs/cannot_link_executable_on_android.mdwn +0/−28
- doc/bugs/case-insensitive.mdwn +0/−20
- doc/bugs/clean-duplicates_causes_data_loss.mdwn +0/−30
- doc/bugs/clean-duplicates_doesn__39__t_delete_duplicates.mdwn +0/−113
- doc/bugs/configurable_path_to_git-annex-shell.mdwn +0/−7
- doc/bugs/copy_fails_for_some_fails_without_explanation.mdwn +0/−7
- doc/bugs/copy_to_--fast_should_not_mention_every_file_it_checks.mdwn +0/−28
- doc/bugs/copy_unused_and_unused_not_agreeing.mdwn +0/−50
- doc/bugs/cotinually_prompting_for_gpg_passphrase.mdwn +0/−77
- doc/bugs/creds_directory_not_automatically_created.mdwn +0/−3
- doc/bugs/direct_mode_assistant_in_subdir_confusion.mdwn +0/−37
- doc/bugs/direct_mode_merge_can_overwrite_local__44___non-annexed_files.mdwn +0/−14
- doc/bugs/direct_repository_on_FAT32_fails_to_addurl_containing___63__.mdwn +0/−44
- doc/bugs/dolphin_integration_file_is_broken.mdwn +0/−37
- doc/bugs/dropping_files_with_a_URL_backend_fails.mdwn +0/−13
- doc/bugs/duplicate_progress_reports_in_parallel___39__get__39__.mdwn +2/−0
- doc/bugs/enabling_existing_gitlab_repo_in_webapp_broken.mdwn +0/−8
- doc/bugs/encfs_accused_of_being_crippled.mdwn +0/−41
- doc/bugs/encrpyted_ssh_remote_on_macosx.mdwn +0/−42
- doc/bugs/endless_loop_when_PWD_gone.mdwn +0/−16
- doc/bugs/enormous_fsck_output_OOM.mdwn +0/−30
- doc/bugs/error_compiling_network-info_when_compiling_git-annex.mdwn +0/−12
- doc/bugs/extraneous_shell_escaping_for_rsync_remotes.mdwn +0/−15
- doc/bugs/failed_sync_with_direct_mode_repo.mdwn +0/−9
- doc/bugs/fails_to_get_content_from_bare_repo_on_windows.mdwn +0/−143
- doc/bugs/failure_during_ssh_key_setup___40__windows__41__.mdwn +0/−12
- doc/bugs/failure_to_return_to_indirect_mode_on_usb.mdwn +0/−23
- doc/bugs/feeding_git_annex_with_xargs_can_fail.mdwn +0/−15
- doc/bugs/file_not_found.mdwn +0/−30
- doc/bugs/files_lost_during_upgrade.mdwn +0/−2191
- doc/bugs/flooding_me_with_ssh_password_prompts.mdwn +0/−47
- doc/bugs/follows_symlinks_to_outside_annex.mdwn +0/−3
- doc/bugs/forget_corrupts_non-ascii_chars.mdwn +0/−78
- doc/bugs/fsck_giving_false_checking_information.mdwn +0/−29
- doc/bugs/fsck_of_special_remotes_incorrectly_reports_ok.mdwn +0/−36
- doc/bugs/fsck_reports_unsolvable_problem.mdwn +0/−27
- doc/bugs/getEffectiveUserID_not_supported_on_Windows.mdwn +0/−28
- doc/bugs/get_from_glacier_fails_too_early.mdwn +0/−72
- doc/bugs/git-annex-shell_doesn__39__t_work_as_expected.mdwn +0/−121
- doc/bugs/git-annex.app_doesn__39__t_seem_to_use_the_bundled_git.mdwn +0/−50
- doc/bugs/git-annex_annex_repo_not_found.mdwn +0/−23
- doc/bugs/git-annex_assistant_not_working_with_nested_git_repos.mdwn +0/−22
- doc/bugs/git-annex_auto_upgrade_is_redundant.mdwn +0/−34
- doc/bugs/git-annex_broken_on_Android_4.3.mdwn +0/−7
- doc/bugs/git-annex_confuses_Git_with_nested_submodules.mdwn +1/−0
- doc/bugs/git-annex_fails_to_initialize_under_Windows_with_cygwin.mdwn +0/−40
- doc/bugs/git-annex_on_NAS_eats_all_memory.mdwn +0/−39
- doc/bugs/git-annex_opens_too_many_files.mdwn +0/−42
- doc/bugs/git-annex_remotedeamon.mdwn +0/−27
- doc/bugs/git-annex_sync_does_not_push.mdwn +0/−52
- doc/bugs/git-annex_unused_--from_s3_doesn__39__t.mdwn +0/−31
- doc/bugs/git-annex_webapp_command_not_found.mdwn +0/−25
- doc/bugs/git.kitenet.net__47__downloads_has_wrong_git-annex_branch.mdwn +0/−58
- doc/bugs/git_annex_add_adds_unlocked_files.mdwn +0/−21
- doc/bugs/git_annex_add_ignores_some_files__47__directories.mdwn +0/−23
- doc/bugs/git_annex_copy_--fast_does_not_copy_files.mdwn +0/−22
- doc/bugs/git_annex_costs_not_working_as_expected_in_the_assistant.mdwn +0/−140
- doc/bugs/git_annex_doesn__39__t_work_in_Max_OS_X_10.9.mdwn +0/−220
- doc/bugs/git_annex_fsck_loops.mdwn +0/−91
- doc/bugs/git_annex_fsck_on_btrfs_devices.mdwn +0/−18
- doc/bugs/git_annex_get_fails_from_read-only_repository.mdwn +2/−0
- doc/bugs/git_annex_ignores_GIT__95__SSH__63__.mdwn +0/−24
- doc/bugs/git_annex_importfeed_not_working_on_youtube_playlists.mdwn +0/−39
- doc/bugs/git_annex_list__47__whereis_and_uncommited_local_changes.mdwn +0/−33
- doc/bugs/git_annex_map_has_problems_with_urls_containing___126__.mdwn +0/−46
- doc/bugs/git_annex_status_doesn__39__t_use_.gitignore_in_direct_mode.mdwn +0/−18
- doc/bugs/git_annex_sync_--content_may_copy_then_drop_a_file_to_a_remote.mdwn +0/−35
- doc/bugs/git_annex_sync_--content_not_syncing_all_objects.mdwn +0/−36
- doc/bugs/git_annex_sync_thinks_remote__39__s_name_is_a_command.mdwn +0/−102
- doc/bugs/git_annex_unlock_is_not_atomic.mdwn +0/−7
- doc/bugs/git_annex_unused_failes_on_empty_repository.mdwn +0/−15
- doc/bugs/git_annex_unused_fails_when_a_filename_contains_newline.mdwn +0/−69
- doc/bugs/git_clone_ignores_annex.mdwn +0/−25
- doc/bugs/git_mv_before_commit_breaks_symlinks.mdwn +0/−28
- doc/bugs/git_pack-objects_eats_all_teh_ram.mdwn +0/−21
- doc/bugs/gitignore_for_DCIM_on_Android_misses_some_files.mdwn +0/−17
- doc/bugs/gitlab_repos_cannot_use_gcrypt.mdwn +0/−33
- doc/bugs/glacier_fails_to_copy.mdwn +0/−85
- doc/bugs/gpg_does_not_ask_for_password_inside_tmux.mdwn +0/−25
- doc/bugs/hS3_prevents_build.mdwn +0/−3
- doc/bugs/how_to_get_git-annex_shell_on_MAC__63__.mdwn +0/−27
- doc/bugs/id__95__rsa_on_android.mdwn +0/−32
- doc/bugs/illegal_hardware_instruction_on_OSX_for_5.20131230-g9a495e6.mdwn +0/−25
- doc/bugs/import_leaves_empty_directories_behind.mdwn +0/−20
- doc/bugs/import_leaves_stray___96__.tmp__96___files_if_interrupted.mdwn +0/−12
- doc/bugs/import_memleak_from_the_assistant.mdwn +0/−1608
- doc/bugs/import_memleak_from_the_assistant/leakafter.png binary
- doc/bugs/import_memleak_from_the_assistant/leakbefore.png binary
- doc/bugs/importfeed_--relaxed_fails_with_HEAD-rejecting_servers.mdwn +0/−38
- doc/bugs/importfeed_can__39__t_deal_with_pycon_rss_feeds.mdwn +0/−28
- doc/bugs/importfeed_fails_with_local_file_urls.mdwn +0/−35
- doc/bugs/inconsistent_use_of_SI_prefixes.mdwn +0/−55
- doc/bugs/incremental_fsck_should_not_use_sticky_bit.mdwn +0/−19
- doc/bugs/index_file_smaller_than_expected.mdwn +0/−53
- doc/bugs/info_file_contains_wrong_version.mdwn +0/−20
- doc/bugs/interference_with_Dropbox_results_in_data_loss.mdwn +0/−50
- doc/bugs/issues_with_non-posix_compatible_shells.mdwn +0/−41
- doc/bugs/kill_git-annex_assistant_on_logout.mdwn +0/−29
- doc/bugs/links_in_firefox_do_not_always_work.mdwn +0/−26
- doc/bugs/list-tests_runs_tests.mdwn +0/−28
- doc/bugs/local_pair_fails_if_non-ascii_characters_present_on_annex_path.mdwn +0/−18
- doc/bugs/log_fails_with_-raw_error.mdwn +0/−47
- doc/bugs/main_repo_not_available_on_downloads.kitenet.net.mdwn +0/−34
- doc/bugs/make_install_can__39__t_be_used_with_sudo.mdwn +0/−20
- doc/bugs/make_whereis_output_more_concise.mdwn +0/−60
- doc/bugs/man_page_has_example_lines_joined_into_a_single_line.mdwn +0/−18
- doc/bugs/manpage_has_slight_indentation_error.mdwn +0/−38
- doc/bugs/misuse_of_--git-dir_might_destroy_a_git_repository_completely.mdwn +0/−34
- doc/bugs/modified_permissions_persist_after_unlock__44___commit.mdwn +0/−43
- doc/bugs/new_AWS_region___40__eu-central-1__41__.mdwn +0/−10
- doc/bugs/non-annexed_file_changed_to_annexed_on_typechange.mdwn +0/−40
- doc/bugs/numcopies_deprecated__44___but_still_in_walkthrough.mdwn +0/−21
- doc/bugs/package_build_fails_with_missing_man_directory.mdwn +0/−30
- doc/bugs/problems_with_glacier.mdwn +0/−65
- doc/bugs/protocol_mismatch_after_interrupt.mdwn +0/−33
- doc/bugs/provide_--version_.mdwn +0/−5
- doc/bugs/proxy_command_fails_on_Windows.mdwn +0/−36
- doc/bugs/remote_gcrypt_based_repos_and_conflicting_uuids.mdwn +0/−30
- doc/bugs/repo_creation_fails_on_android_4.4.3.mdwn +0/−30
- doc/bugs/rsync_on_windows_broken_by_upgrade.mdwn +0/−69
- doc/bugs/rsync_remote_is_not_working.mdwn +0/−28
- doc/bugs/rsync_remote_with_-J2_fails.mdwn +0/−57
- doc/bugs/runs_of_of_memory_adding_2_million_files.mdwn +0/−17
- doc/bugs/set_metadata_on_wrong_files.mdwn +0/−90
- doc/bugs/sharedRepository__61__world_not_working.mdwn +0/−37
- doc/bugs/ssh-keygen_failed_when_adding_remote_server_repo.mdwn +0/−44
- doc/bugs/ssh-options_seems_to_be_ignored.mdwn +0/−48
- doc/bugs/ssh_fails_in_windows_nightly_build.mdwn +0/−10
- doc/bugs/ssh_over_IPv6.mdwn +0/−29
- doc/bugs/ssh_over_IPv6/comment_1_0287f73c44645a1f854ecfe4ddddb258._comment +0/−15
- doc/bugs/ssh_over_IPv6/comment_2_cfa63d226ae411551a728af5ab043491._comment +0/−29
- doc/bugs/ssh_portnum_bugs.mdwn +0/−18
- doc/bugs/startup_scan_extremely_slow.mdwn +69/−0
- doc/bugs/startup_scan_extremely_slow___40__v6_repo__41__.mdwn +0/−69
- doc/bugs/stderr_of_special_external_remotes_is_swallowed.mdwn +0/−10
- doc/bugs/symlinks_to_absent_files_remain_upon_switching_to_direct_mode.mdwn +0/−72
- doc/bugs/sync_content_has_really_suboptimal_behavior.mdwn +0/−50
- doc/bugs/sync_does_not_commit_with_alwasycommit___61___false.mdwn +0/−90
- doc/bugs/test_failures_on_window_for_5.20131118.mdwn +0/−22
- doc/bugs/too_many_open_files_on_OSX.mdwn +0/−42
- doc/bugs/transfer_in_progress_not_present_in_json_output.mdwn +0/−32
- doc/bugs/transfer_lock_file_removal_bug.mdwn +0/−61
- doc/bugs/trust_command_and_gitconfig_contradiction_causing_confusion.mdwn +0/−35
- doc/bugs/typo_on_the_Mac_OS_10.7.5_Lion_build.mdwn +0/−11
- doc/bugs/unable_to_change_repository_group_of___34__here__34__.mdwn +0/−13
- doc/bugs/unannex_requires_commit_for_new_directories.mdwn +0/−31
- doc/bugs/undefined.mdwn +0/−5
- doc/bugs/unexpected_double_wildcard_expansion.mdwn +0/−15
- doc/bugs/unfinished_repository_when_using_annex-ignore_true_.mdwn +0/−25
- doc/bugs/unlock_with_absolute_path__63__.mdwn +0/−44
- doc/bugs/upgrade_left_untracked_.git-annex__47____42___directories.mdwn +0/−16
- doc/bugs/uploads_queued_to_annex-ignore_remotes.mdwn +0/−34
- doc/bugs/using_gpg_encryption_with_multiple_keys_fails.mdwn +0/−57
- doc/bugs/view_fails_with___34__invalid_character__34__.mdwn +0/−56
- doc/bugs/web_app_loops_over_a_non-addable_file.mdwn +0/−56
- doc/bugs/webapp_does_not_start_on_android.mdwn +0/−22
- doc/bugs/webapp_fails_to_connect_to_ssh_repository___40__windows__41__.mdwn +0/−40
- doc/bugs/webapp_missing_on_redhat.mdwn +0/−21
- doc/bugs/webapp_on_windows_7_64_bit_fail_to_add_server_repo.mdwn +0/−76
- doc/bugs/weird_entry_in_process_list.mdwn +0/−41
- doc/bugs/wget_and_android_4.4.mdwn +0/−27
- doc/bugs/whereis_does_not_work_in_direct_mode.mdwn +0/−91
- doc/bugs/windows_install_failure.mdwn +0/−33
- doc/bugs/windows_isExecutable_fail.mdwn +0/−27
- doc/bugs/wrong_synopsis_in_manpage_of_git_annex_pre-commit.mdwn +0/−36
- doc/bugs/youtube_support_suddenly_stopped_working.mdwn +0/−62
- doc/bugs/youtube_web_download_gives_Prelude.undefined_in_webapp.mdwn +0/−27
- doc/design/assistant/polls/prioritizing_special_remotes.mdwn +1/−1
- doc/design/external_special_remote_protocol.mdwn +1/−1
- doc/design/new_repo_versions.mdwn +2/−1
- doc/devblog/day_382-384__pretty_well_caught_up.mdwn +9/−0
- doc/devblog/day_385__new_features.mdwn +16/−0
- doc/devblog/day_386__day_off.mdwn +12/−0
- doc/forum/Assistant_fails_to_authenticate_to_rsync_remote.mdwn +17/−0
- doc/forum/Using_integer_ranges_with_metadata.mdwn +40/−0
- doc/forum/difference_between_uninit_and_unlock.mdwn +10/−0
- doc/git-annex-calckey.mdwn +40/−0
- doc/git-annex-preferred-content.mdwn +1/−1
- doc/git-annex-reinject.mdwn +39/−9
- doc/git-annex.mdwn +8/−1
- doc/install/Debian.mdwn +11/−3
- doc/news/version_6.20160217.mdwn +0/−22
- doc/news/version_6.20160419.mdwn +29/−0
- doc/special_remotes.mdwn +6/−1
- doc/todo/A_really_simple_way_to_pair_devices_like_bittorent_sync.mdwn +0/−11
- doc/todo/Add___39__dir__39___option_to_addurl.mdwn +0/−4
- doc/todo/Add_gitlab.com_as_cloud_provider.mdwn +0/−10
- doc/todo/Amazon_Cloud_Drive.mdwn +9/−0
- doc/todo/Chunks_support_in_all_special_remotes.mdwn +0/−10
- doc/todo/Deduplicate_archive___40__i.e._zip__41___files.mdwn +0/−9
- doc/todo/Deleting_Unused_Files_by_Age.mdwn +0/−17
- doc/todo/Expose_auto-merge_for_manual__44___local_merges.mdwn +0/−9
- doc/todo/New_special_remote_suggeston_-_clean_directory.mdwn +0/−23
- doc/todo/Output_key_with_import__47__deduplicate.mdwn +0/−22
- doc/todo/Recovering_from_a_bad_sync.mdwn +0/−31
- doc/todo/Recursive_addurl_simlar_to_wget_--recursive.mdwn +0/−9
- doc/todo/Shorten_long_file_names_preventing_git_checkout.mdwn +0/−14
- doc/todo/Specify_a_version_for_the___39__feed__39___build_dependency..mdwn +0/−9
- doc/todo/Support_--jobs_option_for___39__sync_--content__39__.mdwn +0/−14
- doc/todo/Support_dbus_monitor_for_networkd.mdwn +0/−5
- doc/todo/Time_Stamping_of_Events_in_Webapp.mdwn +0/−3
- doc/todo/Views_Demo.mdwn +0/−15
- doc/todo/Views_Demo/comment_1_d7c83a0e9a83e4a05aa74a34a7e1cf19._comment +0/−8
- doc/todo/What_if_the_active_annex__39__ed_files_were_not_symlinks__63__.mdwn +0/−26
- doc/todo/__171__git_annex_add__187___for_symlinks_in_direct_mode.mdwn +0/−10
- doc/todo/add_--quiet_option_to_fsck.mdwn +0/−7
- doc/todo/add_option_to_whereis_to_avoid_network_interactions.mdwn +20/−0
- doc/todo/allow_removing_jabber_configuration.mdwn +0/−5
- doc/todo/better_git-annex-shell_init_workflow.mdwn +0/−12
- doc/todo/cheaper_global_fsck.mdwn +0/−38
- doc/todo/clear_file_names_in_special_remotes.mdwn +0/−13
- doc/todo/command_line_interface_for_required_content_setthings.mdwn +0/−13
- doc/todo/commit_in_direct_mode.mdwn +0/−12
- doc/todo/credentials-less_access_to_s3.mdwn +0/−13
- doc/todo/direct_mode_undo.mdwn +0/−88
- doc/todo/do_not_commit_with_empty_messages.mdwn +0/−15
- doc/todo/drop_--batch.mdwn +3/−0
- doc/todo/enable_fsck_--fast_for_S3_remotes.mdwn +0/−30
- doc/todo/extensible_addurl.mdwn +0/−88
- doc/todo/fast_migrate.mdwn +0/−16
- doc/todo/fcntl_locks_break_with_threaded_concurrency.mdwn +0/−29
- doc/todo/get_--incomplete.mdwn +0/−8
- doc/todo/git-annex-standalone_Debian_package.mdwn +0/−3
- doc/todo/git-annex_in_debian_sid.mdwn +0/−6
- doc/todo/git-annex_info___34__du__34___remote_support.mdwn +0/−41
- doc/todo/git-annex_metadata_extractor_progress_bar.mdwn +0/−7
- doc/todo/git_annex_get___60__file__62___should_verify_file_hash.mdwn +0/−34
- doc/todo/git_annex_grep.mdwn +0/−19
- doc/todo/git_annex_grep/comment_1_890b3ecb679b941f9c0075ed360b203e._comment +0/−9
- doc/todo/import_--reinject.mdwn +2/−0
- doc/todo/inject_on_import.mdwn +0/−63
- doc/todo/merge_in_ram___40__disk__41____63__.mdwn +0/−8
- doc/todo/notifications.mdwn +0/−6
- doc/todo/podcatching_handling_updated_files.mdwn +0/−19
- doc/todo/remote_groups_support_for_sync.mdwn +0/−5
- doc/todo/replace_dataenc_with_sandi.mdwn +0/−6
- doc/todo/resuming_encrypted_uploads.mdwn +0/−29
- doc/todo/server-level_daemon__63__.mdwn +0/−203
- doc/todo/subsecond_timestamping_of_the_--debug_output.mdwn +0/−4
- doc/todo/support_--allow-unrelated-histories_in_git_2.8.1pre.mdwn +20/−0
- doc/todo/unused_by_refspec.mdwn +0/−41
- doc/todo/upload_large_chunks_without_buffering_in_memory.mdwn +26/−0
- doc/todo/vicfg_comment_gotcha.mdwn +0/−20
- doc/todo/view_git_annex_log_in_webapp.mdwn +0/−7
- doc/todo/windows_git-annex_service.mdwn +0/−30
- doc/todo/wishlist__58___swift_backend.mdwn +7/−0
- doc/tuning.mdwn +2/−1
- git-annex.cabal +1/−1
- man/git-annex-calckey.1 +35/−0
- man/git-annex-dropkey.1 +1/−2
- man/git-annex-preferred-content.1 +1/−1
- man/git-annex-reinject.1 +37/−9
- man/git-annex.1 +7/−1
- standalone/android/tmp/network-2.4.1.2/LICENSE +29/−0
- standalone/android/tmp/network-2.4.1.2/Network.hs +473/−0
- standalone/android/tmp/network-2.4.1.2/Network/BSD.hsc +489/−0
- standalone/android/tmp/network-2.4.1.2/Network/Socket.hsc +1663/−0
- standalone/android/tmp/network-2.4.1.2/Network/Socket/ByteString.hsc +374/−0
- standalone/android/tmp/network-2.4.1.2/Network/Socket/ByteString/IOVec.hsc +30/−0
- standalone/android/tmp/network-2.4.1.2/Network/Socket/ByteString/Internal.hs +54/−0
- standalone/android/tmp/network-2.4.1.2/Network/Socket/ByteString/Lazy.hsc +149/−0
- standalone/android/tmp/network-2.4.1.2/Network/Socket/ByteString/MsgHdr.hsc +48/−0
- standalone/android/tmp/network-2.4.1.2/Network/Socket/Internal.hsc +257/−0
- standalone/android/tmp/network-2.4.1.2/Network/Socket/Types.hsc +962/−0
- standalone/android/tmp/network-2.4.1.2/Network/URI.hs +1349/−0
- standalone/android/tmp/network-2.4.1.2/README +4/−0
- standalone/android/tmp/network-2.4.1.2/Setup.hs +6/−0
- standalone/android/tmp/network-2.4.1.2/cabal.config +199/−0
- standalone/android/tmp/network-2.4.1.2/cbits/HsNet.c +22/−0
- standalone/android/tmp/network-2.4.1.2/cbits/ancilData.c +123/−0
- standalone/android/tmp/network-2.4.1.2/cbits/asyncAccept.c +72/−0
- standalone/android/tmp/network-2.4.1.2/cbits/initWinSock.c +52/−0
- standalone/android/tmp/network-2.4.1.2/cbits/winSockErr.c +76/−0
- standalone/android/tmp/network-2.4.1.2/config.guess +1420/−0
- standalone/android/tmp/network-2.4.1.2/config.sub +1799/−0
- standalone/android/tmp/network-2.4.1.2/configure +5327/−0
- standalone/android/tmp/network-2.4.1.2/configure.ac +184/−0
- standalone/android/tmp/network-2.4.1.2/examples/EchoClient.hs +18/−0
- standalone/android/tmp/network-2.4.1.2/examples/EchoServer.hs +27/−0
- standalone/android/tmp/network-2.4.1.2/include/HsNet.h +179/−0
- standalone/android/tmp/network-2.4.1.2/include/HsNetworkConfig.h +154/−0
- standalone/android/tmp/network-2.4.1.2/include/HsNetworkConfig.h.in +153/−0
- standalone/android/tmp/network-2.4.1.2/install-sh +295/−0
- standalone/android/tmp/network-2.4.1.2/network.buildinfo.in +5/−0
- standalone/android/tmp/network-2.4.1.2/network.cabal +103/−0
- standalone/android/tmp/network-2.4.1.2/tests/Regression.hs +31/−0
- standalone/android/tmp/network-2.4.1.2/tests/Simple.hs +244/−0
- standalone/android/tmp/network-2.4.1.2/tests/uri001.hs +1431/−0
- standalone/linux/skel/runshell +0/−4
+ .stack-work/install/x86_64-linux/lts-5.5/7.10.3/pkgdb/package.cache view
binary file changed (absent → 4804 bytes)
+ .stack-work/logs/HUnit-1.3.1.1.log view
@@ -0,0 +1,12 @@+Configuring HUnit-1.3.1.1...+Building HUnit-1.3.1.1...+Preprocessing library HUnit-1.3.1.1...+[1 of 5] Compiling Test.HUnit.Terminal ( Test/HUnit/Terminal.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Test/HUnit/Terminal.o )+[2 of 5] Compiling Test.HUnit.Lang ( Test/HUnit/Lang.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Test/HUnit/Lang.o )+[3 of 5] Compiling Test.HUnit.Base ( Test/HUnit/Base.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Test/HUnit/Base.o )+[4 of 5] Compiling Test.HUnit.Text ( Test/HUnit/Text.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Test/HUnit/Text.o )+[5 of 5] Compiling Test.HUnit ( Test/HUnit.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Test/HUnit.o )+In-place registering HUnit-1.3.1.1...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/HUnit-1.3.1.1-7IPmJa5HmrxHl6ny5upchm+Registering HUnit-1.3.1.1...
+ .stack-work/logs/IfElse-0.85.log view
@@ -0,0 +1,13 @@+Configuring IfElse-0.85...+Building IfElse-0.85...+Preprocessing library IfElse-0.85...+[1 of 1] Compiling Control.Monad.IfElse ( Control/Monad/IfElse.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Monad/IfElse.o )++Control/Monad/IfElse.hs:159:11: Warning:+ Rule "maybeMP/id" may never fire+ because ‘maybeMP’ might inline first+ Probable fix: add an INLINE[n] or NOINLINE[n] pragma on ‘maybeMP’+In-place registering IfElse-0.85...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/IfElse-0.85-EkfAH5IXGLU4RHYa9FeF8K+Registering IfElse-0.85...
+ .stack-work/logs/StateVar-1.1.0.3.log view
@@ -0,0 +1,8 @@+Configuring StateVar-1.1.0.3...+Building StateVar-1.1.0.3...+Preprocessing library StateVar-1.1.0.3...+[1 of 1] Compiling Data.StateVar ( src/Data/StateVar.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/StateVar.o )+In-place registering StateVar-1.1.0.3...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/StateVar-1.1.0.3-8WYLUQJECQz8PFb9p2aPSq+Registering StateVar-1.1.0.3...
+ .stack-work/logs/asn1-encoding-0.9.3.log view
@@ -0,0 +1,33 @@+Configuring asn1-encoding-0.9.3...+Building asn1-encoding-0.9.3...+Preprocessing library asn1-encoding-0.9.3...+[ 1 of 12] Compiling Data.ASN1.Get ( Data/ASN1/Get.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Get.o )++Data/ASN1/Get.hs:30:1: Warning:+ The import of ‘Applicative’+ from module ‘Control.Applicative’ is redundant+[ 2 of 12] Compiling Data.ASN1.Internal ( Data/ASN1/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Internal.o )+[ 3 of 12] Compiling Data.ASN1.Serialize ( Data/ASN1/Serialize.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Serialize.o )++Data/ASN1/Serialize.hs:17:1: Warning:+ The import of ‘Control.Applicative’ is redundant+ except perhaps to import instances from ‘Control.Applicative’+ To import instances alone, use: import Control.Applicative()+[ 4 of 12] Compiling Data.ASN1.Object ( Data/ASN1/Object.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Object.o )+[ 5 of 12] Compiling Data.ASN1.BinaryEncoding.Writer ( Data/ASN1/BinaryEncoding/Writer.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/BinaryEncoding/Writer.o )+[ 6 of 12] Compiling Data.ASN1.Stream ( Data/ASN1/Stream.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Stream.o )+[ 7 of 12] Compiling Data.ASN1.Error ( Data/ASN1/Error.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Error.o )+[ 8 of 12] Compiling Data.ASN1.Encoding ( Data/ASN1/Encoding.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Encoding.o )+[ 9 of 12] Compiling Data.ASN1.BinaryEncoding.Parse ( Data/ASN1/BinaryEncoding/Parse.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/BinaryEncoding/Parse.o )+[10 of 12] Compiling Data.ASN1.BinaryEncoding.Raw ( Data/ASN1/BinaryEncoding/Raw.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/BinaryEncoding/Raw.o )+[11 of 12] Compiling Data.ASN1.Prim ( Data/ASN1/Prim.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Prim.o )++Data/ASN1/Prim.hs:59:1: Warning:+ The import of ‘Control.Applicative’ is redundant+ except perhaps to import instances from ‘Control.Applicative’+ To import instances alone, use: import Control.Applicative()+[12 of 12] Compiling Data.ASN1.BinaryEncoding ( Data/ASN1/BinaryEncoding.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/BinaryEncoding.o )+In-place registering asn1-encoding-0.9.3...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/asn1-encoding-0.9.3-A0jeMIoYyiZ4PSPkybrUpF+Registering asn1-encoding-0.9.3...
+ .stack-work/logs/asn1-parse-0.9.4.log view
@@ -0,0 +1,13 @@+Configuring asn1-parse-0.9.4...+Building asn1-parse-0.9.4...+Preprocessing library asn1-parse-0.9.4...+[1 of 1] Compiling Data.ASN1.Parse ( Data/ASN1/Parse.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Parse.o )++Data/ASN1/Parse.hs:30:1: Warning:+ The import of ‘Control.Applicative’ is redundant+ except perhaps to import instances from ‘Control.Applicative’+ To import instances alone, use: import Control.Applicative()+In-place registering asn1-parse-0.9.4...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/asn1-parse-0.9.4-LrLFPvrxagO8jGmFd1SmqK+Registering asn1-parse-0.9.4...
+ .stack-work/logs/asn1-types-0.3.2.log view
@@ -0,0 +1,17 @@+Configuring asn1-types-0.3.2...+Building asn1-types-0.3.2...+Preprocessing library asn1-types-0.3.2...+[1 of 6] Compiling Data.ASN1.Types.String ( Data/ASN1/Types/String.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Types/String.o )++Data/ASN1/Types/String.hs:154:22: Warning:+ This binding for ‘b’ shadows the existing binding+ bound at Data/ASN1/Types/String.hs:151:13+[2 of 6] Compiling Data.ASN1.Types.Lowlevel ( Data/ASN1/Types/Lowlevel.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Types/Lowlevel.o )+[3 of 6] Compiling Data.ASN1.OID ( Data/ASN1/OID.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/OID.o )+[4 of 6] Compiling Data.ASN1.BitArray ( Data/ASN1/BitArray.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/BitArray.o )+[5 of 6] Compiling Data.ASN1.Types ( Data/ASN1/Types.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Types.o )+[6 of 6] Compiling Data.ASN1.Pretty ( Data/ASN1/Pretty.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ASN1/Pretty.o )+In-place registering asn1-types-0.3.2...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/asn1-types-0.3.2-BR43uodYA6j1oMVNuWbt5p+Registering asn1-types-0.3.2...
+ .stack-work/logs/async-2.1.0.log view
@@ -0,0 +1,8 @@+Configuring async-2.1.0...+Building async-2.1.0...+Preprocessing library async-2.1.0...+[1 of 1] Compiling Control.Concurrent.Async ( Control/Concurrent/Async.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Concurrent/Async.o )+In-place registering async-2.1.0...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/async-2.1.0-KuqnF1GrhHK5nNp6Zzm3jy+Registering async-2.1.0...
+ .stack-work/logs/base-orphans-0.5.2.log view
@@ -0,0 +1,9 @@+Configuring base-orphans-0.5.2...+Building base-orphans-0.5.2...+Preprocessing library base-orphans-0.5.2...+[1 of 2] Compiling Data.Orphans.Prelude ( src/Data/Orphans/Prelude.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Orphans/Prelude.o )+[2 of 2] Compiling Data.Orphans ( src/Data/Orphans.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Orphans.o )+In-place registering base-orphans-0.5.2...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/base-orphans-0.5.2-HxKyLMrSk4gBsNUM7D4Xui+Registering base-orphans-0.5.2...
+ .stack-work/logs/bytestring-builder-0.10.6.0.0.log view
@@ -0,0 +1,7 @@+Configuring bytestring-builder-0.10.6.0.0...+Building bytestring-builder-0.10.6.0.0...+Preprocessing library bytestring-builder-0.10.6.0.0...+In-place registering bytestring-builder-0.10.6.0.0...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/bytestring-builder-0.10.6.0.0-DW2JeazcMjm0XCS5oqEEA4+Registering bytestring-builder-0.10.6.0.0...
+ .stack-work/logs/case-insensitive-1.2.0.5.log view
@@ -0,0 +1,10 @@+Configuring case-insensitive-1.2.0.5...+Building case-insensitive-1.2.0.5...+Preprocessing library case-insensitive-1.2.0.5...+[1 of 3] Compiling Data.CaseInsensitive.Internal ( Data/CaseInsensitive/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/CaseInsensitive/Internal.o )+[2 of 3] Compiling Data.CaseInsensitive.Unsafe ( Data/CaseInsensitive/Unsafe.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/CaseInsensitive/Unsafe.o )+[3 of 3] Compiling Data.CaseInsensitive ( Data/CaseInsensitive.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/CaseInsensitive.o )+In-place registering case-insensitive-1.2.0.5...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/case-insensitive-1.2.0.5-DNSVdyEjyyl9Og6G8xHN9C+Registering case-insensitive-1.2.0.5...
+ .stack-work/logs/cereal-0.5.1.0.log view
@@ -0,0 +1,11 @@+Configuring cereal-0.5.1.0...+Building cereal-0.5.1.0...+Preprocessing library cereal-0.5.1.0...+[1 of 4] Compiling Data.Serialize.Put ( src/Data/Serialize/Put.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Serialize/Put.o )+[2 of 4] Compiling Data.Serialize.Get ( src/Data/Serialize/Get.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Serialize/Get.o )+[3 of 4] Compiling Data.Serialize.IEEE754 ( src/Data/Serialize/IEEE754.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Serialize/IEEE754.o )+[4 of 4] Compiling Data.Serialize ( src/Data/Serialize.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Serialize.o )+In-place registering cereal-0.5.1.0...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/cereal-0.5.1.0-843xOxvPj94HAJ9SD4EJuq+Registering cereal-0.5.1.0...
+ .stack-work/logs/cryptonite-0.10.log view
+ .stack-work/logs/disk-free-space-0.1.0.1.log view
@@ -0,0 +1,8 @@+Configuring disk-free-space-0.1.0.1...+Building disk-free-space-0.1.0.1...+Preprocessing library disk-free-space-0.1.0.1...+[1 of 1] Compiling System.DiskSpace ( .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/System/DiskSpace.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/System/DiskSpace.o )+In-place registering disk-free-space-0.1.0.1...+Installing library in+/home/joey/src/git-annex/.stack-work/install/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/disk-free-space-0.1.0.1-CjEBDT0Sn2mACUKc5Cnz8d+Registering disk-free-space-0.1.0.1...
+ .stack-work/logs/enclosed-exceptions-1.0.1.1.log view
@@ -0,0 +1,8 @@+Configuring enclosed-exceptions-1.0.1.1...+Building enclosed-exceptions-1.0.1.1...+Preprocessing library enclosed-exceptions-1.0.1.1...+[1 of 1] Compiling Control.Exception.Enclosed ( src/Control/Exception/Enclosed.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Exception/Enclosed.o )+In-place registering enclosed-exceptions-1.0.1.1...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/enclosed-exceptions-1.0.1.1-JGFT1bQLY7rHZgsD1TY8wq+Registering enclosed-exceptions-1.0.1.1...
+ .stack-work/logs/exceptions-0.8.2.1.log view
@@ -0,0 +1,9 @@+Configuring exceptions-0.8.2.1...+Building exceptions-0.8.2.1...+Preprocessing library exceptions-0.8.2.1...+[1 of 2] Compiling Control.Monad.Catch ( src/Control/Monad/Catch.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Monad/Catch.o )+[2 of 2] Compiling Control.Monad.Catch.Pure ( src/Control/Monad/Catch/Pure.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Monad/Catch/Pure.o )+In-place registering exceptions-0.8.2.1...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/exceptions-0.8.2.1-6lgwjdgwblY7rzh5s6SLd8+Registering exceptions-0.8.2.1...
+ .stack-work/logs/feed-0.3.11.1.log view
@@ -0,0 +1,34 @@+Configuring feed-0.3.11.1...+Building feed-0.3.11.1...+Preprocessing library feed-0.3.11.1...+[ 1 of 23] Compiling Text.RSS.Syntax ( src/Text/RSS/Syntax.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/RSS/Syntax.o )+[ 2 of 23] Compiling Text.RSS.Export ( src/Text/RSS/Export.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/RSS/Export.o )+[ 3 of 23] Compiling Text.DublinCore.Types ( src/Text/DublinCore/Types.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/DublinCore/Types.o )+[ 4 of 23] Compiling Text.RSS1.Syntax ( src/Text/RSS1/Syntax.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/RSS1/Syntax.o )+[ 5 of 23] Compiling Text.RSS1.Utils ( src/Text/RSS1/Utils.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/RSS1/Utils.o )+[ 6 of 23] Compiling Text.RSS1.Export ( src/Text/RSS1/Export.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/RSS1/Export.o )+[ 7 of 23] Compiling Text.RSS.Import ( src/Text/RSS/Import.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/RSS/Import.o )+[ 8 of 23] Compiling Text.RSS1.Import ( src/Text/RSS1/Import.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/RSS1/Import.o )+[ 9 of 23] Compiling Text.Atom.Feed.Link ( src/Text/Atom/Feed/Link.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Atom/Feed/Link.o )+[10 of 23] Compiling Text.Atom.Feed ( src/Text/Atom/Feed.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Atom/Feed.o )+[11 of 23] Compiling Text.Atom.Feed.Export ( src/Text/Atom/Feed/Export.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Atom/Feed/Export.o )+[12 of 23] Compiling Text.Atom.Feed.Import ( src/Text/Atom/Feed/Import.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Atom/Feed/Import.o )+[13 of 23] Compiling Text.Atom.Feed.Validate ( src/Text/Atom/Feed/Validate.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Atom/Feed/Validate.o )+[14 of 23] Compiling Text.Atom.Pub ( src/Text/Atom/Pub.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Atom/Pub.o )+[15 of 23] Compiling Text.Atom.Pub.Export ( src/Text/Atom/Pub/Export.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Atom/Pub/Export.o )+[16 of 23] Compiling Text.Feed.Types ( src/Text/Feed/Types.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Feed/Types.o )+[17 of 23] Compiling Text.Feed.Constructor ( src/Text/Feed/Constructor.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Feed/Constructor.o )++src/Text/Feed/Constructor.hs:131:5: Warning:+ Pattern match(es) are non-exhaustive+ In a case alternative: Patterns not matched: XMLFeed _+[18 of 23] Compiling Text.Feed.Export ( src/Text/Feed/Export.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Feed/Export.o )+[19 of 23] Compiling Text.Feed.Import ( src/Text/Feed/Import.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Feed/Import.o )+[20 of 23] Compiling Text.Feed.Util ( src/Text/Feed/Util.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Feed/Util.o )+[21 of 23] Compiling Text.Feed.Query ( src/Text/Feed/Query.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Feed/Query.o )+[22 of 23] Compiling Text.Feed.Translate ( src/Text/Feed/Translate.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Text/Feed/Translate.o )+[23 of 23] Compiling Paths_feed ( .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/autogen/Paths_feed.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Paths_feed.o )+In-place registering feed-0.3.11.1...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/feed-0.3.11.1-Bx5SR4O8Rb3DZHunpzkbxZ+Registering feed-0.3.11.1...
+ .stack-work/logs/file-embed-0.0.9.1.log view
@@ -0,0 +1,13 @@+Configuring file-embed-0.0.9.1...+Building file-embed-0.0.9.1...+Preprocessing library file-embed-0.0.9.1...+[1 of 1] Compiling Data.FileEmbed ( Data/FileEmbed.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/FileEmbed.o )++Data/FileEmbed.hs:64:1: Warning:+ The import of ‘Control.Applicative’ is redundant+ except perhaps to import instances from ‘Control.Applicative’+ To import instances alone, use: import Control.Applicative()+In-place registering file-embed-0.0.9.1...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/file-embed-0.0.9.1-ID0BQq7SkFm2s7BTdE1urr+Registering file-embed-0.0.9.1...
+ .stack-work/logs/hashable-1.2.4.0.log view
@@ -0,0 +1,15 @@+Configuring hashable-1.2.4.0...+Building hashable-1.2.4.0...+Preprocessing library hashable-1.2.4.0...+[1 of 3] Compiling Data.Hashable.Class ( Data/Hashable/Class.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hashable/Class.o )++Data/Hashable/Class.hs:460:28: Warning:+ In the use of ‘B.inlinePerformIO’+ (imported from Data.ByteString.Internal):+ Deprecated: "If you think you know what you are doing, use 'unsafePerformIO'. If you are sure you know what you are doing, use 'unsafeDupablePerformIO'. If you enjoy sharing an address space with a malevolent agent of chaos, try 'accursedUnutterablePerformIO'."+[2 of 3] Compiling Data.Hashable.Generic ( Data/Hashable/Generic.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hashable/Generic.o )+[3 of 3] Compiling Data.Hashable ( Data/Hashable.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hashable.o )+In-place registering hashable-1.2.4.0...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/hashable-1.2.4.0-8GjadD03dR57AKCJdr90LD+Registering hashable-1.2.4.0...
+ .stack-work/logs/hex-0.1.2.log view
@@ -0,0 +1,8 @@+Configuring hex-0.1.2...+Building hex-0.1.2...+Preprocessing library hex-0.1.2...+[1 of 1] Compiling Data.Hex ( Data/Hex.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hex.o )+In-place registering hex-0.1.2...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/hex-0.1.2-7uuCvFVHDBfKR1vfBI01P9+Registering hex-0.1.2...
+ .stack-work/logs/hourglass-0.2.10.log view
@@ -0,0 +1,43 @@+Configuring hourglass-0.2.10...+Building hourglass-0.2.10...+Preprocessing library hourglass-0.2.10...+[ 1 of 17] Compiling Data.Hourglass.Zone ( Data/Hourglass/Zone.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Zone.o )+[ 2 of 17] Compiling Data.Hourglass.Utils ( Data/Hourglass/Utils.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Utils.o )+[ 3 of 17] Compiling Time.Types ( Time/Types.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Time/Types.o )+[ 4 of 17] Compiling Data.Hourglass.Types ( Data/Hourglass/Types.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Types.o )+[ 5 of 17] Compiling Data.Hourglass.Internal.Unix ( Data/Hourglass/Internal/Unix.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Internal/Unix.o )++Data/Hourglass/Internal/Unix.hs:24:1: Warning:+ The import of ‘Control.Applicative’ is redundant+ except perhaps to import instances from ‘Control.Applicative’+ To import instances alone, use: import Control.Applicative()+[ 6 of 17] Compiling Data.Hourglass.Internal ( Data/Hourglass/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Internal.o )+[ 7 of 17] Compiling Data.Hourglass.Calendar ( Data/Hourglass/Calendar.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Calendar.o )+[ 8 of 17] Compiling Data.Hourglass.Diff ( Data/Hourglass/Diff.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Diff.o )++Data/Hourglass/Diff.hs:22:1: Warning:+ The import of ‘Data.Monoid’ is redundant+ except perhaps to import instances from ‘Data.Monoid’+ To import instances alone, use: import Data.Monoid()+[ 9 of 17] Compiling Data.Hourglass.Time ( Data/Hourglass/Time.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Time.o )+[10 of 17] Compiling Data.Hourglass.Epoch ( Data/Hourglass/Epoch.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Epoch.o )+[11 of 17] Compiling Data.Hourglass.Local ( Data/Hourglass/Local.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Local.o )+[12 of 17] Compiling Time.System ( Time/System.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Time/System.o )++Time/System.hs:23:1: Warning:+ The import of ‘Control.Applicative’ is redundant+ except perhaps to import instances from ‘Control.Applicative’+ To import instances alone, use: import Control.Applicative()+[13 of 17] Compiling System.Hourglass ( System/Hourglass.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/System/Hourglass.o )+[14 of 17] Compiling Data.Hourglass.Format ( Data/Hourglass/Format.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Format.o )+[15 of 17] Compiling Data.Hourglass ( Data/Hourglass.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass.o )++Data/Hourglass.hs:40:1: Warning:+ The import of ‘daysInMonth’+ from module ‘Data.Hourglass.Calendar’ is redundant+[16 of 17] Compiling Time.Compat ( Time/Compat.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Time/Compat.o )+[17 of 17] Compiling Data.Hourglass.Compat ( Data/Hourglass/Compat.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Hourglass/Compat.o )+In-place registering hourglass-0.2.10...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/hourglass-0.2.10-LCfvpegcEVDEeuH0foNCGl+Registering hourglass-0.2.10...
+ .stack-work/logs/http-api-data-0.2.2.log view
@@ -0,0 +1,14 @@+Configuring http-api-data-0.2.2...+Building http-api-data-0.2.2...+Preprocessing library http-api-data-0.2.2...+[1 of 2] Compiling Web.HttpApiData.Internal ( Web/HttpApiData/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Web/HttpApiData/Internal.o )++Web/HttpApiData/Internal.hs:472:30: Warning:+ In the use of ‘parseTime’+ (imported from Data.Time, but defined in time-1.5.0.1:Data.Time.Format.Parse):+ Deprecated: "use "parseTimeM True" instead"+[2 of 2] Compiling Web.HttpApiData ( Web/HttpApiData.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Web/HttpApiData.o )+In-place registering http-api-data-0.2.2...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/http-api-data-0.2.2-4PIMg2QbRyT0SZyC9tOKTV+Registering http-api-data-0.2.2...
+ .stack-work/logs/http-types-0.9.log view
@@ -0,0 +1,30 @@+Configuring http-types-0.9...+Building http-types-0.9...+Preprocessing library http-types-0.9...+[1 of 7] Compiling Network.HTTP.Types.Version ( Network/HTTP/Types/Version.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Network/HTTP/Types/Version.o )+[2 of 7] Compiling Network.HTTP.Types.URI ( Network/HTTP/Types/URI.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Network/HTTP/Types/URI.o )++Network/HTTP/Types/URI.hs:148:26: Warning:+ In the use of ‘B.breakByte’ (imported from Data.ByteString):+ Deprecated: "It is an internal function and should never have been exported. Use 'break (== x)' instead. (There are rewrite rules that handle this special case of 'break'.)"++Network/HTTP/Types/URI.hs:283:22: Warning:+ In the use of ‘B.breakByte’ (imported from Data.ByteString):+ Deprecated: "It is an internal function and should never have been exported. Use 'break (== x)' instead. (There are rewrite rules that handle this special case of 'break'.)"++Network/HTTP/Types/URI.hs:313:20: Warning:+ In the use of ‘B.breakByte’ (imported from Data.ByteString):+ Deprecated: "It is an internal function and should never have been exported. Use 'break (== x)' instead. (There are rewrite rules that handle this special case of 'break'.)"++Network/HTTP/Types/URI.hs:325:18: Warning:+ In the use of ‘B.breakByte’ (imported from Data.ByteString):+ Deprecated: "It is an internal function and should never have been exported. Use 'break (== x)' instead. (There are rewrite rules that handle this special case of 'break'.)"+[3 of 7] Compiling Network.HTTP.Types.Status ( Network/HTTP/Types/Status.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Network/HTTP/Types/Status.o )+[4 of 7] Compiling Network.HTTP.Types.QueryLike ( Network/HTTP/Types/QueryLike.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Network/HTTP/Types/QueryLike.o )+[5 of 7] Compiling Network.HTTP.Types.Method ( Network/HTTP/Types/Method.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Network/HTTP/Types/Method.o )+[6 of 7] Compiling Network.HTTP.Types.Header ( Network/HTTP/Types/Header.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Network/HTTP/Types/Header.o )+[7 of 7] Compiling Network.HTTP.Types ( Network/HTTP/Types.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Network/HTTP/Types.o )+In-place registering http-types-0.9...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/http-types-0.9-3Bf1bEHnPYIAJ2rfQRlloD+Registering http-types-0.9...
+ .stack-work/logs/lifted-base-0.2.3.6.log view
@@ -0,0 +1,43 @@+Configuring lifted-base-0.2.3.6...+Building lifted-base-0.2.3.6...+Preprocessing library lifted-base-0.2.3.6...+[1 of 9] Compiling System.Timeout.Lifted ( System/Timeout/Lifted.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/System/Timeout/Lifted.o )++System/Timeout/Lifted.hs:4:14: Warning:+ ‘System.Timeout.Lifted’ is marked as Trustworthy but has been inferred as safe!+[2 of 9] Compiling Foreign.Marshal.Utils.Lifted ( Foreign/Marshal/Utils/Lifted.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Foreign/Marshal/Utils/Lifted.o )++Foreign/Marshal/Utils/Lifted.hs:6:14: Warning:+ ‘Foreign.Marshal.Utils.Lifted’ is marked as Trustworthy but has been inferred as safe!+[3 of 9] Compiling Data.IORef.Lifted ( Data/IORef/Lifted.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/IORef/Lifted.o )++Data/IORef/Lifted.hs:6:14: Warning:+ ‘Data.IORef.Lifted’ is marked as Trustworthy but has been inferred as safe!+[4 of 9] Compiling Control.Concurrent.QSemN.Lifted ( Control/Concurrent/QSemN/Lifted.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Concurrent/QSemN/Lifted.o )++Control/Concurrent/QSemN/Lifted.hs:7:14: Warning:+ ‘Control.Concurrent.QSemN.Lifted’ is marked as Trustworthy but has been inferred as safe!+[5 of 9] Compiling Control.Concurrent.QSem.Lifted ( Control/Concurrent/QSem/Lifted.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Concurrent/QSem/Lifted.o )++Control/Concurrent/QSem/Lifted.hs:7:14: Warning:+ ‘Control.Concurrent.QSem.Lifted’ is marked as Trustworthy but has been inferred as safe!+[6 of 9] Compiling Control.Concurrent.Chan.Lifted ( Control/Concurrent/Chan/Lifted.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Concurrent/Chan/Lifted.o )++Control/Concurrent/Chan/Lifted.hs:6:14: Warning:+ ‘Control.Concurrent.Chan.Lifted’ is marked as Trustworthy but has been inferred as safe!+[7 of 9] Compiling Control.Concurrent.MVar.Lifted ( Control/Concurrent/MVar/Lifted.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Concurrent/MVar/Lifted.o )++Control/Concurrent/MVar/Lifted.hs:7:14: Warning:+ ‘Control.Concurrent.MVar.Lifted’ is marked as Trustworthy but has been inferred as safe!+[8 of 9] Compiling Control.Exception.Lifted ( Control/Exception/Lifted.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Exception/Lifted.o )++Control/Exception/Lifted.hs:11:14: Warning:+ ‘Control.Exception.Lifted’ is marked as Trustworthy but has been inferred as safe!+[9 of 9] Compiling Control.Concurrent.Lifted ( Control/Concurrent/Lifted.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Concurrent/Lifted.o )++Control/Concurrent/Lifted.hs:4:14: Warning:+ ‘Control.Concurrent.Lifted’ is marked as Trustworthy but has been inferred as safe!+In-place registering lifted-base-0.2.3.6...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/lifted-base-0.2.3.6-30rpZxN2vBHCGvcAJlKDqd+Registering lifted-base-0.2.3.6...
+ .stack-work/logs/memory-0.11.log view
@@ -0,0 +1,55 @@+Configuring memory-0.11...+Building memory-0.11...+Preprocessing library memory-0.11...+[ 1 of 28] Compiling Data.Memory.MemMap.Posix ( .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/MemMap/Posix.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/MemMap/Posix.o )+[ 2 of 28] Compiling Data.Memory.Internal.DeepSeq ( Data/Memory/Internal/DeepSeq.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Internal/DeepSeq.o )+[ 3 of 28] Compiling Data.Memory.Internal.CompatPrim64 ( Data/Memory/Internal/CompatPrim64.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Internal/CompatPrim64.o )+[ 4 of 28] Compiling Data.Memory.Internal.CompatPrim ( Data/Memory/Internal/CompatPrim.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Internal/CompatPrim.o )+[ 5 of 28] Compiling Data.Memory.Internal.Scrubber ( Data/Memory/Internal/Scrubber.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Internal/Scrubber.o )+[ 6 of 28] Compiling Data.Memory.ExtendedWords ( Data/Memory/ExtendedWords.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/ExtendedWords.o )+[ 7 of 28] Compiling Data.Memory.Internal.Imports ( Data/Memory/Internal/Imports.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Internal/Imports.o )+[ 8 of 28] Compiling Data.Memory.PtrMethods ( Data/Memory/PtrMethods.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/PtrMethods.o )+[ 9 of 28] Compiling Data.Memory.Internal.Compat ( Data/Memory/Internal/Compat.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Internal/Compat.o )+[10 of 28] Compiling Data.Memory.Encoding.Base16 ( Data/Memory/Encoding/Base16.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Encoding/Base16.o )+[11 of 28] Compiling Data.Memory.Encoding.Base32 ( Data/Memory/Encoding/Base32.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Encoding/Base32.o )+[12 of 28] Compiling Data.Memory.Encoding.Base64 ( Data/Memory/Encoding/Base64.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Encoding/Base64.o )+[13 of 28] Compiling Data.Memory.Endian ( Data/Memory/Endian.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Endian.o )+[14 of 28] Compiling Data.Memory.Hash.SipHash ( Data/Memory/Hash/SipHash.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Hash/SipHash.o )+[15 of 28] Compiling Data.Memory.Hash.FNV ( Data/Memory/Hash/FNV.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/Memory/Hash/FNV.o )+[16 of 28] Compiling Data.ByteArray.Types ( Data/ByteArray/Types.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/Types.o )++Data/ByteArray/Types.hs:15:1: Warning:+ The import of ‘Data.Monoid’ is redundant+ except perhaps to import instances from ‘Data.Monoid’+ To import instances alone, use: import Data.Monoid()+[17 of 28] Compiling Data.ByteArray.Bytes ( Data/ByteArray/Bytes.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/Bytes.o )++Data/ByteArray/Bytes.hs:20:1: Warning:+ The import of ‘Data.Monoid’ is redundant+ except perhaps to import instances from ‘Data.Monoid’+ To import instances alone, use: import Data.Monoid()+[18 of 28] Compiling Data.ByteArray.ScrubbedBytes ( Data/ByteArray/ScrubbedBytes.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/ScrubbedBytes.o )++Data/ByteArray/ScrubbedBytes.hs:19:1: Warning:+ The import of ‘Data.Monoid’ is redundant+ except perhaps to import instances from ‘Data.Monoid’+ To import instances alone, use: import Data.Monoid()+[19 of 28] Compiling Data.ByteArray.MemView ( Data/ByteArray/MemView.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/MemView.o )+[20 of 28] Compiling Data.ByteArray.Pack.Internal ( Data/ByteArray/Pack/Internal.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/Pack/Internal.o )++Data/ByteArray/Pack/Internal.hs:20:1: Warning:+ The import of ‘Data.Memory.Internal.Imports’ is redundant+ except perhaps to import instances from ‘Data.Memory.Internal.Imports’+ To import instances alone, use: import Data.Memory.Internal.Imports()+[21 of 28] Compiling Data.ByteArray.Methods ( Data/ByteArray/Methods.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/Methods.o )+[22 of 28] Compiling Data.ByteArray.View ( Data/ByteArray/View.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/View.o )+[23 of 28] Compiling Data.ByteArray.Encoding ( Data/ByteArray/Encoding.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/Encoding.o )+[24 of 28] Compiling Data.ByteArray.Mapping ( Data/ByteArray/Mapping.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/Mapping.o )+[25 of 28] Compiling Data.ByteArray.Parse ( Data/ByteArray/Parse.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/Parse.o )+[26 of 28] Compiling Data.ByteArray.Hash ( Data/ByteArray/Hash.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/Hash.o )+[27 of 28] Compiling Data.ByteArray ( Data/ByteArray.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray.o )+[28 of 28] Compiling Data.ByteArray.Pack ( Data/ByteArray/Pack.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Data/ByteArray/Pack.o )+In-place registering memory-0.11...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/memory-0.11-0EiEBIg44i8KGjAeoKnPDs+Registering memory-0.11...
+ .stack-work/logs/mmorph-1.0.6.log view
@@ -0,0 +1,53 @@+Configuring mmorph-1.0.6...+Building mmorph-1.0.6...+Preprocessing library mmorph-1.0.6...+[1 of 2] Compiling Control.Monad.Morph ( src/Control/Monad/Morph.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Monad/Morph.o )++src/Control/Monad/Morph.hs:76:1: Warning:+ Module ‘Control.Monad.Trans.Error’ is deprecated:+ Use Control.Monad.Trans.Except instead++src/Control/Monad/Morph.hs:112:20: Warning:+ In the use of type constructor or class ‘E.ErrorT’+ (imported from Control.Monad.Trans.Error):+ Deprecated: "Use Control.Monad.Trans.Except instead"++src/Control/Monad/Morph.hs:113:19: Warning:+ In the use of data constructor ‘E.ErrorT’+ (imported from Control.Monad.Trans.Error):+ Deprecated: "Use Control.Monad.Trans.Except instead"++src/Control/Monad/Morph.hs:113:34: Warning:+ In the use of ‘E.runErrorT’+ (imported from Control.Monad.Trans.Error):+ Deprecated: "Use Control.Monad.Trans.Except instead"++src/Control/Monad/Morph.hs:233:11: Warning:+ In the use of type constructor or class ‘E.Error’+ (imported from Control.Monad.Trans.Error):+ Deprecated: "Use Control.Monad.Trans.Except instead"++src/Control/Monad/Morph.hs:233:33: Warning:+ In the use of type constructor or class ‘E.ErrorT’+ (imported from Control.Monad.Trans.Error):+ Deprecated: "Use Control.Monad.Trans.Except instead"++src/Control/Monad/Morph.hs:234:17: Warning:+ In the use of data constructor ‘E.ErrorT’+ (imported from Control.Monad.Trans.Error):+ Deprecated: "Use Control.Monad.Trans.Except instead"++src/Control/Monad/Morph.hs:235:14: Warning:+ In the use of ‘E.runErrorT’+ (imported from Control.Monad.Trans.Error):+ Deprecated: "Use Control.Monad.Trans.Except instead"++src/Control/Monad/Morph.hs:235:30: Warning:+ In the use of ‘E.runErrorT’+ (imported from Control.Monad.Trans.Error):+ Deprecated: "Use Control.Monad.Trans.Except instead"+[2 of 2] Compiling Control.Monad.Trans.Compose ( src/Control/Monad/Trans/Compose.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Monad/Trans/Compose.o )+In-place registering mmorph-1.0.6...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/mmorph-1.0.6-42KUkOfzC6q3qCtAMiSHam+Registering mmorph-1.0.6...
+ .stack-work/logs/monad-control-1.0.0.5.log view
@@ -0,0 +1,8 @@+Configuring monad-control-1.0.0.5...+Building monad-control-1.0.0.5...+Preprocessing library monad-control-1.0.0.5...+[1 of 1] Compiling Control.Monad.Trans.Control ( Control/Monad/Trans/Control.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Control/Monad/Trans/Control.o )+In-place registering monad-control-1.0.0.5...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/monad-control-1.0.0.5-0V0Z5ArSaI68lPP0A0bpaP+Registering monad-control-1.0.0.5...
+ .stack-work/logs/mountpoints-1.0.1.log view
@@ -0,0 +1,8 @@+Configuring mountpoints-1.0.1...+Building mountpoints-1.0.1...+Preprocessing library mountpoints-1.0.1...+[1 of 1] Compiling System.MountPoints ( .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/System/MountPoints.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/System/MountPoints.o )+In-place registering mountpoints-1.0.1...+Installing library in+/home/joey/src/git-annex/.stack-work/install/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/mountpoints-1.0.1-BgeHc197DxiDAiNIQ8ipJs+Registering mountpoints-1.0.1...
+ .stack-work/logs/mtl-compat-0.2.1.3.log view
@@ -0,0 +1,7 @@+Configuring mtl-compat-0.2.1.3...+Building mtl-compat-0.2.1.3...+Preprocessing library mtl-compat-0.2.1.3...+In-place registering mtl-compat-0.2.1.3...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/mtl-compat-0.2.1.3-HNwvu6hpyqBLqGyy8DsC5w+Registering mtl-compat-0.2.1.3...
+ .stack-work/logs/mwc-random-0.13.4.0.log view
@@ -0,0 +1,1 @@+Configuring mwc-random-0.13.4.0...
+ .stack-work/logs/nats-1.1.log view
@@ -0,0 +1,7 @@+Configuring nats-1.1...+Building nats-1.1...+Preprocessing library nats-1.1...+In-place registering nats-1.1...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/nats-1.1-4rT3BkPz6Fa0j9LJSDe5FB+Registering nats-1.1...
+ .stack-work/logs/prelude-extras-0.4.0.3.log view
@@ -0,0 +1,8 @@+Configuring prelude-extras-0.4.0.3...+Building prelude-extras-0.4.0.3...+Preprocessing library prelude-extras-0.4.0.3...+[1 of 1] Compiling Prelude.Extras ( src/Prelude/Extras.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/Prelude/Extras.o )+In-place registering prelude-extras-0.4.0.3...+Installing library in+/home/joey/.stack/snapshots/x86_64-linux/lts-5.5/7.10.3/lib/x86_64-linux-ghc-7.10.3/prelude-extras-0.4.0.3-1gQpKVfMHul71LsAFgGRhv+Registering prelude-extras-0.4.0.3...
+ .stack-work/logs/process-1.3.0.0.log view
@@ -0,0 +1,53 @@+[1 of 1] Compiling Main ( /home/joey/tmp/stack17642/process-1.3.0.0/Setup.hs, /home/joey/tmp/stack17642/process-1.3.0.0/.stack-work/dist/x86_64-linux/Cabal-1.22.5.0/setup/Main.o )+Linking /home/joey/tmp/stack17642/process-1.3.0.0/.stack-work/dist/x86_64-linux/Cabal-1.22.5.0/setup/setup ...+Configuring process-1.3.0.0...+configure: WARNING: unrecognized options: --with-compiler, --with-gcc+checking for gcc... gcc+checking whether the C compiler works... yes+checking for C compiler default output file name... a.out+checking for suffix of executables... +checking whether we are cross compiling... no+checking for suffix of object files... o+checking whether we are using the GNU C compiler... yes+checking whether gcc accepts -g... yes+checking for gcc option to accept ISO C89... none needed+checking how to run the C preprocessor... gcc -E+checking for grep that handles long lines and -e... /bin/grep+checking for egrep... /bin/grep -E+checking for ANSI C header files... yes+checking for sys/types.h... yes+checking for sys/stat.h... yes+checking for stdlib.h... yes+checking for string.h... yes+checking for memory.h... yes+checking for strings.h... yes+checking for inttypes.h... yes+checking for stdint.h... yes+checking for unistd.h... yes+checking for pid_t... yes+checking vfork.h usability... no+checking vfork.h presence... no+checking for vfork.h... no+checking for fork... yes+checking for vfork... yes+checking for working fork... yes+checking for working vfork... (cached) yes+checking signal.h usability... yes+checking signal.h presence... yes+checking for signal.h... yes+checking sys/wait.h usability... yes+checking sys/wait.h presence... yes+checking for sys/wait.h... yes+checking fcntl.h usability... yes+checking fcntl.h presence... yes+checking for fcntl.h... yes+checking for setitimer... yes+checking for sysconf... yes+checking value of SIG_DFL... -1+checking value of SIG_IGN... -1+configure: creating ./config.status+config.status: creating include/HsProcessConfig.h+configure: WARNING: unrecognized options: --with-compiler, --with-gcc+Building process-1.3.0.0...+Preprocessing library process-1.3.0.0...+[1 of 3] Compiling System.Process.Internals ( System/Process/Internals.hs, .stack-work/dist/x86_64-linux/Cabal-1.22.5.0/build/System/Process/Internals.o )
+ .stack-work/logs/psqueues-0.2.2.0.log view
Annex/AdjustedBranch.hs view
@@ -21,6 +21,8 @@ updateAdjustedBranch, propigateAdjustedCommits, checkAdjustedClone,+ isGitVersionSupported,+ checkVersionSupported, ) where import Annex.Common@@ -39,6 +41,8 @@ import Git.Index import Git.FilePath import qualified Git.LockFile+import qualified Git.Version+import Annex.Version import Annex.CatFile import Annex.Link import Annex.AutoMerge@@ -256,8 +260,8 @@ {- Update the currently checked out adjusted branch, merging the provided - branch into it. Note that the provided branch should be a non-adjusted - branch. -}-updateAdjustedBranch :: Branch -> (OrigBranch, Adjustment) -> Git.Branch.CommitMode -> Annex Bool-updateAdjustedBranch tomerge (origbranch, adj) commitmode = catchBoolIO $+updateAdjustedBranch :: Branch -> (OrigBranch, Adjustment) -> [Git.Merge.MergeConfig] -> Git.Branch.CommitMode -> Annex Bool+updateAdjustedBranch tomerge (origbranch, adj) mergeconfig commitmode = catchBoolIO $ join $ preventCommits go where adjbranch@(AdjBranch currbranch) = originalToAdjusted origbranch adj@@ -300,7 +304,7 @@ showAction $ "Merging into " ++ fromRef (Git.Ref.base origbranch) -- The --no-ff is important; it makes git -- merge not care that the work tree is empty.- merged <- inRepo (Git.Merge.mergeNonInteractive' [Param "--no-ff"] tomerge commitmode)+ merged <- inRepo (Git.Merge.merge' [Param "--no-ff"] tomerge mergeconfig commitmode) <||> (resolveMerge (Just updatedorig) tomerge True <&&> commitResolvedMerge commitmode) if merged then do@@ -336,7 +340,7 @@ -- this commit will be a fast-forward. adjmergecommitff <- commitAdjustedTree' adjtree (BasisBranch mergecommit) [currbranch] showAction "Merging into adjusted branch"- ifM (autoMergeFrom adjmergecommitff (Just currbranch) commitmode)+ ifM (autoMergeFrom adjmergecommitff (Just currbranch) mergeconfig commitmode) ( reparent adjtree adjmergecommit =<< getcurrentcommit , return False )@@ -507,3 +511,15 @@ setBasisBranch basis remotebranch unlessM (inRepo $ Git.Ref.exists origbranch) $ inRepo $ Git.Branch.update' origbranch remotebranch++-- git 2.2.0 needed for GIT_COMMON_DIR which is needed+-- by updateAdjustedBranch to use withWorkTreeRelated.+isGitVersionSupported :: IO Bool+isGitVersionSupported = not <$> Git.Version.older "2.2.0"++checkVersionSupported :: Annex ()+checkVersionSupported = do+ unlessM versionSupportsAdjustedBranch $+ error "Adjusted branches are only supported in v6 or newer repositories."+ unlessM (liftIO isGitVersionSupported) $+ error "Your version of git is too old; upgrade it to 2.2.0 or newer to use adjusted branches."
Annex/AutoMerge.hs view
@@ -43,16 +43,16 @@ - Callers should use Git.Branch.changed first, to make sure that - there are changes from the current branch to the branch being merged in. -}-autoMergeFrom :: Git.Ref -> Maybe Git.Ref -> Git.Branch.CommitMode -> Annex Bool-autoMergeFrom branch currbranch commitmode = do+autoMergeFrom :: Git.Ref -> Maybe Git.Ref -> [Git.Merge.MergeConfig] -> Git.Branch.CommitMode -> Annex Bool+autoMergeFrom branch currbranch mergeconfig commitmode = do showOutput case currbranch of Nothing -> go Nothing Just b -> go =<< inRepo (Git.Ref.sha b) where go old = ifM isDirect- ( mergeDirect currbranch old branch (resolveMerge old branch False) commitmode- , inRepo (Git.Merge.mergeNonInteractive branch commitmode)+ ( mergeDirect currbranch old branch (resolveMerge old branch False) mergeconfig commitmode+ , inRepo (Git.Merge.merge branch mergeconfig commitmode) <||> (resolveMerge old branch False <&&> commitResolvedMerge commitmode) )
Annex/Content.hs view
@@ -18,8 +18,6 @@ getViaTmp, getViaTmp', checkDiskSpaceToGet,- VerifyConfig(..),- Types.Remote.unVerified, prepTmp, withTmp, checkDiskSpace,@@ -45,6 +43,10 @@ withObjectLoc, staleKeysPrune, isUnmodified,+ verifyKeyContent,+ VerifyConfig(..),+ Verification(..),+ unVerified, ) where import System.IO.Unsafe (unsafeInterleaveIO)@@ -71,6 +73,7 @@ import Annex.ReplaceFile import Annex.LockPool import Messages.Progress+import Types.Remote (unVerified, Verification(..)) import qualified Types.Remote import qualified Types.Backend import qualified Backend@@ -290,14 +293,14 @@ {- Runs an action, passing it the temp file to get, - and if the action succeeds, verifies the file matches - the key and moves the file into the annex as a key's content. -}-getViaTmp :: VerifyConfig -> Key -> (FilePath -> Annex (Bool, Types.Remote.Verification)) -> Annex Bool+getViaTmp :: VerifyConfig -> Key -> (FilePath -> Annex (Bool, Verification)) -> Annex Bool getViaTmp v key action = checkDiskSpaceToGet key False $ getViaTmp' v key action {- Like getViaTmp, but does not check that there is enough disk space - for the incoming key. For use when the key content is already on disk - and not being copied into place. -}-getViaTmp' :: VerifyConfig -> Key -> (FilePath -> Annex (Bool, Types.Remote.Verification)) -> Annex Bool+getViaTmp' :: VerifyConfig -> Key -> (FilePath -> Annex (Bool, Verification)) -> Annex Bool getViaTmp' v key action = do tmpfile <- prepTmp key (ok, verification) <- action tmpfile@@ -325,9 +328,9 @@ - When the key's backend allows verifying the content (eg via checksum), - it is checked. -}-verifyKeyContent :: VerifyConfig -> Types.Remote.Verification -> Key -> FilePath -> Annex Bool-verifyKeyContent _ Types.Remote.Verified _ _ = return True-verifyKeyContent v Types.Remote.UnVerified k f = ifM (shouldVerify v)+verifyKeyContent :: VerifyConfig -> Verification -> Key -> FilePath -> Annex Bool+verifyKeyContent _ Verified _ _ = return True+verifyKeyContent v UnVerified k f = ifM (shouldVerify v) ( verifysize <&&> verifycontent , return True )@@ -786,7 +789,7 @@ go (Just fc) = cheapcheck fc <||> expensivecheck fc cheapcheck fc = anyM (compareInodeCaches fc) =<< Database.Keys.getInodeCaches key- expensivecheck fc = ifM (verifyKeyContent AlwaysVerify Types.Remote.UnVerified key f)+ expensivecheck fc = ifM (verifyKeyContent AlwaysVerify UnVerified key f) -- The file could have been modified while it was -- being verified. Detect that. ( geti >>= maybe (return False) (compareInodeCaches fc)
Annex/Direct.hs view
@@ -162,8 +162,8 @@ - file. This is the same as what git does when updating the index - normally. -}-mergeDirect :: Maybe Git.Ref -> Maybe Git.Ref -> Git.Branch -> Annex Bool -> Git.Branch.CommitMode -> Annex Bool-mergeDirect startbranch oldref branch resolvemerge commitmode = exclusively $ do+mergeDirect :: Maybe Git.Ref -> Maybe Git.Ref -> Git.Branch -> Annex Bool -> [Git.Merge.MergeConfig] -> Git.Branch.CommitMode -> Annex Bool+mergeDirect startbranch oldref branch resolvemerge mergeconfig commitmode = exclusively $ do reali <- liftIO . absPath =<< fromRepo indexFile tmpi <- liftIO . absPath =<< fromRepo indexFileLock liftIO $ whenM (doesFileExist reali) $@@ -176,7 +176,7 @@ createDirectoryIfMissing True d withIndexFile tmpi $ do- merged <- stageMerge d branch commitmode+ merged <- stageMerge d branch mergeconfig commitmode ok <- if merged then return True else resolvemerge@@ -195,19 +195,18 @@ {- Stage a merge into the index, avoiding changing HEAD or the current - branch. -}-stageMerge :: FilePath -> Git.Branch -> Git.Branch.CommitMode -> Annex Bool-stageMerge d branch commitmode = do+stageMerge :: FilePath -> Git.Branch -> [Git.Merge.MergeConfig] -> Git.Branch.CommitMode -> Annex Bool+stageMerge d branch mergeconfig commitmode = do -- XXX A bug in git makes stageMerge unsafe to use if the git repo -- is configured with core.symlinks=false- -- Using mergeNonInteractive is not ideal though, since it will+ -- Using merge is not ideal though, since it will -- update the current branch immediately, before the work tree -- has been updated, which would leave things in an inconsistent -- state if mergeDirectCleanup is interrupted. -- <http://marc.info/?l=git&m=140262402204212&w=2>- liftIO $ print ("stagemerge in", d) merger <- ifM (coreSymlinks <$> Annex.getGitConfig)- ( return Git.Merge.stageMerge- , return $ \ref -> Git.Merge.mergeNonInteractive ref commitmode+ ( return $ \ref -> Git.Merge.stageMerge ref mergeconfig+ , return $ \ref -> Git.Merge.merge ref mergeconfig commitmode ) inRepo $ \g -> do wd <- liftIO $ absPath d
Annex/GitOverlay.hs view
@@ -40,7 +40,10 @@ - files that are related to the work tree coming from an overlay - directory other than the usual. This is done by pointing - GIT_COMMON_DIR at the regular git directory, and GIT_DIR at the- - overlay directory. -}+ - overlay directory.+ -+ - Needs git 2.2.0 or newer.+ -} withWorkTreeRelated :: FilePath -> Annex a -> Annex a withWorkTreeRelated d = withAltRepo modrepo unmodrepo where
Annex/Ssh.hs view
@@ -101,13 +101,14 @@ - a different filesystem. -} sshCacheDir :: Annex (Maybe FilePath) sshCacheDir- | SysConfig.sshconnectioncaching = ifM crippledFileSystem- ( maybe (return Nothing) usetmpdir =<< gettmpdir- , ifM (fromMaybe True . annexSshCaching <$> Annex.getGitConfig)- ( Just <$> fromRepo gitAnnexSshDir+ | SysConfig.sshconnectioncaching = + ifM (fromMaybe True . annexSshCaching <$> Annex.getGitConfig)+ ( ifM crippledFileSystem+ ( maybe (return Nothing) usetmpdir =<< gettmpdir+ , Just <$> fromRepo gitAnnexSshDir + ) , return Nothing )- ) | otherwise = return Nothing where gettmpdir = liftIO $ getEnv "GIT_ANNEX_TMP_DIR"
Assistant/Install.hs view
@@ -43,7 +43,10 @@ - packaged apps, since it has to go into the user's home directory. -} ensureInstalled :: IO ()-ensureInstalled = go =<< standaloneAppBase+ensureInstalled = ifM (isJust <$> getEnv "GIT_ANNEX_PACKAGE_INSTALL")+ ( go Nothing+ , go =<< standaloneAppBase+ ) where go Nothing = installFileManagerHooks "git-annex" go (Just base) = do
Assistant/Sync.hs view
@@ -21,6 +21,7 @@ import qualified Git import qualified Git.Command import qualified Git.Ref+import qualified Git.Merge import qualified Remote import qualified Types.Remote as Remote import qualified Remote.List as Remote@@ -238,11 +239,18 @@ ) haddiverged <- liftAnnex Annex.Branch.forceUpdate forM_ normalremotes $ \r ->- liftAnnex $ Command.Sync.mergeRemote r currentbranch+ liftAnnex $ Command.Sync.mergeRemote r currentbranch mergeConfig u <- liftAnnex getUUID forM_ xmppremotes $ \r -> sendNetMessage $ Pushing (getXMPPClientID r) (PushRequest u) return (catMaybes failed, haddiverged)++mergeConfig :: [Git.Merge.MergeConfig]+mergeConfig = + [ Git.Merge.MergeNonInteractive+ -- Pairing involves merging unrelated histories+ , Git.Merge.MergeUnrelatedHistories+ ] {- Start syncing a remote, using a background thread. -} syncRemote :: Remote -> Assistant ()
Assistant/Threads/Merger.hs view
@@ -12,6 +12,7 @@ import Assistant.BranchChange import Assistant.DaemonStatus import Assistant.ScanRemotes+import Assistant.Sync import Utility.DirWatcher import Utility.DirWatcher.Types import qualified Annex.Branch@@ -85,7 +86,8 @@ , "into", Git.fromRef b ] void $ liftAnnex $ Command.Sync.merge- currbranch Git.Branch.AutomaticCommit+ currbranch mergeConfig+ Git.Branch.AutomaticCommit changedbranch mergecurrent _ = noop
Assistant/Threads/Upgrader.hs view
@@ -20,7 +20,7 @@ import Utility.NotificationBroadcaster import qualified Annex import qualified Build.SysConfig-import qualified Git.Version+import qualified Utility.DottedVersion as DottedVersion import Types.Distribution #ifdef WITH_WEBAPP import Assistant.WebApp.Types@@ -63,9 +63,9 @@ where go Nothing = debug [ "Failed to check if upgrade is available." ] go (Just d) = do- let installed = Git.Version.normalize Build.SysConfig.packageversion- let avail = Git.Version.normalize $ distributionVersion d- let old = Git.Version.normalize <$> distributionUrgentUpgrade d+ let installed = DottedVersion.normalize Build.SysConfig.packageversion+ let avail = DottedVersion.normalize $ distributionVersion d+ let old = DottedVersion.normalize <$> distributionUrgentUpgrade d if Just installed <= old then canUpgrade High urlrenderer d else if installed < avail
Build/LinuxMkLibs.hs view
@@ -5,6 +5,8 @@ - Licensed under the GNU GPL version 3 or higher. -} +{-# LANGUAGE CPP #-}+ module Main where import System.Environment@@ -72,6 +74,18 @@ [ "#!/bin/sh" , "GIT_ANNEX_PROGRAMPATH=\"$0\"" , "export GIT_ANNEX_PROGRAMPATH"+#ifdef MIN_VERSION_GLASGOW_HASKELL+#if ! MIN_VERSION_GLASGOW_HASKELL(7,10,0,0)+#define NEED_LOCPATH_WORKAROUND+#endif+#else+#define NEED_LOCPATH_WORKAROUND+#endif+#ifdef NEED_LOCPATH_WORKAROUND+ -- workaround for https://ghc.haskell.org/trac/ghc/ticket/7695+ , "LOCPATH=/dev/null"+ , "export LOCPATH"+#endif , "exec \"$GIT_ANNEX_DIR/" ++ exelink ++ "\" --library-path \"$GIT_ANNEX_LD_LIBRARY_PATH\" \"$GIT_ANNEX_DIR/shimmed/" ++ base ++ "/" ++ base ++ "\" \"$@\"" ] modifyFileMode exe $ addModes executeModes
Build/mdwn2man view
@@ -21,7 +21,7 @@ s/^\t/ /; s/-/\\-/g; s/git\\-annex/git-annex/g;- s/^Warning:.*//g;+ s/^Warning:.*mdwn2man.*//g; s/^$/.PP\n/; s/^\*\s+(.*)/.IP "$1"/; next if $_ eq ".PP\n" && $skippara;
CHANGELOG view
@@ -1,3 +1,35 @@+git-annex (6.20160419) unstable; urgency=medium++ * Fix bug that prevented resuming of uploads to encrypted special remotes+ that used chunking.+ * That bug could also expose the names of keys to such remotes when+ attempting to resume an upload, so it is a minor security issue.+ * Fix duplicate progress meter display when downloading from a git remote+ over http with -J.+ * reinject: When src file's content cannot be verified, leave it alone,+ instead of deleting it.+ * reinject: Added new mode which can reinject known files into the annex.+ For example: git-annex reinject --known /mnt/backup/*+ * calckey: New plumbing command, calculates the key that would be used+ to refer to a file.+ * Fix bug that prevented annex.sshcaching=false configuration from taking+ effect when on a crippled filesystem. Thanks, divergentdave.+ * git 2.9.0 is going to prevent git merge from merging in unrelated+ branches. Since the webapp's pairing etc features often combine+ together repositories with unrelated histories, work around+ this behavior change when the assistant merges, by passing+ --allow-unrelated-histories. Note though that this is not done+ for git annex sync's merges, so it will follow git's default or+ configured behavior.+ * When git-annex is used with a git version older than 2.2.0, disable+ support for adjusted branches, since GIT_COMMON_DIR is needed to update+ them and was first added in that version of git.+ * Avoid setting LOCPATH in linux standalone builds that are built with+ a ghc that has been fixed to not hang when it cannot find locale files.+ * Isolate test suite from global git config settings.++ -- Joey Hess <id@joeyh.name> Thu, 28 Apr 2016 09:31:14 -0400+ git-annex (6.20160418) unstable; urgency=medium * smudge: Print a warning when annex.thin is set, as git's smudge
CmdLine/GitAnnex.hs view
@@ -25,6 +25,7 @@ import qualified Command.Get import qualified Command.Fsck import qualified Command.LookupKey+import qualified Command.CalcKey import qualified Command.ContentLocation import qualified Command.ExamineKey import qualified Command.MatchExpression@@ -162,6 +163,7 @@ , Command.Ungroup.cmd , Command.Vicfg.cmd , Command.LookupKey.cmd+ , Command.CalcKey.cmd , Command.ContentLocation.cmd , Command.ExamineKey.cmd , Command.MatchExpression.cmd
CmdLine/Usage.hs view
@@ -104,3 +104,5 @@ paramOptional s = s paramPair :: String -> String -> String paramPair a b = a ++ " " ++ b+paramOr :: String -> String -> String+paramOr a b = a ++ " | " ++ b
Command/Adjust.hs view
@@ -9,7 +9,6 @@ import Command import Annex.AdjustedBranch-import Annex.Version cmd :: Command cmd = notBareRepo $ notDirect $ noDaemonRunning $@@ -34,8 +33,7 @@ start :: Adjustment -> CommandStart start adj = do- unlessM versionSupportsAdjustedBranch $- error "Adjusted branches are only supported in v6 or newer repositories."+ checkVersionSupported showStart "adjust" "" enterAdjustedBranch adj next $ next $ return True
+ Command/CalcKey.hs view
@@ -0,0 +1,28 @@+{- git-annex command+ -+ - Copyright 2016 Joey Hess <id@joeyh.name>+ -+ - Licensed under the GNU GPL version 3 or higher.+ -}++module Command.CalcKey where++import Command+import Backend (genKey)+import Types.KeySource++cmd :: Command+cmd = noCommit $ noMessages $ dontCheck repoExists $+ command "calckey" SectionPlumbing + "calculates the key that would be used to refer to a file"+ (paramRepeating paramFile)+ (batchable run (pure ()))++run :: () -> String -> Annex Bool+run _ file = do+ mkb <- genKey (KeySource file file Nothing) Nothing+ case mkb of+ Just (k, _) -> do+ liftIO $ putStrLn $ key2file k+ return True+ Nothing -> return False
Command/Merge.hs view
@@ -9,7 +9,7 @@ import Command import qualified Annex.Branch-import Command.Sync (prepMerge, mergeLocal, getCurrBranch)+import Command.Sync (prepMerge, mergeLocal, getCurrBranch, mergeConfig) cmd :: Command cmd = command "merge" SectionMaintenance@@ -33,4 +33,4 @@ mergeSynced :: CommandStart mergeSynced = do prepMerge- mergeLocal =<< join getCurrBranch+ mergeLocal mergeConfig =<< join getCurrBranch
Command/Reinject.hs view
@@ -1,6 +1,6 @@ {- git-annex command -- - Copyright 2011 Joey Hess <id@joeyh.name>+ - Copyright 2011-2016 Joey Hess <id@joeyh.name> - - Licensed under the GNU GPL version 3 or higher. -}@@ -10,42 +10,74 @@ import Command import Logs.Location import Annex.Content+import Backend+import Types.KeySource cmd :: Command cmd = command "reinject" SectionUtility - "sets content of annexed file"- (paramPair "SRC" "DEST") (withParams seek)+ "inject content of file back into annex"+ (paramRepeating (paramPair "SRC" "DEST")+ `paramOr` "--known " ++ paramRepeating "SRC")+ (seek <$$> optParser) -seek :: CmdParams -> CommandSeek-seek = withWords start+data ReinjectOptions = ReinjectOptions+ { params :: CmdParams+ , knownOpt :: Bool+ } -start :: [FilePath] -> CommandStart-start (src:dest:[])+optParser :: CmdParamsDesc -> Parser ReinjectOptions+optParser desc = ReinjectOptions+ <$> cmdParams desc+ <*> switch+ ( long "known"+ <> help "inject all known files"+ <> hidden+ )++seek :: ReinjectOptions -> CommandSeek+seek os+ | knownOpt os = withStrings startKnown (params os)+ | otherwise = withWords startSrcDest (params os)++startSrcDest :: [FilePath] -> CommandStart+startSrcDest (src:dest:[]) | src == dest = stop- | otherwise =- ifAnnexed src- (error $ "cannot used annexed file as src: " ++ src)- go- where- go = do+ | otherwise = notAnnexed src $ do showStart "reinject" dest- next $ whenAnnexed (perform src) dest-start _ = error "specify a src file and a dest file"+ next $ ifAnnexed dest+ (perform src)+ stop+startSrcDest _ = error "specify a src file and a dest file" -perform :: FilePath -> FilePath -> Key -> CommandPerform-perform src _dest key = ifM move+startKnown :: FilePath -> CommandStart+startKnown src = notAnnexed src $ do+ showStart "reinject" src+ mkb <- genKey (KeySource src src Nothing) Nothing+ case mkb of+ Nothing -> error "Failed to generate key"+ Just (key, _) -> ifM (isKnownKey key)+ ( next $ perform src key+ , do+ warning "Not known content; skipping"+ next $ next $ return True+ )++notAnnexed :: FilePath -> CommandStart -> CommandStart+notAnnexed src = ifAnnexed src (error $ "cannot used annexed file as src: " ++ src)++perform :: FilePath -> Key -> CommandPerform+perform src key = ifM move ( next $ cleanup key , error "failed" ) where- -- The file might be on a different filesystem,- -- so moveFile is used rather than simply calling- -- moveToObjectDir; disk space is also checked this way,- -- and the file's content is verified to match the key.- move = getViaTmp DefaultVerify key $ \tmp -> unVerified $- liftIO $ catchBoolIO $ do- moveFile src tmp- return True+ move = checkDiskSpaceToGet key False $+ ifM (verifyKeyContent DefaultVerify UnVerified key src)+ ( do+ moveAnnex key src+ return True+ , return False+ ) cleanup :: Key -> CommandCleanup cleanup key = do
Command/Sync.hs view
@@ -10,6 +10,7 @@ cmd, CurrBranch, getCurrBranch,+ mergeConfig, merge, prepMerge, mergeLocal,@@ -32,6 +33,7 @@ import qualified Git.Command import qualified Git.LsFiles as LsFiles import qualified Git.Branch+import qualified Git.Merge import qualified Git.Types as Git import qualified Git.Ref import qualified Git@@ -111,8 +113,8 @@ -- These actions cannot be run concurrently. mapM_ includeCommandAction $ concat [ [ commit o ]- , [ withbranch mergeLocal ]- , map (withbranch . pullRemote o) gitremotes+ , [ withbranch (mergeLocal mergeConfig) ]+ , map (withbranch . pullRemote o mergeConfig) gitremotes , [ mergeAnnex ] ] when (contentOption o) $@@ -123,14 +125,14 @@ -- and merge again to avoid our push overwriting -- those changes. mapM_ includeCommandAction $ concat- [ map (withbranch . pullRemote o) gitremotes+ [ map (withbranch . pullRemote o mergeConfig) gitremotes , [ commitAnnex, mergeAnnex ] ] void $ includeCommandAction $ withbranch pushLocal -- Pushes to remotes can run concurrently. mapM_ (commandAction . withbranch . pushRemote o) gitremotes-+ type CurrBranch = (Maybe Git.Branch, Maybe Adjustment) {- There may not be a branch checked out until after the commit,@@ -166,12 +168,15 @@ prepMerge :: Annex () prepMerge = Annex.changeDirectory =<< fromRepo Git.repoPath -merge :: CurrBranch -> Git.Branch.CommitMode -> Git.Branch -> Annex Bool-merge (Just b, Just adj) commitmode tomerge =- updateAdjustedBranch tomerge (b, adj) commitmode-merge (b, _) commitmode tomerge =- autoMergeFrom tomerge b commitmode+mergeConfig :: [Git.Merge.MergeConfig] +mergeConfig = [Git.Merge.MergeNonInteractive] +merge :: CurrBranch -> [Git.Merge.MergeConfig] -> Git.Branch.CommitMode -> Git.Branch -> Annex Bool+merge (Just b, Just adj) mergeconfig commitmode tomerge =+ updateAdjustedBranch tomerge (b, adj) mergeconfig commitmode+merge (b, _) mergeconfig commitmode tomerge =+ autoMergeFrom tomerge b mergeconfig commitmode+ syncBranch :: Git.Branch -> Git.Branch syncBranch = Git.Ref.under "refs/heads/synced" . fromDirectBranch . fromAdjustedBranch @@ -243,8 +248,8 @@ void $ inRepo $ Git.Branch.commit commitmode False commitmessage branch parents return True -mergeLocal :: CurrBranch -> CommandStart-mergeLocal currbranch@(Just branch, madj) = go =<< needmerge+mergeLocal :: [Git.Merge.MergeConfig] -> CurrBranch -> CommandStart+mergeLocal mergeconfig currbranch@(Just branch, madj) = go =<< needmerge where syncbranch = syncBranch branch needmerge = ifM isBareRepo@@ -257,9 +262,9 @@ go False = stop go True = do showStart "merge" $ Git.Ref.describe syncbranch- next $ next $ merge currbranch Git.Branch.ManualCommit syncbranch+ next $ next $ merge currbranch mergeconfig Git.Branch.ManualCommit syncbranch branch' = maybe branch (adjBranch . originalToAdjusted branch) madj-mergeLocal (Nothing, _) = stop+mergeLocal _ (Nothing, _) = stop pushLocal :: CurrBranch -> CommandStart pushLocal b = do@@ -291,13 +296,13 @@ , Param $ Git.fromRef $ updateto ] g -pullRemote :: SyncOptions -> Remote -> CurrBranch -> CommandStart-pullRemote o remote branch = stopUnless (pure $ pullOption o) $ do+pullRemote :: SyncOptions -> [Git.Merge.MergeConfig] -> Remote -> CurrBranch -> CommandStart+pullRemote o mergeconfig remote branch = stopUnless (pure $ pullOption o) $ do showStart "pull" (Remote.name remote) next $ do showOutput stopUnless fetch $- next $ mergeRemote remote branch+ next $ mergeRemote remote branch mergeconfig where fetch = inRepoWithSshOptionsTo (Remote.repo remote) (Remote.gitconfig remote) $ Git.Command.runBool@@ -308,8 +313,8 @@ - were committed (or pushed changes, if this is a bare remote), - while the synced/master may have changes that some - other remote synced to this remote. So, merge them both. -}-mergeRemote :: Remote -> CurrBranch -> CommandCleanup-mergeRemote remote currbranch = ifM isBareRepo+mergeRemote :: Remote -> CurrBranch -> [Git.Merge.MergeConfig] -> CommandCleanup+mergeRemote remote currbranch mergeconfig = ifM isBareRepo ( return True , case currbranch of (Nothing, _) -> do@@ -321,7 +326,7 @@ ) where mergelisted getlist = and <$> - (mapM (merge currbranch Git.Branch.ManualCommit . remoteBranch remote) =<< getlist)+ (mapM (merge currbranch mergeconfig Git.Branch.ManualCommit . remoteBranch remote) =<< getlist) tomerge = filterM (changed remote) branchlist Nothing = [] branchlist (Just branch) = [branch, syncBranch branch]
Command/TestRemote.hs view
@@ -11,7 +11,7 @@ import qualified Annex import qualified Remote import qualified Types.Remote as Remote-import Types.Backend (getKey, verifyKeyContent)+import qualified Types.Backend as Backend import Types.KeySource import Annex.Content import Backend@@ -151,7 +151,7 @@ (== Right b) <$> Remote.hasKey r k fsck = case maybeLookupBackendName (keyBackendName k) of Nothing -> return True- Just b -> case verifyKeyContent b of+ Just b -> case Backend.verifyKeyContent b of Nothing -> return True Just verifier -> verifier k (key2file k) get = getViaTmp (RemoteVerify r) k $ \dest ->@@ -224,6 +224,6 @@ , inodeCache = Nothing } k <- fromMaybe (error "failed to generate random key")- <$> getKey Backend.Hash.testKeyBackend ks+ <$> Backend.getKey Backend.Hash.testKeyBackend ks moveAnnex k f return k
Git/Merge.hs view
@@ -1,36 +1,61 @@ {- git merging -- - Copyright 2012, 2014 Joey Hess <id@joeyh.name>+ - Copyright 2012-2016 Joey Hess <id@joeyh.name> - - Licensed under the GNU GPL version 3 or higher. -} -module Git.Merge where+module Git.Merge (+ MergeConfig(..),+ CommitMode(..),+ merge,+ merge',+ stageMerge,+) where import Common import Git import Git.Command-import Git.BuildVersion+import qualified Git.BuildVersion+import qualified Git.Version import Git.Branch (CommitMode(..)) -{- Avoids recent git's interactive merge. -}-mergeNonInteractive :: Ref -> CommitMode -> Repo -> IO Bool-mergeNonInteractive = mergeNonInteractive' []+data MergeConfig+ = MergeNonInteractive+ -- ^ avoids recent git's interactive merge+ | MergeUnrelatedHistories+ -- ^ avoids recent git's prevention of merging unrelated histories+ deriving (Eq) -mergeNonInteractive' :: [CommandParam] -> Ref -> CommitMode -> Repo -> IO Bool-mergeNonInteractive' extraparams branch commitmode- | older "1.7.7.6" = merge [Param $ fromRef branch]- | otherwise = merge $ [Param "--no-edit", Param $ fromRef branch]+merge :: Ref -> [MergeConfig] -> CommitMode -> Repo -> IO Bool+merge = merge' []++merge' :: [CommandParam] -> Ref -> [MergeConfig] -> CommitMode -> Repo -> IO Bool+merge' extraparams branch mergeconfig commitmode r+ | MergeNonInteractive `notElem` mergeconfig || Git.BuildVersion.older "1.7.7.6" =+ go [Param $ fromRef branch]+ | otherwise = go [Param "--no-edit", Param $ fromRef branch] where- merge ps = runBool $ sp ++ [Param "merge"] ++ ps ++ extraparams+ go ps = merge'' (sp ++ [Param "merge"] ++ ps ++ extraparams) mergeconfig r sp | commitmode == AutomaticCommit = [Param "-c", Param "commit.gpgsign=false"] | otherwise = [] +merge'' :: [CommandParam] -> [MergeConfig] -> Repo -> IO Bool+merge'' ps mergeconfig r+ | MergeUnrelatedHistories `elem` mergeconfig =+ ifM (Git.Version.older "2.9.0")+ ( go ps+ , go (ps ++ [Param "--allow-unrelated-histories"])+ )+ | otherwise = go ps+ where+ go ps' = runBool ps' r+ {- Stage the merge into the index, but do not commit it.-}-stageMerge :: Ref -> Repo -> IO Bool-stageMerge branch = runBool+stageMerge :: Ref -> [MergeConfig] -> Repo -> IO Bool+stageMerge branch = merge'' [ Param "merge" , Param "--quiet" , Param "--no-commit"
Logs/Location.hs view
@@ -19,6 +19,7 @@ logChange, loggedLocations, loggedLocationsHistorical,+ isKnownKey, checkDead, setDead, loggedKeys,@@ -64,6 +65,13 @@ getLoggedLocations getter key = do config <- Annex.getGitConfig map toUUID <$> getter (locationLogFile config key)++{- Is there a location log for the key? True even for keys with no+ - remaining locations. -}+isKnownKey :: Key -> Annex Bool+isKnownKey key = do+ config <- Annex.getGitConfig+ not . null <$> readLog (locationLogFile config key) {- For a key to be dead, all locations that have location status for the key - must have InfoDead set. -}
Remote/Git.hs view
@@ -418,8 +418,11 @@ {- Tries to copy a key's content from a remote's annex to a file. -} copyFromRemote :: Remote -> Key -> AssociatedFile -> FilePath -> MeterUpdate -> Annex (Bool, Verification)-copyFromRemote r key file dest p = concurrentMetered (Just p) key $- copyFromRemote' r key file dest+copyFromRemote r key file dest p+ | Git.repoIsHttp (repo r) = unVerified $+ Annex.Content.downloadUrl key p (keyUrls r key) dest+ | otherwise = concurrentMetered (Just p) key $+ copyFromRemote' r key file dest copyFromRemote' :: Remote -> Key -> AssociatedFile -> FilePath -> MeterUpdate -> Annex (Bool, Verification) copyFromRemote' r key file dest meterupdate@@ -441,8 +444,6 @@ | Git.repoIsSsh (repo r) = unVerified $ feedprogressback $ \p -> do Ssh.rsyncHelper (Just (combineMeterUpdate meterupdate p)) =<< Ssh.rsyncParamsRemote False r Download key dest file- | Git.repoIsHttp (repo r) = unVerified $- Annex.Content.downloadUrl key meterupdate (keyUrls r key) dest | otherwise = error "copying from non-ssh, non-http remote not supported" where {- Feed local rsync's progress info back to the remote,@@ -519,8 +520,7 @@ ) | Git.repoIsSsh (repo r) = ifM (Annex.Content.preseedTmp key file)- ( fst <$> concurrentMetered Nothing key- (copyFromRemote' r key af file)+ ( fst <$> copyFromRemote r key af file nullMeterUpdate , return False ) | otherwise = return False
Remote/Helper/Chunked.hs view
@@ -99,13 +99,14 @@ storeChunks :: UUID -> ChunkConfig+ -> EncKey -> Key -> FilePath -> MeterUpdate -> Storer -> CheckPresent -> Annex Bool-storeChunks u chunkconfig k f p storer checker = +storeChunks u chunkconfig encryptor k f p storer checker = case chunkconfig of (UnpaddedChunks chunksize) | isStableKey k -> bracketIO open close (go chunksize)@@ -121,7 +122,7 @@ return False go chunksize (Right h) = do let chunkkeys = chunkKeyStream k chunksize- (chunkkeys', startpos) <- seekResume h chunkkeys checker+ (chunkkeys', startpos) <- seekResume h encryptor chunkkeys checker b <- liftIO $ L.hGetContents h gochunks p startpos chunksize b chunkkeys' @@ -165,10 +166,11 @@ -} seekResume :: Handle+ -> EncKey -> ChunkKeyStream -> CheckPresent -> Annex (ChunkKeyStream, BytesProcessed)-seekResume h chunkkeys checker = do+seekResume h encryptor chunkkeys checker = do sz <- liftIO (hFileSize h) if sz <= fromMaybe 0 (keyChunkSize $ fst $ nextChunkKeyStream chunkkeys) then return (chunkkeys, zeroBytesProcessed)@@ -180,7 +182,7 @@ liftIO $ hSeek h AbsoluteSeek sz return (cks, toBytesProcessed sz) | otherwise = do- v <- tryNonAsync (checker k)+ v <- tryNonAsync (checker (encryptor k)) case v of Right True -> check pos' cks' sz
Remote/Helper/Special.hs view
@@ -189,11 +189,12 @@ go Nothing = return False go' storer (Just checker) = sendAnnex k rollback $ \src -> displayprogress p k $ \p' ->- storeChunks (uuid baser) chunkconfig k src p'+ storeChunks (uuid baser) chunkconfig enck k src p' (storechunk enc storer) checker go' _ Nothing = return False rollback = void $ removeKey encr k+ enck = maybe id snd enc storechunk Nothing storer k content p = storer k content p storechunk (Just (cipher, enck)) storer k content p = do
Test.hs view
@@ -72,6 +72,7 @@ import qualified Annex.Init import qualified Annex.CatFile import qualified Annex.Path+import qualified Annex.AdjustedBranch import qualified Annex.View import qualified Annex.View.ViewedFile import qualified Logs.View@@ -110,7 +111,7 @@ ) runner :: Maybe (TestOptions -> IO ())-runner = Just $ \opts -> do+runner = Just $ \opts -> isolateGitConfig $ do ensuretmpdir crippledfilesystem <- Annex.Init.probeCrippledFileSystem' tmpdir case tryIngredients ingredients (tastyOptionSet opts) (tests crippledfilesystem opts) of@@ -1048,7 +1049,7 @@ {- Conflict resolution while in an adjusted branch. -} test_conflict_resolution_adjusted_branch :: Assertion-test_conflict_resolution_adjusted_branch = +test_conflict_resolution_adjusted_branch = whenM Annex.AdjustedBranch.isGitVersionSupported $ withtmpclonerepo $ \r1 -> withtmpclonerepo $ \r2 -> do indir r1 $ do@@ -1787,6 +1788,15 @@ e <- doesDirectoryExist tmpdir unless e $ createDirectory tmpdir+ +{- Prevent global git configs from affecting the test suite. -}+isolateGitConfig :: IO a -> IO a+isolateGitConfig a = Utility.Tmp.withTmpDir "testhome" $ \tmphome -> do+ tmphomeabs <- absPath tmphome+ Utility.Env.setEnv "HOME" tmphomeabs True+ Utility.Env.setEnv "XDG_CONFIG_HOME" tmphomeabs True+ Utility.Env.setEnv "GIT_CONFIG_NOSYSTEM" "1" True+ a cleanup :: FilePath -> IO () cleanup = cleanup' False
debian/changelog view
@@ -1,3 +1,35 @@+git-annex (6.20160419) unstable; urgency=medium++ * Fix bug that prevented resuming of uploads to encrypted special remotes+ that used chunking.+ * That bug could also expose the names of keys to such remotes when+ attempting to resume an upload, so it is a minor security issue.+ * Fix duplicate progress meter display when downloading from a git remote+ over http with -J.+ * reinject: When src file's content cannot be verified, leave it alone,+ instead of deleting it.+ * reinject: Added new mode which can reinject known files into the annex.+ For example: git-annex reinject --known /mnt/backup/*+ * calckey: New plumbing command, calculates the key that would be used+ to refer to a file.+ * Fix bug that prevented annex.sshcaching=false configuration from taking+ effect when on a crippled filesystem. Thanks, divergentdave.+ * git 2.9.0 is going to prevent git merge from merging in unrelated+ branches. Since the webapp's pairing etc features often combine+ together repositories with unrelated histories, work around+ this behavior change when the assistant merges, by passing+ --allow-unrelated-histories. Note though that this is not done+ for git annex sync's merges, so it will follow git's default or+ configured behavior.+ * When git-annex is used with a git version older than 2.2.0, disable+ support for adjusted branches, since GIT_COMMON_DIR is needed to update+ them and was first added in that version of git.+ * Avoid setting LOCPATH in linux standalone builds that are built with+ a ghc that has been fixed to not hang when it cannot find locale files.+ * Isolate test suite from global git config settings.++ -- Joey Hess <id@joeyh.name> Thu, 28 Apr 2016 09:31:14 -0400+ git-annex (6.20160418) unstable; urgency=medium * smudge: Print a warning when annex.thin is set, as git's smudge
debian/control view
@@ -18,6 +18,7 @@ libghc-resourcet-dev, libghc-quickcheck2-dev, libghc-monad-control-dev (>= 0.3),+ libghc-transformers-dev, libghc-exceptions-dev (>= 0.6), libghc-unix-compat-dev, libghc-dlist-dev,
− doc/bugs/--help_should_not_demand_being_in_the_git_repo.mdwn
@@ -1,25 +0,0 @@-### Please describe the problem.--subj -- happens for sync and merge commands at least---[[!format sh """-$> git annex sync --help-git-annex: Not in a git repository.--$> git annex merge --help-git-annex: Not in a git repository.--$> git annex version -git-annex version: 5.20150819+gitgc587698-1~ndall+1-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA Database-key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL-remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external--"""]]--### 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)--YES -- lots of luck ;)--> [[fixed|done]] --[[Joey]]
− doc/bugs/--json_issues.mdwn
@@ -1,49 +0,0 @@-### Please describe the problem.-Duplicate "note" properties in JSON output of whereis command. The JSON output is "[strictly speaking](http://stackoverflow.com/questions/21832701/does-json-syntax-allow-duplicate-keys-in-an-object)" valid, however, the duplicate property makes it difficult to use python-json, and possibly other implementations (I just checked node and chromium and they also keep the value of the last property after deserialization). --I noticed the problem being mentioned [here](https://git-annex.branchable.com/forum/git_annex_whereis_--json_output_with_two_variables_with_same_name/), where the user desires to parse an entry in the machine parsable json output that is apparently not meant to be parsed by a machine, which makes a person wonder why it's there anyway. Even so, obtaining the actual url in the web remote for an annexed object relies on one of the "note" properties in the json output. Using [whereis](-http://git-annex.branchable.com/tips/using_the_web_as_a_special_remote/#comment-7878bde74289b42500e4fac3a122a535) to get the url(s) for a file is the recommended method. A json implementation that sets the first property, then ignores remaining duplicates will only parse the "2 copies" note, and ignore the url.--If the "note" properties are meant to be comments, it might be a good idea to find another property for the url(s). Please note that I haven't looked at multiple urls for an object, so I'm not sure that only the last listed url will appear in parsed json object.--> The note properties are any notes git-annex normally displays while-> running a command.--### What steps will reproduce the problem?--git-annex whereis --json--### What version of git-annex are you using? On what operating system?--git-annex version: 5.20151208-1 (sid chroot)--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-umeboshi@bard:~/tmp$ git init testweb-Initialized empty Git repository in /freespace/home/umeboshi/tmp/testweb/.git/-umeboshi@bard:~/tmp$ cd testweb/-umeboshi@bard:~/tmp/testweb$ git-annex init-init ok-(recording state in git...)-umeboshi@bard:~/tmp/testweb$ git-annex addurl http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf-addurl www.ecma_international.org_publications_files_ECMA_ST_ECMA_404.pdf (downloading http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf ...) -/freespace/home/ume 100%[===================>] 1.08M 917KB/s in 1.2s -ok-(recording state in git...)-umeboshi@bard:~/tmp/testweb$ git-annex whereis www.ecma_international.org_publications_files_ECMA_ST_ECMA_404.pdf --json-{"command":"whereis","file":"www.ecma_international.org_publications_files_ECMA_ST_ECMA_404.pdf","note":"2 copies","whereis":[{"uuid":"00000000-0000-0000-0000-000000000001","description":"web","here":false},{"uuid":"996522e8-a433-42ff-85f2-48e456fdb120","description":"umeboshi@bard:~/tmp/testweb","here":true}],"note":"\t00000000-0000-0000-0000-000000000001 -- web\n \t996522e8-a433-42ff-85f2-48e456fdb120 -- umeboshi@bard:~/tmp/testweb [here]\n","untrusted":[],"note":"web: http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf\n","success":true}--umeboshi@bard:~/tmp/testweb$ ---# 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)--Lol! Positive note! I spend a couple of days making specially crafted rss files for importfeed, so I can have appropriate filenames, then look back and see that you are working on '--batch --with-files' options to addurl. Have a Happy New Year! :)--> [[fixed|done]] --[[Joey]]
− doc/bugs/5.20140517_fails_to_talk_to_other_5.x_git-annex_remotes.mdwn
@@ -1,37 +0,0 @@-### Please describe the problem.--Some time in may 2014, git-annex stopped working with previous versions of git-annex.--### What steps will reproduce the problem?--Trying to sync with the server fails with:-- git-annex-shell: Not a git-annex or gcrypt repository.--With older versions (e.g. 5.20140412), it's even worse:-- Remote marcos does not have git-annex installed; setting annex-ignore- This could be a problem with the git-annex installation on the remote. Please make sure that git-annex-shell is available in PATH when you ssh into the remote. Once you have fixed the git-annex installation, run: git config remote.marcos.annex-ignore false--Basically, if git-annex-shell is missing, newer versions of git-annex just crash and burn instead of going the more gentle, backward-compatible way...--### What version of git-annex are you using? On what operating system?--git-annex from debian sid (5.20140517) on the "client" side and from jessie (5.20140421) on the "server".--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-ssh server-git init books-exit-git remote add server server:books-git annex sync server-# End of transcript or log.-"""]]--If this is intended behavior, it seems to me the major version of git annex should be bumped, at the very least... -- [[anarcat]]--> [[done]], seems operator error --[[Joey]]
− doc/bugs/Addurl_downloads_but_does_not_checkout_files.mdwn
@@ -1,74 +0,0 @@-What steps will reproduce the problem?--Example below illustrates downloading a podcast with git annex addurl:--list directory before...--~/Podcasts/TuxRadar Linux Podcast (Ogg)$ ls-folder.jpg tuxradar_s04e24.ogg-tuxradar_s04e09.ogg tuxradar_s05e01.ogg-tuxradar_s04e11.ogg tuxradar_s05e02.ogg-tuxradar_s04e13.ogg tuxradar_s05e03.ogg-tuxradar_s04e15.ogg tuxradar_s05e04.ogg-tuxradar_s04e16.ogg www.tuxradar.com_files_podcast_tuxradar_s04e10.ogg-tuxradar_s04e19.ogg www.tuxradar.com_files_podcast_tuxradar_s04e12.ogg-tuxradar_s04e20.ogg www.tuxradar.com_files_podcast_tuxradar_s04e14.ogg-tuxradar_s04e21.ogg www.tuxradar.com_files_podcast_tuxradar_s04e17.ogg-tuxradar_s04e22.ogg www.tuxradar.com_files_podcast_tuxradar_s04e18.ogg-tuxradar_s04e23.ogg--download file...--~/Podcasts/TuxRadar Linux Podcast (Ogg)$ git annex addurl http://www.tuxradar.com/files/podcast/tuxradar_s05e05.ogg-addurl www.tuxradar.com_files_podcast_tuxradar_s05e05.ogg (downloading http://www.tuxradar.com/files/podcast/tuxradar_s05e05.ogg ...) --2013-04-10 21:18:12-- http://www.tuxradar.com/files/podcast/tuxradar_s05e05.ogg-Resolving www.tuxradar.com (www.tuxradar.com)... 80.244.178.150-Connecting to www.tuxradar.com (www.tuxradar.com)|80.244.178.150|:80... connected.-HTTP request sent, awaiting response... 200 OK-Length: 33249291 (32M) [application/ogg]-Saving to: `/home/rob/Podcasts/.git/annex/tmp/URL--http&c%%www.tuxradar.com%files%podcast%tuxradar_s05e05.ogg'--100%[===============================>] 33,249,291 404K/s in 81s --2013-04-10 21:19:35 (399 KB/s) - `/home/rob/Podcasts/.git/annex/tmp/URL--http&c%%www.tuxradar.com%files%podcast%tuxradar_s05e05.ogg' saved [33249291/33249291]--(checksum...) ok-(Recording state in git...)--file appears to have been downloaded, but isn't there...--~/Podcasts/TuxRadar Linux Podcast (Ogg)$ ls-folder.jpg tuxradar_s04e24.ogg-tuxradar_s04e09.ogg tuxradar_s05e01.ogg-tuxradar_s04e11.ogg tuxradar_s05e02.ogg-tuxradar_s04e13.ogg tuxradar_s05e03.ogg-tuxradar_s04e15.ogg tuxradar_s05e04.ogg-tuxradar_s04e16.ogg www.tuxradar.com_files_podcast_tuxradar_s04e10.ogg-tuxradar_s04e19.ogg www.tuxradar.com_files_podcast_tuxradar_s04e12.ogg-tuxradar_s04e20.ogg www.tuxradar.com_files_podcast_tuxradar_s04e14.ogg-tuxradar_s04e21.ogg www.tuxradar.com_files_podcast_tuxradar_s04e17.ogg-tuxradar_s04e22.ogg www.tuxradar.com_files_podcast_tuxradar_s04e18.ogg-tuxradar_s04e23.ogg--What is the expected output? What do you see instead?--File should exist in current directory. As you can see from above output, this has worked in the past (with older versions).--What version of git-annex are you using? On what operating system?--git-annex version: 4.20130405-local repository version: 3-default repository version: 3-supported repository versions: 3 4-upgrade supported from repository versions: 0 1 2-build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP--OS: Debian Testing/Unstable--Please provide any additional information below.--The repository in question was created by the assistant and I tried the above with the assistant both running and not running, with no difference. I have also tried downloading other files.--EDIT: formatting--> Bug only affected direct mode. I think it used to work but I broke-> it when fixing another bug in direct mode. [[fixed|done]] --[[Joey]]
− doc/bugs/Amazon_S3_storage_hosted_in_Frankfurt_not_usable.mdwn
@@ -1,19 +0,0 @@-### Please describe the problem.-Can't add Amazon S3 repository hosted in Frankfurt--### What steps will reproduce the problem?-Create Amazon S3 account, create a bucket hosted in Frankfurt and create an access key.--### What version of git-annex are you using? On what operating system?-Ubuntu, git-annex via repositories. Aptitude says 5.20140717.--### Please provide any additional information below.-The git-annex assistant does not offer the selection of hosting in Frankfurt. If I enter "EU (Ireland)" instead, of course while also providing the other necessary details (access key id, secret access key, data center), the result is the following error:--[[!format sh """-The request signature we calculated does not match the signature you provided. Check your key and signing method.-"""]]--I have not tried other hosting locations but I assume it has to do with the location which is not listed in the dropdown-list.--> [[done]]; etooold --[[Joey]]
− doc/bugs/Android___91__Terminal_session_finished__93__.mdwn
@@ -1,33 +0,0 @@-### Please describe the problem.--Launching the Git Annex app on Android, the shell just reads:-[[!format sh """-[Terminal session finished]-"""]]--Attempting to launch /data/data/ga.androidterm/runshell via the adb shell does also not work:-[[!format sh """-/system/bin/sh: /data/data/ga.androidterm/runshell: not found-"""]]--Listing the contents of that directory from the git annex terminal appears to confirm this:-[[!format sh """-u0_a172@android:/data/data/ga.androidterm $ ls-cache-lib-shared_prefs-"""]]--Following the instructions for the similar issue here [[http://git-annex.branchable.com/Android/oldcomments/#comment-4c5a944c1288ddd46108969a4c664584]]:-[[!format sh """-u0_a172@android:/ $ ls -ld /data/data/ga.androidterm-drwxr-x--x u0_a172 u0_a172 2014-04-20 11:12 ga.androidterm-"""]]--### What version of git-annex are you using? On what operating system?--version 5.20140413 of the Git Annex app (tested using the daily build and regular build).--Samsung Galaxy Tab 3 (GT-P5210) running Android 4.2.2 (without root access).--> [[dup|done]] --[[Joey]]
− doc/bugs/Android_build_missing_webapp.mdwn
@@ -1,39 +0,0 @@-### Please describe the problem.--Setting git-annex on an Android device (either the released version, or the autobuilder apk), I'm told:--[[!format sh """-git-annex: unknown command webapp-"""]]--Looking in the logs on the Android autobuilder I see many instances of:--[[!format sh """-#warning Building without the webapp. You probably need to install Yesod..-"""]]--### What steps will reproduce the problem?--Run git-annex.--### What version of git-annex are you using? On what operating system?--v5.20150617~g031b85a--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> I've reverted to the previous release, which included the webapp, afaik.-> -> Unfortunately, the android autobuilder remains broken after I spent 12-> hours fighting with it. Unsure when that will be resolved and a newer-> release will be able to be made. -> -> Anyhow, the immediate bug is [[done]] --[[Joey]]
doc/bugs/Android_chroot_stuck_in_Cabal_hell.mdwn view
@@ -18,15 +18,3 @@ Makefile:225: recipe for target 'android' failed make: *** [android] Error 1 """]]--> Based on-> <http://git-annex.branchable.com/forum/Android__58___Cabal_hell>,-> this was not a clean run of the scripts, but involved modifying and-> re-running install-haskell-packages. -> -> So, I don't think this is a bug. If there is a problem with-> install-haskell-packages not working etc, please show what happens-> when just running the script, not after messing up cabal by trying to-> recover from the problem.-> -> [[done]] --[[Joey]]
− doc/bugs/Android_fails_on_Google_Nexus_10_Jellybean.mdwn
@@ -1,166 +0,0 @@-### Please describe the problem.--Install seems to die because /data/app-lib not found. Sorry, I did not copy. Git-annex log is below. --I tried To run git-annex second time, here's what terminal says.---Falling back to hardcoded app location; cannot find expected files in /data/app-lib-git annex webapp-u0_a36@manta:/sdcard/git-annex.home $ git annex webapp-WARNING: linker: git-annex has text relocations. This is wasting memory and is a security risk. Please fix.-error: fchmod on /sdcard/mediashare/.git/config.lock failed: Operation not permitted-error: fchmod on /sdcard/mediashare/.git/config.lock failed: Operation not permitted--From git terminal, can start web viewer, it offers to make repo. I chose /sdcard/mediashare, result is browser fail:--git [Param "config",Param "annex.uuid",Param "380f6ec2-a7b0-43db-9447-f0de1b5a1b5b"] failed--The install did create /sdcard/mediashare. I did have the sdcard directory all along.--I can't say for sure what else is in file system. ES File manager shows /data exists, but it is empty. But tablet not easy to diagnose--### What steps will reproduce the problem?--Install git-annex.apk from website. I downloaded 20140620.--### What version of git-annex are you using? On what operating system?--Android 4.4.2 on Nexus tablet.--### Please provide any additional information below.--Git-anex-install.log. it is only file in /sdcard/git-annex.home. note it says it is installing to /data/data/. I may manually create that structure and see if a reinstall ends differently.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-Installation starting to /data/data/ga.androidterm-1bebb0d66f3f7c5ac4889b86669cab04ebee9bba-installing busybox-installing git-annex-installing git-shell-installing git-upload-pack-installing git-installing gpg-installing rsync-installing ssh-installing ssh-keygen-linking ./bin/git-upload-archive to git-linking ./bin/git-receive-pack to git-linking ./libexec/git-core/git-help to git-linking ./libexec/git-core/git-fsck to git-linking ./libexec/git-core/git-cat-file to git-linking ./libexec/git-core/git-init to git-linking ./libexec/git-core/git-checkout-index to git-linking ./libexec/git-core/git-notes to git-linking ./libexec/git-core/git-grep to git-linking ./libexec/git-core/git-blame to git-linking ./libexec/git-core/git-verify-tag to git-linking ./libexec/git-core/git-write-tree to git-linking ./libexec/git-core/git-log to git-linking ./libexec/git-core/git-stage to git-linking ./libexec/git-core/git-update-ref to git-linking ./libexec/git-core/git-status to git-linking ./libexec/git-core/git-show-branch to git-linking ./libexec/git-core/git-merge-file to git-linking ./libexec/git-core/git-for-each-ref to git-linking ./libexec/git-core/git to git-linking ./libexec/git-core/git-replace to git-linking ./libexec/git-core/git-update-index to git-linking ./libexec/git-core/git-annotate to git-linking ./libexec/git-core/git-patch-id to git-linking ./libexec/git-core/git-merge-recursive to git-linking ./libexec/git-core/git-rm to git-linking ./libexec/git-core/git-ls-tree to git-linking ./libexec/git-core/git-update-server-info to git-linking ./libexec/git-core/git-diff-tree to git-linking ./libexec/git-core/git-merge-tree to git-linking ./libexec/git-core/git-mktag to git-linking ./libexec/git-core/git-rev-list to git-linking ./libexec/git-core/git-column to git-linking ./libexec/git-core/git-apply to git-linking ./libexec/git-core/git-var to git-linking ./libexec/git-core/git-rev-parse to git-linking ./libexec/git-core/git-archive to git-linking ./libexec/git-core/git-verify-pack to git-linking ./libexec/git-core/git-push to git-linking ./libexec/git-core/git-commit to git-linking ./libexec/git-core/git-tag to git-linking ./libexec/git-core/git-pack-refs to git-linking ./libexec/git-core/git-fmt-merge-msg to git-linking ./libexec/git-core/git-fast-export to git-linking ./libexec/git-core/git-remote-ext to git-linking ./libexec/git-core/git-mailsplit to git-linking ./libexec/git-core/git-send-pack to git-linking ./libexec/git-core/git-diff-index to git-linking ./libexec/git-core/git-mailinfo to git-linking ./libexec/git-core/git-revert to git-linking ./libexec/git-core/git-diff-files to git-linking ./libexec/git-core/git-merge-ours to git-linking ./libexec/git-core/git-show-ref to git-linking ./libexec/git-core/git-diff to git-linking ./libexec/git-core/git-clean to git-linking ./libexec/git-core/git-bundle to git-linking ./libexec/git-core/git-check-mailmap to git-linking ./libexec/git-core/git-describe to git-linking ./libexec/git-core/git-branch to git-linking ./libexec/git-core/git-checkout to git-linking ./libexec/git-core/git-name-rev to git-linking ./libexec/git-core/git-gc to git-linking ./libexec/git-core/git-fetch to git-linking ./libexec/git-core/git-whatchanged to git-linking ./libexec/git-core/git-cherry to git-linking ./libexec/git-core/git-reflog to git-linking ./libexec/git-core/git-hash-object to git-linking ./libexec/git-core/git-init-db to git-linking ./libexec/git-core/git-rerere to git-linking ./libexec/git-core/git-reset to git-linking ./libexec/git-core/git-stripspace to git-linking ./libexec/git-core/git-prune to git-linking ./libexec/git-core/git-mktree to git-linking ./libexec/git-core/git-unpack-file to git-linking ./libexec/git-core/git-remote to git-linking ./libexec/git-core/git-commit-tree to git-linking ./libexec/git-core/git-symbolic-ref to git-linking ./libexec/git-core/git-credential to git-linking ./libexec/git-core/git-check-ignore to git-linking ./libexec/git-core/git-shortlog to git-linking ./libexec/git-core/git-fetch-pack to git-linking ./libexec/git-core/git-clone to git-linking ./libexec/git-core/git-mv to git-linking ./libexec/git-core/git-read-tree to git-linking ./libexec/git-core/git-merge-subtree to git-linking ./libexec/git-core/git-ls-remote to git-linking ./libexec/git-core/git-config to git-linking ./libexec/git-core/git-cherry-pick to git-linking ./libexec/git-core/git-merge to git-linking ./libexec/git-core/git-prune-packed to git-linking ./libexec/git-core/git-count-objects to git-linking ./libexec/git-core/git-merge-base to git-linking ./libexec/git-core/git-index-pack to git-linking ./libexec/git-core/git-repack to git-linking ./libexec/git-core/git-show to git-linking ./libexec/git-core/git-fsck-objects to git-linking ./libexec/git-core/git-format-patch to git-linking ./libexec/git-core/git-bisect--helper to git-linking ./libexec/git-core/git-upload-archive to git-linking ./libexec/git-core/git-ls-files to git-linking ./libexec/git-core/git-check-attr to git-linking ./libexec/git-core/git-get-tar-commit-id to git-linking ./libexec/git-core/git-remote-fd to git-linking ./libexec/git-core/git-unpack-objects to git-linking ./libexec/git-core/git-add to git-linking ./libexec/git-core/git-check-ref-format to git-linking ./libexec/git-core/git-merge-index to git-linking ./libexec/git-core/git-pack-objects to git-linking ./libexec/git-core/git-receive-pack to git-linking ./libexec/git-core/git-pack-redundant to git-linking ./libexec/git-core/git-shell to git-shell-linking ./libexec/git-core/git-upload-pack to git-upload-pack-Installation complete--# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/Armel_version_broken_on_Synology_DSM_4.3-3810.mdwn
@@ -1,28 +0,0 @@-### Please describe the problem.--The armel daily build linked from https://git-annex.branchable.com/install/Linux_standalone/ doesn't seem to work.--When runshell is run as root, it hangs with no output and trying to run git directly from the bin directory gives --"/git: exec: line 2: : Permission denied:."--When run as an ordinary user, it gives --"./runshell: line 40: can't create /root/.ssh/git-annex-shell: Permission denied-chmod: /root/.ssh/git-annex-shell: Permission denied"--### What steps will reproduce the problem?--- Login in to NAS as root via SSH-- Download latest daily build via curl-- Untar, chown -R root:root, and CD in to git-annex.linux-- ./runshell or 'cd bin; ./git"--### What version of git-annex are you using? On what operating system?--Synology DSM 4.3-3810 and latest nightly build of git-annex.--> The shimming was broken, causing the hang. [[fixed|done]]-> -> (It looks like you somehow forgot to set HOME when becoming the non-root-> user.) --[[Joey]]
− doc/bugs/Assistant_doesn__39__t_check_if_it_can_drop_files.mdwn
@@ -1,64 +0,0 @@-### Please describe the problem.--The assistant/webapp doesn't drop files from the local (source) repository after transferring it to the 2 backup repositories (numcopies 2), but they are listed with:-- git annex find --want-drop--### What steps will reproduce the problem?--#### mintcream ####-- git init annex- cd ~/annex- git commit -m "create" --allow-empty- git annex init mintcream- git annex numcopies 2- git annex group here source- git config annex.autocommit false- git annex webapp--#### liquorice ####-- git init annex- cd ~/annex- git annex init liquorice- git annex group here backup--#### candyfloss ####-- git init annex- cd ~/annex- git annex init candyfloss- git annex group here backup--#### mintcream ####-- (add both backup repositories in webapp as "remote repositories")- (copy files into ~/annex directory)- git annex add- git commit -m "add some files"- (use "sync now" to prod assistant into noticing the commit)--### What was I expecting to happen? ###--The assistant to transfer the files to liquorice and candyfloss, then for the assistant to drop the files from mintcream.--### What actually happened? ###--The assistant transfers the files to liquorice and candyfloss. No files are dropped from mintcream.--### What version of git-annex are you using? On what operating system?--git-annex version: 5.20140707-g923b436--Arch Linux (git-annex-bin from AUR)--### Please provide any additional information below.--I wish to retain control of the commits on "master" (annex.autocommit false) but want the assistant to handle moving/dropping the files as required in the background.-- git annex drop --auto--works as expected.--> [[done]]; user misconfiguration. --[[Joey]]
− doc/bugs/Assistant_dropping_from_backup_repo.mdwn
@@ -1,28 +0,0 @@-Setup:--* fresh install of Debian Wheezy with git-annex 4.20130227 pulled in from unstable--Steps:--* clone existing repository and activate assistant-* Have USB drive, U, with repository group `backup` and preferred content string `standard`--Expected:--* Assistant never ever tries to drop anything from U--Actual:--* Assistant immediately tries to drop files from U; fortunately I didn't have the USB drive plugged in-* Changing the preferred content string of U to `present or include=*` stops the dropping, but this was never required before--Additional information:--* The files that the Assistant started trying to drop were, I believe, the first (alphabetically) files in my repository to contain non-ascii characters in their file names (some French accented letters)--Thanks.--> The non-ascii characters are the giveaway: For 1 version, git-annex used-> a regex library that failed to ever match non-ascii characters. So it-> thought backup repos, which match "*" with a regex, wanted no such files.-> This is [[fixed|done]]. --[[Joey]]
− doc/bugs/Assistant_from_standalone_5.20131230_64bit_crashes_on_startup.mdwn
@@ -1,31 +0,0 @@-The assistant from the standalone 64bit build crashes upon startup.--### Version information-- [0 zerodogg@firefly annexed]$ git annex version- git-annex version: 5.20131230-g4aa88d8- build flags: Assistant Webapp Pairing S3 WebDAV Inotify DBus XMPP Feeds Quvi TDFA- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav glacier hook external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 0 1 2 4- [0 zerodogg@firefly annexed]$ uname -a- Linux firefly 3.12.5-302.fc20.x86_64 #1 SMP Tue Dec 17 20:42:32 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux- [0 zerodogg@firefly annexed]$ cat /etc/fedora-release - Fedora release 20 (Heisenbug)- [0 zerodogg@firefly annexed]$ --### Error-- [0 zerodogg@firefly annexed]$ git annex webapp- Launching web browser on file:///home/zerodogg/Documents/annexed/.git/annex/webapp.html- - (process:6045): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed- libgcc_s.so.1 must be installed for pthread_cancel to work- error: git-annex died of signal 6- [134 zerodogg@firefly annexed]$ ls -l /usr/lib64/libgcc_s.so.1- lrwxrwxrwx. 1 root root 28 2013-12-18 10:54 /usr/lib64/libgcc_s.so.1 -> libgcc_s-4.8.2-20131212.so.1- [0 zerodogg@firefly annexed]$ --> [[fixed|done]] --[[Joey]]
− doc/bugs/Assistant_merge_loop.mdwn
@@ -1,19 +0,0 @@-The assistant appears to be in a merge loop with at least two of my repos. It's creating thousands of merge commits without any changes. One repository that contains around 600 files that change very very rarely now has 63528 commits.--Here's a screenshot from tig: [[https://ssl.zerodogg.org/~zerodogg/private/tmp/Skjermdump_fra_2014-07-05_07:09:22-2014-07-05.png]]--I can privately provide a copy of the git repo itself if needed.--Using the standalone build, 64bit, on ArchLinux, Fedora 20 and Ubuntu 14.04.-- $ git annex version- git-annex version: 5.20140610-g5ec8bcf- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 0 1 2 4--> [[fixed|done]]. Note that 5.20140708 contained an incomplete fix for this-> bug. --[[Joey]]
− doc/bugs/Assistant_removed_all_references_to_files.mdwn
@@ -1,1305 +0,0 @@-### Please describe the problem.--Over the last few days, the assistant has recorded commits which have removed all the files from four (which is to say: all) of my local repositories. Two were direct mode, two indirect. All still had the actual file data saved still, so switching to indirect mode and reverting the relevant commits restored all my files. The two indirect repositories are synced with each other.--One of the direct repositories also got all of its refs scrambled, pointing to objects that don't exist. I reset that one to indirect mode, found a valid commit from a clone and reset master to that commit. The other I've yet to work on.--The iffy commits appear to have arrived just after the assistant auto-updated to 20140708.--### What steps will reproduce the problem?--I've not tried reproducing it.--### What version of git-annex are you using? On what operating system?--git-annex version: 5.20140708-g42df533-Fedora 20-I'm letting the assistant auto-update itself.--### Please provide any additional information below.--Here's a log for the indirect mode repo that's synced. I have two commits at 18:56:43, each removing half of the files.--[[!format text """-[2014-08-30 18:56:40 BST] main: starting assistant version 5.20140708-g42df533-[2014-08-30 18:56:40 BST] TransferScanner: Syncing with apollo -[2014-08-30 18:56:40 BST] UpgradeWatcher: Finished upgrading git-annex to version 5.20140708-g42df533 --(scanning...) [2014-08-30 18:56:40 BST] Watcher: Performing startup scan-error: Ref refs/remotes/apollo/master is at cca3ca9633a98af7af4e029199b31768925298ed but expected efb22a8c5ff1c116ce43d99156112d4cafbdf967-From apollo.aylett.co.uk:Annex/Family- ! efb22a8..cca3ca9 master -> apollo/master (unable to update local ref)-TransferScanner crashed: /home/axa/Annex/Family/.git/annex/merge/: getDirectoryContents: does not exist (No such file or directory)-[2014-08-30 18:56:41 BST] TransferScanner: warning TransferScanner crashed: /home/axa/Annex/Family/.git/annex/merge/: getDirectoryContents: does not exist (No such file or directory)----(started...) [2014-08-30 18:56:43 BST] Committer: Committing changes to git-[2014-08-30 18:56:43 BST] Pusher: Syncing with apollo -To lizzie@apollo.aylett.co.uk:Annex/Family- 6924eb5..a13c0cd git-annex -> synced/git-annex- 5f56a47..972c8da annex/direct/master -> synced/master-fatal: Run with no arguments or with -c cmd-git-annex-shell: git-shell failed-[2014-08-30 18:56:50 BST] RemoteControl: warning Remote apollo needs its git-annex upgraded to 5.20140405 or newer-[2014-08-30 19:56:40 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 6924eb5..a13c0cd git-annex -> apollo/git-annex-To lizzie@apollo.aylett.co.uk:Annex/Family- 04e7150..9095d13 annex/direct/master -> synced/master-error: duplicate parent 9095d132bb1bd6f03ba4494bcccec6973a322f1c ignored-[2014-08-30 20:56:42 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 5f56a47..9095d13 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 9095d13..1a1d324 annex/direct/master -> synced/master-error: duplicate parent 1a1d32492a093c00c7386de55be3fc25a9a56187 ignored-[2014-08-30 21:56:43 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 9095d13..1a1d324 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 1a1d324..225e820 annex/direct/master -> synced/master-error: duplicate parent 225e820c9e27db3d278101519932dc5c8b62b64e ignored-[2014-08-30 22:56:58 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 1a1d324..225e820 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 225e820..205376f annex/direct/master -> synced/master-error: duplicate parent 205376fa7f5027653ae3a0bd177562b033b2c06a ignored-[2014-08-30 23:57:05 BST] NetWatcherFallback: Syncing with apollo -ControlSocket /run/user/1000/ssh-apollo.aylett.co.uk-22-lizzie already exists, disabling multiplexing-From apollo.aylett.co.uk:Annex/Family- 225e820..205376f master -> apollo/master-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-08-30 23:59:59 BST] Cronner: Consistency check in progress-[2014-08-30 23:59:59 BST] Cronner: Consistency check in progress-[2014-08-30 23:59:59 BST] Cronner: Consistency check in progress-[2014-08-30 23:59:59 BST] Cronner: Consistency check in progress-[2014-08-30 23:59:59 BST] Cronner: Consistency check in progress-[2014-08-31 00:00:00 BST] Cronner: Consistency check in progress-[2014-08-31 00:27:29 BST] PushRetrier: Syncing with apollo -To lizzie@apollo.aylett.co.uk:Annex/Family- 205376f..b74eb7b annex/direct/master -> synced/master-error: duplicate parent b74eb7b1ecc520850efdb304ba995b14b124692c ignored-[2014-08-31 00:57:29 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 205376f..b74eb7b master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- b74eb7b..cb1254d annex/direct/master -> synced/master-error: duplicate parent cb1254d5ab344a250675fbdaf5dec942636f6026 ignored-[2014-08-31 01:57:31 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- b74eb7b..cb1254d master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- cb1254d..8ad18dc annex/direct/master -> synced/master-error: duplicate parent 8ad18dcdf634a6c2aae224575b232c99c5b92a7c ignored-[2014-08-31 02:57:33 BST] NetWatcherFallback: Syncing with apollo -ControlSocket /run/user/1000/ssh-apollo.aylett.co.uk-22-lizzie already exists, disabling multiplexing-From apollo.aylett.co.uk:Annex/Family- cb1254d..8ad18dc master -> apollo/master-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-08-31 03:27:55 BST] PushRetrier: Syncing with apollo -To lizzie@apollo.aylett.co.uk:Annex/Family- 8ad18dc..868ab0f annex/direct/master -> synced/master-error: duplicate parent 868ab0f36977fb70ac2c8ddda86391289b6b0a3c ignored-[2014-08-31 03:57:55 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 8ad18dc..868ab0f master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 868ab0f..1eea08e annex/direct/master -> synced/master-error: duplicate parent 1eea08ee2340ccceb7554f8dd8fbae28edd0ee49 ignored-[2014-08-31 04:57:56 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 868ab0f..1eea08e master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 1eea08e..b542ca6 annex/direct/master -> synced/master-error: duplicate parent b542ca6756ba13377efa8884453c82eba71e27e6 ignored-[2014-08-31 05:57:59 BST] NetWatcherFallback: Syncing with apollo -ControlSocket /run/user/1000/ssh-apollo.aylett.co.uk-22-lizzie already exists, disabling multiplexing-From apollo.aylett.co.uk:Annex/Family- 1eea08e..b542ca6 master -> apollo/master-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-08-31 06:28:01 BST] PushRetrier: Syncing with apollo -To lizzie@apollo.aylett.co.uk:Annex/Family- b542ca6..0de348c annex/direct/master -> synced/master-error: duplicate parent 0de348caffaa453ce30e72ba2e240d8bbba34337 ignored-[2014-08-31 06:58:01 BST] NetWatcherFallback: Syncing with apollo -p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory-gpg: Signature made Mon 18 Aug 2014 20:14:04 BST using DSA key ID 89C809CB-gpg: /tmp/git-annex-gpg.tmp.0/trustdb.gpg: trustdb created-gpg: Good signature from "git-annex distribution signing key (for Joey Hess) <id@joeyh.name>"-gpg: WARNING: This key is not certified with a trusted signature!-gpg: There is no indication that the signature belongs to the owner.-Primary key fingerprint: 4005 5C6A FD2D 526B 2961 E78F 5EE1 DBA7 89C8 09CB-From apollo.aylett.co.uk:Annex/Family- b542ca6..0de348c master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 0de348c..8467b09 annex/direct/master -> synced/master-error: duplicate parent 8467b0948d5e6e3dfb8375c4e84e7770ff9798e2 ignored-[2014-08-31 07:58:04 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 0de348c..8467b09 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 8467b09..3a56258 annex/direct/master -> synced/master-error: duplicate parent 3a56258c6b5b9551a61756c97c563720c87bf692 ignored-[2014-08-31 08:58:07 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 8467b09..3a56258 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 3a56258..122eb0d annex/direct/master -> synced/master-error: duplicate parent 122eb0dbc0e863d4f044a5e0c6eccd4f39dc6599 ignored-[2014-08-31 09:58:10 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 3a56258..122eb0d master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 122eb0d..46fbb4e annex/direct/master -> synced/master-error: duplicate parent 46fbb4e5a9d330cbf2fe68c329cb9f10bbba38d6 ignored-[2014-08-31 10:58:12 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 122eb0d..46fbb4e master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 46fbb4e..cca5e72 annex/direct/master -> synced/master-error: duplicate parent cca5e72784496181ade94e702533aa5c8e741309 ignored-[2014-08-31 11:58:14 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 46fbb4e..cca5e72 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- cca5e72..20f0c9d annex/direct/master -> synced/master-error: duplicate parent 20f0c9da173562c13c4bf109333c9f9787f3a23b ignored-[2014-08-31 12:58:17 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- cca5e72..20f0c9d master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 20f0c9d..3c9eb47 annex/direct/master -> synced/master-error: duplicate parent 3c9eb47d6ff77f1f7949b64e10d0378220ea95b7 ignored-[2014-08-31 13:58:19 BST] NetWatcherFallback: Syncing with apollo -ControlSocket /run/user/1000/ssh-apollo.aylett.co.uk-22-lizzie already exists, disabling multiplexing-From apollo.aylett.co.uk:Annex/Family- 20f0c9d..3c9eb47 master -> apollo/master-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-08-31 14:28:21 BST] PushRetrier: Syncing with apollo -To lizzie@apollo.aylett.co.uk:Annex/Family- 3c9eb47..87cbe02 annex/direct/master -> synced/master-error: duplicate parent 87cbe029cf1b65809cadf6067e9cdbd4ba695118 ignored-[2014-08-31 14:58:21 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 3c9eb47..87cbe02 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 87cbe02..71238f0 annex/direct/master -> synced/master-error: duplicate parent 71238f04ff0429c64d3f3bb24116860e0cc80129 ignored-[2014-08-31 15:58:23 BST] NetWatcherFallback: Syncing with apollo -ControlSocket /run/user/1000/ssh-apollo.aylett.co.uk-22-lizzie already exists, disabling multiplexing-From apollo.aylett.co.uk:Annex/Family- 87cbe02..71238f0 master -> apollo/master-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-08-31 16:28:31 BST] PushRetrier: Syncing with apollo -To lizzie@apollo.aylett.co.uk:Annex/Family- 71238f0..600343d annex/direct/master -> synced/master-error: duplicate parent 600343d16d98bb7dd84ffbb1e2c8f27a49bd0bfe ignored-[2014-08-31 16:58:31 BST] NetWatcherFallback: Syncing with apollo -git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-08-31 17:28:38 BST] PushRetrier: Syncing with apollo -To lizzie@apollo.aylett.co.uk:Annex/Family- 600343d..50a6288 annex/direct/master -> synced/master-error: duplicate parent 50a6288026156f5956291ad1100bd420fdde564c ignored-[2014-08-31 17:58:38 BST] NetWatcherFallback: Syncing with apollo -git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-08-31 18:28:40 BST] PushRetrier: Syncing with apollo -To lizzie@apollo.aylett.co.uk:Annex/Family- 50a6288..5b1813a annex/direct/master -> synced/master-error: duplicate parent 5b1813a8dbbd7ea4b17e230e927419f1d3230534 ignored-[2014-08-31 18:56:40 BST] SanityCheckerDaily: Running daily sanity check to make sure everything is ok.-unused . (checking for unused data...) (checking HEAD...) (checking master...) (checking apollo/master...) (checking apollo/synced/master...) - Some annexed data is no longer used by any files:- NUMBER KEY- 1 SHA256E-s1103321--51418dc7fc654ebbeb9173bff598b4031d07d3c5cf651bd18a18ca6af9f7f1f7.jpg- 2 SHA256E-s3754--39631a60a771a00e88ef5ab011ab3f56fa8e539619b06aa68e66f2c71f252f9f.png- 3 SHA256E-s628641--2eeef2179787270c6307e1070678b6b27cbf0fe12cce71c136e0a89e1df78565.jpg- 4 SHA256E-s848--66e696444c6e570fc00d79f6651018d7e6549585e587394b933dcb0d74d8c214.js- 5 SHA256E-s21214--f26fa07b51fe0f4c5bc0d746f8b23e50115116bbcd80db057740bccb9841e4b6.png- 6 SHA256E-s852198--9fcc545c030c268d660381fd33d66b06605f7c5df16dca0b3fbe4eddfbf6b339.jpg- 7 SHA256E-s1334033--d6e722f76229c10ea6a1ff8dce2814ee42c92b643a19ec3f4d72222e1891c210.jpg- 8 SHA256E-s664656--85aaeced38501abfec6d23591edb07d7ab98bbe303b98eb07cfa0577ec8309b2.jpg- 9 SHA256E-s3213396--90e4ec9054de04c2b2c60a49b812582ba15c8da00208c9fc74acbc69b83182dc.JPG- 10 SHA256E-s820026--c1fc64d12cc74f60f8d17302a95217978782ea99758bce99ea2233709be60a6d.jpg- 11 SHA256E-s622679--5e8412b3955db206c6836fbd5731b0ab835aa325fc75bc7d75d4511ddbf67644.jpg- 12 SHA256E-s917793--7f2ecba64196449b9d7f1ea79e07f496d90d59c59d12472d058566a0881a5c6c.jpg- 13 SHA256E-s3493204--7ce9ad40b32b5cd1237e5efbb8f6885f7d734f8af65da8d0e92dc2de13162e07.JPG- 14 SHA256E-s910114--be8d66d9261108572efe0266ae386fefa653cea4ef43be9fbd10f7e2fe8d1c4c.jpg- 15 SHA256E-s636389--07b609b0cbf827a45cff2ca92367f3c5bf9a9527d4b3cb43961487bca8068ffd.jpg- 16 SHA256E-s823401--4cf12d87a9034d34a3019b5002000c92512f901a82f1081705c12e73b5870bad.jpg- 17 SHA256E-s1880--add7e1d7d7d98ff96afaec27bb066d6747551358e025176265a31b2b0f74bec0.log- 18 SHA256E-s8784--e28377207d41b4fef538b2fcbbd25c05275103a299e74966a88dce53ad5f50c0- 19 SHA256E-s8694--490b9f2f9c4c826b68bad68a50cf672ec36c58acb9e24fd46e84abaddec19b9b- 20 SHA256E-s2656--96dd5f3d5f8e87ce1552798dd5fe4c8dedab6268c0df9e391a202ffdc4b8fa71.log- 21 SHA256E-s459593--b68a62596f7524b6f877d8bd3dbbe49f4de02310e9dd6d5134bbdabfcd5d957a.jpg- 22 SHA256E-s11931--5ce30bd4424d544ed954e4722d7ed590a5be46a267c5045953e034309d942a8f.odp- 23 SHA256E-s1249581--d834f2dc34ded72086e26c32784e693597be011f28398635286394c7e8b5ded7.jpg- 24 SHA256E-s335736--9638a3225f1adbdb736a2cacc476f8eb5201c8124b83dab887a26c6d3a0e5899.jpg- 25 SHA256E-s6339776--f42083be1dba62acf81ad5ee8bccad47f267e2ce34c9e73e9aaafe3c69b462bd.pdf- 26 SHA256E-s582899--858ad02a9e5f58a6f5ea509865831acd540c290837beb87b37cb36bb62a7b982.jpg- 27 SHA256E-s2475657--d3fa5e460a2b164e849213d0417790704d1b4a2df9af5f6b281ac17dbacad30b.jpg- 28 SHA256E-s637475--68315445dd9477f07a695cb9fd12bb2c95f3117d949665ec2690184ded6b1ee6.jpg- 29 SHA256E-s77771--484ed3d8cc44de2db74c5680659c5c23ccb29ed5e99d0fb4b470a2c130c64c79.pdf- 30 SHA256E-s2343639--a7fccfe9a2c8de20ce8df10048b075758c445e5f4c9d9b78368db179e74e9a47.jpg- 31 SHA256E-s2282836--66e945f3a37651e1c88c58ff42b4dba9c6c5d822dc59f3e59895c336a0428c3d.jpg- 32 SHA256E-s5902--da66d622f9ed0987a0466c2c05c2aea56572e2f991c542b1120d564fb7459e7b.log- 33 SHA256E-s61410--4d3f0160bc92d0095a824baa17a08499dc748d06648029051802d24a772ba75d.css- 34 SHA256E-s1958077--1717f3036e7ca6b61fe8eeb3ce319de728b9bea10fd814108b9e13397a336db5.jpg- 35 SHA256E-s80930--f9b79963053221a10e32c4061b9da3622e89ce56aeed26c58f23bb70a2a57496.jpg- 36 SHA256E-s4956--a05854e0d26affdbb3e171c8e9ca3f663c8bc930f6402d9a370104e239bc2601.log- 37 SHA256E-s202851--3689503ce6f780d04e659fc85e4e7978c3c445afbd103f3ac118e1c6f3a4b738.jpg- 38 SHA256E-s5258--a243d289f629eb2e321c7232aa59c65d10ec79e70d07f25758ac04c0b9ff3f79.log- 39 SHA256E-s5406--dc07212d5aaaf5a320b3f9d710a72b68f7112140c76b43b7c0b4bb71f91e823f.log- 40 SHA256E-s8427--439c4f2144c9ea726b739494565b05dc47b59a8835e24e9a083171efc0834fc1- 41 SHA256E-s46--ca4a766fadecf16bbc25afbd805e2befbfb4cb270f122b0de813fbcfc933c1a2- 42 SHA256E-s839129--921ddf15c906a0353cb18bdd0b321bd5a37dfe653edbffc8e3b6b47996d54d8f.jpg- 43 SHA256E-s2922183--3aa5d5b22a980a11cee928ba701ffd389542db84fe96219442de1b33a64f840c.JPG- 44 SHA256E-s1305363--0b14938c28492e288d35a62334d6436ba8edfb7f65a066dbd9587478f157ab99.jpg- 45 SHA256E-s8602--819b18ca30f477f66e558ba1488a06e438a5f0b9c8f6987f68daad039d8020ca.png- 46 SHA256E-s6205--14691e198b05dd68b5fe3ed39eb8739182f4f5e75dc43dd7ecb252f01978c7ed.png- 47 SHA256E-s5070994--d0c5367647750b1f0b54c9fea7c7c9e1a0f7a0a7f61c92a688887538df3abf7f.m4v- 48 SHA256E-s134807--7100078e84c39a2123c0ea7d713e3361c7174f21fb72d39dac2a99a4844f89b7.jpg- 49 SHA256E-s535905--f317f11e4e0536ea8172e7827369bd9a3c887fcef2586b8eeda28b2dd36a791c.jpg- 50 SHA256E-s6420--72622a4453f4ea48acc0337bb1b288e0fb034d1ee1aa74f98eb9062066c025b5- 51 SHA256E-s51483--c9fba5eb0b29216afd9b6f13dd2f351367b7bcd0c8eb93fa0a1b6a0ce4535d57.sla- 52 SHA256E-s1957447--c3eddff4df50e1b0c5dc93f85e39acd24723013dd9b27b7b8a407eb5e55f1903.jpg- 53 SHA256E-s5345--ee879c6bc3c3ac59f449a9d9f92ec9cc2d15dced1f166805a179b6874d190c25.png- 54 SHA256E-s153751--c3fd0000f94ff9c44fef856ee440837fa4c228918ae70d0813d1635d50e6d4a0.odt- 55 SHA256E-s682324--33a6a1b34570f9abe0516d9abceefe14aae4cdacc41dc3f30ca92222d545631f.jpg- 56 SHA256E-s370109--a00b1c78753de6ae1d64a01d457b53a3572a9324a0facda4ec39a149d9adb37b.jpg- 57 SHA256E-s310217--aa0c575a44cac4957e06cd8ed0b058a16454a7be7f32ec8e79c815be6057bfbd.jpg- 58 SHA256E-s5798--61852a3ad168d4f27fe0f0e924e7418e838ae4363d85a64ebea80c9154e0c9a0.gif- 59 SHA256E-s47071--f1a74e5f9a20776adbe88ac3092e5a20a69d254905c0f93aa0b95a1ad0a5ed00.sla- 60 SHA256E-s988--b1f5fb3d38001b8bcf214158c6c7571f5aadb03093d2c307970a728edcb8012b- 61 SHA256E-s1397011--b67c04c6c99ccc208734dd39e18d4304a4963ef36600d4adc5827df21bfcc260.jpg- 62 SHA256E-s2124--1c64d2a60a40242432550ab3292e1ee38072481c36b8f028f75e3b4ea52fec29.log- 63 SHA256E-s1640512--ccb4940713e190a9242b34e18896156733f36df909c7e399bfdfe36299bfa748.jpg- 64 SHA256E-s484856--55f146177198dcd03069703c7b8bdf5c10cd7750aaf4b6f9af1946d72a9f9d23.jpg- 65 SHA256E-s7031--88bedea3e75aff77858c63a6c30bb06180bd9167fd380d94f132486d6ffeddf4- 66 SHA256E-s10100--1df9143f4c02f877ec891262bcbc407a9d4b960dd80c6826d5c1078012dc2614.js- 67 SHA256E-s2454--778574fe7cae3bfc2a49cbe3be18ed313b049b6e0bc333cea80723ae2136f9c3.log- 68 SHA256E-s63103--474c29d016927bd7dc42d992fc07c353148d393cfbd7c3e8193df91c3bb2d805.jpg- 69 SHA256E-s245481--ba0e9ed8876970e0aad7e22aeaf4f7403e1ef6fca474e0b4e90837381c0b810f.js- 70 SHA256E-s708--ab8f3c450c5c8944d6d91c35258b9da5ff4564b9b05b1e09ebbaa9b740d14aa4.log- 71 SHA256E-s582241--fb565e6fa923f3265a9406abf566d5de7a8e062b1d9ccb8ba7ec61a902ea277e.jpg- 72 SHA256E-s601517--fd4a4effd6c6b064be34910b36f1de8011bb3949d0f883a57ed4ca60eff6a642.jpg- 73 SHA256E-s613354--0d78d51b5047055d9bd2727e01a7c73ec25bcb99925be26550f3b921054e336b.jpg- 74 SHA256E-s20794--0ba2f6756001669bdf934f9d79e8fd1ccf2028130c33a0510279581ec9dfd73a.js- 75 SHA256E-s654750--be05edd69e61fb5ebecbddc8c39ae9ebdbca5e94ee395f604bbd73910a7e40f9.jpg- 76 SHA256E-s440--4e8500857e2b6a08a6922ca852ff4c9702e2397843011a14dee43d6e20c4f787.log- 77 SHA256E-s72381--a170eff1ba771b3e4e769ab2974b8fb1f66cff07bf8b19561a97f9d7767b565a.jpg- 78 SHA256E-s344661--21564a2da0f6b1ea6c4a39f4a96ba02680facb9d8a084d4fffa28b0e527c9fc8.jpg- 79 SHA256E-s51248--f940d364ad2583a9ae3c0f777fd61406914daa1837ed8dd78f3461760c4ca747.sla- 80 SHA256E-s502234--251053730579880833dc12058a6c689ba074f0a981331ec7eb685b69f08e292c.pdf- 81 SHA256E-s3682--f75a95ae16e2f8a8e0a607782cf332dc34c1e317d473023cbd7f9915fa400d62- 82 SHA256E-s3544--9b40beb44b624520a74057a82ae5e6adb18601e6c1fc7d8496bdd59e3b248945- 83 SHA256E-s355156--7056bee290696e681cd3538e2ff2e740842bce032effe509f0919e888cc03ee4.jpg- 84 SHA256E-s879539--12cc34616b2dda153890db0a724290fa01bd9dd664061a05c8d2c1039cd4cc3c.odg- 85 SHA256E-s2051310--69387e84897ed700b6dd7c418fc3a7884a1e6e16a4267297b3effb95b02a7bc7.jpg- 86 SHA256E-s620--eb69406700a3a6122cb532614f4ae6899d97409d76259820176f7ae77158684b.png- 87 SHA256E-s693427--e20c50c86937800b14e2773d79eb63d13c0300781f8e71ee3947fb5a2fe98fe5.jpg- 88 SHA256E-s87985--b89b279ca5dede3643e8a48402e9b112b1e1fdc14b3326c98cbdb32f9f7fa2cc.jpg- 89 SHA256E-s35739--378d1bcb19c2742b8d344459a74f9b4ea44287c4e5cf046b80a46b209ea1ebbb.sla- 90 SHA256E-s51515--d4805b60c6e0ea396dc157ca0e399ba355482f2a9696f31fdcf819aa176ea3e7.sla- 91 SHA256E-s396738--5e18be640581ced943a676323c80dc283b15d3caf37b2bc2d0b05ceee1d178e5.jpg- 92 SHA256E-s334295--7f97df9f93e42a2db9e9efb0aa34a2a9a6b9af49846e6a73f320ee151d535eed.jpg- 93 SHA256E-s425513--0f6228a7466c12d1d0e4beda9825f17442b15286a5639e3a894a36d33497c77a.jpg- 94 SHA256E-s114076--6a1822942964efa5531de2cae48d3fd69e71baca7ade38b7cbe23964637d4478.jpg- 95 SHA256E-s118034--a8b1e6f81534106e9f4563dfe3f288e9425284fbaa74247065cf80448cdb216f.jpg- 96 SHA256E-s639--4b491df2b47c2fd4dcfbb99b50ec1367e138c61216704490ada08cddd0d32fda.css- 97 SHA256E-s734079--0602d1c85bca8508010ed03c2b1c26c88a8c759783f49d7f7b282b30837c6b32.jpg- 98 SHA256E-s130889--751d2fa73ac74e17d2e82fc9a89b3d393028197790657aa075effc7c16b8f528.js- 99 SHA256E-s485283--63716cdb8953a9318eb28953af25db2afa02251e6f152d487f5ab05f1d27930e.jpg- 100 SHA256E-s59518--6a80f10665ad39dc27ee3a5727ebeee321a289dbc958916f9e6eda01f2703d25.jpg- 101 SHA256E-s194--4c0fc707f629bcb314433fc700c6090c970d343adbb921f46084bdb08f99cf6e- 102 SHA256E-s303--07ae4fec1962f2f83808ec861e477d5669dd71ff1089cb25a0e1da7b3ec9a5a6.css- 103 SHA256E-s24519--3f3cba473c1818b2ce46a034fc323d528df85dd88d3f2ed411ad644a08ff9132- 104 SHA256E-s316292--691e653f57643e579c261a827441e63ee3d8cf1f9ed5cdc43d861cf340510d34.pdf- 105 SHA256E-s11916--88e5b1e2f5bd0f5c458abb41589028ef35dc75872abd7e04eee4a12ae7bfef38- 106 SHA256E-s733240--fe7b7c77712b866c932d391f8305560d488d0e5515f3d9c890ddd11c96ff6069.odt- 107 SHA256E-s4323950--c71e34a9fa2d1f54934d3caf829e4b5330811c2937d523f856d43cf5d92b7275.m4v- 108 SHA256E-s475740--e2d4880b8561167dd91b57a666f3eba68931ae3546231d102469c76d341f560a.jpg- 109 SHA256E-s574--5d1bd8763457376e0ff677895456f9aad26b6d85e15648696e9f4c77af104fee.png- 110 SHA256E-s11608--f815f1bad38a05f27b1f7cd416236148fa79554ed2546a014afe148c0e427839.log- 111 SHA256E-s3300--7164c4d91218528eedb0310af14927d4ce483889b53da24fdcc01fadae107fbd- 112 SHA256E-s962958--9a81dba98b0b910641d035bf662b847fb4785ef2378bef7b2ae6713b1fbd903c.jpg- 113 SHA256E-s845627--09f3e811c372a7ee936064d4c48c8b4f36db519a49a0b274f69e3da12a0e2ffe.jpg- 114 SHA256E-s2380622--05725288b66460ff1befda38280dea4d05c5dff42818de7d64e619e12aebeaa0.jpg- 115 SHA256E-s62795--a32762ee80e176ca1d7869cd5f68e7442327e1a861ed70290f2256179ebd844c.js- 116 SHA256E-s3486--f148d21e252ab05ff7039fa276ee309e6d16d2ba7444043acc148b9986164162.log- 117 SHA256E-s2393747--1ba6fc7f4d47ced145ceab80128e3ceaf8cfe8f2155b5e33e9273c736a81b910.jpg- 118 SHA256E-s4611--bbc334899e27d8fe781f61e06be1c28852e618d1e2bd8b98de0aed7fb6106ad8.js- 119 SHA256E-s826134--426211e056784356538d3ac80838e197e2cdf29742cd31db6a386ce7c05aa052.jpg- 120 SHA256E-s1072403--87da8298b8c3c76bdfb8c96ac7dcb11349763067056eb0e1fadf5241fc134141.jpg- 121 SHA256E-s51028--d6d044282ee1d1d8fc02130ac42ab1d7ee3a6a7e2987b78bb1062529019cf3e5.sla- 122 SHA256E-s45783--35b9963b4a8bc3dbee5bbe827c2e18c795b8fce86bb1eb87c6b3b09327380f1f.js- 123 SHA256E-s999195--c0fa3d678c9ebe118ea3fb1b664a2f63ccc792a7578fe921d0c299adf40d97f3.jpg- 124 SHA256E-s96828--c5ebf871d1c98e5f49d15dc22131e483b514754ad86c6293c69b6d5aa3d44cf9.jpg- 125 SHA256E-s159835--47a9ba3de62d6a4b11dd59a60b0047d3d377c224ceac85bfb6a81a972f25fff9.css- 126 SHA256E-s9629--588e723593992acb553dd4f2c76a6993135b4f49e674358fae63ff06e145f07a- 127 SHA256E-s39867--6e96f4658811bba2f27f930f764111501e438135d793e28fe7eacb6b10866e0d.js- 128 SHA256E-s62332730--a2c804ddc66d8175fb5e187d17c904954f1e2cae634c4604ac363eb97d78f7e1.odt- 129 SHA256E-s1711933--dd49df68da23021d3e9cc775e86bd5341dda6ba71714c8287872deb9416e051a.jpg- 130 SHA256E-s290639--0803de7a02e9a4a1caca69b2a7b2c948e7faf2e4ef2bf3bcdaec148c0f26b842.pdf- 131 SHA256E-s5799--fa90e9a478760bc12c2707962f2ea6b9ab213bc7d4b158f28f6739727ffe05e7.log- 132 SHA256E-s11156--17ca703a57e9f02ebd71251ca8bdb6d82b71fa586deb034cd384b21a3818035a- 133 SHA256E-s16171--47a7946e6364fa5ad3dc595105c79a4946f18cbef0818e72682d9304625ceab9.odt- 134 SHA256E-s1962015--2eae4dfa79e014bf4468141bfac8c0065d1b05f2532758c6e68deedd297f22ee.jpg- 135 SHA256E-s31268--560829df213299f5db9aeb0b31b40044300c34e92818680f422d0ddfe7602f2c.axd- 136 SHA256E-s145407--c34c44643d9d0f7114cce8b31f3442a7b6392c4687af9ab97995bd30ddd3167c.pdf- 137 SHA256E-s1773--8417f863ffa4a076dd2d8b5a63170bb0c5b83cf275d72245a79c31d94358fd20.log- 138 SHA256E-s701838--3d7abfd8b091e4da1bb61881155c299b78ed693f128f1c693c7970bcbce4e8e0.jpg- 139 SHA256E-s2089502--f4c9ec5dce63924cba6f77efd5e20b17cfc0f3c9ae45dce7bb0ecc5a10986205.jpg- 140 SHA256E-s1085890--0346c7a329e7b80c7f93b8aa7de039bf322070ebac33cee6ade6fcc4a4f296be.jpg- 141 SHA256E-s3998--e38f3a315b698a0e8ccfa395431393af757f882413cea8b4879b5b5993543f86.js- 142 SHA256E-s7372--181699a3ca4be8bb0e9913fd96dc5c44ed8a790ea6ef2bb0fb285e741f2c46ab- 143 SHA256E-s864279--364b4a4d0a30ddbf1164d5d3ded0702a4b016ffc27d26eb6005d96e68aa4f77f.jpg- 144 SHA256E-s2941--7ca4f001618fda61146802286daf472c5daaaded2471e356a752b6a69834e7f7.log- 145 SHA256E-s153049--5805df5cecdaa15a549bf7751b1d66f7455e71e2243709d9799f839e42d082f2.jpg- 146 SHA256E-s542959--5823d605d7258bd813d09712fd124fd7c63f2cbdf46a9b52c3eb67eb7bb538bc.jpg- 147 SHA256E-s45282--b20a77431de35f8e70867cfe520503528fb948d63f724ed90fc249994875b77a.jpg- 148 SHA256E-s19556--e5bdba04d2a9d805c491778a742744d3007d38a23c9dc11cf8f6eab7b2dd0a1d.log- 149 SHA256E-s392108--c9c76c131588fc29d588afed12d98b6b3a6aa0a9971ad368112bc0c2a603e70c.pdf- 150 SHA256E-s8275--ff63b5b012ea62b178310424d817a8a77fb31151dd697659f85f23a6298cf28d- 151 SHA256E-s1769251--7d0a2ec1652f1287884f6bd4e0df14106af271e81fc38cae5aac1357966ea672.pdf- 152 SHA256E-s464748--aa63c72a4b064f91083228395e1391d970873ad1370900a468db154ed266d475.jpg- 153 SHA256E-s6130263--3521b18281dba779713e600fde1a4d15568328baad6baf43cba1530df7165c5d.JPG- 154 SHA256E-s494260--aeb91b314f3dee3580093e9610dacd5917265794b49acea9d80dfca83d56b88d.odt- 155 SHA256E-s3362329--05fde815df42455fdc1b563ce41bf13d585135da628d01c5ffc9ca627c008225.jpg- 156 SHA256E-s489239--d2ab01a94808613489205b7aa5d666cccfeac0a28b5a76ab18fc9fd9435dcabc.jpg- 157 SHA256E-s482249--e4979b950d4633515316102d934115b1981c8adf5a14ea80bfda87e623af7989.jpg- 158 SHA256E-s93506--3f44779fc3ce611f607c9cde2c114f6f038775485a677e17bcb6bb034e6ac888.jpg- 159 SHA256E-s818--66d21ef5da07cc00768b23bb711ccc8e18b91c99ccad2084ec309f51e6c52db6.log- 160 SHA256E-s171892--33f34e7d16851c2291d7495754505d391be4668883b43e4b9e587126c693b1d2.png- 161 SHA256E-s278132--fca8b8bbcc0f9fe8addb57994c69a9c511b206c27424491809ab31aef86f21b4.jpg- 162 SHA256E-s2418631--deb0aadf97aa49010ac3cab5f5299e2d68eeb5ecb4dd5de93316f23a714734f6.jpg- 163 SHA256E-s125121--2b2cc905b8c05d4c7253a9c2b45a961df545842e4ce9d17e5248aa6240e77557.pdf- 164 SHA256E-s199793--615ac75e6766d637d17159ebe3d48eedf27096e93b83efc159431da4d032e21b.axd- 165 SHA256E-s223221--ca5f5160688546f422cf7d041e58f07d5d90e8359666e523a5af515baf0b2980.jpg- 166 SHA256E-s1959724--2e44ed4b10ab3c1655b16335b901547713ac8d5c38d4ed3735bcbabb272242b5.jpg- 167 SHA256E-s11609--df8dcf81585eccae95b7c4f0a0ba8c6fc4cfe90ebbf9657bd6a10320f7195e61- 168 SHA256E-s483419--96cfd3b43e5b7bb1d6a5bc3f78d33e873fa36ee6e53c9f1de083f279c19c5f70.jpg- 169 SHA256E-s560766--96f47b698f6502bc758e6d8b9b538368f8085d040306388bfd42d3026c465ff5.jpg- 170 SHA256E-s3848--4d18299f8d8ef1bfbd7b206d419ef6f65cbd09a3ae999f3c7cc8496051b34080- 171 SHA256E-s1141493--80b7a82ee4edc420c538c4a2a37fc9d80cce4c321f5a9a7fa7e66df0c9e3693c.jpg- 172 SHA256E-s9726--14b5e76da3417f5f25f48c2a793aa50da9c920451495af7612b76d3c052d3f13.odt- 173 SHA256E-s939529--43d05562e75f2477aa6d412d8a672ce7b6cf2890d4e1578bf88692aabfd0e70d.jpg- 174 SHA256E-s888147--948ca59b827f77f75ea981b149a72df976aea360cd263d0f7c03275375a47232.jpg- 175 SHA256E-s740710--f1e98c032815161aff44c8ccbb882af5cb234f91c4430cf91d01115649bc9aa5.jpg- 176 SHA256E-s961257--e6b21901e268f6d0f3a38b43e5a06d8ad9ec0901f4c9639954da7ecf2ee4a666.jpg- 177 SHA256E-s616645--bd10a26926e6cd0fd0ee6cf72692c92134b183927280a00a74e869bbeae8bde6.jpg- 178 SHA256E-s47996--f862cbc7bea6fe4b5fe3a3af2b393973220a34975dd36a9d5f92b30d1db80acc.sla- 179 SHA256E-s2396909--2e6d435cf96f81a3f3247f2d35b01701f8a46977e813745324ca5b40717fdea9.jpg- 180 SHA256E-s180605--66c6df69bba4602100148ffd0f0a0ba0a14b74eaefb3b27708c6792d2b5cd09c.jpg- 181 SHA256E-s721289--159f9398adde99e23b05c8c8c99aadd98b6a3a80afe5e3745ff37b0668fe4a24.jpg- 182 SHA256E-s95559--0d932a11d465d523f85b17803d44fb0748459771b2cd843dbcfd677248abb0f5.jpg- 183 SHA256E-s368166--98be96450123c166cf11f1763aa25040ffb1674f7267a4041cc1a4fbe8e433a1.jpg- 184 SHA256E-s846--b3c9f5697bee76715237040d6ba5ff9f657dee2d882e36d818ed2ff50e8e0835.log- 185 SHA256E-s581051--217882c3f655c62dd323afe0689c9485d0d09430d5356a63105632cce08ea88e.jpg- 186 SHA256E-s586436--006bfd4f9697d8b64be920876bd8c0a40967b253806072ec09d2a630909826e4.jpg- 187 SHA256E-s398620--1ab7d488bafe19941f33155959c1bbec199a86ef2334c08b75b450bc9f36a16b.jpg- 188 SHA256E-s10457--0be429c323998556486e8f9977ccc980be3ba3920d5cc3bf16a6c7bb57b0fe3c- 189 SHA256E-s83789--c286b21f977391efd38b5a5a341f9dbec4da611a16bc1d17d8ca71d49ad64d30.jpg- 190 SHA256E-s321943--5e3983f4b43ae782b6f41c4f899027f1d55f78347e2106bc4c96e7f65c652918.jpg- 191 SHA256E-s7518--be582d1ce8295d8c47e261eb7bd78a0e720e78dd58805808e9bf64ddfc3c4fe4- 192 SHA256E-s6118--3ca5d8ca6cda3acc6c07c604f6880c017e6faa7dad4ba61e9aa956a9fa8b4b0d- 193 SHA256E-s1086965--e170514a3651dda3313f4dcfdb9490f039a825b8349f74957a17313bdbcd7e8d.jpg- 194 SHA256E-s10504--a57d3172d4a009a1a0d38993ea6dbe03fab6aa1ec429aa4aab563465b0dc43bd.js- 195 SHA256E-s530445--7c8e603a03e17bb0c6440df6b695e557357527bc081871b51d0b5a61222dd674.jpg- 196 SHA256E-s37480--ba3a0b04e4325bf0853c6201ecf7bb0fc08a0a13f5fdf0a4477c6a1f0cc82559.js- 197 SHA256E-s394333--77f7debb969fd22698b60339ed0a0e98d9c43b8c74203528a02f6a185784e808.jpg- 198 SHA256E-s568976--43c009e20c1b4b28d651c64ac1faa9ebd5e704bb975e2fb65ece83f4cb8867d2.jpg- 199 SHA256E-s13813--4b4db06a82938c002539bc21d9285d63387e1a6241932c111c4f3992fa093092.axd- 200 SHA256E-s2735--f73ac06c4be021a97a8c40f5371f0e62fd7094d863d9679407784c09c13ddd5b.log- 201 SHA256E-s25176948--4493a4fd3160627db1fdd24c2a6bd402b544c495565815007c2d0d5093478d2a.odt- 202 SHA256E-s596273--de2ec9fe99774ea6ce0a746a66888b71cfd744d3d97084439d054e58adebe709.jpg- 203 SHA256E-s947995--956f7ec6d1c0c931c40e055fe21c2cfde8ef135f816052147406cb0c3ed0f948.jpg- 204 SHA256E-s5283--5fbb8a58b8bf48ea0511c26b1b319f737df54e8e35f13b5d851dc7c0ce662458.png- 205 SHA256E-s777575--c9fea606bc2e419967c550c43b5345bf7b08b43a81d0cdc561e048b94d536e10.jpg- 206 SHA256E-s51496--36143df60284eae68573cb266a34a25f3c042bfd8314bdf0730c03a4fb81bb38.sla- 207 SHA256E-s3013379--4f47c51193c043d2e81aa0bf46927a5f5c305625a09ac9034f9cb6e25ea2c6bc.jpg- 208 SHA256E-s592379--4cea82764a163f6da9c6e63f553f82f119d5188d187c0747ee467a337f81446e.jpg- 209 SHA256E-s8402--5b400d459743a01405d2d1ffc4d07651c36712caf9030e2a091e48f97c58a2bb.png- 210 SHA256E-s662301--f0cf51849e330e861513bee59063450d14759055c67986e8a31dbbde0907a254.jpg- 211 SHA256E-s1371822--0c85f348595f845e0076e52157fbb772a9d72a4821310c187b183370d7bb1b4c.jpg- 212 SHA256E-s13445--460f9e3ea4f8a260af278d81c59faa45f16b2069b10030a8a253cd852f2e8e34.log- 213 SHA256E-s19780--3f513b835cc3299a15178dae45cc523f1b06a1c13bd0e1c29f958027d3f5dc8a.axd- 214 SHA256E-s311438--00b3cbd6de31a75e3a017c452099991f1ec09327efe9c6450012f6015eb6e1a4.jpg- 215 SHA256E-s8942--e267fde4da4719de2c454d82f907796167f425510ea84098a39b425b69d2df5e- 216 SHA256E-s845884--58974bcab0e36d65d606c1acf57e34e2e6f89872fbab65b9abf5250c632967a5.jpg- 217 SHA256E-s331598--de52b228ad93c774d4dd1d41556ff27f7f03802378747807f324a9604e32ed66.jpg- 218 SHA256E-s201837--d3f750f64687f347f0254d3c602a010ef71636a85f37954690d20bb6548437b1.jpg- 219 SHA256E-s537652--aeaa479c57d39b3618006162c80e1c0eaa2cfa0b2a9a2c069a3d601bfe5b0706.jpg- 220 SHA256E-s1174974--1d506c737c2dbde4aa286a2a25b22412c83edc5e55c3cc94fa38fb224677cf01.jpg- 221 SHA256E-s7068886--945cfae8e22db1c96ec4cfa7b7de021c6bfe4d9e4961eeb2860716d6c8a57354.m4v- 222 SHA256E-s684839--02293539aa97de6ab57e9caaec6998f4e64a08967d9f5f2c44581fb1df0acdd0.jpg- 223 SHA256E-s371333--36110b44ea216b0166b023d09b52d0d32c3bdd01dafa857ed62e7c806be93193.jpg- 224 SHA256E-s195249--21a08a5510bc88e85db2b5da660c61320ccd101a4b86cf3558618bbf37d659f0.jpg- 225 SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.xcf- 226 SHA256E-s26368--302de7e36ca407cf1441ab2d3fa855192c9d8b2e6a7ec04638d19db7056b7f2a.png- 227 SHA256E-s965404--fd61bc28b2adfd4d2f175e02c662b7a71dc4b09880c8198795994e70f156c46d.jpg- 228 SHA256E-s7254--2fcb58c8f60caadcb3e2d9e38921a49e470a9d854a55c89cb9c80f6ed0334669.csv- 229 SHA256E-s482912--24330dbfb1d90882bf3f42e96c236f818913c343fd828992cd03ca84a3b9b2f5.jpg- 230 SHA256E-s641334--bb06cea748a2feefa1a608635b83ed4311da1990275e32a9fd4549048c91a453.jpg- 231 SHA256E-s1239159--2d15a6bf658d588697c5b3c2b1d1382450a40517779c32d435ff672e45539a5c.jpg- 232 SHA256E-s2125768--a04f47c1fa5136fa397897bc907b6754a9598b37d34920250b8f70a87aaaa0b8.jpg- 233 SHA256E-s3968--f4147a07111527be5bc7e9a5c83e3fd7ed871937167fc6d20fb7ee4d7059aa69.js- 234 SHA256E-s462918--aa97a7f50f004dffdf444bb7f69e09c650c8987f52b5f4a0164c6acdeb4a8b28.jpg- 235 SHA256E-s29501--67fa8330853830c4b29e05f96e6e3b6369ab908238e425e8faff4ac57e12bdb0.log- 236 SHA256E-s158417--4058a56c1350032d640519f3aeb94ba27cd8e8b5afceb6d65e746af4f94777e0.pdf- 237 SHA256E-s3437070--12a5bafa210aa79e9abb86c21032003c30c3a1eb5fce45a31488b6ff08db084d.jpg- 238 SHA256E-s4373--12f64c274107733ae44f8ea9dc92e3ecf15400d98b3d76f9cc7e11527e4ed81a- 239 SHA256E-s51497--218e86c2eb9ded51b764b5296cfff76bae4dca82e07a1602c9c597a1c34e98d7.sla- 240 SHA256E-s4372--20e4d3e47c5fd381ffc31e6effbeb29eda97d6def773a3e42596501c6beb6317- 241 SHA256E-s317548--cb605575ca9fab16501f2819b000d11bb06fbb2ad1f300cfba3d011e3e8e2ffc.pdf- 242 SHA256E-s4960--c10e8c25e9b66e3ef77723373beae89e2fab1010c8b36ca329a3e9da20cbdc7e.log- 243 SHA256E-s517805--9c14fd5e5da48efd9951b086c25c04a7c5427111ef2829543497e707f93fce99.jpg- 244 SHA256E-s1857451--616661a96876b89472a69d32bd567aeeb95fa7da19ba4c3aa6a0ab237e2dcec3.jpg- 245 SHA256E-s2760813--63d375f82234356889c6222a0162bdba3b7f5a1a0cb31e24c2c209f43fc2f37e.jpg- 246 SHA256E-s832772--530816bf7c52c72e9b951289b5a35da753c66726d4e7bb2c2267faec6c8c263c.jpg- 247 SHA256E-s4660164--2832a896d7af11fc35e1dd7ab527b0fdfeedf7ffe93bcce147381a8739c81298.JPG- 248 SHA256E-s688782--71733ec7ffd2077ecf2973a739e4928be5824ad92034f64446a216cf513a1f29.jpg- 249 SHA256E-s2876462--92eb9385b333bf9eb8ad56de86e46d1ba9b21c1166814e6f16e50e4a769936fc.odt- 250 SHA256E-s496541--80d2e40f680dbd998b487e0ee8d479cb92741ec9c3e1f9d1d1d6d2f21a8cd795.jpg- 251 SHA256E-s69339--97fe05a5b2c230c5b1fde5d18555aca13d12a35940d7d8c15249e7e80629aed6.jpg- 252 SHA256E-s169446--5e1e9e262a58c5692f0d3c428fb71c0980311a88b474ffee95a5ea8cb5d5bf15.jpg- 253 SHA256E-s2678100--a347450551a9055011016920280dd0a63dfc541f4f52f8ee78ef2b7a09afd46a.jpg- 254 SHA256E-s87--5c2582459e3550daa4889fae41e3c8f6f4ad26dfa670502e4f516749aeac4113.png- 255 SHA256E-s5798--c7167ef62bc21326b00d78b47d672bc25026eb6c7f3919fa47db2e7db8855ba9.gif- 256 SHA256E-s53033--80840b2105a7a316a010ec3c3775031bef7fbdabbb7d3f6b7ece1a6253ef1b59.jpg- 257 SHA256E-s7407--8ec4462ca6a05614378729bb20bb33c3b892bc943fd698389e44d959c4506843.log- 258 SHA256E-s1189946--d23ba452e6e267d93f6233e885bd6f9e15b8ad1aea4c3d2368d901428df78970.jpg- 259 SHA256E-s3447000--61a3bd3f7dda48544b67040012d6cd5999499d25e75dc34b82d11955d0fc9b6a.jpg- 260 SHA256E-s3263208--69ad68aaad7058af8d14f7e4c03e5b52c9a78dbac7ffd33bd7bc5220c847d6bb.JPG- 261 SHA256E-s1226280--d372b699459664c382f607ff56294df49e6d8d0fcab90b509337c347943357cf.jpg- 262 SHA256E-s16890--12861c187e68e3591ccd5f708b935cc43bf25f5672daf50913e152c1c55e510c.png- 263 SHA256E-s1092669--8e7f7431c487c6cff11ee9f7c8a87aa0d057b518e60bd2b92fd677e5c9a88313.jpg- 264 SHA256E-s307511--5fad92167d8f9a7ed4076909a1540388cdae89df956e6011065526bfb10564a4.jpg- 265 SHA256E-s8334--212df98aca1ee3d4f10539a786ad746f3856c2715e23d5cb816a2374b5e6c43c.png- 266 SHA256E-s3375--2b403c31d4934895cccbe05556b0134bd4b78d4b873193d2b12a8893ab170681.txt- 267 SHA256E-s691014--470d607465715a4c0735d74da75a5aafb5f6707b9d10a9a6a8c002f095f447e2.jpg- 268 SHA256E-s680701--133c1dc67e394103d9f900cbf80ef508c7d7818edb23406c5f67f027a38093a4.jpg- 269 SHA256E-s4024--b5d3e2bb6d51ff8ceb54f501035a5feebe7d5178d35b98abe9e41531bd2abd22- 270 SHA256E-s1117--b7c94c25be8e78468071e78481641927450d754fd1bbd8d0d751f116d02b9ab3- 271 SHA256E-s476926--ea981873de3e0ca8156ff710429894abbd8a51384b210cc142b074ec9b2c9ba0.jpg- 272 SHA256E-s56655--7df6526b49b7aa986070db456b6a3a378c8aaaee8cb7c8892c154eecf401002a.com.htm- 273 SHA256E-s2963--4fc53b3029a595b3b7f1f201eb4b7c2df78afc7e083abccd070c8e6fae79a661.txt- 274 SHA256E-s761655--486ef18d41898ba80505d7630170305c4b58fa647786bd5447f20045bd6f3b2e.jpg- 275 SHA256E-s1389414--3599c1a4da6a3b61cbc4dc431c436af9bf201b634fde2f99ddf54eae8c3590d5.jpg- 276 SHA256E-s39678--bea819324e10bc288c75650e2196bebd5339952ce33574625ae5091ad749b63c.jpg- 277 SHA256E-s47531--a91ecea2694b4b5c8daab84aa25c675f2f73dbfaa8ccfd581d6868b1e2568b7a.jpg- 278 SHA256E-s4923--2f1b9afef156e9c7f4994106eda088868a992d92e66a5d601f77980fea80f777- 279 SHA256E-s84101--bca6a8a9640b1ebfa8a2ba01b3a0f7ed20ad77fa5cbb5588d46ce75949fc38db.jpg- 280 SHA256E-s1245742--d547d4a18279ec671be7869896c0b3e763cf8499c4dc28a62a49cd657fdf4200.jpg- 281 SHA256E-s655461--f9b43d2794fe757d7cb61a704a01c85bc09eb20d70a1550d6934dec12f46f0bf.jpg- 282 SHA256E-s137484--51fbe9bc815e41dfe22b9f9d4ed8f3ca98a8cb5cc7b81522b296d45b0279a413.jpg- 283 SHA256E-s607392--ead4548b66ac3ab5c930cd89bd60de480184a4f23ffce9b5da24f9269b796283.jpg- 284 SHA256E-s6888--405748982bbb3340eea34acbe45085ea62c80767866f0c76c355e4f94b969c7c.png- 285 SHA256E-s4327767--eef5840e2f4294a125aaa3ed33f8ccc96c5c2c3e31cbee356013de354e628df9.pdf- 286 SHA256E-s411064--4e5e5d477ccc542f78649e4b4ee6aa132bf79ae9aeb64a46cb45a7ee133eb2f7.pdf- 287 SHA256E-s224149--204dbb62c5d5352c9b5baead124ecf52c6fffd49120343cc21bb10343353934e.jpg- 288 SHA256E-s1333719--9d9ac54db47723755ee0d19731c0b2f4b40074d946da4a1e283a4904feea4534.jpg- 289 SHA256E-s1889687--07b79ce21bf5ffe2d80f9878d338fcd63ddc92c5381eb3c290639c3e73a7b927.jpg- 290 SHA256E-s686131--93ba1a21ff8cc7d9baa61a2af8407ccc8c1b22705a191e9f0a393d14ec95e232.jpg- 291 SHA256E-s619954--3d900d39d16eca00287a0c4bbe20b46767867b5065260a4a1fa8444081998e25.jpg- 292 SHA256E-s828309--f1d702dcb350cff7a3229fe62c4f0f4beb5f95ad2f00a6fd1bfb82549cd08129.jpg- 293 SHA256E-s516404--0ca06e98fd119847c99bee56264a31ac99b36ae71136624018d308ff8c6a2e3d.jpg- 294 SHA256E-s783842--0618e7c3ebc7ff8fcdff82b9fd227e8b83f491e8e1b96c2d0e566fc7fbea27ea.jpg- 295 SHA256E-s20748--df0711c99c30b5fdcbfdd109c093f02f6a7f5196e7ffbc8e291bb2780c5735c0.css- 296 SHA256E-s61739--387a27967c79b09e21d93f8a8b969dda930e8d26e9ce379c1d71718d4cc5a1df.jpg- 297 SHA256E-s1461106--37222c3cd7a3af846c8aaed3a174a0a7e6f775ea4c08c4e2f792c6da724812b9.jpg- (To see where data was previously used, try: git log --stat -S'KEY')- - To remove unwanted data: git-annex dropunused NUMBER- -ok-[2014-08-31 18:58:39 BST] NetWatcherFallback: Syncing with apollo -p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-gpg: Signature made Mon 18 Aug 2014 20:14:04 BST using DSA key ID 89C809CB-gpg: /tmp/git-annex-gpg.tmp.0/trustdb.gpg: trustdb created-gpg: Good signature from "git-annex distribution signing key (for Joey Hess) <id@joeyh.name>"-gpg: WARNING: This key is not certified with a trusted signature!-gpg: There is no indication that the signature belongs to the owner.-Primary key fingerprint: 4005 5C6A FD2D 526B 2961 E78F 5EE1 DBA7 89C8 09CB-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-08-31 19:28:42 BST] PushRetrier: Syncing with apollo -To lizzie@apollo.aylett.co.uk:Annex/Family- 5b1813a..68b2827 annex/direct/master -> synced/master-error: duplicate parent 68b28274ba1f0451a2e93ef4c2757ab795b920e6 ignored-[2014-08-31 19:58:41 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 71238f0..68b2827 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 68b2827..16f040e annex/direct/master -> synced/master-error: duplicate parent 16f040e9cd0bd085dd42e8869cc99d6982f8ea9c ignored-[2014-08-31 20:58:43 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 68b2827..16f040e master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 16f040e..e8ecdba annex/direct/master -> synced/master-error: duplicate parent e8ecdbace26ba300e7bf3f4b8237f8cf4d825955 ignored-[2014-08-31 21:58:46 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 16f040e..e8ecdba master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- e8ecdba..82f1c3d annex/direct/master -> synced/master-error: duplicate parent 82f1c3da446ea356933e764e4ab0f6533d8688f7 ignored-[2014-08-31 22:58:47 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- e8ecdba..82f1c3d master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 82f1c3d..1d82f6d annex/direct/master -> synced/master-error: duplicate parent 1d82f6dc915ff33c86f9001c50b7c60f212b80a4 ignored-[2014-08-31 23:58:50 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 82f1c3d..1d82f6d master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 1d82f6d..e6f51b1 annex/direct/master -> synced/master-error: duplicate parent e6f51b190fc3412b8c10988c2dd9f281014802f0 ignored-[2014-08-31 23:59:59 BST] Cronner: Consistency check in progress-[2014-08-31 23:59:59 BST] Cronner: Consistency check in progress-[2014-08-31 23:59:59 BST] Cronner: Consistency check in progress-[2014-08-31 23:59:59 BST] Cronner: Consistency check in progress-[2014-08-31 23:59:59 BST] Cronner: Consistency check in progress-[2014-08-31 23:59:59 BST] Cronner: Consistency check in progress-[2014-08-31 23:59:59 BST] Cronner: Consistency check in progress-[2014-09-01 00:00:00 BST] Cronner: Consistency check in progress-[2014-09-01 00:58:52 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 1d82f6d..e6f51b1 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- e6f51b1..e6d090c annex/direct/master -> synced/master-error: duplicate parent e6d090c41e0226cfb58bec304c1205b2fb2a738d ignored-[2014-09-01 01:58:54 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- e6f51b1..e6d090c master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- e6d090c..e21ddb1 annex/direct/master -> synced/master-error: duplicate parent e21ddb1bf0530ae415419ae15edeb1287ef6d9af ignored-[2014-09-01 02:58:57 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- e6d090c..e21ddb1 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- e21ddb1..03a2d0f annex/direct/master -> synced/master-error: duplicate parent 03a2d0fea214ae4a6acad0837587f5539f06efd8 ignored-[2014-09-01 03:58:59 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- e21ddb1..03a2d0f master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 03a2d0f..f062d0b annex/direct/master -> synced/master-error: duplicate parent f062d0ba684347871b780a4f0d5ff3e203329cdd ignored-[2014-09-01 04:59:01 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 03a2d0f..f062d0b master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- f062d0b..a695f4d annex/direct/master -> synced/master-error: duplicate parent a695f4dc83028907d2c9272f8cf8ec88d38049d6 ignored-[2014-09-01 05:59:03 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- f062d0b..a695f4d master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- a695f4d..7706c3b annex/direct/master -> synced/master-error: duplicate parent 7706c3bf24b8529bd248c7a4bfe817573bfa0368 ignored-[2014-09-01 06:59:05 BST] NetWatcherFallback: Syncing with apollo -p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory-gpg: Signature made Sun 31 Aug 2014 21:52:56 BST using DSA key ID 89C809CB-gpg: /tmp/git-annex-gpg.tmp.0/trustdb.gpg: trustdb created-gpg: Good signature from "git-annex distribution signing key (for Joey Hess) <id@joeyh.name>"-gpg: WARNING: This key is not certified with a trusted signature!-gpg: There is no indication that the signature belongs to the owner.-Primary key fingerprint: 4005 5C6A FD2D 526B 2961 E78F 5EE1 DBA7 89C8 09CB-ControlSocket /run/user/1000/ssh-apollo.aylett.co.uk-22-lizzie already exists, disabling multiplexing-From apollo.aylett.co.uk:Annex/Family- a695f4d..7706c3b master -> apollo/master-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-09-01 07:29:09 BST] PushRetrier: Syncing with apollo -To lizzie@apollo.aylett.co.uk:Annex/Family- 7706c3b..6936dd7 annex/direct/master -> synced/master-error: duplicate parent 6936dd71b925b08dac26890cec58186fe0f5da89 ignored-[2014-09-01 07:59:09 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 7706c3b..6936dd7 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 6936dd7..dc51bb1 annex/direct/master -> synced/master-error: duplicate parent dc51bb1571c950330650a2881d443449bae64db1 ignored-[2014-09-01 18:38:55 BST] NetWatcher: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 6936dd7..dc51bb1 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- dc51bb1..8f55d1c annex/direct/master -> synced/master-error: duplicate parent 8f55d1ccbb0ee6d44e3176006abf71d76f80376d ignored-[2014-09-01 19:15:05 BST] NetWatcherFallback: Syncing with apollo -p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory-gpg: Signature made Sun 31 Aug 2014 21:52:56 BST using DSA key ID 89C809CB-gpg: /tmp/git-annex-gpg.tmp.0/trustdb.gpg: trustdb created-gpg: Good signature from "git-annex distribution signing key (for Joey Hess) <id@joeyh.name>"-gpg: WARNING: This key is not certified with a trusted signature!-gpg: There is no indication that the signature belongs to the owner.-Primary key fingerprint: 4005 5C6A FD2D 526B 2961 E78F 5EE1 DBA7 89C8 09CB-From apollo.aylett.co.uk:Annex/Family- dc51bb1..8f55d1c master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 8f55d1c..6cfcfe7 annex/direct/master -> synced/master-error: duplicate parent 6cfcfe7d46e622dd1e28d7c0d182e8c5082d88df ignored-[2014-09-01 20:15:07 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 8f55d1c..6cfcfe7 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 6cfcfe7..0048860 annex/direct/master -> synced/master-error: duplicate parent 0048860fa55502c1c58d3e4d55d3a687a5fee1cb ignored-[2014-09-01 21:15:09 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 6cfcfe7..0048860 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 0048860..3092f0e annex/direct/master -> synced/master-error: duplicate parent 3092f0e9d36cfb780bf0eb4a667bfe6a8a7b3ba4 ignored-[2014-09-01 22:15:11 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 0048860..3092f0e master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 3092f0e..c2d3665 annex/direct/master -> synced/master-error: duplicate parent c2d3665970d928b3eb4b93c0a69f4f1533a01c84 ignored-[2014-09-01 23:15:13 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 3092f0e..c2d3665 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- c2d3665..0966032 annex/direct/master -> synced/master-error: duplicate parent 09660328b05c3eb55e78e5ec38d9d043cd6aa78a ignored-[2014-09-02 00:15:15 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- c2d3665..0966032 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 0966032..b4bd0aa annex/direct/master -> synced/master-error: duplicate parent b4bd0aae9a45c024247c5ea120970ede21d52b34 ignored-[2014-09-02 01:15:17 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 0966032..b4bd0aa master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- b4bd0aa..dff7898 annex/direct/master -> synced/master-error: duplicate parent dff789833ff9f83324c35d1892fb271e7f59b6f4 ignored-[2014-09-02 02:15:18 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- b4bd0aa..dff7898 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- dff7898..628cc98 annex/direct/master -> synced/master-error: duplicate parent 628cc98b8f571d27b1b7f671992d884be9bb776a ignored-[2014-09-02 03:15:20 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- dff7898..628cc98 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 628cc98..11f0e77 annex/direct/master -> synced/master-error: duplicate parent 11f0e7756811654bee5ab1ae57068ad4cfebe698 ignored-[2014-09-02 04:15:22 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 628cc98..11f0e77 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 11f0e77..fb4d2b8 annex/direct/master -> synced/master-error: duplicate parent fb4d2b8eda7b2a194d98cf841c63374bf46cc2e0 ignored-[2014-09-02 05:12:34 BST] SanityCheckerDaily: Running daily sanity check to make sure everything is ok.-unused . (checking for unused data...) (checking HEAD...) (checking master...) (checking apollo/master...) (checking apollo/synced/master...) - Some annexed data is no longer used by any files:- NUMBER KEY- 1 SHA256E-s1103321--51418dc7fc654ebbeb9173bff598b4031d07d3c5cf651bd18a18ca6af9f7f1f7.jpg- 2 SHA256E-s3754--39631a60a771a00e88ef5ab011ab3f56fa8e539619b06aa68e66f2c71f252f9f.png- 3 SHA256E-s628641--2eeef2179787270c6307e1070678b6b27cbf0fe12cce71c136e0a89e1df78565.jpg- 4 SHA256E-s848--66e696444c6e570fc00d79f6651018d7e6549585e587394b933dcb0d74d8c214.js- 5 SHA256E-s21214--f26fa07b51fe0f4c5bc0d746f8b23e50115116bbcd80db057740bccb9841e4b6.png- 6 SHA256E-s852198--9fcc545c030c268d660381fd33d66b06605f7c5df16dca0b3fbe4eddfbf6b339.jpg- 7 SHA256E-s1334033--d6e722f76229c10ea6a1ff8dce2814ee42c92b643a19ec3f4d72222e1891c210.jpg- 8 SHA256E-s664656--85aaeced38501abfec6d23591edb07d7ab98bbe303b98eb07cfa0577ec8309b2.jpg- 9 SHA256E-s3213396--90e4ec9054de04c2b2c60a49b812582ba15c8da00208c9fc74acbc69b83182dc.JPG- 10 SHA256E-s820026--c1fc64d12cc74f60f8d17302a95217978782ea99758bce99ea2233709be60a6d.jpg- 11 SHA256E-s622679--5e8412b3955db206c6836fbd5731b0ab835aa325fc75bc7d75d4511ddbf67644.jpg- 12 SHA256E-s917793--7f2ecba64196449b9d7f1ea79e07f496d90d59c59d12472d058566a0881a5c6c.jpg- 13 SHA256E-s3493204--7ce9ad40b32b5cd1237e5efbb8f6885f7d734f8af65da8d0e92dc2de13162e07.JPG- 14 SHA256E-s910114--be8d66d9261108572efe0266ae386fefa653cea4ef43be9fbd10f7e2fe8d1c4c.jpg- 15 SHA256E-s636389--07b609b0cbf827a45cff2ca92367f3c5bf9a9527d4b3cb43961487bca8068ffd.jpg- 16 SHA256E-s823401--4cf12d87a9034d34a3019b5002000c92512f901a82f1081705c12e73b5870bad.jpg- 17 SHA256E-s1880--add7e1d7d7d98ff96afaec27bb066d6747551358e025176265a31b2b0f74bec0.log- 18 SHA256E-s8784--e28377207d41b4fef538b2fcbbd25c05275103a299e74966a88dce53ad5f50c0- 19 SHA256E-s8694--490b9f2f9c4c826b68bad68a50cf672ec36c58acb9e24fd46e84abaddec19b9b- 20 SHA256E-s2656--96dd5f3d5f8e87ce1552798dd5fe4c8dedab6268c0df9e391a202ffdc4b8fa71.log- 21 SHA256E-s459593--b68a62596f7524b6f877d8bd3dbbe49f4de02310e9dd6d5134bbdabfcd5d957a.jpg- 22 SHA256E-s11931--5ce30bd4424d544ed954e4722d7ed590a5be46a267c5045953e034309d942a8f.odp- 23 SHA256E-s1249581--d834f2dc34ded72086e26c32784e693597be011f28398635286394c7e8b5ded7.jpg- 24 SHA256E-s335736--9638a3225f1adbdb736a2cacc476f8eb5201c8124b83dab887a26c6d3a0e5899.jpg- 25 SHA256E-s6339776--f42083be1dba62acf81ad5ee8bccad47f267e2ce34c9e73e9aaafe3c69b462bd.pdf- 26 SHA256E-s582899--858ad02a9e5f58a6f5ea509865831acd540c290837beb87b37cb36bb62a7b982.jpg- 27 SHA256E-s2475657--d3fa5e460a2b164e849213d0417790704d1b4a2df9af5f6b281ac17dbacad30b.jpg- 28 SHA256E-s637475--68315445dd9477f07a695cb9fd12bb2c95f3117d949665ec2690184ded6b1ee6.jpg- 29 SHA256E-s77771--484ed3d8cc44de2db74c5680659c5c23ccb29ed5e99d0fb4b470a2c130c64c79.pdf- 30 SHA256E-s2343639--a7fccfe9a2c8de20ce8df10048b075758c445e5f4c9d9b78368db179e74e9a47.jpg- 31 SHA256E-s2282836--66e945f3a37651e1c88c58ff42b4dba9c6c5d822dc59f3e59895c336a0428c3d.jpg- 32 SHA256E-s5902--da66d622f9ed0987a0466c2c05c2aea56572e2f991c542b1120d564fb7459e7b.log- 33 SHA256E-s61410--4d3f0160bc92d0095a824baa17a08499dc748d06648029051802d24a772ba75d.css- 34 SHA256E-s1958077--1717f3036e7ca6b61fe8eeb3ce319de728b9bea10fd814108b9e13397a336db5.jpg- 35 SHA256E-s80930--f9b79963053221a10e32c4061b9da3622e89ce56aeed26c58f23bb70a2a57496.jpg- 36 SHA256E-s4956--a05854e0d26affdbb3e171c8e9ca3f663c8bc930f6402d9a370104e239bc2601.log- 37 SHA256E-s202851--3689503ce6f780d04e659fc85e4e7978c3c445afbd103f3ac118e1c6f3a4b738.jpg- 38 SHA256E-s5258--a243d289f629eb2e321c7232aa59c65d10ec79e70d07f25758ac04c0b9ff3f79.log- 39 SHA256E-s5406--dc07212d5aaaf5a320b3f9d710a72b68f7112140c76b43b7c0b4bb71f91e823f.log- 40 SHA256E-s8427--439c4f2144c9ea726b739494565b05dc47b59a8835e24e9a083171efc0834fc1- 41 SHA256E-s46--ca4a766fadecf16bbc25afbd805e2befbfb4cb270f122b0de813fbcfc933c1a2- 42 SHA256E-s839129--921ddf15c906a0353cb18bdd0b321bd5a37dfe653edbffc8e3b6b47996d54d8f.jpg- 43 SHA256E-s2922183--3aa5d5b22a980a11cee928ba701ffd389542db84fe96219442de1b33a64f840c.JPG- 44 SHA256E-s1305363--0b14938c28492e288d35a62334d6436ba8edfb7f65a066dbd9587478f157ab99.jpg- 45 SHA256E-s8602--819b18ca30f477f66e558ba1488a06e438a5f0b9c8f6987f68daad039d8020ca.png- 46 SHA256E-s6205--14691e198b05dd68b5fe3ed39eb8739182f4f5e75dc43dd7ecb252f01978c7ed.png- 47 SHA256E-s5070994--d0c5367647750b1f0b54c9fea7c7c9e1a0f7a0a7f61c92a688887538df3abf7f.m4v- 48 SHA256E-s134807--7100078e84c39a2123c0ea7d713e3361c7174f21fb72d39dac2a99a4844f89b7.jpg- 49 SHA256E-s535905--f317f11e4e0536ea8172e7827369bd9a3c887fcef2586b8eeda28b2dd36a791c.jpg- 50 SHA256E-s6420--72622a4453f4ea48acc0337bb1b288e0fb034d1ee1aa74f98eb9062066c025b5- 51 SHA256E-s51483--c9fba5eb0b29216afd9b6f13dd2f351367b7bcd0c8eb93fa0a1b6a0ce4535d57.sla- 52 SHA256E-s1957447--c3eddff4df50e1b0c5dc93f85e39acd24723013dd9b27b7b8a407eb5e55f1903.jpg- 53 SHA256E-s5345--ee879c6bc3c3ac59f449a9d9f92ec9cc2d15dced1f166805a179b6874d190c25.png- 54 SHA256E-s153751--c3fd0000f94ff9c44fef856ee440837fa4c228918ae70d0813d1635d50e6d4a0.odt- 55 SHA256E-s682324--33a6a1b34570f9abe0516d9abceefe14aae4cdacc41dc3f30ca92222d545631f.jpg- 56 SHA256E-s370109--a00b1c78753de6ae1d64a01d457b53a3572a9324a0facda4ec39a149d9adb37b.jpg- 57 SHA256E-s310217--aa0c575a44cac4957e06cd8ed0b058a16454a7be7f32ec8e79c815be6057bfbd.jpg- 58 SHA256E-s5798--61852a3ad168d4f27fe0f0e924e7418e838ae4363d85a64ebea80c9154e0c9a0.gif- 59 SHA256E-s47071--f1a74e5f9a20776adbe88ac3092e5a20a69d254905c0f93aa0b95a1ad0a5ed00.sla- 60 SHA256E-s988--b1f5fb3d38001b8bcf214158c6c7571f5aadb03093d2c307970a728edcb8012b- 61 SHA256E-s1397011--b67c04c6c99ccc208734dd39e18d4304a4963ef36600d4adc5827df21bfcc260.jpg- 62 SHA256E-s2124--1c64d2a60a40242432550ab3292e1ee38072481c36b8f028f75e3b4ea52fec29.log- 63 SHA256E-s1640512--ccb4940713e190a9242b34e18896156733f36df909c7e399bfdfe36299bfa748.jpg- 64 SHA256E-s484856--55f146177198dcd03069703c7b8bdf5c10cd7750aaf4b6f9af1946d72a9f9d23.jpg- 65 SHA256E-s7031--88bedea3e75aff77858c63a6c30bb06180bd9167fd380d94f132486d6ffeddf4- 66 SHA256E-s10100--1df9143f4c02f877ec891262bcbc407a9d4b960dd80c6826d5c1078012dc2614.js- 67 SHA256E-s2454--778574fe7cae3bfc2a49cbe3be18ed313b049b6e0bc333cea80723ae2136f9c3.log- 68 SHA256E-s63103--474c29d016927bd7dc42d992fc07c353148d393cfbd7c3e8193df91c3bb2d805.jpg- 69 SHA256E-s245481--ba0e9ed8876970e0aad7e22aeaf4f7403e1ef6fca474e0b4e90837381c0b810f.js- 70 SHA256E-s708--ab8f3c450c5c8944d6d91c35258b9da5ff4564b9b05b1e09ebbaa9b740d14aa4.log- 71 SHA256E-s582241--fb565e6fa923f3265a9406abf566d5de7a8e062b1d9ccb8ba7ec61a902ea277e.jpg- 72 SHA256E-s601517--fd4a4effd6c6b064be34910b36f1de8011bb3949d0f883a57ed4ca60eff6a642.jpg- 73 SHA256E-s613354--0d78d51b5047055d9bd2727e01a7c73ec25bcb99925be26550f3b921054e336b.jpg- 74 SHA256E-s20794--0ba2f6756001669bdf934f9d79e8fd1ccf2028130c33a0510279581ec9dfd73a.js- 75 SHA256E-s654750--be05edd69e61fb5ebecbddc8c39ae9ebdbca5e94ee395f604bbd73910a7e40f9.jpg- 76 SHA256E-s440--4e8500857e2b6a08a6922ca852ff4c9702e2397843011a14dee43d6e20c4f787.log- 77 SHA256E-s72381--a170eff1ba771b3e4e769ab2974b8fb1f66cff07bf8b19561a97f9d7767b565a.jpg- 78 SHA256E-s344661--21564a2da0f6b1ea6c4a39f4a96ba02680facb9d8a084d4fffa28b0e527c9fc8.jpg- 79 SHA256E-s51248--f940d364ad2583a9ae3c0f777fd61406914daa1837ed8dd78f3461760c4ca747.sla- 80 SHA256E-s502234--251053730579880833dc12058a6c689ba074f0a981331ec7eb685b69f08e292c.pdf- 81 SHA256E-s3682--f75a95ae16e2f8a8e0a607782cf332dc34c1e317d473023cbd7f9915fa400d62- 82 SHA256E-s3544--9b40beb44b624520a74057a82ae5e6adb18601e6c1fc7d8496bdd59e3b248945- 83 SHA256E-s355156--7056bee290696e681cd3538e2ff2e740842bce032effe509f0919e888cc03ee4.jpg- 84 SHA256E-s879539--12cc34616b2dda153890db0a724290fa01bd9dd664061a05c8d2c1039cd4cc3c.odg- 85 SHA256E-s2051310--69387e84897ed700b6dd7c418fc3a7884a1e6e16a4267297b3effb95b02a7bc7.jpg- 86 SHA256E-s620--eb69406700a3a6122cb532614f4ae6899d97409d76259820176f7ae77158684b.png- 87 SHA256E-s693427--e20c50c86937800b14e2773d79eb63d13c0300781f8e71ee3947fb5a2fe98fe5.jpg- 88 SHA256E-s87985--b89b279ca5dede3643e8a48402e9b112b1e1fdc14b3326c98cbdb32f9f7fa2cc.jpg- 89 SHA256E-s35739--378d1bcb19c2742b8d344459a74f9b4ea44287c4e5cf046b80a46b209ea1ebbb.sla- 90 SHA256E-s51515--d4805b60c6e0ea396dc157ca0e399ba355482f2a9696f31fdcf819aa176ea3e7.sla- 91 SHA256E-s396738--5e18be640581ced943a676323c80dc283b15d3caf37b2bc2d0b05ceee1d178e5.jpg- 92 SHA256E-s334295--7f97df9f93e42a2db9e9efb0aa34a2a9a6b9af49846e6a73f320ee151d535eed.jpg- 93 SHA256E-s425513--0f6228a7466c12d1d0e4beda9825f17442b15286a5639e3a894a36d33497c77a.jpg- 94 SHA256E-s114076--6a1822942964efa5531de2cae48d3fd69e71baca7ade38b7cbe23964637d4478.jpg- 95 SHA256E-s118034--a8b1e6f81534106e9f4563dfe3f288e9425284fbaa74247065cf80448cdb216f.jpg- 96 SHA256E-s639--4b491df2b47c2fd4dcfbb99b50ec1367e138c61216704490ada08cddd0d32fda.css- 97 SHA256E-s734079--0602d1c85bca8508010ed03c2b1c26c88a8c759783f49d7f7b282b30837c6b32.jpg- 98 SHA256E-s130889--751d2fa73ac74e17d2e82fc9a89b3d393028197790657aa075effc7c16b8f528.js- 99 SHA256E-s485283--63716cdb8953a9318eb28953af25db2afa02251e6f152d487f5ab05f1d27930e.jpg- 100 SHA256E-s59518--6a80f10665ad39dc27ee3a5727ebeee321a289dbc958916f9e6eda01f2703d25.jpg- 101 SHA256E-s194--4c0fc707f629bcb314433fc700c6090c970d343adbb921f46084bdb08f99cf6e- 102 SHA256E-s303--07ae4fec1962f2f83808ec861e477d5669dd71ff1089cb25a0e1da7b3ec9a5a6.css- 103 SHA256E-s24519--3f3cba473c1818b2ce46a034fc323d528df85dd88d3f2ed411ad644a08ff9132- 104 SHA256E-s316292--691e653f57643e579c261a827441e63ee3d8cf1f9ed5cdc43d861cf340510d34.pdf- 105 SHA256E-s11916--88e5b1e2f5bd0f5c458abb41589028ef35dc75872abd7e04eee4a12ae7bfef38- 106 SHA256E-s733240--fe7b7c77712b866c932d391f8305560d488d0e5515f3d9c890ddd11c96ff6069.odt- 107 SHA256E-s4323950--c71e34a9fa2d1f54934d3caf829e4b5330811c2937d523f856d43cf5d92b7275.m4v- 108 SHA256E-s475740--e2d4880b8561167dd91b57a666f3eba68931ae3546231d102469c76d341f560a.jpg- 109 SHA256E-s574--5d1bd8763457376e0ff677895456f9aad26b6d85e15648696e9f4c77af104fee.png- 110 SHA256E-s11608--f815f1bad38a05f27b1f7cd416236148fa79554ed2546a014afe148c0e427839.log- 111 SHA256E-s3300--7164c4d91218528eedb0310af14927d4ce483889b53da24fdcc01fadae107fbd- 112 SHA256E-s962958--9a81dba98b0b910641d035bf662b847fb4785ef2378bef7b2ae6713b1fbd903c.jpg- 113 SHA256E-s845627--09f3e811c372a7ee936064d4c48c8b4f36db519a49a0b274f69e3da12a0e2ffe.jpg- 114 SHA256E-s2380622--05725288b66460ff1befda38280dea4d05c5dff42818de7d64e619e12aebeaa0.jpg- 115 SHA256E-s62795--a32762ee80e176ca1d7869cd5f68e7442327e1a861ed70290f2256179ebd844c.js- 116 SHA256E-s3486--f148d21e252ab05ff7039fa276ee309e6d16d2ba7444043acc148b9986164162.log- 117 SHA256E-s2393747--1ba6fc7f4d47ced145ceab80128e3ceaf8cfe8f2155b5e33e9273c736a81b910.jpg- 118 SHA256E-s4611--bbc334899e27d8fe781f61e06be1c28852e618d1e2bd8b98de0aed7fb6106ad8.js- 119 SHA256E-s826134--426211e056784356538d3ac80838e197e2cdf29742cd31db6a386ce7c05aa052.jpg- 120 SHA256E-s1072403--87da8298b8c3c76bdfb8c96ac7dcb11349763067056eb0e1fadf5241fc134141.jpg- 121 SHA256E-s51028--d6d044282ee1d1d8fc02130ac42ab1d7ee3a6a7e2987b78bb1062529019cf3e5.sla- 122 SHA256E-s45783--35b9963b4a8bc3dbee5bbe827c2e18c795b8fce86bb1eb87c6b3b09327380f1f.js- 123 SHA256E-s999195--c0fa3d678c9ebe118ea3fb1b664a2f63ccc792a7578fe921d0c299adf40d97f3.jpg- 124 SHA256E-s96828--c5ebf871d1c98e5f49d15dc22131e483b514754ad86c6293c69b6d5aa3d44cf9.jpg- 125 SHA256E-s159835--47a9ba3de62d6a4b11dd59a60b0047d3d377c224ceac85bfb6a81a972f25fff9.css- 126 SHA256E-s9629--588e723593992acb553dd4f2c76a6993135b4f49e674358fae63ff06e145f07a- 127 SHA256E-s39867--6e96f4658811bba2f27f930f764111501e438135d793e28fe7eacb6b10866e0d.js- 128 SHA256E-s62332730--a2c804ddc66d8175fb5e187d17c904954f1e2cae634c4604ac363eb97d78f7e1.odt- 129 SHA256E-s1711933--dd49df68da23021d3e9cc775e86bd5341dda6ba71714c8287872deb9416e051a.jpg- 130 SHA256E-s290639--0803de7a02e9a4a1caca69b2a7b2c948e7faf2e4ef2bf3bcdaec148c0f26b842.pdf- 131 SHA256E-s5799--fa90e9a478760bc12c2707962f2ea6b9ab213bc7d4b158f28f6739727ffe05e7.log- 132 SHA256E-s11156--17ca703a57e9f02ebd71251ca8bdb6d82b71fa586deb034cd384b21a3818035a- 133 SHA256E-s16171--47a7946e6364fa5ad3dc595105c79a4946f18cbef0818e72682d9304625ceab9.odt- 134 SHA256E-s1962015--2eae4dfa79e014bf4468141bfac8c0065d1b05f2532758c6e68deedd297f22ee.jpg- 135 SHA256E-s31268--560829df213299f5db9aeb0b31b40044300c34e92818680f422d0ddfe7602f2c.axd- 136 SHA256E-s145407--c34c44643d9d0f7114cce8b31f3442a7b6392c4687af9ab97995bd30ddd3167c.pdf- 137 SHA256E-s1773--8417f863ffa4a076dd2d8b5a63170bb0c5b83cf275d72245a79c31d94358fd20.log- 138 SHA256E-s701838--3d7abfd8b091e4da1bb61881155c299b78ed693f128f1c693c7970bcbce4e8e0.jpg- 139 SHA256E-s2089502--f4c9ec5dce63924cba6f77efd5e20b17cfc0f3c9ae45dce7bb0ecc5a10986205.jpg- 140 SHA256E-s1085890--0346c7a329e7b80c7f93b8aa7de039bf322070ebac33cee6ade6fcc4a4f296be.jpg- 141 SHA256E-s3998--e38f3a315b698a0e8ccfa395431393af757f882413cea8b4879b5b5993543f86.js- 142 SHA256E-s7372--181699a3ca4be8bb0e9913fd96dc5c44ed8a790ea6ef2bb0fb285e741f2c46ab- 143 SHA256E-s864279--364b4a4d0a30ddbf1164d5d3ded0702a4b016ffc27d26eb6005d96e68aa4f77f.jpg- 144 SHA256E-s2941--7ca4f001618fda61146802286daf472c5daaaded2471e356a752b6a69834e7f7.log- 145 SHA256E-s153049--5805df5cecdaa15a549bf7751b1d66f7455e71e2243709d9799f839e42d082f2.jpg- 146 SHA256E-s542959--5823d605d7258bd813d09712fd124fd7c63f2cbdf46a9b52c3eb67eb7bb538bc.jpg- 147 SHA256E-s45282--b20a77431de35f8e70867cfe520503528fb948d63f724ed90fc249994875b77a.jpg- 148 SHA256E-s19556--e5bdba04d2a9d805c491778a742744d3007d38a23c9dc11cf8f6eab7b2dd0a1d.log- 149 SHA256E-s392108--c9c76c131588fc29d588afed12d98b6b3a6aa0a9971ad368112bc0c2a603e70c.pdf- 150 SHA256E-s8275--ff63b5b012ea62b178310424d817a8a77fb31151dd697659f85f23a6298cf28d- 151 SHA256E-s1769251--7d0a2ec1652f1287884f6bd4e0df14106af271e81fc38cae5aac1357966ea672.pdf- 152 SHA256E-s464748--aa63c72a4b064f91083228395e1391d970873ad1370900a468db154ed266d475.jpg- 153 SHA256E-s6130263--3521b18281dba779713e600fde1a4d15568328baad6baf43cba1530df7165c5d.JPG- 154 SHA256E-s494260--aeb91b314f3dee3580093e9610dacd5917265794b49acea9d80dfca83d56b88d.odt- 155 SHA256E-s3362329--05fde815df42455fdc1b563ce41bf13d585135da628d01c5ffc9ca627c008225.jpg- 156 SHA256E-s489239--d2ab01a94808613489205b7aa5d666cccfeac0a28b5a76ab18fc9fd9435dcabc.jpg- 157 SHA256E-s482249--e4979b950d4633515316102d934115b1981c8adf5a14ea80bfda87e623af7989.jpg- 158 SHA256E-s93506--3f44779fc3ce611f607c9cde2c114f6f038775485a677e17bcb6bb034e6ac888.jpg- 159 SHA256E-s818--66d21ef5da07cc00768b23bb711ccc8e18b91c99ccad2084ec309f51e6c52db6.log- 160 SHA256E-s171892--33f34e7d16851c2291d7495754505d391be4668883b43e4b9e587126c693b1d2.png- 161 SHA256E-s278132--fca8b8bbcc0f9fe8addb57994c69a9c511b206c27424491809ab31aef86f21b4.jpg- 162 SHA256E-s2418631--deb0aadf97aa49010ac3cab5f5299e2d68eeb5ecb4dd5de93316f23a714734f6.jpg- 163 SHA256E-s125121--2b2cc905b8c05d4c7253a9c2b45a961df545842e4ce9d17e5248aa6240e77557.pdf- 164 SHA256E-s199793--615ac75e6766d637d17159ebe3d48eedf27096e93b83efc159431da4d032e21b.axd- 165 SHA256E-s223221--ca5f5160688546f422cf7d041e58f07d5d90e8359666e523a5af515baf0b2980.jpg- 166 SHA256E-s1959724--2e44ed4b10ab3c1655b16335b901547713ac8d5c38d4ed3735bcbabb272242b5.jpg- 167 SHA256E-s11609--df8dcf81585eccae95b7c4f0a0ba8c6fc4cfe90ebbf9657bd6a10320f7195e61- 168 SHA256E-s483419--96cfd3b43e5b7bb1d6a5bc3f78d33e873fa36ee6e53c9f1de083f279c19c5f70.jpg- 169 SHA256E-s560766--96f47b698f6502bc758e6d8b9b538368f8085d040306388bfd42d3026c465ff5.jpg- 170 SHA256E-s3848--4d18299f8d8ef1bfbd7b206d419ef6f65cbd09a3ae999f3c7cc8496051b34080- 171 SHA256E-s1141493--80b7a82ee4edc420c538c4a2a37fc9d80cce4c321f5a9a7fa7e66df0c9e3693c.jpg- 172 SHA256E-s9726--14b5e76da3417f5f25f48c2a793aa50da9c920451495af7612b76d3c052d3f13.odt- 173 SHA256E-s939529--43d05562e75f2477aa6d412d8a672ce7b6cf2890d4e1578bf88692aabfd0e70d.jpg- 174 SHA256E-s888147--948ca59b827f77f75ea981b149a72df976aea360cd263d0f7c03275375a47232.jpg- 175 SHA256E-s740710--f1e98c032815161aff44c8ccbb882af5cb234f91c4430cf91d01115649bc9aa5.jpg- 176 SHA256E-s961257--e6b21901e268f6d0f3a38b43e5a06d8ad9ec0901f4c9639954da7ecf2ee4a666.jpg- 177 SHA256E-s616645--bd10a26926e6cd0fd0ee6cf72692c92134b183927280a00a74e869bbeae8bde6.jpg- 178 SHA256E-s47996--f862cbc7bea6fe4b5fe3a3af2b393973220a34975dd36a9d5f92b30d1db80acc.sla- 179 SHA256E-s2396909--2e6d435cf96f81a3f3247f2d35b01701f8a46977e813745324ca5b40717fdea9.jpg- 180 SHA256E-s180605--66c6df69bba4602100148ffd0f0a0ba0a14b74eaefb3b27708c6792d2b5cd09c.jpg- 181 SHA256E-s721289--159f9398adde99e23b05c8c8c99aadd98b6a3a80afe5e3745ff37b0668fe4a24.jpg- 182 SHA256E-s95559--0d932a11d465d523f85b17803d44fb0748459771b2cd843dbcfd677248abb0f5.jpg- 183 SHA256E-s368166--98be96450123c166cf11f1763aa25040ffb1674f7267a4041cc1a4fbe8e433a1.jpg- 184 SHA256E-s846--b3c9f5697bee76715237040d6ba5ff9f657dee2d882e36d818ed2ff50e8e0835.log- 185 SHA256E-s581051--217882c3f655c62dd323afe0689c9485d0d09430d5356a63105632cce08ea88e.jpg- 186 SHA256E-s586436--006bfd4f9697d8b64be920876bd8c0a40967b253806072ec09d2a630909826e4.jpg- 187 SHA256E-s398620--1ab7d488bafe19941f33155959c1bbec199a86ef2334c08b75b450bc9f36a16b.jpg- 188 SHA256E-s10457--0be429c323998556486e8f9977ccc980be3ba3920d5cc3bf16a6c7bb57b0fe3c- 189 SHA256E-s83789--c286b21f977391efd38b5a5a341f9dbec4da611a16bc1d17d8ca71d49ad64d30.jpg- 190 SHA256E-s321943--5e3983f4b43ae782b6f41c4f899027f1d55f78347e2106bc4c96e7f65c652918.jpg- 191 SHA256E-s7518--be582d1ce8295d8c47e261eb7bd78a0e720e78dd58805808e9bf64ddfc3c4fe4- 192 SHA256E-s6118--3ca5d8ca6cda3acc6c07c604f6880c017e6faa7dad4ba61e9aa956a9fa8b4b0d- 193 SHA256E-s1086965--e170514a3651dda3313f4dcfdb9490f039a825b8349f74957a17313bdbcd7e8d.jpg- 194 SHA256E-s10504--a57d3172d4a009a1a0d38993ea6dbe03fab6aa1ec429aa4aab563465b0dc43bd.js- 195 SHA256E-s530445--7c8e603a03e17bb0c6440df6b695e557357527bc081871b51d0b5a61222dd674.jpg- 196 SHA256E-s37480--ba3a0b04e4325bf0853c6201ecf7bb0fc08a0a13f5fdf0a4477c6a1f0cc82559.js- 197 SHA256E-s394333--77f7debb969fd22698b60339ed0a0e98d9c43b8c74203528a02f6a185784e808.jpg- 198 SHA256E-s568976--43c009e20c1b4b28d651c64ac1faa9ebd5e704bb975e2fb65ece83f4cb8867d2.jpg- 199 SHA256E-s13813--4b4db06a82938c002539bc21d9285d63387e1a6241932c111c4f3992fa093092.axd- 200 SHA256E-s2735--f73ac06c4be021a97a8c40f5371f0e62fd7094d863d9679407784c09c13ddd5b.log- 201 SHA256E-s25176948--4493a4fd3160627db1fdd24c2a6bd402b544c495565815007c2d0d5093478d2a.odt- 202 SHA256E-s596273--de2ec9fe99774ea6ce0a746a66888b71cfd744d3d97084439d054e58adebe709.jpg- 203 SHA256E-s947995--956f7ec6d1c0c931c40e055fe21c2cfde8ef135f816052147406cb0c3ed0f948.jpg- 204 SHA256E-s5283--5fbb8a58b8bf48ea0511c26b1b319f737df54e8e35f13b5d851dc7c0ce662458.png- 205 SHA256E-s777575--c9fea606bc2e419967c550c43b5345bf7b08b43a81d0cdc561e048b94d536e10.jpg- 206 SHA256E-s51496--36143df60284eae68573cb266a34a25f3c042bfd8314bdf0730c03a4fb81bb38.sla- 207 SHA256E-s3013379--4f47c51193c043d2e81aa0bf46927a5f5c305625a09ac9034f9cb6e25ea2c6bc.jpg- 208 SHA256E-s592379--4cea82764a163f6da9c6e63f553f82f119d5188d187c0747ee467a337f81446e.jpg- 209 SHA256E-s8402--5b400d459743a01405d2d1ffc4d07651c36712caf9030e2a091e48f97c58a2bb.png- 210 SHA256E-s662301--f0cf51849e330e861513bee59063450d14759055c67986e8a31dbbde0907a254.jpg- 211 SHA256E-s1371822--0c85f348595f845e0076e52157fbb772a9d72a4821310c187b183370d7bb1b4c.jpg- 212 SHA256E-s13445--460f9e3ea4f8a260af278d81c59faa45f16b2069b10030a8a253cd852f2e8e34.log- 213 SHA256E-s19780--3f513b835cc3299a15178dae45cc523f1b06a1c13bd0e1c29f958027d3f5dc8a.axd- 214 SHA256E-s311438--00b3cbd6de31a75e3a017c452099991f1ec09327efe9c6450012f6015eb6e1a4.jpg- 215 SHA256E-s8942--e267fde4da4719de2c454d82f907796167f425510ea84098a39b425b69d2df5e- 216 SHA256E-s845884--58974bcab0e36d65d606c1acf57e34e2e6f89872fbab65b9abf5250c632967a5.jpg- 217 SHA256E-s331598--de52b228ad93c774d4dd1d41556ff27f7f03802378747807f324a9604e32ed66.jpg- 218 SHA256E-s201837--d3f750f64687f347f0254d3c602a010ef71636a85f37954690d20bb6548437b1.jpg- 219 SHA256E-s537652--aeaa479c57d39b3618006162c80e1c0eaa2cfa0b2a9a2c069a3d601bfe5b0706.jpg- 220 SHA256E-s1174974--1d506c737c2dbde4aa286a2a25b22412c83edc5e55c3cc94fa38fb224677cf01.jpg- 221 SHA256E-s7068886--945cfae8e22db1c96ec4cfa7b7de021c6bfe4d9e4961eeb2860716d6c8a57354.m4v- 222 SHA256E-s684839--02293539aa97de6ab57e9caaec6998f4e64a08967d9f5f2c44581fb1df0acdd0.jpg- 223 SHA256E-s371333--36110b44ea216b0166b023d09b52d0d32c3bdd01dafa857ed62e7c806be93193.jpg- 224 SHA256E-s195249--21a08a5510bc88e85db2b5da660c61320ccd101a4b86cf3558618bbf37d659f0.jpg- 225 SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.xcf- 226 SHA256E-s26368--302de7e36ca407cf1441ab2d3fa855192c9d8b2e6a7ec04638d19db7056b7f2a.png- 227 SHA256E-s965404--fd61bc28b2adfd4d2f175e02c662b7a71dc4b09880c8198795994e70f156c46d.jpg- 228 SHA256E-s7254--2fcb58c8f60caadcb3e2d9e38921a49e470a9d854a55c89cb9c80f6ed0334669.csv- 229 SHA256E-s482912--24330dbfb1d90882bf3f42e96c236f818913c343fd828992cd03ca84a3b9b2f5.jpg- 230 SHA256E-s641334--bb06cea748a2feefa1a608635b83ed4311da1990275e32a9fd4549048c91a453.jpg- 231 SHA256E-s1239159--2d15a6bf658d588697c5b3c2b1d1382450a40517779c32d435ff672e45539a5c.jpg- 232 SHA256E-s2125768--a04f47c1fa5136fa397897bc907b6754a9598b37d34920250b8f70a87aaaa0b8.jpg- 233 SHA256E-s3968--f4147a07111527be5bc7e9a5c83e3fd7ed871937167fc6d20fb7ee4d7059aa69.js- 234 SHA256E-s462918--aa97a7f50f004dffdf444bb7f69e09c650c8987f52b5f4a0164c6acdeb4a8b28.jpg- 235 SHA256E-s29501--67fa8330853830c4b29e05f96e6e3b6369ab908238e425e8faff4ac57e12bdb0.log- 236 SHA256E-s158417--4058a56c1350032d640519f3aeb94ba27cd8e8b5afceb6d65e746af4f94777e0.pdf- 237 SHA256E-s3437070--12a5bafa210aa79e9abb86c21032003c30c3a1eb5fce45a31488b6ff08db084d.jpg- 238 SHA256E-s4373--12f64c274107733ae44f8ea9dc92e3ecf15400d98b3d76f9cc7e11527e4ed81a- 239 SHA256E-s51497--218e86c2eb9ded51b764b5296cfff76bae4dca82e07a1602c9c597a1c34e98d7.sla- 240 SHA256E-s4372--20e4d3e47c5fd381ffc31e6effbeb29eda97d6def773a3e42596501c6beb6317- 241 SHA256E-s317548--cb605575ca9fab16501f2819b000d11bb06fbb2ad1f300cfba3d011e3e8e2ffc.pdf- 242 SHA256E-s4960--c10e8c25e9b66e3ef77723373beae89e2fab1010c8b36ca329a3e9da20cbdc7e.log- 243 SHA256E-s517805--9c14fd5e5da48efd9951b086c25c04a7c5427111ef2829543497e707f93fce99.jpg- 244 SHA256E-s1857451--616661a96876b89472a69d32bd567aeeb95fa7da19ba4c3aa6a0ab237e2dcec3.jpg- 245 SHA256E-s2760813--63d375f82234356889c6222a0162bdba3b7f5a1a0cb31e24c2c209f43fc2f37e.jpg- 246 SHA256E-s832772--530816bf7c52c72e9b951289b5a35da753c66726d4e7bb2c2267faec6c8c263c.jpg- 247 SHA256E-s4660164--2832a896d7af11fc35e1dd7ab527b0fdfeedf7ffe93bcce147381a8739c81298.JPG- 248 SHA256E-s688782--71733ec7ffd2077ecf2973a739e4928be5824ad92034f64446a216cf513a1f29.jpg- 249 SHA256E-s2876462--92eb9385b333bf9eb8ad56de86e46d1ba9b21c1166814e6f16e50e4a769936fc.odt- 250 SHA256E-s496541--80d2e40f680dbd998b487e0ee8d479cb92741ec9c3e1f9d1d1d6d2f21a8cd795.jpg- 251 SHA256E-s69339--97fe05a5b2c230c5b1fde5d18555aca13d12a35940d7d8c15249e7e80629aed6.jpg- 252 SHA256E-s169446--5e1e9e262a58c5692f0d3c428fb71c0980311a88b474ffee95a5ea8cb5d5bf15.jpg- 253 SHA256E-s2678100--a347450551a9055011016920280dd0a63dfc541f4f52f8ee78ef2b7a09afd46a.jpg- 254 SHA256E-s87--5c2582459e3550daa4889fae41e3c8f6f4ad26dfa670502e4f516749aeac4113.png- 255 SHA256E-s5798--c7167ef62bc21326b00d78b47d672bc25026eb6c7f3919fa47db2e7db8855ba9.gif- 256 SHA256E-s53033--80840b2105a7a316a010ec3c3775031bef7fbdabbb7d3f6b7ece1a6253ef1b59.jpg- 257 SHA256E-s7407--8ec4462ca6a05614378729bb20bb33c3b892bc943fd698389e44d959c4506843.log- 258 SHA256E-s1189946--d23ba452e6e267d93f6233e885bd6f9e15b8ad1aea4c3d2368d901428df78970.jpg- 259 SHA256E-s3447000--61a3bd3f7dda48544b67040012d6cd5999499d25e75dc34b82d11955d0fc9b6a.jpg- 260 SHA256E-s3263208--69ad68aaad7058af8d14f7e4c03e5b52c9a78dbac7ffd33bd7bc5220c847d6bb.JPG- 261 SHA256E-s1226280--d372b699459664c382f607ff56294df49e6d8d0fcab90b509337c347943357cf.jpg- 262 SHA256E-s16890--12861c187e68e3591ccd5f708b935cc43bf25f5672daf50913e152c1c55e510c.png- 263 SHA256E-s1092669--8e7f7431c487c6cff11ee9f7c8a87aa0d057b518e60bd2b92fd677e5c9a88313.jpg- 264 SHA256E-s307511--5fad92167d8f9a7ed4076909a1540388cdae89df956e6011065526bfb10564a4.jpg- 265 SHA256E-s8334--212df98aca1ee3d4f10539a786ad746f3856c2715e23d5cb816a2374b5e6c43c.png- 266 SHA256E-s3375--2b403c31d4934895cccbe05556b0134bd4b78d4b873193d2b12a8893ab170681.txt- 267 SHA256E-s691014--470d607465715a4c0735d74da75a5aafb5f6707b9d10a9a6a8c002f095f447e2.jpg- 268 SHA256E-s680701--133c1dc67e394103d9f900cbf80ef508c7d7818edb23406c5f67f027a38093a4.jpg- 269 SHA256E-s4024--b5d3e2bb6d51ff8ceb54f501035a5feebe7d5178d35b98abe9e41531bd2abd22- 270 SHA256E-s1117--b7c94c25be8e78468071e78481641927450d754fd1bbd8d0d751f116d02b9ab3- 271 SHA256E-s476926--ea981873de3e0ca8156ff710429894abbd8a51384b210cc142b074ec9b2c9ba0.jpg- 272 SHA256E-s56655--7df6526b49b7aa986070db456b6a3a378c8aaaee8cb7c8892c154eecf401002a.com.htm- 273 SHA256E-s2963--4fc53b3029a595b3b7f1f201eb4b7c2df78afc7e083abccd070c8e6fae79a661.txt- 274 SHA256E-s761655--486ef18d41898ba80505d7630170305c4b58fa647786bd5447f20045bd6f3b2e.jpg- 275 SHA256E-s1389414--3599c1a4da6a3b61cbc4dc431c436af9bf201b634fde2f99ddf54eae8c3590d5.jpg- 276 SHA256E-s39678--bea819324e10bc288c75650e2196bebd5339952ce33574625ae5091ad749b63c.jpg- 277 SHA256E-s47531--a91ecea2694b4b5c8daab84aa25c675f2f73dbfaa8ccfd581d6868b1e2568b7a.jpg- 278 SHA256E-s4923--2f1b9afef156e9c7f4994106eda088868a992d92e66a5d601f77980fea80f777- 279 SHA256E-s84101--bca6a8a9640b1ebfa8a2ba01b3a0f7ed20ad77fa5cbb5588d46ce75949fc38db.jpg- 280 SHA256E-s1245742--d547d4a18279ec671be7869896c0b3e763cf8499c4dc28a62a49cd657fdf4200.jpg- 281 SHA256E-s655461--f9b43d2794fe757d7cb61a704a01c85bc09eb20d70a1550d6934dec12f46f0bf.jpg- 282 SHA256E-s137484--51fbe9bc815e41dfe22b9f9d4ed8f3ca98a8cb5cc7b81522b296d45b0279a413.jpg- 283 SHA256E-s607392--ead4548b66ac3ab5c930cd89bd60de480184a4f23ffce9b5da24f9269b796283.jpg- 284 SHA256E-s6888--405748982bbb3340eea34acbe45085ea62c80767866f0c76c355e4f94b969c7c.png- 285 SHA256E-s4327767--eef5840e2f4294a125aaa3ed33f8ccc96c5c2c3e31cbee356013de354e628df9.pdf- 286 SHA256E-s411064--4e5e5d477ccc542f78649e4b4ee6aa132bf79ae9aeb64a46cb45a7ee133eb2f7.pdf- 287 SHA256E-s224149--204dbb62c5d5352c9b5baead124ecf52c6fffd49120343cc21bb10343353934e.jpg- 288 SHA256E-s1333719--9d9ac54db47723755ee0d19731c0b2f4b40074d946da4a1e283a4904feea4534.jpg- 289 SHA256E-s1889687--07b79ce21bf5ffe2d80f9878d338fcd63ddc92c5381eb3c290639c3e73a7b927.jpg- 290 SHA256E-s686131--93ba1a21ff8cc7d9baa61a2af8407ccc8c1b22705a191e9f0a393d14ec95e232.jpg- 291 SHA256E-s619954--3d900d39d16eca00287a0c4bbe20b46767867b5065260a4a1fa8444081998e25.jpg- 292 SHA256E-s828309--f1d702dcb350cff7a3229fe62c4f0f4beb5f95ad2f00a6fd1bfb82549cd08129.jpg- 293 SHA256E-s516404--0ca06e98fd119847c99bee56264a31ac99b36ae71136624018d308ff8c6a2e3d.jpg- 294 SHA256E-s783842--0618e7c3ebc7ff8fcdff82b9fd227e8b83f491e8e1b96c2d0e566fc7fbea27ea.jpg- 295 SHA256E-s20748--df0711c99c30b5fdcbfdd109c093f02f6a7f5196e7ffbc8e291bb2780c5735c0.css- 296 SHA256E-s61739--387a27967c79b09e21d93f8a8b969dda930e8d26e9ce379c1d71718d4cc5a1df.jpg- 297 SHA256E-s1461106--37222c3cd7a3af846c8aaed3a174a0a7e6f775ea4c08c4e2f792c6da724812b9.jpg- (To see where data was previously used, try: git log --stat -S'KEY')- - To remove unwanted data: git-annex dropunused NUMBER- -ok-[2014-09-02 05:15:23 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- 11f0e77..fb4d2b8 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- fb4d2b8..490e8d4 annex/direct/master -> synced/master-error: duplicate parent 490e8d462bf7572cf44bf4fb6a820ed38d471a54 ignored-[2014-09-02 06:15:25 BST] NetWatcherFallback: Syncing with apollo -From apollo.aylett.co.uk:Annex/Family- fb4d2b8..490e8d4 master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 490e8d4..08b6a0a annex/direct/master -> synced/master-error: duplicate parent 08b6a0ab11b225b34261a4cd5962a6630eed4495 ignored-[2014-09-02 07:15:27 BST] NetWatcherFallback: Syncing with apollo -p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory-gpg: Signature made Sun 31 Aug 2014 21:52:56 BST using DSA key ID 89C809CB-gpg: /tmp/git-annex-gpg.tmp.0/trustdb.gpg: trustdb created-gpg: Good signature from "git-annex distribution signing key (for Joey Hess) <id@joeyh.name>"-gpg: WARNING: This key is not certified with a trusted signature!-gpg: There is no indication that the signature belongs to the owner.-Primary key fingerprint: 4005 5C6A FD2D 526B 2961 E78F 5EE1 DBA7 89C8 09CB-From apollo.aylett.co.uk:Annex/Family- 490e8d4..08b6a0a master -> apollo/master-To lizzie@apollo.aylett.co.uk:Annex/Family- 08b6a0a..69244bb annex/direct/master -> synced/master-error: duplicate parent 69244bbcf029c21782995b78cdfbff789c0d198e ignored-[2014-09-02 12:19:20 BST] NetWatcher: Syncing with apollo -ControlSocket /run/user/1000/ssh-apollo.aylett.co.uk-22-lizzie already exists, disabling multiplexing-From apollo.aylett.co.uk:Annex/Family- 08b6a0a..69244bb master -> apollo/master-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-09-02 12:20:01 BST] UpgradeWatcher: Upgrading git-annex-error: refs/heads/synced/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/master does not point to a valid object!-error: refs/heads/synced/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/master does not point to a valid object!-error: refs/heads/synced/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/master does not point to a valid object!-error: refs/heads/synced/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/master does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/master does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/master does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/master does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/git-annex does not point to a valid object!-error: refs/synced/5879379e-5514-11e3-b428-a79c7bfa61c8/master does not point to a valid object!-[2014-09-02 12:21:36 BST] NetWatcherFallback: Syncing with apollo -git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-git-annex-shell: Only allowed to access ~/Music not ~/Annex/Family-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-"""]]--> This is due to using an old and buggy version of git-annex. This bug was-> fixed 3 full months ago, in version 5.20140709. [[done]] --[[Joey]]
− doc/bugs/Bloom_filter_capacity_too_large_to_represent.mdwn
@@ -1,44 +0,0 @@-### Please describe the problem.-When running git-annex info I get an error when it tries to show the bloom filter size--### What steps will reproduce the problem?-git-annex info in my Photos repo---### What version of git-annex are you using? On what operating system?-[[!format sh """-$ git-annex version-git-annex version: 5.20140814-g9b89b5c-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4-"""]]--### Please provide any additional information below.--[[!format sh """-$ git-annex info -repository mode: direct-trusted repositories: 2- c0e4106e-2631-11e2-9749-1bfa37a61069 -- [rose]- ca735977-973c-44bc-9257-915b2c875e39 -- synology [here]-semitrusted repositories: 3- 00000000-0000-0000-0000-000000000001 -- web- 7e5c0010-2634-4a5e-bc7b-6fea84b8b947 -- [glacier]- d7e01abc-d74b-40e2-8607-3d41ce8bc4bd -- seagate3-untrusted repositories: 1- c1fe5922-43f1-11e2-b146-33530f7fa6cc -- x200s-transfers in progress: none-available local disk space: 928.4 gigabytes (+1 megabyte reserved)-local annex keys: 34758 -local annex size: 186.78 gigabytes-annexed files in working tree: 35300-size of annexed files in working tree: 193.76 gigabytes-bloom filter size: git-annex: Data.BloomFilter.Util.suggestSizing: capacity too large to represent-"""]]--> I've worked around this problem in the arm autobuilder (only build-> affected), so [[done]] --[[Joey]]
− doc/bugs/Box.com_ReposnseTimeout.mdwn
@@ -1,12 +0,0 @@-Box.com is still not working properly in version 5.20140227 (I'm using it in Debian testing and sid).--I created a new clean repository and configured Box.com (everything from the webapp). At first it seamed to work, files where being uploaded and the logs where fine. Then I created another clean repository in another computer and started syncing. Downloading files worked properly, but when trying to upload a file from the second computer I got this:-- copy my_file (gpg) (checking box.com...) (to box.com...) - 100% 0.0 B/s 0sResponseTimeout- failed - git-annex: copy: 1 failed--When I got back to the first computer I saw the same behavior, uploading files wasn't working any more.--> [[duplicate|done]] --[[Joey]]
− doc/bugs/Bug_Report_doesn__39__t_work.mdwn
@@ -1,20 +0,0 @@-### Please describe the problem.-Bug Report doesn't work--### What steps will reproduce the problem?---### What version of git-annex are you using? On what operating system?---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--[[fixed|done]] --[[Joey]]
− doc/bugs/Build_error_when_S3_is_disabled.mdwn
@@ -1,39 +0,0 @@-With release 5.20141203, I'm getting the following build error.-- Remote/Helper/AWS.hs:15:18:- Could not find module ‘Aws’- Use -v to see a list of the files searched for.-- Remote/Helper/AWS.hs:16:18:- Could not find module ‘Aws.S3’- Use -v to see a list of the files searched for.--I'm installing dependencies with cabal but have disabled S3 support-('-f-S3'). This setup has worked for previous releases (I'm on a machine running Arch Linux).-- _features=(-f-Android- -f-Assistant- -fDbus- -fDNS- -fInotify- -fPairing- -fProduction- -f-S3- -fTestSuite- -fTDFA- -f-Webapp- -f-WebDAV- -fXMPP- -fFeed- -fQuvi- -fCryptoHash)-- cabal update- cabal install c2hs-- cabal install --user --force-reinstalls --only-dependencies "${_features[@]}"- cabal configure "${_features[@]}"-- make--> [[fixed|done]] --[[Joey]]
− doc/bugs/Build_error_with_Yesod_1.4.mdwn
@@ -1,287 +0,0 @@-### Please describe the problem.-I have problems building with yesod 1.4--### What steps will reproduce the problem?-Building git annex in a clean sandbox. --### What version of git-annex are you using? On what operating system?-5.20140927 on OS X i.e. Trying to upgrade the homebrew recipe to the most recent version of git-annex--### Please provide any additional information below.-Error messages below are discussed in the following SO-thread:-https://stackoverflow.com/questions/26225991/illegal-view-pattern-frompathpiece-just-dyn-abdd-when-using-parameters-on---[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-[310 of 470] Compiling Assistant.WebApp.Types ( Assistant/WebApp/Types.hs, dist/dist-sandbox-52ca649e/build/git-annex/git-annex-tmp/Assistant/WebApp/Types.o )--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_aceZO- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_aceZW- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf02- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0c- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0e- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0f- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0h- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0j- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0l- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0n- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0p- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0r- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0u- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0w- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0y- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0z- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0C- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0D- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0F- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0H- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0J- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0L- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0M- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0O- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0R- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0T- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf0U- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf11- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf13- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf18- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1a- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1c- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1e- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1g- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1i- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1k- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1m- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1o- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1q- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1s- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1v- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1x- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1z- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1B- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1D- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1G- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1I- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1J- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1L- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1M- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1O- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1R- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1U- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1X- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf1Y- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf20- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf22- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf25- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf27- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf28- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf2b- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf2d- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf2f- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf2h- Use ViewPatterns to enable view patterns--Assistant/WebApp/Types.hs:40:1:- Illegal view pattern: fromPathPiece -> Just dyn_acf2j- Use ViewPatterns to enable view patterns-cabal: Error: some packages failed to install:-git-annex-5.20140927---# End of transcript or log.-"""]]--> You're not building the most recent version of git-annex; this was-> already fixed in version 5.20141013. [[done]] --[[Joey]]
− doc/bugs/Build_fails_when_no_wget_avalible.mdwn
@@ -1,46 +0,0 @@-### Please describe the problem.--When trying to build git-annex 5.21050113 in a clean cabal sandbox on OSX and not having wget avalible, breaks the configure step of the build. See excerpt of build log below.--I am not sure if it is a bug or not, from the debian dependencies it seems that wget is required, but from reading various pieces of the documentation it seems to only be recommended. Installing wget makes it build. --### What steps will reproduce the problem?----### What version of git-annex are you using? On what operating system?--5.20150113 on OSX Yosemite.--### Please provide any additional information below.--[[!format sh """- checking version...fatal: Not a git repository (or any of the parent directories): .git- 5.20150113- checking UPGRADE_LOCATION... not available- checking git... yes- checking git version... 2.2.1- checking cp -a... yes- checking cp -p... yes- checking cp --preserve=timestamps... no- checking cp --reflink=auto... no- checking xargs -0... yes- checking rsync... yes- checking curl... yes- checking wget... no- checking wget supports -q --show-progress...setup: wget: does not exist-cabal: Error: some packages failed to install:-git-annex-5.20150113 failed during the configure step. The exception was:-ExitFailure 1---# End of transcript or log.-"""]]---- Carl--> wget is not intended to be a hard build dependency. The Debian package-> should always be built with wget, so it's a build-dependency there.->-> I've fixed the configure script to not crash in this situation.-> [[done]]. --[[Joey]]
− doc/bugs/Build_failure_at_commit_1efe4f3.mdwn
@@ -1,45 +0,0 @@-Applying this--<pre>-laplace:git-annex jtang$ git diff-diff --git a/Assistant/WebApp/Configurators.hs b/Assistant/WebApp/Configurators.hs-index b9630b1..bf36e59 100644---- a/Assistant/WebApp/Configurators.hs-+++ b/Assistant/WebApp/Configurators.hs-@@ -101,7 +101,7 @@ checkRepositoryPath p = do- -- - If run in another directory, the user probably wants to put it there. -}- defaultRepositoryPath :: Bool -> IO FilePath--defaultRepositoryPath firstrun = do-+defaultRepositoryPath firstRun = do- cwd <- liftIO $ getCurrentDirectory- home <- myHomeDir- if home == cwd && firstRun-</pre>--Causes this to occur,--<pre>-Assistant/WebApp/Configurators.hs:114:17:- Couldn't match expected type `Control.Monad.Trans.RWS.Lazy.RWST- (Maybe (Env, FileEnv), WebApp, [Yesod.Form.Types.Lang])- Enctype- Ints- (GHandler WebApp WebApp)- t0'- with actual type `Text'- Expected type: String- -> Control.Monad.Trans.RWS.Lazy.RWST- (Maybe (Env, FileEnv), WebApp, [Yesod.Form.Types.Lang])- Enctype- Ints- (GHandler WebApp WebApp)- t0- Actual type: String -> Text- In the first argument of `(.)', namely `T.pack'- In the first argument of `(<$>)', namely- `T.pack . addTrailingPathSeparator'-make: *** [git-annex] Error 1-</pre>--> [[fixed|done]] --[[Joey]]
− doc/bugs/Build_failures_with_7.10.mdwn
@@ -1,27 +0,0 @@-### Please describe the problem.--git-annex fails to build in the NixOS builder--### What steps will reproduce the problem?--cabal build--### What version of git-annex are you using? On what operating system?--5.20150812--### Please provide any additional information below.--[The build log](http://hydra.cryp.to/build/1099681/nixlog/1/raw) has a full transcript of the build from one of the build machines, though I have reproduced this locally.--The pertinent bit of the log (which is *not* at the end, though I think that's just a capture-both-stderr-and-stdin thing, since it was at the end when I repro'd it:--[[!format sh """-Assistant/WebApp/Types.hs:39:1: ‘WebApp’ is not in scope at a reify-"""]]--If I'm reading things correctly (you can do some diffing of the inputs from [the page for the build](http://hydra.cryp.to/build/1099681)), I'm going to guess that it was the upgrade to yesod-1.4.14.--I'll continue to look into it, but it would seem to touch on TH and Yesod stuff with which I am largely unfamiliar.--> Fixed with mdorman's patch, [[done]] (will push a release in a day or 2) --[[Joey]]
− doc/bugs/Can__39__t_get_content_from_S3_with_s3-aws_library.mdwn
@@ -1,62 +0,0 @@-### Please describe the problem.-I have lots of content stored in Amazon S3. Using git-annex from before commit 911ba8d972e4e7b151385d30c198598e1a0dfaca, I am able to ``git annex get`` from S3 and files are downloaded.-Using a more recent version (eg that commit, or the current master, or release 20150409), I am unable to download the content.--I'm not sure if my repo or remote is somehow misconfigured, or if there's something else going on here.----Walter--### What steps will reproduce the problem?-Use a version of git-annex with s3-aws--### What version of git-annex are you using? On what operating system?-Debian, versions as above--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--git annex get . --from cloud --debug-[2015-04-19 22:23:37 BST] read: git ["--git-dir=../../../.git","--work-tree=../../..","--literal-pathspecs","show-ref","git-annex"]-[2015-04-19 22:23:37 BST] read: git ["--git-dir=../../../.git","--work-tree=../../..","--literal-pathspecs","show-ref","--hash","refs/heads/git-annex"]-[2015-04-19 22:23:37 BST] read: git ["--git-dir=../../../.git","--work-tree=../../..","--literal-pathspecs","log","refs/heads/git-annex..a51a912223d3d86f19762e387e3eae23c3024d2c","-n1","--pretty=%H"]-[2015-04-19 22:23:37 BST] chat: git ["--git-dir=../../../.git","--work-tree=../../..","--literal-pathspecs","cat-file","--batch"]-[2015-04-19 22:23:37 BST] read: git ["--git-dir=../../../.git","--work-tree=../../..","--literal-pathspecs","ls-files","--cached","-z","--","."]-get IMG_7079.JPG (from cloud...) [2015-04-19 22:23:37 BST] chat: gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--decrypt"]--failed -get IMG_7080.JPG (from cloud...) -failed ----git annex info cloud-remote: cloud-description: [cloud]-uuid: be992080-b1db-11e1-8f79-1b10bb4092ef-trust: semitrusted-cost: 250.0-type: S3-creds: embedded in git repository (gpg encrypted)-bucket: ffffffffffffffffffffffffff-partsize: unlimited-encryption: encrypted (to gpg keys: FFFFFFFFFFFF) (hybrid mode)-chunking: none-remote annex keys: 0-remote annex size: 0 bytes---git annex fsck -f cloud-fsck IMG_6876.JPG (checking cloud...) (StatusCodeException (Status {statusCode = 301, statusMessage = "Moved Permanently"}) [("x-amz-request-id","275ADF5B1B77D514"),("x-amz-id-2","flWGBHOZYEZAohygAzBIZAYd7nBGkm3HpSMfJuhgRp3txXx20yJz7S4yRlNLwCs1cHUMyWc9JbA="),("Content-Type","application/xml"),("Transfer-Encoding","chunked"),("Date","Sun, 19 Apr 2015 22:23:15 GMT"),("Server","AmazonS3")] (CJ {expose = []})) failed----# End of transcript or log.-"""]]--> I think I've made all the git-annex improvements that are going to come-> from this bug report. There's still the open bug on the aws library to better-> follow these redirects. Anyway, I think it makes sense to call this-> bug [[done]]. --[[Joey]]
− doc/bugs/Can__39__t_initialize_Tahoe_special_remote.mdwn
@@ -1,40 +0,0 @@-### Please describe the problem.--I tried to add a Tahoe special remote as follows--git annex initremote tahoe type=tahoe embedcreds=yes--However, this fails and gives me an error saying that tahoe create-client failed because .tahoe is not empty (even when .tahoe did not previously exist). It seems like git-annex is creating a .tahoe/git-annex directory (which is empty) and then trying to run tahoe create-client, which fails because the .tahoe directory was already created by git-annex.--### What steps will reproduce the problem?-1. Install tahoe and setup a plain git annex repo-2. export TAHOE_FURL=tahoe introducer url here-3. git annex initremote tahoe type=tahoe embedcreds=yes---### What version of git-annex are you using? On what operating system?-5.20141024~bpo70+1 on Tails 1.2.1 (Debian Wheezy 32-bit)---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-$ git annex initremote tahoe type=tahoe embedcreds=yes- -initremote tahoe The base directory '/home/amnesia/.tahoe' is not empty.-To avoid clobbering anything, I am going to quit now.-Please use a different directory, or empty this one.-git-annex: tahoe create-client failed --# End of transcript or log.-"""]]--> So this was caused by an old version of tahoe-lafs. Might as-> well support older versions if we can easily, I suppose.-> -> I have gone ahead and changed git-annex to use ~/.tahoe-git-annex/-> instead of ~/.tahoe/git-annex/ when setting up new remotes.-> Existing remote's configs will be unchanged. -> -> So, [[fixed|done]] --[[Joey]]
− doc/bugs/Can__39__t_start_on_Cyanogenmod_10.2_nightly.mdwn
@@ -1,158 +0,0 @@-### Please describe the problem.-The android app won't start on Cyanogenmod 10.2. Not sure if this is cyanogenmod specific or if it is because the underlying android is now version 4.3--### What steps will reproduce the problem?-Install the apk and start the program--### What version of git-annex are you using? On what operating system?-A 7 day old nightly as of this post(can't get specific number since it won't run)--### Please provide any additional information below.--Tested this on both a samsung galaxy S and a samsung galaxy note 2. With different nightlies of cyanogenmod 10.2--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--Falling back to hardcoded app location; cannot find expected files in /data/app-lib-git annex webapp-u0_a115@android:/sdcard/git-annex.home $ git annex webapp-CANNOT LINK EXECUTABLE: git-annex invalid R_ARM_COPY relocation against DT_SYMBOLIC shared library libc.so (built with -Bsymbolic?)-1|u0_a115@android:/sdcard/git-annex.home $--------cat git-annex-install.log--Installation starting to /data/data/ga.androidterm-34c88243533e9b0a725ebe33533d990e628dc44b-installing busybox-installing git-annex-installing git-shell-installing git-upload-pack-installing git-installing gpg-installing rsync-installing ssh-installing ssh-keygen-linking ./libexec/git-core/git-config to git-linking ./libexec/git-core/git-fetch to git-linking ./libexec/git-core/git-fsck to git-linking ./libexec/git-core/git-unpack-file to git-linking ./libexec/git-core/git-get-tar-commit-id to git-linking ./libexec/git-core/git-fmt-merge-msg to git-linking ./libexec/git-core/git-push to git-linking ./libexec/git-core/git-for-each-ref to git-linking ./libexec/git-core/git-pack-redundant to git-linking ./libexec/git-core/git-mv to git-linking ./libexec/git-core/git-ls-remote to git-linking ./libexec/git-core/git-prune-packed to git-linking ./libexec/git-core/git-apply to git-linking ./libexec/git-core/git-check-ignore to git-linking ./libexec/git-core/git-log to git-linking ./libexec/git-core/git-cherry-pick to git-linking ./libexec/git-core/git-diff-files to git-linking ./libexec/git-core/git-commit-tree to git-linking ./libexec/git-core/git-index-pack to git-linking ./libexec/git-core/git-reflog to git-linking ./libexec/git-core/git-merge-index to git-linking ./libexec/git-core/git-column to git-linking ./libexec/git-core/git-checkout-index to git-linking ./libexec/git-core/git-diff-index to git-linking ./libexec/git-core/git-count-objects to git-linking ./libexec/git-core/git-fast-export to git-linking ./libexec/git-core/git-fetch-pack to git-linking ./libexec/git-core/git-merge-file to git-linking ./libexec/git-core/git-init to git-linking ./libexec/git-core/git-remote to git-linking ./libexec/git-core/git-init-db to git-linking ./libexec/git-core/git-ls-tree to git-linking ./libexec/git-core/git-merge-subtree to git-linking ./libexec/git-core/git-rev-parse to git-linking ./libexec/git-core/git-bundle to git-linking ./libexec/git-core/git-prune to git-linking ./libexec/git-core/git-peek-remote to git-linking ./libexec/git-core/git-tar-tree to git-linking ./libexec/git-core/git-describe to git-linking ./libexec/git-core/git-update-index to git-linking ./libexec/git-core/git to git-linking ./libexec/git-core/git-revert to git-linking ./libexec/git-core/git-show-ref to git-linking ./libexec/git-core/git-upload-archive to git-linking ./libexec/git-core/git-add to git-linking ./libexec/git-core/git-verify-tag to git-linking ./libexec/git-core/git-format-patch to git-linking ./libexec/git-core/git-show-branch to git-linking ./libexec/git-core/git-remote-fd to git-linking ./libexec/git-core/git-pack-refs to git-linking ./libexec/git-core/git-replace to git-linking ./libexec/git-core/git-pack-objects to git-linking ./libexec/git-core/git-notes to git-linking ./libexec/git-core/git-tag to git-linking ./libexec/git-core/git-var to git-linking ./libexec/git-core/git-help to git-linking ./libexec/git-core/git-gc to git-linking ./libexec/git-core/git-check-ref-format to git-linking ./libexec/git-core/git-shortlog to git-linking ./libexec/git-core/git-stage to git-linking ./libexec/git-core/git-mktree to git-linking ./libexec/git-core/git-merge-recursive to git-linking ./libexec/git-core/git-grep to git-linking ./libexec/git-core/git-clean to git-linking ./libexec/git-core/git-merge-base to git-linking ./libexec/git-core/git-repo-config to git-linking ./libexec/git-core/git-hash-object to git-linking ./libexec/git-core/git-read-tree to git-linking ./libexec/git-core/git-rm to git-linking ./libexec/git-core/git-fsck-objects to git-linking ./libexec/git-core/git-ls-files to git-linking ./libexec/git-core/git-mktag to git-linking ./libexec/git-core/git-stripspace to git-linking ./libexec/git-core/git-mailsplit to git-linking ./libexec/git-core/git-diff-tree to git-linking ./libexec/git-core/git-merge-ours to git-linking ./libexec/git-core/git-cherry to git-linking ./libexec/git-core/git-checkout to git-linking ./libexec/git-core/git-rev-list to git-linking ./libexec/git-core/git-write-tree to git-linking ./libexec/git-core/git-update-ref to git-linking ./libexec/git-core/git-blame to git-linking ./libexec/git-core/git-archive to git-linking ./libexec/git-core/git-update-server-info to git-linking ./libexec/git-core/git-merge-tree to git-linking ./libexec/git-core/git-show to git-linking ./libexec/git-core/git-remote-ext to git-linking ./libexec/git-core/git-merge to git-linking ./libexec/git-core/git-name-rev to git-linking ./libexec/git-core/git-bisect--helper to git-linking ./libexec/git-core/git-clone to git-linking ./libexec/git-core/git-symbolic-ref to git-linking ./libexec/git-core/git-send-pack to git-linking ./libexec/git-core/git-commit to git-linking ./libexec/git-core/git-mailinfo to git-linking ./libexec/git-core/git-credential to git-linking ./libexec/git-core/git-diff to git-linking ./libexec/git-core/git-patch-id to git-linking ./libexec/git-core/git-rerere to git-linking ./libexec/git-core/git-branch to git-linking ./libexec/git-core/git-reset to git-linking ./libexec/git-core/git-receive-pack to git-linking ./libexec/git-core/git-verify-pack to git-linking ./libexec/git-core/git-unpack-objects to git-linking ./libexec/git-core/git-check-attr to git-linking ./libexec/git-core/git-whatchanged to git-linking ./libexec/git-core/git-status to git-linking ./libexec/git-core/git-cat-file to git-linking ./libexec/git-core/git-annotate to git-linking ./bin/git-upload-archive to git-linking ./bin/git-receive-pack to git-linking ./libexec/git-core/git-shell to git-shell-linking ./libexec/git-core/git-upload-pack to git-upload-pack-Installation complete--# End of transcript or log.-"""]]--> [[dup|done]] of [[git-annex_broken_on_Android_4.3]].--[[Joey]]
− doc/bugs/Can_not_Drop_Unused_Files_With_Spaces.mdwn
@@ -1,22 +0,0 @@-I have a repository at rsync.net, even though following files are shown as unused I can not drop them.--Running unused,-- git annex unused --from cloud - unused cloud (checking for unused data...) (checking annex/direct/master...) - Some annexed data on cloud is not used by any files:- NUMBER KEY- 1 SHA256E-s4189547--43aef42540e7f50fc454ab3a2ce4aa28a13b57cccff725359cea0470eb88704b. Bir.mp3- 2 SHA256E-s853765--c0964d3af493d78b7b8393a2aefdd8c290390a03c8cb5cccdcac4647c0fc52a0. 1.jpg- 3 SHA256E-s8706267--e34988b70048a512ad0f431a2a91fa7dd553f96c2bd6caca0bcef928bdfafb93. 3.mp3- (To see where data was previously used, try: git log --stat -S'KEY')- - To remove unwanted data: git-annex dropunused --from cloud NUMBER--show these then running,-- git annex dropunused 1-3 --force--reports ok for each drop operation but rerunning git annex unused --from cloud still shows these three files as unused. I am using git-annex on mac os x (current dmg) on a direct repo. I have similar problems dropping files on the current repo even though I drop unused they still show up as unused.--> [[fixed|done]] --[[Joey]]
− doc/bugs/Cannot_set_direct_mode_with_non_default_worktree.mdwn
@@ -1,47 +0,0 @@-### Please describe the problem.-I am trying to switch to direct mode with the git work tree in a different directory than default much like described in http://git-annex.branchable.com/forum/Detached_git_work_tree__63__/---### What steps will reproduce the problem?-- Create a new git repo with the GIT_WORK_TREE and GIT_DIR set.-- git annex init test-- git annex direct---### What version of git-annex are you using? On what operating system?-5.20141125 package in Debian unstable---### Please provide any additional information below.--[[!format sh """-+dbn@loaner:~/annex $ mkdir -p test/worktree-+dbn@loaner:~/annex $ cd test/-+dbn@loaner:~/annex/test $ git init-Initialized empty Git repository in /home/dbn/annex/test/.git/-+dbn@loaner:~/annex/test $ git annex init test-init test ok-(Recording state in git...)-+dbn@loaner:~/annex/test $ git annex direct --debug-commit -[2014-12-08 03:05:45 PST] call: git ["--git-dir=/home/dbn/annex/test/.git","--work-tree=/home/dbn/annex/test/worktree","commit","-a","-m","commit before switching to direct mode"]-On branch master--Initial commit--nothing to commit-ok-[2014-12-08 03:05:45 PST] read: git ["--git-dir=/home/dbn/annex/test/.git","--work-tree=/home/dbn/annex/test/worktree","ls-files","--cached","-z","--","/home/dbn/annex/test/worktree"]-direct [2014-12-08 03:05:45 PST] read: git ["--git-dir=/home/dbn/annex/test/.git","--work-tree=/home/dbn/annex/test/worktree","symbolic-ref","HEAD"]-[2014-12-08 03:05:45 PST] read: git ["--git-dir=/home/dbn/annex/test/.git","--work-tree=/home/dbn/annex/test/worktree","show-ref","--hash","refs/heads/master"]-[2014-12-08 03:05:45 PST] call: git ["--git-dir=/home/dbn/annex/test/.git","--work-tree=/home/dbn/annex/test/worktree","checkout","-q","-B","annex/direct/master"]-[2014-12-08 03:05:45 PST] call: git ["--git-dir=/home/dbn/annex/test/.git","--work-tree=/home/dbn/annex/test/worktree","config","core.bare","true"]-[2014-12-08 03:05:45 PST] read: git ["config","--null","--list"]-fatal: core.bare and core.worktree do not make sense--git-annex: user error (git ["config","--null","--list"] exited 128)-failed-git-annex: direct: 1 failed-"""]]--> [[done]] per my comment --[[Joey]]
− doc/bugs/Creating_a_WebDAV_repo_under_OpenBSD.mdwn
@@ -1,53 +0,0 @@-### Please describe the problem.-When creating a https webdav repository under openbsd it complains that /etc/ssl/certs doesn't exist. This is true considering all certs are stored in /etc/ssl/cert.pem.-After /etc/ssl/certs is created it complains about that the certificate has an unknown CA, for obvious reasons.--A workaround is to symlink /etc/ssl/cert.pem in /etc/ssl/certs--### What steps will reproduce the problem?-See below--### What version of git-annex are you using? On what operating system?-5.20140129 under OpenBSD 5.4--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-WEBDAV_USERNAME=<username> WEBDAV_PASSWORD=<password> git annex initremote box.com type=webdav url=https://dav.box.com/dav/Documents chunksize=100mb encryption=hybrid keyid=<key> mac=HMACSHA512-initremote box.com (encryption setup) (hybrid cipher with gpg key <key>) (testing WebDAV server...)--git-annex: WebDAV failed to write file: /etc/ssl/certs/: getDirectoryContents: does not exist (No such file or directory): user error-failed-git-annex: initremote: 1 failed---# End of transcript or log.-"""]]--> This needs to be fixed in the haskell certificate library.-> I have filed a bug there:-> <https://github.com/vincenthz/hs-certificate/issues/26>-> -> Patch would probably be pretty simple. Based on description, something like-> this:--[[!format patch """-diff --git a/System/Certificate/X509/Unix.hs b/System/Certificate/X509/Unix.hs-index 8463465..74316e9 100644---- a/System/Certificate/X509/Unix.hs-+++ b/System/Certificate/X509/Unix.hs-@@ -50,7 +50,7 @@ listDirectoryCerts path = (map (path </>) . filter isCert <$> getDirectoryConten- isCert x = (not $ isPrefixOf "." x) && (not $ isHashedFile x)- - getSystemCertificateStore :: IO CertificateStore--getSystemCertificateStore = makeCertificateStore . concat <$> (getSystemPath >>= listDirectoryCerts >>= mapM readCertificates)-+getSystemCertificateStore = makeCertificateStore <$> readCertificates "/etc/ssl/cert.pem"- - getSystemPath :: IO FilePath- getSystemPath = E.catch (getEnv envPathOverride) inDefault-"""]]--> -> [[closing|done]] as no changes to git-annex can fix this. --[[Joey]]
@@ -1,12 +0,0 @@-### Please describe the problem.-If have a directory - mounted CIF share (windows server with domain). -If i run "git annex assistant" or "git annex watch" daemon starts fine and works at first, but then after some time stops doing anything: no messages in .git/annex/daemon.log, process hangs in ps aux. --If i try to "cat .git/annex/daemon.pid" I get "permission denied". And permission is denied for everyone: root, from other windows machines, etc. --If i then kill daemon process and start daemon again everything repeats.--### What version of git-annex are you using? On what operating system?-Standalone git-annex 5.20140421-g515d251 on CentOS 6.5--> [[done]] --[[Joey]]
− doc/bugs/Data_loss_when_doing___96__git_annex_import_--force__96__.mdwn
@@ -1,62 +0,0 @@-### Please describe the problem.--Calling `git annex import --force file-in-working-copy` removes `file-in-working-copy` from disk.--My workflow is:--1) copy the CR2 files from a card to the desired directory structure using a tool of my choice,-2) import the created directory layout to git-annex--### What version of git-annex are you using? On what operating system?--[[!format sh """-$ git-annex version-git-annex version: 5.20150327-build flags: Pairing Testsuite S3 DBus DNS Feeds Quvi TDFA-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL-remote types: git gcrypt S3 bup directory rsync web bittorrent tahoe glacier ddar hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4-"""]]--### How to reproduce:--[[!format sh """-jkt@svist ~/temp $ mkdir annex-add-force-data-loss-jkt@svist ~/temp $ cd annex-add-force-data-loss/-jkt@svist ~/temp/annex-add-force-data-loss $ git init-Initialized empty Git repository in /home/jkt/temp/annex-add-force-data-loss/.git/-jkt@svist ~/temp/annex-add-force-data-loss $ echo 1234 > foo-jkt@svist ~/temp/annex-add-force-data-loss $ ls -al-total 16K-drwxr-xr-x 3 jkt jkt 27 May 8 13:54 .-drwx------ 55 jkt jkt 8.0K May 8 13:54 ..-drwxr-xr-x 6 jkt jkt 96 May 8 13:54 .git--rw-r--r-- 1 jkt jkt 5 May 8 13:54 foo-jkt@svist ~/temp/annex-add-force-data-loss $ git annex import --force foo-git-annex: First run: git-annex init-jkt@svist ~/temp/annex-add-force-data-loss $ git annex init-init ok-(recording state in git...)-jkt@svist ~/temp/annex-add-force-data-loss $ ls -al-total 16K-drwxr-xr-x 3 jkt jkt 27 May 8 13:54 .-drwx------ 55 jkt jkt 8.0K May 8 13:54 ..-drwxr-xr-x 8 jkt jkt 119 May 8 13:54 .git--rw-r--r-- 1 jkt jkt 5 May 8 13:54 foo-jkt@svist ~/temp/annex-add-force-data-loss $ git annex import --force foo-import foo -git-annex: foo: rename: does not exist (No such file or directory)-failed-git-annex: import: 1 failed-jkt@svist ~/temp/annex-add-force-data-loss $ ls -al-total 12K-drwxr-xr-x 3 jkt jkt 17 May 8 13:55 .-drwx------ 55 jkt jkt 8.0K May 8 13:54 ..-drwxr-xr-x 8 jkt jkt 119 May 8 13:55 .git-"""]]-...and the file is gone :(.--> You should use `git annex add` in this case, not import. -> I've made import refuse to run in this case. [[done]] --[[Joey]]
− doc/bugs/Deleted_files_during_merge.mdwn
@@ -1,2138 +0,0 @@-### Please describe the problem.--I edited a file on one machine (firefly), which then synced with another (browncoats). browncoats then deleted the changed file and comitted that with the message «git-annex in browncoats». During this time the file was only ever touched on one machine (firefly), never on browncoats (which I turned on after the two commits on firefly had been made, with git annex assistant running). The result is that the file has disappeared and I have to dig through the log and get it from a backup repository. Both machines are running the assistant in direct mode. Both on ext4 in case that matters.--I've included the daemon.log from browncoats (with filenames redacted).--### What steps will reproduce the problem?--Unknown.--### What version of git-annex are you using? On what operating system?--Both are Archlinux 64bit, both running git-annex version 5.20150219-g52daae5 from the standalone 64bit build.--### Please provide any additional information below.--First commit:-[[!format text """-Date: Thu Mar 5 13:24:30 2015 +0100-- git-annex in firefly--diff --git a/Dokument/Dokument/Skule/Sjukepleie-s4/leseliste.ods b/Dokument/Dokument/Skule/Sjukepleie-s4/leseliste.ods-index 5a18c1e..e579681 120000---- a/Dokument/Dokument/Skule/Sjukepleie-s4/leseliste.ods-+++ b/Dokument/Dokument/Skule/Sjukepleie-s4/leseliste.ods-@@ -1 +1 @@--../../../../.git/annex/objects/Kg/v0/SHA256E-s39322--ca7a6d4d84b59d49a699e921438ace0d6c326c9db218a7c99b0b6626cae4b976.ods/SHA256E-s39322--ca7a6d4d84b59d49a699e921438ace0d6c326c9db218a7c99b0b6626cae4b976.ods-\ No newline at end of file-+../../../../.git/annex/objects/V8/7z/SHA256E-s39378--dfbc693d94beb76e1556ff2aefd87b5b6678b93f03bcb0113e1249872c6f7c71.ods/SHA256E-s39378--dfbc693d94beb76e1556ff2aefd87b5b6678b93f03bcb0113e1249872c6f7c71.ods-\ No newline at end of file-"""]]--Second commit:-[[!format text """-Date: Thu Mar 5 13:27:21 2015 +0100-- git-annex in firefly--diff --git a/Dokument/Dokument/Skule/Sjukepleie-s4/leseliste.ods b/Dokument/Dokument/Skule/Sjukepleie-s4/leseliste.ods-index e579681..f7fbb69 120000---- a/Dokument/Dokument/Skule/Sjukepleie-s4/leseliste.ods-+++ b/Dokument/Dokument/Skule/Sjukepleie-s4/leseliste.ods-@@ -1 +1 @@--../../../../.git/annex/objects/V8/7z/SHA256E-s39378--dfbc693d94beb76e1556ff2aefd87b5b6678b93f03bcb0113e1249872c6f7c71.ods/SHA256E-s39378--dfbc693d94beb76e1556ff2aefd87b5b6678b93f03bcb0113e1249872c6f7c71.ods-\ No newline at end of file-+../../../../.git/annex/objects/0v/kG/SHA256E-s39498--d962b697df05df77275572bc03f18995b47d013708e6b775c700b3092028c54f.ods/SHA256E-s39498--d962b697df05df77275572bc03f18995b47d013708e6b775c700b3092028c54f.ods-\ No newline at end of file-"""]]--The final commit, now on the remote:--[[!format text """-Date: Thu Mar 5 13:34:47 2015 +0100-- git-annex in browncoats--diff --git a/Dokument/Dokument/Skule/Sjukepleie-s4/leseliste.ods b/Dokument/Dokument/Skule/Sjukepleie-s4/leseliste.ods-deleted file mode 120000-index f7fbb69..0000000---- a/Dokument/Dokument/Skule/Sjukepleie-s4/leseliste.ods-+++ /dev/null-@@ -1 +0,0 @@--../../../../.git/annex/objects/0v/kG/SHA256E-s39498--d962b697df05df77275572bc03f18995b47d013708e6b775c700b3092028c54f.ods/SHA256E-s39498--d962b697df05df77275572bc03f18995b47d013708e6b775c700b3092028c54f.ods-\ No newline at end of file-"""]]--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-[2015-03-05 13:32:49 CET] main: starting assistant version 5.20150219-g52daae5-[2015-03-05 13:32:51 CET] Cronner: Consistency check in progress-[2015-03-05 13:34:40 CET] TransferScanner: Syncing with firefly, serenity, zoe, river -p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: Ingen slik fil eller filkatalog-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: Ingen slik fil eller filkatalog-Warning: the ECDSA host key for 'firefly' differs from the key for the IP address '10.0.0.17'-Offending key for IP in /home/zerodogg/.ssh/known_hosts:103-Matching host key in /home/zerodogg/.ssh/known_hosts:148-X11 forwarding request failed-Warning: the ECDSA host key for 'firefly' differs from the key for the IP address '10.0.0.17'-Offending key for IP in /home/zerodogg/.ssh/known_hosts:103-Matching host key in /home/zerodogg/.ssh/known_hosts:148-X11 forwarding request failed on channel 0-(scanning...) [2015-03-05 13:34:41 CET] Watcher: Performing startup scan-ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-git-annex-shell: expected repository UUID b158aa97-4b68-4c37-a109-f3df91480185 but found UUID 2a6ccda4-f94c-484f-aep11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: Ingen slik fil eller filkatalog-p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: Ingen slik fil eller filkatalog-gpg: Signature made to. 19. feb. 2015 kl. 23.44 +0100 CET using DSA key ID 89C809CB-gpg: /tmp/git-annex-gpg.tmp.0/trustdb.gpg: trustdb created-gpg: Good signature from "git-annex distribution signing key (for Joey Hess) <id@joeyh.name>"-gpg: WARNING: This key is not certified with a trusted signature!-gpg: There is no indication that the signature belongs to the owner.-Primary key fingerprint: 4005 5C6A FD2D 526B 2961 E78F 5EE1 DBA7 89C8 09CB-ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-git-annex-shell: expected repository UUID b158aa97-4b68-4c37-a109-f3df91480185 but found UUID 2a6ccda4-f94c-484f-aefe-ce49c1767eab-ssh: connect to host river port 22: No route to host-fsck FILENAME ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-git-annex-shell: expected repository UUID b158aa97-4b68-4c37-a109-f3df91480185 but found UUID 2a6ccda4-f94c-484f-aefe-ce49c1767eab-From firefly:Documents/annexed- 66ab32c..decb072 annex/direct/master -> firefly/annex/direct/master- 7a45b9c..66cf859 git-annex -> firefly/git-annex- 94362e9..decb072 master -> firefly/master- 66ab32c..decb072 synced/master -> firefly/synced/master-(checksum...)-ok-fsck FILENAME (merging firefly/git-annex into git-annex...)-(started...) (checksum...)-ok-fsck FILENAME From serenity:/home/zerodogg/Documents/annexed- 7a45b9c..66cf859 synced/git-annex -> serenity/synced/git-annex- 66ab32c..decb072 synced/master -> serenity/synced/master-Automatic merge went well; stopped before committing as requested-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-(checksum...)-ok-fsck FILENAME [2015-03-05 13:34:47 CET] Committer: Committing changes to git-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME [2015-03-05 13:34:47 CET] Pusher: Syncing with firefly, serenity, zoe, river -Warning: the ECDSA host key for 'firefly' differs from the key for the IP address '10.0.0.17'-Offending key for IP in /home/zerodogg/.ssh/known_hosts:103-Matching host key in /home/zerodogg/.ssh/known_hosts:148-(checksum...)-ok-fsck FILENAME X11 forwarding request failed on channel 0-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME To zerodogg@firefly:Documents/annexed- 7a45b9c..510e591 git-annex -> synced/git-annex- decb072..0f076c0 annex/direct/master -> synced/master-(checksum...)-ok-fsck FILENAME To serenity:/home/zerodogg/Documents/annexed- 66cf859..510e591 git-annex -> synced/git-annex- decb072..0f076c0 annex/direct/master -> synced/master-(checksum...)-ok-fsck FILENAME [2015-03-05 13:34:49 CET] RemoteControl: Syncing with firefly -X11 forwarding request failed-(checksum...)-ok-fsck FILENAME ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-ssh: connect to host river port 22: No route to host-ssh: connect to host rivefatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-r port 22: No route to host-ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-git-annex-shell: expected repository UUID b158aa97-4b68-4c37-a109-f3df91480185 but found UUID 2a6ccda4-f94c-484f-aefe-ce49c1767eab-(checksum...)-ok-fsck FILENAME From firefly:Documents/annexed- decb072..0f076c0 annex/direct/master -> firefly/annex/direct/master- 66cf859..1de4042 git-annex -> firefly/git-annex-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME Warning: the ECDSA host key for 'firefly' differs from the key for the IP address '10.0.0.17'-Offending key for IP in /home/zerodogg/.ssh/known_hosts:103-Matching host key in /home/zerodogg/.ssh/known_hosts:148-(checksum...)-ok-fsck FILENAME X11 forwarding request failed on channel 0-To zerodogg@firefly:Documents/annexed- 510e591..1de4042 git-annex -> synced/git-annex-(checksum...)-ok-fsck FILENAME Everything up-to-date-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-ssh: connect to host river port 22: Nfatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-(checksum...)-ok-fsck FILENAME git-annex-shell: expected repository UUID b158aa97-4b68-4c37-a109-f3df91480185 but found UUID 2a6ccda4-f94c-484f-aefe-ce49c1767eab-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME fatal: Unable to create '/home/zerodogg/Documents/annexed/.git/refs/heads/synced/git-annex.lock': File exists.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-fatal: The remote end hung up unexpectedly-fatal: The remote end hung up unexpectedly-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME From zoe:Documents/annexed- 61b7ec9..1de4042 synced/git-annex -> zoe/synced/git-annex- e3b0e2e..0f076c0 synced/master -> zoe/synced/master-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-git-annex-shell: expected repository UUID b158aa97-4b68-4c37-a109-f3df91480185 but found UUID 2a6ccda4-f94c-484f-aefe-ce49c1767eab-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME fra 2013-02-15 00:05:43.png Everything up-to-date-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-ssh: connect to hofatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-st river port 22: No route to host-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME To zerodogg@zoe:Documents/annexed- 61b7ec9..1de4042 git-annex -> synced/git-annex- e3b0e2e..0f076c0 annex/direct/master -> synced/master-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-git-annex-shell: expected repository UUID b158aa97-4b68-4c37-a109-f3df91480185 but found UUID 2a6ccda4-f94c-484f-aefe-ce49c1767eab-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME Dragonfall/ShadowrunEditor.ini (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME s(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-(checksum...)-ok-fsck FILENAME ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.-git-annex-shell: expected repository UUID b158aa97-4b68-4c37-a109-f3df91480185 but found UUID 2a6ccda4-f94c-484f-aefe-ce49c1767eab-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (2).pdf (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ONSDAG.ret (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ONSDAG.ret (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME M_HAVREGRYN.ret (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-(checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME (checksum...)-ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-fsck FILENAME ok-- Time limit (5m) reached!-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]-ssh: connect to host river port 22: No route to host-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]--# End of transcript or log.-"""]]--> This seems very like the problem described in-> [[git_annex_still_deleting_content_when_merging]]. Without a way to-> reproduce it, I can't tell for sure, but the circumstances of both seem-> the same. I'm going to close this as a duplicate, and have updated the-> other bug report to point to it as more evidence of the bug. [[done]]--[[!meta title="Assistant deleted modified file during merge"]]
− doc/bugs/Direct_mode_sync_fails_to_transfer_a_10GB_file.mdwn
@@ -1,60 +0,0 @@-### Please describe the problem.--On Windows, a 10GB file of mine is successfully indexed (``git annex add``'ed), but ``git annex sync --content`` always fails with rsync, saying "recvkey: received key with wrong size". This is the largest file I've tested so far, and the only one that's failed.--### What steps will reproduce the problem?--1. Copy a 10GB file to a working copy (mine is ''PNG_Sequence.rar'', 10 361 629 980 bytes).-2. Run ``git annex add``-3. Run ``git annex sync --content``--### What version of git-annex are you using? On what operating system?--Windows 7 x64 with:-- git-annex version: 5.20141128-g70f997e- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feed- s Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SH- A256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar ho- ok external--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--commit (Recording state in git...)-ok-pull origin-ok-copy Art/PlanetPioneers/PNG_Sequence.rar copy Art/PlanetPioneers/PNG_Sequence.ra-r (checking origin...) (to origin...)- recvkey: received key with wrong size; discarding--sent 39 bytes received 12 bytes 102.00 bytes/sec-rsync error: syntax or usage error (code 1) at /home/lapo/package/rsync-3.0.9-1/-src/rsync-3.0.9/main.c(1052) [sender=3.0.9]total size is 10361629980 speedup is- 203169215.29- rsync failed -- run git annex again to resume file transfer-failed-pull origin-ok-push origin-Counting objects: 24, done.-Delta compression using up to 8 threads.-Compressing objects: 100% (11/11), done.-Writing objects: 100% (13/13), 1.06 KiB | 0 bytes/s, done.-Total 13 (delta 7), reused 0 (delta 0)-To ssh://gitannex@serv-gitannex:/home/gitannex/git-annex-test.git- f8f70de..41bec92 git-annex -> synced/git-annex- 090ca15..e9e842b annex/direct/master -> synced/master-ok-git-annex: sync: 1 failed--# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/Drop_--from_always_trusts_local_repository.mdwn
@@ -1,46 +0,0 @@-### Please describe the problem.--The command `git annex drop --from` always trusts the local repository, even if-it is marked as untrusted.---### What steps will reproduce the problem?-[[!format sh """-mkdir t u; cd t; git init; git commit --allow-empty -m "Initial commit"; git annex init "Trusted"; date > file; git annex add file; git commit -m "Add file"; cd ../u; git init; git remote add t ../t; git fetch t; git merge t/master; git annex init "Untrusted"; git annex untrust .; git annex get file; cd ../t; git remote add u ../u; git fetch u; cd ..-"""]]--Create two repositories, *t* (trusted) and *u* (untrusted). A file is in both-repositories. When performing `git annex drop file` in repository *t*, `git-annex` will abort because there are not enough copies. But when performing `git-annex drop --from t file` in *u*, git annex will delete the copy.---### What version of git-annex are you using? On what operating system?--Bug was introduced with 6c31e3a8 and still exists in current master (d955cfe7).---### Please provide any additional information below.--The following change seems to solve the problem. (First time working with-Haskell, please excuse the crude code.)--[[!format diff """-diff --git a/Command/Drop.hs b/Command/Drop.hs-index 269c4c2..09ea99a 100644---- a/Command/Drop.hs-+++ b/Command/Drop.hs-@@ -82,8 +82,9 @@ performRemote key afile numcopies remote = lockContent key $ do- (remotes, trusteduuids) <- Remote.keyPossibilitiesTrusted key- present <- inAnnex key- u <- getUUID-+ level <- lookupTrust u- let have = filter (/= uuid) $-- if present then u:trusteduuids else trusteduuids-+ if present && level <= SemiTrusted then u:trusteduuids else trusteduuids- untrusteduuids <- trustGet UnTrusted- let tocheck = filter (/= remote) $- Remote.remotesWithoutUUID remotes (have++untrusteduuids)-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/Drop_files_with_the_same_checksum..mdwn
@@ -1,33 +0,0 @@-### Please describe the problem.-When two identical files are annexed and one of them is dropped, both files are gone (one dangling symlink is left). This may be intentional (the checksums are the same after all), but then is there a way to drop one of the files?--### What steps will reproduce the problem?-- mkdir annex- cd annex- git init- git annex init- mkdir a b- dd if=/dev/urandom of=a/data.bin count=2048- cp a/data.bin b- git annex add a/data.bin b/data.bin- git commit -m "Added raw data."- git annex drop --force a/data.bin- file b/data.bin--### What version of git-annex are you using? On what operating system?--git-annex version: 5.20140831+b1 -build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash -key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL -remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external -local repository version: 5 -supported repository version: 5 --Distributor ID: Debian -Description: Debian GNU/Linux testing (jessie) -Release: testing -Codename: jessie --> If you don't want git-annex to de-duplicate files you can use a backend-> such as WORM. Here it's behaving as expected, so [[done]]. --[[Joey]]
− doc/bugs/Endless_SSH_password_prompts.mdwn
@@ -1,38 +0,0 @@-### Please describe the problem.-Yesterday I installed git-annex on two computers and paired their repos. Today I logged back in to one of them, and as soon as the webapp loaded (autostarted in the background), it popped up an OpenSSH prompt wanting my key's password. I typed it in, and it popped up another. This went on several times. When I hit Cancel instead, it popped up a prompt wanting the password for the user account on my other computer. Even with that, once wasn't enough.--This is bad enough, but worse is that the password prompt captures the keyboard input so I can't even open my Yakuake console to kill git-annex. Well, it's difficult and requires hitting Escape rapidly over and over until I can squeeze in a keystroke to the rest of the system.--I don't understand why this is happening.--1. Shouldn't git-annex have installed a passwordless key on my paired system? It did that for my remote repo.--2. The prompt it's using has no option to remember the pasword. I use ssh-agent, but usually by running ssh-add in a terminal. Maybe if it would use a prompt that works with the agent it wouldn't ask for the password multiple times. --3. I think it's opening multiple SSH connections at once, before I've entered the password even once, so even after I enter the password, it will keep asking for it until I've entered it for every SSH process that was already started.--### What version of git-annex are you using? On what operating system?-1 Nov 2013 Linux tarball on Ubuntu Raring 13.04--> [[fixed|done]]; assistant now sets `StrictHostKeyChecking yes`-> when creating ssh remotes. It also fixes up any ssh remotes it already-> created to have that setting (unless StrictHostKeyChecking is already-> being set).-> -> So, when the host key changes, syncing with the remote will now fail,-> rather than letting ssh prompt for the y/n response. In the local-> pairing case, this is completely right, when on a different lan-> and it tries to communicate with the wrong host there. OTOH, if the ssh-> key of a ssh server has really changed, the assistant does not currently-> help dealing with that.-> -> Any ssh remotes not set up by the assistant are left as-is, so this -> could still happen if the ssh host key of such a ssh remote changes.-> I'll assume that if someone can set up their ssh remotes at the command-> line, they can also read the dialog box ssh pops up, ignore the -> misleading "passphrase request" in the title, and see that it's actually-> prompting about a host key change. --[[Joey]]->-> Update: See [[bugs/kill_git-annex_assistant_on_logout]] -- the fact that-> it happened after logging back in suggests that was the actual cause of-> this problem. --[[Joey]]
− doc/bugs/Error_creating_remote_repository_using_ssh_on_OSX.mdwn
@@ -1,39 +0,0 @@-What steps will reproduce the problem?--1. Click "Remote server: Set up a repository on a remote server using ssh." -2. Enter hostname and different username than currently logged in user-3. Click check this server---What is the expected output? --> I expected to see the next step in the remote repo creration process.--What do you see instead?---> Failed to ssh to the server. Transcript: ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory Permission denied, please try again. ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory Permission denied, please try again. ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory Permission denied (publickey,password). ---What version of git-annex are you using? --> git-annex: Version: 3.20130114 ---On what operating system?--> OSX: 10.8.2----Please provide any additional information below.--> I mentioned "with a different username" because the assistant will allow me to create a remote repository on the same target machine when I use my normal username. I think this is most likely because I have a ssh-key setup for the account on the remote machine. However I do not want to assume anything and send you down the wrong OSX rabbit hole. --> After a little research it seems that OSX does not have a ssh-askpass--[[!tag /design/assistant/OSX]]-[[!meta title="ssh-askpass not available on OSX"]]--> [[fixed|done]]; the webapp now handles ssh password prompting on its own,-> ssh-askpass is not needed. --[[Joey]]
− doc/bugs/Error_writing_log_message_when_filename_contains_Unicode_chars.mdwn
@@ -1,25 +0,0 @@-### Please describe the problem.-I’ve noticed that daemon.log will sometimes contain error messages arising from logging a file name during transfer. Additionally, I’ve occasionally noticed that certain files get «stuck» after being added to the objects store, i. e., they will never be committed by the assistant and have to be staged manually; it appears there is a correlation between files where the logger errors out and files getting stuck.--I can reproduce this using the en-dash (U+2013).--### What steps will reproduce the problem?-1. Create a file named «Behold – the majestic en-dash» in a repository where the assistant is running.-2. Observe file has not been added by the assistant and daemon.log contains no message pertaining to new file.-3. Restart assistant.-4. Observe in daemon.log that the logger has errored out with «hPutChar: invalid argument» and gives the Unicode replacement character thrice for each en-dash.-5. Observe that file is added to object store, but the symlink is not staged or committed by the assistant.--### What version of git-annex are you using? On what operating system?-git-annex 5.20150731-Linux 4.0.9--### Please provide any additional information below.-[[!format sh """-# After restarting the assistant.-[2015-07-28 14:24:58 CEST] Committer: Adding 978Error writing log message: <stderr>: hPutChar: invalid argument (invalid character) (original message: [2015-07-28 14:24:58 CEST] Committer: Adding 978\65533\65533\655330\65533\65533..1\65533\65533\655330.pdf)-[2015-07-28 14:24:59 CEST] Transferrer: Uploaded 978Error writing log message: <stderr>: hPutChar: invalid argument (invalid character) (original message: [2015-07-28 14:24:59 CEST] Transferrer: Uploaded 978\65533\65533\655330\65533\65533..1\65533\65533\655330.pdf)-"""]]--> Closing this because the main bug is fixed in hinotify git and will-> percolate to the git-annex builds eventually. [[done]] --[[Joey]]
+ doc/bugs/External_special_remote_broken__63__.mdwn view
@@ -0,0 +1,64 @@+[[!meta title="encrypted key not checked when resuming upload to chunked encrypted special remote"]]++### Please describe the problem.++Resuming an upload seems not to work when used with chunking. Here is some sample conservation:+++++ [2016-04-26 21:26:14.465287] chat: git-annex-remote-rclone []+ [2016-04-26 21:26:14.468527] git-annex-remote-rclone --> VERSION 1+ [2016-04-26 21:26:14.468726] git-annex-remote-rclone <-- PREPARE+ [2016-04-26 21:26:14.469533] git-annex-remote-rclone --> GETCONFIG prefix+ [2016-04-26 21:26:14.469741] git-annex-remote-rclone <-- VALUE annex.datengrotte+ [2016-04-26 21:26:14.475725] git-annex-remote-rclone --> GETCONFIG target+ [2016-04-26 21:26:14.47597] git-annex-remote-rclone <-- VALUE hubic+ [2016-04-26 21:26:14.481164] git-annex-remote-rclone --> PREPARE-SUCCESS+ [2016-04-26 21:26:14.485361] git-annex-remote-rclone <-- CHECKPRESENT GPGHMACSHA1--2a63df425e9d018adbc9a6e508817c727e414d55+ [2016-04-26 21:26:14.485831] git-annex-remote-rclone --> DIRHASH GPGHMACSHA1--2a63df425e9d018adbc9a6e508817c727e414d55+ [2016-04-26 21:26:14.485937] git-annex-remote-rclone <-- VALUE GM/2k/+ [2016-04-26 21:26:25.571228] git-annex-remote-rclone --> CHECKPRESENT-FAILURE GPGHMACSHA1--2a63df425e9d018adbc9a6e508817c727e414d55+ [2016-04-26 21:26:25.5726] git-annex-remote-rclone <-- CHECKPRESENT SHA256E-s2885269915-S104857600-C1--186620a13bc048d4c9d75ec3a504f9569e5a43047342be5e5279b14b0c445fa6.mp4+ [2016-04-26 21:26:25.57296] git-annex-remote-rclone --> DIRHASH SHA256E-s2885269915-S104857600-C1--186620a13bc048d4c9d75ec3a504f9569e5a43047342be5e5279b14b0c445fa6.mp4+ [2016-04-26 21:26:25.573207] git-annex-remote-rclone <-- VALUE 1v/zK/+ [2016-04-26 21:26:27.392524] git-annex-remote-rclone --> CHECKPRESENT-FAILURE SHA256E-s2885269915-S104857600-C1--186620a13bc048d4c9d75ec3a504f9569e5a43047342be5e5279b14b0c445fa6.mp4+ [2016-04-26 21:26:27.393076] chat: gpg ["--quiet","--trust-model","always","--batch","--passphrase-fd","23","--symmetric","--force-mdc","--no-textmode"]+ [2016-04-26 21:26:31.103132] git-annex-remote-rclone <-- TRANSFER STORE GPGHMACSHA1--48e285fd650dac05eefa328bfbe8efd8a0ca2100 ../.git/annex/tmp/GPGHMACSHA1--48e285fd650dac05eefa328bfbe8efd8a0ca2100+ [2016-04-26 21:26:31.103773] git-annex-remote-rclone --> DIRHASH GPGHMACSHA1--48e285fd650dac05eefa328bfbe8efd8a0ca2100+ [2016-04-26 21:26:31.103888] git-annex-remote-rclone <-- VALUE 8Q/Z9/++++++There are some steps that do not get in my mind:++1. What is the first "CHECKPRESENT GPGHMACSHA1" good for? The full file including all chunks?+2. Second: Why is git-annex looking for "CHECKPRESENT SHA256E", the plain file (not encrypted)?+3. And now the 'real' problem: git-annex does a "TRANSFER STORE" of some key, but does not first check with CHECKPRESENT if it's there. And indeed, this file is already in the repo, so a "CHECKPRESENT GPGHMACSHA1--48e285fd650dac05eefa328bfbe8efd8a0ca2100" would return true in my case. Therefore it reuploads all my data, which is not so great ;P.++### What version of git-annex are you using? On what operating system?++it-annex version: 6.20160418-geff8673+build flags: Assistant Webapp Pairing Testsuite S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify XMPP ConcurrentOutput TorrentParser MagicMime Feeds Quvi+key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL+remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external+local repository version: 6+supported repository versions: 5 6+upgrade supported from repository versions: 0 1 2 4 5+++### Please provide any additional information below.++[[!format sh """+# If you can, paste a complete transcript of the problem occurring here.+# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log+++# 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)++> [[fixed|done]] --[[Joey]]
− doc/bugs/Fails_to_add_files_with_a_newline_in_their_name___59____41__.mdwn
@@ -1,71 +0,0 @@-### Please describe the problem.--I know that it is actually a problem with my script and that some might treat it as a feature ;) but -- apparently I can have such filenames, git also manages to add it no problem (see below)--### What steps will reproduce the problem?---### What version of git-annex are you using? On what operating system?--5.20141024~bpo70+1--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-$> cd 1000genomes/-total 352- 4 20131219.populations.tsv? 4 CHANGELOG? 4 phase1/ 4 README.crams? 4 README.sequence_data?- 4 20131219.superpopulations.tsv? 124 changelog_details/ 4 pilot_data/ 4 README.ebi_aspera_info? 4 release/- 4 alignment.index? 0 complete_genomics_indices/ 4 README.alignment_data? 4 README.ftp_structure? 4 sequence.index?- 4 alignment_indices/ 128 data/ 4 README.analysis_history? 4 README.pilot_data? 16 sequence_indices/- 4 analysis.sequence.index? 4 exome.alignment.index? 4 README.complete_genomics_data? 4 README.populations? 4 technical/-(git)/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124:1000genomes[master]-#9 !5130 [0].....................................:Wed Nov 26 11:40:13:.-head2:/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124/1000genomes-$> git annex add 20131219.*-add 20131219.populations.tsv- git-annex: unknown response from git cat-file ("HEAD:./20131219.populations.tsv missing","HEAD:./20131219.populations.tsv\n")-(git)/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124:1000genomes[master]-#10 !5131 [0].....................................:Wed Nov 26 11:40:36:.-head2:/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124/1000genomes-*$> git annex add '20131219.populations.tsv-'-add 20131219.populations.tsv- git-annex: unknown response from git cat-file ("HEAD:./20131219.populations.tsv missing","HEAD:./20131219.populations.tsv\n")-(git)/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124:1000genomes[master]-#11 !5132 [0].....................................:Wed Nov 26 11:41:07:.-head2:/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124/1000genomes-$> ls -ld '20131219.populations.tsv-'-4 -r-------- 2 yoh yoh 91 Nov 26 10:44 20131219.populations.tsv?-(git)/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124:1000genomes[master]-#12 !5133 [0].....................................:Wed Nov 26 11:41:15:.-head2:/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124/1000genomes-$> acpolicy git-annex-git-annex:- Installed: 5.20141024~bpo70+1- Candidate: 5.20141024~bpo70+1- Version table:- *** 5.20141024~bpo70+1 0- 100 http://debproxy/debian/ wheezy-backports/main amd64 Packages- 100 /var/lib/dpkg/status- 3.20120629 0- 500 http://debproxy/debian/ wheezy/main amd64 Packages-(git)/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124:1000genomes[master]-#13 !5134 [0].....................................:Wed Nov 26 11:41:31:.-head2:/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124/1000genomes-*$> git add '20131219.populations.tsv-'-(git)/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124:1000genomes[master]-#14 !5135 [0].....................................:Wed Nov 26 11:42:58:.-head2:/backup/users/yoh/tmp/nobackup_1000genome-ls.20141124/1000genomes-$> ---# End of transcript or log.-"""]]--> [[dup|done]] of-> [[git_annex_import_fails_on_filenames_with_newlines_in_them]] --[[Joey]]
− doc/bugs/Forcing_https_for_Google_cloud_storage_remote__63__.mdwn
@@ -1,31 +0,0 @@-### Please describe the problem.--A special remote for Google cloud storage would appear to send the developer keys in the clear. -Obviously the content itself can be secured with the encryption but sending the auth keys in-the clear permits anybody listening (i.e. at a public WiFi access point) to gain r/w access to-the user's GCS store.--### What steps will reproduce the problem?--Setup a new special remote:-- git annex initremote gcs type=S3 chunk=2MiB encryption=none host=storage.googleapis.com bucket=gitannex- ...- git move --to=gcs blah--Capture packets. Watch the developer keys go by in the headers. And in this case, see the content too because there's no-encryption turned on. But I believe that I know how to fix this. --I tried to persuade `git annex` to use a SSL connection but without encouraging results:-- git annex initremote gcs type=S3 chunk=2MiB port=443 host=storage.googleapis.com bucket=gitannex- initremote gcs (checking bucket...) git-annex: ErrorClosed---### What version of git-annex are you using? On what operating system?--Debian wheezy, git-annex version: 5.20141024~bpo70+1--### Please provide any additional information below.--> [[done]]; port=443 supported since 5.20141203. --[[Joey]]
− doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn
@@ -1,37 +0,0 @@-### Please describe the problem.--docs say-GETURLS Key Prefix-Gets the recorded urls where a Key can be downloaded from. Only urls that start with the Prefix will be returned. The Prefix may be empty to get all urls. (git-annex replies one or more times with VALUE for each url. The final VALUE has an empty value, indicating the end of the url list.--but when I am trying with a prefix -- doesn't return any... expected that one which is present and returned if I don't provide any prefix--### What steps will reproduce the problem?--git clone git://github.com/yarikoptic/datalad -b nf-custom-remotes-cd datalad-# there are requirements in requirements.txt, which you might need to install... or just do on smaug-git checkout 5b9cfd5008151c515f8bccadf39451055ab61b4b -DATALAD_LOGLEVEL=1 DATALAD_LOGTARGET=stderr tools/testing/make_test_repo archive r1--### What version of git-annex are you using? On what operating system?-5.20150302~nd80+1 now tried also with 5.20150318+yoh20150323+1~nd80+1 (ie snapshot from march 23) with the same success--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--2015-03-26 15:56:05,612 [Level 1] Sending 'GETURLS SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat' (base.py:120)-2015-03-26 15:56:05,613 [Level 1] Received ['VALUE', 'dl+archive:SHA256E-s153--f378a42b6ff4d90091a7dfa37ebe1fe2fc5926eafd12cde1f2ba5fd1bcbf5e1e.tar.gz/d/test.dat'] (base.py:120)-2015-03-26 15:56:05,613 [Level 1] Received ['VALUE'] (base.py:120)---2015-03-26 15:57:37,389 [Level 1] Sending 'GETURLS SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat dl+archive:' (base.py:120)-2015-03-26 15:57:37,391 [Level 1] Received ['VALUE'] (base.py:120)--# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/GIT_DIR_support_incomplete.mdwn
@@ -1,17 +0,0 @@-`GIT_DIR` support isn't right. Git does not look for `GIT_DIR/.git`;-git-annex does.--Also, to support this scenario, support for core.worktree needs to be added-as well:-- mkdir repo workdir- git --work-tree=$PWD/workdir --git-dir=$PWD/repo init- export GIT_DIR=$PWD/repo- git status- # ok- git annex init "new repo"- # fail----[[Joey]] --> [[fixed|done]] --[[Joey]]
− doc/bugs/GPG_issues_with_pubkey___40__Again__63____41__.mdwn
@@ -1,44 +0,0 @@-### Please describe the problem.-When I try to create a megaannex remote with pubkey encryption GPG complains about not finding the public key.--### What steps will reproduce the problem?-See below---### What version of git-annex are you using? On what operating system?-5.20140129 under OSX.---### Please provide any additional information below.--[[!format sh """-% USERNAME="<username>" PASSWORD='<password>' git annex -vd initremote mega type=external externaltype=mega encryption=pubkey keyid=X folder=Documents mac=HMACSHA512-[2014-02-06 11:39:14 CET] read: git ["--git-dir=/Users/dxtr/Documents/.git","--work-tree=/Users/dxtr/Documents","show-ref","git-annex"]-[2014-02-06 11:39:14 CET] read: git ["--git-dir=/Users/dxtr/Documents/.git","--work-tree=/Users/dxtr/Documents","show-ref","--hash","refs/heads/git-annex"]-[2014-02-06 11:39:14 CET] read: git ["--git-dir=/Users/dxtr/Documents/.git","--work-tree=/Users/dxtr/Documents","log","refs/heads/git-annex..62dc22cced06268fa5adcf54992eb1169c6ca1aa","--oneline","-n1"]-[2014-02-06 11:39:14 CET] chat: git ["--git-dir=/Users/dxtr/Documents/.git","--work-tree=/Users/dxtr/Documents","cat-file","--batch"]-initremote mega (encryption setup) [2014-02-06 11:39:14 CET] read: gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--with-colons","--list-public-keys","46726B9A"]-[2014-02-06 11:39:14 CET] read: gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--gen-random","--armor","2","256"]-[2014-02-06 11:39:14 CET] chat: gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--recipient","X","--encrypt","--no-encrypt-to","--no-default-recipient","--force-mdc","--no-textmode"]-(pubkey crypto with gpg key X) [2014-02-06 11:39:15 CET] chat: git-annex-remote-mega []-[2014-02-06 11:39:15 CET] git-annex-remote-mega --> VERSION 1-[2014-02-06 11:39:15 CET] git-annex-remote-mega <-- INITREMOTE-[2014-02-06 11:39:15 CET] git-annex-remote-mega --> GETCONFIG encryption-[2014-02-06 11:39:15 CET] git-annex-remote-mega <-- VALUE pubkey-[2014-02-06 11:39:15 CET] git-annex-remote-mega --> GETCONFIG folder-[2014-02-06 11:39:15 CET] git-annex-remote-mega <-- VALUE Documents-[2014-02-06 11:39:15 CET] git-annex-remote-mega --> SETCREDS mycreds <username> <password>-(gpg) [2014-02-06 11:39:15 CET] chat: gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--decrypt"]-[2014-02-06 11:39:15 CET] chat: gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--batch","--encrypt","--no-encrypt-to","--no-default-recipient","--force-mdc","--no-textmode"]-gpg: no valid addressees-gpg: [stdin]: encryption failed: no such user id--git-annex: user error (gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--batch","--encrypt","--no-encrypt-to","--no-default-recipient","--force-mdc","--no-textmode"] exited 2)-failed-git-annex: initremote: 1 failed---# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/Git-Annex_requires_all_repositories_to_repair.mdwn
@@ -1,6 +0,0 @@-I recently had my git-annex repository die and it needed to be repaired. Two of my repositories are external hard drives. When I tried to use git-annex repair, it would churn for some hours, then error because the external hard drives were not plugged in. When I brought the two hard drives home from the various places that they are (safely) stored, it all worked fine, but it would have been great if git-annex repair could somehow do what it could with what was connected and do the rest as and when the other drives are plugged in. This must only become more of a problem as git-annex is used for longer, as one may have a handful of USB keys storing a little on each.--[[!taglink moreinfo]]--> With the lack of an error message or any followup, it's hard to take-> this bug seriously, so [[done]] --[[Joey]]
− doc/bugs/Git_annex_add_._dies_when_you_add_too_much.mdwn
@@ -1,58 +0,0 @@-### Please describe the problem.--I was playing around thinking to try out git-annex, and bup --I sucessfully added 6GB of images in subdirectories in ~/Pictures, so decided to push over another dir full - --more than 30GB more...--sven@quad:~/Pictures$ git annex add .-....-add 2012/01/10/20120110-024457/IMG_1830.JPG -git-annex: <file descriptor: 7>: hFlush: resource vanished (Broken pipe)-failed-add 2012/01/10/20120110-024457/IMG_1831.JPG -git-annex: <file descriptor: 7>: hFlush: resource vanis-sven@quad:~/Pictures$ -sven@quad:~/Pictures$ git annex add .-Stack space overflow: current size 8388608 bytes.-Use `+RTS -Ksize -RTS' to increase it.-sven@quad:~/Pictures$ git git commit -a -m added-git: 'git' is not a git command. See 'git --help'.--Did you mean this?- init-sven@quad:~/Pictures$ git commit -a -m added-Bus error (core dumped)----### What steps will reproduce the problem?-see above--### What version of git-annex are you using? On what operating system?-sven@quad:~/Pictures$ git annex version-git-annex version: 3.20120406-local repository version: 3-default repository version: 3-supported repository versions: 3-upgrade supported from repository versions: 0 1 2-sven@quad:~/Pictures$ uname -a-Linux quad 3.8.0-34-generic #49~precise1-Ubuntu SMP Wed Nov 13 18:05:00 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux---### Please provide any additional information below.----[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> Ancient git-annex version. Doubt it affects current version. [[!tag moreinfo]] --[[Joey]] -->> Actually, this is a dup of [[runs_of_of_memory_adding_2_million_files]] so [[done]] --[[Joey]]
− doc/bugs/Git_annex_for_Windows_keyboard_shortcut.mdwn
@@ -1,22 +0,0 @@-### Please describe the problem.-After git annex been installed, I cannot any longer (with no hacks) use my right ALT+A shortcut creating special char.-After installing git annex for Windows it overtook this shortcut and redirects my browser to a weird localhost server with a weird port.--### What steps will reproduce the problem?-Installing git annex for Windows and tapping rAlt+A. :)--### What version of git-annex are you using? On what operating system?-The newest version, Windows 8.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> Seems I misunderstood, I thought that would only apply in the start menu.-> Removed the shortcut. [[done]] --[[Joey]]
− doc/bugs/Glacier_remote_uploads_duplicates.mdwn
@@ -1,36 +0,0 @@-### Please describe the problem.--Other references:--https://github.com/basak/glacier-cli/pull/19-http://git-annex.branchable.com/special_remotes/glacier/#comment-a2b05b8dc2d640ee498d90398f02931c--#### Background-- * Glacier doesn't support keys that the client selects, unlike S3. If you upload to Glacier, Glacier assigns a unique ID, not the client.- * Glacier does support an "archive description" which is immutable. It also provides this "archive description" in an inventory listing, together with the unique IDs.- * An "archive description" is not a unique key. It's perfectly possible to upload multiple archives to Glacier with the same "archive description".- * glacier-cli uses the "archive description" field as an upload identifier, since the unique IDs are unfriendly to users. However, since they are potentially ambiguous identifiers, it also supports disambiguation using the ID itself. See "Addressing Archives" in README.md for details.--#### The Problem--This what I believe is happening in the two reports referenced above. When git-annex is used without `--trust-glacier`, it can end up uploading the same data multiple times. From git-annex's point of view, it cannot verify that the data is already in Glacier, so it uploads again, expecting an overwrite operation if the key is already in Glacier. Since glacier-cli maps the key to an "archive description" that can be duplicated, this is not what happens. Instead, a second archive is uploaded.--When git-annex later does a "checkpresent" operation, glacier-cli fails. This is because the request is ambiguous, since there are two archives in Glacier with the same "key". The error message could be better here, but I believe that the behaviour is correct.--#### Discussion--glacier-cli can find out what data Glacier claims to have using an inventory retrieval. However, this retrieval takes about four hours and can be out of date (eg. if someone else recently deleted the archive from another client). Thus, I can understand git-annex's desire not to trust this data or a cache of it.--However, whatever we do, it is impossible to map an "upload or overwrite on key X" type command to Glacier. We'll always end up with duplicates. Even if git-annex stored the Glacier archive IDs, there is no API to replace an existing archive with the same ID, and inventories are out of date even before we retrieve them.--#### Workaround--If the problem is as I think it is, always applying `--trust-glacier` should prevent the problem from occurring in most cases, since git-annex will run "checkpresent" and glacier-cli will confirm that the archive exists.--To fix the problem after it has occurred, it should be sufficient to delete duplicates using glacier-cli, since they _should_ be identical to each other. Some enhancement of the `glacier-cli archive list` command would help here.--Update 10 June 2013: I've pushed a `glacier-cli` update and helper script in commit `b68835`. This adds a `--force-ids` option to `glacier archive list`, with which the helper script `glacier-list-duplicates.sh` uses to identify duplicates that can be removed. If you're affected by this issue, I suggest that you use this helper to identify and fix your problem by removing the duplicates. Please do so carefully by checking that the output of the helper is correct before you use it to delete the duplicates. See the comments at the top of the helper script for usage information.--> [[fixed|done]], at least for the only well-working case for glacier, where-> only one repository can access glacier directly. --[[Joey]]
− doc/bugs/Google_Cloud_Storage_Nearline.mdwn
@@ -1,24 +0,0 @@-### Please describe the problem.--Google's Nearline Storage does not work with git-annex.--### What steps will reproduce the problem?--Create a remote on google cloud storage. AFAIK there is no way to tell annex to create a nearline bucket so what I did was to let it create a regular bucket. At this point everything works I can store retrieve files from the remote. Then I download the buckets content delete the bucket and recreate a nearline bucket with the same name as the old one and re-upload the content. With the new nearline bucket trying to put files there results in a 400 bad request error.---### What version of git-annex are you using? On what operating system?--Mac OS X, git-annex version: 5.20150219-g52daae5--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> This is a dup of [[todo/Nearline_support]] ; [[done]] --[[Joey]]
− doc/bugs/How_to_use_a_DRA_bucket_in_Google_cloud_storage__63__.mdwn
@@ -1,27 +0,0 @@-### Please describe the problem.--Git annex's special S3 remote doesn't seem to work with DRA buckets in Google cloud storage.--### What steps will reproduce the problem?--I created a DRA-style bucket in Google cloud storage:- - gsutil mb gs://gitannex-dra--Then followed [this hint](https://gist.github.com/jterrace/4576324) to-set up use of GCS. Except that it didn't work:-- git annex initremote gcs type=S3 encryption=none host=storage.googleapis.com port=80 bucket=gitannex-dra- initremote gcs (checking bucket...) git-annex: Invalid argument.--### What version of git-annex are you using? On what operating system?--Wheezy, git-annex version: 5.20141024~bpo70+1--### Please provide any additional information below.--There didn't seem to be any extra logs and `--debug` didn't seem to add anything useful.--> Closing, as it seems others have gotten this to work with a more recent-> version of git-annex. Please followup if it doesn't work. [[done]]-> --[[Joey]]
− doc/bugs/Huge_annex_out_of_memory_on_switch_to_indirect_mode_and_status.mdwn
@@ -1,69 +0,0 @@-### Please describe the problem.--[[!tag moreinfo]]--I added a lot of files to my annex in direct mode. Now I want to switch to indirect mode. git-annex status and indirect create an out-of-memory error.--### What steps will reproduce the problem?--I am not really sure, I added a lot of files to the annex, almost 3TB.-Then either git-annex status or git-annex indirect cause a similar error (see below).---### What version of git-annex are you using? On what operating system?--git-annex version: 4.20130501-g4a5bfb3-local repository version: 4-default repository version: 3-supported repository versions: 3 4-upgrade supported from repository versions: 0 1 2-build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP--Ubuntu precise-3.2.0-26-generic---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/debug.log-git-annex status-supported backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL-supported remote types: git S3 bup directory rsync web webdav glacier hook-repository mode: direct-trusted repositories: 0-semitrusted repositories: 7- 00000000-0000-0000-0000-000000000001 -- web- 0b8e6666-80d5-11e2-adf3-6f4d3d6ef0aa -- marek@x4:~/tmp/annex- 65c057c6-6027-11e2-84b0-b77d71696e49 -- here (.)- 96b31c5e-6524-11e2-b136-fbd1a03b2799 -- BackupOnGlacier- b509c388-629a-11e2-be5f-d376e201ad86 -- marek@x201:~/AllData- c636e33c-6e31-11e2-a9c4-a3c5546d69d9 -- desktop- fbaa1c3a-60d7-11e2-842f-9348368d2f4c -- .-untrusted repositories: 0-dead repositories: 0-transfers in progress: none-available local disk space: 81 gigabytes (+1 megabyte reserved)-temporary directory size: 9 megabytes (clean up with git-annex unused)-local annex keys: 61396-local annex size: 3 terabytes-known annex keys: git-annex: out of memory (requested 985661440 bytes)--OR--git-annex indirect-commit git-annex: out of memory (requested 985661440 bytes)------# End of transcript or log.-"""]]--> [[fixed|done]]. However, if you saw this behavior,-> you have large files checked directly into git. You may-> want to examine your repository and use git filter-branch to clean-> it up.-> --[[Joey]]
− doc/bugs/Incorrect_merge__44___direct_repos___40__2__41__.mdwn
@@ -1,44 +0,0 @@-### Please describe the problem.-Incorrect merge of direct repos.--### What steps will reproduce the problem?--[[!format sh """-# setting up stuff-test/a$ git init-test/a$ git annex init-test/a$ git annex direct-test/a$ touch firstfile-test/a$ git annex add firstfile-$ git clone test/a-$ mv a test/b-test/b$ git annex direct--# actual scenario-test/b$ echo bbbb > f-test/b$ git annex add f-test/b$ git annex sync-test/a$ mkdir f-test/a$ echo aaaa > f/f-test/a$ git annex add f/f-test/a$ git annex sync-test/b$ git annex sync-test/b$ rm f-test/b$ git annex sync-test/b$ ls-test/b$ firstfile-test/b$ f.variant-SHA256E-s5--4551db5fd4d56e27be71a8a943070cfaa4342b8e960a326e2d6427b3aa0a5a48.variant-43f5-test/a$ git annex sync # A's f/f is no longer to be found-"""]]--### What version of git-annex are you using? On what operating system?-[[!format sh """-git-annex version: 4.20131031-g7d99d14-build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav glacier hook--Linux ceilingcat 3.11.6-1-ARCH #1 SMP PREEMPT Fri Oct 18 23:22:36 CEST 2013 x86_64 GNU/Linux-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/Incorrect_merge___40__a_special_case__41__.mdwn
@@ -1,48 +0,0 @@-### Please describe the problem.-(Minor issue.)--Incorrect merge of direct repos in the special case where at repo A a symlink to a file whose contents aren't yet available, are overwritten, while at repo B the file is deleted.--Result: file is deleted on both side.--Expected: B.f is gone, A.f is still present--### What steps will reproduce the problem?--[[!format sh """-# setting up stuff-test/a$ git init-test/a$ git annex init-test/a$ git annex direct-test/a$ touch firstfile-test/a$ git annex add firstfile-$ git clone test/a-$ mv a test/b-test/b$ git annex direct--# actual scenario-test/b$ echo bbbb > f-test/b$ git annex add f-test/b$ git annex sync-test/a$ git annex sync-test/a$ echo aaaa > f-test/a$ git annex add f-test/a$ git annex sync-test/b$ rm f-test/b$ git annex sync-test/a$ git annex sync-# test/a/f is now gone, lost-"""]]--### What version of git-annex are you using? On what operating system?-[[!format sh """-git-annex version: 4.20131031-g7d99d14-build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav glacier hook--Linux ceilingcat 3.11.6-1-ARCH #1 SMP PREEMPT Fri Oct 18 23:22:36 CEST 2013 x86_64 GNU/Linux-"""]]--> [[fixed|done]]; direct mode now freezes the content directory as indirect-> mode already did. fsck will fix up the permissions too. --[[Joey]]
− doc/bugs/Installation_on_ArchLinux_fails.mdwn
@@ -1,36 +0,0 @@-### Please describe the problem.-The packages provided on AUR fail to install. I've tried git-annex, git-annex-bin and git-annex-git.--### What steps will reproduce the problem?-- yaourt -S git-annex--or-- yaourt -S git-annex-bin--or-- yaourt -S git-annex-git--### What version of git-annex are you using? On what operating system?--None, on an up-to-date ArchLinux (Kernel 4.0.5-1)--### Please provide any additional information below.---The git-annex-bin package has outdated checksums. When updating these, yaourt fails with-- rm: cannot remove ‘/tmp/yaourt-tmp-foo/aur-git-annex-bin/pkg/git-annex-bin/opt/git-annex.linux/usr/lib/x86_64-linux-gnu/libcurl.so.4’: No such file or directory--Both git-annex and git-annex-git fail with-- error: target not found: haskell-edit-distance- error: target not found: haskell-ifelse- error: target not found: haskell-hs3--as these packages are not available on AUR.--> I have updated the arch documentation to replace the failing package with-> the haskell-core one. [[done]] --[[Joey]]
− doc/bugs/Internal_Server_Error_unknown_UUID__59___cannot_modify.mdwn
@@ -1,26 +0,0 @@-### Please describe the problem.-I was trying to use "Local Computer" option to sync up two machines on my local network. I was having some firewall issues and it failed on one machine.-It still created a repository without a name in the web ui and i get that Error unknown UUID when trying to edit or delete it.--### What steps will reproduce the problem?-Machine A initiates pairing. Machine B accepts pairing. Machine A has a firewall blocking outgoing connections.-Machine B times out. Machine A accepts outgoing connections for vnetd. Machine A starts syncing with Machine B.-Machine B gets files but have a broken web ui.---### What version of git-annex are you using? On what operating system?--4.20130601-g2b6c3f2-OSX 10.7.5 on both Machine A and B--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[dup|done]] of [[Internal_Server_Error:_Unknown_UUID]] --[[Joey]]
− doc/bugs/Internal_server_error_while_adding_remote_server_on_Windows.mdwn
@@ -1,33 +0,0 @@-### Please describe the problem.-The web app fails with an Internal server error while adding a remote server on Windows.-ssh: createProcess: does not exist (No such file or directory)--### What steps will reproduce the problem?-Start the webapp, click add repository, select remote server, click check.--### What version of git-annex are you using? On what operating system?-Latest (as of 20141104) on Windows.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--[2014-11-04 12:42:27 ora solare Europa occidentale] main: starting assistant version 5.20141031-gbfac20c-Launching web browser on file://C:\Users\ltaglialegne\Documents\Annex\.git\annex\webapp.html-[2014-11-04 12:42:27 ora solare Europa occidentale] Cronner: You should enable consistency checking to protect your data. -(scanning...) [2014-11-04 12:42:27 ora solare Europa occidentale] Watcher: Performing startup scan-(started...) recv: failed (No error)-recv: failed (No error)-recv: failed (No error)-recv: failed (No error)-04/Nov/2014:12:44:30 +0100 [Error#yesod-core] ssh: createProcess: does not exist (No such file or directory) @(yesod-core-1.2.19:Yesod.Core.Class.Yesod .\Yesod\Core\Class\Yesod.hs:503:5)-04/Nov/2014:12:44:50 +0100 [Error#yesod-core] ssh: createProcess: does not exist (No such file or directory) @(yesod-core-1.2.19:Yesod.Core.Class.Yesod .\Yesod\Core\Class\Yesod.hs:503:5)--# End of transcript or log.-"""]]--> [[fixed|done]]; git-annex's ssh is now installed to Git/cmd, -> so it will be in the PATH as long as the instructions are followed to let-> msysgit add git to the PATH. --[[Joey]]
− doc/bugs/Latest_64_bit_standalone_Linux_build_broken.mdwn
@@ -1,18 +0,0 @@- [0 zerodogg@firefly git-annex]$ ls- bin/ favicon.png git-annex git-annex-shell git-core/ lib/ libdirs linker README shimmed/ uninstall- etc/ gconvdir git-annex.MANIFEST git-annex-webapp install-haskell-packages lib64/ LICENSE logo.svg runshell templates/ usr/- [0 zerodogg@firefly git-annex]$ pwd- /home/zerodogg/.local/share/git-annex- [0 zerodogg@firefly git-annex]$ ./git-annex version- /home/zerodogg/.local/share/git-annex/bin/git-annex: line 2: /home/zerodogg/.local/share/git-annex/lib64/ld-linux-x86-64.so.2: No such file or directory- [127 zerodogg@firefly git-annex]$ ls -l /home/zerodogg/.local/share/git-annex/lib64/ld-linux-x86-64.so.2 - lrwxrwxrwx. 1 zerodogg zerodogg 32 2012-12-30 16:35 /home/zerodogg/.local/share/git-annex/lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.13.so- [0 zerodogg@firefly git-annex]$ ls /lib/x86_64-linux-gnu/ld-2.13.so- ls: cannot access /lib/x86_64-linux-gnu/ld-2.13.so: No such file or directory--This is on Fedora 20, 64bit, installed from http://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz as of Sun Dec 22 00:44:53 CET 2013.--> [[fixed|done]]; converted ugly shell code to much nicer haskell code,-> which let me reuse relative symlink generation code from git-annex-> to fix this. Updated the amd64 build for the last release only.-> --[[Joey]]
− doc/bugs/Mac_OS_10.9_GPG_erro_when_creating_USB_repo___40__solved__41__.mdwn
@@ -1,23 +0,0 @@-### Please describe the problem.--Creating a USB repo fails with a GPG error.--### What steps will reproduce the problem?-- * Build git-annex and git-annex assistant using the instructions at https://gist.github.com/calmyournerves/7144127- * Run git-annex app to launch web interface- * Create local repo using web interface- * Try to create USB repo using web interface--### What version of git-annex are you using? On what operating system?--git-annex version 4.20131105-g136b030 on Mac OS 10.9 Mavericks.--### Please provide any additional information below.--[[!format sh """-07/Nov/2013:06:51:07 +1100 [Error#yesod-core] user error (gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--with-colons","--list-secret-keys","--fixed-list-mode"] exited 5) @(yesod-core-1.2.4.5:Yesod.Core.Class.Yesod ./Yesod/Core/Class/Yesod.hs:485:5)-"""]]--> [[fixed|done]]; it seems that this was a local build issue ad does not-> affect the autobuild. --[[Joey]]
− doc/bugs/Mac_OS_10.9_GPG_error_adding_S3_repo___40__solved__41__.mdwn
@@ -1,28 +0,0 @@-### Please describe the problem.--Creating a remote S3 repository using the git-annex assistant web interface fails with a GPG error. (I'm also getting a GPG error trying to create a USB repo but it's slightly different so I'll post a different bug.)--### What steps will reproduce the problem?-- * Build git-annex and git-annex assistant using the instructions at https://gist.github.com/calmyournerves/7144127- * Run git-annex app to launch web interface- * Create local repo using web interface- * Try to create encrypted S3 remote repo using web interface--### What version of git-annex are you using? On what operating system?--git-annex version 4.20131105-g136b030 on MacOS 10.9 Mavericks.--### Please provide any additional information below.--[[!format sh """--(encryption setup) dyld: Library not loaded: @rpath/libz.1.2.8.dylib- Referenced from: /Applications/git-annex.app/Contents/MacOS/bundle/gpg- Reason: image not found-07/Nov/2013:06:38:27 +1100 [Error#yesod-core] user error (gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--gen-random","--armor","1","512"] exited 5) @(yesod-core-1.2.4.5:Yesod.Core.Class.Yesod ./Yesod/Core/Class/Yesod.hs:485:5)--"""]]--> [[fixed|done]]; it seems that this was a local build issue ad does not-> affect the autobuild. --[[Joey]]
− doc/bugs/Mac_OS_X_Build_doesn__39__t_include_webapp.mdwn
@@ -1,12 +0,0 @@-Latest build for Mac OS X (both autobuild and release versions) does not contain webapp.--git annex version for OS X,-- git-annex version: 5.20140306-g309a73c- build flags: Assistant Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN2 56 SKEIN512 WORM URL - remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external--whereas on my Linux box build flags include webapp. On os x when I run git annex webapp it does nothing, just prints the help info.--> [[fixed|done]] --[[Joey]]
− doc/bugs/Mac_OS_git_version_still_too_old_for_.gitignore__63__.mdwn
@@ -1,28 +0,0 @@-### Please describe the problem.--Joey, it looks like the git version wasn't updated with the latest release as is still too old to respect .gitignore files. I'm hoping that I haven't just made a silly mistake but I don't think I have...--See http://git-annex.branchable.com/bugs/Mac_OS_git_version_too_old_to_honour_.gitignore/ for bug that was closed.--### What steps will reproduce the problem?--Install git-annex 5.20140209-g3a61dbe and try to use .gitignore file to exclude items from git annex.--### What version of git-annex are you using? On what operating system?--5.20140209-g3a61dbe on Mac OS 10.9.1.--### Please provide any additional information below.--[/Applications/git-annex.app/Contents/MacOS]# ./git annex version--git-annex version: 5.20140209-g3a61dbe-build flags: Assistant Webapp Pairing S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external--[/Applications/git-annex.app/Contents/MacOS]# ./git --version--git version 1.8.3.4 (Apple Git-47)--> Really [[fixed|done]] now. --[[Joey]]
− doc/bugs/Mac_OS_git_version_too_old_to_honour_.gitignore.mdwn
@@ -1,38 +0,0 @@-### Please describe the problem.--Git annex assistant ignores .gitignore file due to packaged git version being too old.--I have a locally installed version that is greater than the 1.8.4 needed to respect .gitignore but git annex doesn't use it.--### What steps will reproduce the problem?--- Create local repository using webapp-- Add .gitignore file to local repository-- Add files that match .gitignore patterns and watch git annex add them--### What version of git-annex are you using? On what operating system?--Git Annex assistant version 5.20140128-g0ac94c3 on Mac OS 10.9.1--### Please provide any additional information below.--Log message is "The installed version of git is too old for .gitignores to be honored by git-annex."--[[!format sh """-# /Applications/git-annex.app/Contents/MacOS/git-annex version-git-annex version: 5.20140128-g0ac94c3-build flags: Assistant Webapp Pairing S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external--# /Applications/git-annex.app/Contents/MacOS/git --version-git version 1.8.3.4 (Apple Git-47)--# which git-/usr/local/bin/git--# /usr/local/bin/git --version-git version 1.8.5.3-"""]]--> [[fixed|done]]; it has been updated to 1.8.5.3 on the autobuilder. --[[Joey]]
− doc/bugs/Manual_content_mode_isn__39__t_manual.mdwn
@@ -1,89 +0,0 @@-### Please describe the problem.--The `manual` content mode doesn't follow the description provided in the help page, instead it seems to collect content.--### What steps will reproduce the problem?--1. Create a new git annex repository using the webapp, set the content type to `client`.-2. Create another repository, and set the content type to `manual`.-3. Copy something into the `client` repository.-4. It will be pushed/pulled into the `manual` repository.--### What version of git-annex are you using? On what operating system?-- git-annex version: 4.20130521-g25dba9d- Ubuntu 13.04 x64.--### Please provide any additional information below.--I have also noticed very weird behaviour that I have been unable to replicate in testing, but I will describe the setup that it currently happens in:-I have 3x repositories, one a `client` repository, and the other two are set to `manual`. When put a new file into the `client` repository, it is pushed onto the two `manual` repositories. When these repositories have received it, the client drops the file and re-downloads it from one of the `manual` repositories. Once it's been pushed, deleted, and pulled, everything is happy... but the extra step makes no difference.--[[!format sh """-[2013-05-22 20:41:44 EST] main: starting assistant version 4.20130521-g25dba9d-[2013-05-22 20:41:44 EST] TransferScanner: Syncing with test3, test2 -Already up-to-date.--(scanning...) [2013-05-22 20:41:44 EST] Watcher: Performing startup scan-Already up-to-date.-Already up-to-date.---(started...) From /home/valorin/workspace/tmp/test3- f285dc2..406c20c git-annex -> test3/git-annex- cdf2ad3..508983c master -> test3/master-From /home/valorin/workspace/tmp/test2- 1e04829..1c03533 git-annex -> test2/git-annex- 8ad4bd3..18a5408 master -> test2/master-Updating 508983c..18a5408-Fast-forward-Already up-to-date.-To /home/valorin/workspace/tmp/test2- 4e49293..a66ce5d git-annex -> synced/git-annex- 508983c..18a5408 master -> synced/master-To /home/valorin/workspace/tmp/test3- 4e49293..a66ce5d git-annex -> synced/git-annex- 508983c..18a5408 master -> synced/master-Already up-to-date.-Already up-to-date.-[2013-05-22 20:42:07 EST] Committer: Adding Firefly S..acked.m4v--(merging test3/git-annex into git-annex...)-(merging test2/git-annex into git-annex...)-(Recording state in git...)-----add Firefly S01E03 Bushwhacked.m4v (checksum...) [2013-05-22 20:42:15 EST] Committer: Committing changes to git-[2013-05-22 20:42:15 EST] Pusher: Syncing with test3, test2 -Already up-to-date.-To /home/valorin/workspace/tmp/test2- a66ce5d..a6773dd git-annex -> synced/git-annex- 18a5408..f9e7692 master -> synced/master-To /home/valorin/workspace/tmp/test3- a66ce5d..a6773dd git-annex -> synced/git-annex- 18a5408..f9e7692 master -> synced/master-Already up-to-date.-Already up-to-date.-[2013-05-22 20:42:26 EST] Transferrer: Uploaded Firefly S..acked.m4v-[2013-05-22 20:42:26 EST] Pusher: Syncing with test3, test2 -To /home/valorin/workspace/tmp/test3- a6773dd..c35f992 git-annex -> synced/git-annex-To /home/valorin/workspace/tmp/test2- a6773dd..c35f992 git-annex -> synced/git-annex-[2013-05-22 20:42:35 EST] Transferrer: Uploaded Firefly S..acked.m4v-[2013-05-22 20:42:35 EST] Pusher: Syncing with test3, test2 -To /home/valorin/workspace/tmp/test3- c35f992..9e47813 git-annex -> synced/git-annex-To /home/valorin/workspace/tmp/test2- c35f992..9e47813 git-annex -> synced/git-annex-[2013-05-22 20:42:44 EST] Pusher: Syncing with test3, test2 -Everything up-to-date-Everything up-to-date-"""]]--> It turns out there was a bug in the preferred content expression parser,-> that made it parse the expression for manual mode (but I think no other standard-> expression) quite wrong, as if it had parens in the wrong place. This explains-> the broken behavior. [[fixed|done]] --[[Joey]]
− doc/bugs/Merge_involving_symlink_yields_unexpected_results.mdwn
@@ -1,51 +0,0 @@-### Please describe the problem.-When creating a symlink in repository A, and creating a regular file under the same name in repository B, syncing B will yield the result that the symlink is lost, and both the original filename and the .variant file will point to the same annex object containing the original content from B.--Both A and B are indirect mode repos.--### What steps will reproduce the problem?--[[!format sh """--#Initial state:--repo-A$ echo file1-This is file 1.-repo-B$ echo file1-This is file 1.--#Make conflicting changes:--repo-A$ ln -s file1 file2; git add file2; git commit -m "Add file2 as symlink."-repo-B$ echo "This is file 2." > file2; git annex add file2; git commit -m "Add file2 as regular file."--#Sync it:--repo-A$ git annex sync-repo-B$ git annex sync--#Strange result in repo-B:--repo-B$ ls -l file2*-file2 -> .git/annex/objects/$HASH1-file2.variant1234 -> .git/annex/objects/$HASH1-repo-B$ cat file2 file2.variantXXXX-This is file 2.-This is file 2.--#Repo-A leaves the symlink change untouched and adds a .variant containing the new regular file data.--repo-A$ ls -l file*-file2 -> file1-file2.variant1234 -> .git/annex/objects/$HASH1-repo-A$ cat file.variant1234-This is file 2.-"""]]-### What version of git-annex are you using? On what operating system?-Linux 3.15.3-git-annex 5.20140613---[[!tag confirmed]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/Missing_repo_uuid_after_local_pairing_with_older_annex.mdwn
@@ -1,31 +0,0 @@-### Please describe the problem.-I paired my repo running on Gentoo (git-annex 4.20130601) with Ubuntu 13.04 (git-annex 3.10121112ubuntu4). The repo on Ubuntu doesn't have uuid for the Gentoo remote, so:--- There is no name in assistan's repo settings for it--- Trying to access its settings gives Internal server error: Unknown UUID-15/Jun/2013:12:39:10 +0300 [Error#yesod-core] Unknown UUID @(yesod-core-1.1.8.3:Yesod.Internal.Core ./Yesod/Internal/Core.hs:550:5)--- In dashboard on Ubuntu all changes stay queued forever (although the syncing seems to work)--### What steps will reproduce the problem?-Pair local computers with different annex versions.--### What version of git-annex are you using? On what operating system?-Gentoo (git-annex 4.20130601)-Ubuntu 13.04 (git-annex 3.10121112ubuntu4)--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> Others are reporting what seems to be the same problem here:-> [[Internal_Server_Error:_Unknown_UUID]].-> -> [[dup|done]] --[[Joey]]
− doc/bugs/No_easy_way_to_re-inject_a_file_into_an_annex.mdwn
@@ -1,12 +0,0 @@-My local git index got corrupted and I needed to clone and annex get all data from my main repo.--Some files were never copied anywhere so I am stuck with symlinks to nowhere.--I tried to copy over the symlink with a copy of the actual file, which did not work. Trying to unlock, copying over the symlink, and relock did not work, either.--Then, I copied the annex object to the correct place in .git/annex/objects/..., set all modes, re-ran fsck and the file re-appeared.---Long story short, I think there should be a `git annex reinject $file` or similar which will take a file, either one replacing the symlink or with an arbitrary path, and put it into the correct place in the object store. Called normally, it should reject all reinjects where the checksum does not match. With --force, this should be overridden. For reasons of safety, WORM should always require --force.--> [[closing|done]], seems addressed --[[Joey]]
− doc/bugs/No_manual_page_on_prebuilt_linux_version.mdwn
@@ -1,18 +0,0 @@-### Please describe the problem, What steps will reproduce the problem?-- $ which git-annex- ~/.local/bin/git-annex- $ git help annex- No manual entry for git-annex- $ git annex --help- No manual entry for git-annex--(either that or it display the manual of system-installed git-annex, not the locally installed one)--### What version of git-annex are you using? On what operating system?--Fedora 20--`git-annex --version` doesn't work and the webapp tells me Version: 5.20131130-gc25be33--> [[fixed|done]] (OSX too) --[[Joey]]
− doc/bugs/No_such_file_with_certain_filenames_using_WORM_backend.mdwn
@@ -1,64 +0,0 @@-### Please describe the problem.--I get no such file errors when using WORM backend on files with a certain name. Doesn't like brackets?--Default backend is fine (see output below).--### What steps will reproduce the problem?--See additional info--### What version of git-annex are you using? On what operating system?--git-annex version: 5.20140613-g5587055-On Windows 8.1-Tried with both Windows command prompt and Git Bash shell.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--git config --add annex.backends WORM-git annex add extras--add extras/Extra Content - Reason Drum Takes/DT Key Map.pdf ok-add extras/Extra Content - Reason Drum Takes/DT Read Me.pdf ok-add extras/Extra Content - Reason Drum Takes/DT7 Rock - Love (136).reason ok-add extras/Extra Content - Reason Drum Takes/DT7 Rock - Peace (200).reason ok-add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G06.aif-git-annex: C:\Studio\.git\annex\objects\b43\d6d\WORM-s178174-m1363015489--extras%Extra Content - Reason Drum Takes%Kit S-amples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G06.aif\WORM-s178174-m1363015489--extras%Extra Content - Reason Drum Tak-es%Kit Samples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G06.aif.cache: openFile: does not exist (No such file or directo-ry)-failed-add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G09.aif-git-annex: C:\Studio\.git\annex\objects\e90\b5c\WORM-s199108-m1363015489--extras%Extra Content - Reason Drum Takes%Kit S-amples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G09.aif\WORM-s199108-m1363015489--extras%Extra Content - Reason Drum Tak-es%Kit Samples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G09.aif.cache: openFile: does not exist (No such file or directo-ry)-failed-add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G14.aif-git-annex: C:\Studio\.git\annex\objects\995\4e7\WORM-s201570-m1363015489--extras%Extra Content - Reason Drum Takes%Kit S-amples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G14.aif\WORM-s201570-m1363015489--extras%Extra Content - Reason Drum Tak-es%Kit Samples%1. Bass Drum mic ,40BD,41%DT6_BD_Bd_RG_R_G14.aif.cache: openFile: does not exist (No such file or directo-ry)-failed--git config --unset annex.backends-git annex add extras--add extras/Extra Content - Reason Drum Takes/DT Key Map.pdf ok-add extras/Extra Content - Reason Drum Takes/DT Read Me.pdf ok-add extras/Extra Content - Reason Drum Takes/DT7 Rock - Love (136).reason ok-add extras/Extra Content - Reason Drum Takes/DT7 Rock - Peace (200).reason ok-add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G06.aif ok-add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G09.aif ok-add extras/Extra Content - Reason Drum Takes/Kit Samples/1. Bass Drum mic (BD)/DT6_BD_Bd_RG_R_G14.aif ok--# End of transcript or log.-"""]]--> [[done]]; this is a duplicate of the bug referred to in my comment below.-> --[[Joey]]
− doc/bugs/Numcopies_not_checked_when_running_with_--all.mdwn
@@ -1,40 +0,0 @@-### Please describe the problem.-There are a lot of differences in the behaviour of usual commands and commans using --all.-The specific problem I found was that "git annex fsck --all" will only checksum it seems and not report back numcopies failures.-Checking if objects/old versions have propagated is not possible without it or do I miss something.--(As additional note not sure if related. It seems that git annex fsck --all is running much faster in my tests 1/3 faster. Any reason for that? Bug related?)---### What steps will reproduce the problem?-compare "git annex fsck" vs "git annex fsck" (no numcopies check)--### What version of git-annex are you using? On what operating system?-git-annex version: 5.20140210-gd99db49-Linux (Ubuntu 13.10)--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> It's expected that --all (and --unused) make .gitattributes-> annex.numcopies settings be ignored, because with these options git-annex-> is operating on keys, it does not know or care what filename they're-> associated with, and so cannot look them up in .gitattributes. I have-> improved the documentation of .gitattributes files to mention this-> limitation.-> -> I also notice that fsck --all is not checking .git/config's-> annex.numcopies or the new global numcopies setting. It certianly makes-> sense for those numcopies settings to be paid attention to.-> [[fixed|done]] --[[Joey]]-> -> (--all is faster because it can quickly scan through .git/annex/objects-> to find everything, rather than looking at the symlink target of every-> file in the work tree.)
− doc/bugs/OOM_while_configuring_git-annex.mdwn
@@ -1,48 +0,0 @@-### Please describe the problem.-When running configure, the system runs out of memory:--[[https://kojipkgs.fedoraproject.org//work/tasks/1587/10431587/build.log]]--built with versions from:--[[https://kojipkgs.fedoraproject.org//work/tasks/1587/10431587/root.log]]--### What steps will reproduce the problem?-Rebuilding on koji. Also occurs in mock. Haven't tried a naked build (yet).--### What version of git-annex are you using? On what operating system?-Currently, 5.20141203. Newest snapshot requires deps not yet packaged in Fedora.--### Please provide any additional information below.--[[!format sh """-+ ./Setup configure --prefix=/usr --libdir=/usr/lib --docdir=/usr/share/doc/git-annex '--libsubdir=$compiler/$pkgid' '--datasubdir=$pkgid' --ghc --enable-executable-dynamic '--ghc-options= -optc-O2 -optc-g -optc-pipe -optc-Wall -optc-Werror=format-security -optc-Wp,-D_FORTIFY_SOURCE=2 -optc-fexceptions -optc-fstack-protector-strong -optc--param=ssp-buffer-size=4 -optc-grecord-gcc-switches -optc-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -optc-m32 -optc-march=i686 -optc-mtune=atom -optc-fasynchronous-unwind-tables -optl-Wl,-z,relro'- checking version...fatal: Not a git repository (or any of the parent directories): .git- 5.20141203- checking UPGRADE_LOCATION... not available- checking git... yes- checking git version... 2.4.6- checking cp -a... yes- checking cp -p... yes- checking cp --preserve=timestamps... yes- checking cp --reflink=auto... yes- checking xargs -0... yes- checking rsync... yes- checking curl... yes- checking wget... no- checking bup... no- checking nice... yes- checking ionice... yes- checking nocache... no- checking gpg... gpg2- checking lsof... not available- checking git-remote-gcrypt... not available- checking ssh connection caching... yes- checking sha1... sha1sum- checking sha256... sha256sum- checking sha512... sha512sum- checking sha224... sha224sum- checking sha384...Setup: out of memory (requested 1048576 bytes)-"""]]--> forwarded to cabal && [[done]] per my comment --[[Joey]]
− doc/bugs/Old_repository_stuck.mdwn
@@ -1,9 +0,0 @@-I had created a test repository a time ago with an old version of git-annex. I didn't really used it so I simply deleted the directory by hand. Now I've installed a new version of git-annex and the old repository stills appears on the webapp, but there is no interface to delete it.--* Old git-annex version: don't remember -* New git-annex version: I downloaded 3.20130107 (twice to be sure), but for some reason 'git-annex version' reports 3.20130102-* OS: Ubuntu 12.04.1 LTS 3.2.0-35-generic-pae #55-Ubuntu SMP Wed Dec 5 18:04:39 UTC 2012 i686 i686 i386 GNU/Linux--> This is [[fixed|done]] in git; assuming the repo was showing up-> in the upper-right menu for switching among local repositories.-> --[[Joey]]
− doc/bugs/On_Windows_the_Comitted_Symlinks_are_not_Relative.mdwn
@@ -1,102 +0,0 @@-### Please describe the problem.-On Windows 7, the committed symlink files are always relative to the repo's .git root; they are not prefixed with the correct number of ../ for the given level of directing nesting.--Trying to correct this with `git annex fix` returns "You cannot run this command in a direct mode repository."--I believe that this is also the source of a pathological case I'm seeing on Windows. After adding a lot of content, commands like `git annex sync` and `git annex status` appear to re-checksum the entire annex. After syncing the repo to a Linux machine, fixing the symlinks there, and syncing back, these commands become snappy again.--### What steps will reproduce the problem?--[[!format sh """-git init-git annex init-mkdir -p one/two/three/four/five/six--# drop files into the dir structure-git annex add .-git annex sync-git log -p-"""]]--### What version of git-annex are you using? On what operating system?--git-annex version: 5.20140203-g83e6fb7--on Windows 7 Pro--### Please provide any additional information below.--The output of `git log -p` for me:-- commit f4d88b6bc99cc94a0b0154da41d06bad3f23cc1e- Author: Justin Geibel <...>- Date: Tue Feb 4 20:56:32 2014 -0500- - git-annex automatic sync- - diff --git a/git-annex-installer.exe b/git-annex-installer.exe- new file mode 120000- index 0000000..64f7d83- --- /dev/null- +++ b/git-annex-installer.exe- @@ -0,0 +1 @@- +.git/annex/objects/GW/Wk/SHA256E-s14413167--ea3a1e4c09ad12fdb2993a157b77b246a058f7f0ca2cd174d8cc675d1495ec4d.exe/SHA256E-s14413167--ea3a1e4c09ad12fdb2993a157b77b246a058f7f0ca2cd174d8cc675d1495ec4d.exe- \ No newline at end of file- diff --git a/one/git-annex-installer(1).exe b/one/git-annex-installer(1).exe- new file mode 120000- index 0000000..5b37a29- --- /dev/null- +++ b/one/git-annex-installer(1).exe- @@ -0,0 +1 @@- +.git/annex/objects/6k/8K/SHA256E-s19286321--add3e1ac7ceabce7aa1ed1907895ae527fc095610d1e21127e99814728b24f11.exe/SHA256E-s19286321--add3e1ac7ceabce7aa1ed1907895ae527fc095610d1e21127e99814728b24f11.exe- \ No newline at end of file- diff --git a/one/two/git-annex-installer(2).exe b/one/two/git-annex-installer(2).exe- new file mode 120000- index 0000000..f89508f- --- /dev/null- +++ b/one/two/git-annex-installer(2).exe- @@ -0,0 +1 @@- +.git/annex/objects/Zm/6K/SHA256E-s19573485--4f2a22c5b96308cf694c85564940d3cba22b5e8b3b714b242116c91369be75ee.exe/SHA256E-s19573485--4f2a22c5b96308cf694c85564940d3cba22b5e8b3b714b242116c91369be75ee.exe- \ No newline at end of file- diff --git a/one/two/three/four/five/git-annex-installer(5).exe b/one/two/three/four/five/git-annex-installer(5).exe- new file mode 120000- index 0000000..34565f9- --- /dev/null- +++ b/one/two/three/four/five/git-annex-installer(5).exe- @@ -0,0 +1 @@- +.git/annex/objects/p3/Xq/SHA256E-s19956630--ec421bfc6cb0b4df2b5195d9229cbcc27a2e5505e0b879bf07e1be38dcc64a42.exe/SHA256E-s19956630--ec421bfc6cb0b4df2b5195d9229cbcc27a2e5505e0b879bf07e1be38dcc64a42.exe- \ No newline at end of file- diff --git a/one/two/three/four/five/six/git-annex-installer(6).exe b/one/two/three/four/five/six/git-annex-installer(6).exe- new file mode 120000- index 0000000..d6f97d9- --- /dev/null- +++ b/one/two/three/four/five/six/git-annex-installer(6).exe- @@ -0,0 +1 @@- +.git/annex/objects/9G/5g/SHA256E-s19967171--c9e33dff779a43e76089ec3bee3411299d5b8abfa67ae1b459cee5a812c5194d.exe/SHA256E-s19967171--c9e33dff779a43e76089ec3bee3411299d5b8abfa67ae1b459cee5a812c5194d.exe- \ No newline at end of file- diff --git a/one/two/three/four/git-annex-installer(4).exe b/one/two/three/four/git-annex-installer(4).exe- new file mode 120000- index 0000000..a4f791c- --- /dev/null- +++ b/one/two/three/four/git-annex-installer(4).exe- @@ -0,0 +1 @@- +.git/annex/objects/8J/pM/SHA256E-s19959961--7e4521036f891bba97f4c04527946e26ef43b14576d874c666e73dee405c18cf.exe/SHA256E-s19959961--7e4521036f891bba97f4c04527946e26ef43b14576d874c666e73dee405c18cf.exe- \ No newline at end of file- diff --git a/one/two/three/git-annex-installer(3).exe b/one/two/three/git-annex-installer(3).exe- new file mode 120000- index 0000000..dda7284- --- /dev/null- +++ b/one/two/three/git-annex-installer(3).exe- @@ -0,0 +1 @@- +.git/annex/objects/5X/qQ/SHA256E-s19915186--c6dc288ec8a77404c0ebc22cbe9b4ec911103fd022c3ca74eec582604dff80a7.exe/SHA256E-s19915186--c6dc288ec8a77404c0ebc22cbe9b4ec911103fd022c3ca74eec582604dff80a7.exe- \ No newline at end of file--> [[fixed|done]] -- I didn't notice this before because it happened to do-> the right thing if you cd'd into the subdir before adding the file there.->-> WRT the slow down issue, I don't see how it could matter to git-annex on-> Windows whether the symlinks point to the right place. It only looks at-> the basename of the symlink target to get the key. If you have a-> repository that behaves poorly, you can probably use --debug to see if-> git-annex is calling some expensive series of git commands somehow.-> --[[Joey]]
− doc/bugs/Out_of_memory_error_in_fsck_whereis_find_and_status_cmds.mdwn
@@ -1,84 +0,0 @@-Before I start on what's gone wrong, many thanks for a great program: finally a way of finding out where I've put all those files, and I enjoyed your talk in Australia. Not quite to New Zealand, but a good start :-)--To play with git-annex, I decided to convert my ~/Downloads directory to a git-annex repository, as there were a wide variety of files in it, mostly easily replaceable, and also handy to have on multiple machines. In hindsight, probably wasn't a great idea, as I'd regularly forget it was a git-annex repo and move files and directories out manually, which caused all sorts of fun trying to sort out the dead symlinks. Then I after one update, the repository format changed, from WORM to xxx256 format which meant there were now both sorts in the GA object store.--More recently I'd tried converting the repo to direct mode, you get the idea: lots of playing with git-annex commands, and now that I think about it, possibly some git commands too trying to repair missing files.--Anyway I've ended up with a 27GB git-annex repo that now manages to kill git-annex whenever I try to check it using "git-annex fsck". --Not only does the fsck subcommand cause it to die, but also "find", "whereis" and "status". It dies on the same file (for find/whereis/fsck).--e.g.-- ... lots of stuff deleted ...- whereis 1wolf14.zip (2 copies) - 051f0b00-e265-11e1-894e-3b0b3f3844f2 -- Laptop- 2c4e11e0-a1b4-11e1-9a02-73e17b04c00f -- here (myPC - Downloads)- ok- git-annex: out of memory (requested 2097152 bytes)--Now "git status" for some repo data:-- myPC:~/Downloads$ git annex status- supported backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL- supported remote types: git S3 bup directory rsync web webdav glacier hook- repository mode: direct- trusted repositories: 0- semitrusted repositories: 4- 00000000-0000-0000-0000-000000000001 -- web- 051f0b00-e265-11e1-894e-3b0b3f3844f2 -- Laptop- 2c4e11e0-a1b4-11e1-9a02-73e17b04c00f -- here (myPC - Downloads)- 48fbe52a-a1b3-11e1-bb80-ebc15118871d -- netbk- untrusted repositories: 0- dead repositories: 0- transfers in progress: none- available local disk space: 100 gigabytes (+1 megabyte reserved)- local annex keys: 1719- local annex size: 27 gigabytes- known annex keys: git-annex: out of memory (requested 2097152 bytes)--It always seems to die at about 3.5GB memory usage. This is running on Ubuntu 12.04, using the latest GA release built using cabal:-- git-annex version: 4.20130227- local repository version: 3- default repository version: 3- supported repository versions: 3 4- upgrade supported from repository versions: 0 1 2--There are also dead symlinks that point to directories that have meta-data but not the symlink target (manually line-wrapped):-- myPC:~/Downloads$ ls -l precise*- lrwxrwxrwx 1 nino nino 194 Oct 21 12:48 precise-dvd-i386.iso -> - .git/annex/objects/0x/Xz/SHA256-s3590631424--- b08ecdd4846948ec076b23afae7f87be9cfba5218fb9ba4160f26c0b8d4b5dd0/- SHA256-s3590631424--b08ecdd4846948ec076b23afae7f87be9cfba5218fb9ba4160f26c0b8d4b5dd0--But looking in the symlink destination directory, there's no corresponding object, only metadata:-- myPC:~/Downloads/.git/annex/objects/0x/Xz/SHA256-s3590631424--b08ecdd4846948ec076b23afae7f87be9cfba5218fb9ba4160f26c0b8d4b5dd0$ ls -l- total 8- -rw-rw-r-- 1 nino nino 30 Jan 8 23:15 SHA256-s3590631424--b08ecdd4846948ec076b23afae7f87be9cfba5218fb9ba4160f26c0b8d4b5dd0.cache- -rw-rw-r-- 1 nino nino 49 Jan 8 23:15 SHA256-s3590631424--b08ecdd4846948ec076b23afae7f87be9cfba5218fb9ba4160f26c0b8d4b5dd0.map--But there is another version somewhere else.-- -r--r--r-- 1 nino nino 3590631424 Mar 18 2012 ./.git/annex/objects/Kj/wM/WORM-s3590631424-m1331991509- --precise-dvd-i386.iso/WORM-s3590631424-m1331991509--precise-dvd-i386.iso--This actual file does exist in the "Used" directory:-- -rw-r--r-- 1 nino nino 3.4G May 27 2012 precise-dvd-i386.iso--I'm not so worried about the mangled repo - it's quite possibly because of clueless git/git-annex command usage - but the inability to use the fsck command is concerning--I could just uninit everything, but as it dies prematurely, I'm not certain that all the contents would be restored.-Any thoughts on how I can get git-annex (esp. fsck) to complete would be appreciated.--Thanks-Giovanni--> [[fixed|done]]. However, if you saw this behavior,-> you have large files checked directly into git. You may-> want to examine your repository and use git filter-branch to clean-> it up.-> --[[Joey]]
− doc/bugs/Possible_data-loss_if_WORM_keys_do_not_encode_relative_paths.mdwn
@@ -1,24 +0,0 @@-This is a follow-up to [this-qbug](http://git-annex.branchable.com/bugs/WORM_keys_differ_depending_on_working_dir_during_add/).-Thank you for your fix there! However, if I understood correctly, you-indicated in your reply that the current fix completely removes the-relative path component from WORM keys. I gave some thought to this-and believe not having the relative path encoded inside WORM keys-makes key collisions (and accordingly data-loss) a very dire problem,-while they are not of practical concern if the relative path is-encoded.--When relative paths are encoded within the key, a collision can only-occur when a file in the same directory is annexed twice within the-resolution of the mtime component inside the key (i.e., one second).-As such, unless one adds files automatically with a period of < 1s,-one can very much be certain that no collisions come up.--Without relative paths, however, one could never be certain that-adding a file will not result in data-loss.--Instead of just using the basename, WORM keys could be kept stable by-using the relative path and anchoring it to the root of the-repository.--> [[fixed|done]] --[[Joey]]
− doc/bugs/Prevent_accidental_merges.mdwn
@@ -1,16 +0,0 @@-With the storage layout v3, pulling the git-annex branch into the master branch is... less than ideal.--The fact that the two branches contain totally different data make an accidental merge worse, arguably.--Adding a tiny binary file called .gitnomerge to both branches would solve that without any noticeable overhead.--Yes, there is an argument to be made that this is too much hand-holding, but I still think it's worth it.---- Richard--> It should be as easy to undo such an accidential merge-> as it is to undo any other git commit, right? I quite like that git-annex -> no longer adds any clutter to the master branch, and would be reluctant-> to change that. --[[Joey]]--[[wontfix|done]] --[[Joey]]
− doc/bugs/Proxy_support.mdwn
@@ -1,42 +0,0 @@-What steps will reproduce the problem?--Adding a e.g box.com repository from behind a http proxy via webapp.--What is the expected output? What do you see instead?--Connection should be made. But there is an error message:--"Internal Server Error-connect: does not exist (Connection refused): user error"--What version of git-annex are you using? On what operating system?--3.20121127 on Archlinux--Please provide any additional information below.--I don't use networkmanager if proxy information is obtained from it. There should be a fallback to environment variables.-[[!tag confirmed]]--> Here's a patch that shows how to enable proxy support for the-> parts of git-annex that use http-client and http-conduit:-> <https://github.com/kiwiroy/git-annex/commit/18a3ceda1beb7c356541270f37ae4c0d56ada726>-> -> Other parts of git-annex use wget/curl and should already support-> the environment variables.-->> I had a closer look at this, and it turns out that http-client ->> now enables http proxy support by default, when the environment variable->> is set. Since version 0.4.7. See `defaultProxy`.->> ->> git-annex uses http-client for all its http access (either directly->> or through layers like http-conduit and DAV).->> ->> So I don't need to change->> git-annex at all; it just needs to be built with a new enough version->> of http-client. This will happen for the linux autobuilders once the new->> version reaches Debian. I've updated the OSX autobuilder's http-client->> so it will already support proxying and anyone can built git-annex->> using the new http-client and get proxy support.->>->> Calling this [[done]] as nothing remains to do in git-annex. --[[Joey]]
− doc/bugs/Repository_Information_Is_Lost.mdwn
@@ -1,39 +0,0 @@-### Please describe the problem.--Clone of a repository does not contain the names of other repositories.--### What steps will reproduce the problem?---### What version of git-annex are you using? On what operating system?--Mac OS X--git-annex version: 5.20140308-g06fb279-build flags: Assistant Webapp Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Qu-vi TDFA CryptoHash -key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256- SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL -remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook extern-al ---### Please provide any additional information below.--Clones of my repositories lost all track of other repositories they only seem to know about them selfs attempting to remove other repositories (git annex dead name-of-an-existing-repo) fails, telling me that the repository with the name is not found.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--[[!tag moreinfo]]--> No followup for over a year, and not enough information in the intial-> report to know if there's a bug at all. It occurs to me that the user-> might have just forgotten to push the git-annex branch to wherever they-> later cloned the repo from. `git annex sync` would fix that mistake up.-> Anyway, [[done]]. --[[Joey]]
− doc/bugs/Resolve_.local_adresses_using_avahi_or_bonjour.mdwn
@@ -1,16 +0,0 @@-### Please describe the problem.--trying to add a remote host using its avahi local name : nas.local (for example). --### What steps will reproduce the problem?--add remote server, use nas.local > cannot resolve nas.local--### What version of git-annex are you using? On what operating system?--Version: 5.20140116-g2d9ec29-Ubuntu--### Please provide any additional information below.--> [[closing|done]] --[[Joey]]
− doc/bugs/Revert_to_old_file_version_in_direct_mode___40__VFAT__41__.mdwn
@@ -1,29 +0,0 @@-### Please describe the problem.--Somewhere on the forums you advised that in order to revert to an old-version of a file in a direct-mode annex, one should briefly switch to-indirect mode and check out an earlier revision.--This won’t work though if the direct-mode repo is on a VFAT-file-system, which does not support indirect mode.--If I didn’t overlook an alternative way, would it make sense to expose-this functionality in «git annex get $file»? Like «git annex get $file---from $repo/$revision»?--Specifying revisions to get from might also be convenient for-alternative use-cases, I suppose.--Best regards,-T.--### What version of git-annex are you using? On what operating system?--git-annex 5.20140421-Linux 3.14.3--> VFAT is a crippled file system. I am not going to reimplenent all of git-> to support it. The suggested method won't work; git-annex would need-> to add a git-annex revert, etc, etc, etc ad infinitum->-> Instead, see the `git annex proxy` command. [[done]] --[[Joey]]
− doc/bugs/Rsync_remote_created_via_webapp_remains_empty.mdwn
@@ -1,138 +0,0 @@-### Please describe the problem.-The remote server, connected with rsync and with encryption enabled doesn't fill with files.--### What steps will reproduce the problem?-* Add remote server via webapp-* Supply password when asked-* both buttons turn green ('ready to add remote server')-* Select encrypted rsync repository-* When done, files will be queued for transfer, and the queue empties quickly. Afterwards, no files have actually been transferred, but a green message appears and says something like 'synced with xxx'.-* Also, on the remote an empty directory (~/annex) is created.--### What version of git-annex are you using? On what operating system?-local: kubuntu 12.10, git-annex 4.20130621-g36258de-remote: debian (linux 3.8.0-25), git-annex 4.20130621-g36258de-Both are installed from tarball and PATH is set at the top of .bashrc.--### Please provide any additional information below.--[[!format sh """--Here is what is put in the logs when the button is toggled from 'syncing disabled' to 'syncing enabled'.-daemon.log:--[2013-07-03 13:43:07 CEST] call: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","config","remote.mybox.annex-sync","true"]-[2013-07-03 13:43:07 CEST] read: git ["config","--null","--list"]-[2013-07-03 13:43:07 CEST] read: git ["config","--null","--list"]-[2013-07-03 13:43:07 CEST] main: Syncing with mybox -[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","symbolic-ref","HEAD"]-[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","show-ref","refs/heads/master"]-[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","show-ref","git-annex"]-[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","show-ref","--hash","refs/heads/git-annex"]-[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","log","refs/heads/git-annex..4cc51b410f5257f60e4ea187ab0c29783effcc88","--oneline","-n1"]-[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","log","refs/heads/git-annex..6728d4d49ef97365eea0e2d379951acee9a9ded8","--oneline","-n1"]-[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","symbolic-ref","HEAD"]-[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","show-ref","refs/heads/master"]-[2013-07-03 13:43:07 CEST] TransferScanner: starting scan of [Remote { name ="mybox" }]-[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","ls-files","--cached","-z","--"]-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/TSPC_FF_R.png Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/TSPC_FF_R.png Nothing-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/Thumbs.db Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/TSPC_FF_R.png Nothing-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Aanmeldingsformulier Masterexamen.odt Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Intake_form_MSc_Electrical_Engineering_def dec 2011-1.pdf Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.doc Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.pdf Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/uren.xls Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/eldo_ur.pdf Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/ A 65J-Conversion-Step 0-to-50MS 0-to-0.7mW 9b Charge-Sharing SAR ADC in 90nm Digital CMOS.pdf Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/.directory Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/2009SOVC_A_0.92mW_10-bit_50-MSs_SAR_ADC_in_0.13um_CMOS_Process.pdf Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/A 8-bit 500-KSs Low Power SAR ADC for Biomedical Applications.pdf Nothing : expensive scan found missing object-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-07-03 13:43:07 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "ea86501fb0db033a103ed2c0806a1bddc145224afc4eb5e17fceb70bf1f674da.png", keyBackendName = "SHA256E", keySize = Just 11004, keyMtime = Nothing}}-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/A 9.2b 47fJ SAR with input range prediction DAC switching.pdf Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/Thumbs.db Nothing-[2013-07-03 13:43:07 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/Thumbs.db Nothing-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-07-03 13:43:07 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "23b9a2be728c8af402ededb3eef7e9238b38d54c0ca50a05cbdf4aeea8f03c76.db", keyBackendName = "SHA256E", keySize = Just 12800, keyMtime = Nothing}}-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-:-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/A Low-Power Static Dual Edge-Triggered Flip-Flop.pdf Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Aanmeldingsformulier Masterexamen.odt Nothing-[2013-07-03 13:43:07 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Aanmeldingsformulier Masterexamen.odt Nothing-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-07-03 13:43:07 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "f27ac57481c9eb0bf7bf1f6c99666aca5c8282137effa33791241b3d36b12de2.odt", keyBackendName = "SHA256E", keySize = Just 22041, keyMtime = Nothing}}-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/An Energy-Efficient Charge Recycling Approach for a SAR Converter With Capacitive DAC.pdf Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Intake_form_MSc_Electrical_Engineering_def dec 2011-1.pdf Nothing-[2013-07-03 13:43:07 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Intake_form_MSc_Electrical_Engineering_def dec 2011-1.pdf Nothing-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-07-03 13:43:07 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "a261cb3835ed869c6ad2347d303ed10e94efa8a50cc9ff053d772c2158097244.pdf", keyBackendName = "SHA256E", keySize = Just 667666, keyMtime = Nothing}}-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/Calibration Technique for SAR Analog-to-Digital Converters.pdf Nothing : expensive scan found missing object-[2013-07-03 13:43:07 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.doc Nothing-[2013-07-03 13:43:07 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.doc Nothing-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-07-03 13:43:08 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "cb69f2f4ae313277acd163b9bba19392ce50d3c5205ba8bbd90bf9c453088176.doc", keyBackendName = "SHA256E", keySize = Just 34304, keyMtime = Nothing}}-[2013-07-03 13:43:08 CEST] call: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","config","remote.mybox.annex-sync","false"]-[2013-07-03 13:43:08 CEST] read: git ["config","--null","--list"]-[2013-07-03 13:43:08 CEST] read: git ["config","--null","--list"]-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-07-03 13:43:08 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/D15_01.pdf Nothing : expensive scan found missing object-[2013-07-03 13:43:08 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.pdf Nothing-[2013-07-03 13:43:08 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.pdf Nothing-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-07-03 13:43:08 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "cea054d80cb5ca572b7055c0132ec2d13125534566ed4a79ab2514c9a60d8ee4.pdf", keyBackendName = "SHA256E", keySize = Just 19802, keyMtime = Nothing}}-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-07-03 13:43:08 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/D15_01.pdf Nothing-[2013-07-03 13:43:08 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/D15_01.pdf Nothing-fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'-git-annex-shell: git-shell failed-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]----# End of transcript or log.-"""]]--> [[fixed|done]], corrected logic error that caused `authorized_keys`-> to incorrectly force the git-annex-shell command for rsync remotes. --[[Joey]]
− doc/bugs/S3_Access_fails_on_windows.mdwn
@@ -1,42 +0,0 @@-### Please describe the problem.--Attempting to do *anything* with an S3 reomote using git-annex on windows fails with error code 10093 (i.e. WSA_NOT_INITIALISED). --### What steps will reproduce the problem?--Assuming you have a disabled S3 remote called "the-cloud" (e.g. a fresh clone)-[[!format sh """-C:\annex> git annex enableremote "the-cloud"-enableremote the-cloud gpg: WARNING: using insecure memory!-gpg: please see http://www.gnupg.org/documentation/faqs.html for more information-(checking bucket...) (creating bucket in ap-southeast-2...) git-annex-old: FailedConnectionException2 "my-bucket-name.s3-ap-southeast-2.amazonaws.com" 80 False getAddrInfo: does not exist (error 10093)-"""]]--### What version of git-annex are you using? On what operating system?--git-annex 5.20150113-gcf247cf on windows 8.1--### Please provide any additional information below.--This error is caused by the Winsock library not being initialised before a socket operation is attempted. The patch below fixes the issue, and it should be a no-op on non-Windows platforms.--[[!format patch """-diff --git a/git-annex.hs b/git-annex.hs-index cdaa754..0eed9db 100644---- a/git-annex.hs-+++ b/git-annex.hs-@@ -21,8 +21,10 @@ import Utility.UserInfo- import Utility.Env- #endif--+import Network.Socket (withSocketsDo)-+- main :: IO ()--main = do-+main = withSocketsDo $ do- ps <- getArgs- run ps =<< getProgName- where-"""]]--> Thanks very much for the patch! [[done]] --[[Joey]]
− doc/bugs/S3_buckets_with_capital_letters_breaks_authentication.mdwn
@@ -1,32 +0,0 @@-### Please describe the problem.--As described in [[tips/Internet_Archive_via_S3]], there is a problem using S3 with buckets that have capital letters. The bug lies either in the hS3 library or in archive.org itself.--### What steps will reproduce the problem?--Try to add an [[special_remotes/S3]] remote with capital letters in the bucket name.--### What version of git-annex are you using? On what operating system?--[[!format txt """-git-annex version: 4.20130921-g434dc22-build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP DNS Feeds Quvi-local repository version: 3-default repository version: 3-supported repository versions: 3 4-upgrade supported from repository versions: 0 1 2-"""]]--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-anarcat@angela:video$ git annex initremote archive-moglenrepublica type=S3 host=s3.us.archive.org bucket=Republica2012-EbenMoglen-FreedomOfThoughtRequiresFreeMedia-initremote archive-moglenrepublica (Internet Archive mode) git-annex: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. For more information, see REST Authentication and SOAP Authentication for details.-# End of transcript or log.-"""]]--Just thought it would be better to have a separate thread for this bug. :)--> [[fixed|done]] --[[Joey]]
− doc/bugs/S3_memory_leaks.mdwn
@@ -1,19 +0,0 @@-S3 has memory leaks--Sending a file to S3 causes a slow memory increase toward the file size.--> This is fixed, now that it uses aws. --[[Joey]]--Copying the file back from S3 causes a slow memory increase toward the-file size.--> [[fixed|done]] too! --[[Joey]]--The author of hS3 is aware of the problem, and working on it. I think I-have identified the root cause of the buffering; it's done by hS3 so it can-resend the data if S3 sends it a 307 redirect. --[[Joey]]--At least the send leak should be fixed by the patch in the s3-memory-leak-branch in git. That needs a patch to hS3, which I have sent to its author.---[[Joey]] -[[!tag confirmed]]
− doc/bugs/S3_memory_leaks/comment_1_a7268213b090bce6b1f1858a8e23d90e._comment
@@ -1,14 +0,0 @@-[[!comment format=mdwn- username="http://schnouki.net/"- nickname="Schnouki"- subject="comment 1"- date="2013-10-18T08:36:45Z"- content="""-Hi Joey,--It looks like your patch hasn't been merged yet. And this bug is quite annoying for me (can't backup files bigger than 1.5 GB from my NAS).--Would it be possible to include this fix in your standalone builds and Debian packages?--Thanks!-"""]]
− doc/bugs/S3_memory_leaks/comment_2_320a8e3bb7b207d1aff8926b9247f5ba._comment
@@ -1,8 +0,0 @@-[[!comment format=mdwn- username="http://schnouki.net/"- nickname="Schnouki"- subject="comment 2"- date="2014-01-29T01:19:27Z"- content="""-Any news about this?-"""]]
− doc/bugs/S3_memory_leaks/comment_3_5e9cecb0e2ec7602963406779b6e3c1f._comment
@@ -1,12 +0,0 @@-[[!comment format=mdwn- username="http://joeyh.name/"- ip="209.250.56.112"- subject="comment 3"- date="2014-08-02T23:08:44Z"- content="""-hS3's author seems to have abandoned it and it has other problems. I should try to switch to a different S3 library.--There is now a workaround; S3 special remotes can be configured to use [[chunking]]. A max of one chunk will then be buffered in memory at a time. --For example, to reconfigure an existing mys3 remote: `enableremote mys3 chunk=1MiB`-"""]]
− doc/bugs/S3_memory_leaks/comment_4_37e41b518813bd7c349017abf4a0ca0f._comment
@@ -1,8 +0,0 @@-[[!comment format=mdwn- username="http://joeyh.name/"- ip="209.250.56.112"- subject="comment 4"- date="2014-08-03T18:40:26Z"- content="""-Beginning work on a `s3-aws` branch using the aws library instead of hS3.-"""]]
− doc/bugs/S3_memory_leaks/comment_5_1b6d13852aeb37c5c29baf100bd62789._comment
@@ -1,8 +0,0 @@-[[!comment format=mdwn- username="https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c"- nickname="Justin"- subject="comment 5"- date="2014-11-30T22:18:56Z"- content="""-This is getting in my way, but I'm concerned about using a mostly-untested branch (and also, compiling for ARM sounds really unpleasant). Can you elaborate on the risks here? Can I perhaps donate developer time to get this merged into mainline?-"""]]
− doc/bugs/S3_memory_leaks/comment_6_71ffb88f548969fd4d45eac4656380c0._comment
@@ -1,11 +0,0 @@-[[!comment format=mdwn- username="joey"- subject="""comment 6"""- date="2014-12-02T17:10:42Z"- content="""-The s3-aws branch is well tested now.--I am blocked from merging it by some dependency issues, in particular -<http://hackage.haskell.org/package/dbus> needs to have a small dependency-fix. I have emailed its author a second time now to try to get that done.-"""]]
− doc/bugs/S3_memory_leaks/comment_7_1ac572b79caa23e3f791e4f8461fcddd._comment
@@ -1,10 +0,0 @@-[[!comment format=mdwn- username="https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c"- nickname="Justin"- subject="comment 7"- date="2014-12-06T18:15:50Z"- content="""-The new version works really great for me. I've been copying to S3 over the past few days with no issues on my raspberry pi.--Thanks a ton for getting this out.-"""]]
− doc/bugs/S3_upload_not_using_multipart.mdwn
@@ -1,62 +0,0 @@-What steps will reproduce the problem?--> Try to copy/move a file greater than 5G to S3.-- git annex copy large_file.tgz --to cloud--What is the expected output? What do you see instead?--> Looks like git-annex may not be using the Multipart Upload API: http://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html--> Expected transfer to succeed, instead this error is output:-- copy large-file.tgz (gpg) (checking cloud...) (to cloud...) Reading passphrase from file descriptor 12 --- Your proposed upload exceeds the maximum allowed size- failed- git-annex: copy: 1 failed--What version of git-annex are you using? On what operating system?--> OSX 10.8.2--Please provide any additional information below.-- annex [master●] % git annex status- supported backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL- supported remote types: git S3 bup directory rsync web webdav glacier hook- repository mode: indirect- trusted repositories: 0- semitrusted repositories: 3- 00000000-0000-0000-0000-000000000001 -- web- BE1D8EC7-C64B-47DE-AD4E-2A50437532B4 -- cloud- E84568BA-6A4B-4AA1-B622-605B9248EDB1 -- here (eric laptop)- untrusted repositories: 0- dead repositories: 0- transfers in progress: none- available local disk space: 169 gigabytes (+1 megabyte reserved)- temporary directory size: 218 megabytes (clean up with git-annex unused)- local annex keys: 24- local annex size: 8 gigabytes- known annex keys: 25- known annex size: 8 gigabytes- bloom filter size: 16 mebibytes (0% full)- backend usage: - SHA256E: 49- annex [master●] % git annex version- git-annex version: 3.20130114- local repository version: 3- default repository version: 3- supported repository versions: 3- upgrade supported from repository versions: 0 1 2--[[!tag confirmed]]--> [[fixed|done]] This is now supported, when git-annex is built with a new-> enough version of the aws library. You need to configure the remote to-> use an appropriate value for multipart, eg:-> -> git annex enableremote cloud partsize=1GiB-> -> --[[Joey]]
− doc/bugs/SanityCheckerStartup_crashed.mdwn
@@ -1,28 +0,0 @@-### Please describe the problem.-On startup, the webapp shows the following warning in a box to the upper right of the screen, with an offer to "Restart thread":-- SanityCheckerStartup crashed: /home/anton/Halvhemligt/.git/annex/misctmp/IMG_32978856.JPG: getFileStatus: does not exist (No such file or directory)--Restarting it causes it to crash again immediately. The log shows the same:-- SanityCheckerStartup crashed: /home/anton/Halvhemligt/.git/annex/misctmp/IMG_32978856.JPG: getFileStatus: does not exist (No such file or directory)- [2014-06-02 23:31:13 CEST] SanityCheckerStartup: warning SanityCheckerStartup crashed: /home/anton/Halvhemligt/.git/annex/misctmp/IMG_32978856.JPG: getFileStatus: does not exist (No such file or directory)--/home/anton/Halvhemligt/.git/annex/misctmp/ contains the following:-- lrwxrwxrwx 2 anton anton 199 15 maj 21.08 IMG_32978856.JPG -> ../.git/annex/objects/z3/K2/SHA256E-s728022--12de1f194042af3f8c4dbee15c317de0511bbb8b9e8a0463fffb07e7bbc58bb5.JPG/SHA256E-s728022--12de1f194042af3f8c4dbee15c317de0511bbb8b9e8a0463fffb07e7bbc58bb5.JPG- lrwxrwxrwx 2 anton anton 199 15 maj 21.09 IMG_32988856.JPG -> ../.git/annex/objects/vw/30/SHA256E-s688301--8bb6d636163b443705c9a333194116da3937d8272b70613ca6345eaf6bba1255.JPG/SHA256E-s688301--8bb6d636163b443705c9a333194116da3937d8272b70613ca6345eaf6bba1255.JPG- lrwxrwxrwx 2 anton anton 199 15 maj 21.17 IMG_33198856.JPG -> ../.git/annex/objects/p3/WG/SHA256E-s754900--224e6489370527156293912e11390af517ad4ef9374ee22c8324b5af5fac0dd7.JPG/SHA256E-s754900--224e6489370527156293912e11390af517ad4ef9374ee22c8324b5af5fac0dd7.JPG--The symlinks are all broken. IMG_3297.JPG, IMG_3298.JPG and IMG_3319.JPG exist in the repository, but I do not recognize the appended numbers 8856. git log shows that these three files have not been modified since they were first added.--### What steps will reproduce the problem?-No idea. I believe this repository was created in the webapp but most of the changes to it has been done in the CLI.--### What version of git-annex are you using? On what operating system?-Precompiled 5.20140530 on Arch Linux x86_64 (git-annex-bin package from the AUR), but 5.20140518 had the same problem.--### Please provide any additional information below.-The crash has not caused any real problem for me that I'm aware of. I'm just reporting it because the error message looks a little scary.--> [[dup|done]] --[[Joey]]
@@ -1,370 +0,0 @@-### Please describe the problem.-Logging into Jabber (specifically with a google account) crashes on the OSX build of git-annex with a Illegal Instruction 4 error. --### What steps will reproduce the problem?-The only things I have done to trigger the below crash is start the webapp up, navigate to the jabber login, and login with my gmail account. --### What version of git-annex are you using? On what operating system?-Version: 5.20140107-g281cde8 OSX--### Please provide any additional information below.--There isn't much on the command line to go from:- - Launching web browser on file:///Volumes/Data/Annex/.git/annex/webapp.html- Illegal instruction: 4- -And the log file isn't any better.--[[!format sh """-[2014-01-13 20:40:43 EST] main: starting assistant version 5.20140107-g281cde8-(scanning...) [2014-01-13 20:40:43 EST] Watcher: Performing startup scan-(started...) -"""]]- -Here is the crash report osx creates-[[!format sh """- Process: git-annex [11316]- Path: /Applications/git-annex.app/Contents/MacOS/bundle/git-annex- Identifier: git-annex- Version: 0- Code Type: X86-64 (Native)- Parent Process: bash [10866]- Responsible: Terminal [212]- User ID: 501- - Date/Time: 2014-01-13 20:12:59.807 -0500- OS Version: Mac OS X 10.9.1 (13B42)- Report Version: 11- Anonymous UUID: 43148BA1-3CAA-4C73-2971-CAC673D60B2B- - - Crashed Thread: 5- - Exception Type: EXC_BAD_INSTRUCTION (SIGILL)- Exception Codes: 0x0000000000000001, 0x0000000000000000- - Thread 0:: Dispatch queue: com.apple.main-thread- 0 libsystem_kernel.dylib 0x00007fff9796d716 __psynch_cvwait + 10- 1 libsystem_pthread.dylib 0x00007fff9a0cdc3b _pthread_cond_wait + 727- 2 git-annex 0x0000000103ae2c59 0x100e4f000 + 46742617- 3 git-annex 0x0000000103abfe7b 0x100e4f000 + 46599803- 4 git-annex 0x0000000103ace8c2 0x100e4f000 + 46659778- 5 git-annex 0x0000000103acf334 0x100e4f000 + 46662452- 6 git-annex 0x0000000103ac9cce 0x100e4f000 + 46640334- 7 git-annex 0x0000000103ac9dd6 0x100e4f000 + 46640598- 8 git-annex 0x0000000101701708 0x100e4f000 + 9119496- 9 libdyld.dylib 0x00007fff9a5695fd start + 1- - Thread 1:- 0 libsystem_kernel.dylib 0x00007fff9796e662 kevent64 + 10- 1 git-annex 0x0000000103a6e78a 0x100e4f000 + 46266250- 2 git-annex 0x0000000103a6e828 0x100e4f000 + 46266408- - Thread 2:- 0 libsystem_kernel.dylib 0x00007fff9796d716 __psynch_cvwait + 10- 1 libsystem_pthread.dylib 0x00007fff9a0cdc3b _pthread_cond_wait + 727- 2 git-annex 0x0000000103ae2c59 0x100e4f000 + 46742617- 3 git-annex 0x0000000103abfe7b 0x100e4f000 + 46599803- 4 git-annex 0x0000000103ace8c2 0x100e4f000 + 46659778- 5 git-annex 0x0000000103acf20b 0x100e4f000 + 46662155- 6 libsystem_pthread.dylib 0x00007fff9a0cb899 _pthread_body + 138- 7 libsystem_pthread.dylib 0x00007fff9a0cb72a _pthread_start + 137- 8 libsystem_pthread.dylib 0x00007fff9a0cffc9 thread_start + 13- - Thread 3:- 0 libsystem_kernel.dylib 0x00007fff9796d716 __psynch_cvwait + 10- 1 libsystem_pthread.dylib 0x00007fff9a0cdc3b _pthread_cond_wait + 727- 2 git-annex 0x0000000103ae2c59 0x100e4f000 + 46742617- 3 git-annex 0x0000000103abfe7b 0x100e4f000 + 46599803- 4 git-annex 0x0000000103ace8c2 0x100e4f000 + 46659778- 5 git-annex 0x0000000103acf20b 0x100e4f000 + 46662155- 6 libsystem_pthread.dylib 0x00007fff9a0cb899 _pthread_body + 138- 7 libsystem_pthread.dylib 0x00007fff9a0cb72a _pthread_start + 137- 8 libsystem_pthread.dylib 0x00007fff9a0cffc9 thread_start + 13- - Thread 4:- 0 libsystem_kernel.dylib 0x00007fff9796d716 __psynch_cvwait + 10- 1 libsystem_pthread.dylib 0x00007fff9a0cdc3b _pthread_cond_wait + 727- 2 git-annex 0x0000000103ae2c59 0x100e4f000 + 46742617- 3 git-annex 0x0000000103abfe7b 0x100e4f000 + 46599803- 4 git-annex 0x0000000103ace8c2 0x100e4f000 + 46659778- 5 git-annex 0x0000000103acf20b 0x100e4f000 + 46662155- 6 libsystem_pthread.dylib 0x00007fff9a0cb899 _pthread_body + 138- 7 libsystem_pthread.dylib 0x00007fff9a0cb72a _pthread_start + 137- 8 libsystem_pthread.dylib 0x00007fff9a0cffc9 thread_start + 13- - Thread 5 Crashed:- 0 E 0x00000001045b10f3 xmlAllocParserInputBuffer + 32- 1 E 0x000000010459f451 xmlCreatePushParserCtxt + 65- 2 git-annex 0x00000001022369ca 0x100e4f000 + 20871626- 3 git-annex 0x000000010222c9fd 0x100e4f000 + 20830717- - Thread 6:: Dispatch queue: com.apple.libdispatch-manager- 0 libsystem_kernel.dylib 0x00007fff9796e662 kevent64 + 10- 1 libdispatch.dylib 0x00007fff92f5243d _dispatch_mgr_invoke + 239- 2 libdispatch.dylib 0x00007fff92f52152 _dispatch_mgr_thread + 52- - Thread 7:- 0 libsystem_kernel.dylib 0x00007fff97969a1a mach_msg_trap + 10- 1 libsystem_kernel.dylib 0x00007fff97968d18 mach_msg + 64- 2 com.apple.CoreFoundation 0x00007fff95160315 __CFRunLoopServiceMachPort + 181- 3 com.apple.CoreFoundation 0x00007fff9515f939 __CFRunLoopRun + 1161- 4 com.apple.CoreFoundation 0x00007fff9515f275 CFRunLoopRunSpecific + 309- 5 com.apple.CoreFoundation 0x00007fff952149d1 CFRunLoopRun + 97- 6 git-annex 0x000000010229dbe8 0x100e4f000 + 21294056- 7 libsystem_pthread.dylib 0x00007fff9a0cb899 _pthread_body + 138- 8 libsystem_pthread.dylib 0x00007fff9a0cb72a _pthread_start + 137- 9 libsystem_pthread.dylib 0x00007fff9a0cffc9 thread_start + 13- - Thread 8:- 0 libsystem_kernel.dylib 0x00007fff97969a1a mach_msg_trap + 10- 1 libsystem_kernel.dylib 0x00007fff97968d18 mach_msg + 64- 2 com.apple.CoreFoundation 0x00007fff95160315 __CFRunLoopServiceMachPort + 181- 3 com.apple.CoreFoundation 0x00007fff9515f939 __CFRunLoopRun + 1161- 4 com.apple.CoreFoundation 0x00007fff9515f275 CFRunLoopRunSpecific + 309- 5 com.apple.CoreFoundation 0x00007fff952149d1 CFRunLoopRun + 97- 6 git-annex 0x000000010229dbe8 0x100e4f000 + 21294056- 7 libsystem_pthread.dylib 0x00007fff9a0cb899 _pthread_body + 138- 8 libsystem_pthread.dylib 0x00007fff9a0cb72a _pthread_start + 137- 9 libsystem_pthread.dylib 0x00007fff9a0cffc9 thread_start + 13- - Thread 9:- 0 libsystem_kernel.dylib 0x00007fff97969a1a mach_msg_trap + 10- 1 libsystem_kernel.dylib 0x00007fff97968d18 mach_msg + 64- 2 com.apple.CoreFoundation 0x00007fff95160315 __CFRunLoopServiceMachPort + 181- 3 com.apple.CoreFoundation 0x00007fff9515f939 __CFRunLoopRun + 1161- 4 com.apple.CoreFoundation 0x00007fff9515f275 CFRunLoopRunSpecific + 309- 5 com.apple.CoreFoundation 0x00007fff952149d1 CFRunLoopRun + 97- 6 git-annex 0x000000010229dbe8 0x100e4f000 + 21294056- 7 libsystem_pthread.dylib 0x00007fff9a0cb899 _pthread_body + 138- 8 libsystem_pthread.dylib 0x00007fff9a0cb72a _pthread_start + 137- 9 libsystem_pthread.dylib 0x00007fff9a0cffc9 thread_start + 13- - Thread 10:- 0 libsystem_kernel.dylib 0x00007fff97969a1a mach_msg_trap + 10- 1 libsystem_kernel.dylib 0x00007fff97968d18 mach_msg + 64- 2 com.apple.CoreFoundation 0x00007fff95160315 __CFRunLoopServiceMachPort + 181- 3 com.apple.CoreFoundation 0x00007fff9515f939 __CFRunLoopRun + 1161- 4 com.apple.CoreFoundation 0x00007fff9515f275 CFRunLoopRunSpecific + 309- 5 com.apple.CoreFoundation 0x00007fff952149d1 CFRunLoopRun + 97- 6 git-annex 0x000000010229dbe8 0x100e4f000 + 21294056- 7 libsystem_pthread.dylib 0x00007fff9a0cb899 _pthread_body + 138- 8 libsystem_pthread.dylib 0x00007fff9a0cb72a _pthread_start + 137- 9 libsystem_pthread.dylib 0x00007fff9a0cffc9 thread_start + 13-- Thread 5 crashed with X86 Thread State (64-bit):- rax: 0x00007fc563c0f6a0 rbx: 0x00007fc563c0f6a0 rcx: 0x0000000000000001 rdx: 0x0000000000000000- rdi: 0x0000000104a01400 rsi: 0x00000000ffffc7ff rbp: 0x0000000104f7ccb0 rsp: 0x0000000104f7cca0- r8: 0x0000000000000003 r9: 0x00007fc563c00000 r10: 0x000000010467f9f8 r11: 0x000000010459f410- r12: 0x0000000104f7cd20 r13: 0x0000000000000000 r14: 0x0000000000000000 r15: 0x0000000104b840c0- rip: 0x00000001045b10f3 rfl: 0x0000000000010206 cr2: 0x00000001045b10d3- - Logical CPU: 1- Error Code: 0x00000000- Trap Number: 6- - - Binary Images:- 0x100e4f000 - 0x103c68fef +git-annex (0) <05D25108-337E-3F98-837F-33A4E68BA8A4> /Applications/git-annex.app/Contents/MacOs/bundle/git-annex- 0x104582000 - 0x10466bff7 +E (0) <602E5717-D4D7-314D-A1E9-02AFBFBB7966> /Applications/git-annex.app/Contents/MacOs/bundle/E- 0x10469f000 - 0x1046b3fff +F (0) <FA90B1B1-A866-3A6C-BB97-06955F4C8C0B> /Applications/git-annex.app/Contents/MacOs/bundle/F- 0x1046ba000 - 0x1046e7fff +G (0) <9FFF37C3-8153-345F-9B71-913B95B07511> /Applications/git-annex.app/Contents/MacOs/bundle/G- 0x1046ee000 - 0x1047a7fdf +H (0) <49EC1EB8-F352-303D-8E68-C95171D096CF> /Applications/git-annex.app/Contents/MacOs/bundle/H- 0x1047de000 - 0x1047efff7 +B (53) <42E0C8C6-CA38-3CA4-8619-D24ED5DD492E> /Applications/git-annex.app/Contents/MacOs/bundle/B- 0x1047f6000 - 0x1048e7ff9 +D (41) <BB44B115-AC32-3877-A0ED-AEC6232A4563> /Applications/git-annex.app/Contents/MacOs/bundle/D- 0x1048fe000 - 0x104918ff7 +O (0) <18FCF32F-BAB0-323A-BCAC-D4CE4272B754> /Applications/git-annex.app/Contents/MacOs/bundle/O- 0x10491f000 - 0x104930fff +P (0) <E483648A-97E2-3214-B602-73F6445AAD69> /Applications/git-annex.app/Contents/MacOs/bundle/P- 0x10493f000 - 0x10494cff7 +Q (0) <CFA94087-CD1F-3355-BFC1-2D338F6358C4> /Applications/git-annex.app/Contents/MacOs/bundle/Q- 0x104957000 - 0x104978fff +R (0) <C6EE5DD0-0910-3605-A149-D7F67C2F8C10> /Applications/git-annex.app/Contents/MacOs/bundle/R- 0x104985000 - 0x104991fff +S (0) <9082AF89-3370-3858-B015-CB919CB3EBB0> /Applications/git-annex.app/Contents/MacOs/bundle/S- 0x104998000 - 0x1049f1fcf +T (0) <3AADCBFB-48C4-320D-8CF1-1E8FDAC30276> /Applications/git-annex.app/Contents/MacOs/bundle/T- 0x7fff69dff000 - 0x7fff69e32817 dyld (239.3) <D1DFCF3F-0B0C-332A-BCC0-87A851B570FF> /usr/lib/dyld- 0x7fff8d3b0000 - 0x7fff8d43cff7 com.apple.ink.framework (10.9 - 207) <8A50B893-AD03-3826-8555-A54FEAF08F47> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink- 0x7fff8d44b000 - 0x7fff8d4a3ff7 com.apple.Symbolication (1.4 - 129) <16D42516-7B5E-357C-898A-FAA9EE7642B3> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication- 0x7fff8d515000 - 0x7fff8d516fff libunc.dylib (28) <62682455-1862-36FE-8A04-7A6B91256438> /usr/lib/system/libunc.dylib- 0x7fff8d51c000 - 0x7fff8d522ff7 libsystem_platform.dylib (24.1.4) <331BA4A5-55CE-3B95-99EB-44E0C89D7FB8> /usr/lib/system/libsystem_platform.dylib- 0x7fff8d523000 - 0x7fff8d904ffe libLAPACK.dylib (1094.5) <7E7A9B8D-1638-3914-BAE0-663B69865986> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib- 0x7fff8d952000 - 0x7fff8d959fff com.apple.NetFS (6.0 - 4.0) <8E26C099-CE9D-3819-91A2-64EA929C6137> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS- 0x7fff8d98a000 - 0x7fff8d9c8ff7 libGLImage.dylib (9.0.83) <C08048A7-03CC-3E40-BCDC-7791D87AC8E4> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib- 0x7fff8da8d000 - 0x7fff8dd8cfff com.apple.Foundation (6.9 - 1056) <D608EDFD-9634-3573-9B7E-081C7D085F7A> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation- 0x7fff8dfac000 - 0x7fff8dfb0ff7 libheimdal-asn1.dylib (323.12) <063A01C2-E547-39D9-BB42-4CC8E64ADE70> /usr/lib/libheimdal-asn1.dylib- 0x7fff8dfb1000 - 0x7fff8dfb6fff libmacho.dylib (845) <1D2910DF-C036-3A82-A3FD-44FF73B5FF9B> /usr/lib/system/libmacho.dylib- 0x7fff8e022000 - 0x7fff8e024ff3 libsystem_configuration.dylib (596.12) <C4F633D9-94C8-35D9-BB2D-84C5122533C7> /usr/lib/system/libsystem_configuration.dylib- 0x7fff8e35c000 - 0x7fff8e4afff7 com.apple.audio.toolbox.AudioToolbox (1.9 - 1.9) <A0B7B007-9BD8-30E2-B644-47856DA29FEE> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox- 0x7fff8e4ee000 - 0x7fff8f062ff7 com.apple.AppKit (6.9 - 1265) <0E9FC8BF-DA3C-34C5-91CC-12BC922B5F01> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit- 0x7fff8f063000 - 0x7fff8f067ff7 libcache.dylib (62) <BDC1E65B-72A1-3DA3-A57C-B23159CAAD0B> /usr/lib/system/libcache.dylib- 0x7fff8f068000 - 0x7fff8f0a1ff7 com.apple.QD (3.50 - 298) <C1F20764-DEF0-34CF-B3AB-AB5480D64E66> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD- 0x7fff8f0a2000 - 0x7fff8f0adfff libGL.dylib (9.0.83) <984A960A-C159-3AE5-8B40-E2B451F6C712> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib- 0x7fff8f0d7000 - 0x7fff8f0d8ff7 libDiagnosticMessagesClient.dylib (100) <4CDB0F7B-C0AF-3424-BC39-495696F0DB1E> /usr/lib/libDiagnosticMessagesClient.dylib- 0x7fff8f120000 - 0x7fff8f121fff liblangid.dylib (117) <9546E641-F730-3AB0-B3CD-E0E2FDD173D9> /usr/lib/liblangid.dylib- 0x7fff8f122000 - 0x7fff8f169ff7 libcups.2.dylib (372) <348EED62-6C20-35D6-8EFB-E80943965100> /usr/lib/libcups.2.dylib- 0x7fff8f551000 - 0x7fff8f5e0fff com.apple.Metadata (10.7.0 - 800.12.2) <A9F5D471-8732-3F95-A4A2-33864B92A181> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata- 0x7fff8f843000 - 0x7fff8f850ff0 libbz2.1.0.dylib (29) <0B98AC35-B138-349C-8063-2B987A75D24C> /usr/lib/libbz2.1.0.dylib- 0x7fff8fa7e000 - 0x7fff8fa86ffc libGFXShared.dylib (9.0.83) <11A621C3-37A0-39CE-A69B-8739021BD79D> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib- 0x7fff8fab1000 - 0x7fff8fc5ef27 libobjc.A.dylib (551.1) <AD7FD984-271E-30F4-A361-6B20319EC73B> /usr/lib/libobjc.A.dylib- 0x7fff8fc5f000 - 0x7fff8fc68fff com.apple.speech.synthesis.framework (4.6.2 - 4.6.2) <0AAE45F0-FC6E-36B6-A6A7-73E6950A74AC> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis- 0x7fff90002000 - 0x7fff9000ffff com.apple.Sharing (132.2 - 132.2) <F983394A-226D-3244-B511-FA51FDB6ADDA> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing- 0x7fff90042000 - 0x7fff90071ff5 com.apple.GSS (4.0 - 2.0) <ED98D992-CC14-39F3-9ABC-8D7F986487CC> /System/Library/Frameworks/GSS.framework/Versions/A/GSS- 0x7fff90072000 - 0x7fff90072fff com.apple.CoreServices (59 - 59) <7A697B5E-F179-30DF-93F2-8B503CEEEFD5> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices- 0x7fff90073000 - 0x7fff900c5fff libc++.1.dylib (120) <4F68DFC5-2077-39A8-A449-CAC5FDEE7BDE> /usr/lib/libc++.1.dylib- 0x7fff90646000 - 0x7fff90646fff com.apple.Cocoa (6.8 - 20) <E90E99D7-A425-3301-A025-D9E0CD11918E> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa- 0x7fff90647000 - 0x7fff90710fff com.apple.LaunchServices (572.23 - 572.23) <8D955BDE-2C4C-3DD4-B4D7-2D916174FE1D> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices- 0x7fff90711000 - 0x7fff90762ff3 com.apple.audio.CoreAudio (4.2.0 - 4.2.0) <BF4C2FE3-8BC8-30D1-8347-2A7221268794> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio- 0x7fff90795000 - 0x7fff90858ff7 com.apple.backup.framework (1.5.1 - 1.5.1) <FC4E949B-B41A-3F21-8AF8-AEDB13146FEA> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup- 0x7fff9085f000 - 0x7fff9117b05f com.apple.CoreGraphics (1.600.0 - 599.7) <7D0FD5A7-A061-39BA-8E00-723825D2C4DD> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics- 0x7fff9117c000 - 0x7fff911bbfff libGLU.dylib (9.0.83) <8B457205-513B-3477-AE9C-3AD979D5FE11> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib- 0x7fff91291000 - 0x7fff912acff7 libPng.dylib (1038) <EF781AF8-C2E6-3179-B8A1-A584783070F1> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib- 0x7fff912b0000 - 0x7fff912bbff7 com.apple.NetAuth (5.0 - 5.0) <C811E662-9EC3-3B74-808A-A75D624F326B> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth- 0x7fff912bc000 - 0x7fff912e3ff7 libsystem_network.dylib (241.3) <8B1E1F1D-A5CC-3BAE-8B1E-ABC84337A364> /usr/lib/system/libsystem_network.dylib- 0x7fff912e4000 - 0x7fff912e4ffd libOpenScriptingUtil.dylib (157) <19F0E769-0989-3062-9AFB-8976E90E9759> /usr/lib/libOpenScriptingUtil.dylib- 0x7fff91426000 - 0x7fff9144aff7 libJPEG.dylib (1038) <86F349A8-882D-3326-A0B0-63257F68B1A7> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib- 0x7fff916fe000 - 0x7fff91700fff libCVMSPluginSupport.dylib (9.0.83) <E2AED858-6EEB-36C6-8C06-C3CF649A3CD5> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib- 0x7fff91701000 - 0x7fff91701fff com.apple.Accelerate.vecLib (3.9 - vecLib 3.9) <F8D0CC77-98AC-3B58-9FE6-0C25421827B6> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib- 0x7fff9172a000 - 0x7fff9172fff7 libunwind.dylib (35.3) <78DCC358-2FC1-302E-B395-0155B47CB547> /usr/lib/system/libunwind.dylib- 0x7fff91ff7000 - 0x7fff9201effb libsystem_info.dylib (449.1.3) <7D41A156-D285-3849-A2C3-C04ADE797D98> /usr/lib/system/libsystem_info.dylib- 0x7fff920c3000 - 0x7fff92130fff com.apple.SearchKit (1.4.0 - 1.4.0) <B9B8D510-A27E-36B0-93E9-17146D9E9045> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit- 0x7fff92131000 - 0x7fff92389ff1 com.apple.security (7.0 - 55471) <233831C5-C457-3AD5-AFE7-E3E2DE6929C9> /System/Library/Frameworks/Security.framework/Versions/A/Security- 0x7fff92397000 - 0x7fff9266bfc7 com.apple.vImage (7.0 - 7.0) <D241DBFA-AC49-31E2-893D-EAAC31890C90> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage- 0x7fff92f4f000 - 0x7fff92f69fff libdispatch.dylib (339.1.9) <46878A5B-4248-3057-962C-6D4A235EEF31> /usr/lib/system/libdispatch.dylib- 0x7fff92f6a000 - 0x7fff92f92ffb libxslt.1.dylib (13) <C9794936-633C-3F0C-9E71-30190B9B41C1> /usr/lib/libxslt.1.dylib- 0x7fff93591000 - 0x7fff935d3ff7 libauto.dylib (185.5) <F45C36E8-B606-3886-B5B1-B6745E757CA8> /usr/lib/libauto.dylib- 0x7fff935d4000 - 0x7fff93604fff com.apple.IconServices (25 - 25.17) <4751127E-FBD5-3ED5-8510-08D4E4166EFE> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices- 0x7fff937e6000 - 0x7fff93820ff3 com.apple.bom (12.0 - 192) <989690DB-B9CC-3DB5-89AE-B5D33EDC474E> /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom- 0x7fff9397e000 - 0x7fff93aecff7 libBLAS.dylib (1094.5) <DE93A590-5FA5-32A2-A16C-5D7D7361769F> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib- 0x7fff93b18000 - 0x7fff93b1bfff com.apple.TCC (1.0 - 1) <32A075D9-47FD-3E71-95BC-BFB0D583F41C> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC- 0x7fff93b1c000 - 0x7fff93b20fff libpam.2.dylib (20) <B93CE8F5-DAA8-30A1-B1F6-F890509513CB> /usr/lib/libpam.2.dylib- 0x7fff93c44000 - 0x7fff94077ffb com.apple.vision.FaceCore (3.0.0 - 3.0.0) <F42BFC9C-0B16-35EF-9A07-91B7FDAB7FC5> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore- 0x7fff94101000 - 0x7fff94174ffb com.apple.securityfoundation (6.0 - 55122) <119D1C53-B292-3378-AEE1-A3B1FB02F43F> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation- 0x7fff94180000 - 0x7fff9418dff7 libxar.1.dylib (202) <5572AA71-E98D-3FE1-9402-BB4A84E0E71E> /usr/lib/libxar.1.dylib- 0x7fff941a2000 - 0x7fff941a4fff libRadiance.dylib (1038) <55F99274-5074-3C73-BAC5-AF234E71CF38> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib- 0x7fff9420c000 - 0x7fff94259ff2 com.apple.print.framework.PrintCore (9.0 - 428) <8D8253E3-302F-3DB2-9C5C-572CB974E8B3> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore- 0x7fff9425a000 - 0x7fff9425ffff com.apple.DiskArbitration (2.6 - 2.6) <F8A47F61-83D1-3F92-B7A8-A169E0D187C0> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration- 0x7fff94260000 - 0x7fff94270fff libbsm.0.dylib (33) <2CAC00A2-1352-302A-88FA-C567D4D69179> /usr/lib/libbsm.0.dylib- 0x7fff942c5000 - 0x7fff942cfff7 com.apple.bsd.ServiceManagement (2.0 - 2.0) <2D27B498-BB9C-3D88-B05A-76908A8A26F3> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement- 0x7fff942d0000 - 0x7fff942f5ff7 com.apple.CoreVideo (1.8 - 117.2) <4674339E-26D0-35FA-9958-422832B39B12> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo- 0x7fff942f8000 - 0x7fff94346fff libcorecrypto.dylib (161.1) <F3973C28-14B6-3006-BB2B-00DD7F09ABC7> /usr/lib/system/libcorecrypto.dylib- 0x7fff94347000 - 0x7fff9434affc com.apple.IOSurface (91 - 91) <07CA8A59-1E32-3FB6-B506-18DAF58A8CE0> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface- 0x7fff9434b000 - 0x7fff94354ff3 libsystem_notify.dylib (121) <52571EC3-6894-37E4-946E-064B021ED44E> /usr/lib/system/libsystem_notify.dylib- 0x7fff943ae000 - 0x7fff943c0ff7 com.apple.MultitouchSupport.framework (245.13 - 245.13) <D5E7416D-45AB-3690-86C6-CC4B5FCEA2D2> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport- 0x7fff943c1000 - 0x7fff9455dff7 com.apple.QuartzCore (1.8 - 332.0) <994D1E0A-64B6-398C-B9A2-C362F02DE943> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore- 0x7fff94953000 - 0x7fff94a42fff libFontParser.dylib (111.1) <835A8253-6AB9-3AAB-9CBF-171440DEC486> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib- 0x7fff94a44000 - 0x7fff94a68fff libxpc.dylib (300.1.17) <4554927A-9467-365C-91F1-5A116989DD7F> /usr/lib/system/libxpc.dylib- 0x7fff94a69000 - 0x7fff94ab0fff libFontRegistry.dylib (127) <A77A0480-AA5D-3CC8-8B68-69985CD546DC> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib- 0x7fff94b00000 - 0x7fff94b53fff com.apple.ScalableUserInterface (1.0 - 1) <CF745298-7373-38D2-B3B1-727D5A569E48> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/ScalableUserInterface.framework/Versions/A/ScalableUserInterface- 0x7fff94b5e000 - 0x7fff94b6cfff com.apple.opengl (9.0.83 - 9.0.83) <AF467644-7B1D-327A-AC47-CECFCAF61990> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL- 0x7fff94b8a000 - 0x7fff94b91ff7 liblaunch.dylib (842.1.4) <FCBF0A02-0B06-3F97-9248-5062A9DEB32C> /usr/lib/system/liblaunch.dylib- 0x7fff94b92000 - 0x7fff94b9dfff libkxld.dylib (2422.1.72) <C88EF3E6-B31F-3E12-BE9B-562D912BA733> /usr/lib/system/libkxld.dylib- 0x7fff94ec9000 - 0x7fff94ec9ff7 libkeymgr.dylib (28) <3AA8D85D-CF00-3BD3-A5A0-E28E1A32A6D8> /usr/lib/system/libkeymgr.dylib- 0x7fff94eca000 - 0x7fff94f23fff libTIFF.dylib (1038) <5CBFE0C2-9DD8-340B-BA63-A94CE2E476F2> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib- 0x7fff94f24000 - 0x7fff94f3fff7 libsystem_malloc.dylib (23.1.10) <FFE5C472-B23A-318A-85BF-77CDE61900D1> /usr/lib/system/libsystem_malloc.dylib- 0x7fff950ab000 - 0x7fff950dafd2 libsystem_m.dylib (3047.16) <B7F0E2E4-2777-33FC-A787-D6430B630D54> /usr/lib/system/libsystem_m.dylib- 0x7fff950db000 - 0x7fff950e3ff7 com.apple.speech.recognition.framework (4.2.4 - 4.2.4) <98BBB3E4-6239-3EF1-90B2-84EA0D3B8D61> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition- 0x7fff950e6000 - 0x7fff950e7ff7 libsystem_blocks.dylib (63) <FB856CD1-2AEA-3907-8E9B-1E54B6827F82> /usr/lib/system/libsystem_blocks.dylib- 0x7fff950ef000 - 0x7fff952d4ff7 com.apple.CoreFoundation (6.9 - 855.11) <E22C6A1F-8996-349C-905E-96C3BBE07C2F> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation- 0x7fff952d5000 - 0x7fff952ecfff com.apple.CFOpenDirectory (10.9 - 173.1.1) <3FB4D5FE-860B-3BDE-BAE2-3531D919EF10> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory- 0x7fff953a1000 - 0x7fff953a5ff7 libGIF.dylib (1038) <C29B4323-1B9E-36B9-96C2-7CEDBAA124F0> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib- 0x7fff958d8000 - 0x7fff958e2ff7 com.apple.CrashReporterSupport (10.9 - 538) <B487466B-3AA1-3854-A808-A61F049FA794> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport- 0x7fff958e3000 - 0x7fff95bb1ff4 com.apple.CoreImage (9.0.54) <74BB8685-69A9-3A45-8DED-EA26BD39D710> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage- 0x7fff95e9a000 - 0x7fff95e9bfff com.apple.TrustEvaluationAgent (2.0 - 25) <334A82F4-4AE4-3719-A511-86D0B0723E2B> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent- 0x7fff95e9c000 - 0x7fff95f4cff7 libvMisc.dylib (423.32) <049C0735-1808-39B9-943F-76CB8021744F> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib- 0x7fff95fa5000 - 0x7fff95faefff com.apple.CommonAuth (4.0 - 2.0) <1D263127-5F27-3128-996D-7397660D0C6E> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth- 0x7fff95fd9000 - 0x7fff96283ffd com.apple.HIToolbox (2.1 - 696) <1CFFF37B-C392-3088-B0A4-C08C55B2AF8F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox- 0x7fff962bc000 - 0x7fff962fdfff com.apple.PerformanceAnalysis (1.47 - 47) <784ED7B8-FAE4-36CE-8C76-B7D300316C9F> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis- 0x7fff96478000 - 0x7fff96482fff libcommonCrypto.dylib (60049) <8C4F0CA0-389C-3EDC-B155-E62DD2187E1D> /usr/lib/system/libcommonCrypto.dylib- 0x7fff96483000 - 0x7fff9648afff libcompiler_rt.dylib (35) <4CD916B2-1B17-362A-B403-EF24A1DAC141> /usr/lib/system/libcompiler_rt.dylib- 0x7fff965c3000 - 0x7fff965c4ff7 libsystem_sandbox.dylib (278.10) <A47E7E11-3C76-318E-B67D-98972B86F094> /usr/lib/system/libsystem_sandbox.dylib- 0x7fff9752f000 - 0x7fff97777fff com.apple.CoreData (107 - 481) <E5AFBA07-F73E-3B3F-9099-F51224EE8EAD> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData- 0x7fff97849000 - 0x7fff97930ff7 libxml2.2.dylib (26) <A1DADD11-89E5-3DE4-8802-07186225967F> /usr/lib/libxml2.2.dylib- 0x7fff97958000 - 0x7fff97974ff7 libsystem_kernel.dylib (2422.1.72) <D14913DB-47F1-3591-8DAF-D4B4EF5F8818> /usr/lib/system/libsystem_kernel.dylib- 0x7fff97a67000 - 0x7fff97ae7fff com.apple.CoreSymbolication (3.0 - 141) <B018335C-698B-3F87-AF1C-6115C4FA8954> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication- 0x7fff97ae8000 - 0x7fff97bedfff com.apple.ImageIO.framework (3.3.0 - 1038) <2C058216-C6D8-3380-A7EA-92A3F04520C1> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO- 0x7fff97ca5000 - 0x7fff97d2eff7 libsystem_c.dylib (997.1.1) <61833FAA-7281-3FF9-937F-686B6F20427C> /usr/lib/system/libsystem_c.dylib- 0x7fff97d45000 - 0x7fff97d5eff7 com.apple.Ubiquity (1.3 - 289) <C7F1B734-CE81-334D-BE41-8B20D95A1F9B> /System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity- 0x7fff97d64000 - 0x7fff97e94ff7 com.apple.desktopservices (1.8 - 1.8) <09DC9BB8-432F-3C7A-BB08-956A2DDFC2DE> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv- 0x7fff97f05000 - 0x7fff98075ff6 com.apple.CFNetwork (673.0.3 - 673.0.3) <42CFC3DB-35C8-3652-AF37-4BCC73D8BDEF> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork- 0x7fff98076000 - 0x7fff980e0ff7 com.apple.framework.IOKit (2.0.1 - 907.1.13) <C1E95F5C-B79B-31BE-9F2A-1B25163C1F16> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit- 0x7fff9877f000 - 0x7fff987e2ff7 com.apple.SystemConfiguration (1.13 - 1.13) <F05F4149-981B-380B-8F50-51CE804BBB89> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration- 0x7fff988e8000 - 0x7fff9894cff9 com.apple.Heimdal (4.0 - 2.0) <E7D20A4D-4674-37E1-A949-635FFF7C439A> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal- 0x7fff9894d000 - 0x7fff98a18fff libvDSP.dylib (423.32) <3BF732BE-DDE0-38EB-8C54-E4E3C64F77A7> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib- 0x7fff98ba3000 - 0x7fff98babfff libsystem_dnssd.dylib (522.1.11) <270DCF6C-502D-389A-AA9F-DE4624A36FF7> /usr/lib/system/libsystem_dnssd.dylib- 0x7fff98bac000 - 0x7fff98baffff libCoreVMClient.dylib (58.1) <EBC36C69-C896-3C3D-8589-3E9023E7E56F> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib- 0x7fff98bb0000 - 0x7fff98c72ff1 com.apple.CoreText (352.0 - 367.15) <E5C70FC8-C861-39B8-A491-595E5B55CFC8> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText- 0x7fff98c73000 - 0x7fff98c7fff7 com.apple.OpenDirectory (10.9 - 173.1.1) <6B78BD7B-5622-38E6-8FC6-86A117E3ACCA> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory- 0x7fff98c80000 - 0x7fff98caffff com.apple.DebugSymbols (106 - 106) <E1BDED08-523A-36F4-B2DA-9D5C712F0AC7> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols- 0x7fff98cb0000 - 0x7fff98d9efff libJP2.dylib (1038) <6C8179F5-8063-3ED6-A7C2-D5603DECDF28> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib- 0x7fff98e1f000 - 0x7fff98f03fff com.apple.coreui (2.1 - 231) <432DB40C-6B7E-39C8-9FB5-B95917930056> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI- 0x7fff98f6f000 - 0x7fff98f73fff libsystem_stats.dylib (93.1.26) <B9E26A9E-FBBC-3938-B8B7-6CF7CA8C99AD> /usr/lib/system/libsystem_stats.dylib- 0x7fff98f74000 - 0x7fff98ffdfff com.apple.ColorSync (4.9.0 - 4.9.0) <B756B908-9AD1-3F5D-83F9-7A0B068387D2> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync- 0x7fff99029000 - 0x7fff9908dff3 com.apple.datadetectorscore (5.0 - 354.0) <9ACF24B8-3268-3134-A5BC-D72C9371A195> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore- 0x7fff993e4000 - 0x7fff993ebff3 libcopyfile.dylib (103) <5A881779-D0D6-3029-B371-E3021C2DDA5E> /usr/lib/system/libcopyfile.dylib- 0x7fff994a3000 - 0x7fff99512ff1 com.apple.ApplicationServices.ATS (360 - 363.1) <88976B22-A9B8-3E7B-9AE6-0B8E09A968FC> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS- 0x7fff99513000 - 0x7fff9952ffff libresolv.9.dylib (54) <11C2C826-F1C6-39C6-B4E8-6E0C41D4FA95> /usr/lib/libresolv.9.dylib- 0x7fff99530000 - 0x7fff9953fff8 com.apple.LangAnalysis (1.7.0 - 1.7.0) <8FE131B6-1180-3892-98F5-C9C9B79072D4> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis- 0x7fff99656000 - 0x7fff9966fff7 com.apple.Kerberos (3.0 - 1) <F108AFEB-198A-3BAF-BCA5-9DFCE55EFF92> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos- 0x7fff99673000 - 0x7fff99674ffb libremovefile.dylib (33) <3543F917-928E-3DB2-A2F4-7AB73B4970EF> /usr/lib/system/libremovefile.dylib- 0x7fff99675000 - 0x7fff99676ff7 libSystem.B.dylib (1197.1.1) <BFC0DC97-46C6-3BE0-9983-54A98734897A> /usr/lib/libSystem.B.dylib- 0x7fff99c76000 - 0x7fff99c87ff7 libsystem_asl.dylib (217.1.4) <655FB343-52CF-3E2F-B14D-BEBF5AAEF94D> /usr/lib/system/libsystem_asl.dylib- 0x7fff99c88000 - 0x7fff99f72fff com.apple.CoreServices.CarbonCore (1077.14 - 1077.14) <B00BEB34-A9F5-381F-99FD-11E405768A9A> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore- 0x7fff99f73000 - 0x7fff99feafff com.apple.CoreServices.OSServices (600.4 - 600.4) <36B2B009-C35E-3F21-824E-E0D00E7808C7> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices- 0x7fff99feb000 - 0x7fff9a014ff7 libc++abi.dylib (48) <8C16158F-CBF8-3BD7-BEF4-022704B2A326> /usr/lib/libc++abi.dylib- 0x7fff9a076000 - 0x7fff9a0aeff7 com.apple.RemoteViewServices (2.0 - 94) <3F34D630-3DDB-3411-BC28-A56A9B55EBDA> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices- 0x7fff9a0ca000 - 0x7fff9a0d1ff7 libsystem_pthread.dylib (53.1.4) <AB498556-B555-310E-9041-F67EC9E00E2C> /usr/lib/system/libsystem_pthread.dylib- 0x7fff9a0d2000 - 0x7fff9a0d2fff com.apple.Accelerate (1.9 - Accelerate 1.9) <509BB27A-AE62-366D-86D8-0B06D217CF56> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate- 0x7fff9a0d3000 - 0x7fff9a1bdfff libsqlite3.dylib (158) <00269BF9-43BE-39E0-9C85-24585B9923C8> /usr/lib/libsqlite3.dylib- 0x7fff9a248000 - 0x7fff9a2a3ffb com.apple.AE (665.5 - 665.5) <BBA230F9-144C-3CAB-A77A-0621719244CD> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE- 0x7fff9a517000 - 0x7fff9a565fff com.apple.opencl (2.3.57 - 2.3.57) <FC03A80D-543A-3448-83FF-D399C3A240D9> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL- 0x7fff9a566000 - 0x7fff9a569ff7 libdyld.dylib (239.3) <62F4D752-4089-31A8-8B73-B95A68893B3C> /usr/lib/system/libdyld.dylib- 0x7fff9a571000 - 0x7fff9a729ff3 libicucore.A.dylib (511.27) <003B6C21-CBD1-3486-9A1D-030ADF5FA061> /usr/lib/libicucore.A.dylib- 0x7fff9a72a000 - 0x7fff9a753fff com.apple.DictionaryServices (1.2 - 208) <A539A058-BA57-35EE-AA08-D0B0E835127D> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices- 0x7fff9a75a000 - 0x7fff9a766ff3 com.apple.AppleFSCompression (56 - 1.0) <5652B0D0-EB08-381F-B23A-6DCF96991FB5> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression- 0x7fff9a8f5000 - 0x7fff9a90dff7 com.apple.GenerationalStorage (2.0 - 160.2) <79629AC7-896F-3302-8AC1-4939020F08C3> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage- 0x7fff9a939000 - 0x7fff9a954ff7 libCRFSuite.dylib (34) <FFAE75FA-C54E-398B-AA97-18164CD9789D> /usr/lib/libCRFSuite.dylib- 0x7fff9ab57000 - 0x7fff9ab59ff7 libquarantine.dylib (71) <7A1A2BCB-C03D-3A25-BFA4-3E569B2D2C38> /usr/lib/system/libquarantine.dylib- 0x7fff9ab5a000 - 0x7fff9ab5affd com.apple.audio.units.AudioUnit (1.9 - 1.9) <6E89F3CB-CC41-3728-9F9A-FDFC151E8261> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit- 0x7fff9ac14000 - 0x7fff9ac59ff6 com.apple.HIServices (1.22 - 466) <21807AF8-3BC7-32BB-AB96-7C35CB59D7F6> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices- 0x7fff9ac5a000 - 0x7fff9ac5afff com.apple.ApplicationServices (48 - 48) <3E3F01A8-314D-378F-835E-9CC4F8820031> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices- 0x7fff9adc0000 - 0x7fff9ade5ff7 com.apple.ChunkingLibrary (2.0 - 155.1) <B845DC7A-D1EA-31E2-967C-D1FE0C628036> /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary- - External Modification Summary:- Calls made by other processes targeting this process:- task_for_pid: 1- thread_create: 0- thread_set_state: 0- Calls made by this process:- task_for_pid: 0- thread_create: 0- thread_set_state: 0- Calls made by all processes on this machine:- task_for_pid: 210855- thread_create: 1- thread_set_state: 0- - VM Region Summary:- ReadOnly portion of Libraries: Total=206.9M resident=76.3M(37%) swapped_out_or_unallocated=130.6M(63%)- Writable regions: Total=51.2M written=15.3M(30%) resident=16.2M(32%) swapped_out=0K(0%) unallocated=35.0M(68%)- - REGION TYPE VIRTUAL- =========== =======- Dispatch continuations 4096K- Kernel Alloc Once 4K- MALLOC 18.3M- MALLOC (admin) 32K- STACK GUARD 56.0M- Stack 12.6M- VM_ALLOCATE 12.3M- VM_ALLOCATE (reserved) 12K reserved VM address space (unallocated)- __DATA 22.9M- __IMAGE 528K- __LINKEDIT 71.2M- __TEXT 135.6M- __UNICODE 544K- shared memory 4K- =========== =======- TOTAL 334.2M- TOTAL, minus reserved VM space 334.2M--# End of transcript or log.-"""]]--> Apparently this is [[fixed|done]] in the latest release. --[[Joey]]
− doc/bugs/Small_archive_behaving_like_archive.mdwn
@@ -1,36 +0,0 @@-### Please describe the problem.--repos of group smallarchive have started trying to accumulate all files.--I have an archive repo (rsync) and a smallarchive repo (glacier). The assistant is now trying to transfer everything up to glacier. This is new behavior as of this version of annex.--### What steps will reproduce the problem?---### What version of git-annex are you using? On what operating system?--Mac OSX 10.8.3 (Build 12D78)-- git-annex version: 4.20130501-ged2fc6f- - local repository version: 4- default repository version: 3- supported repository versions: 3 4- upgrade supported from repository versions: 0 1 2- build flags: Assistant Webapp Pairing Testsuite S3 WebDAV FsEvents XMPP DNS---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/debug.log---# End of transcript or log.-"""]]--[[!tag moreinfo]]--> Since there's a plausible explanation in my comment and no followup,-> [[done]] --[[Joey]]
− doc/bugs/Stale_keys_not_forgotten_upon_git-annex_forget.mdwn
@@ -1,33 +0,0 @@-### Please describe the problem.-At some point, I migrated all my WORM-backed objects to SHA1E. I then squashed my master branch to get rid of any WORM references and dropped unused objects. Recently, I noticed that the git-annex branch still has all tracking information on the old WORM keys. I tried running git-annex forget, but the old keys are not purged, even though no (local or remote) branch refers to them and no git-annex repository has the data for these keys anymore. Should such keys be purged by git-annex forget, too?--### What steps will reproduce the problem?--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-git init /tmp/repo-cd /tmp/repo-git annex init-echo hi > file-git annex add --backend=WORM file-git commit -m init-git annex migrate-git commit -m migrated-git checkout --orphan tmp-git commit -m squashed-git branch -m master -f-git annex unused-git annex dropunused 1 --force-git annex forget --drop-dead --force-git ls-tree -r git-annex | grep WORM--# End of transcript or log.-"""]]--### What version of git-annex are you using? On what operating system?-git-annex 5.20150508-Linux 4.0.4--> This can now be dealt with by providing the key to `git annex dead-> --key` [[done]] --[[Joey]]
doc/bugs/Three_tests_fail_when_annex.backends_is_defined.mdwn view
@@ -105,3 +105,7 @@ be related, but I don't know if that's the case. The newest version I'm able to build is 5.20150219, somewhere after that various things start to fail.++> [[fixed|done]]; I found a way to isolate the test suite from global git+> configs, by setting `GIT_CONFIG_NOSYSTEM` and also setting+> `HOME` and `XDG_CONFIG_HOME` to an empty directory. --[[Joey]]
− doc/bugs/Truncated_file_transferred_via_S3.mdwn
@@ -1,617 +0,0 @@-### Please describe the problem.--I have two machines connected with annex assistant via XMPP and S3. I placed a file into the annex directory on one computer, and it fairly immediately transferred to the other, as expected. However the resulting file appears to be truncated.--### What steps will reproduce the problem?--Unknown, I haven't noticed this happen before.--### What version of git-annex are you using? On what operating system?--The sending end was from commit ef1fd09c5c1c3950727f0760df36075e45192b33 (Tue Jul 2 16:52:43 2013 +0000), the receiving end was at 1c16de8ebcef6c1920a8437af380f8aea5a2c535 (Wed Jun 12 20:31:43 2013 +0000). Both on Ubuntu 13.04.--### Please provide any additional information below.--Details of the file at the sending end:--[[!format text """-$ stat git-annex_4.20130627_amd64.deb - Bestand: ‘git-annex_4.20130627_amd64.deb’- Grootte: 10140744 Blokken: 19808 IO-blok: 4096 normaal bestand-Apparaat: 801h/2049d Inode: 27394054 Koppelingen: 1-Toegang: (0644/-rw-r--r--) UID: ( 1000/ robin) GID: ( 1000/ robin)-Toegang: 2013-07-03 21:57:26.774297184 +1200-Gewijzigd: 2013-07-03 21:57:25.526306867 +1200-Veranderd: 2013-07-03 21:57:26.770297214 +1200-"""]]--and at the receiving end:--[[!format text """- Bestand: ‘git-annex_4.20130627_amd64.deb’- Grootte: 10105870 Blokken: 19760 IO-blok: 4096 normaal bestand-Apparaat: 16h/22d Inode: 6167474 Koppelingen: 1-Toegang: (0664/-rw-rw-r--) UID: ( 1000/ robin) GID: ( 1000/ robin)-Toegang: 2013-07-03 10:58:02.653724449 +0100-Gewijzigd: 2013-07-03 10:58:02.365724461 +0100-Veranderd: 2013-07-03 10:58:02.369724461 +0100-"""]]--(it was coincidence I expect that it was a deb of git-annex I'd just made :)--Some more poking indicates that it's not strictly a truncation, not too far into the file, the content changes:--Sent:--[[!format text """-00002a0 4ea6 bb1e 4c18 d54e b836 b19a d9a2 6314-00002b0 4a0d 2954 d6aa fb42 2699 7437 df7f 6a6d-00002c0 7f7f 4f1c bce5 5e0f 5cc3 d5b1 e896 2829-00002d0 4ed2 8426 9496 a669 3dd1 d6ed 26dd 3b1d-00002e0 4c2a 4ef2 e29b 778c 4818 0e49 990e 314c-"""]]--Received:--[[!format text """-00002a0 4ea6 bb1e 4c18 d54e b836 b19a d9a2 6314-00002b0 544a aa29 42d6 99fb 3726 7f74 6ddf 7f6a-00002c0 1c7f e54f 0fbc c35e b15c 96d5 29e8 d228-00002d0 264e 9684 6994 d1a6 ed3d ddd6 1d26 2a3b-00002e0 f24c 9b4e 8ce2 1877 4948 0e0e 4c99 1931-"""]]--Oddly, there seems to be a pattern in the difference of the first incorrect row, it looks like kind of like strange endian weirdness rearranging things.--aabb ccdd eeff gghh--becomes:--bbdd ffcc hhee ..gg--where the .. comes from further along the pattern.--Deleting and re-adding the file doesn't cause the new version to appear, but that's presumably because it's addressing by SHA, so it doesn't see that as a change.--[[!format text """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--Sending machine:--(started...) [2013-07-03 21:57:17 NZST] XMPPSendPack: Syncing with eythian-[2013-07-03 21:57:17 NZST] XMPPReceivePack: Syncing with eythian-Everything up-to-date-[2013-07-03 21:57:25 NZST] Committer: Adding git-annex..amd64.deb--add git-annex_4.20130627_amd64.deb (checksum...) [2013-07-03 21:57:25 NZST] Committer: Committing changes to git-[2013-07-03 21:57:25 NZST] Pusher: Syncing with backups-To /mnt/backups/annex- 2783051..69b3503 git-annex -> synced/git-annex- 0b10576..e1b6f29 master -> synced/master-(gpg) Already up-to-date.-Already up-to-date.-[2013-07-03 21:57:26 NZST] XMPPSendPack: Syncing with eythian-[2013-07-03 21:57:26 NZST] Committer: Adding git-annex..amd64.deb-ok-(Recording state in git...)-(Recording state in git...)---add git-annex_4.20130627_amd64.deb (checksum...) [2013-07-03 21:57:26 NZST] Committer: Committing changes to git--0% 96.0KB/s 1m42s[2013-07-03 21:57:27 NZST] Pusher: Syncing with backups-To /mnt/backups/annex- 69b3503..026ba8e git-annex -> synced/git-annex-To xmpp::eythian@jabber.kallisti.net.nz- 2783051..69b3503 git-annex -> refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex- 0b10576..e1b6f29 master -> refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master-1% 127.9KB/s 1m16s[2013-07-03 21:57:27 NZST] XMPPSendPack: Syncing with eythian-25% 631.7KB/s 12sTo xmpp::eythian@jabber.kallisti.net.nz- 69b3503..35b3fd8 git-annex -> refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex-[2013-07-03 21:57:30 NZST] XMPPSendPack: Syncing with eythian-51% 1.2MB/s 4sEverything up-to-date-[2013-07-03 21:57:34 NZST] Transferrer: Uploaded git-annex..amd64.deb-[2013-07-03 21:57:34 NZST] Pusher: Syncing with backups-To /mnt/backups/annex- 026ba8e..1eb67d8 git-annex -> synced/git-annex-[2013-07-03 21:57:35 NZST] XMPPSendPack: Syncing with eythian-To xmpp::eythian@jabber.kallisti.net.nz- 35b3fd8..1eb67d8 git-annex -> refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex-[2013-07-03 21:57:36 NZST] XMPPSendPack: Syncing with eythian-Everything up-to-date-[2013-07-03 21:58:03 NZST] XMPPReceivePack: Syncing with eythian-Already up-to-date.-[2013-07-03 21:58:04 NZST] XMPPReceivePack: Syncing with eythian-[2013-07-03 22:09:44 NZST] XMPPSendPack: Syncing with eythian-To xmpp::eythian@jabber.kallisti.net.nz- 1eb67d8..822dbb1 git-annex -> refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex-[2013-07-03 22:09:45 NZST] XMPPSendPack: Syncing with eythian-Everything up-to-date--Receiving machine:--[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from a18/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from a22/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from a20/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from b24/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from c27/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from c25/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from c16/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from c22/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from c21/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d23/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d24/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d15/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d27/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d15/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d21/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d24/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from f21/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from h24/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from h24/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from h26/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from j22/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from j20/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from j23/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from k22/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from k26/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from k26/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from k22/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from l26/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from l17/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from m32/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from m23/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from m18/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from m21/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from o20/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s24/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s24/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s19/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s21/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s25/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s19/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s20/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s25/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s16/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s26/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from w23/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from w20/msn Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: sending to new client: e7/27209141331372845435882587 "Pushing \"e57\" (CanPush (UUID \"2c0b788e-7b2d-474b-8963-d889b9556229\") [0b10576100879220b2f50bf53f552befe2fda8de,27830516f221de09f7906954ba0bcc6b3dd31680])"-[2013-07-03 10:57:16 BST] XMPPClient: sending to new client: e7/27209141331372845435882587 "Pushing \"e57\" (PushRequest (UUID \"2c0b788e-7b2d-474b-8963-d889b9556229\"))"-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from m9/Adium Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from p6/NEW_HOTNESS Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [], elementNodes = []})"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"query\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"\"])], elementNodes = []})","QueryPresence"]-[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"push\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"])], elementNodes = []})","NotifyPush [UUID \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"]"]-[2013-07-03 10:57:17 BST] XMPPClient: push notification for-[2013-07-03 10:57:17 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:57:17 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"query\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"\"])], elementNodes = []})","QueryPresence"]-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [0b10576100879220b2f50bf53f552befe2fda8de,27830516f221de09f7906954ba0bcc6b3dd31680])"]-[2013-07-03 10:57:17 BST] XMPPClient: ignoring CanPush with known shas-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (PushRequest (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]-[2013-07-03 10:57:17 BST] XMPPSendPack: started running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:57:17 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:57:17 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:57:17 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","branch","-f","synced/master"]-[2013-07-03 10:57:17 BST] XMPPSendPack: Syncing with eythian -[2013-07-03 10:57:17 BST] XMPPClient: sending: Pushing "e57" (StartingPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))-[2013-07-03 10:57:17 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","push","eythian","git-annex:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex","refs/heads/master:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master"]-[2013-07-03 10:57:17 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]-[2013-07-03 10:57:17 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 1 \"<elided>\")"]-[2013-07-03 10:57:17 BST] XMPPReceivePack: Syncing with eythian -[2013-07-03 10:57:17 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 1 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:57:17 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 2 \"<elided>\")"]-[2013-07-03 10:57:17 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")-[2013-07-03 10:57:17 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 2 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:57:17 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:17 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 2 "<elided>")-[2013-07-03 10:57:17 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:17 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 3 "<elided>")-[2013-07-03 10:57:17 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 3 \"<elided>\")"]-[2013-07-03 10:57:17 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 3 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 4 \"<elided>\")"]-[2013-07-03 10:57:17 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 4 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 5 \"<elided>\")"]-[2013-07-03 10:57:17 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 5 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:57:17 BST] XMPPClient: sending: Pushing "e57" (SendPackOutput 1 "<elided>")-[2013-07-03 10:57:17 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:18 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]-[2013-07-03 10:57:18 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"-[2013-07-03 10:57:18 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True-[2013-07-03 10:57:18 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)-[2013-07-03 10:57:18 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:18 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackDone ExitSuccess)"]-[2013-07-03 10:57Everything up-to-date-:18 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackDone ExitSuccess) in SendPack inbox "e57"-[2013-07-03 10:57:18 BST] XMPPSendPack: finished running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True-[2013-07-03 10:57:21 BST] XMPPClient: received: ["Presence from a15/android_talk53f054b9e972 Nothing"]-[2013-07-03 10:57:26 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"push\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"])], elementNodes = []})","NotifyPush [UUID \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"]"]-[2013-07-03 10:57:26 BST] XMPPClient: push notification for-[2013-07-03 10:57:26 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:57:26 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:57:26 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:57:26 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"query\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"\"])], elementNodes = []})","QueryPresence"]-[2013-07-03 10:57:26 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,69b3503287d87c26989a755d0cc660c3c68f2c80])"]-[2013-07-03 10:57:26 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))-[2013-07-03 10:57:26 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:26 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:57:26 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,69b3503287d87c26989a755d0cc660c3c68f2c80])"]-[2013-07-03 10:57:26 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))-[2013-07-03 10:57:26 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:26 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]-[2013-07-03 10:57:26 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))-[2013-07-03 10:57:26 BST] XMPPReceivePack: Syncing with eythian -[2013-07-03 10:57:26 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]-[2013-07-03 10:57:26 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")-[2013-07-03 10:57:26 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:26 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 2 "<elided>")-[2013-07-03 10:57:26 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:27 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]-[2013-07-03 10:57:27 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"-[2013-07-03 10:57:27 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 2 \"<elided>\")"]-[2013-07-03 10:57:27 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 2 "<elided>") in ReceivePack inbox "e57"-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]-[2013-07-03 10:57:27 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 3 "<elided>")-[2013-07-03 10:57:27 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]-[2013-07-03 10:57:27 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..27830516f221de09f7906954ba0bcc6b3dd31680","--oneline","-n1"]-[2013-07-03 10:57:27 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 4 "<elided>")-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..69b3503287d87c26989a755d0cc660c3c68f2c80","--oneline","-n1"]-[2013-07-03 10:57:27 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:27 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]-[2013-07-03 10:57:27 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","69b3503287d87c26989a755d0cc660c3c68f2c80"]-[2013-07-03 10:57:27 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","69b3503287d87c26989a755d0cc660c3c68f2c80..refs/heads/git-annex","--oneline","-n1"]-[2013-07-03 10:57:27 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-ref","refs/heads/git-annex","69b3503287d87c26989a755d0cc660c3c68f2c80"]-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","ls-tree","-z","--","refs/heads/git-annex","uuid.log","remote.log","trust.log","group.log","preferred-content.log"]-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:57:27 BST] TransferScanner: starting scan of [Remote { name ="eythian" }]-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:57:27 BST] Merger: merging refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master into refs/heads/master-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","ls-files","--cached","-z","--"]-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/master"]-[2013-07-03 10:57:27 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex/.git/annex/merge/","merge","--no-edit","refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master"]-Updating 0b10576..e1b6f29-Fast-forward- git-annex_4.20130627_amd64.deb | 1 +- 1 file changed, 1 insertion(+)- create mode 120000 git-annex_4.20130627_amd64.deb-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/master"]-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-tree","-z","--raw","--no-renames","-l0","-r","0b10576100879220b2f50bf53f552befe2fda8de","e1b6f2944e7d082299cb1696c55d9064a11c4577"]-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..69b3503287d87c26989a755d0cc660c3c68f2c80","--oneline","-n1"]-[2013-07-03 10:57:27 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]-[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","refs/heads/git-annex"]-[2013-07-03 10:57:28 BST] Watcher: add symlink git-annex_4.20130627_amd64.deb-[2013-07-03 10:57:28 BST] chat: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","hash-object","-t","blob","-w","--stdin"]-[2013-07-03 10:57:28 BST] Committer: committing 1 changes-[2013-07-03 10:57:28 BST] Committer: Committing changes to git-[2013-07-03 10:57:28 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"push\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"])], elementNodes = []})","NotifyPush [UUID \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"]"]-[2013-07-03 10:57:28 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]-[2013-07-03 10:57:28 BST] XMPPClient: push notification for-[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","commit","--allow-empty-message","--no-edit","-m","","--quiet","--no-verify"]-[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--head","refs/heads/git-annex","HEAD"]-[2013-07-03 10:57:28 BST] XMPPClient: sending: Pushing "e30" (CanPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229") [e1b6f2944e7d082299cb1696c55d9064a11c4577,69b3503287d87c26989a755d0cc660c3c68f2c80])-[2013-07-03 10:57:28 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"query\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"\"])], elementNodes = []})","QueryPresence"]-[2013-07-03 10:57:28 BST] XMPPClient: exploded undirected message to clients e7/27209141331372845435882587-[2013-07-03 10:57:28 BST] XMPPClient: sending to new client: e7/27209141331372845435882587 "Pushing \"e57\" (CanPush (UUID \"2c0b788e-7b2d-474b-8963-d889b9556229\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,69b3503287d87c26989a755d0cc660c3c68f2c80])"-[2013-07-03 10:57:28 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,026ba8e7ba89bccd22f5ff31a26c82ee75641b55])"]-[2013-07-03 10:57:28 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))-[2013-07-03 10:57:28 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]-[2013-07-03 10:57:28 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:28 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))-[2013-07-03 10:57:29 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,026ba8e7ba89bccd22f5ff31a26c82ee75641b55])"]-[2013-07-03 10:57:29 BST] XMPPReceivePack: Syncing with eythian -[2013-07-03 10:57:29 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))-[2013-07-03 10:57:29 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]-[2013-07-03 10:57:29 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [], elementNodes = []})"]-[2013-07-03 10:57:29 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:29 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")-[2013-07-03 10:57:29 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:29 BST] TransferScanner: finished scan of [Remote { name ="eythian" }]-[2013-07-03 10:57:29 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]-[2013-07-03 10:57:29 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"-[2013-07-03 10:57:30 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 2 \"<elided>\")"]-[2013-07-03 10:57:30 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 2 "<elided>") in ReceivePack inbox "e57"-[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]-[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 2 "<elided>")-[2013-07-03 10:57:30 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True-[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]-[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..69b3503287d87c26989a755d0cc660c3c68f2c80","--oneline","-n1"]-[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 3 "<elided>")-[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..35b3fd81218834a29b9f516b64b4671c0b0902d3","--oneline","-n1"]-[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:30 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]-[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)-[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","35b3fd81218834a29b9f516b64b4671c0b0902d3"]-[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","35b3fd81218834a29b9f516b64b4671c0b0902d3..refs/heads/git-annex","--oneline","-n1"]-[2013-07-03 10:57:30 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-ref","refs/heads/git-annex","35b3fd81218834a29b9f516b64b4671c0b0902d3"]-[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]-[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]-[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..35b3fd81218834a29b9f516b64b4671c0b0902d3","--oneline","-n1"]-[2013-07-03 10:57:30 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]-[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","refs/heads/git-annex"]-[2013-07-03 10:57:30 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]-[2013-07-03 10:57:30 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))-[2013-07-03 10:57:30 BST] XMPPReceivePack: Syncing with eythian -[2013-07-03 10:57:30 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]-[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")-[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 2 "<elided>")-[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 3 "<elided>")-[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:31 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]-[2013-07-03 10:57:31 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"-[2013-07-03 10:57:31 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True-[2013-07-03 10:57:31 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)-[2013-07-03 10:57:31 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:31 BST] TransferScanner: starting scan of [Remote { name ="eythian" }]-[2013-07-03 10:57:31 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","ls-files","--cached","-z","--"]-[2013-07-03 10:57:32 BST] TransferScanner: finished scan of [Remote { name ="eythian" }]-[2013-07-03 10:57:34 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"push\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"])], elementNodes = []})","NotifyPush [UUID \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"]"]-[2013-07-03 10:57:34 BST] XMPPClient: push notification for-[2013-07-03 10:57:34 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:57:34 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:57:35 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"query\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"\"])], elementNodes = []})","QueryPresence"]-[2013-07-03 10:57:35 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,1eb67d85f89c92345757805d83939d75e8ce54a0])"]-[2013-07-03 10:57:35 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))-[2013-07-03 10:57:35 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:35 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,1eb67d85f89c92345757805d83939d75e8ce54a0])"]-[2013-07-03 10:57:35 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))-[2013-07-03 10:57:35 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:35 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]-[2013-07-03 10:57:35 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))-[2013-07-03 10:57:35 BST] XMPPReceivePack: Syncing with eythian -[2013-07-03 10:57:35 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]-[2013-07-03 10:57:35 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")-[2013-07-03 10:57:35 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:35 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 2 "<elided>")-[2013-07-03 10:57:35 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:36 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]-[2013-07-03 10:57:36 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"-[2013-07-03 10:57:36 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 2 \"<elided>\")"]-[2013-07-03 10:57:36 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 2 "<elided>") in ReceivePack inbox "e57"-[2013-07-03 10:57:36 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 3 "<elided>")-[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]-[2013-07-03 10:57:36 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True-[2013-07-03 10:57:36 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]-[2013-07-03 10:57:36 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 4 "<elided>")-[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..35b3fd81218834a29b9f516b64b4671c0b0902d3","--oneline","-n1"]-[2013-07-03 10:57:36 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..1eb67d85f89c92345757805d83939d75e8ce54a0","--oneline","-n1"]-[2013-07-03 10:57:36 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)-[2013-07-03 10:57:36 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]-[2013-07-03 10:57:36 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","1eb67d85f89c92345757805d83939d75e8ce54a0"]-[2013-07-03 10:57:36 BST] chat: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","hash-object","-t","blob","-w","--stdin"]-[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","1eb67d85f89c92345757805d83939d75e8ce54a0..refs/heads/git-annex","--oneline","-n1"]-[2013-07-03 10:57:36 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-ref","refs/heads/git-annex","1eb67d85f89c92345757805d83939d75e8ce54a0"]-[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]-[2013-07-03 10:57:36 BST] TransferScanner: starting scan of [Remote { name ="eythian" }]-[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]-[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..1eb67d85f89c92345757805d83939d75e8ce54a0","--oneline","-n1"]-[2013-07-03 10:57:36 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]-[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","refs/heads/git-annex"]-[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","ls-files","--cached","-z","--"]-[2013-07-03 10:57:37 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]-[2013-07-03 10:57:37 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))-[2013-07-03 10:57:37 BST] XMPPReceivePack: Syncing with eythian -[2013-07-03 10:57:37 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]-[2013-07-03 10:57:37 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")-[2013-07-03 10:57:37 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:37 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]-[2013-07-03 10:57:37 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"-[2013-07-03 10:57:37 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True-[2013-07-03 10:57:37 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)-[2013-07-03 10:57:37 BST] TransferScanner: queued Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Nothing : expensive scan found missing object-[2013-07-03 10:57:37 BST] Transferrer: Transferring: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Nothing-[2013-07-03 10:57:38 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:57:38 BST] TransferScanner: finished scan of [Remote { name ="eythian" }]-[2013-07-03 10:57:38 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Nothing-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 131008-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 262016-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 393024-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 524032-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 655040-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 786048-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 917056-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1048064-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1179072-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1310080-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1441088-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1572096-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1703104-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1834112-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1965120-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2096128-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2227136-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2358144-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2489152-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2620160-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2751168-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2882176-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3013184-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3144192-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3275200-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3406208-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3537216-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3668224-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3799232-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3930240-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4192256-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4323264-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4454272-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4585280-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4716288-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4847296-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5109312-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5240320-[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5371328-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5502336-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5633344-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5764352-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5895360-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6157376-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6288384-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6419392-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6550400-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6681408-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6943424-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7074432-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7205440-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7336448-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7598464-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7729472-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7860480-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7991488-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8122496-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8253504-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8384512-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8515520-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8646528-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8646528-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8777536-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8908544-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9039552-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9170560-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9301568-[2013-07-03 10:58:02 BST] XMPPClient: received: ["Unknown message"]-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9432576-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9563584-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9694592-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9694592-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9825600-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9956608-[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 10087616-[2013-07-03 10:58:02 BST] Watcher: add symlink git-annex_4.20130627_amd64.deb-[2013-07-03 10:58:02 BST] Transferrer: Downloaded git-annex..amd64.deb-[2013-07-03 10:58:02 BST] TransferWatcher: transfer finishing: Transfer {transferDirection = Download, transferUUID = UUID "971c808b-ce67-4edb-b317-21c0da6b5462", transferKey = Key {keyName = "8514472fd7c4ea28b385b0335db408ee28f58911b5ad0ba9d2e2cbfd1b99c86d.deb", keyBackendName = "SHA256E", keySize = Just 10140744, keyMtime = Nothing}}-[2013-07-03 10:58:02 BST] chat: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","hash-object","-t","blob","-w","--stdin"]-[2013-07-03 10:58:02 BST] chat: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","hash-object","-w","--stdin-paths"]-[2013-07-03 10:58:02 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]-[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]-[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","write-tree"]-[2013-07-03 10:58:02 BST] chat: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","commit-tree","9b6f9b59c19650e25f11e2d50acb3bf25b631150","-p","refs/heads/git-annex"]-[2013-07-03 10:58:02 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-ref","refs/heads/git-annex","822dbb101976fed8b775d04bba6da876c591a9f0"]-[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]-[2013-07-03 10:58:02 BST] Committer: committing 1 changes-[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]-[2013-07-03 10:58:02 BST] Committer: Committing changes to git-[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..822dbb101976fed8b775d04bba6da876c591a9f0","--oneline","-n1"]-[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..1eb67d85f89c92345757805d83939d75e8ce54a0","--oneline","-n1"]-[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--head","refs/heads/git-annex","HEAD"]-[2013-07-03 10:58:02 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]-[2013-07-03 10:58:02 BST] XMPPClient: sending: Pushing "e30" (CanPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229") [e1b6f2944e7d082299cb1696c55d9064a11c4577,822dbb101976fed8b775d04bba6da876c591a9f0])-[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","commit","--allow-empty-message","--no-edit","-m","","--quiet","--no-verify"]-[2013-07-03 10:58:02 BST] XMPPClient: exploded undirected message to clients e7/27209141331372845435882587-[2013-07-03 10:58:03 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:58:03 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [], elementNodes = []})"]-[2013-07-03 10:58:03 BST] XMPPClient: sending to new client: e7/27209141331372845435882587 "Pushing \"e57\" (CanPush (UUID \"2c0b788e-7b2d-474b-8963-d889b9556229\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,822dbb101976fed8b775d04bba6da876c591a9f0])"-[2013-07-03 10:58:03 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (PushRequest (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]-[2013-07-03 10:58:03 BST] XMPPSendPack: started running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))-[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:58:03 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","branch","-f","synced/master"]-[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:58:03 BST] XMPPSendPack: Syncing with eythian -[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:58:03 BST] Merger: merging refs/heads/synced/master into refs/heads/master-[2013-07-03 10:58:03 BST] XMPPClient: sending: Pushing "e57" (StartingPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))-[2013-07-03 10:58:03 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","push","eythian","git-annex:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex","refs/heads/master:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master"]-[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:58:03 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/master"]-[2013-07-03 10:58:03 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex/.git/annex/merge/","merge","--no-edit","refs/heads/synced/master"]-Already up-to-date.-[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/master"]-[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-tree","-z","--raw","--no-renames","-l0","-r","e1b6f2944e7d082299cb1696c55d9064a11c4577","e1b6f2944e7d082299cb1696c55d9064a11c4577"]-[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (PushRequest (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]-[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 1 \"<elided>\")"]-[2013-07-03 10:58:03 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 1 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 2 \"<elided>\")"]-[2013-07-03 10:58:03 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 2 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 3 \"<elided>\")"]-[2013-07-03 10:58:03 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 3 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 4 \"<elided>\")"]-[2013-07-03 10:58:03 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 4 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 5 \"<elided>\")"]-[2013-07-03 10:58:03 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 5 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:58:03 BST] XMPPClient: sending: Pushing "e57" (SendPackOutput 1 "<elided>")-[2013-07-03 10:58:03 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:58:03 BST] XMPPClient: sending: Pushing "e57" (SendPackOutput 2 "<elided>")-[2013-07-03 10:58:03 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:58:04 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 6 \"<elided>\")"]-[2013-07-03 10:58:04 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 6 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:58:04 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 7 \"<elided>\")"]-[2013-07-03 10:58:04 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 7 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:58:04 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackDone ExitSuccess)"]-[2013-07-03 10:58To xmpp::eythian@jabber.kallisti.net.nz-:0 2783051..822dbb1 4git-annex -> refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex -BS 0b10576..e1b6f29 Tmaster -> refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master]- XMPPClient: NetMessager stored Pushing "e57" (ReceivePackDone ExitSuccess) in SendPack inbox "e57"-[2013-07-03 10:58:04 BST] XMPPSendPack: finished running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True-[2013-07-03 10:58:04 BST] XMPPSendPack: started running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))-[2013-07-03 10:58:04 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:58:04 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:58:04 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]-[2013-07-03 10:58:04 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]-[2013-07-03 10:58:04 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--head","refs/heads/git-annex","HEAD"]-[2013-07-03 10:58:04 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","branch","-f","synced/master"]-[2013-07-03 10:58:04 BST] XMPPClient: sending: Pushing "e30" (CanPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229") [e1b6f2944e7d082299cb1696c55d9064a11c4577,822dbb101976fed8b775d04bba6da876c591a9f0])-[2013-07-03 10:58:04 BST] XMPPSendPack: Syncing with eythian -[2013-07-03 10:58:04 BST] XMPPClient: exploded undirected message to clients e7/27209141331372845435882587-[2013-07-03 10:58:04 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","push","eythian","git-annex:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex","refs/heads/master:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master"]-[2013-07-03 10:58:04 BST] XMPPClient: sending: Pushing "e57" (StartingPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))-[2013-07-03 10:58:04 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:58:04 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:58:05 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [], elementNodes = []})"]-[2013-07-03 10:58:05 BST] XMPPClient: sending to new client: e7/27209141331372845435882587 "Pushing \"e57\" (CanPush (UUID \"2c0b788e-7b2d-474b-8963-d889b9556229\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,822dbb101976fed8b775d04bba6da876c591a9f0])"-[2013-07-03 10:58:05 BST] XMPPClient: received: ["Presence from 0/ Nothing"]-[2013-07-03 10:58:05 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 1 \"<elided>\")"]-[2013-07-03 10:58:05 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 1 "<elided>") in SendPack inbox "e57"-[2013-07-03 10:58:05 BST] XMPPClient: sending: Pushing "e57" (SendPackOutput 1 "<elided>")-[2013-07-03 10:58:05 BST] XMPPClient: to client: e7/27209141331372845435882587-[2013-07-03 10:58:05 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackDone ExitSuccess)"]-[2013-07-03 10:58:05 Everything up-to-date-BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackDone ExitSuccess) in SendPack inbox "e57"-[2013-07-03 10:58:05 BST] XMPPSendPack: finished running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True-[2013-07-03 10:58:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","ls-tree","-z","--","refs/heads/git-annex","uuid.log","remote.log","trust.log","group.log","preferred-content.log"]---# End of transcript or log.-"""]]--> Pretty sure this must have been due to Char8 truncation. So,-> [[fixed|done]].
− doc/bugs/Unable_to_add_files_on_Android_due_to_weird_rename_error.mdwn
@@ -1,37 +0,0 @@-### Please describe the problem.--I am receiving a weird error when trying to add a file into a git annex repo on Android. I can't explain how it got into this state, and I can't figure out how to fix it.--### What steps will reproduce the problem?--See the output below - I'm happy to run any debugging commands that are required.--### What version of git-annex are you using? On what operating system?--ASUS Transformer Infinity Android Tablet, Android 4.2.1.--[[!format sh """-git-annex version: 4.20130601-g7483ca4-build flags: Assistant Webapp Testsuite S3 WebDAV Inotify XMPP DNS-local repository version: 3-default repository version: 3-supported repository versions: 3 4-upgrade supported from repository versions: 0 1 2-"""]]---### Please provide any additional information below.--[[!format sh """-u0_a141@android:/sdcard/git-annex.home/Documents $ git annex add Music/MobileSheets/The\ New\ Real\ Book\ 1/New\ Real\ Book\ 1\ Eb_19.pdf-add Music/MobileSheets/The New Real Book 1/New Real Book 1 Eb_19.pdf (checksum...) unknown option -- reflink=auto-git-annex: /storage/emulated/legacy/git-annex.home/Documents/.git/annex/tmp/New Real Book 1 Eb15137.pdf: rename: does not exist (No such file or directory)-failed-git-annex: add: 1 failed-1|u0_a141@android:/sdcard/git-annex.home/Documents $ ls -la .git/annex/tmp/-drwxrwxr-x 2 root sdcard_r 4096 Jun 14 13:42 .-drwxrwxr-x 6 root sdcard_r 4096 Jun 14 13:35 ..-u0_a141@android:/sdcard/git-annex.home/Documents $-"""]]--> Should be [[fixed|done]] --[[Joey]]
− doc/bugs/Unclear_output_during_git-annex_copy.mdwn
@@ -1,17 +0,0 @@-I noticed the following output during a `git-annex sync --content` run-which I found a little disconcerting:-- copy file.idx copy file.idx (gpg) (checking s3...) (to s3...) - ok- copy file.pack copy file.pack (checking s3...) (to s3...) - ok- (Recording state in git...)--It's confusing that seemingly only the first file got encrypted (gpg).--Fortunately, it appears that actually all files were encrypted (only GPGHMAC file names in remote location),-so this is hopefully just a cosmetic issue.--git-annex version: 5.20141024-g613f396--> removed confusing output, [[done]] --[[Joey]]
− doc/bugs/Unicode_characters_lost__47__converted_in_metadata.mdwn
@@ -1,17 +0,0 @@-### Please describe the problem.--Unicode characters in metadata are pruned/converted/lost:-- % git annex metadata -s caption='Unicode → … characters' test.W1z7M7.txt- metadata test.W1z7M7.txt- caption=Unicode & characters- caption-lastchanged=2015-03-04@08-55-26- lastchanged=2015-03-04@08-55-26- ok- (Recording state in git...)--### What version of git-annex are you using? On what operating system?--5.20141125 Debian--> [[fixed|done]]; test pass. --[[Joey]]
− doc/bugs/Unicode_file_names_ignored_on_Windows.mdwn
@@ -1,41 +0,0 @@-### Please describe the problem.--The "add" command silently ignores all files and directories with non-ascii characters.--### What steps will reproduce the problem?--I created empty repository (git init, git annex init). I created some files with ascii and nonascii file names (hacky.txt, háčky.txt).--git annex add . correctly adds only hacky.txt.--git annex add "háčky.txt" does nothing.--### What version of git-annex are you using? On what operating system?--git 1.9.0, -git-annex installer from 2014-03-06--Windows XP and 7 with czech localization. CP1250 is used for czech characters on windows.--### Please provide any additional information below.-- $ ls- hacky.txt h????ky.txt- $ git annex add .- add hacky.txt ok- (Recording state in git...)- $ git annex status- D h├í─Źky.txt--According to https://github.com/msysgit/msysgit/wiki/Git-for-Windows-Unicode-Support ls prints junk, but only to console.-- D:\anntest>git annex add "háčky.txt" --debug- [2014-03-18 14:28:03 Central Europe Standard Time] read: git ["--git-dir=D:\\anntest\\.git","--work-tree=D:\\anntest","-c","core.bare=false","ls-files","--others","--exclude-standard","-z","--","h\225\269ky.txt"]- [2014-03-18 14:28:03 Central Europe Standard Time] chat: git ["--git-dir=D:\\anntest\\.git","--work-tree=D:\\anntest","-c","core.bare=false","cat-file","--batch"]- [2014-03-18 14:28:03 Central Europe Standard Time] read: git ["--git-dir=D:\\anntest\\.git","--work-tree=D:\\anntest","-c","core.bare=false","ls-files","--modified","-z","--","h\225\269ky.txt"]--I can provide additional information, just tell me what you need.--> [[fixed|done]], although this is not the end of encoding issues-> on Windows. Updating [[todo/windows_support]] to discuss some other ones.-> --[[Joey]]
− doc/bugs/Uninstalling_removes_libcrypto.dll.mdwn
@@ -1,25 +0,0 @@-### Please describe the problem.-Just feedback to you:-After I uninstalled git-annex (Windows), traditional git was not able to push changes to an origin server via ssh.-Instead I got an error "libcrypto.dll is missing".-Installing git once again after uninstalling git-annex solved the problem.--### What steps will reproduce the problem?-Installing and uninstalling git-annex.--### What version of git-annex are you using? On what operating system?-File "git-annex-installer.exe" downloaded 2014-11-09.-Windows 8.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]]; git-annex no longer includes its own ssh, and uses the-> one from msysgit. --[[Joey]]
− doc/bugs/Update_freebsd_install_instructions.mdwn
@@ -1,11 +0,0 @@-### Please describe the problem.--The install documentation is out of date at least for the FreeBSD example.--### Please provide any additional information below.--Latest FreeBSD 10.x uses pkgng instead of pkg_add and the correct command is now 'pkg install hs-git-annex'.--If you find the time please update it at https://git-annex.branchable.com/install/ .--[[done]]
− doc/bugs/Upgrade_Does_not_Complete_on_OS_X.mdwn
@@ -1,32 +0,0 @@-### Please describe the problem.--Every time git-annex launches (after a reboot). It prompts me to finish upgrade, even though the binary is not updated. (All my repos are set to not auto update and this happens on all my repos).---### What steps will reproduce the problem?--Relaunching git-annex.---### What version of git-annex are you using? On what operating system?--OS X 10.9--git-annex version: 5.20140419-g477c0c0-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL -remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> This seems to be a duplicate of this bug: [[Upgrade_impossible_om_Mac_OSX]]. Please follow up there with any details you can provide. --[[Joey]]-> [[dup|done]]
− doc/bugs/Visual_glitch_while_xmpp_pairing.mdwn
@@ -1,14 +0,0 @@-### Please describe the problem.-When pairing with xmpp buddies, the well does not expand to fit the whole buddy list--### What steps will reproduce the problem?-Go to the pairing menu--### What version of git-annex are you using? On what operating system?- 5.20140717 from the homebrew bottle--### Please provide any additional information below.----> [[fixed|done]] --[[Joey]]
− doc/bugs/WORM_keys_differ_depending_on_working_dir_during_add.mdwn
@@ -1,68 +0,0 @@-### Please describe the problem.--While the docs say that WORM keys are a function of a files basename,-when doing «git annex add .», the generated keys will actually contain-the relative path (with slashes escaped). Not sure whether this is by-design or a bug in its own right. I suppose that to minimize the chance-of collisions on WORM, having the path within the key is preferable.--A problem about this, however, is that the path in the key is not-stable, but varies with the working dir when doing the «git annex-add». So, when a file is added from one working dir (say, the repo-base), later unlocked, and readded from another working dir (say,-somewhere below the repo base), this will generate a different key-even when the file has not been touched.--Is there a rationale for this variability, or should «add» canonicalize-the encoded paths to the repo root?---### What steps will reproduce the problem?---[[!format sh """--# Init-$ git init /tmp/foo-$ cd /tmp/foo && git annex init--$ mkdir baz-$ touch baz/quux--# Add file with working dir at repo root.-$ git annex add --backend=WORM baz-$ git commit -m "first"--# Key includes relative path.-$ readlink baz/quux-../.git/annex/objects/8x/8V/WORM-s0-m1406981486--baz%quux/WORM-s0-m1406981486--baz%quux--# Unlock and readd with working dir at path below repo root.-$ cd baz-$ git annex unlock quux--$ git annex add quux-$ git com -m "second"--# Relative path is anchored to working dir instead of repo root.-$ readlink quux-../.git/annex/objects/9G/72/WORM-s0-m1406981486--quux/WORM-s0-m1406981486--quux--# End of transcript or log.-"""]]--### What version of git-annex are you using? On what operating system?-Linux 3.15.8--git-annex 5.20140716--> This was a bug. I suspect it got broken a while ago and I didn't noticed-> since I rarely use WORM and when I do it's almost always adding files-> in the current directory. [[fixed|done]] to take the filename only.-> -> I don't think it's a problem to have the subdirectory path in the-> existing WORM keys, other than the problems you note with this meaning-> a later add of the same file will generate a different key. So I have not-> done anything to try to fix up existing keys. (If this became a problem,-> I could add upgrade code to the WORM backend.)-> --[[Joey]]
− doc/bugs/Webapp_fails_to_resolve_ipv6_hostname.mdwn
@@ -1,15 +0,0 @@-What steps will reproduce the problem?--From the webapp, go to Configuration > Manage repositories > Remote server. Enter a hostname that only has an IPv6 hostname (e.g. ipv6.google.com). Click Check this server.--What is the expected output? What do you see instead?--Expect the application to attempt to check the server via SSH. Instead, it results in error "cannot resolve host name".--What version of git-annex are you using? On what operating system?--git-annex 3.20120924 on Debian testing (amd64).--Please provide any additional information below.--> Thanks, [[fixed|done]] --[[Joey]]
− doc/bugs/Weird_directories_appearing.mdwn
@@ -1,82 +0,0 @@-Hello!--Can someone explain this behavior to me? System is ArchLinux with the newest prebuilt tarballs as of Jan 12th.-- ~ % mkdir GA1- ~ % cd GA1- ~/GA1 % git init - Initialized empty Git repository in /home/florian/GA1/.git/- ~/GA1 (git)-[master] % git annex init- init ok- (Recording state in git...)- ~/GA1 (git)-[master] % echo "GA1" > testfile- ~/GA1 (git)-[master] % git annex add .- add testfile ok- (Recording state in git...)- ~/GA1 (git)-[master] % git annex sync- commit ok- ~/GA1 (git)-[master] % cd ..-- ~ % git clone GA1 GA2- Cloning into 'GA2'...- done.- ~ % cd GA2- ~/GA2 (git)-[master] % git annex init- init ok- (Recording state in git...)- ~/GA2 (git)-[master] % git annex get .- get testfile (merging origin/git-annex into git-annex...)- (Recording state in git...)- (from origin...) ok- (Recording state in git...)- ~/GA2 (git)-[master] % git annex unlock testfile - unlock testfile (copying...) ok- ~/GA2 (git)-[master] % echo "GA2" > testfile - commit ok- pull origin - ok- push origin - Counting objects: 27, done.- Delta compression using up to 4 threads.- Compressing objects: 100% (16/16), done.- Writing objects: 100% (20/20), 1.88 KiB | 0 bytes/s, done.- Total 20 (delta 2), reused 0 (delta 0)- To /home/florian/GA1- f0654aa..8d0bdf9 master -> synced/master- * [new branch] git-annex -> synced/git-annex- ok- ~/GA2 (git)-[master] % cd ../GA1-- ~/GA1 (git)-[master] % git annex sync- (merging synced/git-annex into git-annex...)- commit ok- merge synced/master - Updating f0654aa..8d0bdf9- Fast-forward- e6a/e57/SHA256E-s4--241dca52164d30bee7a0be8c097f02e382acff765a9d4136718a37abd437a57c.log | 1 +- testfile | 2 +-- 2 files changed, 2 insertions(+), 1 deletion(-)- create mode 100644 e6a/e57/SHA256E-s4--241dca52164d30bee7a0be8c097f02e382acff765a9d4136718a37abd437a57c.log- ok-- ~/GA1 (git)-[master] % ll- total 4- drwxr-x--- 1 florian florian 6 Jan 12 13:59 e6a/- lrwxrwxrwx 1 florian florian 178 Jan 12 13:59 testfile -> .git/annex/objects/V6/ZM/SHA256E-s4--241dca52164d30bee7a0be8c097f02e382acff765a9d4136718a37abd437a57c/SHA256E-s4--241dca52164d30bee7a0be8c097f02e382acff765a9d4136718a37abd437a57c-- ~/GA1 (git)-[master] % cat e6a/e57/SHA256E-s4--241dca52164d30bee7a0be8c097f02e382acff765a9d4136718a37abd437a57c.log- 1389531554.951523s 1 dedf9799-0131-4773-8939-8f76294fa8e9--Where does the e6a directory comes from? I don't suspect a bug there, but in my conception of git-annex.--Thanks!-Florian--> [[fixed|done]]-> -> I know someone reported this a looong time ago (years), and I cannot find-> that bug report. Probably I closed it because I was unable to find a way-> to reproduce it.-> -> The spurious log files can be safely removed from your working tree.-> --[[Joey]]
− doc/bugs/Windows_build_has_hardcoded_paths.mdwn
@@ -1,39 +0,0 @@-### Please describe the problem.--The windows build seems to be hardcoded to finding git at c:\program files\Git\-I have git in another directory. Git-annex does not find it.--### What steps will reproduce the problem?--Install git-annex. Run the webapp.-Get error "Internal Server Error -You need to install git in order to use git-annex!"--### What version of git-annex are you using? On what operating system?--5.20140817-g71c2250.-Windows XP.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--[[!meta title="git-annex on windows does not find msgit if user does not let msysgit add itsselt to PATH"]]--> I don't think it's any better for git-annex's installer to prompt for the-> path to git, than it is for msysgit's installer to prompt for adding it-> to the system path.-> -> The best fix would be to bundle msysgit into the git-annex installer-> along with all the other stuff. But, that adds build-time complications-> I would rather avoid.->-> For now, I am going to treat this as a documentation problem;-> I've updated the install page to be clear that msysgit needs to be-> installed into PATH. [[done]] --[[Joey]]
− doc/bugs/Windows_daemon_silently_dies.mdwn
@@ -1,132 +0,0 @@-### Please describe the problem.--Using the latest build, when the agent is started, it works ... and works ... and works ... until it silently dies at some point.--### What steps will reproduce the problem?--I hope this will reproduce:--* Create a remote with an invalid host which is not reachable-* Start git-annex-autostart.vbs-* Wait 5-30 minutes until no git.exe/git-annex.exe are visible any more in task manager (for my current test it took 10 minutes)-* Inspect the logs--### What version of git-annex are you using? On what operating system?-- $ git annex version- git-annex version: 5.20140715-g622a376- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 2 3 4--### Please provide any additional information below.--I hope/think that this is also related to what I wrote in:-https://git-annex.branchable.com/forum/Restricting_SSH_+_supply_key--Here the assistant apparently takes the wrong ssh.exe (from bin/ instead than cmd/ directory). This results in the fact that for some reason .ssh/config is not used.-In any case, the host alias can not be resolved.-At some point git annex assistant seems to die because of that, but I am not sure.-In any case, a non-reachable server should not be the cause that the assistant dies.-The last entries of daemon.log are always:-- git-annex: <stdin>: hGetLine: invalid argument (Bad file descriptor)- failed- git-annex: assistant: 1 failed --So I think this is the cause.--[[!format sh """-[2014-07-14 21:21:19 Pacific Daylight Time] main: starting assistant version 5.20140715-g622a376-[2014-07-14 21:21:19 Pacific Daylight Time] Cronner: You should enable consistency checking to protect your data. -[2014-07-14 21:21:24 Pacific Daylight Time] TransferScanner: Syncing with 192.168.200.121 -(scanning...) [2014-07-14 21:21:25 Pacific Daylight Time] Watcher: Performing startup scan-ssh: Could not resolve hostname annex: hostname nor servname provided, or not known-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-ssh: Could not resolve hostname annex: hostname nor servname provided, or not known-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-sssh: Could not resolve hostname annex: hostname nor servname provided, or not known-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-ssh: Could not resolve hostname annex: hostname nor servname provided, or not known--ssh: Could not resolve hostname annex: hostname nor servname provided, or not known-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-sssh: Could not resolve hostname annex: hostname nor servname provided, or not known-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-(started...) [2014-07-14 21:21:43 Pacific Daylight Time] Committer: Committing changes to git-[2014-07-14 21:21:43 Pacific Daylight Time] Pusher: Syncing with 192.168.200.121 -ssh: Could not resolve hostname annex: hostname nor servname provided, or not known-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-ssh: Could not resolve hostname annex: hostname nor servname provided, or not known-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-ssh: Could notssh: Could not resolve hostname annex: hostname nor servname provided, or not known-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-07-14 21:22:03 Pacific Daylight Time] Committer: Committing changes to git-fatal: Unable to create 'c:\data\annex\.git/index.lock': File exists.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-fatal: Unable to create 'c:\data\annex\.git/index.lock': File exists.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-Committer crashed: failed to read sha from git write-tree-[2014-07-14 21:22:03 Pacific Daylight Time] Committer: warning Committer crashed: failed to read sha from git write-tree-ssh: Could not resolve hostname annex: hostname nor servname provided, or not known-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-ssh: Could not resolve hostname annex: hostname nor servname provided, or not known--ssh: Could not resolve hostname annex: hostname nor servname provided, or not known--ssh: Could not resolve hostname annex: hostname nor servname provided, or not known--ssh: Could not resolve hostname annex: hostname nor servname provided, or not known--ssh: Could not resolve hostname annex: hostname nor servname provided, or not known--Network.Socket.ByteString.send: does not exist (No such file or directory)-Network.Socket.ByteString.send: does not exist (No such file or directory)--(Recording state in git...)-(Recording state in git...)--git-annex: <stdin>: hGetLine: invalid argument (Bad file descriptor)-failed-git-annex: assistant: 1 failed -"""]]--[[!tag confirmed]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/Windows_file_timestamp_timezone_madness.mdwn
@@ -1,31 +0,0 @@-Windows has an unfortunate handling of time zones, which means that when-the time zone is changed (or DST changes), the timestamps of files also-appear to change.--This means that after such a change, git-annex will see new mtimes, and-want to re-checksum every file in the repo.--[[!tag confirmed]]--> Update: Actually, I seem to have been getting confused by behavior of-> cygwin terminal setting TZ. That indeed led to timestamp changes when the-> time zone changed. I have made git-annex unset TZ to avoid this.-> -> Without TZ set, time stamps are actually stable across time zone changes.-> Ie, a simple program to read the time stamp of a file and print it-> always shows the same thing, before and after a timezone change.-> -> However, and here's where it gets truely ghastly: A program that stats a-> file in a loop will see its timestamp change when the timezone changes.-> I suspect this might be a bug in the Haskell RTS caching something it-> should not. Stopping and re-running the program gets back to the-> original timestamp.->-> I have not tested DST changes, but it's hard to imagine it being any-> worse than the above behavior.-> -> So, that's insane then. We can't trust timestamps to be stable on windows -> when git-annex is running for a long period of time. --[[Joey]]-> -> > [[fixed|done]], using the inode sentinal file to detect when windows-> > has lost its mind, and calculating its delta from insanity. --[[Joey]]
− doc/bugs/Wrong_port_while_configuring_ssh_remote.mdwn
@@ -1,35 +0,0 @@-### Please describe the problem.--When the assistant connects the second time during adding a ssh remote, it assumes port 22 when different port is given.--### What steps will reproduce the problem?--Adding a ssh git remote with non-standard port.--### What version of git-annex are you using? On what operating system?--GNU/Linux, Ubuntu 12.10, amd64, git-annex 4.20130627-g728b27a--Happens on android as well.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--Error message (nothing related in daemon.log):--Failed to make repository--Something went wrong setting up the repository on the remote server.--Transcript:--ssh: connect to host xxxxx port 22: Connection refused--# End of transcript or log.-"""]]--> [[Fixed|done]]; this bug was introcuded in version-> 4.20130627 while making some other ssh fixes. --[[Joey]]
− doc/bugs/Zombie_processes_and__47__or_stuck_git_processes.mdwn
@@ -1,44 +0,0 @@-### Please describe the problem.-git-annex assistant is currently running. Here is the output of **ps -A u | grep -i git**:--[[!format sh """-5457 pts/2 Z+ 0:00 [git-annex] <defunct>-5510 ? Sl 0:05 git-annex assistant-5522 ? S 0:00 git --git-dir=/home/me/annex/.git --work-tree=/home/me/annex cat-file --batch-5573 ? S 0:00 git --git-dir=/home/me/annex/.git --work-tree=/home/me/annex cat-file --batch-5679 ? SN 0:00 git --git-dir=/home/me/annex/.git --work-tree=/home/me/annex check-attr -z --stdin annex.backend annex.numcopies ---5680 ? Z 0:03 [git-annex] <defunct>-5710 ? Z 0:00 [git-annex] <defunct>-5732 pts/2 Z+ 0:00 [git-annex] <defunct>-5752 pts/2 Z+ 0:00 [git-annex] <defunct>-5785 ? Ss 0:00 ssh: .git/annex/ssh/example.net [mux] -5905 ? Z 0:00 [git-annex] <defunct>-5923 ? Z 0:00 [git-annex] <defunct>-6513 pts/2 Z+ 0:00 [git-annex] <defunct>-6552 ? Z 0:00 [git-annex] <defunct>-7797 ? Z 0:00 [git-annex] <defunct>-7873 pts/2 Z 0:00 [git-annex] <defunct>-8708 pts/2 Z+ 0:00 [git-annex] <defunct>-9821 ? Z 0:00 [git-annex] <defunct>-9841 pts/2 Z+ 0:00 [git-annex] <defunct>-10462 ? Z 0:00 [git-annex] <defunct>-10522 pts/2 Z 0:00 [git-annex] <defunct>-12777 pts/2 Z+ 0:00 [git-annex] <defunct>-13878 pts/2 Z+ 0:00 [git-annex] <defunct>-14254 ? Z 0:00 [git-annex] <defunct>-14276 pts/2 Z+ 0:00 [git-annex] <defunct>-15932 ? Sl 0:00 git-annex transferkeys --readfd 37 --writefd 20-16022 pts/2 Sl 0:00 git-annex transferkeys --readfd 28 --writefd 22-16079 pts/2 S 0:00 git --git-dir=/mnt/debian/home/me/annex-backup/.git --work-tree=/mnt/debian/home/me/annex-backup cat-file --batch-16081 ? S 0:00 git --git-dir=/home/me/annex/.git --work-tree=/home/me/annex cat-file --batch-31565 pts/2 Sl+ 0:20 git-annex webapp-31580 pts/2 S+ 0:00 git --git-dir=/mnt/debian/home/me/annex-backup/.git --work-tree=/mnt/debian/home/me/annex-backup cat-file --batch-31590 pts/2 S+ 0:00 git --git-dir=/mnt/debian/home/me/annex-backup/.git --work-tree=/mnt/debian/home/me/annex-backup cat-file --batch-31618 pts/2 S+ 0:00 git --git-dir=/mnt/debian/home/me/annex-backup/.git --work-tree=/mnt/debian/home/me/annex-backup cat-file --batch-31635 ? Sl 9:26 /usr/lib/firefox/firefox /mnt/debian/home/me/annex-backup/.git/annex/webapp.html-31689 pts/2 SN+ 0:00 git --git-dir=/mnt/debian/home/me/annex-backup/.git --work-tree=/mnt/debian/home/me/annex-backup check-attr -z --stdin annex.backend annex.numcopies ---31812 pts/2 Z 0:00 [git-annex] <defunct>-31835 ? Ss 0:02 ssh: .git/annex/ssh/example.net [mux]-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/__171__transferkey__187___fails_for_bare_remotes.mdwn
@@ -1,21 +0,0 @@-### Please describe the problem.--I wanted to inspect the state of an object present in a bare remote-without touching the working copy. So I issued «transferkey $KEY --from-bare-remote»; however, even for keys that are definitely present on-the remote, this would fail with «requested key is not present».--The same method, when using a non-bare repo in «--from», would succeed-under otherwise identical conditions.--### What steps will reproduce the problem?--Cf. above.--### What version of git-annex are you using? On what operating system?--git-annex 5.20140708--Linux 3.15.4--> [[done]] not a bug per comment.
− doc/bugs/__34__old__34___and___34__new__34___hash_formats_are_mixed_up.mdwn
@@ -1,31 +0,0 @@-~~~~-$ git annex version-git-annex version: 5.20140818-g10bf03a-~~~~--When repository was initially created, it used "old" hashing from http://git-annex.branchable.com/internals/hashing/ . After some operations, annex was upgraded to "new" format. However, symlinks are still in "old" format and dangling. "git annex fsck", "git annex repair", "git annex pre-commit" - none helps.--~~~~-$ ls -l pics-lrwxrwxrwx 1 pfalcon pfalcon 199 Jan 22 2012 IMG_3776.JPG -> ../.git/annex/objects/KM/j6/SHA256E-s688630--5bc2e8beb7a57f6fbcd7d9321cd5283f04448ea475099dac07ae38f002208040.JPG/SHA256E-s688630--5bc2e8beb7a57f6fbcd7d9321cd5283f04448ea475099dac07ae38f002208040.JPG-lrwxrwxrwx 1 pfalcon pfalcon 199 Jan 22 2012 renamed2.jpg -> ../.git/annex/objects/7F/z3/SHA256E-s676047--3cd28892ee54aba13e074f230709b2c3b87915ff36efd9be3ddfc603e92ecdda.JPG/SHA256E-s676047--3cd28892ee54aba13e074f230709b2c3b87915ff36efd9be3ddfc603e92ecdda.JPG-lrwxrwxrwx 1 pfalcon pfalcon 199 Jan 22 2012 renamed.jpg -> ../.git/annex/objects/W1/vK/SHA256E-s585398--005fe0534d6cc17a3536c1817b091d00249834c338f289ec6569e9f262889251.JPG/SHA256E-s585398--005fe0534d6cc17a3536c1817b091d00249834c338f289ec6569e9f262889251.JPG--$ find .git/annex/objects/-.git/annex/objects/-.git/annex/objects/219-.git/annex/objects/219/741-.git/annex/objects/219/741/SHA256E-s585398--005fe0534d6cc17a3536c1817b091d00249834c338f289ec6569e9f262889251.JPG-.git/annex/objects/219/741/SHA256E-s585398--005fe0534d6cc17a3536c1817b091d00249834c338f289ec6569e9f262889251.JPG/SHA256E-s585398--005fe0534d6cc17a3536c1817b091d00249834c338f289ec6569e9f262889251.JPG-.git/annex/objects/7a6-.git/annex/objects/7a6/632-.git/annex/objects/7a6/632/SHA256E-s688630--5bc2e8beb7a57f6fbcd7d9321cd5283f04448ea475099dac07ae38f002208040.JPG-.git/annex/objects/7a6/632/SHA256E-s688630--5bc2e8beb7a57f6fbcd7d9321cd5283f04448ea475099dac07ae38f002208040.JPG/SHA256E-s688630--5bc2e8beb7a57f6fbcd7d9321cd5283f04448ea475099dac07ae38f002208040.JPG-.git/annex/objects/df3-.git/annex/objects/df3/9a8-.git/annex/objects/df3/9a8/SHA256E-s676047--3cd28892ee54aba13e074f230709b2c3b87915ff36efd9be3ddfc603e92ecdda.JPG-.git/annex/objects/df3/9a8/SHA256E-s676047--3cd28892ee54aba13e074f230709b2c3b87915ff36efd9be3ddfc603e92ecdda.JPG/SHA256E-s676047--3cd28892ee54aba13e074f230709b2c3b87915ff36efd9be3ddfc603e92ecdda.JPG-~~~~--> Unforunately, I cannot see through the attitude problem to a clear bug-> report. Lacking time/energy to try to coax one out. [[done]] --[[Joey]]
− doc/bugs/__34__transfers_in_progress__34___gets_the_direction_wrong.mdwn
@@ -1,55 +0,0 @@-### Please describe the problem.-- 07:32 warp@18-volt:/mnt/zooyork/annex/somerepo (master)$ git annex info --fast- repository mode: indirect- trusted repositories: 0- semitrusted repositories: 4- 00000000-0000-0000-0000-000000000001 -- web- 3dca408f-ccfd-48df-a8a0-b7d517a482ef -- zooyork [here]- 9fbb4e2c-4ed9-47b4-877c-74d2eeea6296 -- [kirby]- d1b57403-2bc2-41d8-9a8e-eec0d3f31e67 -- [pucca]- untrusted repositories: 0- transfers in progress: - downloading folder/some-large-file.mp4 from pucca- available local disk space: 232.2 gigabytes (+1 megabyte reserved)--The "transfers in progress" section of the above "git annex info" output describes a file being downloaded from pucca, presumably to [here], which is zooyork. This does not describe the transfer correctly, when I ran the "git annex info --fast" command another git annex process was downloading folder/some-large-file.mp4 from zooyork to pucca (so, in the other direction than git annex info described).--### What steps will reproduce the problem?--1. Make two regular git annex repositories, add some big files so a transfer takes long enough that you can run some git annex commands while the transfer is ongoing-2. cd /repo/a ; git annex get a-big-file.mp4 --from=b-3. (in a different window), cd /repo/b ; git annex info --fast--### What version of git-annex are you using? On what operating system?-- 07:37 warp@18-volt:/mnt/zooyork/annex$ git annex version- git-annex version: 5.20141105-g8b19598- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external-- 07:37 warp@18-volt:/mnt/zooyork/annex$ lsb_release -a- No LSB modules are available.- Distributor ID: Ubuntu- Description: Ubuntu 14.04 LTS- Release: 14.04- Codename: trusty---### Please provide any additional information below.--If you need more info, I'm "kuno" in the #git-annex IRC channel.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> When I follow those steps, I see "uploading bigfile" in repo B,-> which is indeed the case since repo A is downloading that file from B.-> -> I suspect you're the one who got confused. [[done]] --[[Joey]]
− doc/bugs/__39__copy_destdir__61____60__path__62____39___fails.mdwn
@@ -1,56 +0,0 @@-### Please describe the problem.--Using `copy --destdir=<path>` fails.--### What steps will reproduce the problem?--~~~-% ./Setup.hs configure --prefix=/usr-% ./Setup.hs build-% ./Setup.hs copy --destdir=my/pkg/dir-~~~--### What version of git-annex are you using? On what operating system?--5.20150731 on Linux (Arch Linux)--### Please provide any additional information below.--The steps in `myPostCopy` doesn't consider the destination directory, the following change is enough for my uses:--~~~-Index: habs/git-annex/src/git-annex-5.20150731/Setup.hs-===================================================================---- habs.orig/git-annex/src/git-annex-5.20150731/Setup.hs-+++ habs/git-annex/src/git-annex-5.20150731/Setup.hs-@@ -27,13 +27,13 @@ main = defaultMainWithHooks simpleUserHo- }- - myPostCopy :: Args -> CopyFlags -> PackageDescription -> LocalBuildInfo -> IO ()--myPostCopy _ (CopyFlags { copyVerbosity }) pkg lbi = do-+myPostCopy _ flags pkg lbi = do- installGitAnnexShell dest verbosity pkg lbi- installManpages dest verbosity pkg lbi-- installDesktopFile dest verbosity pkg lbi-+ -- installDesktopFile dest verbosity pkg lbi- where-- dest = NoCopyDest-- verbosity = fromFlag copyVerbosity-+ dest = fromFlag $ copyDest flags-+ verbosity = fromFlag $ copyVerbosity flags- - installGitAnnexShell :: CopyDest -> Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()- installGitAnnexShell copyDest verbosity pkg lbi =-~~~--As you see I commented out installation of desktop files completely for the moment. I don't really need them, and they require larger changes to be correct.--> So, by "fails", you mean it installs to ~/.cabal instead of the speficied-> location.-> -> And, the issue with the desktop file installation is that it's not inside-> ~/.cabal at all.-> -> I've applied your patch, thanks. And dealt with the desktop file by-> making it not install it anywhere, unless it's installing to the regular-> ~/.cabal location. [[done]] --[[Joey]]
− doc/bugs/__39__git_annex_get__39___returns_success_when_file_not_found.mdwn
@@ -1,30 +0,0 @@-### Please describe the problem.-When attempting to 'git annex get' a file that does not exist in the git repository, git-annex correctly reports "not found". But it still returns exit code 0, incorrectly indicating success. This is problematic for scripting.--### What steps will reproduce the problem?-See transcript--### What version of git-annex are you using? On what operating system?-git-annex 5.20140517.4 as supplied by 'git-annex' aptitude package on Ubuntu 12.04.4 LTS (32-bit) --### Please provide any additional information below.--[[!format sh """--henry@commsbox:~/work/tmp$ git init test-Initialized empty Git repository in /home/henry/work/tmp/test/.git/-henry@commsbox:~/work/tmp$ cd test-henry@commsbox:~/work/tmp/test$ git annex init-init ok-(Recording state in git...)-henry@commsbox:~/work/tmp/test$ git annex get nonexistent.file-git-annex: nonexistent.file not found-henry@commsbox:~/work/tmp/test$ echo $?-0---"""]]--> Ok, I can find no reason why it was implemented as a warning in -> 5f3661238de9f31e6fed0be74fca9d5f1659278c in the bug report associated-> with that commit. So, promoted to error. [[done]] --[[Joey]]
− doc/bugs/__96__git_annex_add_.__96___fails_for_all_files_if_one_fails.mdwn
@@ -1,34 +0,0 @@-### Please describe the problem.--I do `git annex add .` to add all new files. However I'm busy copying a big file. This file fails with "... changed while it was being added".-When the `add` ends, none of the files have been added.--I would expect all the files except the one that was changing to be added.--### What steps will reproduce the problem?--Add files while changing one.--### What version of git-annex are you using? On what operating system?--5.20140412ubuntu1--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> I don't know if I would call this a bug, since you can just re-run the-> command to pick up where it left off. -> -> However, `git annex add` was actually changed in -> [[!commit efb37e7c789921f3f8705d8a5d42d41d9343a00d]] to not-> stop when it fails to add one file, and continue adding the rest.-> So, this is already [[done]]. You just need to get a -> version of git-annex from this April, rather than April 2014..-> --[[Joey]]
− doc/bugs/__96__git_annex_import__96___clobbers_mtime.mdwn
@@ -1,62 +0,0 @@-### Please describe the problem.--mtimes are clobbered with what I think is the time of the first time `git annex` saw a file in that directory on all files which are `git annex import`ed.---### What steps will reproduce the problem?-- richih@eudyptes (git)-[master] ~/killme/target % date; stat ../source/*; date; git annex import ../source/*; date; stat *; date- Tue Jul 30 01:41:43 CEST 2013- File: ‘../source/foo’- Size: 0 Blocks: 0 IO Block: 4096 regular empty file- Device: 804h/2052d Inode: 110095 Links: 1- Access: (0644/-rw-r--r--) Uid: ( 1000/ richih) Gid: ( 1000/ richih)- Access: 2013-07-30 01:41:03.860703428 +0200- Modify: 2013-07-30 01:41:03.860703428 +0200- Change: 2013-07-30 01:41:03.860703428 +0200- Birth: -- File: ‘../source/foobar’- Size: 0 Blocks: 0 IO Block: 4096 regular empty file- Device: 804h/2052d Inode: 110104 Links: 1- Access: (0644/-rw-r--r--) Uid: ( 1000/ richih) Gid: ( 1000/ richih)- Access: 2013-07-30 01:41:05.512703349 +0200- Modify: 2013-07-30 01:41:05.512703349 +0200- Change: 2013-07-30 01:41:05.512703349 +0200- Birth: -- Tue Jul 30 01:41:43 CEST 2013- import foo (checksum...) ok- import foobar (checksum...) ok- (Recording state in git...)- Tue Jul 30 01:41:43 CEST 2013- File: ‘foo’ -> ‘.git/annex/objects/pX/ZJ/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855’- Size: 178 Blocks: 8 IO Block: 4096 symbolic link- Device: 804h/2052d Inode: 268638577 Links: 1- Access: (0777/lrwxrwxrwx) Uid: ( 1000/ richih) Gid: ( 1000/ richih)- Access: 2013-07-30 01:41:43.704701516 +0200- Modify: 2013-07-30 01:19:41.000000000 +0200- Change: 2013-07-30 01:41:43.700701516 +0200- Birth: -- File: ‘foobar’ -> ‘.git/annex/objects/pX/ZJ/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855’- Size: 178 Blocks: 8 IO Block: 4096 symbolic link- Device: 804h/2052d Inode: 268774374 Links: 1- Access: (0777/lrwxrwxrwx) Uid: ( 1000/ richih) Gid: ( 1000/ richih)- Access: 2013-07-30 01:41:43.704701516 +0200- Modify: 2013-07-30 01:19:41.000000000 +0200- Change: 2013-07-30 01:41:43.700701516 +0200- Birth: -- Tue Jul 30 01:41:43 CEST 2013- richih@eudyptes (git)-[master] ~/killme/target %---### What version of git-annex are you using? On what operating system?-- git-annex version: 4.20130709- build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP- local repository version: 3- default repository version: 3- supported repository versions: 3 4- upgrade supported from repository versions: 0 1 2--Debian unstable amd64--> [[fixed|done]] --[[Joey]]
− doc/bugs/__96__minimal_build__39____fails_due_to_missing_stm_dependency.mdwn
@@ -1,95 +0,0 @@-### Please describe the problem.--Building a recent git-annex with cabal with the `minimal build'-options given in the installation instructions fails. It is probably-just a matter of fixing the dependencies in the cabal file.--### What steps will reproduce the problem?-Compile with:--cabal install git-annex-5.20140108 --bindir=$HOME/bin -f"-assistant -webapp -webdav -pairing -xmpp -dns"--### What version of git-annex are you using? On what operating system?-Linux 2.6.32-5-686 i686 GNU/Linux---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-Resolving dependencies...-[ 1 of 27] Compiling Utility.PartialPrelude ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/PartialPrelude.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/PartialPrelude.o )-[ 2 of 27] Compiling Utility.FileSystemEncoding ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/FileSystemEncoding.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/FileSystemEncoding.o )-[ 3 of 27] Compiling Utility.Applicative ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/Applicative.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/Applicative.o )-[ 4 of 27] Compiling Utility.Data ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/Data.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/Data.o )-[ 5 of 27] Compiling Utility.Exception ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/Exception.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/Exception.o )-[ 6 of 27] Compiling Utility.Tmp ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/Tmp.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/Tmp.o )-[ 7 of 27] Compiling Utility.Env ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/Env.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/Env.o )-[ 8 of 27] Compiling Utility.UserInfo ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/UserInfo.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/UserInfo.o )-[ 9 of 27] Compiling Utility.OSX ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/OSX.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/OSX.o )-[10 of 27] Compiling Utility.Monad ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/Monad.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/Monad.o )-[11 of 27] Compiling Utility.Misc ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/Misc.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/Misc.o )-[12 of 27] Compiling Utility.Process ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/Process.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/Process.o )-[13 of 27] Compiling Utility.Path ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/Path.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/Path.o )-[14 of 27] Compiling Utility.FreeDesktop ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/FreeDesktop.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/FreeDesktop.o )-[15 of 27] Compiling Assistant.Install.AutoStart ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Assistant/Install/AutoStart.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Assistant/Install/AutoStart.o )-[16 of 27] Compiling Utility.SafeCommand ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/SafeCommand.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/SafeCommand.o )-[17 of 27] Compiling Utility.ExternalSHA ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/ExternalSHA.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/ExternalSHA.o )-[18 of 27] Compiling Utility.Directory ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Utility/Directory.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Utility/Directory.o )-[19 of 27] Compiling Common ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Common.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Common.o )-[20 of 27] Compiling Git.Version ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Git/Version.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Git/Version.o )-[21 of 27] Compiling Config.Files ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Config/Files.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Config/Files.o )-[22 of 27] Compiling Assistant.Install.Menu ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Assistant/Install/Menu.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Assistant/Install/Menu.o )-[23 of 27] Compiling Build.TestConfig ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Build/TestConfig.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Build/TestConfig.o )-[24 of 27] Compiling Build.Version ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Build/Version.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Build/Version.o )-[25 of 27] Compiling Build.Configure ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Build/Configure.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Build/Configure.o )-[26 of 27] Compiling Build.DesktopFile ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Build/DesktopFile.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Build/DesktopFile.o )-[27 of 27] Compiling Main ( /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/Setup.hs, /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/Main.o )-Linking /tmp/git-annex-5.20140108-30015/git-annex-5.20140108/dist/setup/setup ...- checking version...fatal: Not a git repository (or any of the parent directories): .git- 5.20140107- checking UPGRADE_LOCATION... not available- checking git... yes- checking git version... 1.7.2.5- checking cp -a... yes- checking cp -p... yes- checking cp --reflink=auto... yes- checking xargs -0... yes- checking rsync... yes- checking curl... no- checking wget... yes- checking bup... no- checking quvi... no- checking newquvi... no- checking nice... yes- checking ionice... yes- checking nocache... no- checking gpg... gpg- checking lsof... lsof- checking git-remote-gcrypt... not available- checking ssh connection caching... no- checking sha1... sha1sum- checking sha256... sha256sum- checking sha512... sha512sum- checking sha224... sha224sum- checking sha384... sha384sum-Configuring git-annex-5.20140108...-Building git-annex-5.20140108...-Preprocessing executable 'git-annex' for git-annex-5.20140108...--Remote/External.hs:29:8:- Could not find module `Control.Concurrent.STM'- It is a member of the hidden package `stm-2.4.2'.- Perhaps you need to add `stm' to the build-depends in your .cabal file.- Use -v to see a list of the files searched for.-Failed to install git-annex-5.20140108-cabal: Error: some packages failed to install:-git-annex-5.20140108 failed during the building phase. The exception was:-ExitFailure 1---# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/adding_existing_repo_as_remote_in_webapp_may_reset_its_group.mdwn
@@ -1,16 +0,0 @@-Adding eg a ssh remote when the remote repo already exists, in the webapp,-resets its group to transfer. It also clears any preferred content-settings.--Adding existing local repositories or repositories from removable drives-may have the same problems. Didn't check yet.--[[!tag confirmed]] --[[Joey]] --> Fixed for local repos and repos on removable drives. Still open for-> ssh remotes (incl gcrypt). --[[Joey]]-->> Fixed for ssh (including gcrypt) too.->>->> Also affected enabling existing special remotes, like webdav; that's->> also fixed. [[done]] --[[Joey]]
− doc/bugs/addurl_+_sync_vs_addurl_+_commit.mdwn
@@ -1,27 +0,0 @@-### Please describe the problem.--I think this is what happened; I need to go back and check this again (maybe I was just misreading something) but I want to get it written down first.--I've got a git repository, and I just ran git annex init. Then I ran git annex addurl a bunch of times, followed by git annex sync. The result was apparently a repository where the files downloaded by addurl were added using the SHA256 backend rather than the URL backend. I deleted the branches and tried again, but this time after calling git annex addurl a bunch of times I did a normal git commit. This time everything looked fine; the files were all listed in as present in the web remote.--### What steps will reproduce the problem?--[[!format sh """-git annex init-git annex addurl "https://archive.org/download/emularity_engine_jsmess/messnapple2e.js.gz" --file "messnapple2e.js.gz"-git annex sync-"""]]--### What version of git-annex are you using? On what operating system?-- git-annex version: 5.20150412-g2be4834- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA TorrentParser- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL- remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 0 1 2 4-This is on Linux.--> In the lack of any followups, I'm confident this was a case of user-> error, so closing. [[done]] --[[Joey]]
− doc/bugs/addurl_magnet_could_not_download_torrent_file.mdwn
@@ -1,49 +0,0 @@-### Please describe the problem.--Every time I try to `addurl` with `magnet:` I get this error message:-- could not download torrent file--### What steps will reproduce the problem?-- git-annex addurl "magnet:?xt=urn:btih:b548b3b8efce813d71c9355832b4382680b8abf9"--### What version of git-annex are you using? On what operating system?--* git-annex 5.20150409-* ubuntu 14.04 x64--### Please provide any additional information below.--[[!format sh """--git-annex addurl magnet:?xt=urn:btih:b548b3b8efce813d71c9355832b4382680b8abf9-(downloading torrent file...) --04/13 17:16:15 [NOTICE] IPv4 DHT: listening on UDP port 6930--04/13 17:16:15 [NOTICE] IPv4 BitTorrent: listening on TCP port 6890--04/13 17:16:15 [NOTICE] IPv6 BitTorrent: listening on TCP port 6890-[#3e3bb9 74KiB/74KiB(100%) CN:13 SD:1] -04/13 17:16:33 [NOTICE] Download complete: [METADATA]b548b3b8efce813d71c9355832b4382680b8abf9--04/13 17:16:33 [NOTICE] Saved metadata as ../.git/annex/misctmp/URL--magnet&c,63xt,61urn&cbtih&cb548b3b8efce813d71c9355832b4382680b8abf9/meta/b548b3b8efce813d71c9355832b4382680b8abf9.torrent.- -Download Results:-gid |stat|avg speed |path/URI-======+====+===========+=======================================================-3e3bb9|OK | 0B/s|[MEMORY][METADATA]b548b3b8efce813d71c9355832b4382680b8abf9--Status Legend:-(OK):download completed.-addurl magnet:?xt=urn:btih:b548b3b8efce813d71c9355832b4382680b8abf9 - could not download torrent file-failed-git-annex: addurl: 1 failed--"""]]--> Looking at the code, it was looking for a file prefixed by ".torrent",-> but of course that should be suffixed instead. So, [[fixed|done]]-> --[[Joey]]
− doc/bugs/android_4.2.1__44___galaxy_nexus_java.lang.SecurityException.mdwn
@@ -1,41 +0,0 @@-### Please describe the problem.-The app fails to open after the install--### What steps will reproduce the problem?-Downloaded, installed, chose open.--### What version of git-annex are you using? On what operating system?-today's version. android 4.2.1--### Please provide any additional information below.--I also sent this by email.--Falling back to hardcoded app location; cannot find expected files in /data/app-lib-git annex webapp-u0_a72@android:/sdcard/git-annex.home $ git annex webapp-Launching web browser on http://127.0.0.1:48812/?auth=cf45448c3690730f05f1a9567e62c6a3cf8d25c43ed14362c8ae78601de0e96d32d2b02923ba95962e80c9bd8ffab621918dd582741f18160f6e2565af61aba5-Starting: Intent { act=android.intent.action.VIEW dat=http://127.0.0.1:48812/?auth=cf45448c3690730f05f1a9567e62c6a3cf8d25c43ed14362c8ae78601de0e96d32d2b02923ba95962e80c9bd8ffab621918dd582741f18160f6e2565af61aba5 }-java.lang.SecurityException: Permission Denial: startActivity asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL- at android.os.Parcel.readException(Parcel.java:1425)- at android.os.Parcel.readException(Parcel.java:1379)- at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:1906)- at com.android.commands.am.Am.runStart(Am.java:494)- at com.android.commands.am.Am.run(Am.java:109)- at com.android.commands.am.Am.main(Am.java:82)- at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)- at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235)- at dalvik.system.NativeStart.main(Native Method)-failed to start web browser--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/debug.log---# End of transcript or log.-"""]]--This is a duplicate of [[Android_app_permission_denial_on_startup]]--[[closing|done]] as dup. --[[Joey]]
− doc/bugs/android_autobuild_broken.mdwn
@@ -1,4 +0,0 @@-The android build is broken. Annoying evilsplicer failure in the new-bootstrap3 code. --[[Joey]]--[[fixed|done]]
− doc/bugs/annex-rsync-transport_ignored.mdwn
@@ -1,30 +0,0 @@-### Please describe the problem.-I have an rsync remote with the following option in config:-annex-rsync-transport = ssh -i /path/to/private/key--and git annex copy --to <remote> still asks for the remote's password. I've checked and I can ssh into the remote using that key with no problems, here's the --debug output:-- copy SHA256E-s152396--56bcf5e3f72daa1a194b16e42330fe82806cc1dbc6f3bb52888ff5e5c57b8d08.log (gpg) (checking <remote>...) [2014-09-05 13:12:41 CEST] read: rsync ["<user>@<remote>:<remote path>/81c/b5e/'GPGHMACSHA1--7d9470e207a5669e2d9120538b68815274dbf16d/GPGHMACSHA1--7d9470e207a5669e2d9120538b68815274dbf16d'"]- <user>@<remote>'s password: ---Once it has asked for the password twice, it starts using the rsync options correctly to copy and the password is no longer needed, until the next "checking remote…". Maybe the "checking remote…" part ignores the configuration?--### What steps will reproduce the problem?-Use an rsync remote with annex-rsync-transport config set.--### What version of git-annex are you using? On what operating system?-git annex version gives:-- git-annex version: 5.20140814-g9b89b5c- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 0 1 2 4--which is the latest available linux-armel version.--> Also removing didn't use the configured transport. Both [[fixed|done]]-> --[[Joey]]
− doc/bugs/annex_add_doesn__39__t_any_longer_by_default_commit_git-annex.mdwn
@@ -1,43 +0,0 @@-### Please describe the problem.--I thought it was just my failing memory but then our tests started to fail (e.g. https://travis-ci.org/datalad/datalad/builds/69776125#L810): previously (e.g. with 5.20150409+git126-ga29f683-1~ndall+1) git annex add (without -c alwayscommit=False) would commit git-annex branch with information about that file right away, but currently (e.g. with 5.20150610+gitg608172f-1~ndall+1) it doesn't happen any longer. I glanced through the logs but didn't find explicit doc on change of behavior so decided to check if that is intended change?--### What version of git-annex are you using? On what operating system?--5.20150610+gitg608172f-1~ndall+1---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-hopa:/tmp/XX-$> git init-Initialized empty Git repository in /tmp/XX/.git/-2 14055.....................................:Mon 06 Jul 2015 06:12:41 PM EDT:.-(git)hopa:/tmp/XX[master]-$> git annex init-init ok-(recording state in git...)-2 14056.....................................:Mon 06 Jul 2015 06:12:43 PM EDT:.-(git)hopa:/tmp/XX[master]-$> echo 21234 > 2-2 14057.....................................:Mon 06 Jul 2015 06:12:45 PM EDT:.-(git)hopa:/tmp/XX[master]-$> git annex add 2-add 2 ok-(recording state in git...)-2 14058.....................................:Mon 06 Jul 2015 06:12:48 PM EDT:.-(git)hopa:/tmp/XX[master]-$> git annex log -fatal: unrecognized argument: -raw----# End of transcript or log.-"""]]--> `git annex log`, was broken in the last release, and has since been-> fixed (in git). The git-annex branxh is still being committed, as you can-> see with `git log`. [[done]] --[[Joey]]
− doc/bugs/assistant_committer_crash_on_OSX_when_adding_lots_of_files.mdwn
@@ -1,22 +0,0 @@-I've had a report of the assistant failing to commit when there are a lot-of files on OSX Yosemite.--<pre>-Committer crashed: git: createProcess: runInteractiveProcess: exec: resource exhausted (Argument list too long)-[2015-03-22 23:14:42 CET] Committer: warning Committer crashed: git: createProcess: runInteractiveProcess: exec: resource exhausted (Argument list too-long)-</pre>--Probably need to tune the command length limit for !linux. --[[Joey]]--> Investigation suggests this is the problem:-- inRepo (Git.LsFiles.notInRepo False $ map changeFile pending)--> If a lot of new files have been added, the `pending` list can be-> arbitrarily large, and this passes it to git ls-files as parameters.a-> -> It's not the actual commit that fails; that uses Git.Queue and xargs.-> --[[Joey]] -->> [[fixed|done]] --[[Joey]]
− doc/bugs/assistant_creating_.git_directory_inside_bare_repo.mdwn
@@ -1,90 +0,0 @@-### Please describe the problem.-Setting up a git annex repo with the webapp. Adding a small archive removeable disk. -Adding a file to repo. Moving file to archive. The file seems to get copied to the removeable disk-but it is not removed (dropped)from my repo, as I would expect--Before I add the file to the repo, the archive directory on the removeable drive looks like a bare repo.-After adding one file and moving it to the archive folder, a ".git" directory gets created inside the bare repo. -The .git directory contains an annex directory, and nothing else.--Is this behaviour the expected one? As far as I have understood it, the files are supposed to "disapear" from my computer when I move them to the archive folder.---### What steps will reproduce the problem?-Se above--### What version of git-annex are you using? On what operating system?-Version: 5.20131127-g736ce5e-Build flags: Assistant Webapp Pairing S3 WebDAV Inotify DBus XMPP Feeds Quvi TDFA--Chakra linux-Linux black 3.10.18-1-CHAKRA #1 SMP PREEMPT Sat Nov 9 20:18:15 UTC 2013 x86_64 GNU/Linux--git annex installed from prebuilt tar.--### Please provide any additional information below.--[[!format sh """-[2013-11-28 23:25:59 CET] main: starting assistant version 5.20131127-g736ce5e-[2013-11-28 23:25:59 CET] Cronner: You should enable consistency checking to protect your data. -(scanning...) [2013-11-28 23:25:59 CET] Watcher: Performing startup scan-(started...) gcrypt: Development version -- Repository format MAY CHANGE-gcrypt: Repository not found: /run/media/daniel/7090f0c1-abf9-47a1-a186-ba243c498172/test_ark-fatal: Not a git repository: '/run/media/daniel/7090f0c1-abf9-47a1-a186-ba243c498172/test_ark/.git'-[2013-11-28 23:26:21 CET] main: Syncing with 7090f0c1abf947a1a186ba243c498172 -warning: no common commits-From /run/media/daniel/7090f0c1-abf9-47a1-a186-ba243c498172/test_ark- * [new branch] git-annex -> 7090f0c1abf947a1a186ba243c498172/git-annex- * [new branch] master -> 7090f0c1abf947a1a186ba243c498172/master-Already up-to-date.-To /run/media/daniel/7090f0c1-abf9-47a1-a186-ba243c498172/test_ark- * [new branch] git-annex -> synced/git-annex- * [new branch] annex/direct/master -> synced/master-Already up-to-date.-Already up-to-date.-[2013-11-28 23:26:59 CET] Pusher: Syncing with test_ark -To /run/media/daniel/7090f0c1-abf9-47a1-a186-ba243c498172/test_ark- 4d435e3..e548577 git-annex -> synced/git-annex-[2013-11-28 23:27:17 CET] Committer: Adding git-annex..64.tar.gz--(Recording state in git...)-(merging 7090f0c1abf947a1a186ba243c498172/git-annex into git-annex...)-(Recording state in git...)----(Recording state in git...)-add git-annex-standalone-amd64.tar.gz (checksum...) [2013-11-28 23:27:17 CET] Committer: Committing changes to git-[2013-11-28 23:27:17 CET] Pusher: Syncing with test_ark -Already up-to-date.-To /run/media/daniel/7090f0c1-abf9-47a1-a186-ba243c498172/test_ark- e548577..b86f41c git-annex -> synced/git-annex- 658b0f2..f32a646 annex/direct/master -> synced/master-Already up-to-date.-[2013-11-28 23:27:27 CET] Committer: Adding git-annex..64.tar.gz-[2013-11-28 23:27:27 CET] Committer: Committing changes to git-[2013-11-28 23:27:27 CET] Pusher: Syncing with test_ark --git-annex-standalone-amd64.tar.gz-- 32768 0% 0.00kB/s 0:00:00 Already up-to-date.-To /run/media/daniel/7090f0c1-abf9-47a1-a186-ba243c498172/test_ark- b86f41c..806a2dd git-annex -> synced/git-annex- f32a646..5e254e7 annex/direct/master -> synced/master-Already up-to-date.-- 20143752 100% 85.24MB/s 0:00:00 (xfer#1, to-check=0/1)--sent 20146306 bytes received 31 bytes 40292674.00 bytes/sec-total size is 20143752 speedup is 1.00-fatal: Not a git repository: '/run/media/daniel/7090f0c1-abf9-47a1-a186-ba243c498172/test_ark/.git'-fatal: Not a git repository: '/run/media/daniel/7090f0c1-abf9-47a1-a186-ba243c498172/test_ark/.git'-fatal: Not a git repository: '/run/media/daniel/7090f0c1-abf9-47a1-a186-ba243c498172/test_ark/.git'-[2013-11-28 23:27:59 CET] Pusher: Syncing with test_ark -Everything up-to-date---# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/assistant_eats_all_CPU.mdwn
@@ -1,529 +0,0 @@-[[!meta title="debian system runs assistant in tight loop, rather than using select"]]--### Please describe the problem.--After running for a while, the assistant maxes my CPU. I have evidence-here that it is just sitting there, doing apparently nothing (transfers-are finished), eating precious CPU.--Nowadays, I do not let the assistant run on its own, otherwise it makes-my office noisy because the CPU fan starts.--This makes the assistant and the webapp basically unuseable for me:-if i want to use its feature, I must remember to shut down the daemon-every time I am done with it, which seems contrary to the spirit of-the project. :)--### What steps will reproduce the problem?--It's a little unclear. There was a peculiar crash here (power cable-yanked out) during a `git annex copy`, which *was* eating up all CPU,-but mostly through I/O.--That is the purple block in this graph:--![CPU usage during the last 24 hours][cpu-day.png]--Power was yanked out about right after that purple block was gone:--![Uptime in the last 24 hours][uptime-day.png]--Files were copied to an external drive at the time of the crash,-which explains the high iowait. The last lines in daemon.log are:--[[!format txt """-sent 184184937 bytes received 31 bytes 13643330.96 bytes/sec-total size is 184162304 speedup is 1.00-[2013-12-31 23:56:47 EST] Transferrer: Uploaded American ..Queen.avi-[2013-12-31 23:56:47 EST] Pusher: Syncing with backup-To /backup/srv/video- 5155be4..7d904d5 git-annex -> synced/git-annex-"""]]--And daemon.status:--[[!format txt """-lastRunning:1388569856.366405s-scanComplete:True-sanityCheckRunning:False-lastSanityCheck:1387169250.801117s-"""]]--When the machine rebooted, I logged in, and resumed the transfer using-`git annex copy`. The assistant was also started automatically during-my session, but I wasn't aware of that until this morning (7AM) when i-came back to the terminal and noticed how noisy it was.--At that point i did `killall git-annex` and CPU usage returned to-normal, as the frequency of the CPU:--![CPU frequency scaling in the last 24 hours][cpuspeed-day.png]--I am trying to see if I can reproduce this problem reliably - I -just started the assistant again now, and while the CPU usage is-already high, I will forgive it for now because it's doing its -initial scans... Let's see what happens in the afternoon! --[[anarcat]]--Update: I seem to be able to reproduce. I just started the webapp and-the scans were performed. They are now finished, yet the CPU usage is -still high:--[[!format txt """-top - 14:10:20 up 1 day, 1:16, 7 users, load average: 5,51, 3,61, 2,53-Tasks: 292 total, 2 running, 288 sleeping, 0 stopped, 2 zombie-%Cpu(s): 60,9 us, 7,8 sy, 0,6 ni, 29,5 id, 0,8 wa, 0,0 hi, 0,5 si, 0,0 st-KiB Mem: 8162960 total, 6943100 used, 1219860 free, 1065464 buffers-KiB Swap: 4022268 total, 15452 used, 4006816 free, 1983252 cached-- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND-18364 anarcat 20 0 152m 27m 18m S 53,7 0,3 0:35.61 git-annex- 8388 anarcat 20 0 192m 54m 21m S 47,8 0,7 12:55.19 git-annex-18671 anarcat 20 0 157m 33m 18m S 29,9 0,4 0:22.65 git-annex-"""]]--An strace on 18364 yields:--[[!format txt """-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 537245076}) = 0-[pid 18364] <... futex resumed> ) = ? ERESTARTSYS (To be restarted)-[pid 18364] --- SIGVTALRM (Virtual timer expired) @ 0 (0) ----[pid 18364] rt_sigreturn(0x1a) = 202-[pid 18364] futex(0x3de703c, FUTEX_WAIT_PRIVATE, 51, NULL <unfinished ...>-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 256339453}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 537670797}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 256748972}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 538079838}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 257202502}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 538533443}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 257611085}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 538941839}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 258018398}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 539349100}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 258433069}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 539763939}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 258863864}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 540195885}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 259295204}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 540626505}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 259729523}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 541060751}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 260131616}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 541463041}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 260539761}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 541871201}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 260970889}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 542302047}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 261378036}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 542709166}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 261780507}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 543111819}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 262194032}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 543525143}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 262610040}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 543941528}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 263042272}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 544374016}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18366] rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0-[pid 18366] clock_gettime(0x2 /* CLOCK_??? */, {82, 263532359}) = 0-[pid 18366] clock_gettime(0x3 /* CLOCK_??? */, {79, 544864814}) = 0-[pid 18366] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0-[pid 18364] <... futex resumed> ) = ? ERESTARTSYS (To be restarted)-[pid 18364] --- SIGVTALRM (Virtual timer expired) @ 0 (0) ----[pid 18364] rt_sigreturn(0x1a) = 202-[pid 18364] futex(0x3de703c, FUTEX_WAIT_PRIVATE, 51, NULL <unfinished ...>-"""]]-- [cpu-day.png]: http://paste.anarc.at/cpu-day.png- [uptime-day.png]: http://paste.anarc.at/uptime-day.png- [cpuspeed-day.png]: http://paste.anarc.at/cpuspeed-day.png--### What version of git-annex are you using? On what operating system?--Debian wheezy.--[[!format sh """-anarcat@marcos:~$ git annex version-git-annex version: 5.20131109-gf2cb5b9-build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav glacier hook-"""]]--### Please provide any additional information below.--This *may* be related to [[bugs/webapp_takes_100__37___of_the_cpu/]],-but I didn't observe both problems simultaneously so far - ie. the-webapp doesn't need to run for this bug to happen.--Here's the output of top:--[[!format sh """-top - 04:55:01 up 16:01, 10 users, load average: 3,96, 3,72, 3,59-Tasks: 293 total, 6 running, 284 sleeping, 0 stopped, 3 zombie-%Cpu(s): 87,4 us, 10,9 sy, 0,6 ni, 0,1 id, 0,3 wa, 0,0 hi, 0,7 si, 0,0 st-KiB Mem: 8162960 total, 6847120 used, 1315840 free, 1084756 buffers-KiB Swap: 4022268 total, 1320 used, 4020948 free, 2041108 cached-- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND- 8099 anarcat 20 0 144m 28m 18m S 34,0 0,4 460:10.96 git-annex- 6525 anarcat 20 0 436m 295m 18m S 28,4 3,7 448:50.71 git-annex-11146 munin 20 0 25376 6540 1896 R 28,4 0,1 0:00.05 munin-update- 8045 anarcat 20 0 165m 41m 18m S 22,7 0,5 455:14.41 git-annex-11142 root 20 0 32316 7356 2016 R 22,7 0,1 0:00.05 ikisite-11144 aegir 20 0 161m 16m 6608 R 22,7 0,2 0:00.05 php- 2649 liquidso 20 0 222m 54m 5516 S 5,7 0,7 40:40.61 liquidsoap-11149 anarcat 20 0 24448 1552 1072 R 5,7 0,0 0:00.01 top- 1 root 20 0 10644 784 652 S 0,0 0,0 0:01.10 init- 2 root 20 0 0 0 0 S 0,0 0,0 0:00.01 kthreadd- 3 root 20 0 0 0 0 S 0,0 0,0 2:10.09 ksoftirqd/0- 6 root rt 0 0 0 0 S 0,0 0,0 0:00.22 migration/0- 7 root rt 0 0 0 0 S 0,0 0,0 0:00.59 watchdog/0- 8 root rt 0 0 0 0 S 0,0 0,0 0:00.25 migration/1- 10 root 20 0 0 0 0 S 0,0 0,0 2:11.10 ksoftirqd/1- 12 root rt 0 0 0 0 S 0,0 0,0 0:00.17 watchdog/1- 13 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 cpuset- 14 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 khelper- 15 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kdevtmpfs- 16 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 netns- 17 root 20 0 0 0 0 S 0,0 0,0 0:00.17 sync_supers- 18 root 20 0 0 0 0 S 0,0 0,0 0:00.00 bdi-default- 19 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kintegrityd- 20 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kblockd- 22 root 20 0 0 0 0 S 0,0 0,0 0:00.06 khungtaskd- 23 root 20 0 0 0 0 S 0,0 0,0 3:04.23 kswapd0- 24 root 25 5 0 0 0 S 0,0 0,0 0:00.00 ksmd- 25 root 39 19 0 0 0 S 0,0 0,0 0:00.00 khugepaged- 26 root 20 0 0 0 0 S 0,0 0,0 0:00.00 fsnotify_mark- 27 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 crypto- 113 root 20 0 0 0 0 S 0,0 0,0 0:00.01 khubd- 133 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ata_sff- 153 root 20 0 0 0 0 S 0,0 0,0 0:05.68 scsi_eh_0- 158 root 20 0 0 0 0 S 0,0 0,0 0:00.00 scsi_eh_1- 160 root 20 0 0 0 0 S 0,0 0,0 0:00.09 kworker/u:2- 161 root 20 0 0 0 0 S 0,0 0,0 0:00.00 scsi_eh_2- 162 root 20 0 0 0 0 S 0,0 0,0 0:00.00 scsi_eh_3- 163 root 20 0 0 0 0 S 0,0 0,0 0:01.43 kworker/u:3- 294 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kdmflush- 295 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kcryptd_io- 296 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kcryptd- 305 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kdmflush- 307 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kdmflush- 311 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kdmflush- 313 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kdmflush- 341 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kdmflush- 342 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kcryptd_io- 343 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kcryptd- 352 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kdmflush- 354 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kdmflush- 356 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kdmflush- 358 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kdmflush- 361 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kdmflush- 400 root 20 0 0 0 0 S 0,0 0,0 0:00.00 jbd2/dm-1-8- 401 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ext4-dio-unwrit- 468 root 20 0 0 0 0 S 0,0 0,0 0:02.19 kworker/1:2- 538 root 20 0 21804 1804 796 S 0,0 0,0 0:00.10 udevd- 705 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kpsmoused- 878 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 hd-audio0- 890 postfix 20 0 44216 2460 1912 S 0,0 0,0 0:00.00 pickup- 939 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kvm-irqfd-clean- 1150 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 firewire- 1719 root 20 0 0 0 0 S 0,0 0,0 0:03.40 flush-254:3- 1786 root 20 0 0 0 0 S 0,0 0,0 0:00.17 jbd2/dm-2-8- 1787 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ext4-dio-unwrit- 1788 root 20 0 0 0 0 S 0,0 0,0 0:06.60 jbd2/dm-3-8- 1789 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ext4-dio-unwrit- 1790 root 20 0 0 0 0 S 0,0 0,0 0:02.56 jbd2/dm-4-8- 1791 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ext4-dio-unwrit- 1792 root 20 0 0 0 0 S 0,0 0,0 0:01.19 jbd2/dm-8-8- 1793 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ext4-dio-unwrit- 2004 anarcat 20 0 0 0 0 Z 0,0 0,0 0:17.57 chromium- 2379 root 20 0 115m 1796 928 S 0,0 0,0 0:02.16 rsyslogd- 2435 icecast2 20 0 148m 4440 2780 S 0,0 0,1 0:56.15 icecast2- 2488 root 20 0 4112 644 500 S 0,0 0,0 0:00.66 acpid- 2513 daemon 20 0 16668 156 0 S 0,0 0,0 0:00.00 atd- 2536 proxy 20 0 6884 344 196 S 0,0 0,0 0:00.00 polipo- 2573 messageb 20 0 31488 2548 884 S 0,0 0,0 0:00.79 dbus-daemon- 2626 bind 20 0 111m 15m 2276 S 0,0 0,2 0:00.46 named- 2694 root 20 0 82308 3112 2520 S 0,0 0,0 0:00.03 gdm3- 2729 root 20 0 99,3m 4652 3608 S 0,0 0,1 0:00.02 gdm-simple-slav- 2731 root 20 0 178m 27m 9908 S 0,0 0,3 40:30.80 Xorg- 2738 root 20 0 282m 14m 6576 S 0,0 0,2 0:02.98 apache2- 2763 root 20 0 0 0 0 S 0,0 0,0 0:00.92 flush-254:4- 2779 root 20 0 21000 1164 904 S 0,0 0,0 0:00.00 bluetoothd- 2784 avahi 20 0 34236 1876 1460 S 0,0 0,0 0:00.15 avahi-daemon- 2786 avahi 20 0 34032 440 184 S 0,0 0,0 0:00.00 avahi-daemon- 2792 root 10 -10 0 0 0 S 0,0 0,0 0:00.00 krfcommd- 2829 bitlbee 20 0 45216 1136 712 S 0,0 0,0 0:00.00 bitlbee- 2973 root 20 0 136m 3572 2892 S 0,0 0,0 0:00.37 accounts-daemon- 2974 clamav 20 0 45432 2172 1260 S 0,0 0,0 0:26.77 freshclam- 2997 root 20 0 141m 4552 3072 S 0,0 0,1 0:00.21 polkitd- 3021 root 20 0 18876 984 740 S 0,0 0,0 0:00.48 cron- 3062 root 20 0 75948 3436 2304 S 0,0 0,0 0:00.03 cupsd- 3064 colord 20 0 152m 8672 3344 S 0,0 0,1 0:00.10 colord- 3069 root 20 0 126m 4116 2964 S 0,0 0,1 0:00.16 console-kit-dae- 3071 colord 20 0 300m 12m 7932 S 0,0 0,2 0:01.23 colord-sane- 3171 nobody 10 -10 44328 1672 1048 S 0,0 0,0 0:00.88 gpsd- 3178 root 20 0 9204 3508 380 S 0,0 0,0 0:39.47 haveged- 3192 ikiwiki- 20 0 13772 864 728 S 0,0 0,0 0:00.00 git-daemon- 3310 anarcat 20 0 91856 27m 2820 S 0,0 0,3 0:03.30 xterm- 3314 anarcat 20 0 24004 5452 1876 S 0,0 0,1 0:00.54 bash- 3336 root 20 0 152m 4172 3300 S 0,0 0,1 0:00.07 upowerd- 3437 root 20 0 0 0 0 S 0,0 0,0 0:00.00 scsi_eh_6- 3438 root 20 0 0 0 0 S 0,0 0,0 6:52.70 usb-storage- 3470 anarcat 20 0 61648 2516 1912 S 0,0 0,0 0:00.01 gvfs-gphoto2-vo- 3474 anarcat 20 0 78024 2564 2048 S 0,0 0,0 0:02.04 gvfs-afc-volume- 3530 root 20 0 52400 10m 2064 S 0,0 0,1 0:03.34 munin-node- 3599 rtkit 21 1 39632 1344 1112 S 0,0 0,0 0:00.30 rtkit-daemon- 3721 root 20 0 4176 700 560 S 0,0 0,0 0:00.01 mysqld_safe- 3899 anarcat 20 0 85216 21m 2872 S 0,0 0,3 0:00.76 xterm- 3903 anarcat 20 0 23216 4688 1804 S 0,0 0,1 0:00.58 bash- 4108 mysql 30 10 434m 137m 4396 S 0,0 1,7 1:53.14 mysqld- 4109 root 20 0 4084 628 524 S 0,0 0,0 0:00.00 logger- 4209 anarcat 20 0 129m 23m 18m S 0,0 0,3 1:06.16 git-annex- 4226 root 20 0 183m 4888 3504 S 0,0 0,1 0:00.08 gdm-session-wor- 4240 anarcat 20 0 21360 2572 2188 S 0,0 0,0 0:00.34 git- 4431 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kauditd- 4447 anarcat 20 0 4176 664 548 S 0,0 0,0 0:00.03 sh- 4530 ntp 20 0 41052 2284 1644 S 0,0 0,0 0:02.71 ntpd- 4593 postgres 20 0 102m 9008 7680 S 0,0 0,1 0:01.04 postgres- 4667 anarcat 20 0 12384 1072 704 S 0,0 0,0 0:00.11 ssh-agent- 4668 anarcat 20 0 20164 372 156 S 0,0 0,0 0:01.03 gpg-agent- 4671 anarcat 20 0 24184 552 304 S 0,0 0,0 0:00.00 dbus-launch- 4672 anarcat 20 0 30668 1592 736 S 0,0 0,0 0:01.10 dbus-daemon- 4704 anarcat 20 0 49456 2740 2216 S 0,0 0,0 0:00.13 xfconfd- 4711 anarcat 20 0 63740 3124 2312 S 0,0 0,0 0:02.61 xscreensaver- 4713 anarcat 20 0 156m 8232 5856 S 0,0 0,1 0:06.14 xfce4-session- 4714 postgres 20 0 102m 1952 616 S 0,0 0,0 0:06.79 postgres- 4715 postgres 20 0 102m 1704 376 S 0,0 0,0 0:04.95 postgres- 4716 postgres 20 0 102m 3068 1128 S 0,0 0,0 0:01.32 postgres- 4717 postgres 20 0 72884 1800 416 S 0,0 0,0 0:00.99 postgres- 4735 postgrey 20 0 66452 14m 3136 S 0,0 0,2 0:00.40 /usr/sbin/postg- 4753 anarcat 20 0 124m 4060 2916 S 0,0 0,0 0:00.02 xfsettingsd- 4754 anarcat 20 0 166m 6496 5204 S 0,0 0,1 0:00.07 Thunar- 4778 anarcat 20 0 63364 2564 2096 S 0,0 0,0 0:00.03 gvfsd- 4783 anarcat 20 0 305m 14m 9568 S 0,0 0,2 0:52.46 xfce4-panel- 4790 anarcat 20 0 156m 7968 6232 S 0,0 0,1 0:00.23 xfdesktop- 4791 root 20 0 21516 804 496 S 0,0 0,0 0:00.00 dovecot- 4837 anarcat 20 0 148m 4296 2768 S 0,0 0,1 0:11.87 xfce4-settings-- 4856 anarcat 20 0 26620 1248 988 S 0,0 0,0 1:19.60 xcompmgr- 4873 anarcat 20 0 115m 8004 3872 S 0,0 0,1 0:07.42 awesome- 4887 anarcat 20 0 267m 12m 8664 S 0,0 0,2 0:02.51 update-notifier- 4899 anarcat 20 0 183m 5868 4708 S 0,0 0,1 0:00.18 polkit-gnome-au- 4905 anarcat 20 0 56320 4180 2040 S 0,0 0,1 0:00.10 gconfd-2- 4908 anarcat 9 -11 300m 6912 4184 S 0,0 0,1 0:08.00 pulseaudio- 4916 root 20 0 126m 4208 3056 S 0,0 0,1 0:02.46 udisks-daemon- 4917 root 20 0 47408 776 428 S 0,0 0,0 0:06.61 udisks-daemon- 4921 anarcat 20 0 113m 3200 2448 S 0,0 0,0 0:00.00 gconf-helper- 4972 anarcat 20 0 145m 7432 5880 S 0,0 0,1 0:00.09 panel-16-systra- 4974 anarcat 20 0 148m 9328 7348 S 0,0 0,1 2:40.37 xfce4-weather-p- 4975 anarcat 20 0 174m 11m 8312 S 0,0 0,1 0:42.26 xfce4-xkb-plugi- 4978 mpd 20 0 503m 29m 2920 S 0,0 0,4 1:24.97 mpd- 5029 mpd 20 0 256m 6412 4008 S 0,0 0,1 0:11.74 pulseaudio- 5030 dovecot 20 0 13044 768 592 S 0,0 0,0 0:00.00 anvil- 5031 root 20 0 13172 944 628 S 0,0 0,0 0:00.00 log- 5034 root 20 0 23156 2536 768 S 0,0 0,0 0:00.00 config- 5040 mpd 20 0 113m 3192 2448 S 0,0 0,0 0:00.00 gconf-helper- 5234 root 20 0 0 0 0 S 0,0 0,0 0:01.19 kworker/0:1- 5745 root 20 0 37788 2472 1912 S 0,0 0,0 0:00.68 master- 5756 postfix 20 0 44368 2700 2100 S 0,0 0,0 0:00.27 qmgr- 5807 root 20 0 49848 1216 608 S 0,0 0,0 0:00.05 sshd- 5908 debian-t 20 0 56008 21m 2988 S 0,0 0,3 0:21.87 tor- 5928 debian-t 30 10 190m 31m 2560 S 0,0 0,4 7:35.56 transmission-da- 5948 anarcat 20 0 71776 8204 2860 S 0,0 0,1 0:05.76 xterm- 5954 anarcat 20 0 22956 4540 1772 S 0,0 0,1 0:00.10 bash- 6019 spampd 20 0 147m 62m 1844 S 0,0 0,8 0:00.55 spampd- 6049 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 iprt- 6085 root 20 0 3948 84 0 S 0,0 0,0 0:00.00 minissdpd- 6095 root 20 0 17404 908 744 S 0,0 0,0 0:00.00 getty- 6096 root 20 0 17404 908 744 S 0,0 0,0 0:00.00 getty- 6097 root 20 0 17404 904 744 S 0,0 0,0 0:00.00 getty- 6098 root 20 0 17404 896 744 S 0,0 0,0 0:00.00 getty- 6099 root 20 0 17404 900 744 S 0,0 0,0 0:00.00 getty- 6100 root 20 0 17404 904 744 S 0,0 0,0 0:00.00 getty- 6108 anarcat 20 0 24248 1040 816 S 0,0 0,0 0:00.08 screen- 6109 anarcat 20 0 25864 2640 796 S 0,0 0,0 0:05.37 screen- 6110 anarcat 20 0 22868 4220 1624 S 0,0 0,1 0:00.06 bash- 6153 root 20 0 0 0 0 S 0,0 0,0 0:00.00 flush-254:8- 6174 anarcat 20 0 22872 4224 1624 S 0,0 0,1 0:00.07 bash- 6238 anarcat 20 0 103m 12m 5232 S 0,0 0,2 0:20.80 irssi- 6252 anarcat 20 0 212m 40m 13m S 0,0 0,5 1:09.74 emacs23- 6534 anarcat 20 0 22876 4400 1716 S 0,0 0,1 0:00.07 bash- 6598 anarcat 20 0 302m 163m 3864 S 0,0 2,0 17:19.63 offlineimap- 6616 anarcat 20 0 22408 2648 2228 S 0,0 0,0 0:05.04 git- 6662 root 20 0 0 0 0 S 0,0 0,0 0:01.25 kworker/1:1- 6666 root 20 0 0 0 0 S 0,0 0,0 0:00.00 flush-254:2- 6897 anarcat 20 0 1011m 159m 47m S 0,0 2,0 4:54.69 chromium- 6902 postfix 20 0 46744 3396 2400 S 0,0 0,0 0:00.09 tlsmgr- 6903 anarcat 20 0 283m 7952 2788 S 0,0 0,1 0:05.03 chromium- 6904 anarcat 20 0 6240 356 272 S 0,0 0,0 0:00.00 chrome-sandbox- 6905 anarcat 20 0 304m 17m 12m S 0,0 0,2 0:00.02 chromium- 6908 anarcat 20 0 320m 5800 764 S 0,0 0,1 0:00.16 chromium- 6950 anarcat 20 0 955m 31m 16m S 0,0 0,4 0:01.68 chromium- 6955 anarcat 20 0 953m 33m 17m S 0,0 0,4 0:01.25 chromium- 6960 anarcat 20 0 959m 36m 15m S 0,0 0,5 0:08.32 chromium- 6965 anarcat 20 0 957m 34m 14m S 0,0 0,4 0:10.25 chromium- 6970 anarcat 20 0 1029m 114m 17m S 0,0 1,4 0:46.99 chromium- 6975 anarcat 20 0 953m 26m 14m S 0,0 0,3 0:00.53 chromium- 6980 anarcat 20 0 959m 35m 16m S 0,0 0,4 0:14.68 chromium- 6985 anarcat 20 0 963m 45m 17m S 0,0 0,6 0:22.59 chromium- 6990 anarcat 20 0 952m 25m 13m S 0,0 0,3 0:00.70 chromium- 6995 anarcat 20 0 960m 36m 18m S 0,0 0,5 0:27.21 chromium- 7040 anarcat 20 0 979m 69m 22m S 0,0 0,9 0:05.41 chromium- 7055 anarcat 20 0 966m 51m 20m S 0,0 0,6 0:04.88 chromium- 7063 anarcat 20 0 967m 42m 18m S 0,0 0,5 0:04.46 chromium- 7072 anarcat 20 0 967m 49m 19m S 0,0 0,6 0:05.17 chromium- 7078 anarcat 20 0 971m 53m 19m S 0,0 0,7 0:05.68 chromium- 7087 anarcat 20 0 963m 51m 19m S 0,0 0,7 0:04.75 chromium- 7096 anarcat 20 0 961m 48m 18m S 0,0 0,6 0:04.75 chromium- 7107 anarcat 20 0 161m 4440 3252 S 0,0 0,1 0:02.90 gvfs-gdu-volume- 7127 anarcat 20 0 967m 55m 22m S 0,0 0,7 1:07.92 chromium- 7183 anarcat 20 0 912m 55m 20m S 0,0 0,7 0:04.97 chromium- 7213 anarcat 20 0 964m 47m 19m S 0,0 0,6 0:04.69 chromium- 7235 anarcat 20 0 965m 65m 21m S 0,0 0,8 0:05.26 chromium- 7258 anarcat 20 0 961m 57m 20m S 0,0 0,7 0:05.39 chromium- 7285 anarcat 20 0 18652 2484 1000 S 0,0 0,0 0:01.25 git- 7434 anarcat 39 19 18124 1960 964 S 0,0 0,0 0:00.29 git- 7445 www-data 20 0 141m 24m 5620 S 0,0 0,3 0:00.71 munin-cgi-graph- 7452 anarcat 20 0 980m 63m 22m S 0,0 0,8 0:02.50 chromium- 7492 anarcat 20 0 978m 64m 21m S 0,0 0,8 0:03.74 chromium- 7498 anarcat 20 0 978m 61m 21m S 0,0 0,8 0:01.42 chromium- 7518 anarcat 20 0 984m 63m 22m S 0,0 0,8 0:04.38 chromium- 7532 anarcat 20 0 973m 56m 21m S 0,0 0,7 0:02.28 chromium- 7813 root 20 0 0 0 0 S 0,0 0,0 0:01.22 kworker/0:2- 7899 root 20 0 0 0 0 S 0,0 0,0 0:00.96 kworker/1:0- 8058 anarcat 20 0 24488 1460 1104 S 0,0 0,0 0:28.34 git- 8107 anarcat 20 0 17412 1384 1100 S 0,0 0,0 0:00.00 git- 8130 anarcat 20 0 23792 7572 1004 S 0,0 0,1 0:41.63 git- 8236 anarcat 39 19 21152 4940 964 S 0,0 0,1 0:00.71 git- 8405 anarcat 20 0 17368 1364 1108 S 0,0 0,0 0:00.54 git- 8407 anarcat 20 0 17464 1336 964 S 0,0 0,0 0:00.03 git- 8610 anarcat 20 0 78228 14m 2860 S 0,0 0,2 0:00.37 xterm- 8614 anarcat 20 0 23084 4548 1796 S 0,0 0,1 0:00.28 bash- 8689 anarcat 20 0 72992 9224 2860 S 0,0 0,1 0:00.38 xterm- 8693 anarcat 20 0 22876 4380 1696 S 0,0 0,1 0:00.07 bash- 8735 root 20 0 99,3m 4616 3576 S 0,0 0,1 0:00.02 gdm-simple-slav- 8736 root 20 0 142m 15m 6664 S 0,0 0,2 0:00.56 Xorg- 8755 Debian-g 20 0 30196 1184 736 S 0,0 0,0 0:00.01 dbus-daemon- 8756 root 20 0 119m 4548 3432 S 0,0 0,1 0:00.08 gdm-session-wor- 8757 root 20 0 55872 2116 1572 S 0,0 0,0 0:00.00 sudo- 8759 aegir 20 0 20640 2248 1660 S 0,0 0,0 0:00.07 bash- 8769 Debian-g 20 0 266m 10m 7720 S 0,0 0,1 0:00.07 gnome-session- 8773 Debian-g 20 0 502m 24m 10m S 0,0 0,3 0:00.85 gnome-settings-- 8780 Debian-g 20 0 51980 2236 1836 S 0,0 0,0 0:00.00 gvfsd- 8784 Debian-g 9 -11 237m 6044 3644 S 0,0 0,1 0:00.07 pulseaudio- 8785 Debian-g 20 0 113m 3196 2448 S 0,0 0,0 0:00.00 gconf-helper- 8787 Debian-g 20 0 52956 3756 1932 S 0,0 0,0 0:00.06 gconfd-2- 8790 Debian-g 20 0 279m 9124 6632 S 0,0 0,1 0:00.12 metacity- 8795 Debian-g 20 0 171m 9328 7056 S 0,0 0,1 0:00.04 polkit-gnome-au- 8796 Debian-g 20 0 362m 16m 11m S 0,0 0,2 0:00.68 gdm-simple-gree- 8812 root 20 0 72360 3916 2948 S 0,0 0,0 0:00.08 gdm-session-wor- 9129 root 20 0 0 0 0 S 0,0 0,0 0:00.74 kworker/0:0- 9311 www-data 20 0 288m 44m 33m S 0,0 0,6 0:07.55 apache2-10405 www-data 20 0 287m 42m 32m S 0,0 0,5 0:06.75 apache2-10406 www-data 20 0 287m 44m 34m S 0,0 0,6 0:07.02 apache2-10409 www-data 20 0 287m 41m 31m S 0,0 0,5 0:06.51 apache2-10412 www-data 20 0 287m 42m 32m S 0,0 0,5 0:06.82 apache2-10413 www-data 20 0 291m 40m 27m S 0,0 0,5 0:06.52 apache2-10415 www-data 20 0 287m 39m 29m S 0,0 0,5 0:06.67 apache2-10416 www-data 20 0 288m 42m 31m S 0,0 0,5 0:06.28 apache2-10417 www-data 20 0 290m 50m 38m S 0,0 0,6 0:07.43 apache2-10878 root 20 0 0 0 0 S 0,0 0,0 0:00.02 kworker/0:3-11037 anarcat 20 0 4180 584 488 S 0,0 0,0 0:00.00 sh-11038 anarcat 20 0 62760 4964 3244 S 0,0 0,1 0:00.48 notmuch-11040 anarcat 20 0 4180 652 544 S 0,0 0,0 0:00.00 post-new-11133 root 20 0 52576 1468 1052 S 0,0 0,0 0:00.00 cron-11134 root 20 0 52576 1464 1052 S 0,0 0,0 0:00.00 cron-11135 root 20 0 52576 1468 1052 S 0,0 0,0 0:00.00 cron-11138 aegir 20 0 4176 576 484 S 0,0 0,0 0:00.00 sh-11139 root 20 0 4176 580 484 S 0,0 0,0 0:00.00 sh-11141 munin 20 0 4176 576 480 S 0,0 0,0 0:00.00 sh-11143 root 20 0 4240 324 248 S 0,0 0,0 0:00.00 xargs-11145 munin 20 0 4176 576 484 S 0,0 0,0 0:00.00 munin-cron-11166 anarcat 20 0 61364 2988 2468 R 0,0 0,0 0:00.00 notmuch-11167 anarcat 20 0 61364 752 212 R 0,0 0,0 0:00.00 notmuch-12004 www-data 20 0 292m 52m 37m S 0,0 0,7 0:09.05 apache2-12172 anarcat 20 0 4092 580 480 S 0,0 0,0 0:00.00 emacsclient-12465 spampd 20 0 149m 65m 2840 S 0,0 0,8 0:01.41 spampd-12468 spampd 20 0 150m 67m 2840 S 0,0 0,8 0:01.07 spampd-12895 anarcat 20 0 970m 51m 21m S 0,0 0,6 0:01.80 chromium-13761 anarcat 20 0 0 0 0 Z 0,0 0,0 0:00.00 git-16056 root 20 0 21800 1464 452 S 0,0 0,0 0:00.00 udevd-16057 root 20 0 21800 1340 332 S 0,0 0,0 0:00.00 udevd-16655 www-data 20 0 147m 8232 700 S 0,0 0,1 0:00.04 apache2-17006 anarcat 20 0 526m 29m 17m S 0,0 0,4 0:19.95 gmpc-17959 www-data 20 0 70828 24m 2172 S 0,0 0,3 1:22.37 munin-cgi-html-18082 anarcat 20 0 71776 8164 2820 S 0,0 0,1 0:00.12 xterm-18086 anarcat 20 0 23048 4664 1804 S 0,0 0,1 0:00.18 bash-18571 anarcat 20 0 258m 11m 8296 S 0,0 0,1 0:00.11 xfrun4-19692 spampd 20 0 148m 64m 2832 S 0,0 0,8 0:00.63 spampd-25574 anarcat 20 0 952m 31m 15m S 0,0 0,4 0:00.71 chromium-25590 anarcat 20 0 0 0 0 Z 0,0 0,0 0:41.75 chromium-"""]]--And here's the process tree:--[[!format sh """-$ ps -O start xf | grep git-annex- 8610 13:03:21 S ? 00:00:00 xterm -class UXTerm -title uxterm -u8- 8614 13:03:21 S pts/4 00:00:00 \_ bash-12172 13:13:15 S pts/4 00:00:00 \_ emacsclient --alternate-editor=vim -c install.hostmaster.inc- 8099 13:00:20 S ? 07:40:31 /usr/local/bin/git-annex assistant --startdelay=5s- 8107 13:00:20 S ? 00:00:00 \_ git --git-dir=/srv/books/.git --work-tree=/srv/books -c core.bare=false cat-file --batch- 8405 13:00:28 S ? 00:00:00 \_ git --git-dir=/srv/books/.git --work-tree=/srv/books -c core.bare=false cat-file --batch- 8407 13:00:28 S ? 00:00:00 \_ git --git-dir=/srv/books/.git --work-tree=/srv/books -c core.bare=false check-ignore -z --stdin --verbose --non-matching- 8045 13:00:11 S ? 07:35:36 /usr/local/bin/git-annex assistant --startdelay=5s- 8058 13:00:11 S ? 00:00:28 \_ git --git-dir=/srv/mp3/.git --work-tree=/srv/mp3 cat-file --batch- 8130 13:00:21 S ? 00:00:41 \_ git --git-dir=/srv/mp3/.git --work-tree=/srv/mp3 check-ignore -z --stdin --verbose --non-matching- 8236 13:00:24 S ? 00:00:00 \_ git --git-dir=/srv/mp3/.git --work-tree=/srv/mp3 check-attr -z --stdin annex.backend annex.numcopies --- 7107 12:58:40 S ? 00:00:02 /usr/lib/gvfs/gvfs-gdu-volume-monitor- 6525 12:57:25 S ? 07:29:13 /usr/local/bin/git-annex assistant --startdelay=5s- 6616 12:57:34 S ? 00:00:05 \_ git --git-dir=/srv/video/.git --work-tree=/srv/video cat-file --batch- 7285 12:58:45 S ? 00:00:01 \_ git --git-dir=/srv/video/.git --work-tree=/srv/video check-ignore -z --stdin --verbose --non-matching- 7434 12:58:51 S ? 00:00:00 \_ git --git-dir=/srv/video/.git --work-tree=/srv/video check-attr -z --stdin annex.backend annex.numcopies --- 4209 19:30:17 S ? 00:01:06 \_ /usr/local/bin/git-annex transferkeys --readfd 25 --writefd 24- 4240 19:30:17 S ? 00:00:00 \_ git --git-dir=/srv/video/.git --work-tree=/srv/video cat-file --batch-13761 23:56:38 Z ? 00:00:00 \_ [git] <defunct>- 6252 12:56:59 S ? 00:01:09 /usr/bin/emacs23-"""]]--#### This bug is fixed--> [[fixed|done]]. This was a Cronner bug, triggered when you had a-> scheduled fsck job that runs monthly at any time, and the last time it ran was on a day of a-> month > 12. Workaround: Disable scheduled fsck jobs, or change them to-> run on a specific day of the month. Or upgrade. --[[Joey]]
− doc/bugs/assistant_hangs_during_commit.mdwn
@@ -1,27 +0,0 @@-What steps will reproduce the problem?--Use git-annex and add file to repo.---What is the expected output? What do you see instead?--File is committed and added to annex.--Instead a command like this is run "git --git-dir=/home/jchu/annex/.git --work-tree=/home/jchu/annex commit --allow-empty-message -m --quiet" and for some reason git decides to open a COMMIT_EDITMSG file in my editor of choice "vim .git/COMMIT_EDITMSG". Since git annex doesn't give me access to the terminal, I don't see it.--Depending on when it happens, the web interface could refuse to start (if the commit hang happens on startup) or if it happens during regular operation, then everything looks fine but the web interface doesn't update after that.---What version of git-annex are you using? On what operating system?--git-annex (binary release) 4.20130405-git 1.8.2.1--On Arch Linux.---Please provide any additional information below.--I'm not sure if the git interface has changed, but I do see that --allow-empty-message does still exist. If I run the git commit command (with a '' after the -m), it does indeed start up vim for me. Would we benefit from just making a custom commit message ("Commit from date YYYYMMDDTHHMMSSZ")?--> [[fixed|done]] --[[Joey]]
− doc/bugs/assistant_ignore_.gitignore.mdwn
@@ -1,31 +0,0 @@-What steps will reproduce the problem?--1. have an existing directory with a bunch of files-2. create a `.gitignore` file that matches some files (*.log *.aux *~ etc.)-3. `git init .`-4. `git annex init work`-5. `git remote add server server:Blabla`-6. `ssh server`-7. `@server $ mkdir Blabla`-8. `@server $ cd Blabla`-9. `@server $ git init .`-10. `@server $ git annex init server`-11. `@server $ exit`-12. `git annex webapp`--What is the expected output? What do you see instead?--I expect that ingored files stay ignored,-I see instead that all the files (including the ignored) are transfered to the server--What version of git-annex are you using? On what operating system?--3.20130124, debian sid (on both machines)--> As noted in [[design/assistant/inotify]]'s TODO list, this-> needs an efficient gitignore query interface in git (DNE) -> or a gitignore parser. --[[Joey]] --[[!tag /design/assistant]]--> [[fixed|done]]; with git 1.8.4 the assistant honors .gitignore --[[Joey]]
− doc/bugs/assistant_not_noticing_file_renames__44___not_fixing_files.mdwn
@@ -1,68 +0,0 @@-What steps will reproduce the problem?--In one terminal, I created a new annex and started the assistant watching it. --In another, I added a file file1; assistant noticed it and added it to the annex.--I moved file1 to a directory directory1; the link broke and assistant did not fix it. --I created a file called file2 inside directory 2; assistant noticed it and added it to the annex.--I moved file2 back up to the annex root directory; the link broke and assistant did not fix it.--I created a file file3 in the annex root directory; assistant noticed it and added it to the annex.--Here is the content of the first terminal, where I created the annex and ran assistant:--- ~$ mkdir testannex- ~$ cd testannex/- testannex$ git init .- Initialized empty Git repository in /Users/ed/testannex/.git/- testannex$ git annex init "test annex"- init test annex ok- (Recording state in git...)- testannex$ git annex assistant --foreground- assistant . (scanning...) (started...) add file1 (checksum...) ok- (Recording state in git...)- (Recording state in git...)- add directory1/file2 (checksum...) ok- (Recording state in git...)- (Recording state in git...)- add file3 (checksum...) --here is the content of the second terminal, where I created and moved files:-- ~$ cd testannex- testannex$ echo "file1 content" > file1- testannex$ mkdir directory1- testannex$ ls -l file1- lrwxr-xr-x 1 ed staff 180 Dec 13 15:40 file1 -> .git/annex/objects/FX/51/SHA256E-s14--edac79763e630b1b77aefb6c284bcb0362dea71c0548be0e793ffa8fd5907b80/SHA256E-s14--edac79763e630b1b77aefb6c284bcb0362dea71c0548be0e793ffa8fd5907b80- testannex$ mv file1 directory1/- testannex$ cd directory1/- directory1$ cat file1- cat: file1: No such file or directory- directory1$ echo "file2 content" > file2- directory1$ cat file2- file2 content- directory1$ cat file1- cat: file1: No such file or directory- directory1$ mv file2 ../- directory1$ cd ..- testannex$ echo "file3 content" > file3- testannex$ ---What is the expected output? What do you see instead?--The links do not break when moved to another directory.--What version of git-annex are you using? On what operating system?--One compiled using cabal from checkout 739c937--Please provide any additional information below.--> [[fixed|done]]; this turned out to be an kqueue specific bug,-> the kqueue code statted new files, but that files for a broken symlink.-> Using lstat instead fixed this. --[[Joey]]
− doc/bugs/assistant_report_error_when_git_global_email+name_not_set.mdwn
@@ -1,23 +0,0 @@-### Please describe the problem.-When setting git-annex on a device (a mac at least in my case), where git has never been used, you get a cryptic git error in the assistant which prevents you to create your first repo.-Going to the terminal and running git --global for email and name solved the problem.---### What steps will reproduce the problem?---### What version of git-annex are you using? On what operating system?---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[closing|done]] since no version was provided and the current version-> almost certianly deals with this. --[[Joey]]
− doc/bugs/assistant_syncs_with_remotes_even_when_all_remotes_disabled.mdwn
@@ -1,33 +0,0 @@-### Please describe the problem.--I migrated a repo I set up by hand on my Android phone to use the assistant and webapp. That repo has two remotes, both full git-annex repos over SSH. I still want to control when I synchronize (cellular data is precious), so the vast majority of the time I disable syncing on both remotes. However, when I return to the webapp after it's been running for "a while," it shows a status message indicating it has synced with the remotes.--It looks like it might be related to the NetWatcherFallback, because a NetWatcherFallback entry appears in the log approximately every hour, followed by the usual repo sync output.--### What steps will reproduce the problem?--1. Set up a repo with a git-annex over SSH remote, and set annex-sync on that remote to false.-2. Run the webapp.-3. Observe after a period of time that the webapp shows that the repo has been synced.--### What version of git-annex are you using? On what operating system?--git-annex 20130709 on Android (4.2)--### Please provide any additional information below.--[[!format sh """-[2013-07-22 22:50:31 MST] NetWatcherFallback: Syncing with sigsegv, sigusr1-Everything up-to-date-Everything up-to-date-[2013-07-22 23:52:57 MST] NetWatcherFallback: Syncing with sigsegv, sigusr1-Everything up-to-date-Everything up-to-date-[2013-07-23 00:54:15 MST] NetWatcherFallback: Syncing with sigsegv, sigusr1-Everything up-to-date-Everything up-to-date-"""]]--> Excellent bug report! Especially useful that you tracked it-> down to the NetWatcher. Indeed it was not honoring the-> annex-sync setting. [[fixed|done]] --[[Joey]]
− doc/bugs/assistant_unable_to_auth___40__windows__41__.mdwn
@@ -1,85 +0,0 @@-[[!meta title="windows assistant fails to set up rsync.net authorized keys"]]--### Please describe the problem.-Having set up a key pair, the assistant is unable to use it to log in. The console only shows a single attempt to log in, when it's adding the key to the remote machine's authorized_keys file. This is evidently failing, as the key is not actually added to authorized_keys, possibly because the shell script it tries to execute is malformed (crazy quoting, I can't untangle it), or possibly because it failed to ask for a password (I expected it to, but it didn't prompt for one). Also, once I do add the key to authorized_keys, I can ssh in using it but asking the assistant to retry still fails.--### What steps will reproduce the problem?-Set up a remote repository.--### What version of git-annex are you using? On what operating system?-Windows 7, Version: 5.20131230-g192d991 --### Please provide any additional information below.-- Failed to make repository- Something went wrong setting up the repository on the remote server.- Transcript:- Permission denied, please try again.- Permission denied, please try again.- Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).--[[!format sh """-[2014-01-01 03:28:05 Eastern Standard Time] call: ssh-keygen ["-P","","-f","C:\\-Users\\FAMILY~1\\AppData\\Local\\Temp\\git-annex-keygen.5\\key"]-Generating public/private rsa key pair.-cygwin warning:- MS-DOS style path detected: C:\Users\FAMILY~1\AppData\Local\Temp\git-annex-key-gen.5\key- Preferred POSIX equivalent is: /cygdrive/c/Users/FAMILY~1/AppData/Local/Temp/g-it-annex-keygen.5/key- CYGWIN environment variable option "nodosfilewarning" turns off this warning.- Consult the user's guide for more details about POSIX paths:- http://cygwin.com/cygwin-ug-net/using.html#using-pathnames-Your identification has been saved in C:\Users\FAMILY~1\AppData\Local\Temp\git-a-nnex-keygen.5\key.-Your public key has been saved in C:\Users\FAMILY~1\AppData\Local\Temp\git-annex--keygen.5\key.pub.-The key fingerprint is:-c7:0f:81:19:c8:39:cc:e1:d3:6a:62:9a:d5:d2:9f:c1 Familyroom@Familyroom-PC-The key's randomart image is:-+--[ RSA 2048]----+-| +.+. |-| .B. + |-| o.+ . |-| o + . . |-| = = E + |-| = + . + o |-| o o . |-| |-| |-+-----------------+-[2014-01-01 03:28:07 Eastern Standard Time] chat: ssh ["-p","22","rlbrooks@celeb-dil.db48x.net","sh -c 'mkdir -p '\"'\"'annex/test'\"'\"'&&cd '\"'\"'annex/test'\-"'\"'&&if [ ! -d .git ]; then git init --bare --shared && git config receive.den-yNonFastforwards false; fi&&git annex init&&mkdir -p ~/.ssh&&if [ ! -e ~/.ssh/gi-t-annex-shell ]; then (echo '\"'\"'#!/bin/sh'\"'\"';echo '\"'\"'set -e'\"'\"';ec-ho '\"'\"'if [ \"x$SSH_ORIGINAL_COMMAND\" != \"x\" ]; then'\"'\"';echo '\"'\"'ex-ec git-annex-shell -c \"$SSH_ORIGINAL_COMMAND\"'\"'\"';echo '\"'\"'else'\"'\"';e-cho '\"'\"'exec git-annex-shell -c \"$@\"'\"'\"';echo '\"'\"'fi'\"'\"') > ~/.ssh-/git-annex-shell; fi&&chmod 700 ~/.ssh/git-annex-shell&&touch ~/.ssh/authorized_-keys&&chmod 600 ~/.ssh/authorized_keys&&echo '\"'\"'command=\"GIT_ANNEX_SHELL_DI-RECTORY='\"'\"'\"'\"'\"'\"'\"'\"'annex/test'\"'\"'\"'\"'\"'\"'\"'\"' ~/.ssh/git--annex-shell\",no-agent-forwarding,no-port-forwarding,no-X11-forwarding ssh-rsa A-AAAB3NzaC1yc2EAAAADAQABAAABAQDeB64i+DhYBCq0mdet6sBr1JCtYR5zNc0E9NYaZbBVRBcpZDCRs-AS1z8mjyEnb49y7AnNgsx/f7xAWtyFHFr8AbrYnaHmJYicix0R6inDXZ42WJTusHVW47/1ysErHmEusZ-KWXNzN5bu8bOoz0FqCh4Ymo3QjgMzk6+PoWqSCmwewuX++RkB6q1IN1VTMqJguPtdQpTp3hCIV6GENf6-HvnLUQ59JKg1sgt5UA88zDAMlXicmUeuHRSW7nVlVIBHFDJW8f5CyF66wiuGTLdhhMlaOqpUqIEHubPF-ZE4iTOC/uuOdWjGgySX681ub4seKyz7h8uDePPo0uz0BXJpt9vT Familyroom@Familyroom-PC\n'\-"'\"' >>~/.ssh/authorized_keys'"]-"""]]--[[!format sh """-$ ssh rlbrooks@git-annex-celebdil.db48x.net-rlbrooks_annex-git-annex-shell: bad parameters--Usage: git-annex-shell [-c] command [parameters ...] [option ..]--Options:- --force allow actions that may lose annexed data- -F --fast avoid slow operations- -a --auto automatic mode- -q --quiet avoid verbose output-etc-"""]]--> [[fixed|done]]; both for regular remote ssh servers, and for rsync.net --[[Joey]]
− doc/bugs/assistant_using_the_incorrect_path_on_windows__63__.mdwn
@@ -1,45 +0,0 @@-### Please describe the problem.-The assistant (or rather the programs it's running) appears to be using unix-style paths instead of cygwin paths, causing several types of errors. A selection of items from the terminal:--[[!format sh """-Launching web browser on file://C:\Users\Familyroom\annex\.git\annex\webapp.html-[2013-12-31 01:14:05 Eastern Standard Time] read: ssh-keygen ["-F","celebdil.db4-8x.net"]-ssh-keygen: /home/Familyroom/.ssh/known_hosts: No such file or directory-[2013-12-31 01:14:05 Eastern Standard Time] read: ssh ["-oNumberOfPasswordPrompt-s=0","-oStrictHostKeyChecking=no","-n","-p","22","rlbrooks@celebdil.db48x.net","-sh -c 'echo git-annex-probe loggedin;if which git-annex-shell; then echo git-ann-ex-probe git-annex-shell; fi;if which git; then echo git-annex-probe git; fi;if-which rsync; then echo git-annex-probe rsync; fi;if which ~/.ssh/git-annex-shell-; then echo git-annex-probe ~/.ssh/git-annex-shell; fi;cd '\"'\"'annex'\"'\"' &&- git config --list'"]-[2013-12-31 01:14:08 Eastern Standard Time] read: ssh-keygen ["-F","celebdil.db4-8x.net"]-ssh-keygen: /home/Familyroom/.ssh/known_hosts: No such file or directory-[2013-12-31 01:14:08 Eastern Standard Time] read: ssh ["-oStrictHostKeyChecking=-no","-n","-p","22","rlbrooks@celebdil.db48x.net","sh -c 'echo git-annex-probe lo-ggedin;if which git-annex-shell; then echo git-annex-probe git-annex-shell; fi;i-f which git; then echo git-annex-probe git; fi;if which rsync; then echo git-ann-ex-probe rsync; fi;if which ~/.ssh/git-annex-shell; then echo git-annex-probe ~/-.ssh/git-annex-shell; fi;cd '\"'\"'annex'\"'\"' && git config --list'"]-rlbrooks@celebdil.db48x.net's password:-[2013-12-31 01:15:03 Eastern Standard Time] read: gpg ["--quiet","--trust-model"-,"always","--with-colons","--list-secret-keys","--fixed-list-mode"]-gpg: WARNING: using insecure memory!-gpg: please see http://www.gnupg.org/documentation/faqs.html for more informatio-n-gpg: fatal: can't create directory `/home/Familyroom/.gnupg': No such file or di-rectory-secmem usage: 0/0 bytes in 0/0 blocks of pool 0/65536-"""]]--Naturally, I don't have a /home/Familyroom, although I do have a /c/Users/Familyroom.--### What steps will reproduce the problem?-Start creating a remote repository.--### What version of git-annex are you using? On what operating system?-Windows 7, git-annex version 5.20131230-g192d991--> [[fixed|done]]; git-annex now ensures HOME is set when running cygwin-> commands that require it. --[[Joey]]
− doc/bugs/assistant_windows_does_not_start.mdwn
@@ -1,37 +0,0 @@-### Please describe the problem.--webapp does not start. --Reports the following error:--Script: c:\Programm Files(x86)\Git\git-annex-webapp.vbs-Line: 2-Character: 1-Error: System can not fine the specified File-Code: 80070002-Source: null- --### What steps will reproduce the problem?--1. Downloaded the installer. -2. Run the installer-3. In folder c:\Programm Files(x86)\Git doubleclick on git-annex-webapp-4. Content vbs: - Set objshell=CreateObject("Wscript.Shell")- objShell.Run("git-annex webapp"), 0, False-4. -### What version of git-annex are you using? On what operating system?-Version 2014-11-05 14:38 -Server Windows Server 2008 R2-### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[done]]; never heard back, so I assume my comment is right. --[[Joey]]
− doc/bugs/bad_behaviour_with_file_names_with_newline_in_them.mdwn
@@ -1,5 +0,0 @@-Found this out the hard way. See the comment in the below post for what happens.--[[/forum/git_annex_add_crash_and_subsequent_recovery/]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/bad_merge_commit_deleting_all_files.mdwn
@@ -1,78 +0,0 @@-In our family repository, we had an event where git-annex committed a bad-merge commit. This had the effect of seeming to delete all the files-in the repository. However, it is completely recoverable with no file loss.--Other users have reported apparently the same problem.---[[Joey]]--> This appears to be a race, and I have put in a fix for that.-> It will be released in git-annex 5.20140709.-> -> It's a little bit difficult to say for sure that the bug is fixed, since-> I don't have a good way to reproduce it. However, everything I am seeing-> is consistent with my analysis, at least as far as the people who-> reported this happening with versions 5.20140613-5.20140707. -> Calling this [[done]]. --[[Joey]]--## recovery--Look through the git log for the bad commit. It will be the one -that deletes a lot of files. Since the bad commit is a merge commit,-you need to include the -c switch:-- git log -c --stat--Once the bad commit sha is found, revert it. Since it's a merge commit,-you will need to pass -m 1 to git revert. If the repository you're working-is uses direct mode, you will first need to switch it to indirect mode.-- git annex indirect- git revert -m 1 a36077cf1234eeb755fec8f699d3cbaaee817bac--(It's possible, but I think unlikely that this will pick the wrong-branch of the merge to revert. If it did, "git reset --hard HEAD@{1}" and-redo, passing `-m 2` instead.)--Once the revert is done, all your files should be back. You can switch-the repository back to direct mode if desired (`git annex direct`)-and can `git annex sync` to push the fix out to all other clones.-Everywhere the fix lands should restore the deleted files. --Note that it's possible that some repositories may have pruned the deleted-files as unused. This is most likely to happen in the repository that made-the bad merge commit in the first place.--If you have any problems following these instructions, please contact-<urgent2014@joeyh.name> for support.--[[!tag confirmed urgent]]--## analysis--In the one case I have of this happening, the commit was made by the-git-annex assistant, in direct mode. It was git-annex version 5.20140613.-This version had a bug that caused it to do unncessary merge commits.-That bug has been fixed in 5.20140707.-That is apparently related, in that it caused the assistant to do much more-work than normal. --But, I don't think that bug is fully responsible for the-problem. I think a few users have run into this bug before, although I have-never succeeded in getting a full problem description from anyone who might-have. I think that the unncessary commit bug made it more likely to happen.-(This suggests a race may be involved.)--The bad merge commit looked like this:--<pre>-commit a36077cf1234eeb755fec8f699d3cbaaee817bac-Merge: 52ecff2 9d8bfd4-Author: xxx-Date: Mon Jul 7 19:58:18 2014 -0400-- merge refs/heads/synced/master-</pre>--Both parent trees were good and contained all files. In fact, the 2-parent trees contained the same set of files. But the merge commit-"resolved" the merge by deleting all the files.
− doc/bugs/bencode.mdwn
@@ -1,32 +0,0 @@-### Please describe the problem.--I have been packaging bencode as a dependency for git-annex on Debian.--I contacted the upstream authors in reference to getting some licensing issues fixed and they pointed me to a package called "AttoBencode" which-might be a more recent and maintained option for bencode parsing in Git Annex.--http://hackage.haskell.org/package/AttoBencode--This isn't actually a bug, I just thought this would be a good place to bring this up. --For what it's worth, I like the idea that packages can become stable (or old) and still serve their purpose so if bencode works just fine I think that's great.--### What steps will reproduce the problem?---### What version of git-annex are you using? On what operating system?---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> Closing, since it's been over a month with no followup to my question,-> and I cannot find any license problems at all with bencode. --[[Joey]]-> [[done]]
− doc/bugs/bencode/comment_1_24bc8c996eb32f344b3f091e14171a15._comment
@@ -1,11 +0,0 @@-[[!comment format=mdwn- username="joey"- subject="""comment 1"""- date="2015-01-05T15:53:32Z"- content="""-Rewriting the torrent library to use attobencode feels like yak shaving.-It's not like parsing torrents is a performance bottleneck in this-situation, that would need an attoparsec based parser for speed.--I don't see any licensing problems in bencode.-"""]]
− doc/bugs/bittorrent_special_url_double-encoding.mdwn
@@ -1,177 +0,0 @@-[[!meta title="mojibake in aria2c output"]]--### Please describe the problem.--French messages in the `aria2c` client called from `git-annex` are garbled, probably double utf-8 encoded.--### What steps will reproduce the problem?--download a bittorrent url with git-torrent using a UTF8 locale.--### What version of git-annex are you using? On what operating system?--`5.20150205-gbf9058a` on current debian jessie.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--anarcat@marcos:iso(master)$ /srv/downloads.kitenet.net/git-annex/linux/current/git-annex.linux/git-annex addurl http://images.kali.org/kali-linux-1.1.0-amd64-mini.torrent-(downloading torrent file...)---2015-02-09 22:08:58-- http://images.kali.org/kali-linux-1.1.0-amd64-mini.torrent-Résolution de images.kali.org (images.kali.org)… 50.7.37.130-Connexion à images.kali.org (images.kali.org)|50.7.37.130|:80… connecté.-requête HTTP transmise, en attente de la réponse… 200 OK-Taille : 2668 (2,6K) [application/octet-stream]-Sauvegarde en : « ../.git/annex/misctmp/torrent31107 »--100%[=====================================================================================================================================================================================================>] 2 668 --.-K/s ds 0,002s--2015-02-09 22:08:59 (1,56 MB/s) — « ../.git/annex/misctmp/torrent31107 » sauvegardé [2668/2668]--addurl images.kali.org_kali_linux_1.1.0_amd64_mini.torrent/kali_linux_1.1.0_amd64_mini.iso (from bittorrent)---02/09 22:08:59 [ERROR] Exception caught while loading DHT routing table from /home/anarcat/.aria2/dht.dat-Exception: [DHTRoutingTableDeserializer.cc:83] errorCode=1 Failed to load DHT routing table from /home/anarcat/.aria2/dht.dat--02/09 22:08:59 [NOTICE] IPv4 DHT: listening on UDP port 6912--02/09 22:08:59 [ERROR] Erreur d'intégrité détectée. fichier=../.git/annex/misctmp/URL--http&c%%images.kali.org%kali-linux-1.1.0-amd64-mini.torrent/kali-linux-1.1.0-amd64-mini--02/09 22:08:59 [NOTICE] IPv4 BitTorrent: listening on TCP port 6910--02/09 22:08:59 [NOTICE] IPv6 BitTorrent: listening on TCP port 6910-[#9acd0a 0B/27MiB(0%) CN:0 SD:0 DL:0B]-[#9acd0a 0B/27MiB(0%) CN:29 SD:0 DL:0B]-[#9acd0a 0B/27MiB(0%) CN:29 SD:1 DL:0B]-[#9acd0a 0B/27MiB(0%) CN:27 SD:5 DL:0B]-[#9acd0a 464KiB/27MiB(1%) CN:27 SD:6 DL:612KiB ETA:44s]-[#9acd0a 1.0MiB/27MiB(3%) CN:27 SD:6 DL:604KiB ETA:44s]-[#9acd0a 1.5MiB/27MiB(5%) CN:27 SD:7 DL:583KiB ETA:44s]-[#9acd0a 2.2MiB/27MiB(8%) CN:26 SD:8 DL:600KiB ETA:42s]-[#9acd0a 2.7MiB/27MiB(10%) CN:26 SD:10 DL:596KiB ETA:41s]-[#9acd0a 3.2MiB/27MiB(12%) CN:26 SD:11 DL:579KiB ETA:41s]-[#9acd0a 3.8MiB/27MiB(14%) CN:27 SD:11 DL:584KiB ETA:40s]-[#9acd0a 4.4MiB/27MiB(16%) CN:27 SD:11 DL:584KiB ETA:39s]-[#9acd0a 5.0MiB/27MiB(18%) CN:26 SD:11 DL:589KiB ETA:38s]-[#9acd0a 5.5MiB/27MiB(20%) CN:26 SD:11 DL:590KiB ETA:37s]-[#9acd0a 6.2MiB/27MiB(23%) CN:26 SD:11 DL:595KiB ETA:35s]-[#9acd0a 6.8MiB/27MiB(25%) CN:26 SD:11 DL:596KiB ETA:34s]-[#9acd0a 7.3MiB/27MiB(27%) CN:24 SD:9 DL:594KiB ETA:33s]-[#9acd0a 7.9MiB/27MiB(29%) CN:24 SD:9 DL:594KiB ETA:32s]-[#9acd0a 8.4MiB/27MiB(31%) CN:24 SD:10 DL:591KiB ETA:32s]-[#9acd0a 9.1MiB/27MiB(33%) CN:24 SD:10 DL:595KiB ETA:30s]-[#9acd0a 9.7MiB/27MiB(35%) CN:24 SD:10 DL:596KiB ETA:29s]-[#9acd0a 10MiB/27MiB(37%) CN:22 SD:9 DL:589KiB ETA:29s]-[#9acd0a 10MiB/27MiB(39%) CN:10 SD:8 DL:588KiB ETA:28s]-[#9acd0a 11MiB/27MiB(41%) CN:9 SD:8 DL:583KiB ETA:27s]-[#9acd0a 11MiB/27MiB(43%) CN:9 SD:8 DL:587KiB ETA:26s]-[#9acd0a 12MiB/27MiB(45%) CN:8 SD:7 DL:586KiB ETA:25s]-[#9acd0a 12MiB/27MiB(48%) CN:8 SD:7 DL:584KiB ETA:24s]-[#9acd0a 13MiB/27MiB(50%) CN:8 SD:8 DL:585KiB ETA:23s]-[#9acd0a 14MiB/27MiB(52%) CN:8 SD:8 DL:574KiB ETA:23s]-[#9acd0a 14MiB/27MiB(53%) CN:8 SD:8 DL:567KiB ETA:22s]-[#9acd0a 14MiB/27MiB(55%) CN:8 SD:8 DL:556KiB ETA:22s]-[#9acd0a 15MiB/27MiB(57%) CN:8 SD:8 DL:555KiB ETA:21s]-[#9acd0a 15MiB/27MiB(59%) CN:8 SD:8 DL:550KiB ETA:20s]-[#9acd0a 16MiB/27MiB(60%) CN:8 SD:8 DL:543KiB ETA:19s]-[#9acd0a 16MiB/27MiB(62%) CN:8 SD:8 DL:540KiB ETA:18s]-[#9acd0a 17MiB/27MiB(64%) CN:8 SD:8 DL:537KiB ETA:18s]-[#9acd0a 18MiB/27MiB(66%) CN:8 SD:8 DL:535KiB ETA:17s]-[#9acd0a 18MiB/27MiB(68%) CN:8 SD:8 DL:525KiB ETA:16s]-[#9acd0a 18MiB/27MiB(70%) CN:8 SD:8 DL:522KiB ETA:15s]-[#9acd0a 19MiB/27MiB(72%) CN:8 SD:8 DL:522KiB ETA:14s]-[#9acd0a 19MiB/27MiB(74%) CN:8 SD:8 DL:523KiB ETA:13s]-[#9acd0a 20MiB/27MiB(76%) CN:8 SD:8 DL:517KiB ETA:12s]-[#9acd0a 21MiB/27MiB(78%) CN:8 SD:8 DL:522KiB ETA:11s]-[#9acd0a 21MiB/27MiB(80%) CN:13 SD:8 DL:532KiB ETA:10s]-[#9acd0a 22MiB/27MiB(82%) CN:13 SD:8 DL:541KiB ETA:8s]-[#9acd0a 22MiB/27MiB(84%) CN:13 SD:8 DL:544KiB ETA:7s]-[#9acd0a 23MiB/27MiB(86%) CN:13 SD:8 DL:552KiB ETA:6s]-[#9acd0a 23MiB/27MiB(88%) CN:13 SD:8 DL:549KiB ETA:5s]-[#9acd0a 24MiB/27MiB(91%) CN:13 SD:8 DL:558KiB ETA:4s]-[#9acd0a 25MiB/27MiB(93%) CN:13 SD:8 DL:570KiB ETA:3s]-[#9acd0a 25MiB/27MiB(95%) CN:13 SD:8 DL:576KiB ETA:2s]-[#9acd0a 26MiB/27MiB(97%) CN:13 SD:8 DL:587KiB ETA:1s]-[#9acd0a 26MiB/27MiB(99%) CN:13 SD:8 DL:592KiB]--02/09 22:09:53 [NOTICE] Le téléchargement des fichiers sélectionnés est terminé.--02/09 22:09:53 [NOTICE] Le partage (seeding) est terminé-[#9acd0a SEED(0.0) CN:9 SD:4]-[#9acd0a SEED(0.0) CN:0 SD:0]--02/09 22:09:55 [NOTICE] Téléchargement terminé: ../.git/annex/misctmp/URL--http&c%%images.kali.org%kali-linux-1.1.0-amd64-mini.torrent/kali-linux-1.1.0-amd64-mini--02/09 22:09:55 [NOTICE] Votre ratio de partage était de 0.0, envoyé/téléchargé=0B/27MiB---Résultats du téléchargement:-gid |stat|avg speed |path/URI-======+====+===========+=======================================================-9acd0a|OK | 518KiB/s|../.git/annex/misctmp/URL--http&c%%images.kali.org%kali-linux-1.1.0-amd64-mini.torrent/kali-linux-1.1.0-amd64-mini/kali-linux-1.1.0-amd64-mini.iso--Légende du statut:-(OK): téléchargement terminé.-ok-addurl images.kali.org_kali_linux_1.1.0_amd64_mini.torrent/kali_linux_1.1.0_amd64_mini.txt.sha1sum (from bittorrent)---02/09 22:09:56 [NOTICE] IPv4 DHT: listening on UDP port 6990--02/09 22:09:56 [NOTICE] Le fichier de contrôle défectueux ../.git/annex/misctmp/URL--http&c%%images.kali.org%kali-linux-1.1.0-amd64-mini.torrent/kali-linux-1.1.0-amd64-mini.aria2 a été supprimé car le fichier téléchargé ../.git/annex/misctmp/URL--http&c%%images.kali.org%kali-linux-1.1.0-amd64-mini.torrent/kali-linux-1.1.0-amd64-mini n'existe pas.--02/09 22:09:56 [ERROR] Erreur d'intégrité détectée. fichier=../.git/annex/misctmp/URL--http&c%%images.kali.org%kali-linux-1.1.0-amd64-mini.torrent/kali-linux-1.1.0-amd64-mini--02/09 22:09:56 [NOTICE] IPv4 BitTorrent: listening on TCP port 6899--02/09 22:09:56 [NOTICE] IPv6 BitTorrent: listening on TCP port 6899-[#5f49f7 0B/75B(0%) CN:0 SD:0 DL:0B]-[#5f49f7 0B/75B(0%) CN:28 SD:0 DL:0B]-[#5f49f7 0B/75B(0%) CN:28 SD:1 DL:0B]--02/09 22:10:00 [NOTICE] Le téléchargement des fichiers sélectionnés est terminé.--02/09 22:10:00 [NOTICE] Le partage (seeding) est terminé-[#5f49f7 SEED(0.0) CN:22 SD:3]-[#5f49f7 SEED(0.0) CN:0 SD:0]--02/09 22:10:02 [NOTICE] Téléchargement terminé: ../.git/annex/misctmp/URL--http&c%%images.kali.org%kali-linux-1.1.0-amd64-mini.torrent/kali-linux-1.1.0-amd64-mini--02/09 22:10:02 [NOTICE] Votre ratio de partage était de 0.0, envoyé/téléchargé=0B/75B---Résultats du téléchargement:-gid |stat|avg speed |path/URI-======+====+===========+=======================================================-5f49f7|OK | 19B/s|../.git/annex/misctmp/URL--http&c%%images.kali.org%kali-linux-1.1.0-amd64-mini.torrent/kali-linux-1.1.0-amd64-mini/kali-linux-1.1.0-amd64-mini.txt.sha1sum--Légende du statut:-(OK): téléchargement terminé.-ok-(recording state in git...)-anarcat@marcos:iso(master +)$ locale-LANG=fr_CA.UTF-8-LANGUAGE=-LC_CTYPE="fr_CA.UTF-8"-LC_NUMERIC="fr_CA.UTF-8"-LC_TIME="fr_CA.UTF-8"-LC_COLLATE="fr_CA.UTF-8"-LC_MONETARY="fr_CA.UTF-8"-LC_MESSAGES="fr_CA.UTF-8"-LC_PAPER="fr_CA.UTF-8"-LC_NAME="fr_CA.UTF-8"-LC_ADDRESS="fr_CA.UTF-8"-LC_TELEPHONE="fr_CA.UTF-8"-LC_MEASUREMENT="fr_CA.UTF-8"-LC_IDENTIFICATION="fr_CA.UTF-8"-LC_ALL=-# End of transcript or log.-"""]]--Previous similar UTF-8 bug: [[forget_corrupts_non-ascii_chars]]. Looks similar. --[[anarcat]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/box.com.mdwn
@@ -1,35 +0,0 @@-### Please describe the problem.--I´m trying to use an box.com acount as special remote repository for transfering data amoung my clients. Adding the box.com is possible. On the box.com website i see that git-annex has create an folder, but there is no syncing.--When i try to enable the box.com Repository on an another client i get an Internal Error Server: bad creds.---### What version of git-annex are you using? On what operating system?--Git-Annex Version: git-annex version 5.20140830-g3c96b79--Mac OS X 10.9.4--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--03/Sep/2014:20:41:31 +0200 [Error#yesod-core] bad creds @(yesod-core-1.2.19:Yesod.Core.Class.Yesod ./Yesod/Core/Class/Yesod.hs:503:5)--[2014-09-03 20:41:47 CEST] main: Syncing with Box.com -- bad creds-- bad creds-- bad creds-- bad creds--# End of transcript or log.-"""]]--> [[done]]; fixed in [[!commit d84eab8a8af0c8cfa85de5baabfd9a2cf306f968]]
− doc/bugs/box.com/comment_1_d904a08519424cb9f599b2154d1ef953._comment
@@ -1,10 +0,0 @@-[[!comment format=mdwn- username="http://joeyh.name/"- ip="108.236.230.124"- subject="comment 1"- date="2014-09-18T19:28:56Z"- content="""-Ok, I managed to reproduce this. In my case, there was no \"Bad creds\" message because the broken creds data it used happened to contain a newline, but same problem; the creds stored by the webapp are not used properly when re-enabling the box.com remote elsewhere. Same problem would affect other special remotes using embedded creds and shared encryption.--Seems to be a bug introduced in [[!commit fbdeeeed5fa276d94be587c8916d725eddcaf546]]. Despite what the commit says, the embedded creds did get encrypted with the shared gpg key. I have reverted that commit to fix this problem.-"""]]
− doc/bugs/broken_git_annex_map_on_direct_mode.mdwn
@@ -1,58 +0,0 @@-### Please describe the problem.--`git annex map` shows broken graph when direct mode is used--### What steps will reproduce the problem?--See transcript--### What version of git-annex are you using? On what operating system?--[[!format sh """-$ git annex version-git-annex version: 5.20140107-build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav glacier hook external--$ LANG=C apt-cache policy git-annex-git-annex:- Installed: 5.20140107- Candidate: 5.20140107- Version table:- *** 5.20140107 0- 50 http://http.debian.net/debian/ sid/main amd64 Packages- 100 /var/lib/dpkg/status-"""]]---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--git init a-cd a-git annex init--cd ..-git clone a b-cd b-git annex init---# OK-git annex map--cd ../a-git annex direct-cd ../b--# NOT OK-git annex map--# End of transcript or log.-"""]]--> [[fixed|done]]; thanks for a good test case. --[[Joey]]
+ doc/bugs/broken_repo_when_inodes_exhausted.mdwn view
@@ -0,0 +1,62 @@+### Please describe the problem.+I found one of my repos damaged after letting the webapp sync with it for a while. The filesystem inodes were exhausted and all the refs pointed to objects that do not exist.++### What steps will reproduce the problem?+I expect this issue to be reproduced by syncing to a filesystem without enough free inodes to hold the incoming files.++### What version of git-annex are you using? On what operating system?+This repo is using git-annex 6.20160229-g37a89cc++### Please provide any additional information below.++[[!format sh """+# If you can, paste a complete transcript of the problem occurring here.+# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log++$ git status+fatal: bad object HEAD+$ git pull+error: refs/heads/master does not point to a valid object!+error: refs/heads/synced/git-annex does not point to a valid object!+error: refs/heads/synced/master does not point to a valid object!+error: refs/heads/master does not point to a valid object!+error: refs/heads/synced/git-annex does not point to a valid object!+error: refs/heads/synced/master does not point to a valid object!+error: refs/heads/master does not point to a valid object!+error: refs/heads/synced/git-annex does not point to a valid object!+error: refs/heads/synced/master does not point to a valid object!+error: refs/heads/master does not point to a valid object!+error: refs/heads/synced/git-annex does not point to a valid object!+error: refs/heads/synced/master does not point to a valid object!+remote: Counting objects: 3, done.+remote: Compressing objects: 100% (3/3), done.+remote: Total 3 (delta 0), reused 0 (delta 0)+Unpacking objects: 100% (3/3), done.+error: refs/heads/master does not point to a valid object!+error: refs/heads/synced/git-annex does not point to a valid object!+error: refs/heads/synced/master does not point to a valid object!+fatal: bad object HEAD+error: /home/olpc/annex-ext4 did not send all necessary objects++Auto packing the repository in background for optimum performance.+See "git help gc" for manual housekeeping.+error: The last gc run reported the following. Please correct the root cause+and remove .git/gc.log.+Automatic cleanup will not be performed until the file is removed.++error: refs/heads/master does not point to a valid object!+error: refs/heads/synced/git-annex does not point to a valid object!+error: refs/heads/synced/master does not point to a valid object!+error: refs/remotes/beta/master does not point to a valid object!+error: refs/remotes/beta/synced/master does not point to a valid object!+error: refs/remotes/halloween/master does not point to a valid object!+error: refs/remotes/halloween/synced/master does not point to a valid object!+fatal: bad object HEAD+error: failed to run repack++# 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)++I'm running into a few issues but I intend to work through them.
− doc/bugs/build_fails_in_Assistant__47__WebApp__47__Gpg.hs.mdwn
@@ -1,57 +0,0 @@-### Please describe the problem.--Building from git fails in Assistant/WebApp/Gpg.hs--### What steps will reproduce the problem?--Follow instructions at <http://git-annex.branchable.com/install/cabal/> for building from git:--[[!format sh """-cabal update-PATH=$HOME/bin:$PATH-cabal install c2hs --bindir=$HOME/bin-cabal install --only-dependencies-cabal configure-cabal build-"""]]--### What version of git-annex are you using? On what operating system?--git master (7da58f3ebf8), openSUSE 12.3--### Please provide any additional information below.--[[!format txt """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--Assistant/WebApp/Configurators/Fsck.hs:69:35:- Warning: This binding for `u' shadows the existing binding- bound at Assistant/WebApp/Configurators/Fsck.hs:60:17--Assistant/WebApp/Configurators/Fsck.hs:126:11:- Warning: This binding for `check' shadows the existing binding- imported from `Assistant.WebApp.Common' at Assistant/WebApp/Configurators/Fsck.hs:16:1--30- (and originally defined in `Yesod.Form.Functions')-[322 of 371] Compiling Assistant.TransferQueue ( Assistant/TransferQueue.hs, dist/build/git-annex/git--annex-tmp/Assistant/TransferQueue.o )-[323 of 371] Compiling Assistant.Threads.Glacier ( Assistant/Threads/Glacier.hs, dist/build/git-annex-/git-annex-tmp/Assistant/Threads/Glacier.o )-[324 of 371] Compiling Assistant.Threads.Merger ( Assistant/Threads/Merger.hs, dist/build/git-annex/g-it-annex-tmp/Assistant/Threads/Merger.o )-[325 of 371] Compiling Assistant.Threads.Cronner ( Assistant/Threads/Cronner.hs, dist/build/git-annex-/git-annex-tmp/Assistant/Threads/Cronner.o )-[326 of 371] Compiling Assistant.MakeRemote ( Assistant/MakeRemote.hs, dist/build/git-annex/git-annex--tmp/Assistant/MakeRemote.o )-[327 of 371] Compiling Assistant.WebApp.Gpg ( Assistant/WebApp/Gpg.hs, dist/build/git-annex/git-annex--tmp/Assistant/WebApp/Gpg.o )--Assistant/WebApp/Gpg.hs:88:40:- Not in scope: type constructor or class `MonadIO'- Perhaps you meant `Monad' (imported from Assistant.WebApp.Common)--# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/build_issue_with_8baff14054e65ecbe801eb66786a55fa5245cb30.mdwn
@@ -1,43 +0,0 @@-Building commit 8baff14054e65ecbe801eb66786a55fa5245cb30 yields this...---<pre>-[164 of 189] Compiling Command.Sync ( Command/Sync.hs, tmp/Command/Sync.o )-Command/Sync.hs:268:34:-Not in scope: `vermarker'-Perhaps you meant `varmarker' (line 267)-make: *** [git-annex] Error 1-</pre>--Supplied fix...--<pre>--From a23a1af99c7a95c316a87f9c6f5f67a6f8ff6937 Mon Sep 17 00:00:00 2001-From: Jimmy Tang <jtang@tchpc.tcd.ie>-Date: Wed, 27 Jun 2012 21:55:22 +0100-Subject: [PATCH 14/14] fix build issue introduced in- 8baff14054e65ecbe801eb66786a55fa5245cb30------ Command/Sync.hs | 2 +-- 1 file changed, 1 insertion(+), 1 deletion(-)--diff --git a/Command/Sync.hs b/Command/Sync.hs-index b2bf24d..dfaed59 100644---- a/Command/Sync.hs-+++ b/Command/Sync.hs-@@ -265,7 +265,7 @@ mergeFile file key- | otherwise = go $ shortHash $ show key- where- varmarker = ".variant-"-- doubleconflict = vermarker `isSuffixOf` (dropExtension file)-+ doubleconflict = varmarker `isSuffixOf` (dropExtension file)- go v = takeDirectory file- </> dropExtension (takeFileName file)- ++ varmarker ++ v--- -1.7.11.1-</pre>--[[fixed|done]]
doc/bugs/cannot_change_locale___40__en__95__US.UTF-8__41__.mdwn view
@@ -26,3 +26,22 @@ he_IL.iso88598 he_IL.utf8 POSIX++> I've made LOCPATH not be set except when git-annex is built with ghc+> older than 7.10, since the problem was fixed in ghc 7.10.+> +> Also, I loved the LOCPATH setting into the linker shim script, rather+> than in runshell, so it will only affect the programs bundled with+> git-annex (itself and git and a few other things). Which are not+> localized anyway in the bundle. So, even in builds where it's still set+> (the linux ancient build in particular), things done in the runshell+> environment won't be affected.+> +> I do wonder if there could be problems with incompatabilities between the+> bundled glibc and the system locale files, which might be for a+> newer/older libc version. Not so much random `.mo` files, which seem+> quite portable across glibc versions, but the more core locale files.+> If that turns out to be a problem, LOCPATH might have to be turned back+> on. +> +> For now, [[done]] --[[Joey]]
− doc/bugs/cannot_link_executable_on_android.mdwn
@@ -1,28 +0,0 @@-### Please describe the problem.-Then starting git-annex on my Galaxy Nexus Android device, in the terminal window I get:--[[!format sh """-Falling back to hardcoded app location: cannot find expected files in /data/app-lib-git annex webapp-u0_a123@maguro:/sdcad/git-annex.home $ git annex webapp-CANNOT LINK EXECUTABLE: git-annex invalid R_ARM_COPY relocation against DT_SYMBOLIC shared library libc.so (built with -Bsymbolic?)-u0_a123@maguro:/sdcad/git-annex.home $ -"""]]--### What steps will reproduce the problem?-Start git-annex.--### What version of git-annex are you using? On what operating system?-Nightly build and release from a few days ago - 1.0.52--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[dup|done]] of [[git-annex_broken_on_Android_4.3]].--[[Joey]]
− doc/bugs/case-insensitive.mdwn
@@ -1,20 +0,0 @@-What steps will reproduce the problem?--> Building git-annex on the ghc7.0 branch on a Mac with the default case-insensitive file system--What is the expected output? What do you see instead?--> Expected: build successfully; instead: - - ld: duplicate symbol _UtilityziDiskFree_zdwa_info in dist/build/git-annex/git-annex-tmp/Utility/diskfree.o and dist/build/git-annex/git-annex-tmp/Utility/DiskFree.o for architecture x86_64--What version of git-annex are you using? On what operating system?--> commit `0bd5c90ef0518f75d52f0c5889422d8233df847d` on a Mac OS 10.6 and 10.7, using the Haskell Platform 2012.04--Please provide any additional information below.--> The problem is that since `DiskFree.hs` generates `DiskFree.o` and `diskfree.c` generates `diskfree.o`, a case-insensitive file system overwrites one object file with the other. Renaming `diskfree.c` to `diskfreec.c` and changing the corresponding filenames in `git-annex.cabal` fixes the problem.-->> Man, not this again. The 80's called, they want their ->> unix portability wars back. [[fixed|done]]. --[[Joey]]
− doc/bugs/clean-duplicates_causes_data_loss.mdwn
@@ -1,30 +0,0 @@-### Please describe the problem.--Use of git-annex import --clean-duplicates can cause data loss, where git-annex deletes content that it doesn't actually have a copy of (i.e. there is no duplicate).--### What steps will reproduce the problem?--I've written a quick'n'dirty test script which goes through a bunch of combinations and tests --clean-duplicates. Given an 'origin' repo containing 'a' and 'b' content and a clone of it ('import') which doesn't contain 'a' and 'b' content.--g-a import --clean-duplicates ~/tmp/importme (containing a, b and c) into 'import' after:-- Origin is set to trusted in import, b is dropped from within origin:- b is deleted from importme even though no annexes have copies (reasonable, as origin is set to trusted and import thinks it has the content).-- Origin is set to semitrusted in import, b is dropped within origin:- b is deleted from importme even though no annexes have copies (this is most likely one to bite people).-- Origin is set to untrusted in import, b is dropped within origin:- b is deleted from importme even though no annexes have copies and git-annex has been explicitly told to not trust information about origin :( This is really surprising behaviour!--### What version of git-annex are you using? On what operating system?--* 5.20150409-* Arch Linux (git-annex-bin)--### Please provide any additional information below.--I can provide the script if it is wanted (coded in Perl, couple of non-core dependencies).--> Decided to go ahead and make it check remotes like drop does, so [[done]]-> --[[Joey]]
− doc/bugs/clean-duplicates_doesn__39__t_delete_duplicates.mdwn
@@ -1,113 +0,0 @@-This feels really sucky, seeing as I am the one that asked for these checks to be implemented..--### Please describe the problem.----clean-duplicates now refuses to remove a file due to not being able to verify its presence in the local repo, even though it is present in the local repo and git-annex knows it is present (whereis and fsck on the keys complete correctly).--### What steps will reproduce the problem?--See transcript--### What version of git-annex are you using? On what operating system?--git-annex versions:-* 2015-05-08-* 2015-05-28--OS: Arch Linux--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-- #### gemma@spearmint (0) ~- ## mkdir ~/tmp/annextest- mkdir: created directory ?tmp/annextest?- #### gemma@spearmint (0) ~- ## cd ~/tmp/annextest- #### gemma@spearmint (0) ~/tmp/annextest- ## git init annex- Initialized empty Git repository in /home/gemma/tmp/annextest/annex/.git/- #### gemma@spearmint (0) ~/tmp/annextest- ## cd annex/- #### gemma@spearmint (0) ~/tmp/annextest/annex- ## git annex init test- init test ok- (recording state in git...)- #### gemma@spearmint (0) ~/tmp/annextest/annex- ## echo a > a- #### gemma@spearmint (0) ~/tmp/annextest/annex- ## echo b > b- #### gemma@spearmint (0) ~/tmp/annextest/annex- ## git annex add *- add a ok- add b ok- (recording state in git...)- #### gemma@spearmint (0) ~/tmp/annextest/annex- ## git commit -m "files"- [master (root-commit) ce31ccf] files- 2 files changed, 2 insertions(+)- create mode 120000 a- create mode 120000 b-- #### gemma@spearmint (0) ~/tmp/annextest/annex- ## mkdir ../import- mkdir: created directory ?import?- #### gemma@spearmint (0) ~/tmp/annextest/annex- ## cd ../import- #### gemma@spearmint (0) ~/tmp/annextest/import- ## echo b > b- #### gemma@spearmint (0) ~/tmp/annextest/import- ## echo a > a- #### gemma@spearmint (0) ~/tmp/annextest/import- ## cd ../annex--- #### gemma@spearmint (0) ~/tmp/annextest/annex- ## git annex import --clean-duplicates ../import/- import import/b (duplicate of SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f) (unsafe) - Could only verify the existence of 0 out of 1 necessary copies-- Could not verify that the content is still present in the annex; not removing from the import location.- failed- import import/a (duplicate of SHA256E-s2--87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7) (unsafe) - Could only verify the existence of 0 out of 1 necessary copies-- Could not verify that the content is still present in the annex; not removing from the import location.- failed- git-annex: import: 2 failed----- #### gemma@spearmint (1) ~/tmp/annextest/annex- ## git annex whereis --key SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f- whereis SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f (1 copy) - 8d91925d-f3d2-493b-a79b-1a18658060a1 -- test [here]- ok---- #### gemma@spearmint (0) ~/tmp/annextest/annex- ## git annex fsck --key SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f- fsck SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f (checksum...)- ok- (recording state in git...)---- #### gemma@spearmint (0) ~/tmp/annextest/annex- ## git annex import --clean-duplicates ../import/- import import/b (duplicate of SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f) (unsafe) - Could only verify the existence of 0 out of 1 necessary copies-- Could not verify that the content is still present in the annex; not removing from the import location.- failed--# End of transcript or log.-"""]]--> Indeed, I seem to have broken it while refactoring. [[fixed|done]]-> --[[Joey]]
− doc/bugs/configurable_path_to_git-annex-shell.mdwn
@@ -1,7 +0,0 @@-On one of my ssh remotes I had to install git-annex using cabal. No system-wide installation possible. Hence `git-annex` and `git-annex-shell` are not in the default `$PATH` but in `$HOME/.cabal/bin`.--Right now the command run by git-annex when ssh'ing to a remote is hardcoded to "`git-annex-shell`", which doesn't work for me. It would be nice to be able to change this per remote, for example with an option named `annex.<remote>.annex-shell-command`. Changing "`git-annex-shell`" in `Remote/Helper/Ssh.hs` to "`~/.cabal/bin/git-annex-shell`" worked for me, but it's obviously very ugly :)--Could you do that please? I'll try to hack it myself and send you a patch in the next few days, but I'm pretty new to Haskell so it may take me a while... Thanks!--> [[closing|done]], see comments --[[Joey]]
− doc/bugs/copy_fails_for_some_fails_without_explanation.mdwn
@@ -1,7 +0,0 @@-I have a large direct-mode repository whose files I'm trying to copy to a non-direct-mode repository. Both repositories live on an HDD attached to an rpi.--When I do $ git annex copy --to pi dirs/to/copy, the copy starts out OK, but eventually many files fail to copy. The only diagnostic I get is "failed". Judging from the backscroll, I don't see a strong pattern to the files which fail to copy; they're kind of interspersed amongst files which were successfully copied. If I try to copy one of these failed files explicitly (git annex copy --to pi file/which/failed), this succeeds. I have plenty of free space on the disk.--Is there a way to get more diagnostics out of git annex so I can see why these files are failing to copy?--> [[fixed|done]] --[[Joey]]
− doc/bugs/copy_to_--fast_should_not_mention_every_file_it_checks.mdwn
@@ -1,28 +0,0 @@-### Please describe the problem.--When copying files to s3 using,-- git annex copy --quiet --to mys3 --fast--No information whatsoever is printed during upload when ran without `--quite` it prints a line for each file in the repo creating page after page of output for repos with thousands of file basically no way to tell which files got uploaded. Is it possible to have a verbosity level between quite and verbose that only reports progress on actual copy/move operations.--### What steps will reproduce the problem?---### What version of git-annex are you using? On what operating system?---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--[[!meta title="copy --fast --to remote should be quiet when nothing to do"]]--> [[fixed|done]]; Avoided the unnecessary output in this situation.-> --[[Joey]]
− doc/bugs/copy_unused_and_unused_not_agreeing.mdwn
@@ -1,50 +0,0 @@-[[!format sh """-greg@x200s:~/Documents$ git-annex unused-unused . (checking for unused data...) (checking annex/direct/master...) (checking synced/annex/direct/master...) (checking synology/master...) - Some annexed data is no longer used by any files:- NUMBER KEY- 1 SHA256E-s16367--0b00ef0154c42a0bf94e5be8d92d8af27455d59794f26c33dfc39c09178521c9.pdf- 2 SHA256E-s84--b08e1c831863bb43c02158bd5e8f3f5416c3a5203d89fa94a22149460142c273.odt- 3 SHA256E-s84--ec4caae451180a29721f2b6667eec8ec80eaa724f0727cf99d2bb21bf9218e9d.odt- ...- 88 SHA256E-s84--710d69bef61674b04974ac550d713e5928563b2a12b902b64fe451705b967452.doc- 89 SHA256E-s3830--1348d6248e35625da3e22f73d2a0017185bb5e1aa37f65bbca5dfcb3c7f53034- 90 SHA256E-s119822--7c1b53ab6402b8835473f0b5c326f3cc300ac9372be79694942c1efa4bcdc621.pdf- 91 SHA256E-s84--63b6188696795885ff6570a76a3a74799396787f7058cbcfd4a2c40b22982420.odt- (To see where data was previously used, try: git log --stat -S'KEY')- - To remove unwanted data: git-annex dropunused NUMBER- -ok-greg@x200s:~/Documents$ git-annex copy --unused --to synology-"""]]--Is that correct behavior? I would assume the last command would at least run through the 91 files and check my synology remote that they are there. Like this repo did:--[[!format sh """-$ git-annex unused-unused . (checking for unused data...) (checking master...) (checking 60justin/master...)- Some annexed data is no longer used by any files:- NUMBER KEY- 1 SHA256E-s9390266--7ed16c9423b331dbe63bb3b4278b8c94a6754a07177c53fceb3b24e9610e8054.NEF- 2 SHA256E-s10435713--49cbfe8466eada2c3787c9a7e158a7dfb9845a0aa8ef862ed2578b59c889dc4d.NEF- 3 SHA256E-s9442044--85c314e318f643237df5e3adf7559e9bf268ee28f1f92d4102161865323ddeb6.NEF- 4 SHA256E-s290672--c5822c3ef16bd62b5752b2dace81182ce00d64bd4d2d994ba93e3cb94e645708.JPG- 5 SHA256E-s293288--30f1367fc326f7b053012818863151206f9e3ddeab3c3fc5b5c1c573d120d50a.JPG- 6 SHA256E-s3672986--be960f6dc247df2496f634f7d788bd4a180fe556230e2dafc23ebc8fc1f10af3.JPG- (To see where data was previously used, try: git log --stat -S'KEY')-- To remove unwanted data: git-annex dropunused NUMBER--ok-$ git-annex copy --unused --to synology-copy SHA256E-s9390266--7ed16c9423b331dbe63bb3b4278b8c94a6754a07177c53fceb3b24e9610e8054.NEF (checking synology...) ok-copy SHA256E-s10435713--49cbfe8466eada2c3787c9a7e158a7dfb9845a0aa8ef862ed2578b59c889dc4d.NEF (checking synology...) ok-copy SHA256E-s9442044--85c314e318f643237df5e3adf7559e9bf268ee28f1f92d4102161865323ddeb6.NEF (checking synology...) ok-copy SHA256E-s290672--c5822c3ef16bd62b5752b2dace81182ce00d64bd4d2d994ba93e3cb94e645708.JPG (checking synology...) ok-copy SHA256E-s293288--30f1367fc326f7b053012818863151206f9e3ddeab3c3fc5b5c1c573d120d50a.JPG (checking synology...) ok-copy SHA256E-s3672986--be960f6dc247df2496f634f7d788bd4a180fe556230e2dafc23ebc8fc1f10af3.JPG (checking synology...) ok-$-"""]]--> [[fixed|done]] per my comment --[[Joey]]
− doc/bugs/cotinually_prompting_for_gpg_passphrase.mdwn
@@ -1,77 +0,0 @@-### Please describe the problem.--While the assistant is synchronizing (to local USB backup disks or remote repositories) I am continually prompted for GPG passphrase when it is most definitely already in the gpg-agent.--### What steps will reproduce the problem?--Set up some remote gcrypt repositores using an existing GPG key, add some files, use the system, you are prompted for the passphrase far more often than the timeout of the passphrase in the agent (every few minutes). The number of times you are prompted also seems to increase linearly with the number of repositories - I am guessing they all exhibit the same need for the passphrase and all request at once, resulting in a string of 10+ pinentry popups.--I am wondering if there is something specific in my gpg setup that git annex isn't expecting. Always encrypt to self? Signing subkeys? Either way, standard tools manage to call gpg to encrypt/decrypt using gpg-agent and not prompting for the passphrase, so git annex should be able to as well.--### What version of git-annex are you using? On what operating system?--Arch Linux, 5.20140831-g62e6ad8 --### Please provide any additional information below.--I have read the various discussions about using -R or -r for the recipients, and I can see in the logs that -r is being used, but there is definitely something not working correctly. At the same time that git annex is making a gpg-agent request that results in a passphrase request, I can encrypt and decrypt whatever files I want manually with no prompting.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--gcrypt: Development version -- Repository format MAY CHANGE-gcrypt: Development version -- Repository format MAY CHANGE-gcrypt: Development version -- Repository format MAY CHANGE-gcrypt: Decrypting manifest-gcrypt: Decrypting manifest-gpg: anonymous recipient; trying secret key 7426266D ...-gpg: anonymous recipient; trying secret key 7426266D ...-gpg: okay, we are the anonymous recipient.-gpg: Signature made Thu 11 Sep 2014 06:21:58 BST using RSA key ID AC305414-gpg: Good signature from "user <XXXXXX>" [ultimate]-gpg: aka "[jpeg image of size 2004]" [ultimate]-gpg: okay, we are the anonymous recipient.-gpg: Signature made Thu 11 Sep 2014 06:21:58 BST using RSA key ID AC305414-gpg: Good signature from "user <XXXXXX>" [ultimate]-gpg: aka "[jpeg image of size 2004]" [ultimate]-gcrypt: WARNING:-gcrypt: WARNING: Remote ID has changed!-gcrypt: WARNING: from :id:QydYJR8dPq7y7kMUQDG1-gcrypt: WARNING: to :id:gU3sc34/rhmta4xfSm3O-gcrypt: WARNING:-gcrypt: Encrypting to: -r 49AFD42BB9E8CD9D-gcrypt: Requesting manifest signature-gcrypt: Encrypting to: -r 49AFD42BB9E8CD9D-gcrypt: Requesting manifest signature-gcrypt: Decrypting manifest-gpg: anonymous recipient; trying secret key 7426266D ...-gpg: okay, we are the anonymous recipient.-gpg: Signature made Thu 11 Sep 2014 06:22:58 BST using RSA key ID AC305414-gpg: Good signature from "user <XXXXXXX>" [ultimate]-gpg: aka "[jpeg image of size 2004]" [ultimate]-gcrypt: Encrypting to: -r 49AFD42BB9E8CD9D-gcrypt: Requesting manifest signature-gpg: cancelled by user-gpg: skipped "49AFD42BB9E8CD9D": Operation cancelled-gpg: [stdin]: sign+encrypt failed: Operation cancelled-error: failed to push some refs to 'gcrypt::/autofs/ext/wdpassport0/annexes/user/docs'-[2014-09-11 06:36:18 BST] read: git ["--git-dir=/home/user/docs/.git","--work-tree=/home/user/docs","-c","core.bare=false","push","wdpassport0","master"]-...--# End of transcript or log.-"""]]--The section above I clicked cancel on the pinentry dialog as can be seen. The question is, why was it asking me anyway?--> gpg: anonymous recipient; trying secret key 7426266D ...-> -> That means that you have git-remote-gcrypt configured to use anonymous-> recipients. This causes gpg to try a bunch of gpg keys until it finds one-> that works, rather than immediately trying the right key. -> -> I modified git-remote-gcrypt in July so you can configure-> gcrypt.publish-participants to avoid this problem. -> -> There may also be a local confguration problem; I don't know. In any-> case, it's not git-annex responsible, but git-remote-gcrypt. [[done]] --[[Joey]]
− doc/bugs/creds_directory_not_automatically_created.mdwn
@@ -1,3 +0,0 @@-I just compiled ff7810eb83d8372e6206d487c63482d678e0b3d4 and created a new git-annex repository through the setup steps of "git-annex webapp". Then I tried configuring a Jabber account from the webapp. It then failed to create $REPO/.git/annex/creds/xmpp with a "No such file or directory" message because $REPO/.git/annex/creds did not get created. After doing a manual mkdir the Jabber setup went through fine.--> [[Fixed|done]], thanks. --[[Joey]]
− doc/bugs/direct_mode_assistant_in_subdir_confusion.mdwn
@@ -1,37 +0,0 @@-I ran the assistant in a subdir in direct mode, and it seemed to move files from other places outside that subdir-into it, and commit them there. These may have been files that needed to be committed, and it just staged them to the wrong place.--I'm pretty sure this does not affect indirect mode.----[[Joey]]--The relevant commit, in my family's annex is-22e694549d698922389deb017c39c2b40371cdf0 --[[Joey]]--Was able to reproduce this as follows: --1. Make 2 repositories A and B, with B in direct mode.-2. In A, touch topfile; git annex add topfile; git annex sync-3. In B: mkdir subdir; cd subdir; git annex assistant--Result is a subdir/topfile appearing in B, which is wrong.--<pre>- subdir/topfile | 1 +- topfile | 1 --</pre>--Note that manually doing a git-annex sync in B's subdir does not cause this-to happen. It's specific to the assistant somehow.----[[Joey]] --Before 2407170eaf78d9aa38d73d1af68c20da9882779b, git-annex sync in a subdir-had the same problem. That made it always run from the top of the work-tree, which its code actually assumes is the case. --The assistant, however, does not do that, and it's useful in general to-only run it in a subdir. --> Made sync merge code handle this correctly. Conflicted merge handing code-> was already ok. [[fixed|done]] --[[Joey]]
− doc/bugs/direct_mode_merge_can_overwrite_local__44___non-annexed_files.mdwn
@@ -1,14 +0,0 @@-Direct mode merge handles the case where there's a conflict between local and remote files, that are checked into git.--However, the the local file (or directory, or symlink, whatever)-is not checked into git, the merge will overwrite it with the remote file from git.--> That's fixed; now this is detected and the local variant-> is renamed with ".variant-local", and possibly a number to make it-> unique.--New problem: If the merge pulls in a directory, and a file exists with-the name of the directory, locally, not annexed, the file is left alone,-but the directory is thus not checked out, and will be deleted on commit.--> [[fixed|done]]; regression test in place. --[[Joey]]
− doc/bugs/direct_repository_on_FAT32_fails_to_addurl_containing___63__.mdwn
@@ -1,44 +0,0 @@-### Please describe the problem.--git-annex attempts to create files with question marks in them on my direct repository on a FAT32 drive. This fails.--### What steps will reproduce the problem?--git annex addurl 'http://rf.proxycast.org/m/media/273073201426.mp3?c=culture&p=La+t%C3%AAte+au+carr%C3%A9_10212&l3=20131002&l4=&media_url=http%3A%2F%2Fmedia.radiofrance-podcast.net%2Fpodcast09%2F10212-02.10.2013-ITEMA_20531825-0.mp3'--### What version of git-annex are you using? On what operating system?--[[!format sh """-$ cat /etc/lsb-release-DISTRIB_ID=Ubuntu-DISTRIB_RELEASE=12.04-DISTRIB_CODENAME=precise-DISTRIB_DESCRIPTION="Ubuntu 12.04.3 LTS"--$ git annex version-git-annex version: 4.20130922-g7dc188a-build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP Feeds Quvi-local repository version: 4-default repository version: 3-supported repository versions: 3 4-upgrade supported from repository versions: 0 1 2-"""]]--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--$ git annex addurl 'http://rf.proxycast.org/m/media/273073201426.mp3?c=culture&p=La+t%C3%AAte+au+carr%C3%A9_10212&l3=20131002&l4=&media_url=http%3A%2F%2Fmedia.radiofrance-podcast.net%2Fpodcast09%2F10212-02.10.2013-ITEMA_20531825-0.mp3'-addurl rf.proxycast.org_m_media_273073201426.mp3_c=culture&p=La+t%C3%AAte+au+carr%C3%A9_10212&l3=20131002&l4=&media_url=http%3A%2F%2Fmedia.radiofrance-podcast.net%2Fpodcast09%2F10212-02.10.2013-ITEMA_20531825-0.mp3 (downloading http://rf.proxycast.org/m/media/273073201426.mp3?c=culture&p=La+t%C3%AAte+au+carr%C3%A9_10212&l3=20131002&l4=&media_url=http%3A%2F%2Fmedia.radiofrance-podcast.net%2Fpodcast09%2F10212-02.10.2013-ITEMA_20531825-0.mp3 ...)-/media/sixtyfour/audio/.git/annex/tmp/URL--http&c%%rf.proxycast.org%m%media%273073201426.mp3?c=culture&ap=La+t&sC3&sAAte+au+carr&sC3&sA9_10212&al3=20131002&al4=&amedia_url=http&s3A-86e83c2aaa925b3bc337c1d6a27bd300: Argument invalide--git-annex: /media/sixtyfour/audio/.git/annex/transfer/failed/download/00000000-0000-0000-0000-000000000001/URL--http&c%%rf.proxycast.org%m%media%273073201426.mp3?c=culture&ap=La+t&sC3&sAAte+au+carr&sC3&sA9_10212&al3=20131002&al4=&amedia_url=http&s3A-86e83c2aaa925b3bc337c1d6a27bd300: openFile: invalid argument (Invalid argument)-failed-git-annex: addurl: 1 failed--# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/dolphin_integration_file_is_broken.mdwn
@@ -1,37 +0,0 @@-### Please describe the problem.--git annex will automatically create the file--.kde/share/kde4/services/ServiceMenus/git-annex.desktop--However the actions created do not work because the variable used is %U (file:/// style URL) which git annex does not understand.--According to http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html--Also the escaping seems broken. The following line is one that works for me.-- Exec=sh -c 'cd "$(dirname -- "$1")" && git-annex get --notify-start --notify-finish -- "$1"' command_string_is_ignored %f--or simply-- Exec=git-annex get --notify-start --notify-finish -- %F--### What steps will reproduce the problem?---### What version of git-annex are you using? On what operating system?--5.20141125--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]]; confirmed the new version still works on filenames with-> spaces in them. --[[Joey]]
− doc/bugs/dropping_files_with_a_URL_backend_fails.mdwn
@@ -1,13 +0,0 @@-I was trying out the example with the walkthrough using_the_URL_backend. I tried dropping files that I had after doing an "git annex get ." which have the URL backend associated with the files it fails with---<pre>-[jtang@lenny gc]$ git annex drop -v curl-7.21.4.tar.gz-drop curl-7.21.4.tar.gz-failed-git-annex: 1 failed-</pre>--At first I thought it was just my OSX machine not having the coreutils stuff load up before the BSD utils, but I then tried the same thing on my archlinux machine and it showed the same behaviour, that is I could not drop a file with the URL backend as shown in the walkthrough.--> Whoops, got some logic backwards. [[fixed|done]]! --[[Joey]]
doc/bugs/duplicate_progress_reports_in_parallel___39__get__39__.mdwn view
@@ -20,3 +20,5 @@ """]] [[!meta author=yoh]]++> [[fixed|done]] --[[Joey]]
− doc/bugs/enabling_existing_gitlab_repo_in_webapp_broken.mdwn
@@ -1,8 +0,0 @@-Enabling a gitlab repo that was set up elsewhere in the webapp doesn't-work.--This is a SMOP; it needs to detect that the repo is on gitlab and use a-custom enabling process and no the generic one, which doesn't work.---[[Joey]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/encfs_accused_of_being_crippled.mdwn
@@ -1,41 +0,0 @@-### Please describe the problem.--I tried to create an annex (``git annex init foo``) inside a ``encfs`` mount, and git-annex says that it's crippled, and disables core.symlinks and goes into direct mode--### What steps will reproduce the problem?-- apt-get install encfs- encfs -o kernel_cache empty_dir other_empty_dir- cd other_empty_dir- git init- git annex init foo--### Expected results-- init foo ok- (Recording state in git...)--### Actual results-- init foo - Detected a crippled filesystem.-- Disabling core.symlinks.-- Enabling direct mode.- ok- (Recording state in git...)--### What version of git-annex are you using? On what operating system?--4.20130601 on debian unstable---### P.S.--This was particularly annoying when I tried this on a bare repository. I'm pretty sure bare repositories don't need symlinks, and should definitely not be in direct mode. Hopefully you can fix it before I have time to file another bug report :)--Thank you!---> [[fixed|done]] --[[Joey]]
− doc/bugs/encrpyted_ssh_remote_on_macosx.mdwn
@@ -1,42 +0,0 @@-### Please describe the problem.-Could not get ssh-askpass running on macosx.-Transfered the publich key with scp.-certificate based ssh from macosx to ssh server (debian testing) works.-After successfull login to ssh server git annex stops with the following errors:--Browser Error Message: -user error (gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--gen-random","--armor","1","512"] exited 2)--### What steps will reproduce the problem?-1. git annex on debian gnu linux-2. git annex on macosx-3. set up "share with a friend"-4. create rsa keys on macosx "ssh-kegen -t rsa"-5. scp public key to server with hosts encrypted ssh remote -6. configure the server use a encrypted ssh remote in tranport mode --### What version of git-annex are you using? On what operating system?-current debian testing (20130827)-macosx 20130827-### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--(scanning...) [2013-09-28 17:39:25 CEST] Watcher: Performing startup scan-(started...) [2013-09-28 17:39:26 CEST] XMPPSendPack: Syncing with jlueters -Everything up-to-date-[2013-09-28 17:39:30 CEST] XMPPSendPack: Unable to download files from jlueters. --(encryption setup) gpg: /Users/lambert/.gnupg/gpg.conf:241: invalid auto-key-locate list-28/Sep/2013:17:40:06 +0200 [Error#yesod-core] user error (gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--gen-random","--armor","1","512"] exited 2) @(yesod-core-1.1.8.3:Yesod.Internal.Core ./Yesod/Internal/Core.hs:550:5)-(encryption setup) gpg: /Users/lambert/.gnupg/gpg.conf:241: invalid auto-key-locate list-28/Sep/2013:17:40:48 +0200 [Error#yesod-core] user error (gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--gen-random","--armor","1","512"] exited 2) @(yesod-core-1.1.8.3:Yesod.Internal.Core ./Yesod/Internal/Core.hs:550:5)----# End of transcript or log.-"""]]--> [[dup|done]] --[[Joey]]
− doc/bugs/endless_loop_when_PWD_gone.mdwn
@@ -1,16 +0,0 @@-`git annex get` becomes very unhappy as soon as `$PWD` is gone.-The easiest way is to `git checkout git-annex` while you are getting in another tab.--This results in git-annex entering an endless loop:-- fatal: Unable to read current working directory: No such file or directory- fatal: Unable to read current working directory: No such file or directory- fatal: Unable to read current working directory: No such file or directory- fatal: Unable to read current working directory: No such file or directory- fatal: Unable to read current working directory: No such file or directory- fatal: Unable to read current working directory: No such file or directory- fatal: Unable to read current working directory: No such file or directory- fatal: Unable to read current working directory: No such file or directory- fatal: Unable to read current working directory: No such file or directory--> [[fixed|done]] --[[Joey]]
− doc/bugs/enormous_fsck_output_OOM.mdwn
@@ -1,30 +0,0 @@-Hi,--My Webapp isn't working: - - $ git-annex webapp error: refs/gcrypt/gitception+ does not point to a valid object! - error: refs/remotes/Beta/git-annex does not point to a valid object! - error: refs/remotes/Beta/master does not point to a valid object! - fatal: unable to read tree 656e7db5be172f01c0b6994d01f1a08d1273af12--So I tried to repair it: -- $ git-annex repair Running git fsck ... - Stack space overflow: current size 8388608 bytes. Use `+RTS -Ksize -RTS' to increase it.--So I tried to follow your advice here and increase the stack: -- $ git-annex +RTS -K35000000 -RTS fsck - git-annex: Most RTS options are disabled. Link with -rtsopts to enable them.--I wasn't sure what to do next, so any help would be appreciated.--> Now only 20k problem shas max (more likely 10k) are collected from fsck,-> so it won't use much memory (60 mb or so). If it had to truncate-> shas from fsck, it will re-run fsck after the repair process,-> which should either find no problems left (common when eg when all missing shas-> were able to be fetched from remotes), or find a new set of problem-> shas, which it can feed back through the repair process.-> -> If the repository is very large, this means more work, but it shouldn't-> run out of memory now. [[fixed|done]] --[[Joey]]
− doc/bugs/error_compiling_network-info_when_compiling_git-annex.mdwn
@@ -1,12 +0,0 @@-### Please describe the problem.-I'm not sure if you'll consider this a bug, or if I'm just doing something wrong, but I'm having trouble compiling git-annex on OmniOS (a derivative of OpenSolaris). I've got GHC 7.6.3 built and installed (bootstrapped using the Solaris binaries for GHC 7.0.3). I used it to build haskell-platform (although I had to disable the OpenGL-related packages to do so), and now I'm trying to use cabal to build git-annex and its dependencies. I've started with a minimal build; this will end up as an archive remote so it should be sufficient. The instructions <http://git-annex.branchable.com/install/cabal/> say to run-- cabal install git-annex --bindir=$HOME/bin -f"-assistant -webapp -webdav -pairing -xmpp -dns"--This builds a bunch of stuff but then fails to compile the network-info package. As I understand it, the git-annex package only needs network-info if it's compiled with pairing supoort (I'm looking at <https://github.com/joeyh/git-annex/blob/master/git-annex.cabal>), and this command is telling it to disable pairing.--Is there some other dependency that needs network-info? Is there a way to find out?--Thanks--> fowarded 2 ways; [[done]] --[[Joey]]
− doc/bugs/extraneous_shell_escaping_for_rsync_remotes.mdwn
@@ -1,15 +0,0 @@-When using `git annex get foo` where foo is available in a rsync remote with encryption I got an error saying that rsync cannot-find the required file but extra ' are here.--I attached a patch for this.--> But you didn't, sadly. :(->-> I don't seem to see the problem, set up a rsync over ssh with encryption-> and sent over a file "foo", and then got it back from rsync, without-> trouble.-> -> Ah, you're not using rsync over ssh, but just to a local directory,-> right? --[[Joey]]-->> [[fixed|done]] --[[Joey]]
− doc/bugs/failed_sync_with_direct_mode_repo.mdwn
@@ -1,9 +0,0 @@-Two clients, both in direct mode, both running assistant.--When a change is made on A, the assistant commits it to annex/direct/master. But, the master branch is not changed.--B notices there is a change, pulls from A. Gets annex/direct/master, but does not merge it into its local branch at all.--[[!tag confirmed]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/fails_to_get_content_from_bare_repo_on_windows.mdwn
@@ -1,143 +0,0 @@-### Please describe the problem.--I have a annex repo in external drive (a bare repo), usually synced with a macbook. When I'm trying to sync the drive over to a Windows machine, all contents fail to sync over. I managed to reproduce the problem with a set of instructions locally:-- C:\Temp\test>dir - Volume in drive C is Windows - Volume Serial Number is 6839-6E71 - - Directory of C:\Temp\test - - 2014/05/08 23:08 <DIR> . - 2014/05/08 23:08 <DIR> .. - 2014/05/08 23:08 14 file.txt - 1 File(s) 14 bytes - 2 Dir(s) 164,943,056,896 bytes free - - C:\Temp\test>git init - Initialized empty Git repository in C:/Temp/test/.git/ - - C:\Temp\test>git annex init - init - Detected a filesystem without fifo support. - - Disabling ssh connection caching. - - Detected a crippled filesystem. - - Enabling direct mode. - ok - (Recording state in git...) - - C:\Temp\test>git annex add . - add file.txt ok - (Recording state in git...) - - C:\Temp\test>cd .. - - C:\Temp>mkdir bare - - C:\Temp>cd bare - - C:\Temp\bare>git init --bare - Initialized empty Git repository in C:/Temp/bare/ - C:\Temp\bare>git annex init- init- Detected a filesystem without fifo support.- - Disabling ssh connection caching.- - Detected a crippled filesystem.- ok- (Recording state in git...)- - C:\Temp\bare>cd ../test- - C:\Temp\test>git remote add mybare C:\Temp\bare- - C:\Temp\test>git annex sync --content mybare- commit ok- pull mybare- warning: no common commits- remote: Counting objects: 5, done.- remote: Compressing objects: 100% (3/3), done.- remote: Total 5 (delta 0), reused 0 (delta 0)- Unpacking objects: 100% (5/5), done.- From C:\Temp\bare- * [new branch] git-annex -> mybare/git-annex- ok- (merging mybare/git-annex into git-annex...)- (Recording state in git...)- copy file.txt copy file.txt (to mybare...)- file.txt- 14 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)- - sent 86 bytes received 31 bytes 234.00 bytes/sec- total size is 14 speedup is 0.12- ok- pull mybare- ok- (Recording state in git...)- push mybare- Counting objects: 23, done.- Delta compression using up to 4 threads.- Compressing objects: 100% (16/16), done.- Writing objects: 100% (21/21), 1.94 KiB | 0 bytes/s, done.- Total 21 (delta 1), reused 0 (delta 0)- To C:\Temp\bare- * [new branch] git-annex -> synced/git-annex- * [new branch] annex/direct/master -> synced/master- ok- - C:\Temp\test>cd ..- - C:\Temp>git clone C:\Temp\bare test2- Cloning into 'test2'...- done.- - C:\Temp>cd test2- - C:\Temp\test2>ls -l- total 1- ----------+ 1 Ruo None 188 May 8 23:10 file.txt- - C:\Temp\test2>git annex init- init- Detected a filesystem without fifo support.- - Disabling ssh connection caching.- - Detected a crippled filesystem.- - Enabling direct mode.- ok- (Recording state in git...)- - C:\Temp\test2>git annex get file.txt- get file.txt (merging origin/git-annex origin/synced/git-annex into git-annex...)- (Recording state in git...)- - Unable to access these remotes: origin- - Try making some of these repositories available:- f2af6f52-18d5-4a54-ae5c-c4bef5fab00c -- origin (MY-PC:C:\Temp\bare)- fc00306a-157c-439b-a5c3-37aabf9d61fb -- MY-PC:C:\Temp\test- failed- git-annex: get: 1 failed- - - C:\Temp\test2>git version- git version 1.9.2.msysgit.0- - C:\Temp\test2>git annex version- git-annex version: 5.20140421-g78d6aa1- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 2 3 4- -[[!tag confirmed]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/failure_during_ssh_key_setup___40__windows__41__.mdwn
@@ -1,12 +0,0 @@-### Please describe the problem.-While attempting to create a remote repository, the assistant is trying to set up public key authentication, but fails when trying to delete the temporary files. Perhaps this doesn't need to be a fatal error; it could warn the user instead, or try again later.--DeleteFile "C:\\Users\\FAMILY~1\\AppData\\Local\\Temp\\git-annex-keygen.1\\key.pub": permission denied (The process cannot access the file because it is being used by another process.)--### What steps will reproduce the problem?-Create a remote repository--### What version of git-annex are you using? On what operating system?-Windows 7, git-annex version 5.20131221-gf8c928d--> [[fixed|done]].. thanks for testing the assistant on windows! --[[Joey]]
− doc/bugs/failure_to_return_to_indirect_mode_on_usb.mdwn
@@ -1,23 +0,0 @@-### Please describe the problem.-In a usb drive with a repository in direct mode, when I converted to indirect mode it fails--### What steps will reproduce the problem?-cd /Volumes/usb-git annex indirect--### What version of git-annex are you using? On what operating system?-git-annex version: 4.20130627--### Please provide any additional information below.--[[!format sh """-openFile: resource busy (file is locked)-failed-git-annex: indirect: 1 failed-"""]]--[[!tag moreinfo]]--> I don't like closing bug reports, but after over a year with no followup,-> and with the original bug report lacking even an error message, closing-> it seems like the best course of action. [[done]] --[[Joey]]
− doc/bugs/feeding_git_annex_with_xargs_can_fail.mdwn
@@ -1,15 +0,0 @@-Feeding git-annex a long list off directories, eg with xargs can have-2 bad behaviors:--* git-annex runs git ls-files and passes it the same long list. But the git- ls-files command is longer than the git-annex command often, so it gets- truncated and some files are not processed.-- > fixed --[[Joey]]--* It can take a really long time for git-annex to chew through the- git-ls-files results. There is probably an exponential blowup in the time- relative to the number of parameters. Some of the stuff being done to- preserve original ordering etc is likely at fault.-- > [[fixed|done]] --[[Joey]]
− doc/bugs/file_not_found.mdwn
@@ -1,30 +0,0 @@-### Please describe the problem.-Unable to use webapp after creating annex. Error `The file /annex/webapp.html does not exist.` is shown.---### What steps will reproduce the problem?-Create annex, either using webapp or command line. Kill the webapp and attempt to relaunch.---### What version of git-annex are you using? On what operating system?-git-annex version: 5.20150205--OS X Version: 10.10.3 (14D136)--Installed using homebrew--### Please provide any additional information below.---It appears that git-annex is using an absolute path, rather than a relative path pointing to `.git/annex/webapp.html`.-Manually opening the file at `.git/annex/webapp.html` does however show the correct web interface.--[[!format sh """- git-annex webapp-Launching web browser on file://.git/annex/webapp.html-The file /annex/webapp.html does not exist.-"""]]--> This is an old version of git-annex and there was known breakage around-> that time from the relative path conversion, since fixed, which IIRC-> would manifest this way. [[done]] --[[Joey]]
− doc/bugs/files_lost_during_upgrade.mdwn
@@ -1,2191 +0,0 @@-### Please describe the problem.-I'm running git annex on two laptops sharing data with a shared server all running ubuntu and the binary distributions of git annex (different versions the server seems to be running 5.20140529-gb71f9bf right now). One of the laptops tried to upgrade to 5.20140613 (something) from 5.20140610-g5ec8bcf, which kind of fails since that version does not exist on the site, only the signature making it download and upgrade and then decide it still needs to upgrade, took a few times before I figured this out.--During one of the upgrades I guess something died and it started to complain about an index.lock file that should be removed after all git instances were dead, so I killed git annex and removed the file (a few times maybe) just to get the upgrade through. After realizing it was trying to upgrade to the same version over and over again I realized it had somehow managed merge away all files and the git history looked like crazy.--Had to "git annex indirect; git annex checkout GOODVERSION . ; git annex direct ; git annex assistant" to get the files back (I think that did it, I'm a little unsure what the best way to restore files are).--### What steps will reproduce the problem?--I don't know. Just posting this in case someone else can figure it out.--Might be relevant that upgrade never works out of the box, it removes the old version of git annex and untars the new version in my home directory (which isn't on the path), so I can't use it from the command line. So I shut it down, copy it back to where it should go, and then update the .config/git-annex/program to point to the correct location.--### What version of git-annex are you using? On what operating system?--5.20140610-g5ec8bcf (maybe, I'm not sure if that was the one I upgraded from initially).--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--I think this is the log from before the files where removed--[2014-06-18 13:41:14 CEST] main: starting assistant version 5.20140610-g5ec8bcf-[2014-06-18 13:41:14 CEST] UpgradeWatcher: Finished upgrading git-annex to version 5.20140610-g5ec8bcf -[2014-06-18 13:41:14 CEST] TransferScanner: Syncing with born --(scanning...) [2014-06-18 13:41:14 CEST] Watcher: Performing startup scan--(started...) fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-To ssh://jwiklund@born/store/backup/Documents.annex.1/- f8f8217..ff8ecb1 git-annex -> synced/git-annex- bd2e43b..e88b148 annex/direct/master -> synced/master-fatal: pathspec 'music.txt' did not match any files-fatal: Unable to create '/home/jwiklund/Documents/.git/index.lock': File exists.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-fatal: Unable to create '/home/jwiklund/Documents/.git/index.lock': File exists.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files--(Recording state in git...)--user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)--user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-ufatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-ser error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-[2014-06-18 13:41:16 CEST] Committer: Committing changesfatal: pathspec 'music.txt' did not match any files- to git-fatal: pathspec 'music.txt' did not match any files-[2014-06-18 13:41:16 CEST] Pusher: Syncing with born -fatal: Unable to create '/home/jwiklund/Documents/.git/index.lock': File exists.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-(Recording state in git...)-(Recording state in git...)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)--user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user error (xargs ["-0","git","--git-dir=/home/jwiklund/Documents/.git","--work-tree=/home/jwiklund/Documents","-c","core.bare=false","add","--force","--"] exited 123)-user errfatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-fatal: pathspec 'music.txt' did not match any files-To ssh://jwiklund@born/store/backup/Documents.annex.1/- ff8ecb1..c93e415 git-annex -> synced/git-annex- e88b148..220161f annex/direct/master -> synced/master---This is what it said when it wanted me to remove the index file after a failed upgrade--[2014-06-18 13:38:31 CEST] main: starting assistant version 5.20140610-g5ec8bcf-[2014-06-18 13:38:31 CEST] UpgradeWatcher: Finished upgrading git-annex to version 5.20140610-g5ec8bcf -[2014-06-18 13:38:31 CEST] TransferScanner: Syncing with born -error: duplicate parent 294b61a3dce1e87a62e4d675deac2a9130b819e6 ignored--(scanning...) [2014-06-18 13:38:31 CEST] Watcher: Performing startup scan--(started...) error: duplicate parent 76407052287ba54b350e56e36353a53a3dbc5d4f ignored-To ssh://jwiklund@born/store/backup/Documents.annex.1/- fdae080..cf9f2a9 git-annex -> synced/git-annex- 294b61a..7640705 annex/direct/master -> synced/master-fatal: Could not switch to '/home/jwiklund/Documents/.git/annex/merge/': No such file or directory-[2014-06-18 13:38:33 CEST] Committer: Committing changes to git-fatal: Unable to create '/home/jwiklund/Documents/.git/index.lock': File exists.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-[2014-06-18 13:38:33 CEST] Pusher: Syncing with born -fatal: Could not switch to '/home/jwiklund/Documents/.git/annex/merge/': No such file or directory-To ssh://jwiklund@born/store/backup/Documents.annex.1/- 7640705..6b9d33e annex/direct/master -> synced/master-fatal: Could not switch to '/home/jwiklund/Documents/.git/annex/merge/': No such file or directory-[2014-06-18 13:39:20 CEST] main: warning git-annex has been shut down--Here is the upgrade--error: duplicate parent 6b9d33ef3a16e6245f21f3948aa96691c2b8453b ignored-(scanning...) [2014--06-18 13:40:55 CEST] Watcher: Performing startup scan-(started...) --error: duplicate parent 80254c9c048a35064ba42ae6a79610da6deac0ae ignored-gpg: WARNING: unsafe permissions on homedir `/tmp/git-annex-gpg.tmp.0'-gpg: Signature made fre 13 jun 2014 17:28:22 CEST using DSA key ID 89C809CB-gpg: /tmp/git-annex-gpg.tmp.0/trustdb.gpg: trustdb created-gpg: Good signature from "git-annex distribution signing key (for Joey Hess) <id@joeyh.name>"-gpg: WARNING: This key is not certified with a trusted signature!-gpg: There is no indication that the signature belongs to the owner.-Primary key fingerprint: 4005 5C6A FD2D 526B 2961 E78F 5EE1 DBA7 89C8 09CB-[2014-06-18 13:40:56 CEST] Upgrader: An upgrade of git-annex is available. (version 5.20140613)-To ssh://jwiklund@born/store/backup/Documents.annex.1/- 6b9d33e..80254c9 annex/direct/master -> synced/master--[2014-06-18 13:40:57 CEST] Committer: Committing changes to git-(Recording state in git...)-[2014-06-18 13:40:57 CEST] Pusher: Syncing with born --error: duplicate parent 6be6bb32164e7103c44077ce6fa450b7c0d36e0c ignored-To ssh://jwiklund@born/store/backup/Documents.annex.1/- 80254c9..6be6bb3 annex/direct/master -> synced/master----2014-06-18 13:41:07-- https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz-Resolving downloads.kitenet.net (downloads.kitenet.net)... 107.170.31.195-Connecting to downloads.kitenet.net (downloads.kitenet.net)|107.170.31.195|:443... connected.-HTTP request sent, awaiting response... 200 OK-Length: 42645638 (41M) [application/x-gzip]-Saving to: ‘/home/jwiklund/Documents/.git/annex/tmp/SHA256E-s42645638--4ae41fb29bd26339ea10f53ea2b7cf3132e53d5e8fbfde7b43b912aa52b3d319.tar.gz’-- 0K .......... .......... .......... .......... .......... 0% 171K 4m3s- 50K .......... .......... .......... .......... .......... 0% 505K 2m43s- 100K .......... .......... .......... .......... .......... 0% 258K 2m42s- 150K .......... .......... .......... .......... .......... 0% 510K 2m22s- 200K .......... .......... .......... .......... .......... 0% 505K 2m10s- 250K .......... .......... .......... .......... .......... 0% 516K 2m1s- 300K .......... .......... .......... .......... .......... 0% 512K 1m55s- 350K .......... .......... .......... .......... .......... 0% 31,1M 1m41s- 400K .......... .......... .......... .......... .......... 1% 512K 99s- 450K .......... .......... .......... .......... .......... 1% 515K 97s- 500K .......... .......... .......... .......... .......... 1% 1,25M 91s- 550K .......... .......... .......... .......... .......... 1% 843K 87s- 600K .......... .......... .......... .......... .......... 1% 1,25M 83s- 650K .......... .......... .......... .......... .......... 1% 858K 80s- 700K .......... .......... .......... .......... .......... 1% 1,25M 77s- 750K .......... .......... .......... .......... .......... 1% 840K 75s- 800K .......... .......... .......... .......... .......... 2% 59,4M 70s- 850K .......... .......... .......... .......... .......... 2% 518K 71s- 900K .......... .......... .......... .......... .......... 2% 39,5M 67s- 950K .......... .......... .......... .......... .......... 2% 74,5M 64s- 1000K .......... .......... .......... .......... .......... 2% 520K 64s- 1050K .......... .......... .......... .......... .......... 2% 57,3M 61s- 1100K .......... .......... .......... .......... .......... 2% 1,31M 60s- 1150K .......... .......... .......... .......... .......... 2% 855K 59s- 1200K .......... .......... .......... .......... .......... 3% 22,5M 57s- 1250K .......... .......... .......... .......... .......... 3% 1,33M 56s- 1300K .......... .......... .......... .......... .......... 3% 848K 55s- 1350K .......... .......... .......... .......... .......... 3% 9,76M 54s- 1400K .......... .......... .......... .......... .......... 3% 48,8M 52s- 1450K .......... .......... .......... .......... .......... 3% 1,45M 51s- 1500K .......... .......... .......... .......... .......... 3% 837K 51s- 1550K .......... .......... .......... .......... .......... 3% 13,4M 49s- 1600K .......... .......... .......... .......... .......... 3% 1,47M 48s- 1650K .......... .......... .......... .......... .......... 4% 861K 48s- 1700K .......... .......... .......... .......... .......... 4% 14,3M 47s- 1750K .......... .......... .......... .......... .......... 4% 13,0M 46s- 1800K .......... .......... .......... .......... .......... 4% 1,49M 45s- 1850K .......... .......... .......... .......... .......... 4% 863K 45s- 1900K .......... .......... .......... .......... .......... 4% 62,3M 44s- 1950K .......... .......... .......... .......... .......... 4% 7,64M 43s- 2000K .......... .......... .......... .......... .......... 4% 10,3M 42s- 2050K .......... .......... .......... .......... .......... 5% 582K 42s- 2100K .......... .......... .......... .......... .......... 5% 8,34M 41s- 2150K .......... .......... .......... .......... .......... 5% 48,7M 40s- 2200K .......... .......... .......... .......... .......... 5% 61,6M 39s- 2250K .......... .......... .......... .......... .......... 5% 1,52M 39s- 2300K .......... .......... .......... .......... .......... 5% 860K 39s- 2350K .......... .......... .......... .......... .......... 5% 60,4M 38s- 2400K .......... .......... .......... .......... .......... 5% 8,20M 38s- 2450K .......... .......... .......... .......... .......... 6% 87,7M 37s- 2500K .......... .......... .......... .......... .......... 6% 1,54M 37s- 2550K .......... .......... .......... .......... .......... 6% 855K 37s- 2600K .......... .......... .......... .......... .......... 6% 89,2M 36s- 2650K .......... .......... .......... .......... .......... 6% 7,38M 35s- 2700K .......... .......... .......... .......... .......... 6% 168M 35s- 2750K .......... .......... .......... .......... .......... 6% 1,44M 34s- 2800K .......... .......... .......... .......... .......... 6% 1,37M 34s- 2850K .......... .......... .......... .......... .......... 6% 2,21M 34s- 2900K .......... .......... .......... .......... .......... 7% 6,19M 33s- 2950K .......... .......... .......... .......... .......... 7% 174M 33s- 3000K .......... .......... .......... .......... .......... 7% 174M 32s- 3050K .......... .......... .......... .......... .......... 7% 196M 32s- 3100K .......... .......... .......... .......... .......... 7% 1,57M 32s- 3150K .......... .......... .......... .......... .......... 7% 1,36M 31s- 3200K .......... .......... .......... .......... .......... 7% 1,67M 31s- 3250K .......... .......... .......... .......... .......... 7% 70,5M 31s- 3300K .......... .......... .......... .......... .......... 8% 109M 30s- 3350K .......... .......... .......... .......... .......... 8% 84,8M 30s- 3400K .......... .......... .......... .......... .......... 8% 1,61M 30s- 3450K .......... .......... .......... .......... .......... 8% 8,23M 29s- 3500K .......... .......... .......... .......... .......... 8% 1,47M 29s- 3550K .......... .......... .......... .......... .......... 8% 2,77M 29s- 3600K .......... .......... .......... .......... .......... 8% 5,14M 29s- 3650K .......... .......... .......... .......... .......... 8% 28,0M 28s- 3700K .......... .......... .......... .......... .......... 9% 169M 28s- 3750K .......... .......... .......... .......... .......... 9% 1,85M 28s- 3800K .......... .......... .......... .......... .......... 9% 86,5M 27s- 3850K .......... .......... .......... .......... .......... 9% 7,14M 27s- 3900K .......... .......... .......... .......... .......... 9% 1,55M 27s- 3950K .......... .......... .......... .......... .......... 9% 2,53M 27s- 4000K .......... .......... .......... .......... .......... 9% 5,08M 26s- 4050K .......... .......... .......... .......... .......... 9% 37,6M 26s- 4100K .......... .......... .......... .......... .......... 9% 45,6M 26s- 4150K .......... .......... .......... .......... .......... 10% 86,2M 25s- 4200K .......... .......... .......... .......... .......... 10% 1,80M 25s- 4250K .......... .......... .......... .......... .......... 10% 99,6M 25s- 4300K .......... .......... .......... .......... .......... 10% 171M 25s- 4350K .......... .......... .......... .......... .......... 10% 7,41M 24s- 4400K .......... .......... .......... .......... .......... 10% 1,55M 24s- 4450K .......... .......... .......... .......... .......... 10% 2,53M 24s- 4500K .......... .......... .......... .......... .......... 10% 59,5M 24s- 4550K .......... .......... .......... .......... .......... 11% 5,43M 24s- 4600K .......... .......... .......... .......... .......... 11% 25,3M 23s- 4650K .......... .......... .......... .......... .......... 11% 138M 23s- 4700K .......... .......... .......... .......... .......... 11% 90,7M 23s- 4750K .......... .......... .......... .......... .......... 11% 116M 23s- 4800K .......... .......... .......... .......... .......... 11% 1,81M 23s- 4850K .......... .......... .......... .......... .......... 11% 64,4M 22s- 4900K .......... .......... .......... .......... .......... 11% 7,76M 22s- 4950K .......... .......... .......... .......... .......... 12% 67,2M 22s- 5000K .......... .......... .......... .......... .......... 12% 1,60M 22s- 5050K .......... .......... .......... .......... .......... 12% 2,53M 22s- 5100K .......... .......... .......... .......... .......... 12% 5,14M 22s- 5150K .......... .......... .......... .......... .......... 12% 90,4M 21s- 5200K .......... .......... .......... .......... .......... 12% 27,7M 21s- 5250K .......... .......... .......... .......... .......... 12% 41,7M 21s- 5300K .......... .......... .......... .......... .......... 12% 91,5M 21s- 5350K .......... .......... .......... .......... .......... 12% 1,85M 21s- 5400K .......... .......... .......... .......... .......... 13% 109M 20s- 5450K .......... .......... .......... .......... .......... 13% 79,2M 20s- 5500K .......... .......... .......... .......... .......... 13% 6,84M 20s- 5550K .......... .......... .......... .......... .......... 13% 32,4M 20s- 5600K .......... .......... .......... .......... .......... 13% 5,70M 20s- 5650K .......... .......... .......... .......... .......... 13% 2,36M 20s- 5700K .......... .......... .......... .......... .......... 13% 2,53M 20s- 5750K .......... .......... .......... .......... .......... 13% 5,15M 19s- 5800K .......... .......... .......... .......... .......... 14% 31,1M 19s- 5850K .......... .......... .......... .......... .......... 14% 23,0M 19s- 5900K .......... .......... .......... .......... .......... 14% 45,3M 19s- 5950K .......... .......... .......... .......... .......... 14% 73,7M 19s- 6000K .......... .......... .......... .......... .......... 14% 1,96M 19s- 6050K .......... .......... .......... .......... .......... 14% 51,7M 18s- 6100K .......... .......... .......... .......... .......... 14% 8,10M 18s- 6150K .......... .......... .......... .......... .......... 14% 45,9M 18s- 6200K .......... .......... .......... .......... .......... 15% 23,5M 18s- 6250K .......... .......... .......... .......... .......... 15% 7,66M 18s- 6300K .......... .......... .......... .......... .......... 15% 2,29M 18s- 6350K .......... .......... .......... .......... .......... 15% 2,46M 18s- 6400K .......... .......... .......... .......... .......... 15% 46,8M 18s- 6450K .......... .......... .......... .......... .......... 15% 5,73M 17s- 6500K .......... .......... .......... .......... .......... 15% 23,0M 17s- 6550K .......... .......... .......... .......... .......... 15% 21,1M 17s- 6600K .......... .......... .......... .......... .......... 15% 48,4M 17s- 6650K .......... .......... .......... .......... .......... 16% 74,1M 17s- 6700K .......... .......... .......... .......... .......... 16% 2,07M 17s- 6750K .......... .......... .......... .......... .......... 16% 30,3M 17s- 6800K .......... .......... .......... .......... .......... 16% 7,81M 17s- 6850K .......... .......... .......... .......... .......... 16% 59,1M 16s- 6900K .......... .......... .......... .......... .......... 16% 24,6M 16s- 6950K .......... .......... .......... .......... .......... 16% 8,11M 16s- 7000K .......... .......... .......... .......... .......... 16% 7,57M 16s- 7050K .......... .......... .......... .......... .......... 17% 3,19M 16s- 7100K .......... .......... .......... .......... .......... 17% 2,35M 16s- 7150K .......... .......... .......... .......... .......... 17% 5,56M 16s- 7200K .......... .......... .......... .......... .......... 17% 51,4M 16s- 7250K .......... .......... .......... .......... .......... 17% 45,5M 16s- 7300K .......... .......... .......... .......... .......... 17% 61,6M 16s- 7350K .......... .......... .......... .......... .......... 17% 22,7M 15s- 7400K .......... .......... .......... .......... .......... 17% 53,6M 15s- 7450K .......... .......... .......... .......... .......... 18% 2,12M 15s- 7500K .......... .......... .......... .......... .......... 18% 32,2M 15s- 7550K .......... .......... .......... .......... .......... 18% 61,0M 15s- 7600K .......... .......... .......... .......... .......... 18% 7,22M 15s- 7650K .......... .......... .......... .......... .......... 18% 23,6M 15s- 7700K .......... .......... .......... .......... .......... 18% 7,39M 15s- 7750K .......... .......... .......... .......... .......... 18% 53,7M 15s- 7800K .......... .......... .......... .......... .......... 18% 8,51M 15s- 7850K .......... .......... .......... .......... .......... 18% 8,28M 14s- 7900K .......... .......... .......... .......... .......... 19% 1,26M 15s- 7950K .......... .......... .......... .......... .......... 19% 59,8M 14s- 8000K .......... .......... .......... .......... .......... 19% 58,8M 14s- 8050K .......... .......... .......... .......... .......... 19% 54,2M 14s- 8100K .......... .......... .......... .......... .......... 19% 70,3M 14s- 8150K .......... .......... .......... .......... .......... 19% 26,5M 14s- 8200K .......... .......... .......... .......... .......... 19% 54,8M 14s- 8250K .......... .......... .......... .......... .......... 19% 73,9M 14s- 8300K .......... .......... .......... .......... .......... 20% 2,11M 14s- 8350K .......... .......... .......... .......... .......... 20% 21,6M 14s- 8400K .......... .......... .......... .......... .......... 20% 8,29M 14s- 8450K .......... .......... .......... .......... .......... 20% 29,6M 14s- 8500K .......... .......... .......... .......... .......... 20% 59,6M 13s- 8550K .......... .......... .......... .......... .......... 20% 6,65M 13s- 8600K .......... .......... .......... .......... .......... 20% 8,50M 13s- 8650K .......... .......... .......... .......... .......... 20% 10,1M 13s- 8700K .......... .......... .......... .......... .......... 21% 44,0M 13s- 8750K .......... .......... .......... .......... .......... 21% 1,42M 13s- 8800K .......... .......... .......... .......... .......... 21% 11,1M 13s- 8850K .......... .......... .......... .......... .......... 21% 78,9M 13s- 8900K .......... .......... .......... .......... .......... 21% 50,5M 13s- 8950K .......... .......... .......... .......... .......... 21% 73,1M 13s- 9000K .......... .......... .......... .......... .......... 21% 77,6M 13s- 9050K .......... .......... .......... .......... .......... 21% 20,2M 13s- 9100K .......... .......... .......... .......... .......... 21% 25,2M 13s- 9150K .......... .......... .......... .......... .......... 22% 117M 12s- 9200K .......... .......... .......... .......... .......... 22% 2,23M 12s- 9250K .......... .......... .......... .......... .......... 22% 22,4M 12s- 9300K .......... .......... .......... .......... .......... 22% 8,59M 12s- 9350K .......... .......... .......... .......... .......... 22% 24,5M 12s- 9400K .......... .......... .......... .......... .......... 22% 79,6M 12s- 9450K .......... .......... .......... .......... .......... 22% 7,10M 12s- 9500K .......... .......... .......... .......... .......... 22% 8,02M 12s- 9550K .......... .......... .......... .......... .......... 23% 8,69M 12s- 9600K .......... .......... .......... .......... .......... 23% 8,16M 12s- 9650K .......... .......... .......... .......... .......... 23% 63,0M 12s- 9700K .......... .......... .......... .......... .......... 23% 1,72M 12s- 9750K .......... .......... .......... .......... .......... 23% 10,1M 12s- 9800K .......... .......... .......... .......... .......... 23% 60,2M 12s- 9850K .......... .......... .......... .......... .......... 23% 61,9M 12s- 9900K .......... .......... .......... .......... .......... 23% 62,9M 12s- 9950K .......... .......... .......... .......... .......... 24% 76,6M 11s- 10000K .......... .......... .......... .......... .......... 24% 23,8M 11s- 10050K .......... .......... .......... .......... .......... 24% 30,4M 11s- 10100K .......... .......... .......... .......... .......... 24% 3,50M 11s- 10150K .......... .......... .......... .......... .......... 24% 6,05M 11s- 10200K .......... .......... .......... .......... .......... 24% 14,9M 11s- 10250K .......... .......... .......... .......... .......... 24% 10,5M 11s- 10300K .......... .......... .......... .......... .......... 24% 21,5M 11s- 10350K .......... .......... .......... .......... .......... 24% 79,7M 11s- 10400K .......... .......... .......... .......... .......... 25% 8,60M 11s- 10450K .......... .......... .......... .......... .......... 25% 6,92M 11s- 10500K .......... .......... .......... .......... .......... 25% 11,0M 11s- 10550K .......... .......... .......... .......... .......... 25% 6,96M 11s- 10600K .......... .......... .......... .......... .......... 25% 66,9M 11s- 10650K .......... .......... .......... .......... .......... 25% 10,9M 11s- 10700K .......... .......... .......... .......... .......... 25% 1,71M 11s- 10750K .......... .......... .......... .......... .......... 25% 60,4M 11s- 10800K .......... .......... .......... .......... .......... 26% 39,6M 11s- 10850K .......... .......... .......... .......... .......... 26% 62,6M 11s- 10900K .......... .......... .......... .......... .......... 26% 65,0M 10s- 10950K .......... .......... .......... .......... .......... 26% 137M 10s- 11000K .......... .......... .......... .......... .......... 26% 37,8M 10s- 11050K .......... .......... .......... .......... .......... 26% 82,1M 10s- 11100K .......... .......... .......... .......... .......... 26% 36,9M 10s- 11150K .......... .......... .......... .......... .......... 26% 3,47M 10s- 11200K .......... .......... .......... .......... .......... 27% 4,59M 10s- 11250K .......... .......... .......... .......... .......... 27% 10,3M 10s- 11300K .......... .......... .......... .......... .......... 27% 105M 10s- 11350K .......... .......... .......... .......... .......... 27% 21,8M 10s- 11400K .......... .......... .......... .......... .......... 27% 8,57M 10s- 11450K .......... .......... .......... .......... .......... 27% 6,57M 10s- 11500K .......... .......... .......... .......... .......... 27% 60,3M 10s- 11550K .......... .......... .......... .......... .......... 27% 11,5M 10s- 11600K .......... .......... .......... .......... .......... 27% 7,50M 10s- 11650K .......... .......... .......... .......... .......... 28% 72,7M 10s- 11700K .......... .......... .......... .......... .......... 28% 7,61M 10s- 11750K .......... .......... .......... .......... .......... 28% 2,31M 10s- 11800K .......... .......... .......... .......... .......... 28% 6,77M 10s- 11850K .......... .......... .......... .......... .......... 28% 66,3M 10s- 11900K .......... .......... .......... .......... .......... 28% 69,9M 10s- 11950K .......... .......... .......... .......... .......... 28% 73,3M 9s- 12000K .......... .......... .......... .......... .......... 28% 59,8M 9s- 12050K .......... .......... .......... .......... .......... 29% 62,8M 9s- 12100K .......... .......... .......... .......... .......... 29% 72,4M 9s- 12150K .......... .......... .......... .......... .......... 29% 38,9M 9s- 12200K .......... .......... .......... .......... .......... 29% 8,31M 9s- 12250K .......... .......... .......... .......... .......... 29% 6,24M 9s- 12300K .......... .......... .......... .......... .......... 29% 4,90M 9s- 12350K .......... .......... .......... .......... .......... 29% 8,21M 9s- 12400K .......... .......... .......... .......... .......... 29% 20,0M 9s- 12450K .......... .......... .......... .......... .......... 30% 9,55M 9s- 12500K .......... .......... .......... .......... .......... 30% 49,5M 9s- 12550K .......... .......... .......... .......... .......... 30% 6,87M 9s- 12600K .......... .......... .......... .......... .......... 30% 60,8M 9s- 12650K .......... .......... .......... .......... .......... 30% 11,6M 9s- 12700K .......... .......... .......... .......... .......... 30% 68,3M 9s- 12750K .......... .......... .......... .......... .......... 30% 7,84M 9s- 12800K .......... .......... .......... .......... .......... 30% 41,8M 9s- 12850K .......... .......... .......... .......... .......... 30% 8,13M 9s- 12900K .......... .......... .......... .......... .......... 31% 2,43M 9s- 12950K .......... .......... .......... .......... .......... 31% 6,04M 9s- 13000K .......... .......... .......... .......... .......... 31% 47,7M 9s- 13050K .......... .......... .......... .......... .......... 31% 56,9M 9s- 13100K .......... .......... .......... .......... .......... 31% 59,0M 9s- 13150K .......... .......... .......... .......... .......... 31% 49,4M 8s- 13200K .......... .......... .......... .......... .......... 31% 61,2M 8s- 13250K .......... .......... .......... .......... .......... 31% 56,6M 8s- 13300K .......... .......... .......... .......... .......... 32% 69,6M 8s- 13350K .......... .......... .......... .......... .......... 32% 9,89M 8s- 13400K .......... .......... .......... .......... .......... 32% 51,2M 8s- 13450K .......... .......... .......... .......... .......... 32% 3,68M 8s- 13500K .......... .......... .......... .......... .......... 32% 10,9M 8s- 13550K .......... .......... .......... .......... .......... 32% 9,06M 8s- 13600K .......... .......... .......... .......... .......... 32% 22,0M 8s- 13650K .......... .......... .......... .......... .......... 32% 56,2M 8s- 13700K .......... .......... .......... .......... .......... 33% 8,24M 8s- 13750K .......... .......... .......... .......... .......... 33% 7,93M 8s- 13800K .......... .......... .......... .......... .......... 33% 46,0M 8s- 13850K .......... .......... .......... .......... .......... 33% 140M 8s- 13900K .......... .......... .......... .......... .......... 33% 12,6M 8s- 13950K .......... .......... .......... .......... .......... 33% 8,45M 8s- 14000K .......... .......... .......... .......... .......... 33% 25,4M 8s- 14050K .......... .......... .......... .......... .......... 33% 8,48M 8s- 14100K .......... .......... .......... .......... .......... 33% 115M 8s- 14150K .......... .......... .......... .......... .......... 34% 2,37M 8s- 14200K .......... .......... .......... .......... .......... 34% 6,80M 8s- 14250K .......... .......... .......... .......... .......... 34% 41,9M 8s- 14300K .......... .......... .......... .......... .......... 34% 59,1M 8s- 14350K .......... .......... .......... .......... .......... 34% 134M 8s- 14400K .......... .......... .......... .......... .......... 34% 181M 8s- 14450K .......... .......... .......... .......... .......... 34% 107M 8s- 14500K .......... .......... .......... .......... .......... 34% 61,9M 7s- 14550K .......... .......... .......... .......... .......... 35% 24,4M 7s- 14600K .......... .......... .......... .......... .......... 35% 148M 7s- 14650K .......... .......... .......... .......... .......... 35% 8,76M 7s- 14700K .......... .......... .......... .......... .......... 35% 8,29M 7s- 14750K .......... .......... .......... .......... .......... 35% 3,92M 7s- 14800K .......... .......... .......... .......... .......... 35% 9,53M 7s- 14850K .......... .......... .......... .......... .......... 35% 143M 7s- 14900K .......... .......... .......... .......... .......... 35% 19,0M 7s- 14950K .......... .......... .......... .......... .......... 36% 7,80M 7s- 15000K .......... .......... .......... .......... .......... 36% 7,87M 7s- 15050K .......... .......... .......... .......... .......... 36% 60,1M 7s- 15100K .......... .......... .......... .......... .......... 36% 55,7M 7s- 15150K .......... .......... .......... .......... .......... 36% 12,2M 7s- 15200K .......... .......... .......... .......... .......... 36% 11,5M 7s- 15250K .......... .......... .......... .......... .......... 36% 23,0M 7s- 15300K .......... .......... .......... .......... .......... 36% 50,4M 7s- 15350K .......... .......... .......... .......... .......... 36% 51,4M 7s- 15400K .......... .......... .......... .......... .......... 37% 9,26M 7s- 15450K .......... .......... .......... .......... .......... 37% 7,03M 7s- 15500K .......... .......... .......... .......... .......... 37% 3,39M 7s- 15550K .......... .......... .......... .......... .......... 37% 6,82M 7s- 15600K .......... .......... .......... .......... .......... 37% 33,2M 7s- 15650K .......... .......... .......... .......... .......... 37% 56,0M 7s- 15700K .......... .......... .......... .......... .......... 37% 52,0M 7s- 15750K .......... .......... .......... .......... .......... 37% 55,0M 7s- 15800K .......... .......... .......... .......... .......... 38% 66,8M 7s- 15850K .......... .......... .......... .......... .......... 38% 62,0M 7s- 15900K .......... .......... .......... .......... .......... 38% 62,8M 7s- 15950K .......... .......... .......... .......... .......... 38% 192M 7s- 16000K .......... .......... .......... .......... .......... 38% 164M 7s- 16050K .......... .......... .......... .......... .......... 38% 16,4M 7s- 16100K .......... .......... .......... .......... .......... 38% 28,9M 7s- 16150K .......... .......... .......... .......... .......... 38% 8,73M 6s- 16200K .......... .......... .......... .......... .......... 39% 51,7M 6s- 16250K .......... .......... .......... .......... .......... 39% 4,07M 6s- 16300K .......... .......... .......... .......... .......... 39% 8,88M 6s- 16350K .......... .......... .......... .......... .......... 39% 30,0M 6s- 16400K .......... .......... .......... .......... .......... 39% 10,2M 6s- 16450K .......... .......... .......... .......... .......... 39% 6,47M 6s- 16500K .......... .......... .......... .......... .......... 39% 49,7M 6s- 16550K .......... .......... .......... .......... .......... 39% 57,1M 6s- 16600K .......... .......... .......... .......... .......... 39% 5,99M 6s- 16650K .......... .......... .......... .......... .......... 40% 47,3M 6s- 16700K .......... .......... .......... .......... .......... 40% 50,5M 6s- 16750K .......... .......... .......... .......... .......... 40% 80,4M 6s- 16800K .......... .......... .......... .......... .......... 40% 49,6M 6s- 16850K .......... .......... .......... .......... .......... 40% 61,4M 6s- 16900K .......... .......... .......... .......... .......... 40% 9,92M 6s- 16950K .......... .......... .......... .......... .......... 40% 97,6M 6s- 17000K .......... .......... .......... .......... .......... 40% 2,35M 6s- 17050K .......... .......... .......... .......... .......... 41% 6,43M 6s- 17100K .......... .......... .......... .......... .......... 41% 41,0M 6s- 17150K .......... .......... .......... .......... .......... 41% 56,3M 6s- 17200K .......... .......... .......... .......... .......... 41% 46,3M 6s- 17250K .......... .......... .......... .......... .......... 41% 59,6M 6s- 17300K .......... .......... .......... .......... .......... 41% 51,6M 6s- 17350K .......... .......... .......... .......... .......... 41% 84,3M 6s- 17400K .......... .......... .......... .......... .......... 41% 62,6M 6s- 17450K .......... .......... .......... .......... .......... 42% 81,4M 6s- 17500K .......... .......... .......... .......... .......... 42% 80,4M 6s- 17550K .......... .......... .......... .......... .......... 42% 20,1M 6s- 17600K .......... .......... .......... .......... .......... 42% 26,4M 6s- 17650K .......... .......... .......... .......... .......... 42% 68,5M 6s- 17700K .......... .......... .......... .......... .......... 42% 12,3M 6s- 17750K .......... .......... .......... .......... .......... 42% 30,3M 6s- 17800K .......... .......... .......... .......... .......... 42% 3,98M 6s- 17850K .......... .......... .......... .......... .......... 42% 89,6M 6s- 17900K .......... .......... .......... .......... .......... 43% 9,68M 6s- 17950K .......... .......... .......... .......... .......... 43% 34,4M 6s- 18000K .......... .......... .......... .......... .......... 43% 7,09M 6s- 18050K .......... .......... .......... .......... .......... 43% 9,29M 6s- 18100K .......... .......... .......... .......... .......... 43% 88,7M 6s- 18150K .......... .......... .......... .......... .......... 43% 43,6M 5s- 18200K .......... .......... .......... .......... .......... 43% 10,3M 5s- 18250K .......... .......... .......... .......... .......... 43% 12,4M 5s- 18300K .......... .......... .......... .......... .......... 44% 113M 5s- 18350K .......... .......... .......... .......... .......... 44% 23,2M 5s- 18400K .......... .......... .......... .......... .......... 44% 96,5M 5s- 18450K .......... .......... .......... .......... .......... 44% 119M 5s- 18500K .......... .......... .......... .......... .......... 44% 70,8M 5s- 18550K .......... .......... .......... .......... .......... 44% 9,12M 5s- 18600K .......... .......... .......... .......... .......... 44% 66,7M 5s- 18650K .......... .......... .......... .......... .......... 44% 7,63M 5s- 18700K .......... .......... .......... .......... .......... 45% 2,25M 5s- 18750K .......... .......... .......... .......... .......... 45% 112M 5s- 18800K .......... .......... .......... .......... .......... 45% 61,9M 5s- 18850K .......... .......... .......... .......... .......... 45% 79,6M 5s- 18900K .......... .......... .......... .......... .......... 45% 60,4M 5s- 18950K .......... .......... .......... .......... .......... 45% 110M 5s- 19000K .......... .......... .......... .......... .......... 45% 81,0M 5s- 19050K .......... .......... .......... .......... .......... 45% 77,1M 5s- 19100K .......... .......... .......... .......... .......... 45% 107M 5s- 19150K .......... .......... .......... .......... .......... 46% 59,2M 5s- 19200K .......... .......... .......... .......... .......... 46% 12,9M 5s- 19250K .......... .......... .......... .......... .......... 46% 31,5M 5s- 19300K .......... .......... .......... .......... .......... 46% 59,1M 5s- 19350K .......... .......... .......... .......... .......... 46% 8,48M 5s- 19400K .......... .......... .......... .......... .......... 46% 70,5M 5s- 19450K .......... .......... .......... .......... .......... 46% 6,40M 5s- 19500K .......... .......... .......... .......... .......... 46% 47,7M 5s- 19550K .......... .......... .......... .......... .......... 47% 5,84M 5s- 19600K .......... .......... .......... .......... .......... 47% 54,2M 5s- 19650K .......... .......... .......... .......... .......... 47% 34,6M 5s- 19700K .......... .......... .......... .......... .......... 47% 8,77M 5s- 19750K .......... .......... .......... .......... .......... 47% 45,6M 5s- 19800K .......... .......... .......... .......... .......... 47% 8,46M 5s- 19850K .......... .......... .......... .......... .......... 47% 53,9M 5s- 19900K .......... .......... .......... .......... .......... 47% 10,0M 5s- 19950K .......... .......... .......... .......... .......... 48% 41,3M 5s- 20000K .......... .......... .......... .......... .......... 48% 15,0M 5s- 20050K .......... .......... .......... .......... .......... 48% 25,6M 5s- 20100K .......... .......... .......... .......... .......... 48% 75,2M 5s- 20150K .......... .......... .......... .......... .......... 48% 118M 5s- 20200K .......... .......... .......... .......... .......... 48% 106M 5s- 20250K .......... .......... .......... .......... .......... 48% 122M 5s- 20300K .......... .......... .......... .......... .......... 48% 9,40M 5s- 20350K .......... .......... .......... .......... .......... 48% 82,8M 5s- 20400K .......... .......... .......... .......... .......... 49% 2,31M 5s- 20450K .......... .......... .......... .......... .......... 49% 102M 5s- 20500K .......... .......... .......... .......... .......... 49% 7,52M 5s- 20550K .......... .......... .......... .......... .......... 49% 59,3M 5s- 20600K .......... .......... .......... .......... .......... 49% 108M 4s- 20650K .......... .......... .......... .......... .......... 49% 37,9M 4s- 20700K .......... .......... .......... .......... .......... 49% 120M 4s- 20750K .......... .......... .......... .......... .......... 49% 84,2M 4s- 20800K .......... .......... .......... .......... .......... 50% 67,8M 4s- 20850K .......... .......... .......... .......... .......... 50% 100M 4s- 20900K .......... .......... .......... .......... .......... 50% 71,7M 4s- 20950K .......... .......... .......... .......... .......... 50% 73,8M 4s- 21000K .......... .......... .......... .......... .......... 50% 15,5M 4s- 21050K .......... .......... .......... .......... .......... 50% 21,8M 4s- 21100K .......... .......... .......... .......... .......... 50% 11,0M 4s- 21150K .......... .......... .......... .......... .......... 50% 64,5M 4s- 21200K .......... .......... .......... .......... .......... 51% 29,8M 4s- 21250K .......... .......... .......... .......... .......... 51% 8,28M 4s- 21300K .......... .......... .......... .......... .......... 51% 9,12M 4s- 21350K .......... .......... .......... .......... .......... 51% 9,08M 4s- 21400K .......... .......... .......... .......... .......... 51% 42,5M 4s- 21450K .......... .......... .......... .......... .......... 51% 67,7M 4s- 21500K .......... .......... .......... .......... .......... 51% 37,9M 4s- 21550K .......... .......... .......... .......... .......... 51% 9,20M 4s- 21600K .......... .......... .......... .......... .......... 51% 11,2M 4s- 21650K .......... .......... .......... .......... .......... 52% 21,7M 4s- 21700K .......... .......... .......... .......... .......... 52% 71,1M 4s- 21750K .......... .......... .......... .......... .......... 52% 8,58M 4s- 21800K .......... .......... .......... .......... .......... 52% 15,8M 4s- 21850K .......... .......... .......... .......... .......... 52% 49,8M 4s- 21900K .......... .......... .......... .......... .......... 52% 26,0M 4s- 21950K .......... .......... .......... .......... .......... 52% 84,1M 4s- 22000K .......... .......... .......... .......... .......... 52% 75,1M 4s- 22050K .......... .......... .......... .......... .......... 53% 91,9M 4s- 22100K .......... .......... .......... .......... .......... 53% 90,4M 4s- 22150K .......... .......... .......... .......... .......... 53% 11,7M 4s- 22200K .......... .......... .......... .......... .......... 53% 40,0M 4s- 22250K .......... .......... .......... .......... .......... 53% 86,5M 4s- 22300K .......... .......... .......... .......... .......... 53% 80,8M 4s- 22350K .......... .......... .......... .......... .......... 53% 2,36M 4s- 22400K .......... .......... .......... .......... .......... 53% 8,03M 4s- 22450K .......... .......... .......... .......... .......... 54% 44,6M 4s- 22500K .......... .......... .......... .......... .......... 54% 44,3M 4s- 22550K .......... .......... .......... .......... .......... 54% 46,1M 4s- 22600K .......... .......... .......... .......... .......... 54% 59,6M 4s- 22650K .......... .......... .......... .......... .......... 54% 64,5M 4s- 22700K .......... .......... .......... .......... .......... 54% 52,4M 4s- 22750K .......... .......... .......... .......... .......... 54% 64,6M 4s- 22800K .......... .......... .......... .......... .......... 54% 56,7M 4s- 22850K .......... .......... .......... .......... .......... 54% 75,7M 4s- 22900K .......... .......... .......... .......... .......... 55% 35,7M 4s- 22950K .......... .......... .......... .......... .......... 55% 30,3M 4s- 23000K .......... .......... .......... .......... .......... 55% 11,0M 4s- 23050K .......... .......... .......... .......... .......... 55% 102M 4s- 23100K .......... .......... .......... .......... .......... 55% 25,4M 4s- 23150K .......... .......... .......... .......... .......... 55% 8,53M 4s- 23200K .......... .......... .......... .......... .......... 55% 29,8M 4s- 23250K .......... .......... .......... .......... .......... 55% 11,5M 4s- 23300K .......... .......... .......... .......... .......... 56% 93,9M 4s- 23350K .......... .......... .......... .......... .......... 56% 8,20M 4s- 23400K .......... .......... .......... .......... .......... 56% 83,3M 4s- 23450K .......... .......... .......... .......... .......... 56% 32,7M 4s- 23500K .......... .......... .......... .......... .......... 56% 103M 3s- 23550K .......... .......... .......... .......... .......... 56% 9,54M 3s- 23600K .......... .......... .......... .......... .......... 56% 8,14M 3s- 23650K .......... .......... .......... .......... .......... 56% 76,8M 3s- 23700K .......... .......... .......... .......... .......... 57% 8,68M 3s- 23750K .......... .......... .......... .......... .......... 57% 63,7M 3s- 23800K .......... .......... .......... .......... .......... 57% 13,3M 3s- 23850K .......... .......... .......... .......... .......... 57% 29,7M 3s- 23900K .......... .......... .......... .......... .......... 57% 61,6M 3s- 23950K .......... .......... .......... .......... .......... 57% 71,7M 3s- 24000K .......... .......... .......... .......... .......... 57% 62,1M 3s- 24050K .......... .......... .......... .......... .......... 57% 75,3M 3s- 24100K .......... .......... .......... .......... .......... 57% 14,1M 3s- 24150K .......... .......... .......... .......... .......... 58% 48,4M 3s- 24200K .......... .......... .......... .......... .......... 58% 43,5M 3s- 24250K .......... .......... .......... .......... .......... 58% 91,5M 3s- 24300K .......... .......... .......... .......... .......... 58% 117M 3s- 24350K .......... .......... .......... .......... .......... 58% 2,39M 3s- 24400K .......... .......... .......... .......... .......... 58% 8,97M 3s- 24450K .......... .......... .......... .......... .......... 58% 102M 3s- 24500K .......... .......... .......... .......... .......... 58% 42,4M 3s- 24550K .......... .......... .......... .......... .......... 59% 64,6M 3s- 24600K .......... .......... .......... .......... .......... 59% 35,3M 3s- 24650K .......... .......... .......... .......... .......... 59% 113M 3s- 24700K .......... .......... .......... .......... .......... 59% 120M 3s- 24750K .......... .......... .......... .......... .......... 59% 38,7M 3s- 24800K .......... .......... .......... .......... .......... 59% 58,8M 3s- 24850K .......... .......... .......... .......... .......... 59% 73,9M 3s- 24900K .......... .......... .......... .......... .......... 59% 24,8M 3s- 24950K .......... .......... .......... .......... .......... 60% 63,1M 3s- 25000K .......... .......... .......... .......... .......... 60% 32,9M 3s- 25050K .......... .......... .......... .......... .......... 60% 11,0M 3s- 25100K .......... .......... .......... .......... .......... 60% 24,1M 3s- 25150K .......... .......... .......... .......... .......... 60% 85,0M 3s- 25200K .......... .......... .......... .......... .......... 60% 9,09M 3s- 25250K .......... .......... .......... .......... .......... 60% 122M 3s- 25300K .......... .......... .......... .......... .......... 60% 30,1M 3s- 25350K .......... .......... .......... .......... .......... 60% 11,4M 3s- 25400K .......... .......... .......... .......... .......... 61% 95,0M 3s- 25450K .......... .......... .......... .......... .......... 61% 7,94M 3s- 25500K .......... .......... .......... .......... .......... 61% 125M 3s- 25550K .......... .......... .......... .......... .......... 61% 42,5M 3s- 25600K .......... .......... .......... .......... .......... 61% 9,23M 3s- 25650K .......... .......... .......... .......... .......... 61% 66,0M 3s- 25700K .......... .......... .......... .......... .......... 61% 8,38M 3s- 25750K .......... .......... .......... .......... .......... 61% 70,8M 3s- 25800K .......... .......... .......... .......... .......... 62% 8,71M 3s- 25850K .......... .......... .......... .......... .......... 62% 69,5M 3s- 25900K .......... .......... .......... .......... .......... 62% 15,6M 3s- 25950K .......... .......... .......... .......... .......... 62% 26,2M 3s- 26000K .......... .......... .......... .......... .......... 62% 60,0M 3s- 26050K .......... .......... .......... .......... .......... 62% 71,0M 3s- 26100K .......... .......... .......... .......... .......... 62% 73,0M 3s- 26150K .......... .......... .......... .......... .......... 62% 71,9M 3s- 26200K .......... .......... .......... .......... .......... 63% 64,3M 3s- 26250K .......... .......... .......... .......... .......... 63% 17,0M 3s- 26300K .......... .......... .......... .......... .......... 63% 67,3M 3s- 26350K .......... .......... .......... .......... .......... 63% 35,5M 3s- 26400K .......... .......... .......... .......... .......... 63% 80,0M 3s- 26450K .......... .......... .......... .......... .......... 63% 110M 3s- 26500K .......... .......... .......... .......... .......... 63% 10,7M 3s- 26550K .......... .......... .......... .......... .......... 63% 3,01M 3s- 26600K .......... .......... .......... .......... .......... 63% 8,05M 3s- 26650K .......... .......... .......... .......... .......... 64% 107M 3s- 26700K .......... .......... .......... .......... .......... 64% 70,1M 3s- 26750K .......... .......... .......... .......... .......... 64% 71,8M 3s- 26800K .......... .......... .......... .......... .......... 64% 30,4M 3s- 26850K .......... .......... .......... .......... .......... 64% 109M 3s- 26900K .......... .......... .......... .......... .......... 64% 57,8M 3s- 26950K .......... .......... .......... .......... .......... 64% 47,2M 3s- 27000K .......... .......... .......... .......... .......... 64% 81,2M 3s- 27050K .......... .......... .......... .......... .......... 65% 74,9M 3s- 27100K .......... .......... .......... .......... .......... 65% 72,4M 3s- 27150K .......... .......... .......... .......... .......... 65% 32,0M 3s- 27200K .......... .......... .......... .......... .......... 65% 34,8M 2s- 27250K .......... .......... .......... .......... .......... 65% 10,5M 2s- 27300K .......... .......... .......... .......... .......... 65% 65,5M 2s- 27350K .......... .......... .......... .......... .......... 65% 27,9M 2s- 27400K .......... .......... .......... .......... .......... 65% 9,96M 2s- 27450K .......... .......... .......... .......... .......... 66% 58,0M 2s- 27500K .......... .......... .......... .......... .......... 66% 97,2M 2s- 27550K .......... .......... .......... .......... .......... 66% 30,3M 2s- 27600K .......... .......... .......... .......... .......... 66% 11,2M 2s- 27650K .......... .......... .......... .......... .......... 66% 8,92M 2s- 27700K .......... .......... .......... .......... .......... 66% 49,0M 2s- 27750K .......... .......... .......... .......... .......... 66% 65,0M 2s- 27800K .......... .......... .......... .......... .......... 66% 65,9M 2s- 27850K .......... .......... .......... .......... .......... 66% 9,76M 2s- 27900K .......... .......... .......... .......... .......... 67% 8,10M 2s- 27950K .......... .......... .......... .......... .......... 67% 68,7M 2s- 28000K .......... .......... .......... .......... .......... 67% 60,7M 2s- 28050K .......... .......... .......... .......... .......... 67% 71,4M 2s- 28100K .......... .......... .......... .......... .......... 67% 9,13M 2s- 28150K .......... .......... .......... .......... .......... 67% 17,5M 2s- 28200K .......... .......... .......... .......... .......... 67% 59,7M 2s- 28250K .......... .......... .......... .......... .......... 67% 25,1M 2s- 28300K .......... .......... .......... .......... .......... 68% 67,3M 2s- 28350K .......... .......... .......... .......... .......... 68% 70,4M 2s- 28400K .......... .......... .......... .......... .......... 68% 60,6M 2s- 28450K .......... .......... .......... .......... .......... 68% 74,6M 2s- 28500K .......... .......... .......... .......... .......... 68% 74,9M 2s- 28550K .......... .......... .......... .......... .......... 68% 19,6M 2s- 28600K .......... .......... .......... .......... .......... 68% 29,3M 2s- 28650K .......... .......... .......... .......... .......... 68% 67,6M 2s- 28700K .......... .......... .......... .......... .......... 69% 93,7M 2s- 28750K .......... .......... .......... .......... .......... 69% 140M 2s- 28800K .......... .......... .......... .......... .......... 69% 11,5M 2s- 28850K .......... .......... .......... .......... .......... 69% 6,48M 2s- 28900K .......... .......... .......... .......... .......... 69% 3,54M 2s- 28950K .......... .......... .......... .......... .......... 69% 33,1M 2s- 29000K .......... .......... .......... .......... .......... 69% 83,1M 2s- 29050K .......... .......... .......... .......... .......... 69% 59,5M 2s- 29100K .......... .......... .......... .......... .......... 69% 31,8M 2s- 29150K .......... .......... .......... .......... .......... 70% 129M 2s- 29200K .......... .......... .......... .......... .......... 70% 117M 2s- 29250K .......... .......... .......... .......... .......... 70% 69,8M 2s- 29300K .......... .......... .......... .......... .......... 70% 56,8M 2s- 29350K .......... .......... .......... .......... .......... 70% 89,9M 2s- 29400K .......... .......... .......... .......... .......... 70% 81,7M 2s- 29450K .......... .......... .......... .......... .......... 70% 102M 2s- 29500K .......... .......... .......... .......... .......... 70% 32,2M 2s- 29550K .......... .......... .......... .......... .......... 71% 62,2M 2s- 29600K .......... .......... .......... .......... .......... 71% 9,95M 2s- 29650K .......... .......... .......... .......... .......... 71% 61,8M 2s- 29700K .......... .......... .......... .......... .......... 71% 27,6M 2s- 29750K .......... .......... .......... .......... .......... 71% 9,47M 2s- 29800K .......... .......... .......... .......... .......... 71% 49,6M 2s- 29850K .......... .......... .......... .......... .......... 71% 61,8M 2s- 29900K .......... .......... .......... .......... .......... 71% 79,8M 2s- 29950K .......... .......... .......... .......... .......... 72% 43,6M 2s- 30000K .......... .......... .......... .......... .......... 72% 12,1M 2s- 30050K .......... .......... .......... .......... .......... 72% 9,44M 2s- 30100K .......... .......... .......... .......... .......... 72% 62,0M 2s- 30150K .......... .......... .......... .......... .......... 72% 34,3M 2s- 30200K .......... .......... .......... .......... .......... 72% 85,1M 2s- 30250K .......... .......... .......... .......... .......... 72% 10,4M 2s- 30300K .......... .......... .......... .......... .......... 72% 60,9M 2s- 30350K .......... .......... .......... .......... .......... 72% 8,51M 2s- 30400K .......... .......... .......... .......... .......... 73% 52,0M 2s- 30450K .......... .......... .......... .......... .......... 73% 121M 2s- 30500K .......... .......... .......... .......... .......... 73% 9,72M 2s- 30550K .......... .......... .......... .......... .......... 73% 66,8M 2s- 30600K .......... .......... .......... .......... .......... 73% 15,5M 2s- 30650K .......... .......... .......... .......... .......... 73% 27,7M 2s- 30700K .......... .......... .......... .......... .......... 73% 43,3M 2s- 30750K .......... .......... .......... .......... .......... 73% 122M 2s- 30800K .......... .......... .......... .......... .......... 74% 95,3M 2s- 30850K .......... .......... .......... .......... .......... 74% 75,0M 2s- 30900K .......... .......... .......... .......... .......... 74% 137M 2s- 30950K .......... .......... .......... .......... .......... 74% 14,7M 2s- 31000K .......... .......... .......... .......... .......... 74% 78,5M 2s- 31050K .......... .......... .......... .......... .......... 74% 139M 2s- 31100K .......... .......... .......... .......... .......... 74% 27,4M 2s- 31150K .......... .......... .......... .......... .......... 74% 86,3M 2s- 31200K .......... .......... .......... .......... .......... 75% 106M 2s- 31250K .......... .......... .......... .......... .......... 75% 12,0M 2s- 31300K .......... .......... .......... .......... .......... 75% 61,8M 2s- 31350K .......... .......... .......... .......... .......... 75% 2,48M 2s- 31400K .......... .......... .......... .......... .......... 75% 19,5M 2s- 31450K .......... .......... .......... .......... .......... 75% 110M 2s- 31500K .......... .......... .......... .......... .......... 75% 122M 2s- 31550K .......... .......... .......... .......... .......... 75% 126M 2s- 31600K .......... .......... .......... .......... .......... 75% 28,2M 2s- 31650K .......... .......... .......... .......... .......... 76% 83,6M 2s- 31700K .......... .......... .......... .......... .......... 76% 81,5M 2s- 31750K .......... .......... .......... .......... .......... 76% 94,8M 2s- 31800K .......... .......... .......... .......... .......... 76% 83,4M 2s- 31850K .......... .......... .......... .......... .......... 76% 100M 1s- 31900K .......... .......... .......... .......... .......... 76% 70,2M 1s- 31950K .......... .......... .......... .......... .......... 76% 121M 1s- 32000K .......... .......... .......... .......... .......... 76% 61,4M 1s- 32050K .......... .......... .......... .......... .......... 77% 43,4M 1s- 32100K .......... .......... .......... .......... .......... 77% 37,1M 1s- 32150K .......... .......... .......... .......... .......... 77% 11,7M 1s- 32200K .......... .......... .......... .......... .......... 77% 83,8M 1s- 32250K .......... .......... .......... .......... .......... 77% 22,5M 1s- 32300K .......... .......... .......... .......... .......... 77% 9,99M 1s- 32350K .......... .......... .......... .......... .......... 77% 39,0M 1s- 32400K .......... .......... .......... .......... .......... 77% 62,6M 1s- 32450K .......... .......... .......... .......... .......... 78% 117M 1s- 32500K .......... .......... .......... .......... .......... 78% 44,7M 1s- 32550K .......... .......... .......... .......... .......... 78% 14,5M 1s- 32600K .......... .......... .......... .......... .......... 78% 8,11M 1s- 32650K .......... .......... .......... .......... .......... 78% 61,7M 1s- 32700K .......... .......... .......... .......... .......... 78% 31,2M 1s- 32750K .......... .......... .......... .......... .......... 78% 57,9M 1s- 32800K .......... .......... .......... .......... .......... 78% 54,3M 1s- 32850K .......... .......... .......... .......... .......... 78% 13,1M 1s- 32900K .......... .......... .......... .......... .......... 79% 54,3M 1s- 32950K .......... .......... .......... .......... .......... 79% 8,54M 1s- 33000K .......... .......... .......... .......... .......... 79% 46,9M 1s- 33050K .......... .......... .......... .......... .......... 79% 71,3M 1s- 33100K .......... .......... .......... .......... .......... 79% 94,1M 1s- 33150K .......... .......... .......... .......... .......... 79% 11,0M 1s- 33200K .......... .......... .......... .......... .......... 79% 14,1M 1s- 33250K .......... .......... .......... .......... .......... 79% 26,0M 1s- 33300K .......... .......... .......... .......... .......... 80% 71,5M 1s- 33350K .......... .......... .......... .......... .......... 80% 70,9M 1s- 33400K .......... .......... .......... .......... .......... 80% 66,6M 1s- 33450K .......... .......... .......... .......... .......... 80% 72,1M 1s- 33500K .......... .......... .......... .......... .......... 80% 88,0M 1s- 33550K .......... .......... .......... .......... .......... 80% 17,3M 1s- 33600K .......... .......... .......... .......... .......... 80% 52,4M 1s- 33650K .......... .......... .......... .......... .......... 80% 70,5M 1s- 33700K .......... .......... .......... .......... .......... 81% 81,7M 1s- 33750K .......... .......... .......... .......... .......... 81% 77,3M 1s- 33800K .......... .......... .......... .......... .......... 81% 67,6M 1s- 33850K .......... .......... .......... .......... .......... 81% 69,8M 1s- 33900K .......... .......... .......... .......... .......... 81% 91,4M 1s- 33950K .......... .......... .......... .......... .......... 81% 15,6M 1s- 34000K .......... .......... .......... .......... .......... 81% 3,40M 1s- 34050K .......... .......... .......... .......... .......... 81% 6,13M 1s- 34100K .......... .......... .......... .......... .......... 82% 73,9M 1s- 34150K .......... .......... .......... .......... .......... 82% 46,6M 1s- 34200K .......... .......... .......... .......... .......... 82% 51,9M 1s- 34250K .......... .......... .......... .......... .......... 82% 51,7M 1s- 34300K .......... .......... .......... .......... .......... 82% 53,6M 1s- 34350K .......... .......... .......... .......... .......... 82% 44,7M 1s- 34400K .......... .......... .......... .......... .......... 82% 41,9M 1s- 34450K .......... .......... .......... .......... .......... 82% 44,0M 1s- 34500K .......... .......... .......... .......... .......... 82% 43,0M 1s- 34550K .......... .......... .......... .......... .......... 83% 74,0M 1s- 34600K .......... .......... .......... .......... .......... 83% 51,1M 1s- 34650K .......... .......... .......... .......... .......... 83% 54,0M 1s- 34700K .......... .......... .......... .......... .......... 83% 62,2M 1s- 34750K .......... .......... .......... .......... .......... 83% 74,9M 1s- 34800K .......... .......... .......... .......... .......... 83% 119M 1s- 34850K .......... .......... .......... .......... .......... 83% 136M 1s- 34900K .......... .......... .......... .......... .......... 83% 62,2M 1s- 34950K .......... .......... .......... .......... .......... 84% 20,3M 1s- 35000K .......... .......... .......... .......... .......... 84% 54,3M 1s- 35050K .......... .......... .......... .......... .......... 84% 11,2M 1s- 35100K .......... .......... .......... .......... .......... 84% 28,9M 1s- 35150K .......... .......... .......... .......... .......... 84% 54,5M 1s- 35200K .......... .......... .......... .......... .......... 84% 99,8M 1s- 35250K .......... .......... .......... .......... .......... 84% 169M 1s- 35300K .......... .......... .......... .......... .......... 84% 13,1M 1s- 35350K .......... .......... .......... .......... .......... 85% 7,96M 1s- 35400K .......... .......... .......... .......... .......... 85% 50,9M 1s- 35450K .......... .......... .......... .......... .......... 85% 47,9M 1s- 35500K .......... .......... .......... .......... .......... 85% 52,4M 1s- 35550K .......... .......... .......... .......... .......... 85% 57,5M 1s- 35600K .......... .......... .......... .......... .......... 85% 70,1M 1s- 35650K .......... .......... .......... .......... .......... 85% 14,8M 1s- 35700K .......... .......... .......... .......... .......... 85% 11,2M 1s- 35750K .......... .......... .......... .......... .......... 85% 10,8M 1s- 35800K .......... .......... .......... .......... .......... 86% 90,7M 1s- 35850K .......... .......... .......... .......... .......... 86% 68,4M 1s- 35900K .......... .......... .......... .......... .......... 86% 22,4M 1s- 35950K .......... .......... .......... .......... .......... 86% 62,0M 1s- 36000K .......... .......... .......... .......... .......... 86% 15,4M 1s- 36050K .......... .......... .......... .......... .......... 86% 26,6M 1s- 36100K .......... .......... .......... .......... .......... 86% 86,4M 1s- 36150K .......... .......... .......... .......... .......... 86% 43,3M 1s- 36200K .......... .......... .......... .......... .......... 87% 89,9M 1s- 36250K .......... .......... .......... .......... .......... 87% 100M 1s- 36300K .......... .......... .......... .......... .......... 87% 84,9M 1s- 36350K .......... .......... .......... .......... .......... 87% 16,9M 1s- 36400K .......... .......... .......... .......... .......... 87% 75,4M 1s- 36450K .......... .......... .......... .......... .......... 87% 98,4M 1s- 36500K .......... .......... .......... .......... .......... 87% 94,8M 1s- 36550K .......... .......... .......... .......... .......... 87% 4,17M 1s- 36600K .......... .......... .......... .......... .......... 88% 236M 1s- 36650K .......... .......... .......... .......... .......... 88% 271M 1s- 36700K .......... .......... .......... .......... .......... 88% 263M 1s- 36750K .......... .......... .......... .......... .......... 88% 273M 1s- 36800K .......... .......... .......... .......... .......... 88% 220M 1s- 36850K .......... .......... .......... .......... .......... 88% 26,3M 1s- 36900K .......... .......... .......... .......... .......... 88% 4,03M 1s- 36950K .......... .......... .......... .......... .......... 88% 15,4M 1s- 37000K .......... .......... .......... .......... .......... 88% 87,5M 1s- 37050K .......... .......... .......... .......... .......... 89% 96,7M 1s- 37100K .......... .......... .......... .......... .......... 89% 103M 1s- 37150K .......... .......... .......... .......... .......... 89% 82,8M 1s- 37200K .......... .......... .......... .......... .......... 89% 76,2M 1s- 37250K .......... .......... .......... .......... .......... 89% 145M 1s- 37300K .......... .......... .......... .......... .......... 89% 36,0M 1s- 37350K .......... .......... .......... .......... .......... 89% 98,7M 1s- 37400K .......... .......... .......... .......... .......... 89% 90,8M 1s- 37450K .......... .......... .......... .......... .......... 90% 99,7M 1s- 37500K .......... .......... .......... .......... .......... 90% 145M 1s- 37550K .......... .......... .......... .......... .......... 90% 99,3M 1s- 37600K .......... .......... .......... .......... .......... 90% 30,2M 1s- 37650K .......... .......... .......... .......... .......... 90% 149M 1s- 37700K .......... .......... .......... .......... .......... 90% 69,9M 1s- 37750K .......... .......... .......... .......... .......... 90% 12,5M 1s- 37800K .......... .......... .......... .......... .......... 90% 66,3M 1s- 37850K .......... .......... .......... .......... .......... 91% 88,5M 1s- 37900K .......... .......... .......... .......... .......... 91% 24,3M 0s- 37950K .......... .......... .......... .......... .......... 91% 11,8M 0s- 38000K .......... .......... .......... .......... .......... 91% 20,9M 0s- 38050K .......... .......... .......... .......... .......... 91% 60,5M 0s- 38100K .......... .......... .......... .......... .......... 91% 118M 0s- 38150K .......... .......... .......... .......... .......... 91% 114M 0s- 38200K .......... .......... .......... .......... .......... 91% 17,3M 0s- 38250K .......... .......... .......... .......... .......... 91% 8,87M 0s- 38300K .......... .......... .......... .......... .......... 92% 70,9M 0s- 38350K .......... .......... .......... .......... .......... 92% 26,9M 0s- 38400K .......... .......... .......... .......... .......... 92% 94,6M 0s- 38450K .......... .......... .......... .......... .......... 92% 99,7M 0s- 38500K .......... .......... .......... .......... .......... 92% 97,3M 0s- 38550K .......... .......... .......... .......... .......... 92% 96,8M 0s- 38600K .......... .......... .......... .......... .......... 92% 12,2M 0s- 38650K .......... .......... .......... .......... .......... 92% 52,0M 0s- 38700K .......... .......... .......... .......... .......... 93% 6,15M 0s- 38750K .......... .......... .......... .......... .......... 93% 68,5M 0s- 38800K .......... .......... .......... .......... .......... 93% 82,7M 0s- 38850K .......... .......... .......... .......... .......... 93% 16,7M 0s- 38900K .......... .......... .......... .......... .......... 93% 117M 0s- 38950K .......... .......... .......... .......... .......... 93% 20,1M 0s- 39000K .......... .......... .......... .......... .......... 93% 71,4M 0s- 39050K .......... .......... .......... .......... .......... 93% 19,6M 0s- 39100K .......... .......... .......... .......... .......... 94% 131M 0s- 39150K .......... .......... .......... .......... .......... 94% 48,5M 0s- 39200K .......... .......... .......... .......... .......... 94% 36,2M 0s- 39250K .......... .......... .......... .......... .......... 94% 65,7M 0s- 39300K .......... .......... .......... .......... .......... 94% 136M 0s- 39350K .......... .......... .......... .......... .......... 94% 24,8M 0s- 39400K .......... .......... .......... .......... .......... 94% 63,1M 0s- 39450K .......... .......... .......... .......... .......... 94% 79,9M 0s- 39500K .......... .......... .......... .......... .......... 94% 123M 0s- 39550K .......... .......... .......... .......... .......... 95% 6,16M 0s- 39600K .......... .......... .......... .......... .......... 95% 14,5M 0s- 39650K .......... .......... .......... .......... .......... 95% 19,8M 0s- 39700K .......... .......... .......... .......... .......... 95% 103M 0s- 39750K .......... .......... .......... .......... .......... 95% 104M 0s- 39800K .......... .......... .......... .......... .......... 95% 98,2M 0s- 39850K .......... .......... .......... .......... .......... 95% 91,2M 0s- 39900K .......... .......... .......... .......... .......... 95% 4,90M 0s- 39950K .......... .......... .......... .......... .......... 96% 116M 0s- 40000K .......... .......... .......... .......... .......... 96% 9,96M 0s- 40050K .......... .......... .......... .......... .......... 96% 93,2M 0s- 40100K .......... .......... .......... .......... .......... 96% 100M 0s- 40150K .......... .......... .......... .......... .......... 96% 147M 0s- 40200K .......... .......... .......... .......... .......... 96% 114M 0s- 40250K .......... .......... .......... .......... .......... 96% 99,1M 0s- 40300K .......... .......... .......... .......... .......... 96% 92,2M 0s- 40350K .......... .......... .......... .......... .......... 97% 98,0M 0s- 40400K .......... .......... .......... .......... .......... 97% 71,4M 0s- 40450K .......... .......... .......... .......... .......... 97% 96,9M 0s- 40500K .......... .......... .......... .......... .......... 97% 96,5M 0s- 40550K .......... .......... .......... .......... .......... 97% 92,0M 0s- 40600K .......... .......... .......... .......... .......... 97% 88,5M 0s- 40650K .......... .......... .......... .......... .......... 97% 96,6M 0s- 40700K .......... .......... .......... .......... .......... 97% 43,2M 0s- 40750K .......... .......... .......... .......... .......... 97% 81,9M 0s- 40800K .......... .......... .......... .......... .......... 98% 11,4M 0s- 40850K .......... .......... .......... .......... .......... 98% 25,4M 0s- 40900K .......... .......... .......... .......... .......... 98% 79,8M 0s- 40950K .......... .......... .......... .......... .......... 98% 11,8M 0s- 41000K .......... .......... .......... .......... .......... 98% 25,7M 0s- 41050K .......... .......... .......... .......... .......... 98% 57,9M 0s- 41100K .......... .......... .......... .......... .......... 98% 103M 0s- 41150K .......... .......... .......... .......... .......... 98% 41,8M 0s- 41200K .......... .......... .......... .......... .......... 99% 50,4M 0s- 41250K .......... .......... .......... .......... .......... 99% 6,45M 0s- 41300K .......... .......... .......... .......... .......... 99% 43,8M 0s- 41350K .......... .......... .......... .......... .......... 99% 65,6M 0s- 41400K .......... .......... .......... .......... .......... 99% 39,4M 0s- 41450K .......... .......... .......... .......... .......... 99% 48,9M 0s- 41500K .......... .......... .......... .......... .......... 99% 64,9M 0s- 41550K .......... .......... .......... .......... .......... 99% 74,2M 0s- 41600K .......... .......... .......... .......... ...... 100% 69,8M=5,2s--2014-06-18 13:41:12 (7,77 MB/s) - ‘/home/jwiklund/Documents/.git/annex/tmp/SHA256E-s42645638--4ae41fb29bd26339ea10f53ea2b7cf3132e53d5e8fbfde7b43b912aa52b3d319.tar.gz’ saved [42645638/42645638]--[2014-06-18 13:41:12 CEST] main(checksum...)-: Downloaded git-annex.. upgrade)-[2014-06-18 13:41:12 CEST] Pusher: Syncing with born -(Recording state in git...)--error: duplicate parent bd2e43b03fcc307166df1ab23cecb0eafe9ca3a5 ignored-To ssh://jwiklund@born/store/backup/Documents.annex.1/- cf9f2a9..f8f8217 git-annex -> synced/git-annex- 6be6bb3..bd2e43b annex/direct/master -> synced/master--git-annex version: 5.20140610-g5ec8bcf-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4-[2014-06-18 13:41:14 CEST] main: Upgrading git-annex-[2014-06-18 13:41:14 CEST] UpgradeWatcher: A new version of git-annex has been installed. --error: duplicate parent e88b1485767e39ac05de700219d31011b7ac7022 ignored---error: duplicate parent 220161f6ad836cfc581a9dd575d76c0d9e814826 ignored---Another upgrade--[2014-06-18 13:38:15 CEST] main: starting assistant version 5.20140606-g48793b6-[2014-06-18 13:38:16 CEST] TransferScanner: Syncing with born --Already up-to-date.-(scanning...) [20-14-06-18 13:38:16 CEST] Watcher: Performing startup scan-Already up-to-date.-(started...) -gpg: WARNING: unsafe permissions on homedir `/tmp/git-annex-gpg.tmp.0'-gpg: Signature made fre 13 jun 2014 17:28:22 CEST using DSA key ID 89C809CB-gpg: /tmp/git-annex-gpg.tmp.0/trustdb.gpg: trustdb created-gpg: Good signature from "git-annex distribution signing key (for Joey Hess) <id@joeyh.name>"-gpg: WARNING: This key is not certified with a trusted signature!-gpg: There is no indication that the signature belongs to the owner.-Primary key fingerprint: 4005 5C6A FD2D 526B 2961 E78F 5EE1 DBA7 89C8 09CB-[2014-06-18 13:38:17 CEST] Upgrader: An upgrade of git-annex is available. (version 5.20140613)-To ssh://jwiklund@born/store/backup/Documents.annex.1/- 9537540..38006f5 git-annex -> synced/git-annex-[2014-06-18 13:38:18 CEST] Committer: Committing changes to git-(Recording state in git...)-[2014-06-18 13:38:18 CEST] Pusher: Syncing with born -Everything up-to-date---2014-06-18 13:38:22-- https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz-Resolving downloads.kitenet.net (downloads.kitenet.net)... 107.170.31.195-Connecting to downloads.kitenet.net (downloads.kitenet.net)|107.170.31.195|:443... connected.-HTTP request sent, awaiting response... 200 OK-Length: 42645638 (41M) [application/x-gzip]-Saving to: ‘/home/jwiklund/Documents/.git/annex/tmp/SHA256E-s42645638--4ae41fb29bd26339ea10f53ea2b7cf3132e53d5e8fbfde7b43b912aa52b3d319.tar.gz’-- 0K .......... .......... .......... .......... .......... 0% 165K 4m12s- 50K .......... .......... .......... .......... .......... 0% 165K 4m12s- 100K .......... .......... .......... .......... .......... 0% 248K 3m43s- 150K .......... .......... .......... .......... .......... 0% 247K 3m29s- 200K .......... .......... .......... .......... .......... 0% 493K 3m4s- 250K .......... .......... .......... .......... .......... 0% 248K 3m1s- 300K .......... .......... .......... .......... .......... 0% 493K 2m47s- 350K .......... .......... .......... .......... .......... 0% 495K 2m36s- 400K .......... .......... .......... .......... .......... 1% 248K 2m37s- 450K .......... .......... .......... .......... .......... 1% 494K 2m30s- 500K .......... .......... .......... .......... .......... 1% 147M 2m16s- 550K .......... .......... .......... .......... .......... 1% 493K 2m11s- 600K .......... .......... .......... .......... .......... 1% 495K 2m7s- 650K .......... .......... .......... .......... .......... 1% 494K 2m4s- 700K .......... .......... .......... .......... .......... 1% 495K 2m1s- 750K .......... .......... .......... .......... .......... 1% 1,30M 1m55s- 800K .......... .......... .......... .......... .......... 2% 497K 1m53s- 850K .......... .......... .......... .......... .......... 2% 779K 1m50s- 900K .......... .......... .......... .......... .......... 2% 1,32M 1m45s- 950K .......... .......... .......... .......... .......... 2% 495K 1m44s- 1000K .......... .......... .......... .......... .......... 2% 48,8M 99s- 1050K .......... .......... .......... .......... .......... 2% 497K 98s- 1100K .......... .......... .......... .......... .......... 2% 8,40M 94s- 1150K .......... .......... .......... .......... .......... 2% 524K 93s- 1200K .......... .......... .......... .......... .......... 3% 786K 91s- 1250K .......... .......... .......... .......... .......... 3% 1,31M 89s- 1300K .......... .......... .......... .......... .......... 3% 8,46M 86s- 1350K .......... .......... .......... .......... .......... 3% 526K 85s- 1400K .......... .......... .......... .......... .......... 3% 8,23M 82s- 1450K .......... .......... .......... .......... .......... 3% 53,9M 80s- 1500K .......... .......... .......... .......... .......... 3% 523K 79s- 1550K .......... .......... .......... .......... .......... 3% 10,7M 77s- 1600K .......... .......... .......... .......... .......... 3% 865K 76s- 1650K .......... .......... .......... .......... .......... 4% 1,12M 75s- 1700K .......... .......... .......... .......... .......... 4% 59,8M 72s- 1750K .......... .......... .......... .......... .......... 4% 875K 72s- 1800K .......... .......... .......... .......... .......... 4% 1,26M 70s- 1850K .......... .......... .......... .......... .......... 4% 5,14M 69s- 1900K .......... .......... .......... .......... .......... 4% 968K 68s- 1950K .......... .......... .......... .......... .......... 4% 1,24M 67s- 2000K .......... .......... .......... .......... .......... 4% 4,91M 65s- 2050K .......... .......... .......... .......... .......... 5% 969K 65s- 2100K .......... .......... .......... .......... .......... 5% 1,13M 64s- 2150K .......... .......... .......... .......... .......... 5% 38,0M 62s- 2200K .......... .......... .......... .......... .......... 5% 9,06M 61s- 2250K .......... .......... .......... .......... .......... 5% 525K 61s- 2300K .......... .......... .......... .......... .......... 5% 72,7M 60s- 2350K .......... .......... .......... .......... .......... 5% 70,4M 59s- 2400K .......... .......... .......... .......... .......... 5% 9,59M 57s- 2450K .......... .......... .......... .......... .......... 6% 528K 58s- 2500K .......... .......... .......... .......... .......... 6% 62,6M 56s- 2550K .......... .......... .......... .......... .......... 6% 10,0M 55s- 2600K .......... .......... .......... .......... .......... 6% 88,8M 54s- 2650K .......... .......... .......... .......... .......... 6% 521K 55s- 2700K .......... .......... .......... .......... .......... 6% 133M 54s- 2750K .......... .......... .......... .......... .......... 6% 11,6M 53s- 2800K .......... .......... .......... .......... .......... 6% 7,35M 52s- 2850K .......... .......... .......... .......... .......... 6% 554K 52s- 2900K .......... .......... .......... .......... .......... 7% 22,5M 51s- 2950K .......... .......... .......... .......... .......... 7% 18,7M 50s- 3000K .......... .......... .......... .......... .......... 7% 8,07M 49s- 3050K .......... .......... .......... .......... .......... 7% 548K 50s- 3100K .......... .......... .......... .......... .......... 7% 56,1M 49s- 3150K .......... .......... .......... .......... .......... 7% 38,2M 48s- 3200K .......... .......... .......... .......... .......... 7% 25,9M 47s- 3250K .......... .......... .......... .......... .......... 7% 8,37M 46s- 3300K .......... .......... .......... .......... .......... 8% 7,57M 46s- 3350K .......... .......... .......... .......... .......... 8% 585K 46s- 3400K .......... .......... .......... .......... .......... 8% 28,9M 45s- 3450K .......... .......... .......... .......... .......... 8% 35,6M 45s- 3500K .......... .......... .......... .......... .......... 8% 8,14M 44s- 3550K .......... .......... .......... .......... .......... 8% 72,0M 43s- 3600K .......... .......... .......... .......... .......... 8% 4,17M 43s- 3650K .......... .......... .......... .......... .......... 8% 619K 43s- 3700K .......... .......... .......... .......... .......... 9% 28,8M 42s- 3750K .......... .......... .......... .......... .......... 9% 8,04M 42s- 3800K .......... .......... .......... .......... .......... 9% 57,3M 41s- 3850K .......... .......... .......... .......... .......... 9% 12,1M 41s- 3900K .......... .......... .......... .......... .......... 9% 6,22M 40s- 3950K .......... .......... .......... .......... .......... 9% 620K 40s- 4000K .......... .......... .......... .......... .......... 9% 19,1M 40s- 4050K .......... .......... .......... .......... .......... 9% 55,1M 39s- 4100K .......... .......... .......... .......... .......... 9% 9,63M 39s- 4150K .......... .......... .......... .......... .......... 10% 12,0M 38s- 4200K .......... .......... .......... .......... .......... 10% 8,14M 38s- 4250K .......... .......... .......... .......... .......... 10% 15,8M 37s- 4300K .......... .......... .......... .......... .......... 10% 625K 38s- 4350K .......... .......... .......... .......... .......... 10% 24,5M 37s- 4400K .......... .......... .......... .......... .......... 10% 8,66M 37s- 4450K .......... .......... .......... .......... .......... 10% 13,0M 36s- 4500K .......... .......... .......... .......... .......... 10% 71,5M 36s- 4550K .......... .......... .......... .......... .......... 11% 8,28M 36s- 4600K .......... .......... .......... .......... .......... 11% 6,10M 35s- 4650K .......... .......... .......... .......... .......... 11% 653K 35s- 4700K .......... .......... .......... .......... .......... 11% 50,6M 35s- 4750K .......... .......... .......... .......... .......... 11% 8,95M 35s- 4800K .......... .......... .......... .......... .......... 11% 11,5M 34s- 4850K .......... .......... .......... .......... .......... 11% 8,84M 34s- 4900K .......... .......... .......... .......... .......... 11% 53,4M 33s- 4950K .......... .......... .......... .......... .......... 12% 7,17M 33s- 5000K .......... .......... .......... .......... .......... 12% 53,7M 33s- 5050K .......... .......... .......... .......... .......... 12% 649K 33s- 5100K .......... .......... .......... .......... .......... 12% 9,07M 33s- 5150K .......... .......... .......... .......... .......... 12% 10,7M 32s- 5200K .......... .......... .......... .......... .......... 12% 9,40M 32s- 5250K .......... .......... .......... .......... .......... 12% 47,5M 32s- 5300K .......... .......... .......... .......... .......... 12% 68,6M 31s- 5350K .......... .......... .......... .......... .......... 12% 7,06M 31s- 5400K .......... .......... .......... .......... .......... 13% 11,4M 31s- 5450K .......... .......... .......... .......... .......... 13% 688K 31s- 5500K .......... .......... .......... .......... .......... 13% 8,70M 31s- 5550K .......... .......... .......... .......... .......... 13% 11,1M 30s- 5600K .......... .......... .......... .......... .......... 13% 8,83M 30s- 5650K .......... .......... .......... .......... .......... 13% 58,9M 30s- 5700K .......... .......... .......... .......... .......... 13% 83,1M 29s- 5750K .......... .......... .......... .......... .......... 13% 7,21M 29s- 5800K .......... .......... .......... .......... .......... 14% 66,1M 29s- 5850K .......... .......... .......... .......... .......... 14% 4,65M 29s- 5900K .......... .......... .......... .......... .......... 14% 757K 29s- 5950K .......... .......... .......... .......... .......... 14% 7,62M 29s- 6000K .......... .......... .......... .......... .......... 14% 10,4M 28s- 6050K .......... .......... .......... .......... .......... 14% 8,59M 28s- 6100K .......... .......... .......... .......... .......... 14% 51,4M 28s- 6150K .......... .......... .......... .......... .......... 14% 74,5M 28s- 6200K .......... .......... .......... .......... .......... 15% 6,84M 27s- 6250K .......... .......... .......... .......... .......... 15% 67,2M 27s- 6300K .......... .......... .......... .......... .......... 15% 5,40M 27s- 6350K .......... .......... .......... .......... .......... 15% 63,4M 27s- 6400K .......... .......... .......... .......... .......... 15% 706K 27s- 6450K .......... .......... .......... .......... .......... 15% 9,08M 27s- 6500K .......... .......... .......... .......... .......... 15% 9,43M 26s- 6550K .......... .......... .......... .......... .......... 15% 70,0M 26s- 6600K .......... .......... .......... .......... .......... 15% 65,4M 26s- 6650K .......... .......... .......... .......... .......... 16% 67,7M 26s- 6700K .......... .......... .......... .......... .......... 16% 7,02M 25s- 6750K .......... .......... .......... .......... .......... 16% 65,8M 25s- 6800K .......... .......... .......... .......... .......... 16% 4,77M 25s- 6850K .......... .......... .......... .......... .......... 16% 64,7M 25s- 6900K .......... .......... .......... .......... .......... 16% 783K 25s- 6950K .......... .......... .......... .......... .......... 16% 4,63M 25s- 7000K .......... .......... .......... .......... .......... 16% 9,00M 25s- 7050K .......... .......... .......... .......... .......... 17% 69,7M 24s- 7100K .......... .......... .......... .......... .......... 17% 64,8M 24s- 7150K .......... .......... .......... .......... .......... 17% 53,1M 24s- 7200K .......... .......... .......... .......... .......... 17% 6,69M 24s- 7250K .......... .......... .......... .......... .......... 17% 70,3M 24s- 7300K .......... .......... .......... .......... .......... 17% 8,28M 23s- 7350K .......... .......... .......... .......... .......... 17% 12,7M 23s- 7400K .......... .......... .......... .......... .......... 17% 765K 23s- 7450K .......... .......... .......... .......... .......... 18% 9,09M 23s- 7500K .......... .......... .......... .......... .......... 18% 4,85M 23s- 7550K .......... .......... .......... .......... .......... 18% 61,3M 23s- 7600K .......... .......... .......... .......... .......... 18% 61,6M 23s- 7650K .......... .......... .......... .......... .......... 18% 74,1M 23s- 7700K .......... .......... .......... .......... .......... 18% 73,6M 22s- 7750K .......... .......... .......... .......... .......... 18% 7,79M 22s- 7800K .......... .......... .......... .......... .......... 18% 49,1M 22s- 7850K .......... .......... .......... .......... .......... 18% 72,2M 22s- 7900K .......... .......... .......... .......... .......... 19% 8,42M 22s- 7950K .......... .......... .......... .......... .......... 19% 732K 22s- 8000K .......... .......... .......... .......... .......... 19% 8,99M 22s- 8050K .......... .......... .......... .......... .......... 19% 50,7M 22s- 8100K .......... .......... .......... .......... .......... 19% 5,19M 21s- 8150K .......... .......... .......... .......... .......... 19% 47,4M 21s- 8200K .......... .......... .......... .......... .......... 19% 48,4M 21s- 8250K .......... .......... .......... .......... .......... 19% 52,5M 21s- 8300K .......... .......... .......... .......... .......... 20% 80,5M 21s- 8350K .......... .......... .......... .......... .......... 20% 8,32M 21s- 8400K .......... .......... .......... .......... .......... 20% 40,0M 21s- 8450K .......... .......... .......... .......... .......... 20% 8,81M 20s- 8500K .......... .......... .......... .......... .......... 20% 75,7M 20s- 8550K .......... .......... .......... .......... .......... 20% 718K 20s- 8600K .......... .......... .......... .......... .......... 20% 46,3M 20s- 8650K .......... .......... .......... .......... .......... 20% 15,7M 20s- 8700K .......... .......... .......... .......... .......... 21% 81,4M 20s- 8750K .......... .......... .......... .......... .......... 21% 4,92M 20s- 8800K .......... .......... .......... .......... .......... 21% 44,6M 20s- 8850K .......... .......... .......... .......... .......... 21% 32,6M 20s- 8900K .......... .......... .......... .......... .......... 21% 94,8M 19s- 8950K .......... .......... .......... .......... .......... 21% 104M 19s- 9000K .......... .......... .......... .......... .......... 21% 8,37M 19s- 9050K .......... .......... .......... .......... .......... 21% 77,8M 19s- 9100K .......... .......... .......... .......... .......... 21% 76,5M 19s- 9150K .......... .......... .......... .......... .......... 22% 88,5M 19s- 9200K .......... .......... .......... .......... .......... 22% 4,91M 19s- 9250K .......... .......... .......... .......... .......... 22% 762K 19s- 9300K .......... .......... .......... .......... .......... 22% 57,2M 19s- 9350K .......... .......... .......... .......... .......... 22% 15,2M 19s- 9400K .......... .......... .......... .......... .......... 22% 4,79M 18s- 9450K .......... .......... .......... .......... .......... 22% 69,4M 18s- 9500K .......... .......... .......... .......... .......... 22% 66,2M 18s- 9550K .......... .......... .......... .......... .......... 23% 29,9M 18s- 9600K .......... .......... .......... .......... .......... 23% 58,8M 18s- 9650K .......... .......... .......... .......... .......... 23% 9,77M 18s- 9700K .......... .......... .......... .......... .......... 23% 45,1M 18s- 9750K .......... .......... .......... .......... .......... 23% 64,3M 18s- 9800K .......... .......... .......... .......... .......... 23% 59,4M 18s- 9850K .......... .......... .......... .......... .......... 23% 10,2M 17s- 9900K .......... .......... .......... .......... .......... 23% 55,9M 17s- 9950K .......... .......... .......... .......... .......... 24% 93,7M 17s- 10000K .......... .......... .......... .......... .......... 24% 730K 17s- 10050K .......... .......... .......... .......... .......... 24% 66,3M 17s- 10100K .......... .......... .......... .......... .......... 24% 13,6M 17s- 10150K .......... .......... .......... .......... .......... 24% 86,6M 17s- 10200K .......... .......... .......... .......... .......... 24% 4,97M 17s- 10250K .......... .......... .......... .......... .......... 24% 33,2M 17s- 10300K .......... .......... .......... .......... .......... 24% 34,1M 17s- 10350K .......... .......... .......... .......... .......... 24% 158M 17s- 10400K .......... .......... .......... .......... .......... 25% 65,6M 16s- 10450K .......... .......... .......... .......... .......... 25% 9,12M 16s- 10500K .......... .......... .......... .......... .......... 25% 101M 16s- 10550K .......... .......... .......... .......... .......... 25% 65,6M 16s- 10600K .......... .......... .......... .......... .......... 25% 44,4M 16s- 10650K .......... .......... .......... .......... .......... 25% 8,78M 16s- 10700K .......... .......... .......... .......... .......... 25% 97,5M 16s- 10750K .......... .......... .......... .......... .......... 25% 7,92M 16s- 10800K .......... .......... .......... .......... .......... 26% 6,88M 16s- 10850K .......... .......... .......... .......... .......... 26% 886K 16s- 10900K .......... .......... .......... .......... .......... 26% 66,7M 16s- 10950K .......... .......... .......... .......... .......... 26% 12,5M 16s- 11000K .......... .......... .......... .......... .......... 26% 5,70M 16s- 11050K .......... .......... .......... .......... .......... 26% 65,8M 15s- 11100K .......... .......... .......... .......... .......... 26% 25,5M 15s- 11150K .......... .......... .......... .......... .......... 26% 35,3M 15s- 11200K .......... .......... .......... .......... .......... 27% 55,0M 15s- 11250K .......... .......... .......... .......... .......... 27% 9,19M 15s- 11300K .......... .......... .......... .......... .......... 27% 58,9M 15s- 11350K .......... .......... .......... .......... .......... 27% 64,1M 15s- 11400K .......... .......... .......... .......... .......... 27% 57,1M 15s- 11450K .......... .......... .......... .......... .......... 27% 9,39M 15s- 11500K .......... .......... .......... .......... .......... 27% 84,9M 15s- 11550K .......... .......... .......... .......... .......... 27% 89,1M 15s- 11600K .......... .......... .......... .......... .......... 27% 8,04M 15s- 11650K .......... .......... .......... .......... .......... 28% 85,4M 14s- 11700K .......... .......... .......... .......... .......... 28% 815K 15s- 11750K .......... .......... .......... .......... .......... 28% 44,9M 14s- 11800K .......... .......... .......... .......... .......... 28% 131M 14s- 11850K .......... .......... .......... .......... .......... 28% 12,7M 14s- 11900K .......... .......... .......... .......... .......... 28% 5,71M 14s- 11950K .......... .......... .......... .......... .......... 28% 19,3M 14s- 12000K .......... .......... .......... .......... .......... 28% 22,0M 14s- 12050K .......... .......... .......... .......... .......... 29% 111M 14s- 12100K .......... .......... .......... .......... .......... 29% 44,5M 14s- 12150K .......... .......... .......... .......... .......... 29% 10,8M 14s- 12200K .......... .......... .......... .......... .......... 29% 169M 14s- 12250K .......... .......... .......... .......... .......... 29% 102M 14s- 12300K .......... .......... .......... .......... .......... 29% 97,9M 14s- 12350K .......... .......... .......... .......... .......... 29% 8,70M 14s- 12400K .......... .......... .......... .......... .......... 29% 47,2M 13s- 12450K .......... .......... .......... .......... .......... 30% 9,37M 13s- 12500K .......... .......... .......... .......... .......... 30% 77,2M 13s- 12550K .......... .......... .......... .......... .......... 30% 44,6M 13s- 12600K .......... .......... .......... .......... .......... 30% 84,0M 13s- 12650K .......... .......... .......... .......... .......... 30% 2,51M 13s- 12700K .......... .......... .......... .......... .......... 30% 1,15M 13s- 12750K .......... .......... .......... .......... .......... 30% 60,1M 13s- 12800K .......... .......... .......... .......... .......... 30% 12,1M 13s- 12850K .......... .......... .......... .......... .......... 30% 5,66M 13s- 12900K .......... .......... .......... .......... .......... 31% 22,1M 13s- 12950K .......... .......... .......... .......... .......... 31% 56,1M 13s- 13000K .......... .......... .......... .......... .......... 31% 27,4M 13s- 13050K .......... .......... .......... .......... .......... 31% 45,7M 13s- 13100K .......... .......... .......... .......... .......... 31% 10,4M 13s- 13150K .......... .......... .......... .......... .......... 31% 69,7M 13s- 13200K .......... .......... .......... .......... .......... 31% 60,2M 13s- 13250K .......... .......... .......... .......... .......... 31% 39,8M 12s- 13300K .......... .......... .......... .......... .......... 32% 11,8M 12s- 13350K .......... .......... .......... .......... .......... 32% 66,0M 12s- 13400K .......... .......... .......... .......... .......... 32% 48,4M 12s- 13450K .......... .......... .......... .......... .......... 32% 9,81M 12s- 13500K .......... .......... .......... .......... .......... 32% 23,9M 12s- 13550K .......... .......... .......... .......... .......... 32% 54,2M 12s- 13600K .......... .......... .......... .......... .......... 32% 54,2M 12s- 13650K .......... .......... .......... .......... .......... 32% 10,8M 12s- 13700K .......... .......... .......... .......... .......... 33% 908K 12s- 13750K .......... .......... .......... .......... .......... 33% 34,0M 12s- 13800K .......... .......... .......... .......... .......... 33% 14,8M 12s- 13850K .......... .......... .......... .......... .......... 33% 5,88M 12s- 13900K .......... .......... .......... .......... .......... 33% 44,5M 12s- 13950K .......... .......... .......... .......... .......... 33% 22,8M 12s- 14000K .......... .......... .......... .......... .......... 33% 22,8M 12s- 14050K .......... .......... .......... .......... .......... 33% 60,0M 12s- 14100K .......... .......... .......... .......... .......... 33% 10,5M 12s- 14150K .......... .......... .......... .......... .......... 34% 66,9M 11s- 14200K .......... .......... .......... .......... .......... 34% 63,9M 11s- 14250K .......... .......... .......... .......... .......... 34% 68,9M 11s- 14300K .......... .......... .......... .......... .......... 34% 11,4M 11s- 14350K .......... .......... .......... .......... .......... 34% 50,6M 11s- 14400K .......... .......... .......... .......... .......... 34% 54,7M 11s- 14450K .......... .......... .......... .......... .......... 34% 74,5M 11s- 14500K .......... .......... .......... .......... .......... 34% 10,4M 11s- 14550K .......... .......... .......... .......... .......... 35% 33,4M 11s- 14600K .......... .......... .......... .......... .......... 35% 62,0M 11s- 14650K .......... .......... .......... .......... .......... 35% 35,2M 11s- 14700K .......... .......... .......... .......... .......... 35% 75,6M 11s- 14750K .......... .......... .......... .......... .......... 35% 11,9M 11s- 14800K .......... .......... .......... .......... .......... 35% 908K 11s- 14850K .......... .......... .......... .......... .......... 35% 37,1M 11s- 14900K .......... .......... .......... .......... .......... 35% 12,6M 11s- 14950K .......... .......... .......... .......... .......... 36% 7,11M 11s- 15000K .......... .......... .......... .......... .......... 36% 13,5M 11s- 15050K .......... .......... .......... .......... .......... 36% 71,6M 11s- 15100K .......... .......... .......... .......... .......... 36% 24,4M 11s- 15150K .......... .......... .......... .......... .......... 36% 69,1M 10s- 15200K .......... .......... .......... .......... .......... 36% 63,0M 10s- 15250K .......... .......... .......... .......... .......... 36% 10,1M 10s- 15300K .......... .......... .......... .......... .......... 36% 37,9M 10s- 15350K .......... .......... .......... .......... .......... 36% 69,2M 10s- 15400K .......... .......... .......... .......... .......... 37% 68,1M 10s- 15450K .......... .......... .......... .......... .......... 37% 10,4M 10s- 15500K .......... .......... .......... .......... .......... 37% 64,3M 10s- 15550K .......... .......... .......... .......... .......... 37% 81,2M 10s- 15600K .......... .......... .......... .......... .......... 37% 71,2M 10s- 15650K .......... .......... .......... .......... .......... 37% 13,3M 10s- 15700K .......... .......... .......... .......... .......... 37% 43,7M 10s- 15750K .......... .......... .......... .......... .......... 37% 28,3M 10s- 15800K .......... .......... .......... .......... .......... 38% 59,9M 10s- 15850K .......... .......... .......... .......... .......... 38% 84,3M 10s- 15900K .......... .......... .......... .......... .......... 38% 12,2M 10s- 15950K .......... .......... .......... .......... .......... 38% 8,59M 10s- 16000K .......... .......... .......... .......... .......... 38% 926K 10s- 16050K .......... .......... .......... .......... .......... 38% 65,0M 10s- 16100K .......... .......... .......... .......... .......... 38% 70,3M 10s- 16150K .......... .......... .......... .......... .......... 38% 7,79M 10s- 16200K .......... .......... .......... .......... .......... 39% 14,6M 10s- 16250K .......... .......... .......... .......... .......... 39% 71,5M 10s- 16300K .......... .......... .......... .......... .......... 39% 21,6M 9s- 16350K .......... .......... .......... .......... .......... 39% 73,9M 9s- 16400K .......... .......... .......... .......... .......... 39% 56,4M 9s- 16450K .......... .......... .......... .......... .......... 39% 9,36M 9s- 16500K .......... .......... .......... .......... .......... 39% 69,8M 9s- 16550K .......... .......... .......... .......... .......... 39% 67,0M 9s- 16600K .......... .......... .......... .......... .......... 39% 58,4M 9s- 16650K .......... .......... .......... .......... .......... 40% 9,56M 9s- 16700K .......... .......... .......... .......... .......... 40% 71,2M 9s- 16750K .......... .......... .......... .......... .......... 40% 74,3M 9s- 16800K .......... .......... .......... .......... .......... 40% 63,4M 9s- 16850K .......... .......... .......... .......... .......... 40% 17,3M 9s- 16900K .......... .......... .......... .......... .......... 40% 60,6M 9s- 16950K .......... .......... .......... .......... .......... 40% 67,8M 9s- 17000K .......... .......... .......... .......... .......... 40% 30,6M 9s- 17050K .......... .......... .......... .......... .......... 41% 44,2M 9s- 17100K .......... .......... .......... .......... .......... 41% 92,3M 9s- 17150K .......... .......... .......... .......... .......... 41% 87,8M 9s- 17200K .......... .......... .......... .......... .......... 41% 14,1M 9s- 17250K .......... .......... .......... .......... .......... 41% 1,92M 9s- 17300K .......... .......... .......... .......... .......... 41% 1,41M 9s- 17350K .......... .......... .......... .......... .......... 41% 72,0M 9s- 17400K .......... .......... .......... .......... .......... 41% 61,9M 9s- 17450K .......... .......... .......... .......... .......... 42% 7,98M 9s- 17500K .......... .......... .......... .......... .......... 42% 18,0M 9s- 17550K .......... .......... .......... .......... .......... 42% 18,5M 9s- 17600K .......... .......... .......... .......... .......... 42% 60,6M 8s- 17650K .......... .......... .......... .......... .......... 42% 74,3M 8s- 17700K .......... .......... .......... .......... .......... 42% 71,4M 8s- 17750K .......... .......... .......... .......... .......... 42% 9,08M 8s- 17800K .......... .......... .......... .......... .......... 42% 67,1M 8s- 17850K .......... .......... .......... .......... .......... 42% 88,4M 8s- 17900K .......... .......... .......... .......... .......... 43% 63,0M 8s- 17950K .......... .......... .......... .......... .......... 43% 90,2M 8s- 18000K .......... .......... .......... .......... .......... 43% 9,69M 8s- 18050K .......... .......... .......... .......... .......... 43% 90,6M 8s- 18100K .......... .......... .......... .......... .......... 43% 88,4M 8s- 18150K .......... .......... .......... .......... .......... 43% 83,2M 8s- 18200K .......... .......... .......... .......... .......... 43% 20,2M 8s- 18250K .......... .......... .......... .......... .......... 43% 55,5M 8s- 18300K .......... .......... .......... .......... .......... 44% 24,3M 8s- 18350K .......... .......... .......... .......... .......... 44% 100M 8s- 18400K .......... .......... .......... .......... .......... 44% 31,8M 8s- 18450K .......... .......... .......... .......... .......... 44% 90,8M 8s- 18500K .......... .......... .......... .......... .......... 44% 16,1M 8s- 18550K .......... .......... .......... .......... .......... 44% 4,01M 8s- 18600K .......... .......... .......... .......... .......... 44% 60,9M 8s- 18650K .......... .......... .......... .......... .......... 44% 3,78M 8s- 18700K .......... .......... .......... .......... .......... 45% 1,39M 8s- 18750K .......... .......... .......... .......... .......... 45% 8,10M 8s- 18800K .......... .......... .......... .......... .......... 45% 60,9M 8s- 18850K .......... .......... .......... .......... .......... 45% 69,6M 8s- 18900K .......... .......... .......... .......... .......... 45% 15,8M 8s- 18950K .......... .......... .......... .......... .......... 45% 22,2M 8s- 19000K .......... .......... .......... .......... .......... 45% 63,8M 8s- 19050K .......... .......... .......... .......... .......... 45% 73,8M 7s- 19100K .......... .......... .......... .......... .......... 45% 75,6M 7s- 19150K .......... .......... .......... .......... .......... 46% 10,4M 7s- 19200K .......... .......... .......... .......... .......... 46% 48,1M 7s- 19250K .......... .......... .......... .......... .......... 46% 34,6M 7s- 19300K .......... .......... .......... .......... .......... 46% 108M 7s- 19350K .......... .......... .......... .......... .......... 46% 121M 7s- 19400K .......... .......... .......... .......... .......... 46% 10,9M 7s- 19450K .......... .......... .......... .......... .......... 46% 42,3M 7s- 19500K .......... .......... .......... .......... .......... 46% 63,6M 7s- 19550K .......... .......... .......... .......... .......... 47% 73,5M 7s- 19600K .......... .......... .......... .......... .......... 47% 25,8M 7s- 19650K .......... .......... .......... .......... .......... 47% 56,0M 7s- 19700K .......... .......... .......... .......... .......... 47% 49,8M 7s- 19750K .......... .......... .......... .......... .......... 47% 52,2M 7s- 19800K .......... .......... .......... .......... .......... 47% 61,9M 7s- 19850K .......... .......... .......... .......... .......... 47% 34,3M 7s- 19900K .......... .......... .......... .......... .......... 47% 50,3M 7s- 19950K .......... .......... .......... .......... .......... 48% 25,2M 7s- 20000K .......... .......... .......... .......... .......... 48% 7,45M 7s- 20050K .......... .......... .......... .......... .......... 48% 8,22M 7s- 20100K .......... .......... .......... .......... .......... 48% 3,67M 7s- 20150K .......... .......... .......... .......... .......... 48% 3,41M 7s- 20200K .......... .......... .......... .......... .......... 48% 1,78M 7s- 20250K .......... .......... .......... .......... .......... 48% 66,9M 7s- 20300K .......... .......... .......... .......... .......... 48% 74,2M 7s- 20350K .......... .......... .......... .......... .......... 48% 12,8M 7s- 20400K .......... .......... .......... .......... .......... 49% 29,9M 7s- 20450K .......... .......... .......... .......... .......... 49% 50,4M 7s- 20500K .......... .......... .......... .......... .......... 49% 63,1M 7s- 20550K .......... .......... .......... .......... .......... 49% 63,9M 7s- 20600K .......... .......... .......... .......... .......... 49% 15,6M 7s- 20650K .......... .......... .......... .......... .......... 49% 21,4M 7s- 20700K .......... .......... .......... .......... .......... 49% 54,6M 6s- 20750K .......... .......... .......... .......... .......... 49% 78,0M 6s- 20800K .......... .......... .......... .......... .......... 50% 93,0M 6s- 20850K .......... .......... .......... .......... .......... 50% 115M 6s- 20900K .......... .......... .......... .......... .......... 50% 13,9M 6s- 20950K .......... .......... .......... .......... .......... 50% 91,8M 6s- 21000K .......... .......... .......... .......... .......... 50% 33,4M 6s- 21050K .......... .......... .......... .......... .......... 50% 116M 6s- 21100K .......... .......... .......... .......... .......... 50% 28,1M 6s- 21150K .......... .......... .......... .......... .......... 50% 113M 6s- 21200K .......... .......... .......... .......... .......... 51% 39,4M 6s- 21250K .......... .......... .......... .......... .......... 51% 108M 6s- 21300K .......... .......... .......... .......... .......... 51% 30,8M 6s- 21350K .......... .......... .......... .......... .......... 51% 64,5M 6s- 21400K .......... .......... .......... .......... .......... 51% 75,7M 6s- 21450K .......... .......... .......... .......... .......... 51% 81,5M 6s- 21500K .......... .......... .......... .......... .......... 51% 16,2M 6s- 21550K .......... .......... .......... .......... .......... 51% 107M 6s- 21600K .......... .......... .......... .......... .......... 51% 4,12M 6s- 21650K .......... .......... .......... .......... .......... 52% 80,1M 6s- 21700K .......... .......... .......... .......... .......... 52% 3,73M 6s- 21750K .......... .......... .......... .......... .......... 52% 5,47M 6s- 21800K .......... .......... .......... .......... .......... 52% 1,50M 6s- 21850K .......... .......... .......... .......... .......... 52% 48,4M 6s- 21900K .......... .......... .......... .......... .......... 52% 65,3M 6s- 21950K .......... .......... .......... .......... .......... 52% 12,9M 6s- 22000K .......... .......... .......... .......... .......... 52% 34,5M 6s- 22050K .......... .......... .......... .......... .......... 53% 79,9M 6s- 22100K .......... .......... .......... .......... .......... 53% 75,7M 6s- 22150K .......... .......... .......... .......... .......... 53% 92,5M 6s- 22200K .......... .......... .......... .......... .......... 53% 14,2M 6s- 22250K .......... .......... .......... .......... .......... 53% 78,3M 6s- 22300K .......... .......... .......... .......... .......... 53% 23,3M 6s- 22350K .......... .......... .......... .......... .......... 53% 51,2M 6s- 22400K .......... .......... .......... .......... .......... 53% 35,1M 6s- 22450K .......... .......... .......... .......... .......... 54% 59,3M 6s- 22500K .......... .......... .......... .......... .......... 54% 84,3M 6s- 22550K .......... .......... .......... .......... .......... 54% 22,4M 6s- 22600K .......... .......... .......... .......... .......... 54% 66,5M 5s- 22650K .......... .......... .......... .......... .......... 54% 37,8M 5s- 22700K .......... .......... .......... .......... .......... 54% 81,6M 5s- 22750K .......... .......... .......... .......... .......... 54% 68,9M 5s- 22800K .......... .......... .......... .......... .......... 54% 29,8M 5s- 22850K .......... .......... .......... .......... .......... 54% 49,7M 5s- 22900K .......... .......... .......... .......... .......... 55% 68,8M 5s- 22950K .......... .......... .......... .......... .......... 55% 44,2M 5s- 23000K .......... .......... .......... .......... .......... 55% 56,1M 5s- 23050K .......... .......... .......... .......... .......... 55% 88,3M 5s- 23100K .......... .......... .......... .......... .......... 55% 87,2M 5s- 23150K .......... .......... .......... .......... .......... 55% 75,9M 5s- 23200K .......... .......... .......... .......... .......... 55% 20,9M 5s- 23250K .......... .......... .......... .......... .......... 55% 65,3M 5s- 23300K .......... .......... .......... .......... .......... 56% 99,4M 5s- 23350K .......... .......... .......... .......... .......... 56% 4,19M 5s- 23400K .......... .......... .......... .......... .......... 56% 6,24M 5s- 23450K .......... .......... .......... .......... .......... 56% 2,81M 5s- 23500K .......... .......... .......... .......... .......... 56% 6,61M 5s- 23550K .......... .......... .......... .......... .......... 56% 2,22M 5s- 23600K .......... .......... .......... .......... .......... 56% 31,8M 5s- 23650K .......... .......... .......... .......... .......... 56% 13,2M 5s- 23700K .......... .......... .......... .......... .......... 57% 27,7M 5s- 23750K .......... .......... .......... .......... .......... 57% 38,7M 5s- 23800K .......... .......... .......... .......... .......... 57% 56,6M 5s- 23850K .......... .......... .......... .......... .......... 57% 71,8M 5s- 23900K .......... .......... .......... .......... .......... 57% 20,8M 5s- 23950K .......... .......... .......... .......... .......... 57% 42,8M 5s- 24000K .......... .......... .......... .......... .......... 57% 60,5M 5s- 24050K .......... .......... .......... .......... .......... 57% 58,8M 5s- 24100K .......... .......... .......... .......... .......... 57% 31,7M 5s- 24150K .......... .......... .......... .......... .......... 58% 56,4M 5s- 24200K .......... .......... .......... .......... .......... 58% 94,3M 5s- 24250K .......... .......... .......... .......... .......... 58% 154M 5s- 24300K .......... .......... .......... .......... .......... 58% 166M 5s- 24350K .......... .......... .......... .......... .......... 58% 21,3M 5s- 24400K .......... .......... .......... .......... .......... 58% 28,9M 5s- 24450K .......... .......... .......... .......... .......... 58% 60,2M 5s- 24500K .......... .......... .......... .......... .......... 58% 99,0M 5s- 24550K .......... .......... .......... .......... .......... 59% 51,9M 5s- 24600K .......... .......... .......... .......... .......... 59% 109M 5s- 24650K .......... .......... .......... .......... .......... 59% 24,6M 5s- 24700K .......... .......... .......... .......... .......... 59% 78,5M 5s- 24750K .......... .......... .......... .......... .......... 59% 150M 5s- 24800K .......... .......... .......... .......... .......... 59% 58,7M 5s- 24850K .......... .......... .......... .......... .......... 59% 60,5M 4s- 24900K .......... .......... .......... .......... .......... 59% 95,2M 4s- 24950K .......... .......... .......... .......... .......... 60% 98,6M 4s- 25000K .......... .......... .......... .......... .......... 60% 88,9M 4s- 25050K .......... .......... .......... .......... .......... 60% 23,0M 4s- 25100K .......... .......... .......... .......... .......... 60% 61,5M 4s- 25150K .......... .......... .......... .......... .......... 60% 105M 4s- 25200K .......... .......... .......... .......... .......... 60% 6,64M 4s- 25250K .......... .......... .......... .......... .......... 60% 7,11M 4s- 25300K .......... .......... .......... .......... .......... 60% 4,75M 4s- 25350K .......... .......... .......... .......... .......... 60% 2,81M 4s- 25400K .......... .......... .......... .......... .......... 61% 50,6M 4s- 25450K .......... .......... .......... .......... .......... 61% 2,10M 4s- 25500K .......... .......... .......... .......... .......... 61% 26,6M 4s- 25550K .......... .......... .......... .......... .......... 61% 13,6M 4s- 25600K .......... .......... .......... .......... .......... 61% 16,6M 4s- 25650K .......... .......... .......... .......... .......... 61% 37,4M 4s- 25700K .......... .......... .......... .......... .......... 61% 69,9M 4s- 25750K .......... .......... .......... .......... .......... 61% 75,8M 4s- 25800K .......... .......... .......... .......... .......... 62% 32,8M 4s- 25850K .......... .......... .......... .......... .......... 62% 92,0M 4s- 25900K .......... .......... .......... .......... .......... 62% 163M 4s- 25950K .......... .......... .......... .......... .......... 62% 30,3M 4s- 26000K .......... .......... .......... .......... .......... 62% 35,2M 4s- 26050K .......... .......... .......... .......... .......... 62% 95,9M 4s- 26100K .......... .......... .......... .......... .......... 62% 55,0M 4s- 26150K .......... .......... .......... .......... .......... 62% 105M 4s- 26200K .......... .......... .......... .......... .......... 63% 142M 4s- 26250K .......... .......... .......... .......... .......... 63% 111M 4s- 26300K .......... .......... .......... .......... .......... 63% 17,8M 4s- 26350K .......... .......... .......... .......... .......... 63% 150M 4s- 26400K .......... .......... .......... .......... .......... 63% 41,1M 4s- 26450K .......... .......... .......... .......... .......... 63% 40,0M 4s- 26500K .......... .......... .......... .......... .......... 63% 90,6M 4s- 26550K .......... .......... .......... .......... .......... 63% 91,6M 4s- 26600K .......... .......... .......... .......... .......... 63% 69,6M 4s- 26650K .......... .......... .......... .......... .......... 64% 24,8M 4s- 26700K .......... .......... .......... .......... .......... 64% 94,8M 4s- 26750K .......... .......... .......... .......... .......... 64% 83,2M 4s- 26800K .......... .......... .......... .......... .......... 64% 42,4M 4s- 26850K .......... .......... .......... .......... .......... 64% 88,3M 4s- 26900K .......... .......... .......... .......... .......... 64% 88,8M 4s- 26950K .......... .......... .......... .......... .......... 64% 91,1M 4s- 27000K .......... .......... .......... .......... .......... 64% 35,7M 4s- 27050K .......... .......... .......... .......... .......... 65% 88,5M 4s- 27100K .......... .......... .......... .......... .......... 65% 83,5M 4s- 27150K .......... .......... .......... .......... .......... 65% 84,8M 4s- 27200K .......... .......... .......... .......... .......... 65% 6,73M 4s- 27250K .......... .......... .......... .......... .......... 65% 9,14M 4s- 27300K .......... .......... .......... .......... .......... 65% 28,7M 4s- 27350K .......... .......... .......... .......... .......... 65% 4,70M 4s- 27400K .......... .......... .......... .......... .......... 65% 2,82M 4s- 27450K .......... .......... .......... .......... .......... 66% 6,37M 4s- 27500K .......... .......... .......... .......... .......... 66% 3,01M 3s- 27550K .......... .......... .......... .......... .......... 66% 21,2M 3s- 27600K .......... .......... .......... .......... .......... 66% 13,7M 3s- 27650K .......... .......... .......... .......... .......... 66% 14,9M 3s- 27700K .......... .......... .......... .......... .......... 66% 55,1M 3s- 27750K .......... .......... .......... .......... .......... 66% 55,6M 3s- 27800K .......... .......... .......... .......... .......... 66% 67,1M 3s- 27850K .......... .......... .......... .......... .......... 66% 88,1M 3s- 27900K .......... .......... .......... .......... .......... 67% 61,5M 3s- 27950K .......... .......... .......... .......... .......... 67% 78,6M 3s- 28000K .......... .......... .......... .......... .......... 67% 28,8M 3s- 28050K .......... .......... .......... .......... .......... 67% 42,3M 3s- 28100K .......... .......... .......... .......... .......... 67% 46,7M 3s- 28150K .......... .......... .......... .......... .......... 67% 97,7M 3s- 28200K .......... .......... .......... .......... .......... 67% 72,4M 3s- 28250K .......... .......... .......... .......... .......... 67% 101M 3s- 28300K .......... .......... .......... .......... .......... 68% 104M 3s- 28350K .......... .......... .......... .......... .......... 68% 121M 3s- 28400K .......... .......... .......... .......... .......... 68% 21,7M 3s- 28450K .......... .......... .......... .......... .......... 68% 92,8M 3s- 28500K .......... .......... .......... .......... .......... 68% 99,8M 3s- 28550K .......... .......... .......... .......... .......... 68% 33,8M 3s- 28600K .......... .......... .......... .......... .......... 68% 114M 3s- 28650K .......... .......... .......... .......... .......... 68% 83,6M 3s- 28700K .......... .......... .......... .......... .......... 69% 142M 3s- 28750K .......... .......... .......... .......... .......... 69% 126M 3s- 28800K .......... .......... .......... .......... .......... 69% 9,03M 3s- 28850K .......... .......... .......... .......... .......... 69% 115M 3s- 28900K .......... .......... .......... .......... .......... 69% 101M 3s- 28950K .......... .......... .......... .......... .......... 69% 83,4M 3s- 29000K .......... .......... .......... .......... .......... 69% 88,0M 3s- 29050K .......... .......... .......... .......... .......... 69% 94,5M 3s- 29100K .......... .......... .......... .......... .......... 69% 122M 3s- 29150K .......... .......... .......... .......... .......... 70% 97,3M 3s- 29200K .......... .......... .......... .......... .......... 70% 91,8M 3s- 29250K .......... .......... .......... .......... .......... 70% 113M 3s- 29300K .......... .......... .......... .......... .......... 70% 35,7M 3s- 29350K .......... .......... .......... .......... .......... 70% 19,6M 3s- 29400K .......... .......... .......... .......... .......... 70% 110M 3s- 29450K .......... .......... .......... .......... .......... 70% 22,9M 3s- 29500K .......... .......... .......... .......... .......... 70% 6,27M 3s- 29550K .......... .......... .......... .......... .......... 71% 5,42M 3s- 29600K .......... .......... .......... .......... .......... 71% 5,40M 3s- 29650K .......... .......... .......... .......... .......... 71% 5,61M 3s- 29700K .......... .......... .......... .......... .......... 71% 3,47M 3s- 29750K .......... .......... .......... .......... .......... 71% 3,94M 3s- 29800K .......... .......... .......... .......... .......... 71% 17,8M 3s- 29850K .......... .......... .......... .......... .......... 71% 50,3M 3s- 29900K .......... .......... .......... .......... .......... 71% 15,4M 3s- 29950K .......... .......... .......... .......... .......... 72% 56,6M 3s- 30000K .......... .......... .......... .......... .......... 72% 39,4M 3s- 30050K .......... .......... .......... .......... .......... 72% 62,8M 3s- 30100K .......... .......... .......... .......... .......... 72% 49,8M 3s- 30150K .......... .......... .......... .......... .......... 72% 75,4M 3s- 30200K .......... .......... .......... .......... .......... 72% 63,8M 3s- 30250K .......... .......... .......... .......... .......... 72% 102M 3s- 30300K .......... .......... .......... .......... .......... 72% 79,7M 3s- 30350K .......... .......... .......... .......... .......... 72% 58,3M 3s- 30400K .......... .......... .......... .......... .......... 73% 36,5M 3s- 30450K .......... .......... .......... .......... .......... 73% 123M 3s- 30500K .......... .......... .......... .......... .......... 73% 21,5M 3s- 30550K .......... .......... .......... .......... .......... 73% 122M 3s- 30600K .......... .......... .......... .......... .......... 73% 121M 2s- 30650K .......... .......... .......... .......... .......... 73% 83,1M 2s- 30700K .......... .......... .......... .......... .......... 73% 122M 2s- 30750K .......... .......... .......... .......... .......... 73% 71,4M 2s- 30800K .......... .......... .......... .......... .......... 74% 30,6M 2s- 30850K .......... .......... .......... .......... .......... 74% 132M 2s- 30900K .......... .......... .......... .......... .......... 74% 89,6M 2s- 30950K .......... .......... .......... .......... .......... 74% 115M 2s- 31000K .......... .......... .......... .......... .......... 74% 117M 2s- 31050K .......... .......... .......... .......... .......... 74% 90,4M 2s- 31100K .......... .......... .......... .......... .......... 74% 9,46M 2s- 31150K .......... .......... .......... .......... .......... 74% 108M 2s- 31200K .......... .......... .......... .......... .......... 75% 51,7M 2s- 31250K .......... .......... .......... .......... .......... 75% 74,9M 2s- 31300K .......... .......... .......... .......... .......... 75% 104M 2s- 31350K .......... .......... .......... .......... .......... 75% 111M 2s- 31400K .......... .......... .......... .......... .......... 75% 102M 2s- 31450K .......... .......... .......... .......... .......... 75% 77,7M 2s- 31500K .......... .......... .......... .......... .......... 75% 104M 2s- 31550K .......... .......... .......... .......... .......... 75% 92,5M 2s- 31600K .......... .......... .......... .......... .......... 75% 94,8M 2s- 31650K .......... .......... .......... .......... .......... 76% 112M 2s- 31700K .......... .......... .......... .......... .......... 76% 23,4M 2s- 31750K .......... .......... .......... .......... .......... 76% 95,5M 2s- 31800K .......... .......... .......... .......... .......... 76% 21,2M 2s- 31850K .......... .......... .......... .......... .......... 76% 7,00M 2s- 31900K .......... .......... .......... .......... .......... 76% 5,33M 2s- 31950K .......... .......... .......... .......... .......... 76% 98,7M 2s- 32000K .......... .......... .......... .......... .......... 76% 5,87M 2s- 32050K .......... .......... .......... .......... .......... 77% 3,46M 2s- 32100K .......... .......... .......... .......... .......... 77% 3,11M 2s- 32150K .......... .......... .......... .......... .......... 77% 8,76M 2s- 32200K .......... .......... .......... .......... .......... 77% 47,3M 2s- 32250K .......... .......... .......... .......... .......... 77% 17,2M 2s- 32300K .......... .......... .......... .......... .......... 77% 13,4M 2s- 32350K .......... .......... .......... .......... .......... 77% 80,2M 2s- 32400K .......... .......... .......... .......... .......... 77% 75,5M 2s- 32450K .......... .......... .......... .......... .......... 78% 96,5M 2s- 32500K .......... .......... .......... .......... .......... 78% 63,6M 2s- 32550K .......... .......... .......... .......... .......... 78% 100M 2s- 32600K .......... .......... .......... .......... .......... 78% 30,2M 2s- 32650K .......... .......... .......... .......... .......... 78% 79,5M 2s- 32700K .......... .......... .......... .......... .......... 78% 91,0M 2s- 32750K .......... .......... .......... .......... .......... 78% 44,3M 2s- 32800K .......... .......... .......... .......... .......... 78% 49,2M 2s- 32850K .......... .......... .......... .......... .......... 78% 86,4M 2s- 32900K .......... .......... .......... .......... .......... 79% 20,8M 2s- 32950K .......... .......... .......... .......... .......... 79% 50,1M 2s- 33000K .......... .......... .......... .......... .......... 79% 86,0M 2s- 33050K .......... .......... .......... .......... .......... 79% 118M 2s- 33100K .......... .......... .......... .......... .......... 79% 121M 2s- 33150K .......... .......... .......... .......... .......... 79% 128M 2s- 33200K .......... .......... .......... .......... .......... 79% 103M 2s- 33250K .......... .......... .......... .......... .......... 79% 121M 2s- 33300K .......... .......... .......... .......... .......... 80% 39,0M 2s- 33350K .......... .......... .......... .......... .......... 80% 114M 2s- 33400K .......... .......... .......... .......... .......... 80% 95,3M 2s- 33450K .......... .......... .......... .......... .......... 80% 86,6M 2s- 33500K .......... .......... .......... .......... .......... 80% 116M 2s- 33550K .......... .......... .......... .......... .......... 80% 11,0M 2s- 33600K .......... .......... .......... .......... .......... 80% 76,4M 2s- 33650K .......... .......... .......... .......... .......... 80% 124M 2s- 33700K .......... .......... .......... .......... .......... 81% 43,7M 2s- 33750K .......... .......... .......... .......... .......... 81% 103M 2s- 33800K .......... .......... .......... .......... .......... 81% 86,7M 2s- 33850K .......... .......... .......... .......... .......... 81% 90,0M 2s- 33900K .......... .......... .......... .......... .......... 81% 47,6M 2s- 33950K .......... .......... .......... .......... .......... 81% 98,9M 2s- 34000K .......... .......... .......... .......... .......... 81% 79,3M 2s- 34050K .......... .......... .......... .......... .......... 81% 93,2M 2s- 34100K .......... .......... .......... .......... .......... 82% 96,5M 2s- 34150K .......... .......... .......... .......... .......... 82% 95,0M 2s- 34200K .......... .......... .......... .......... .......... 82% 52,0M 2s- 34250K .......... .......... .......... .......... .......... 82% 104M 2s- 34300K .......... .......... .......... .......... .......... 82% 93,2M 2s- 34350K .......... .......... .......... .......... .......... 82% 25,0M 1s- 34400K .......... .......... .......... .......... .......... 82% 7,35M 1s- 34450K .......... .......... .......... .......... .......... 82% 5,23M 1s- 34500K .......... .......... .......... .......... .......... 82% 6,79M 1s- 34550K .......... .......... .......... .......... .......... 83% 99,1M 1s- 34600K .......... .......... .......... .......... .......... 83% 3,23M 1s- 34650K .......... .......... .......... .......... .......... 83% 3,34M 1s- 34700K .......... .......... .......... .......... .......... 83% 6,32M 1s- 34750K .......... .......... .......... .......... .......... 83% 18,3M 1s- 34800K .......... .......... .......... .......... .......... 83% 12,6M 1s- 34850K .......... .......... .......... .......... .......... 83% 40,4M 1s- 34900K .......... .......... .......... .......... .......... 83% 68,0M 1s- 34950K .......... .......... .......... .......... .......... 84% 58,3M 1s- 35000K .......... .......... .......... .......... .......... 84% 45,2M 1s- 35050K .......... .......... .......... .......... .......... 84% 63,1M 1s- 35100K .......... .......... .......... .......... .......... 84% 54,5M 1s- 35150K .......... .......... .......... .......... .......... 84% 64,2M 1s- 35200K .......... .......... .......... .......... .......... 84% 74,6M 1s- 35250K .......... .......... .......... .......... .......... 84% 120M 1s- 35300K .......... .......... .......... .......... .......... 84% 95,9M 1s- 35350K .......... .......... .......... .......... .......... 85% 102M 1s- 35400K .......... .......... .......... .......... .......... 85% 117M 1s- 35450K .......... .......... .......... .......... .......... 85% 124M 1s- 35500K .......... .......... .......... .......... .......... 85% 139M 1s- 35550K .......... .......... .......... .......... .......... 85% 18,0M 1s- 35600K .......... .......... .......... .......... .......... 85% 98,5M 1s- 35650K .......... .......... .......... .......... .......... 85% 91,6M 1s- 35700K .......... .......... .......... .......... .......... 85% 120M 1s- 35750K .......... .......... .......... .......... .......... 85% 120M 1s- 35800K .......... .......... .......... .......... .......... 86% 107M 1s- 35850K .......... .......... .......... .......... .......... 86% 118M 1s- 35900K .......... .......... .......... .......... .......... 86% 83,0M 1s- 35950K .......... .......... .......... .......... .......... 86% 94,1M 1s- 36000K .......... .......... .......... .......... .......... 86% 69,9M 1s- 36050K .......... .......... .......... .......... .......... 86% 81,4M 1s- 36100K .......... .......... .......... .......... .......... 86% 117M 1s- 36150K .......... .......... .......... .......... .......... 86% 89,9M 1s- 36200K .......... .......... .......... .......... .......... 87% 83,4M 1s- 36250K .......... .......... .......... .......... .......... 87% 14,0M 1s- 36300K .......... .......... .......... .......... .......... 87% 84,0M 1s- 36350K .......... .......... .......... .......... .......... 87% 27,5M 1s- 36400K .......... .......... .......... .......... .......... 87% 94,0M 1s- 36450K .......... .......... .......... .......... .......... 87% 91,9M 1s- 36500K .......... .......... .......... .......... .......... 87% 47,3M 1s- 36550K .......... .......... .......... .......... .......... 87% 98,3M 1s- 36600K .......... .......... .......... .......... .......... 88% 88,5M 1s- 36650K .......... .......... .......... .......... .......... 88% 102M 1s- 36700K .......... .......... .......... .......... .......... 88% 97,9M 1s- 36750K .......... .......... .......... .......... .......... 88% 127M 1s- 36800K .......... .......... .......... .......... .......... 88% 57,2M 1s- 36850K .......... .......... .......... .......... .......... 88% 95,7M 1s- 36900K .......... .......... .......... .......... .......... 88% 88,0M 1s- 36950K .......... .......... .......... .......... .......... 88% 84,0M 1s- 37000K .......... .......... .......... .......... .......... 88% 38,4M 1s- 37050K .......... .......... .......... .......... .......... 89% 96,2M 1s- 37100K .......... .......... .......... .......... .......... 89% 10,9M 1s- 37150K .......... .......... .......... .......... .......... 89% 19,7M 1s- 37200K .......... .......... .......... .......... .......... 89% 5,09M 1s- 37250K .......... .......... .......... .......... .......... 89% 7,41M 1s- 37300K .......... .......... .......... .......... .......... 89% 3,85M 1s- 37350K .......... .......... .......... .......... .......... 89% 4,88M 1s- 37400K .......... .......... .......... .......... .......... 89% 133M 1s- 37450K .......... .......... .......... .......... .......... 90% 3,40M 1s- 37500K .......... .......... .......... .......... .......... 90% 17,3M 1s- 37550K .......... .......... .......... .......... .......... 90% 11,2M 1s- 37600K .......... .......... .......... .......... .......... 90% 123M 1s- 37650K .......... .......... .......... .......... .......... 90% 92,4M 1s- 37700K .......... .......... .......... .......... .......... 90% 68,4M 1s- 37750K .......... .......... .......... .......... .......... 90% 62,4M 1s- 37800K .......... .......... .......... .......... .......... 90% 59,1M 1s- 37850K .......... .......... .......... .......... .......... 91% 65,5M 1s- 37900K .......... .......... .......... .......... .......... 91% 55,8M 1s- 37950K .......... .......... .......... .......... .......... 91% 66,4M 1s- 38000K .......... .......... .......... .......... .......... 91% 56,0M 1s- 38050K .......... .......... .......... .......... .......... 91% 61,3M 1s- 38100K .......... .......... .......... .......... .......... 91% 60,9M 1s- 38150K .......... .......... .......... .......... .......... 91% 65,8M 1s- 38200K .......... .......... .......... .......... .......... 91% 57,1M 1s- 38250K .......... .......... .......... .......... .......... 91% 67,8M 1s- 38300K .......... .......... .......... .......... .......... 92% 74,7M 1s- 38350K .......... .......... .......... .......... .......... 92% 26,4M 1s- 38400K .......... .......... .......... .......... .......... 92% 70,8M 1s- 38450K .......... .......... .......... .......... .......... 92% 177M 1s- 38500K .......... .......... .......... .......... .......... 92% 103M 1s- 38550K .......... .......... .......... .......... .......... 92% 96,5M 1s- 38600K .......... .......... .......... .......... .......... 92% 92,9M 1s- 38650K .......... .......... .......... .......... .......... 92% 179M 1s- 38700K .......... .......... .......... .......... .......... 93% 64,0M 1s- 38750K .......... .......... .......... .......... .......... 93% 95,7M 1s- 38800K .......... .......... .......... .......... .......... 93% 69,1M 1s- 38850K .......... .......... .......... .......... .......... 93% 92,3M 1s- 38900K .......... .......... .......... .......... .......... 93% 97,2M 1s- 38950K .......... .......... .......... .......... .......... 93% 80,6M 0s- 39000K .......... .......... .......... .......... .......... 93% 89,0M 0s- 39050K .......... .......... .......... .......... .......... 93% 118M 0s- 39100K .......... .......... .......... .......... .......... 94% 21,5M 0s- 39150K .......... .......... .......... .......... .......... 94% 98,3M 0s- 39200K .......... .......... .......... .......... .......... 94% 25,7M 0s- 39250K .......... .......... .......... .......... .......... 94% 111M 0s- 39300K .......... .......... .......... .......... .......... 94% 64,2M 0s- 39350K .......... .......... .......... .......... .......... 94% 75,8M 0s- 39400K .......... .......... .......... .......... .......... 94% 64,2M 0s- 39450K .......... .......... .......... .......... .......... 94% 72,3M 0s- 39500K .......... .......... .......... .......... .......... 94% 72,0M 0s- 39550K .......... .......... .......... .......... .......... 95% 69,6M 0s- 39600K .......... .......... .......... .......... .......... 95% 75,7M 0s- 39650K .......... .......... .......... .......... .......... 95% 72,5M 0s- 39700K .......... .......... .......... .......... .......... 95% 74,1M 0s- 39750K .......... .......... .......... .......... .......... 95% 69,4M 0s- 39800K .......... .......... .......... .......... .......... 95% 61,5M 0s- 39850K .......... .......... .......... .......... .......... 95% 70,3M 0s- 39900K .......... .......... .......... .......... .......... 95% 76,4M 0s- 39950K .......... .......... .......... .......... .......... 96% 93,7M 0s- 40000K .......... .......... .......... .......... .......... 96% 73,8M 0s- 40050K .......... .......... .......... .......... .......... 96% 11,3M 0s- 40100K .......... .......... .......... .......... .......... 96% 5,42M 0s- 40150K .......... .......... .......... .......... .......... 96% 6,38M 0s- 40200K .......... .......... .......... .......... .......... 96% 37,9M 0s- 40250K .......... .......... .......... .......... .......... 96% 4,09M 0s- 40300K .......... .......... .......... .......... .......... 96% 4,75M 0s- 40350K .......... .......... .......... .......... .......... 97% 3,60M 0s- 40400K .......... .......... .......... .......... .......... 97% 16,7M 0s- 40450K .......... .......... .......... .......... .......... 97% 78,3M 0s- 40500K .......... .......... .......... .......... .......... 97% 10,4M 0s- 40550K .......... .......... .......... .......... .......... 97% 50,6M 0s- 40600K .......... .......... .......... .......... .......... 97% 96,0M 0s- 40650K .......... .......... .......... .......... .......... 97% 101M 0s- 40700K .......... .......... .......... .......... .......... 97% 114M 0s- 40750K .......... .......... .......... .......... .......... 97% 125M 0s- 40800K .......... .......... .......... .......... .......... 98% 81,4M 0s- 40850K .......... .......... .......... .......... .......... 98% 107M 0s- 40900K .......... .......... .......... .......... .......... 98% 107M 0s- 40950K .......... .......... .......... .......... .......... 98% 75,1M 0s- 41000K .......... .......... .......... .......... .......... 98% 108M 0s- 41050K .......... .......... .......... .......... .......... 98% 62,9M 0s- 41100K .......... .......... .......... .......... .......... 98% 51,6M 0s- 41150K .......... .......... .......... .......... .......... 98% 73,4M 0s- 41200K .......... .......... .......... .......... .......... 99% 47,4M 0s- 41250K .......... .......... .......... .......... .......... 99% 87,9M 0s- 41300K .......... .......... .......... .......... .......... 99% 18,0M 0s- 41350K .......... .......... .......... .......... .......... 99% 78,5M 0s- 41400K .......... .......... .......... .......... .......... 99% 78,3M 0s- 41450K .......... .......... .......... .......... .......... 99% 107M 0s- 41500K .......... .......... .......... .......... .......... 99% 73,6M 0s- 41550K .......... .......... .......... .......... .......... 99% 50,9M 0s- 41600K .......... .......... .......... .......... ...... 100% 122M=7,4s--2014-06-18 13:38:29 (5,52 MB/s) - ‘/home/jwiklund/Documents/.git/annex/tmp/SHA256E-s42645638--4ae41fb29bd26339ea10f53ea2b7cf3132e53d5e8fbfde7b43b912aa52b3d319.tar.gz’ saved [42645638/42645638]--[2014-06-18 13:38:29 CEST] main: Downloaded git-annex.. upgrade)-(checksum...)-[2014-06-18 13:38:29 CEST] Pusher: Syncing with born -(Recording state in git...)-To ssh://jwiklund@born/store/backup/Documents.annex.1/- 38006f5..fdae080 git-annex -> synced/git-annex-git-annex version: 5.20140610-g5ec8bcf-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4-[2014-06-18 13:38:31 CEST] main: Upgrading git-annex-[2014-06-18 13:38:31 CEST] UpgradeWatcher: A new version of git-annex has been installed. --Already up-to-date.--Already up-to-date.--Already up-to-date.--Already up-to-date.-channel 4: bad ext data-channel 4: bad ext data-channel 4: bad ext data-channel 4: bad ext data-channel 4: bad ext data-channel 4: bad ext data-channel 4: bad ext data-channel 4: bad ext data-channel 4: bad ext data-channel 4: bad ext data-channel 4: bad ext data-channel 4: bad ext data-channel 4: bad ext data--# End of transcript or log.-"""]]--> [[fixed|done]]; the merge race has been fixed. The upgrade loop has also-> been dealt with. --[[Joey]]
− doc/bugs/flooding_me_with_ssh_password_prompts.mdwn
@@ -1,47 +0,0 @@-### Please describe the problem.--When I login to my session, git-annex starts a few daemons, which is fine, but then it prompts me for tons of passwords, which is really annoying.--It is strange because one of the things I do when I start my session is to input my keys in the SSH agent. But then git-annex still prompts me:--~~~~-21503 ? Sl 3:04 git-annex assistant --startdelay=5s-21517 ? S 0:03 \_ git --git-dir=/srv/musique/anarcat/books/.git --work-tree=/srv/musique/anarcat/books cat-file --batch-21612 ? SNl 0:00 \_ git-annex remotedaemon-21706 ? S 0:00 \_ git --git-dir=/srv/musique/anarcat/books/.git --work-tree=/srv/musique/anarcat/books check-ignore -z --stdin --verbose --non-matching-21898 ? SN 0:00 \_ git --git-dir=/srv/musique/anarcat/books/.git --work-tree=/srv/musique/anarcat/books check-attr -z --stdin annex.backend annex.numcopies --- 6712 ? SNl 0:00 \_ git-annex transferkeys- 6719 ? SN 0:00 \_ git --git-dir=/srv/musique/anarcat/books/.git --work-tree=/srv/musique/anarcat/books cat-file --batch- 6720 ? SN 0:00 \_ rsync --progress --inplace --perms -e 'ssh' '-S' '.git/annex/ssh/anarc.at' '-o' 'ControlMaster=auto' '-o' 'ControlPersist=yes' '-T' 'anarc.at' 'git-annex-shell ''sendkey'' ''/srv/books'' ''SHA256E-s17781587--f204e6ef1f14b624e222d6ad73ed41edf65c29c93afad9a1e4e1954ad68d1753.pdf'' --uuid a75cbbf7-e055-423e-b375-443e0552c9e2 ''--'' ''remoteuuid=aa500f29-42d9-4777-ae02-4a2c3d47db44'' ''direct='' ''associatedfile=Garde cotiere canadienne/Navigation dans les glaces en eaux Canadiennes (1112)/Navigation dans les glaces en eaux Canadie - Garde cotiere canadienne.pdf'' ''--''' -- dummy: /srv/musique/anarcat/books/.git/annex/tmp/SHA256E-s17781587--f204e6ef1f14b624e222d6ad73ed41edf65c29c93afad9a1e4e1954ad68d1753.pdf- 6721 ? SN 0:00 \_ ssh -S .git/annex/ssh/anarc.at -o ControlMaster=auto -o ControlPersist=yes -T anarc.at git-annex-shell 'sendkey' '/srv/books' 'SHA256E-s17781587--f204e6ef1f14b624e222d6ad73ed41edf65c29c93afad9a1e4e1954ad68d1753.pdf' --uuid a75cbbf7-e055-423e-b375-443e0552c9e2 '--' 'remoteuuid=aa500f29-42d9-4777-ae02-4a2c3d47db44' 'direct=' 'associatedfile=Garde cotiere canadienne/Navigation dans les glaces en eaux Canadiennes (1112)/Navigation dans les glaces en eaux Canadie - Garde cotiere canadienne.pdf' '--' dummy rsync --server --sender -vpe.Lsf --inplace .- 6722 ? SN 0:00 \_ /usr/bin/ssh-askpass anarcat@anarc.at's password:-~~~~--Yet I can login to `shell.anarc.at` without a passphrase without problems.--Interestingly enough, my main session and git-annex do not seem to share the same `SSH_AGENT` environment variable. It's unclear to me why. git-annex's SSH_AGENT environment variable seems to refer to a process that disappeared, actually. So it could be there's something wrong with my session.--Still, when a situation like this occurs, it seems to me that it should generate in this noisy concert of ssh prompts that basically blocks all work until i hit "escape" often enough. In fact, that it is rather problematic to have random password prompts show up like this without an explanation: git-annex should tell me it's the source of this password prompt or not prompt at all, because there's no way i'll start entering random passphrases into random pinentry dialogs that show up... --Doesn't git-annex deploy its own ssh keys once it has established a connexion with an SSH remote?--> After more investigation, it turns out this peculiar git-annex daemon was some left-overs from a previous session i had logged out of. It is unclear why git-annex was still running, but there were also pulseaudio and redshift programs lying around so I suspect it wasn't git-annex specific.->-> However, this problem remains on login. When I start a new session, there's a race condition between git-annex asking passwords and ssh-add asking me to unlock my private key. It's a nice festival of password prompts as I struggle to type in my ssh key faster than git-annex asks me for the remote host's password.-> -> In general, I think git-annex should set `PasswordAuthentication=no` (or allow me to configure it as such), especially if it knows it was able to login without a password at some point. It should especially do that if there's no UI attached informing the user it will be prompting for a password. `NumberOfPasswordPrompts=1` would also be a welcome improvement, but I really don't think I should be seeing those password prompts, especially since I *can* login to the server with my existing SSH key.->-> Also note that I use Monkeysphere to input my private key into the SSH agent so it could explain why this doesn't usually happen to other people: Monkeysphere doesn't automatically get started from `ssh` if the key is missing, and instead `ssh` will revert to a regular password-based authentication which competes with the Monkeysphere password prompt.--### What steps will reproduce the problem?--It's unclear - i guess you need to setup git-annex to autostart and sync with remote ssh annexes. You may also need to have to use XFCE with Awesome to reproduce the problem. I can provide more details on my session setup on request. --[[anarcat]]--### What version of git-annex are you using? On what operating system?--5.20140927~bpo70+3 on debian wheezy.--> The git-annex daemon being a "leftover" from a previous session seems-> like the root cause. We have a new bug for this,-> [[bugs/kill_git-annex_assistant_on_logout]], so I am going to close this-> one as a dup. [[done]] --[[Joey]]
− doc/bugs/follows_symlinks_to_outside_annex.mdwn
@@ -1,3 +0,0 @@-I've had a bug report that the assistant follows directory symlinks to elsewhere. I thought it didn't. This needs to be avoided.--[[fixed|done]]
− doc/bugs/forget_corrupts_non-ascii_chars.mdwn
@@ -1,78 +0,0 @@-### Please describe the problem.--it seems that `git annex forget --drop-dead --force` will double-encode UTF-8 characters.--### What steps will reproduce the problem?--Have a remote with an accent in the description.--### What version of git-annex are you using? On what operating system?--5.20140412 on debian jessie amd64.--### Please provide any additional information below.--[[!format sh """-anarcat@marcos:video$ git annex info-repository mode: indirect-trusted repositories: 1- 5adbab10-0f7a-467b-b0d8-5d7af2223103 -- here (backup (anarcat@marcos:/srv/video))-semitrusted repositories: 5- 00000000-0000-0000-0000-000000000001 -- web- 2d594c02-9164-4ebd-ac47-f8cdc9c16e2f -- rachel@topcrapn:~/Vidéos/anarcat- 2f90b958-95e4-44e3-8d3b-e780b63936d1 -- portable (300GB drive labeled VHS)- 96365189-a0b9-4c33-865f-b573d98572dc -- trouneslo@ifuckinglovecumputers:~/video-anarcat- ae3d62e6-49be-4340-ba25-c8736a1637c4 -- anarcat@angela:~/video-untrusted repositories: 1- f6a70cfe-0ee4-4762-9f1d-b7b545fbd856 -- External hard drive labeled VHS-transfers in progress: none-available local disk space: 14.29 gigabytes (+10 gigabytes reserved)-local annex keys: 4110-local annex size: 991.85 gigabytes (+ 2 unknown size)-annexed files in working tree: 4108-size of annexed files in working tree: 1.01 terabytes (+ 2 unknown size)-bloom filter size: 16 mebibytes (0.8% full)-backend usage:- SHA256E: 8214- URL: 4-anarcat@marcos:video$ git annex dead f6a70cfe-0ee4-4762-9f1d-b7b545fbd856-dead f6a70cfe-0ee4-4762-9f1d-b7b545fbd856 ok-(Recording state in git...)-anarcat@marcos:video$ git annex unused-unused . (checking for unused data...) (checking HEAD...) (checking synced/master...) (checking backup/master...) (checking portable/annex/direct/master...) (checking portable/master...) (checking portable/synced/master...) (checking steph/master...) (checking steph/synced/master...) (checking video/synced/master...) ok-anarcat@marcos:video$ git annex forget --drop-dead --force-forget git-annex (Recording state in git...)-ok-(Recording state in git...)-anarcat@marcos:video$ git annex info-repository mode: indirect-trusted repositories: (merging synced/git-annex backup/git-annex backup/synced/git-annex portable/git-annex portable/synced/git-annex steph/git-annex video/synced/git-annex into git-annex...)-(Recording state in git...)-(Recording state in git...)-1- 5adbab10-0f7a-467b-b0d8-5d7af2223103 -- here (backup (anarcat@marcos:/srv/video))-semitrusted repositories: 5- 00000000-0000-0000-0000-000000000001 -- web- 2d594c02-9164-4ebd-ac47-f8cdc9c16e2f -- rachel@topcrapn:~/Vidéos/anarcat- 2f90b958-95e4-44e3-8d3b-e780b63936d1 -- portable (300GB drive labeled VHS)- 96365189-a0b9-4c33-865f-b573d98572dc -- trouneslo@ifuckinglovecumputers:~/video-anarcat- ae3d62e6-49be-4340-ba25-c8736a1637c4 -- anarcat@angela:~/video-untrusted repositories: 0-transfers in progress: none-available local disk space: 14.25 gigabytes (+10 gigabytes reserved)-local annex keys: 4110-local annex size: 991.85 gigabytes (+ 2 unknown size)-annexed files in working tree: 4108-size of annexed files in working tree: 1.01 terabytes (+ 2 unknown size)-bloom filter size: 16 mebibytes (0.8% full)-backend usage:- SHA256E: 8214- URL: 4-# End of transcript or log.-"""]]--well that's interesting - the above paste is broken by ikiwiki as well... in the text area where i paste it, "rachel@topcrapn:~/Vidéos/anarcat" shows up as "rachel@topcrapn:~/Vidéos/anarcat" but when i preview, the character gets corrupted. and obviously, the second instance then gets *double* corrupted - wheepee. the original paste has "rachel@topcrapn:~/Vidéos/anarcat". --[[anarcat]]--> [[fixed|done]]; writes to git-annex branch now preserve the original-> encoding, and I've tested that lots of interesting unicode is preserved-> across a forget run. --[[Joey]]
− doc/bugs/fsck_giving_false_checking_information.mdwn
@@ -1,29 +0,0 @@-### Please describe the problem.-When a repository has no object of a given file and git annex fsck is run it still shows "fsck file ok", which is missleading in the sense, that it gives the impression that it checked the file is alright/checksummed.--As a result of this it seems that incremental fscks are not incremental with non checkable objects. On each run (after the first one) with "git annex fsck --incremental --more --schedule-limit 1d" all files without objects are checked even so it should wait another day till it checks again.--Probably best to say checksum couldn't be checked on x files (only give that as quiet output, not every check)--Another thing, which came up as a problem was, that checksum fsck would not be wanted to run as often as numcopie checks.-When the incremental fsck is used to check for bad files "git annex fsck --incremental --more --limit 1m" after a fast numcopies check "git annex fsck --incremental --more --limit 1m fast" it messes up the actual bad files check.-As both are currently using the same incremental "lock"-file they are colliding.--### What steps will reproduce the problem?----### What version of git-annex are you using? On what operating system?-git-annex version: 5.20140210-gd99db49-Linux (Ubuntu 13.10)--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/fsck_of_special_remotes_incorrectly_reports_ok.mdwn
@@ -1,36 +0,0 @@-### Please describe the problem.--I am trying to verify that my files are where they should after having updated my remotes to use chunking. I do get the following two error messages, but then git-annex reports that everything is Ok. I find it slightly scary and thus wonder if the fsck command in all cases do a conservative enough check. All other files (except two other ones where it noticed that they where in fact not on the remote do not report any errors.)--When running the fsck command for all files I got the following slightly worring message for one file.-- fsck Ekonomi/2014-06-02_Elavräkning.pdf (checking box.com5...) (checking box.com5...) (checking box.com5...) - 79% 23.2KB/s 26s- Error_Packet "partial packet: expecting 16448 bytes, got: 891"- ok- -Reading the message it seems that the file was not correctly downloaded, but still deemed Ok enough by git-annex. --Further while writing this report I get the following message from a remote using the external protocol:- - fsck Deklaration/archive/2012/DE/Steuerklärung Formular.pdf - 93% 221.9KB/s 12s- /Users/carlmod/Annex/.git/annex/tmp/GPGHMACSHA1--0e7e4951e2650ac636bc3fc17c673f1f2dfb3071: openBinaryFile: does not exist (No such file or directory)- ok --Source code for this remote is not yet published online, as i would want to build it slightly more reliable before releasing it. It however passes the remote test suite without any problem. -### What steps will reproduce the problem?--Not really sure, but rerunning the commands show that the openBinaryFile happens here for this particular file. --### What version of git-annex are you using? On what operating system?-- $ git annex version- git-annex version: 5.20141125- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external--built using Homebrew (i.e. in a cabal sandbox) on OS X Yosemite 10.10.1--> [[fixed|done]] as described in comment --[[Joey]]
− doc/bugs/fsck_reports_unsolvable_problem.mdwn
@@ -1,27 +0,0 @@-### Please describe the problem.--On my bare git-annex repo, `git annex fsck -q` reports:-- ** No known copies exist of SHA256E-s1212237--d2edd369f6a9005e23f022c7d797b166c66b90defc561329dbafab9a0fc0c7fc.jpg--`git log -SSA256E...` returns nothing. `git annex repair` and `git annex forget` do not fix the problem.--This means that running `fsck` from cron or a script will now always fail. There should be a way to recover from this situation.--### What steps will reproduce the problem?--According to IRC this "can happen if you annexed a file and then deleted it without ever committing to git".---### What version of git-annex are you using? On what operating system?--5.20140717 from Ubuntu utopic--[[!tag confirmed]]--> [[done]] -- fsck --all or in a bare repo will skip over keys that have-> been marked dead, which can be done with `git annex dead --key`.-> -> Might go further later, and make `git annex drop --force`, when removing-> the last copy of a key, mark it as dead. But maybe that is too DWIM.-> --[[Joey]]
− doc/bugs/getEffectiveUserID_not_supported_on_Windows.mdwn
@@ -1,28 +0,0 @@-### Please describe the problem.-After a clean install of the latest git-annex for Windows (https://downloads.kitenet.net/git-annex/windows/current/), most git-annex commands fail with the following error message:- - git-annex: System.PosixCompat.User.getEffectiveUserID: not supported: illegal operation--### What steps will reproduce the problem?-- git init- git annex init--Running for example `git annex version` or `git annex info` gives the same error message.---### What version of git-annex are you using? On what operating system?--git-annex version should be 5.20141024, but the installer does not specify version and `git annex info` does not work, so it is hard to tell for sure.-Running Windows 7, x64. Also tried running as administrator and in a cmd.exe shell as well as Powershell.---### Please provide any additional information below.--The `git annex test` command does work, and all 84 tests passes.--> [[fixed|done]]; I was able to reproduce this bug, and it was crashing-> trying to look up the geckos username. I don't understand why this worked-> before; some change exposed this code path on Windows. In any case, I've-> fixed the crash, and I will be updating the windows builds with this bug-> fix. --[[Joey]]
− doc/bugs/get_from_glacier_fails_too_early.mdwn
@@ -1,72 +0,0 @@-### Please describe the problem.--In order to test the integrity of my file backup on glacier,-I initiated get of a single file from glacier via:-- $ git annex get --from=glacier localdir/myfile.jpg--A check with-- $ glacier job list--confirmed, that a job was in progress.--Then after a couple hours wait the job is complete-[[!format sh """-[ben@voyagerS9 annex]$ glacier job list-i/d 2014-10-16T20:25:23.068Z glacier-bbbbbbbb-bbbb-bbbb-bbbb-MYVAULTbbbbb-a/d 2014-10-16T20:30:13.086Z glacier-bbbbbbbb-bbbb-bbbb-bbbb-MYVAULTbbbbb GPGHMACSHA1--cccccccccccc-"""]]--So, again I enter the get command:-[[!format sh """-[ben@voyagerS9 annex]$ git annex get --from=glacier localdir/myfile.jpg-get localdir/myfile.jpg (from glacier...) (gpg) -failed -git-annex: get: 1 failed-[ben@voyagerS9 annex]$-"""]]--The command immediately fails after entering the gpg passphrase, releasing the shell.-But in the background the glacier-cli is still running, downloads the file from Amazon-and then dumps the gpg encrypted file content into the terminal.-(4 MB of binary character garbage on the screen)--git annex should not fail so early and wait until the data is coming in order to pipe it into gpg.--### What version of git-annex are you using? On what operating system?-Arch Linux git-annex-bin package.-[[!format sh """-[ben@voyagerS9 annex]$ git annex version-git-annex version: 5.20140920-gb0c4300-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4-[ben@voyagerS9 annex]$ gpg --version-gpg (GnuPG) 2.0.26-libgcrypt 1.6.2-"""]]--### Possibly related information about the annexed repo and its history-The file was uploaded sometime earlier this year with a different version of git annex: Older source package for Arch Linux with Haskell packages from the Arch haskell repos.--The special glacier remote was initially set up with an old gpg key (hybrid encryption), which is still in my keychain but has expired. I exchanged the key with a new one by-- $ git annex enableremote glacier keyid+=NEWKEY keyid-=OLDKEY--I don't know why, but my AWS credentials seem no longer be embedded into the git repo. glacier upload (copy --to=) only succeeds with explicitly set AWS credential environment variables--I tried-- $ git annex enableremote embedcreds=yes--with no noticeable change.-I had changed the AWS credentials a while ago.--Tomorrow I will try to download a just recently uploaded file with the current credentials and keys.--> [[done]]; I am not confident that I understand this failure on retrival,-> and that I've fixed it. --[[Joey]]
− doc/bugs/git-annex-shell_doesn__39__t_work_as_expected.mdwn
@@ -1,121 +0,0 @@-### Please describe the problem.--[[git-annex-shell]] seems to be designed to be put as some users' shells so that git-annex can be safely used from `sshd`.--### What steps will reproduce the problem?--<pre>-root@cs:/srv/gitannex-test# grep gitannex /etc/passwd-gitannex:x:999:999:Git annex sandbox:/var/lib/gitannex:/usr/local/bin/git-annex-shell-</pre>--`/usr/local/bin/git-annex-shell` is a symlink to the standalone git-annex installed in `/opt`.--<pre>-anarcat@desktop008:isuma-annex-test$ git remote -v-origin gitannex@example.com:/srv/gitannex-test (fetch)-anarcat@desktop008:isuma-annex-test$ git annex sync-muxserver_listen: link mux listener .git/annex/ssh/gitannex@example.com.bFOddoa2pVKZGHQ2 => .git/annex/ssh/gitannex@example.com: Operation not permitted-- Remote origin does not have git-annex installed; setting annex-ignore-- This could be a problem with the git-annex installation on the remote. Please make sure that git-annex-shell is available in PATH when you ssh into the remote. Once you have fixed the git-annex installation, run: git config remote.origin.annex-ignore false-commit ok-pull origin-git-annex: unknown command gitannex@cs.isuma.tv--Usage: git-annex command [option ...]--Commonly used commands:--add [PATH ...] add files to annex-[...]--Testing commands:--fuzztest generates fuzz test files-test run built-in test suite-testremote REMOTE test transfers to/from a remote--fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-failed-push origin-git-annex: unknown command gitannex@cs.isuma.tv--Usage: git-annex command [option ...]--Commonly used commands:--add [PATH ...] add files to annex-[...]-Testing commands:--fuzztest generates fuzz test files-test run built-in test suite-testremote REMOTE test transfers to/from a remote--fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-- Pushing to origin failed.-- (non-fast-forward problems can be solved by setting receive.denyNonFastforwards to false in the remote's git config)-failed-git-annex: sync: 2 failed-</pre>--Note that moving the repository out of NFS doesn't fix the problem, i still get `git-annex: unknown command gitannex@cs.isuma.tv`.--How am i supposed to use `git-annex-shell`? -- [[anarcat]]--### What version of git-annex are you using? On what operating system?--client side: 5.20141125--server side: 5.20150406-g2a9fbec--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--Update: well that's confusing. it turns out the `unknown command` bit still happens when i use `/bin/sh` as a shell for the gitannex user. i really don't understand what's going on here... :/--After running with `--debug`, i noticed this was happening on the client with any git-annex remote, including one running the same version (`5.20141125`), and it happens after `git-annex` calls `git push` or `git fetch`:--<pre>-anarcat@desktop008:isuma-annex-test$ git annex --debug sync test3-[2015-04-06 16:52:36 EDT] read: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","show-ref","git-annex"]-[2015-04-06 16:52:36 EDT] read: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","show-ref","--hash","refs/heads/git-annex"]-[2015-04-06 16:52:36 EDT] read: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","log","refs/heads/git-annex..41069ddc0e22abc7ef0dca2aa31b20af9cee6116","-n1","--pretty=%H"]-[2015-04-06 16:52:36 EDT] read: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","log","refs/heads/git-annex..0ad850f59bdbe2448fa75e415ebfa5cf19cbebcd","-n1","--pretty=%H"]-[2015-04-06 16:52:36 EDT] read: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","log","refs/heads/git-annex..3476b0db2960fa9c9b00350e692e23dd30cd18c7","-n1","--pretty=%H"]-[2015-04-06 16:52:36 EDT] read: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","log","refs/heads/git-annex..d5cd95f472e00c51a2d35dedabf85f47cf3ce7fa","-n1","--pretty=%H"]-[2015-04-06 16:52:36 EDT] read: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","log","refs/heads/git-annex..778ba43445db7deb1bc6543e07145c13d3c3e5e2","-n1","--pretty=%H"]-[2015-04-06 16:52:36 EDT] chat: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","cat-file","--batch"]-[2015-04-06 16:52:36 EDT] read: git ["config","--null","--list"]-commit [2015-04-06 16:52:36 EDT] read: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","commit","-a","-m","git-annex automatic sync"]-ok-[2015-04-06 16:52:36 EDT] read: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","symbolic-ref","HEAD"]-[2015-04-06 16:52:36 EDT] read: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","show-ref","refs/heads/master"]-[2015-04-06 16:52:36 EDT] call: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","show-ref","--verify","-q","refs/heads/synced/master"]-[2015-04-06 16:52:36 EDT] read: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","log","refs/heads/master..refs/heads/synced/master","-n1","--pretty=%H"]-pull test3-[2015-04-06 16:52:36 EDT] read: ssh ["-O","stop","-S","anarc.at","-o","ControlMaster=auto","-o","ControlPersist=yes","localhost"]-[2015-04-06 16:52:36 EDT] call: git ["--git-dir=/srv/scratch/anarcat/isuma-annex-test/.git","--work-tree=/srv/scratch/anarcat/isuma-annex-test","fetch","test3"]-git-annex: unknown command anarc.at-</pre>--Turning off `sshcaching` seems to work around the issue. Note that this happens even if the git repo is moved to a non-NFS filesystem, so I have the feeling it's not directly related to [this bugfix](http://source.git-annex.branchable.com/?p=source.git;a=commit;h=bd110516c09d318b298804efc4ee888270f3d601).--> [[done]]
− doc/bugs/git-annex.app_doesn__39__t_seem_to_use_the_bundled_git.mdwn
@@ -1,50 +0,0 @@-### Please describe the problem.--When trying to create a repository—i.e., running it for the first time—I get this error message:--> user error (git ["--git-dir=(path)/.git","--work-tree=(path)","commit-tree","4b825dc642cb6eb9a060e54bf8d69288fbee4904","--no-gpg-sign"] exited 128)--It _seems_ that it's because the bundled `git` executable isn't used, and instead `/usr/bin/git` is; and it's too old to support the `--no-gpg-sign` flag.---### What steps will reproduce the problem?--Run `git-annex.app` for the first time and give it a path.---### What version of git-annex are you using? On what operating system?-- $ /Applications/Git-Annex.app/Contents/MacOS/git-annex version- git-annex version: 5.20140707-gf0c48e8- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external---### Please provide any additional information below.--`…/.git/annex/daemon.log` doesn't exist-- $ tree -a- .- ├── .DS_Store- └── .git- ├── HEAD- ├── annex- │ ├── index- │ ├── misctmp- │ ├── sentinal- │ └── sentinal.cache- ├── config- ├── hooks- │ └── pre-commit- ├── objects- │ ├── 4b- │ │ └── 825dc642cb6eb9a060e54bf8d69288fbee4904- │ ├── info- │ └── pack- └── refs- ├── heads- └── tags--> [[fixed|done]] --[[Joey]]
− doc/bugs/git-annex_annex_repo_not_found.mdwn
@@ -1,23 +0,0 @@-### Please describe the problem.--The git-annex annex repo at <https://downloads.kitenet.net/.git/> is not available. This is the address mentioned at <http://git-annex.branchable.com/publicrepos/>.--### What steps will reproduce the problem?-- $ git clone https://downloads.kitenet.net/.git/- Cloning into 'downloads.kitenet.net'...- fatal: repository 'https://downloads.kitenet.net/.git/' not found--### Please provide any additional information below.--Have tried various combinations of the URL, but nothing works. It was like this a week ago too, but I didn't report it because I thought it was a temporary error due to some server reconfiguration or something.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/git-annex_assistant_not_working_with_nested_git_repos.mdwn
@@ -1,22 +0,0 @@-### Please describe the problem.-When using git-annex in indirect mode (or even in direct mode I think, although this is not to be very reliable in this context), git repos inside a git-annex are ignored. This is due to the fact that git is ignoring nested .git folders, and then, we can safely work with git-annex and nested git repos without conflicts.--Using a tool such as my-repos, one can then sync its entire home directory, containing folders and git repos, syncing the normal folders thanks to git-annex, and storing the git repos metadata for easy cloning using my-repos.--However, when using the git-annex assistant (or the daemon to have automatic background sync), this is no longer the case.--After discussion on IRC, we thought this could be due to the fact that files are copied sequentially and that the .git folder is not yet present when it starts copying. However, disabling the daemon, copying the files and reenabling it then leads to the same behaviour.--Thanks!---### What version of git-annex are you using? On what operating system?--git-annex-bin on AUR.--> Many people have reported this as a bug, see-> <http://git-annex.branchable.com/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/>-> -> But git simply does not allow-> storing .git in .git. With good reason IMHO. So this is a duplicate-> bug report, and I can't fix it. [[done]]. --[[Joey]]
− doc/bugs/git-annex_auto_upgrade_is_redundant.mdwn
@@ -1,34 +0,0 @@-### Please describe the problem.--Hi,--On OSX the web-app keeps notifying me of an upgrade, I choose to run it but nothing seems to happen.--The debug logs show that the upgrade is skipped as it's redundant.--### What steps will reproduce the problem?--Have upgrades set to notify.--### What version of git-annex are you using? On what operating system?--Current.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-[2014-04-25 08:26:30 BST] Upgrader: An upgrade of git-annex is available. (version 5.20140421)-[2014-04-25 08:27:02 BST] main: Skipping redundant upgrade--# End of transcript or log.-"""]]--[[!meta title="upgrade loop when info file contains newer version than distributed version of git-annex"]]--[[!tag confirmed]]--> [[fixed|done]]; the release process now uses versions from build-version-> files that are created by the autobuilders, so should always be accurate.-> --[[Joey]]
− doc/bugs/git-annex_broken_on_Android_4.3.mdwn
@@ -1,7 +0,0 @@-As per [[install/Android/#comment-e218073735d67691a2c3f66cc53ca6ac]] and [[install/Android/#comment-29bd13ab9cb830ffcd7850b84fb111c8]] :--git-annex is broken on Android 4.3; both on Nexus 4 and Nexus 7.--> [[Fixed|done]]. A 4.3 build of the apk is now available. -> (Unfortunately the fix breaks support for older versions of Android, -> so two versions of the apk have to be built now.) --[[Joey]]
doc/bugs/git-annex_confuses_Git_with_nested_submodules.mdwn view
@@ -35,3 +35,4 @@ BTW: What a nice idea to ask for something like this in a bug report. +[[!meta author=mih]]
− doc/bugs/git-annex_fails_to_initialize_under_Windows_with_cygwin.mdwn
@@ -1,40 +0,0 @@-### Please describe the problem.---### What steps will reproduce the problem?--$ git init -Initialized empty Git repository in /cygdrive/c/Temp/.git/ - -$ git-annex init -init - Detected a filesystem without fifo support. - - Disabling ssh connection caching. - - Detected a crippled filesystem. - - Disabling core.symlinks. - - Enabling direct mode. -fatal: You are on a branch yet to be born -git-annex.exe: git [Param "checkout",Param "-q",Param "-B",Param "annex/direct/master"] failed - -$ git checkout -B annex/direct/master -fatal: You are on a branch yet to be born --### What version of git-annex are you using? On what operating system?--Running under cygwin bash--$ git --version-git version 1.7.9--$ git-annex version-git-annex version: 5.20140421-g78d6aa1-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external--> [[fixed|done]]; documented the needed version of git on the windows-> install page. --[[Joey]]
− doc/bugs/git-annex_on_NAS_eats_all_memory.mdwn
@@ -1,39 +0,0 @@-### Please describe the problem.--"Git annex sync" stopped working when syncing my NAS to my Laptop, it just eats up all the memory on the NAS without any result. When running the debug mode I found out that it stops working when it tries to run "git-annex-shell 'configlist' 'mygitannexfolder'".-That's the first command to be run on the NAS over ssh.--I traced the problem down and the following command also won't work without any output just eating up all memory:-ssh myuser@mynas "git-annex-shell 'configlist' 'mygitannexfolder'"--But when I log in to the NAS and run the git-annex-shell script inside the .ssh folder with exactly the same command, it works perfectly and returns the uuid and so on.--### What steps will reproduce the problem?-Execute on PC (doesn't work, just uses all memory and crashes): ssh myuser@mynas "git-annex-shell 'configlist' 'mygitannexfolder'"-Execute on NAS (should work): ./.ssh/git-annex-shell "git-annex-shell 'configlist' 'mygitannexfolder'"---### What version of git-annex are you using? On what operating system?-git-annex version: 5.20140412ubuntu1-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4--and the current bundle on the NAS--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> Went ahead with setting LOCPATH=/dev/null in runshell, so it won't-> run into whatever problem with the locales is causing it to hit this GHC-> bug. [[done]] (I hope) --[[Joey]]
− doc/bugs/git-annex_opens_too_many_files.mdwn
@@ -1,42 +0,0 @@-[[!meta title="network-muticast FD leak fix not deployed to Linux autobuilds yet"]]--### Please describe the problem.-After running git-annex some minutes, the websites is not responsible any more and it even crashes eventually.--### What steps will reproduce the problem?-Start the assistant.--### What version of git-annex are you using? On what operating system?-it-annex version: 4.20130802-g1452ac3-build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-[2013-08-06 13:32:51 CEST] main: starting assistant version 4.20130802-g1452ac3 - -Already up-to-date. -(scanning...) [2013-08-06 13:32:51 CEST] Watcher: Performing startup scan - -Already up-to-date. -(started...) -git-annex: accept: resource exhausted (Too many open files) -[2013-08-06 19:50:37 CEST] read: git ["--git-dir=/home/christian/git-annex/.git","--work-tree=/home/+christian/git-annex","symbolic-ref","HEAD"] -git-annex: runInteractiveProcess: pipe: Too many open files -[2013-08-06 19ND:ea5te1Wm:ao1tn1cS htCeaErtSFuTas]l lcNbreaatcsWkha etcdcr:ha es/rhh:eo dmd:ee /tgc+eihctrt:ie sdct rineaeantt/wegoPirrtko- cacenosnnsen:xe /cr.tegisiootnu/ -racnen[ e2ex0x/1h:3a -uo0sp8te-en0dT6 e (m1Tp9oF:oi5 l1me:a:1n 1yr eCosEpoSeuTnr] c feri eleaexdsh:+)a -ugsitte d[ "(-T-ogoi tm-adniyr =o/pheonm ef/iclhersi)s -tian/git-annex/.git","--work-tree=/home/christian/git-annex","symbolic-ref","HEAD"] -git-annex: runInteractiveProcess: pipe: Too many open files -git-annex: git: createProcess: resource exhausted (Too many open files) -[2013-08-06 19:51:11 CEST] NetWatcherFallback: warning NetWatcherFallback crashed: git: createProces+s: resource exhausted (Too many open files) -[2013-08-06 19:51:11 CEST] DaemonStatus: warning DaemonStatus crashed: /home/christian/git-annex/.gi+t/annex/: openTempFile: resource exhausted (Too many open files) --(system was asleep from 14:00 until 19:50)--# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/git-annex_remotedeamon.mdwn
@@ -1,27 +0,0 @@-### Please describe the problem.--git-annex is back on the radar now that the jabber requirement has been dropped! :-)--But, it seems as though when I create a remote repo via the webapp it always makes it a bare git repo. Even when I specify the "client usage grouping".--If I manually create two repos on ssh enabled servers, manually link them, and fire up the assistant they are awesomely kept in sync (with no bare repo in sight).--### What steps will reproduce the problem?--Use the webapp to try to create a client usage remote repo.--### What version of git-annex are you using? On what operating system?--Latest as of post.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[notabug|done]] --[[Joey]]
− doc/bugs/git-annex_sync_does_not_push.mdwn
@@ -1,52 +0,0 @@-### Please describe the problem.--From the description of `sync` in the man page I assume it should be able to push all the branches it needs:--> The sync process involves first committing all local changes, then fetching and merging the `synced/master` and the `git-annex` branch from the remote repositories, and finally pushing the changes back to those branches on the remote repositories. You can use standard git commands to do each of those steps by hand, or if you don't want to worry about the details, you can use sync.--However this does not seem to be the case if one starts from an empty repository.--### What steps will reproduce the problem?--The following script (from <https://gist.github.com/gioele/d4e0905a3570f097fb0b>) will reproduce this problem:-- #!/bin/sh -x- - set -e ; set -u- export LC_ALL=C- - d=$(pwd)-- # cleanup- chmod a+rwx -R REPO pc1 || true- rm -Rf REPO pc1-- # create central git repo- mkdir -p REPO/Docs.git- cd REPO/Docs.git- git init --bare- cd $d-- # populate repo in PC1- mkdir -p pc1/Docs- cd pc1/Docs- echo AAA > fileA- echo BBB > fileB-- git init- git remote add origin $d/REPO/Docs.git- git fetch --all-- git annex init "pc1"- git annex add .- git annex sync-- find $d/REPO/Docs.git/refs-- # there should be some branches inside refs--### What version of git-annex are you using? On what operating system?--5.20140412ubuntu1 from Ubuntu 14.04.--> Documentation fixed, so provisionally [[done]] --[[Joey]]
− doc/bugs/git-annex_unused_--from_s3_doesn__39__t.mdwn
@@ -1,31 +0,0 @@-### Please describe the problem.--The command `git annex unused --from mys3remote` shows no unused data, when I'm expecting at least one old version of a file in the current directory.--### What steps will reproduce the problem?--- Create a file, `git annex add` the file, sync with remotes and copy to an amazon S3 special remote-- Run `git annex unlock` on the file, modify it, `git annex add` the file, sync and copy to S3-- Now if you run `git annex unused` you should see the old version of the file in the local repo-- But `git annex unused --from mys3remote` shows nothing-- And I know that the old version is on S3 (at least according to the logs) because `git annex whereis --unused` shows that the file is both [here] and [mys3remote]--I also noticed that the `git annex whereis --unused` command would show nothing if it was run directly after `git annex unused --from mys3remote`, but it would correctly show the locations when run directly after `git annex unused`.--### What version of git-annex are you using? On what operating system?-- git-annex version: 5.20141105-g8b19598- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 0 1 2 4--arch linux x86_64--### Please provide any additional information below.--The S3 remote is encrypted with the default "hybrid" method--> [[fixed|done]] --[[Joey]]
− doc/bugs/git-annex_webapp_command_not_found.mdwn
@@ -1,25 +0,0 @@-###What steps will reproduce the problem?-- greg@x220:~/Music$ git-annex version- git-annex version: 3.20121017-- greg@x220:~/Documents$ git-annex watch- greg@x220:~/Documents$ git-annex: Daemon is already running.-- greg@x220:~/Documents$ git-annex assistant- greg@x220:~/Documents$ git-annex: Daemon is already running.-- greg@x220:~/Documents$ git-annex webapp- git-annex: unknown command webapp--This is on an Ubuntu (12.10) machine, using git-annex from ubuntu+1 (13.04), which is just an autosync from sid:--https://launchpad.net/ubuntu/+source/git-annex/3.20121017--###What is the expected output? What do you see instead?-I expect my browser to open the webapp.---(Also, it is odd how the output of "Daemon is already running" appears after my prompt is given back to me)--> [[closing|done]]; forwarded upstream --[[Joey]]
− doc/bugs/git.kitenet.net__47__downloads_has_wrong_git-annex_branch.mdwn
@@ -1,58 +0,0 @@-### Please describe the problem.--This is coming from [[main repo not available on downloads.kitenet.net]], probably was the original issue, but since I already create a duplicate there, I won't assume anything (sorry about that!).--### What steps will reproduce the problem?--I am not sure. I know that I had an external drive with a clone of *some* repo related to `downloads.kitenet.net`. Doing a `git annex get` wouldn't work:--<pre>-anarcat@marcos:current$ cd /media/anarcat/VHS/downloads.kitenet.net/git-annex/linux/current/-anarcat@marcos:current$ git annex get git-annex-standalone-amd64.tar.gz-get git-annex-standalone-amd64.tar.gz (not available)- Try making some of these repositories available:- 840760dc-08f0-11e2-8c61-576b7e66acfd -- main repo- d7fa24ad-d104-4064-ad10-1078a4436e72 -- joey@elephant:~/lib/downloads-failed-git-annex: get: 1 failed-anarcat@marcos:current$ git remote -v-origin git://git.kitenet.net/downloads.git (fetch)-origin git://git.kitenet.net/downloads.git (push)-</pre>--it turns out i somehow managed to checkout from `git://git.kitenet.net/downloads.git`. I don't know where I got this URL from, may it was back when I created that other bug report and the git URL wasn't explicitely mentionned on http://downloads.kitenet.net/ It turns out that there's a `git-annex` branch there that diverged from the "real" one, and is lacking tracking information. changing the remote here fixed the problem:--<pre>-anarcat@marcos:current$ git remote set-url origin http://downloads.kitenet.net/.git/-anarcat@marcos:current$ git remote update-Récupération de origin-Depuis http://downloads.kitenet.net/- + e9febdc...1a80292 git-annex -> origin/git-annex (mise à jour forcée)-anarcat@marcos:current$ git annex get git-annex-standalone-amd64.tar.gz-get git-annex-standalone-amd64.tar.gz (from origin...) --2015-02-26 18:40:47-- http://downloads.kitenet.net/.git//annex/objects/Pm/8Z/SHA256E-s45589010--f82e2f600763b0f25a45a96ddf7ed68f26c67122e22cf8833d4c2473475bbce2.tar.gz/SHA256E-s45589010--f82e2f600763b0f25a45a96ddf7ed68f26c67122e22cf8833d4c2473475bbce2.tar.gz-Résolution de downloads.kitenet.net (downloads.kitenet.net)… 66.228.36.95, 2600:3c03::f03c:91ff:fe73:b0d2-Connexion à downloads.kitenet.net (downloads.kitenet.net)|66.228.36.95|:80… connecté.-requête HTTP transmise, en attente de la réponse… 200 OK-[...]-</pre>--### What version of git-annex are you using? On what operating system?--5.20141125 on debian jessie.--Sorry for the noise in that other bug report! I really thought it was the same issue .... --[[anarcat]]--> The repository has a synced/git-annex that is newer, so it will be-> available if using git-annex sync.-> -> It looks like git-annex sync has not pushed git-annex:git-annex since-> [[!commit 6cdac3a003b6850fd96a60d94320d084d8651096]]. I think that commit might-> have removed that accidentially; I can't tell for sure. -> -> Adding git-annex:git-annex-> to the direct push would avoid this problem. Long as that push is not-> forced, there's no risk of overwriting other changes to the git-annex-> branch. (Even if it does get overwritten, there's no data loss; things-> will get into sync eventually.)-> -> So, I've added back the git-annex:git-annex push. [[done]] --[[Joey]]
− doc/bugs/git_annex_add_adds_unlocked_files.mdwn
@@ -1,21 +0,0 @@-### Please describe the problem.--git annex add . should ignore unlocked files--### What steps will reproduce the problem?-SEE NEXT COMMENT--### What version of git-annex are you using? On what operating system?---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[done]] --[[Joey]]
− doc/bugs/git_annex_add_ignores_some_files__47__directories.mdwn
@@ -1,23 +0,0 @@-### Please describe the problem.-After I run "git annex add" some folders (not empty) in current directory remain unannexed and git shows them as untracked. Even git annex add "problemDirName" does nothing. git annex add --force doesn't help either. --### What steps will reproduce the problem?-No idea :( sometimes it happens and sometimes not.--### What version of git-annex are you using? On what operating system?-5.20141013 on Debian testing--### Please provide any additional information below.--git add works fine. It correctly stages the files.--This is regular repository (not direct). --EDIT:-It seems that all the problem directories have either .git directory in them (I understand that git cannot manage .git but what about all the other files in there?) or are full of symlinks (git annex cannot manage symlinks?)--> You should `git add` symlinks. They are not large files, so -> are out of scope for git-annex.-> -> Git repositories cannot contain other git repositories. [[done]]-> --[[Joey]]
− doc/bugs/git_annex_copy_--fast_does_not_copy_files.mdwn
@@ -1,22 +0,0 @@-Workflow:-- % git annex add- # list new files- % git commit -a -m "foo"- # commit summary- % git annex copy . --to remote --fast- # all files listed with "ok"- % git annex copy . --to remote- # again, lists all files, _but the new ones are actually copied, this time_.--This happens no matter if I-- % git push--before copy or not.--PS: Arguably, a copy should push automagically.--> Whups, not supposed to be that fast! [[Fixed|done]], and-> you should run `git annex fsck --fast` on the repo you ran the-> copy in. --[[Joey]]
− doc/bugs/git_annex_costs_not_working_as_expected_in_the_assistant.mdwn
@@ -1,140 +0,0 @@-### Please describe the problem.--Hi,--I have a number of repos that I created both by hand and via the web-app. Some manual, some client and one backup groupings.--When creating by hand I manually set the annex-cost to 100 (but I notice the webapp sets local costs to 175 - not 100 as per the man page).--(I'm assuming the creation by hand is still just to `git add remote` on both sides).--When I run `git-annex sync --content` I do seem to get the local remote (the cheapest cost) that I want.--When I use the assistant I get every odd behaviour. It will quite happily choose from any of the available repos with no descernible pattern.--Even more strangely sometimes it queues all the transfers to use the local connection but then at the actual transfer it switches to use the public connection (I have two remotes for one repo: when on the local network and when on the internet). This is reflected in the webapps UI.--For the snippet of logs below I see the files queued as the remote "Dancingfrog" (on the internnal network) then for the transfer the web page switches to "Home" (the public network). I think the data is actually transferred over the public network as it's much slower than compared to explicit repo transfers from the cli.--<pre>-[2014-04-27 05:11:47 BST] TransferWatcher: transfer starting: Download UUID "c3cec307-367b-4373-8cb9-a3da67cee745" Dizzee Rascal/Tounge N' Cheek/03 Dance Wiv Me [Ft. Calvin Harris & Chrome].mp3 Nothing-[2014-04-27 05:11:47 BST] TransferWatcher: transfer starting: Download UUID "c3cec307-367b-4373-8cb9-a3da67cee745" Dizzee Rascal/Tounge N' Cheek/03 Dance Wiv Me [Ft. Calvin Harris & Chrome].mp3 Nothing--SHA256E-s6759929--a822e83c3448716e793fb9d1d1b1523c2492c84ba07f5c093899810fbdfe5621.mp3-- 0 0% 0.00kB/s 0:00:00 - 163,840 2% 159.20kB/s 0:00:41 - 360,448 5% 159.56kB/s 0:00:40 - 524,288 7% 155.01kB/s 0:00:40 - 688,128 10% 154.59kB/s 0:00:39 - 851,968 12% 153.18kB/s 0:00:38 [2014-04-27 05:11:54 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","ls-tree","--full-tree","-z","--","refs/heads/git-annex","uuid.log","remote.log","trust.log","group.log","numcopies.log","schedule.log","preferred-content.log","required-content.log","group-preferred-content.log"]-- 1,015,808 15% 149.92kB/s 0:00:38 To gcrypt::ssh://rss/home/matt/mnt/isilon/rss/zzalsmf3/git-annex/mus- 617edaf..f016a03 git-annex -> synced/git-annex-[2014-04-27 05:11:56 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","git-annex"]-[2014-04-27 05:11:56 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","--hash","refs/heads/git-annex"]-[2014-04-27 05:11:56 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","push","isilon","master"]-[2014-04-27 05:11:56 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..f016a03fc92aebba14b239cc3647478b1fb9f78f","--oneline","-n1"]-[2014-04-27 05:11:56 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..7339a1fdd007d7a528b7e2eb82c2aeedca511920","--oneline","-n1"]-[2014-04-27 05:11:56 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..00f5e110ca77b9b5103e1b568ea6aa9d9d9dbb81","--oneline","-n1"]-[2014-04-27 05:11:56 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..ab90c337053a61111060540d2f60ce20b44cc2d9","--oneline","-n1"]-[2014-04-27 05:11:56 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..88d99a7ef2d37d1a6180e5dd66a4559927a58eaf","--oneline","-n1"]-- 1,146,880 16% 98.64kB/s 0:00:56 - 1,507,328 22% 129.55kB/s 0:00:40 - 1,671,168 24% 126.84kB/s 0:00:40 [2014-04-27 05:12:00 BST] Pusher: Syncing with dancingfrog, rss, isilon -[2014-04-27 05:12:00 BST] chat: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","hash-object","-w","--stdin-paths","--no-filters"]-[2014-04-27 05:12:00 BST] feed: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","update-index","-z","--index-info"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","--hash","refs/heads/git-annex"]-(Recording state in git...)-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","write-tree"]-[2014-04-27 05:12:00 BST] chat: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","commit-tree","86e5513adfc0d1f64cabd3ca3902738d45d809ad","-p","refs/heads/git-annex"]-[2014-04-27 05:12:00 BST] call: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","update-ref","refs/heads/git-annex","8808dc8effc3572ae1421461ff44574e900917bf"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","symbolic-ref","HEAD"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","refs/heads/master"]-[2014-04-27 05:12:00 BST] Pusher: pushing to [Remote { name ="dancingfrog" },Remote { name ="rss" },Remote { name ="isilon" }]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","git-annex"]-[2014-04-27 05:12:00 BST] call: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","branch","-f","synced/master"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","--hash","refs/heads/git-annex"]-[2014-04-27 05:12:00 BST] call: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","push","dancingfrog","+git-annex:synced/git-annex","master:synced/master"]-[2014-04-27 05:12:00 BST] call: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","push","rss","+git-annex:synced/git-annex","master:synced/master"]-[2014-04-27 05:12:00 BST] call: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","push","isilon","+git-annex:synced/git-annex","master:synced/master"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..8808dc8effc3572ae1421461ff44574e900917bf","--oneline","-n1"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..7339a1fdd007d7a528b7e2eb82c2aeedca511920","--oneline","-n1"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..00f5e110gcrypt: Development version -- Repository format MAY CHANGE-ca77b9b5103e1b568ea6aa9d9d9dbb81","--oneline","-n1"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..f016a03fc92aebba14b239cc3647478b1fb9f78f","--oneline","-n1"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..ab90c337053a61111060540d2f60ce20b44cc2d9","--oneline","-n1"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..88d99a7ef2d37d1a6180e5dd66a4559927a58eaf","--oneline","-n1"]-To ssh://10.23.33.19/Volumes/Media/iTunes Media/Music- f016a03..8808dc8 git-annex -> synced/git-annex-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","git-annex"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","push","dancingfrog","master"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","--hash","refs/heads/git-annex"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..8808dc8effc3572ae1421461ff44574e900917bf","--oneline","-n1"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..7339a1fdd007d7a528b7e2eb82c2aeedca511920","--oneline","-n1"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..00f5e110ca77b9b5103e1b568ea6aa9d9d9dbb81","--oneline","-n1"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..ab90c337053a61111060540d2f60ce20b44cc2d9","--oneline","-n1"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..f016a03fc92aebba14b239cc3647478b1fb9f78f","--oneline","-n1"]-[2014-04-27 05:12:00 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..88d99a7ef2d37d1a6180e5dd66a4559927a58eaf","--oneline","-n1"]-- 1,835,008 27% 125.00kB/s 0:00:39 To rss:Music- f016a03..8808dc8 git-annex -> synced/git-annex-[2014-04-27 05:12:01 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","git-annex"]-[2014-04-27 05:12:01 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","push","rss","master"]-[2014-04-27 05:12:01 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","--hash","refs/heads/git-annex"]-[2014-04-27 05:12:01 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..8808dc8effc3572ae1421461ff44574e900917bf","--oneline","-n1"]-[2014-04-27 05:12:01 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..7339a1fdd007d7a528b7e2eb82c2aeedca511920","--oneline","-n1"]-[2014-04-27 05:12:01 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..00f5e110ca77b9b5103e1b568ea6aa9d9d9dbb81","--oneline","-n1"]-[2014-04-27 05:12:01 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..ab90c337053a61111060540d2f60ce20b44cc2d9","--oneline","-n1"]-[2014-04-27 05:12:01 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..f016a03fc92aebba14b239cc3647478b1fb9f78f","--oneline","-n1"]-[2014-04-27 05:12:01 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..88d99a7ef2d37d1a6180e5dd66a4559927a58eaf","--oneline","-n1"]-gcrypt: Decrypting manifest-gpg: Signature made Sun 27 Apr 2014 05:11:41 BST using DSA key ID 29C42E01-gpg: Good signature from "Matt Ford (Work) <matt.ford@manchester.ac.uk>"-gpg: aka "Matt Ford <matt@dancingfrog.co.uk>"-gcrypt: Encrypting to: -R 68D8501429C42E01-gcrypt: Requesting manifest signature-gpg: 68D8501429C42E01: skipped: public key already present-- 1,998,848 29% 180.87kB/s 0:00:26 - 2,162,688 31% 135.56kB/s 0:00:33 To gcrypt::ssh://rss/home/matt/mnt/isilon/rss/zzalsmf3/git-annex/mus- f016a03..8808dc8 git-annex -> synced/git-annex-[2014-04-27 05:12:03 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","git-annex"]-[2014-04-27 05:12:03 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","show-ref","--hash","refs/heads/git-annex"]-[2014-04-27 05:12:03 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","push","isilon","master"]-[2014-04-27 05:12:03 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..8808dc8effc3572ae1421461ff44574e900917bf","--oneline","-n1"]-[2014-04-27 05:12:03 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..7339a1fdd007d7a528b7e2eb82c2aeedca511920","--oneline","-n1"]-[2014-04-27 05:12:03 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..00f5e110ca77b9b5103e1b568ea6aa9d9d9dbb81","--oneline","-n1"]-[2014-04-27 05:12:03 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..ab90c337053a61111060540d2f60ce20b44cc2d9","--oneline","-n1"]-[2014-04-27 05:12:03 BST] read: git ["--git-dir=/home/matt/Music/.git","--work-tree=/home/matt/Music","log","refs/heads/git-annex..88d99a7ef2d37d1a6180e5dd66a4559927a58eaf","--oneline","-n1"]-- 2,326,528 34% 139.74kB/s 0:00:31 - 3,637,248 53% 397.83kB/s 0:00:07 - 4,423,680 65% 556.91kB/s 0:00:04 - 5,079,040 75% 692.27kB/s 0:00:02 - 5,636,096 83% 781.05kB/s 0:00:01 --× Synced with dancingfrog, rss, isilon-× Downloaded 11 Bad Be..viour.mp3 10 Holida..rome].mp3 09 Leisure.mp3 08 Money Money.mp3 07 Dirtee Cash.mp3 06 Chilli..n Dem.mp3 05 Can't .. More.mp3 04 Freaky..reaky.mp3 03 Dance ..rome].mp3 02 Road Rage.mp3 and 8 other files-× Synced with rss-× Performed startup scan-× Synced with dancingfrog, isilon-</pre>--### What version of git-annex are you using? On what operating system?---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--[[!meta title="transferkeys protocol needs to include remote name to deal with multiple remotes with same UUID"]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/git_annex_doesn__39__t_work_in_Max_OS_X_10.9.mdwn
@@ -1,220 +0,0 @@-### Please describe the problem.-git-annex crashes on Max OS X 10.9 at startup--### What steps will reproduce the problem?-- install Mac OS X 10.9 developer preview-- download and install the latest git-annex from here http://downloads.kitenet.net/git-annex/OSX/current/10.8.2_Mountain_Lion/ (I tried with the 10.8 version)-- attempt to start it, see it crashing--### What version of git-annex are you using? On what operating system?-- latest version that is available for 10.8, on 10.9 DP 2--### Please provide any additional information below.--I see the following in Console: --15.07.2013 21:20:49,362 com.apple.launchd.peruser.501[259]: (com.branchable.git-annex.103872[67263]) Exited with code: 133-15.07.2013 21:20:49,546 ReportCrash[67272]: Saved crash report for git-annex[67268] version ??? to /Users/stelianiancu/Library/Logs/DiagnosticReports/git-annex_2013-07-15-212049_poseidon-2.crash--And the crash is as follows:--Process: git-annex [67268]-Path: /Applications/git-annex.app/Contents/MacOS/bundle/git-annex-Identifier: git-annex-Version: ???-Code Type: X86-64 (Native)-Parent Process: sh [67263]-Responsible: sh [67263]-User ID: 501--Date/Time: 2013-07-15 21:20:48.946 +0200-OS Version: Mac OS X 10.9 (13A497d)-Report Version: 11-Anonymous UUID: 634E8812-1F1A-11E0-61DA-7527061A194C--Sleep/Wake UUID: AFC18477-57D2-4B69-8B0F-AE26BC3D9D0C--Crashed Thread: 0--Exception Type: EXC_BREAKPOINT (SIGTRAP)-Exception Codes: 0x0000000000000002, 0x0000000000000000--Application Specific Information:-dyld: launch, loading dependent libraries--Dyld Error Message:- Symbol not found: _objc_debug_taggedpointer_mask- Referenced from: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation- Expected in: /Applications/git-annex.app/Contents/MacOS/bundle/I- in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation--Binary Images:- 0x104412000 - 0x10450fff7 +E (22.3) <47B09CB2-C636-3024-8B55-6040F7829B4C> /Applications/git-annex.app/Contents/MacOS/bundle/E- 0x104547000 - 0x10455bfff +F (0) <FA90B1B1-A866-3A6C-BB97-06955F4C8C0B> /Applications/git-annex.app/Contents/MacOS/bundle/F- 0x104567000 - 0x104594ff7 +G (0) <E276B5C2-6FAC-36A7-940B-7A75322F71AE> /Applications/git-annex.app/Contents/MacOS/bundle/G- 0x10459c000 - 0x104669fdf +H (0) <29C3AFF5-8EFB-3A16-81F6-0DA6CF2675A6> /Applications/git-annex.app/Contents/MacOS/bundle/H- 0x104699000 - 0x1046abff7 +B (43) <2A1551E8-A272-3DE5-B692-955974FE1416> /Applications/git-annex.app/Contents/MacOS/bundle/B- 0x1046b1000 - 0x1047a6fff +D (34) <FEE8B996-EB44-37FA-B96E-D379664DEFE1> /Applications/git-annex.app/Contents/MacOS/bundle/D- 0x1047b7000 - 0x1048cf92f +I (532.2) <90D31928-F48D-3E37-874F-220A51FD9E37> /Applications/git-annex.app/Contents/MacOS/bundle/I- 0x1048f6000 - 0x104af6fff +S (491.11.3) <5783D305-04E8-3D17-94F7-1CEAFA975240> /Applications/git-annex.app/Contents/MacOS/bundle/S- 0x104c06000 - 0x104c2bff7 +Z (26) <D86169F3-9F31-377A-9AF3-DB17142052E4> /Applications/git-annex.app/Contents/MacOS/bundle/Z- 0x104c5e000 - 0x104cc6ff7 +0A (65.1) <20E31B90-19B9-3C2A-A9EB-474E08F9FE05> /Applications/git-annex.app/Contents/MacOS/bundle/0A- 0x104d21000 - 0x104d8afff +0B (56) <EAA2B53E-EADE-39CF-A0EF-FB9D4940672A> /Applications/git-annex.app/Contents/MacOS/bundle/0B- 0x104df3000 - 0x104e06fff +T (0) <DB28CA35-537D-3644-A6BE-179D1A1E9785> /Applications/git-annex.app/Contents/MacOS/bundle/T- 0x104e0e000 - 0x104e1bff7 +U (0) <DCFF385A-090B-3407-868C-91544A2EFEE1> /Applications/git-annex.app/Contents/MacOS/bundle/U- 0x104e1f000 - 0x104e41ff7 +V (0) <51B317C7-94CC-3C58-B515-924BB3AF0BCC> /Applications/git-annex.app/Contents/MacOS/bundle/V- 0x104e4e000 - 0x104e5bff7 +W (0) <91CF16BE-027F-3FE6-B1EE-6B8BFD51FC1B> /Applications/git-annex.app/Contents/MacOS/bundle/W- 0x104e68000 - 0x104ec4fd7 +X (0) <84D934AF-A321-36C0-BBCF-CD3FDAEB0B95> /Applications/git-annex.app/Contents/MacOS/bundle/X- 0x7fff6ca9d000 - 0x7fff6cad04a7 dyld (237) <BB7160C2-117E-3369-87F0-866ED454490E> /usr/lib/dyld- 0x7fff8ba5b000 - 0x7fff8ba5dfff libCVMSPluginSupport.dylib (9.0.74) <11FCA581-0FFD-37B1-966A-E47F4722D297> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib- 0x7fff8c053000 - 0x7fff8c05affb liblaunch.dylib (842.1.1) <7055DF9E-52CE-3746-96EB-3718DDBF0BD0> /usr/lib/system/liblaunch.dylib- 0x7fff8c11d000 - 0x7fff8c41cff7 com.apple.Foundation (6.9 - 1042) <CE00D0BB-1053-3EA0-A31F-C9F1E3FEFBF2> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation- 0x7fff8c41d000 - 0x7fff8c444ff7 libsystem_network.dylib (241.3) <D518703F-4C71-3CC5-99EF-A15C8F41A834> /usr/lib/system/libsystem_network.dylib- 0x7fff8c445000 - 0x7fff8c47eff7 com.apple.QD (3.49 - 297) <EE1DD6BE-5881-35C7-A9E8-30CCB26E6CF3> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD- 0x7fff8c483000 - 0x7fff8c864ffe libLAPACK.dylib (1094.4) <19E25957-74BA-3770-AAB5-B6A05F19BDC2> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib- 0x7fff8c8bc000 - 0x7fff8c8cbff8 com.apple.LangAnalysis (1.7.0 - 1.7.0) <ED300EBD-7AEF-34B4-B314-DFBD648214E1> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis- 0x7fff8c8cc000 - 0x7fff8c8d9ff7 libxar.1.dylib (202) <E0BFCC9B-89D4-3F42-8460-4918573EFCA1> /usr/lib/libxar.1.dylib- 0x7fff8c8da000 - 0x7fff8cbaaff4 com.apple.CoreImage (9.0.33) <8BB17AEC-D09A-3173-8767-7DB5C982670E> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage- 0x7fff8cbab000 - 0x7fff8cbabff7 libkeymgr.dylib (28) <AB6DE146-DDC4-397B-9182-ECE54FCDF5D7> /usr/lib/system/libkeymgr.dylib- 0x7fff8d095000 - 0x7fff8d09eff7 com.apple.speech.synthesis.framework (4.5.3 - 4.5.3) <B4B4F401-701F-3A6E-AB39-65BDBB9F3FA0> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis- 0x7fff8d21a000 - 0x7fff8d274ff8 com.apple.AE (665.2 - 665.2) <DB39E7DF-E5EA-3D5C-81A5-1BA2159A2694> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE- 0x7fff8d2fb000 - 0x7fff8d342ff7 libcups.2.dylib (365) <49F3E642-D748-3A60-AF51-F9E90F65C543> /usr/lib/libcups.2.dylib- 0x7fff8d343000 - 0x7fff8d350ff0 libbz2.1.0.dylib (29) <C1100E81-9C9D-3E4E-B238-F4015BB35B15> /usr/lib/libbz2.1.0.dylib- 0x7fff8d489000 - 0x7fff8d489fff com.apple.Accelerate (1.9 - Accelerate 1.9) <94C28250-6BDB-30AD-B157-995D9C34A6FA> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate- 0x7fff8d75b000 - 0x7fff8d7a8fff com.apple.opencl (2.3.50 - 2.3.50) <33C1EC76-02A2-3474-BB9D-8F77B96E57CC> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL- 0x7fff8dd58000 - 0x7fff8dd5dff7 libunwind.dylib (35.3) <838CE69D-44F1-305C-8FA5-5E439D217F78> /usr/lib/system/libunwind.dylib- 0x7fff8dd5e000 - 0x7fff8dd61fff libCoreVMClient.dylib (58.1) <331C429A-3AE5-30B8-A4DE-1BF4EE4D8FA6> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib- 0x7fff8de3e000 - 0x7fff8de3fff7 libDiagnosticMessagesClient.dylib (100) <B28C426E-E826-3EC3-80AD-E69F2EABE46B> /usr/lib/libDiagnosticMessagesClient.dylib- 0x7fff8de40000 - 0x7fff8de6ffff com.apple.DebugSymbols (106 - 106) <545E5A48-3516-3398-A33D-D6FB4FED4B7B> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols- 0x7fff8e4b2000 - 0x7fff8e500fff libcorecrypto.dylib (161) <56048D2C-3668-3E15-AF02-5C5A377320F6> /usr/lib/system/libcorecrypto.dylib- 0x7fff8e501000 - 0x7fff8e5c7ff7 com.apple.LaunchServices (572.3 - 572.3.1) <39618733-CC97-3991-BD3B-485BD7247115> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices- 0x7fff8e5ca000 - 0x7fff8e5caffd libOpenScriptingUtil.dylib (154) <9B8CECA0-360D-3C6D-A37D-95EE34AE2B16> /usr/lib/libOpenScriptingUtil.dylib- 0x7fff8e9ac000 - 0x7fff8e9b4ff7 com.apple.speech.recognition.framework (4.2.4 - 4.2.4) <1CE37DE8-BA4A-30CD-A802-18DAF42C328F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition- 0x7fff8ea01000 - 0x7fff8ea65ff6 com.apple.Heimdal (4.0 - 2.0) <463F41AC-39FF-30FC-B03A-4198E7A9321F> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal- 0x7fff8ea66000 - 0x7fff8ea6efff libsystem_dnssd.dylib (522.1.3) <29695A12-75FC-36EE-97AC-179F6E9DA419> /usr/lib/system/libsystem_dnssd.dylib- 0x7fff8eb28000 - 0x7fff8eb33fff libGL.dylib (9.0.74) <2DB19533-5983-3F59-93F3-2761DA6EEDA5> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib- 0x7fff8eb37000 - 0x7fff8eb43ff3 com.apple.AppleFSCompression (56 - 1.0) <D80DF0B8-AC14-3686-9242-9750D6A8B8D3> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression- 0x7fff8eb44000 - 0x7fff8f44a043 com.apple.CoreGraphics (1.600.0 - 565) <81F84822-675E-3466-97A7-6FF69DF569E3> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics- 0x7fff8f44b000 - 0x7fff8f461fff com.apple.CFOpenDirectory (10.9 - 171) <A650D21D-D825-3C4E-AA2E-1218F8A5048E> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory- 0x7fff9003c000 - 0x7fff900c5fe7 libsystem_c.dylib (997) <5BAB0B09-A39E-39B9-9552-48B540B3ABD0> /usr/lib/system/libsystem_c.dylib- 0x7fff9088e000 - 0x7fff908b2fff libJPEG.dylib (1029) <D161F451-9A14-31DD-83D8-C475F8576ACF> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib- 0x7fff908b3000 - 0x7fff908f7ffe com.apple.HIServices (1.22 - 454) <3625AF2C-1965-349D-B831-1FCC9084B675> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices- 0x7fff908f8000 - 0x7fff90bc7fdf com.apple.vImage (7.0 - 7.0) <C50F8737-E292-3D53-9AF7-F76797A1DDDD> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage- 0x7fff90ce8000 - 0x7fff90d03ff7 libsystem_kernel.dylib (2422.1.26.0.1) <5F99677C-C760-3877-AFF7-F60B5ECE365E> /usr/lib/system/libsystem_kernel.dylib- 0x7fff90d04000 - 0x7fff90d77ffb com.apple.securityfoundation (6.0 - 55122) <A946CA5A-1396-3467-94B1-E6A8FA0347FC> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation- 0x7fff90e98000 - 0x7fff91034fff com.apple.QuartzCore (1.8 - 329.0) <08CE1885-71E8-3A38-AEB6-4BBB1A43785F> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore- 0x7fff91035000 - 0x7fff91050ff7 libPng.dylib (1029) <AB7D23B2-CB41-3108-A19E-9F7BA6F37178> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib- 0x7fff910c3000 - 0x7fff9113aff7 com.apple.CoreServices.OSServices (600 - 600) <73820122-62D4-359C-9312-CD49FCEDFE09> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices- 0x7fff9115a000 - 0x7fff911e5fff com.apple.Metadata (10.7.0 - 778.1) <93F05A4E-6581-3CD5-8697-84783CEBF764> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata- 0x7fff9139d000 - 0x7fff913a4ff3 libcopyfile.dylib (103) <54DD5730-3F05-3F18-B55C-24EA9546286F> /usr/lib/system/libcopyfile.dylib- 0x7fff9152c000 - 0x7fff91530ff7 libheimdal-asn1.dylib (323.3) <90100758-0CC6-3D00-90AB-D3C7DC8CCE45> /usr/lib/libheimdal-asn1.dylib- 0x7fff9193c000 - 0x7fff91947fff libkxld.dylib (2422.1.26.0.1) <CF43FD8E-E8FE-34F7-A3B1-286530AA9EFD> /usr/lib/system/libkxld.dylib- 0x7fff9194e000 - 0x7fff91950ff7 libquarantine.dylib (69) <1776AABC-F1D7-3CB0-B698-B0C70D4E535B> /usr/lib/system/libquarantine.dylib- 0x7fff91951000 - 0x7fff9195efff com.apple.Sharing (112 - 112) <24BA2112-4FFB-318A-B881-93FEB4648371> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing- 0x7fff919fb000 - 0x7fff91a02ff7 libsystem_pthread.dylib (53) <2160EC74-26FC-32CE-8161-B1A72D2B09B0> /usr/lib/system/libsystem_pthread.dylib- 0x7fff91a03000 - 0x7fff91a2cfff com.apple.DictionaryServices (1.2 - 197) <862F498E-3CB7-3087-BB07-AC185D5D08F8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices- 0x7fff91a3c000 - 0x7fff91b04ff7 libvDSP.dylib (423.29) <72A38066-D6F5-38EC-A8B9-0D025AFC6E2B> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib- 0x7fff91b05000 - 0x7fff91b43ff7 libGLImage.dylib (9.0.74) <0DD99DA1-A8E7-3309-8DED-A2AB410E59C8> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib- 0x7fff92ade000 - 0x7fff92b00fff libxpc.dylib (300.1.4) <4F832032-9709-3E80-91C4-71914C67A32B> /usr/lib/system/libxpc.dylib- 0x7fff92b01000 - 0x7fff92b04ff7 libdyld.dylib (237) <EA2A0414-849F-3976-BA4E-A93D3206ECE5> /usr/lib/system/libdyld.dylib- 0x7fff92b05000 - 0x7fff92b05fff com.apple.ApplicationServices (48 - 48) <21188B7D-50E8-3C28-A15E-5345AE7BAFBB> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices- 0x7fff92b08000 - 0x7fff92b6cff7 com.apple.datadetectorscore (5.0 - 343.0) <7FE14856-0C85-3382-AD6C-1B9E21C276CB> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore- 0x7fff92b6d000 - 0x7fff92b6fff3 libsystem_configuration.dylib (596.1) <1E0FDEA3-8822-3E80-AA0D-57D0F4E30E2E> /usr/lib/system/libsystem_configuration.dylib- 0x7fff92e00000 - 0x7fff92e53fff com.apple.ScalableUserInterface (1.0 - 1) <A82F7DD8-1C79-3872-96D1-875B4ED121D4> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/ScalableUserInterface.framework/Versions/A/ScalableUserInterface- 0x7fff92e72000 - 0x7fff92e73fff libunc.dylib (28) <53C7CED6-55F5-3121-B00E-4339C29297C8> /usr/lib/system/libunc.dylib- 0x7fff92e91000 - 0x7fff92f53ff9 com.apple.CoreText (352.0 - 367.6) <CAFF0767-3351-3FE3-843F-6EA65B8264C8> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText- 0x7fff934c7000 - 0x7fff934e2ff7 libCRFSuite.dylib (34) <E2353929-97B1-356A-84A0-CC650BC734D5> /usr/lib/libCRFSuite.dylib- 0x7fff934e3000 - 0x7fff93508ffb com.apple.CoreVideo (1.8 - 117.0) <50587BF1-D111-3D49-9DAB-8F86B5E95808> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo- 0x7fff93509000 - 0x7fff93522ff7 com.apple.Kerberos (3.0 - 1) <13DDC487-95C0-379F-BD7F-E0FC5F5922D3> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos- 0x7fff93523000 - 0x7fff935a2fff com.apple.CoreSymbolication (3.0 - 137) <85C4F6E2-5039-3E53-9AB2-6D65CAC9AAC5> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication- 0x7fff935a3000 - 0x7fff935bdfff libsystem_malloc.dylib (23.1.1) <FBCF2C62-AA8D-322E-859E-B5D90C610A3F> /usr/lib/system/libsystem_malloc.dylib- 0x7fff935bf000 - 0x7fff93600ff7 com.apple.PerformanceAnalysis (1.45 - 45) <6C498B15-45DB-362F-983B-764ECC9B8E21> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis- 0x7fff9360f000 - 0x7fff93618ff3 libsystem_notify.dylib (121) <D34E9B17-297F-3C3F-BD16-69D1D9495B79> /usr/lib/system/libsystem_notify.dylib- 0x7fff93619000 - 0x7fff9362bff7 com.apple.MultitouchSupport.framework (245.12 - 245.12) <06CAA8FB-BEC6-3EF1-96FA-3D8A1EEB0959> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport- 0x7fff9367e000 - 0x7fff9368efff libbsm.0.dylib (33) <65C2FC5C-4B4B-3C1B-B935-D67A3BF96A79> /usr/lib/libbsm.0.dylib- 0x7fff937f6000 - 0x7fff937fafff libpam.2.dylib (20) <17E3DA0D-EE71-3398-BA30-BDD8514A6135> /usr/lib/libpam.2.dylib- 0x7fff93aea000 - 0x7fff93aedfff libsystem_stats.dylib (93.1.8.1.1) <CAC30E07-CE62-3536-8CD4-1A3CE44DD973> /usr/lib/system/libsystem_stats.dylib- 0x7fff93b96000 - 0x7fff93d79ff7 com.apple.CoreFoundation (6.9 - 842) <DC8875C4-DC2C-3ADC-B88B-D66722953255> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation- 0x7fff93d7a000 - 0x7fff93db9fff libGLU.dylib (9.0.74) <294F4F86-E900-356C-9A47-0C47A929F2FB> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib- 0x7fff93dba000 - 0x7fff93e9cff7 com.apple.backup.framework (1.5 - 1.5) <70E20485-EDB6-3225-8AF6-6D9494CB98B7> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup- 0x7fff93edb000 - 0x7fff93ee6ff7 com.apple.NetAuth (5.0 - 5.0) <64D42204-C075-3440-8C29-BBD68A99A771> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth- 0x7fff93ee7000 - 0x7fff93ef3fff com.apple.OpenDirectory (10.9 - 171) <FDE80473-0ADF-363A-8111-43CAB01A3F61> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory- 0x7fff93f3a000 - 0x7fff93f48ff7 com.apple.opengl (9.0.74 - 9.0.74) <9BD0013A-E503-3DA2-9F94-C42A11D2E734> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL- 0x7fff93f56000 - 0x7fff93f85ff5 com.apple.GSS (4.0 - 2.0) <6765C9D7-8AC9-3694-B5D4-5C26B119851D> /System/Library/Frameworks/GSS.framework/Versions/A/GSS- 0x7fff943f6000 - 0x7fff943fdfff libcompiler_rt.dylib (35) <A0A9D62C-E1A5-39A0-A38E-B0B38762002D> /usr/lib/system/libcompiler_rt.dylib- 0x7fff943fe000 - 0x7fff94404fef libsystem_platform.dylib (24) <5D8FE8C3-2A62-3705-AB7D-FBD7C284AFBD> /usr/lib/system/libsystem_platform.dylib- 0x7fff94405000 - 0x7fff9440fff7 com.apple.CrashReporterSupport (10.9 - 529) <F3BB7C5D-0775-3A05-944A-3A061E62B107> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport- 0x7fff94428000 - 0x7fff9442bffc com.apple.IOSurface (91 - 91) <1B7746FC-3599-3BDB-A0DA-65795C999435> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface- 0x7fff9442c000 - 0x7fff944dbff7 libvMisc.dylib (423.29) <83CBEBB6-B9C2-3D83-A32A-CED47CDB65D6> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib- 0x7fff9451b000 - 0x7fff9451cffb libremovefile.dylib (33) <D7EF6E8B-95D8-3D8E-918C-2D3F51D00060> /usr/lib/system/libremovefile.dylib- 0x7fff9465b000 - 0x7fff94898fff com.apple.CoreData (107 - 468) <51F9B655-84D2-3E88-991B-914C9017BB08> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData- 0x7fff948ab000 - 0x7fff948acfff com.apple.TrustEvaluationAgent (2.0 - 25) <644D981B-A5A7-31F5-99A6-9F180B9A5DE3> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent- 0x7fff948ad000 - 0x7fff948d0fff com.apple.IconServices (25 - 25.4) <525BAAE5-F45C-3A15-ACED-2AF4EFFED546> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices- 0x7fff948f6000 - 0x7fff94be0ff7 com.apple.CoreServices.CarbonCore (1077.6 - 1077.6) <C32B5E2A-3BD8-3D6C-A931-E05B47ECB3C9> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore- 0x7fff94be1000 - 0x7fff94c09ffb libxslt.1.dylib (13) <33D39746-6FCD-3F32-AFAE-2E45232BF6FB> /usr/lib/libxslt.1.dylib- 0x7fff94c0a000 - 0x7fff94c14ff7 com.apple.bsd.ServiceManagement (2.0 - 2.0) <3E92DCA9-DA23-34E1-8C38-DA7488621FFB> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement- 0x7fff94c15000 - 0x7fff94c1ffff libcommonCrypto.dylib (60049) <FC0D70F5-E485-32E6-BFC2-1E072047282B> /usr/lib/system/libcommonCrypto.dylib- 0x7fff94c94000 - 0x7fff94d82fff libJP2.dylib (1029) <720403F5-7863-30D6-AC09-F5A04F069E1B> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib- 0x7fff94daf000 - 0x7fff94dc8ff3 com.apple.Ubiquity (1.3 - 280) <581DAEFC-B314-3F92-93CF-7B70BF22AEEF> /System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity- 0x7fff95037000 - 0x7fff9513cfff com.apple.ImageIO.framework (3.2.0 - 1029) <FEF93B49-D136-3248-B46B-C026F7E906BD> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO- 0x7fff9513d000 - 0x7fff9526aff7 com.apple.desktopservices (1.8 - 1.8) <ACF9A2F5-6285-316E-958A-25C0AFDF3AEA> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv- 0x7fff9526b000 - 0x7fff95273ffc libGFXShared.dylib (9.0.74) <13A420C1-1B14-36F8-8F08-4698D423E52F> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib- 0x7fff95274000 - 0x7fff9528cff7 com.apple.GenerationalStorage (2.0 - 158) <5BCFBEED-09D2-3BD3-8EE0-85E809C47380> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage- 0x7fff952b3000 - 0x7fff9533cff7 com.apple.ColorSync (4.9.0 - 4.9.0) <CBF9EA13-4FC4-34D8-812A-6A37189CD09E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync- 0x7fff95361000 - 0x7fff953baff7 libTIFF.dylib (1029) <12303E45-734B-3D6C-A5C8-1495ECBC0344> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib- 0x7fff9548c000 - 0x7fff954d9ff2 com.apple.print.framework.PrintCore (9.0 - 424) <B09BB55A-67C0-34F9-95DB-6F735842EAE5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore- 0x7fff954e4000 - 0x7fff95547ff3 com.apple.SystemConfiguration (1.13 - 1.13) <73B50935-DFE8-31B8-8583-27A28B5A9D1E> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration- 0x7fff955ac000 - 0x7fff955c6fff libdispatch.dylib (339.1.2) <A9C37B4E-B908-3212-BF59-CE336EC30E78> /usr/lib/system/libdispatch.dylib- 0x7fff95ca6000 - 0x7fff95ca7ff3 libSystem.B.dylib (1197) <7589D08E-9338-3E28-AA74-9734F0D51CE0> /usr/lib/libSystem.B.dylib- 0x7fff95cb3000 - 0x7fff95cfaff3 libFontRegistry.dylib (121.1) <C8BC9042-B3EA-35FB-B4D7-2B1A6E0E6AB5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib- 0x7fff95cfb000 - 0x7fff95deafff libFontParser.dylib (106) <16B9215D-3244-365F-910F-FA033495E3F5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib- 0x7fff95deb000 - 0x7fff95debfff com.apple.Cocoa (6.8 - 20) <B2519A80-93F8-3BEB-A6B2-780B0D291E89> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa- 0x7fff95e0f000 - 0x7fff95e10fff liblangid.dylib (117) <5146A22B-088F-3D8D-B245-F03DD3CDA2B0> /usr/lib/liblangid.dylib- 0x7fff95e11000 - 0x7fff9696ffff com.apple.AppKit (6.9 - 1240) <53CEC6E0-F928-32EC-919D-B34C0818C88C> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit- 0x7fff96970000 - 0x7fff96977fff com.apple.NetFS (6.0 - 4.0) <553EA9F4-7B2C-371A-AF03-4B709A730582> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS- 0x7fff96978000 - 0x7fff969c8ffa com.apple.audio.CoreAudio (4.2.0 - 4.2.0) <548AC059-62DD-3CF6-B083-CABE454AFA38> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio- 0x7fff96a12000 - 0x7fff96a7cff7 com.apple.framework.IOKit (2.0.1 - 907.1.5) <BC9D0F47-DB6F-3AD0-B38F-267E891099D0> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit- 0x7fff96add000 - 0x7fff96ae0fff com.apple.TCC (1.0 - 1) <1DF1D216-1355-3E4F-B4BE-3E3BA5A696EB> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC- 0x7fff96ae1000 - 0x7fff96b06ff7 com.apple.ChunkingLibrary (2.0 - 154) <EBFF01E3-D26B-3031-9E4C-670303B1086A> /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary- 0x7fff96b07000 - 0x7fff96b0bff7 libGIF.dylib (1029) <000B8500-FC82-3016-8E59-9FA0D6395F04> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib- 0x7fff96b58000 - 0x7fff96b59ff7 libsystem_blocks.dylib (63) <7836104E-39B9-31B6-A0C7-C02ACD401ADE> /usr/lib/system/libsystem_blocks.dylib- 0x7fff96db9000 - 0x7fff96db9ffd com.apple.audio.units.AudioUnit (1.9 - 1.9) <BBAD4575-CE0A-34EF-A5AF-36CD66FF260C> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit- 0x7fff96df6000 - 0x7fff96e07fff libsystem_asl.dylib (217) <F8795719-7E14-3FB2-8F4D-FF814AFFB7F7> /usr/lib/system/libsystem_asl.dylib- 0x7fff96e2d000 - 0x7fff96e5cfd2 libsystem_m.dylib (3047.15) <8A6B4EC2-BB25-342B-B3FE-9585175225B8> /usr/lib/system/libsystem_m.dylib- 0x7fff96e5d000 - 0x7fff96fb3ff3 com.apple.audio.toolbox.AudioToolbox (1.9 - 1.9) <D3F44C67-987D-3955-B15F-74A27C7E59E3> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox- 0x7fff96fb4000 - 0x7fff9709ffff libsqlite3.dylib (155) <F60CCD67-FA68-379E-9D9C-4085E06F5665> /usr/lib/libsqlite3.dylib- 0x7fff970a0000 - 0x7fff97348ff9 com.apple.HIToolbox (2.1 - 681) <F25DDDC9-D3BC-3E80-A57D-EC1FE747B40B> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox- 0x7fff97349000 - 0x7fff97383ffb com.apple.bom (12.0 - 192) <FE625F33-643C-310A-B931-14CEBC007302> /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom- 0x7fff97758000 - 0x7fff97759ff7 libsystem_sandbox.dylib (278.1) <F723F1D9-5561-344A-A6F0-B1373D355DBA> /usr/lib/system/libsystem_sandbox.dylib- 0x7fff977fb000 - 0x7fff977fbfff com.apple.Accelerate.vecLib (3.9 - vecLib 3.9) <349BA8B4-1C72-30BE-B2BB-1898F51B9B5E> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib- 0x7fff97939000 - 0x7fff97aa2ff3 com.apple.CFNetwork (657 - 657) <59A9476F-19A2-3F8B-A9B0-8531EA36A4AE> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork- 0x7fff97ac9000 - 0x7fff97b20fff com.apple.Symbolication (1.4 - 125) <C3269812-583B-3349-A675-CCCFDF3140DB> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication- 0x7fff97b24000 - 0x7fff97b93ff1 com.apple.ApplicationServices.ATS (360 - 360) <8A3AD47D-2777-3019-80BB-4B17AA055E13> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS- 0x7fff97c01000 - 0x7fff97c28ff3 libsystem_info.dylib (449) <B5F10962-3DA2-3557-A0B1-369BB80EA6A5> /usr/lib/system/libsystem_info.dylib- 0x7fff97d95000 - 0x7fff97e21ff7 com.apple.ink.framework (10.9 - 205) <A3B23363-D876-39CF-9290-F01520C484E3> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink- 0x7fff97e22000 - 0x7fff97f04fff com.apple.coreui (2.1 - 224) <9F8C1983-1795-34DA-A0C1-7F126ECA0D8E> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI- 0x7fff97f4d000 - 0x7fff97fbafff com.apple.SearchKit (1.4.0 - 1.4.0) <EACE2CF5-06EA-3899-9208-F9914C1922BD> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit- 0x7fff98062000 - 0x7fff982b6ff0 com.apple.security (7.0 - 55377) <2F4EFC9E-DD86-32E5-A2CB-E83A5DF34F8F> /System/Library/Frameworks/Security.framework/Versions/A/Security- 0x7fff982b7000 - 0x7fff982bbff7 libcache.dylib (61) <E9CD6B70-0553-3808-87DA-D16A1A6AC3FB> /usr/lib/system/libcache.dylib- 0x7fff982bc000 - 0x7fff982c1fff com.apple.DiskArbitration (2.6 - 2.6) <4D7487BB-C4A7-32DB-BEE2-CE55EA7F40B2> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration- 0x7fff9838e000 - 0x7fff9838efff com.apple.CoreServices (59 - 59) <D84FB78F-0F3C-3383-AE76-4BD6E3173F7F> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices- 0x7fff983e0000 - 0x7fff98418ff7 com.apple.RemoteViewServices (2.0 - 94) <7E7B5F1F-9F0E-3DF7-B6B9-152DFD2DFFC7> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices- 0x7fff987c8000 - 0x7fff987e4fff libresolv.9.dylib (54) <78D891A1-6F8B-34D4-8F0D-59DB6DF53411> /usr/lib/libresolv.9.dylib- 0x7fff987e5000 - 0x7fff987eafff libmacho.dylib (845) <0038681B-CEC4-348A-A7B8-4236C701F2F8> /usr/lib/system/libmacho.dylib- 0x7fff98802000 - 0x7fff98844ff7 libauto.dylib (185.4) <379FBDA3-DB2A-35A3-A637-3893C0F0E52F> /usr/lib/libauto.dylib- 0x7fff9890a000 - 0x7fff98d3dff7 com.apple.vision.FaceCore (3.0.0 - 3.0.0) <14255DCC-80BD-3690-9269-057D175A9FC5> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore- 0x7fff98d66000 - 0x7fff98ed4ff7 libBLAS.dylib (1094.4) <80E99B02-BD2D-3D88-97B6-0BE2D8973633> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib- 0x7fff98f6b000 - 0x7fff98f6dfff libRadiance.dylib (1029) <4E13C7E9-9B17-33D3-9142-B645B5BBCCD6> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib- 0x7fff98f6e000 - 0x7fff98f77ffe com.apple.CommonAuth (4.0 - 2.0) <3918EBA0-A124-37DC-9BA6-4D1370AF03A8> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth-- --[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/git_annex_fsck_loops.mdwn
@@ -1,91 +0,0 @@-### Please describe the problem.--It seems i have a somewhat corrupted git repository here, not sure how it happened. I was expecting the magic git annex fsck to recover from this, especially since this is a secondary repository and all objects should be available on the remotes...--### What steps will reproduce the problem?--I am really not sure, but i ended up with empty objects in my git repo.--### What version of git-annex are you using? On what operating system?--git-annex version: 5.20141125--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-anarcat@angela:films$ git annex addurl --fast https://www.youtube.com/watch?v=bS5P_LAqiVg-addurl KUNG_FURY_Official_Movie__HD_.mp4 error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-anarcat@angela:films$ git fsck-Vérification des répertoires d'objet: 100% (256/256), fait.-error: object file .git/objects/00/ef80c0eefb0ec6ad70c9270bd5780fa3b124b0 is empty-error: object file .git/objects/00/ef80c0eefb0ec6ad70c9270bd5780fa3b124b0 is empty-fatal: loose object 00ef80c0eefb0ec6ad70c9270bd5780fa3b124b0 (stored in .git/objects/00/ef80c0eefb0ec6ad70c9270bd5780fa3b124b0) is corrupt--anarcat@angela:films$ git annex fsck-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt-error: object file /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b is empty-fatal: loose object bff9dc76b05081c33471b9a2bccdb8d86ab06c3b (stored in /home/anarcat/video/.git/objects/bf/f9dc76b05081c33471b9a2bccdb8d86ab06c3b) is corrupt--git-annex: fd:13: hGetLine: end of file-failed--git-annex: fd:12: hFlush: resource vanished (Broken pipe)-failed--[...]--git-annex: fd:12: hFlush: resource vanished (Broken pipe)-failed--git-annex: fd:12: commitBuffer: resource vanished (Broken pipe)-failed--git-annex: fd:12: commitBuffer: resource vanished (Broken pipe)-failed--[...]--git-annex: fd:12: commitBuffer: resource vanished (Broken pipe)-failed-^C-# End of transcript or log.-"""]]----[[anarcat]]--Ah damnit, i confused [[git-annex-fsck]] and [[git-annex-repair]]... :/ Mabe one should run the other when it fails? :) sorry for the noise, [[done]].
− doc/bugs/git_annex_fsck_on_btrfs_devices.mdwn
@@ -1,18 +0,0 @@-### Please describe the problem.-btrfs automatically validates checksums when data is read. If a checksum fails, instead of giving the corrupted file contents, the read will throw an I/O error. In result, it seems that git-annex fsck will not recognize the file as faulty, and will instead fail with a sha1sum parse error, without dropping the corresponding file as “bad”.--[[!format sh """-git annex fsck file-fsck file (checksum...)-sha1sum: .git/annex/objects/…: Input/output error-git-annex: sha1sum parse error-# End of transcript or log.-"""]]--### What version of git-annex are you using? On what operating system?-git-annex 5.20150508-linux 4.0.4--> [[fixed|done]]; IO errors are now detected and the file moved to bad/;-> the fsck also continues past that failure now, so if a disk has-> a lot of damanged files, it will find them all. --[[Joey]]
doc/bugs/git_annex_get_fails_from_read-only_repository.mdwn view
@@ -44,3 +44,5 @@ Yes! :-) Despite this, everything works like a charm with several repos on different OSs with lots of data. Thanks for this great tool! > [[fixed|done]] --[[Joey]]++If others are in the same situation as me here, note that you only need to upgrade the server side of things to resolve this. The backports from neurodebian work it, you need something at least 6.201602XX. --[[anarcat]]
− doc/bugs/git_annex_ignores_GIT__95__SSH__63__.mdwn
@@ -1,24 +0,0 @@-### Please describe the problem.-I'm attempting to set up an ssh remote on windows. I've configured a key pair for it and set GIT_SSH to use plink. git fetch works correctly, but git annex info shows this:--[[!format sh """-C:\Users\db48x\annex>git annex info-repository mode: direct-trusted repositories: "ssh": argonath: no address associated with name-- Remote argonath does not have git-annex installed; setting annex-ignore-"""]]--etc. Apparently it's trying to use the included ssh binary instead of my GIT_SSH setting.--### What version of git-annex are you using? On what operating system?-- git-annex version: 5.20140529-gb71f9bf- build flags: Assistant Pairing Testsuite S3 DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web tahoe glacier ddar hook external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 2 3 4--> [[dup|done]] of [[todo/git-annex_ignores_GIT__95__SSH]] --[[Joey]]
− doc/bugs/git_annex_importfeed_not_working_on_youtube_playlists.mdwn
@@ -1,39 +0,0 @@-### Please describe the problem.-The [podcasts page](https://git-annex.branchable.com/tips/downloading_podcasts/) mentions that you should be able to use `git annex importfeed` on youtube playlists, however, that doesn't seem to work (or I am using it incorrectly).--For example:-- » git annex importfeed --fast "https://www.youtube.com/playlist?list=PLz8YL4HVC87X3tYVYOjOLzSasPwgUsMPT"- (checking known urls...)- importfeed https://www.youtube.com/playlist?list=PLz8YL4HVC87X3tYVYOjOLzSasPwgUsMPT- /var/folders/kb/fplmcbhs4z52p4x59cqgm4kw0000gn/T/f [ <=> ] 460.08K 1.87MB/s in 0.2s-- warning: bad feed content- ok--### What steps will reproduce the problem?--1. Enter a git annex repository-2. Attempt to import a youtube playlist feed (see command above) with `--fast`--### What version of git-annex are you using? On what operating system?-- » git annex version- git-annex version: 5.20150205- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA TorrentParser- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL- remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 0 1 2 4--This is on Mac OSX 10.10.3, with git-annex installed via homebrew--> You have to give it an url to a RSS feed containing the playlist.-> -> For example, `git annex importfeed-> 'http://gdata.youtube.com/feeds/api/playlists/PLz8ZG1e9MPlzefklz1Gv79icjywTXycR-'`-> still works despite there having been various news stories about youtube-> removing RSS functionality.-> -> I've added this example to the documentation. [[done]] --[[Joey]]
− doc/bugs/git_annex_list__47__whereis_and_uncommited_local_changes.mdwn
@@ -1,33 +0,0 @@-### Please describe the problem.--I’m not sure whether this is a bug or a technical limitation, but here-you go: In direct mode, if a file is locally changed but unsynced,-«git annex whereis» and «git annex list» behave as if the file were-still unchanged. Any changes would only show after «git annex sync» or-«git annex add» (altough I’m not sure what the latter does if a file-is already annexed).--Syncing prior to «whereis» is not viable since I might not want to-proliferate the changes to other remotes. Would it be reasonable making-sure that «whereis» considers uncommitted local changes?--If doing so is too expensive to do implicitly, it would be useful-having an explicit means of seeing local changes in direct mode-repositories. Is «git annex add» the intended way of doing so?--### What steps will reproduce the problem?--1. Clone A to B.-2. Get file $f from A to B.-3. Switch B to direct mode.-4. Edit file $f.-5. «git annex list» reports that $f is on both A and B.--### What version of git-annex are you using? On what operating system?-git-annex 5.20140421-Linux 3.14.3--[[!tag confirmed]]--> I think it's reasonable for whereis to show location tracking information-> which may be out of date for many reasons, and so, [[done]] --[[Joey]]
− doc/bugs/git_annex_map_has_problems_with_urls_containing___126__.mdwn
@@ -1,46 +0,0 @@-I discovered a problem with `git annex map` and relative urls containing `~`.-In this case i have a remote `noam` configured with the the following urls:-- zsh» git remote show noam | head -3- * remote noam- Fetch URL: noam:bare-annex- Push URL: noam:bare-annex--If i try to run `git annex map` i get the following error:-- zsh» git annex map- map /home/esc/annex ok- map noam (sshing...)- bash: line 0: cd: /~/bare-annex/: No such file or directory- Command ssh ["noam","cd '/~/bare-annex/' && git config --list"] failed; exit code 1- (sshing...)- ok-- running: dot -Tx11 map.dot-- ok--If i run the failing command manually, i get:-- zsh» ssh noam "cd ~/bare-annex && git config --list"- core.repositoryformatversion=0- core.filemode=true- core.bare=true- annex.uuid=f267f55c-0732-11e1-a93b-93119f9aaf54- annex.version=3--Also i can change the remote url to an absolute one, in which case `git annex-map` works too:-- zsh» git remote set-url noam noam:/home/esc/bare-annex- zsh» git annex map- map /home/esc/annex ok- map noam (sshing...)- ok-- running: dot -Tx11 map.dot-- ok---> [[fixed|done]] --[[Joey]]
− doc/bugs/git_annex_status_doesn__39__t_use_.gitignore_in_direct_mode.mdwn
@@ -1,18 +0,0 @@-Hello all!--I'm doing tests with git annex to see how it works, and to start with it I'm trying to track my /home using some kind of a *white list* with .gitignore.--So I have this .gitignore file:-- /*- !/web- - !/Desktop- /Desktop/*- !/Desktop/Work--and when I do *git annex add .* it works as expected: It adds only ~/web and ~/Desktop/Work... but when I do *git annex status* it shows me the entire /home... it seems that *git annex status* doesn't use .gitignore... is this a bug or an intended behavior?--Thanks for your time :)--> [[fixed|done]] --[[Joey]]
− doc/bugs/git_annex_sync_--content_may_copy_then_drop_a_file_to_a_remote.mdwn
@@ -1,35 +0,0 @@-### Please describe the problem.--When using `git annex sync --content` with two archive with different cost, git annex will upload my file to the first archive, then to the second one, then it will drop it from the first one.--### What steps will reproduce the problem?--I've set both remote to "trusted", both in the "archive" group, both with "standard" preferred content, the remote named "hubic2" as an annex-cost of 200.0, and the remote named "hubic3" as an annex-cost of 175.0--### What version of git-annex are you using? On what operating system?-I'm using git-annex 5.20141125 on Debian Sid (upgraded today on November 7 2014).--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--$ git annex list | head-here-|hubic2-||hubic3-|||-X__ Avatars/archer.jpg-$ git annex sync --content-commit ok-copy Avatars/archer.jpg copy Avatars/archer.jpg (to hubic3...)-ok-copy Avatars/archer.jpg copy Avatars/archer.jpg (to hubic2...)-ok-drop hubic3 Avatars/archer.jpg ok--# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/git_annex_sync_--content_not_syncing_all_objects.mdwn
@@ -1,36 +0,0 @@-### Please describe the problem.-When "git annex sync --content" is used only objects currently in the working tree are synced. It doesn't honor full archives, which should get all objects.-So only objects similar to "git annex find --want-get" are synced and not every available object "git annex get --all"---### What steps will reproduce the problem?-# mein repo:-git annex add file-git annex sync-git annex rm file-git annex sync--# other repo:-git annex wanted here "not copies=backup:3"-git annex find --want-get # will be empty-git annex sync --content # nothing is synced even so all files should be backed up-git annex get --all # will sync the object from file--### What version of git-annex are you using? On what operating system?-git-annex version: 5.20140210-gd99db49-Linux (Ubuntu 13.10)--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--[[!tag confirmed]]--> `git annex sync --content --all` was added in version 5.20150617.-> [[done]] --[[Joey]]
− doc/bugs/git_annex_sync_thinks_remote__39__s_name_is_a_command.mdwn
@@ -1,102 +0,0 @@-### Please describe the problem.-git annex sync fails with "Unknown command 'i3'". i3 is the name of one annex. ---### What steps will reproduce the problem?--git annex clone i3:PATH annex--git annex sync--### What version of git-annex are you using? On what operating system?-git-annex version: 5.20140920-gb0c4300-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external--on Linux Mint Qiana--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-- git annex sync-(merging origin/git-annex origin/synced/git-annex into git-annex...)-(Recording state in git...)-commit ok-pull origin -git-annex: Unknown command 'i3'--Did you mean one of these?- fix- edit- init- find- add- get- vicfg- log- map- drop- move- copy- lock- sync- import- uninit- dead- fsck- direct- help- test--fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-failed-push origin -git-annex: Unknown command 'i3'--Did you mean one of these?- fix- edit- init- find- add- get- vicfg- log- map- drop- move- copy- lock- sync- import- uninit- dead- fsck- direct- help- test--fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-- Pushing to origin failed.-- (non-fast-forward problems can be solved by setting receive.denyNonFastforwards to false in the remote's git config)-failed-git-annex: sync: 2 failed--# End of transcript or log.-"""]]--> Chalking this one up as a local misconfiguration; I think it's ok for -> git-annex to run the version of itself ~/.config/git-annex/program-> points to. So, [[done]] --[[Joey]]
− doc/bugs/git_annex_unlock_is_not_atomic.mdwn
@@ -1,7 +0,0 @@-Running a command like--git annex unlock myfile--is not atomic, that is if the execution is aborted you may end up with an incomplete version of myfile in the directory. If you don't notice this you may lock it again and then propagate this bad version of the file to your other repositories. A simple workaround is to simply name it something else while unlocking and then rename it to the correct filename once it's completely copied. I don't know Haskel yet so I can not fix this issue otherwise I would sure try. A part from this, I love git annex.--> [[fixed|done]] --[[Joey]]
− doc/bugs/git_annex_unused_failes_on_empty_repository.mdwn
@@ -1,15 +0,0 @@-[[!meta title="`git annex unused` fails on empty repository"]]--The ``git annex unused`` command fails on a git-annex repository, if there are no objects yet:-- $ git annex unused- unused (checking for unused data...) - git-annex: /tmp/annextest/other_annex/.git/annex/objects: getDirectoryContents: does not exist (No such file or directory) - git-annex: 1 failed- $--This can give a user (especially one that wants to try out simple commands with his newly created repo) the impression that something is wrong, while it is not. I'd expect the program either to show the same message ``git annex unused`` shows when everything is ok (since it is, or should be).--This can be a bug in the ``unused`` subcommand (that fails to accept the absence of an objects directory) or in the ``init`` subcommand (that fails to create it).--> [[fixed|done]] --[[Joey]]
− doc/bugs/git_annex_unused_fails_when_a_filename_contains_newline.mdwn
@@ -1,69 +0,0 @@-### Please describe the problem.--After annexing files with newline (`\n`) characters in their name, then running `git annex unused` on the same git annex repository fails, instead of working correctly. The error is "git-annex: unknown response from git cat-file ".-This issue might happen with filenames with other special characters in the filename, too.--### What steps will reproduce the problem?--1. create git annex repository-2. create a file with a newline in its name-3. annex the file-4. run `git annex unused`--Expected result: success--Actual results: error: "git-annex: unknown response from git cat-file ".---### What version of git-annex are you using? On what operating system?--git-annex package version 5.20140412ubuntu1, architecture i386. System is xubuntu 14.04.--[[!format sh """-zolee@zolee-Latitude-E6440:/media/zolee/Stuff/dell-zoli-git-annex$ git annex version-git-annex version: 5.20140412ubuntu1-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4-"""]]---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--zolee@zolee-Latitude-E6440:/media/zolee/Stuff/dell-zoli-git-annex$ git annex unused-unused . (checking for unused data...) [2014-07-13 16:42:04 EEST] read: git ["--git-dir=/media/zolee/Stuff/dell-zoli-git-annex/.git","--work-tree=/media/zolee/Stuff/dell-zoli-git-annex","ls-files","--cached","--others","-z","--","/media/zolee/Stuff/dell-zoli-git-annex"]-[2014-07-13 16:42:31 EEST] read: git ["--git-dir=/media/zolee/Stuff/dell-zoli-git-annex/.git","--work-tree=/media/zolee/Stuff/dell-zoli-git-annex","symbolic-ref","HEAD"]-[2014-07-13 16:42:31 EEST] read: git ["--git-dir=/media/zolee/Stuff/dell-zoli-git-annex/.git","--work-tree=/media/zolee/Stuff/dell-zoli-git-annex","show-ref","--hash","refs/heads/dell-zoli-master"]-[2014-07-13 16:42:31 EEST] read: git ["--git-dir=/media/zolee/Stuff/dell-zoli-git-annex/.git","--work-tree=/media/zolee/Stuff/dell-zoli-git-annex","show-ref"]-(checking dell-zoli-master...) [2014-07-13 16:42:31 EEST] read: git ["--git-dir=/media/zolee/Stuff/dell-zoli-git-annex/.git","--work-tree=/media/zolee/Stuff/dell-zoli-git-annex","show-ref","--head"]-[2014-07-13 16:42:31 EEST] read: git ["--git-dir=/media/zolee/Stuff/dell-zoli-git-annex/.git","--work-tree=/media/zolee/Stuff/dell-zoli-git-annex","show-ref","--head"]-[2014-07-13 16:42:31 EEST] read: git ["--git-dir=/media/zolee/Stuff/dell-zoli-git-annex/.git","--work-tree=/media/zolee/Stuff/dell-zoli-git-annex","diff-index","-z","--raw","--no-renames","-l0","refs/heads/dell-zoli-master"]-(checking store-zoli/laptop-zoli-master...) [2014-07-13 16:42:32 EEST] read: git ["--git-dir=/media/zolee/Stuff/dell-zoli-git-annex/.git","--work-tree=/media/zolee/Stuff/dell-zoli-git-annex","show-ref","--head"]-[2014-07-13 16:42:32 EEST] read: git ["--git-dir=/media/zolee/Stuff/dell-zoli-git-annex/.git","--work-tree=/media/zolee/Stuff/dell-zoli-git-annex","show-ref","--head"]-[2014-07-13 16:42:32 EEST] read: git ["--git-dir=/media/zolee/Stuff/dell-zoli-git-annex/.git","--work-tree=/media/zolee/Stuff/dell-zoli-git-annex","diff-index","-z","--raw","--no-renames","-l0","refs/remotes/store-zoli/laptop-zoli-master"]-[2014-07-13 16:42:33 EEST] chat: git ["--git-dir=/media/zolee/Stuff/dell-zoli-git-annex/.git","--work-tree=/media/zolee/Stuff/dell-zoli-git-annex","cat-file","--batch"]-git-annex: unknown response from git cat-file ("Code Composer Studio missing","refs/remotes/store-zoli/laptop-zoli-master:egyetem/2009-2010-sem2/diploma/tex/titlu-lucrare.tex~")-zolee@zolee-Latitude-E6440:/media/zolee/Stuff/dell-zoli-git-annex$ ---zolee@zolee-Latitude-E6440:/media/zolee/Stuff/dell-zoli-git-annex/egyetem/2009-2010-sem2/media-processors$ ls-51325409-1.pdf course2010 Noterestanta.pdf Proiecte_6xxx.pdf rg_rand.c TMS320C6000?Code Composer Studio? Tutorial?- spru301c.pdf-ccs_workspace.tar.gz netrol Proc_Media project site-zolee@zolee-Latitude-E6440:/media/zolee/Stuff/dell-zoli-git-annex/egyetem/2009-2010-sem2/media-processors$ ls -b-51325409-1.pdf course2010 Noterestanta.pdf Proiecte_6xxx.pdf rg_rand.c \ \ \ TMS320C6000\nCode\ Composer\ Studio\n\ \ \ \ \ \ Tutorial\n-\ spru301c.pdf-ccs_workspace.tar.gz netrol Proc_Media project site-zolee@zolee-Latitude-E6440:/media/zolee/Stuff/dell-zoli-git-annex/egyetem/2009-2010-sem2/media-processors$ --# End of transcript or log.-"""]]--> dup of-> [[git_annex_import_fails_on_filenames_with_newlines_in_them]]; closing as-> such. [[done]] --[[Joey]]
− doc/bugs/git_clone_ignores_annex.mdwn
@@ -1,25 +0,0 @@-### Please describe the problem.--More of a feature request than a bug. It would be nice if when creating a local clone with git clone this would run automatically:--ln -s ../../annex/.git/annex .git/annex--to hook up the annex. Just a minor thing, but I'd be nice.--### What steps will reproduce the problem?---### What version of git-annex are you using? On what operating system?---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[done]] --[[Joey]]
− doc/bugs/git_mv_before_commit_breaks_symlinks.mdwn
@@ -1,28 +0,0 @@-### Please describe the problem.--When I `git mv` a file that I just `git annex add`-ed without having `git commit`-ed it first, then the symlink will break.--### What steps will reproduce the problem?-- $ mkdir foo- $ echo hello > foo/bar- $ git annex add foo/bar- $ git mv foo/bar .--### What version of git-annex are you using? On what operating system?--5.20140529 on Debian testing--> This is fundamentally something git-annex cannot deal with,-> because there is no way to hook into git to fix the symlink when-> `git mv` moves the file.-> -> Instead, git-annex has several "good enough" fixes for the problem:->-> * As soon as you `git commit`, the pre-commit hook will run `git annex-> fix` and this will fix the symlink before it gets committed.-> * You can run `git annex fix` yourself after `git mv`.-> * Even `git annex add $file` will fix the symlink if the file is already-> annexed.-> -> So, [[done]] --[[Joey]]
− doc/bugs/git_pack-objects_eats_all_teh_ram.mdwn
@@ -1,21 +0,0 @@-### Please describe the problem.--I'm running git annex sync <remote> sync'ing a local direct mode remote to a local indirect mode remote.--As part of this process, git annex is running git pack-objects --keep-true-parents --honor-pack-keep --non-empty --all.--This eats all of my raspberry pi's ram for lunch. I think it even starts swapping, which would explain why it never seems to complete.--It's unclear why this is eating all my RAM, as I don't think I used to have this problem, and my repo didn't recently dramatically grow in size. (I added < 100 multi-gb files, but that shouldn't make a difference here, I think.)--Anyway It would be nice if there were a way to get git-annex to pass a sensible -window-memory here. I'm trying to use a wimpy machine, but I'm sure this could be a problem on a bigger machine too.--### What version of git-annex are you using? On what operating system?--$ git-annex version-git-annex version: 5.20141024-g613f396--$ uname -a-Linux raspberrypi 3.18.5+ #744 PREEMPT Fri Jan 30 18:19:07 GMT 2015 armv6l GNU/Linux--> [[done]]; not a git-annex bug AFAICS. --[[Joey]]
− doc/bugs/gitignore_for_DCIM_on_Android_misses_some_files.mdwn
@@ -1,17 +0,0 @@-### Please describe the problem.--When git-annex assistant on Android setups up the DCIM repo a .gitignore file is dropped into place which ignores .thumbnails/* . Unfortunately this doesn't match .thumbnails/.thumbdata* - I have a 700MB file which matches this pattern.--I suspect that making the pattern in .gitignore just .thumbnails should resolve this.--### What steps will reproduce the problem?--Create a repo--### What version of git-annex are you using? On what operating system?--Nightly build for Android from yesterday (2013-11-16)--### Please provide any additional information below.--> [[fixed|done]] --[[Joey]]
− doc/bugs/gitlab_repos_cannot_use_gcrypt.mdwn
@@ -1,33 +0,0 @@-It's not possible to use gcrypt with gitlab repos, despite the webapp-currently offering this as an option. The resulting remote works as far as-pushes go, but fails with an error "Failed to connect to remote to set it-up."--It seems that the gitlab repo is somehow in a state where git-annex-shell-configlist reports it's not yet a git-annex repo, but git-annex-shell-gcryptsetup fails with "gcryptsetup refusing to run; this repository already has a git-annex uuid!"--This does not happen when I try the same setup on a self-hosted repo.-Unsure what is causing git-annex-shell to behave this way on gitlab.---[[Joey]]--> Here's a minimal way to reproduce this problem:->-> 1. Make a new, empty repository on gitlab.com.-> 2. Run command: ssh git@gitlab.com git-annex-shell 'gcryptsetup' '/~/username/reponame.git' ':id:dummy'-> -> Leads to the failure as described above. But, the repo is new and empty-> and has not had any opportunity to get a git-annex uuid set..-> -> I wonder what version of git-annex gitlab.com is running? --[[Joey]]-->> gitlab tells me their version is 5.20140412ubuntu1. ->> I tried installing git-annex-shell from 5.20140412, but->> was not able to reproduce the problem using it. This makes me think the->> problem is somehow in gitlab's git-annex-shell integration code.->>->> Update: Root-caused and filed a bug:->> <https://gitlab.com/gitlab-org/gitlab-shell/issues/24->>->> This will need to be fixed on the gitlab side, so closing it here.->> [[done]] --[[Joey]]
− doc/bugs/glacier_fails_to_copy.mdwn
@@ -1,85 +0,0 @@-### Please describe the problem.-glacier copy shows the output of the glacier-cli help and a gpg error for each file and most of the files fail to copy.--### What steps will reproduce the problem?-1. git annex init "Photos"-2. cp -R ../photodir/ .-3. git annex add .-4. git commit -a -m added-5. export AWS_ACCESS_KEY_ID="***"-6. export AWS_SECRET_ACCESS_KEY="***"-7. git annex initremote glacier type=glacier encryption=shared vault=photos-8. git annex copy --auto --to glacier--### What version of git-annex are you using? On what operating system?-5.20150113-gcf247cf-Arch Linux (git-annex-bin package)--### Please provide any additional information below.-I get the following messages over and over again:-[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-copy 2003/10/14/085.jpg (checking glacier...) (to glacier...) -8% 0.0 B/s 0s-glacier <command> [args]-- Commands- vaults - Operations with vaults- jobs - Operations with jobs- upload - Upload files to a vault. If the vault doesn't exits, it is- created-- Common args:- --access_key - Your AWS Access Key ID. If not supplied, boto will- use the value of the environment variable- AWS_ACCESS_KEY_ID- --secret_key - Your AWS Secret Access Key. If not supplied, boto- will use the value of the environment variable- AWS_SECRET_ACCESS_KEY- --region - AWS region to use. Possible values: us-east-1, us-west-1,- us-west-2, ap-northeast-1, eu-west-1.- Default: us-east-1-- Vaults operations:-- List vaults:- glacier vaults -- Jobs operations:-- List jobs:- glacier jobs <vault name>-- Uploading files:-- glacier upload <vault name> <files>-- Examples : - glacier upload pics *.jpg- glacier upload pics a.jpg b.jpg--gpg: [stdout]: write error: Broken pipe-gpg: DBG: deflate: iobuf_write failed-gpg: build_packet failed: Broken pipe-gpg: [stdout]: write error: Broken pipe-gpg: iobuf_flush failed on close: Broken pipe-gpg: [stdout]: write error: Broken pipe-gpg: iobuf_flush failed on close: Broken pipe-gpg: symmetric encryption of '[stdin]' failed: Broken pipe-- user error (gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--batch","--passphrase-fd","227","--symmetric","--force-mdc","--no-textmode"] exited 2)-failed-git-annex: fd:230: hPutBuf: resource vanished (Broken pipe)--# lots more lines like this--ok -(Recording state in git...)-git-annex: copy: 230 failed--# End of transcript or log.-"""]]--> git-annex will now detect this misconfiguration and refuse to use it, so-> [[done]] --[[Joey]]
− doc/bugs/gpg_does_not_ask_for_password_inside_tmux.mdwn
@@ -1,25 +0,0 @@-### Please describe the problem.--When commands that need gpg like `git annex copy` are run inside tmux, the GPG prompt does not show up and the user cannot give their password.--Running the same command outside tmux causes GPG to properly show its prompt--### What steps will reproduce the problem?-- $ tmux- TMUX$ GIT_ANNEX_ROOT/runshell- TMUX$ git annex copy --not -in remote --to remote--git-annex will show the name of the first filename but will get stuck soon after that, waiting for GPG.--### What version of git-annex are you using? On what operating system?--git-annex 5.20140708-g8c9cc55c from the precompiled binaries, run inside tmux 1.6.--`tmux.conf` contains `set-option -g default-command $SHELL` (this means that a normal shell is spawned, not a login shell)--Ubuntu 12.04.4--[[!tag moreinfo]]--> [[done]]; apparently a local misconfiguration of some sort. --[[Joey]]
− doc/bugs/hS3_prevents_build.mdwn
@@ -1,3 +0,0 @@-The `hS3` dependency doesn't work with the `network` / `network-uri` split, which causes a build failure for `git-annex` in a fresh sandbox with its current version bounds. Either more gymnastics are needed to constrain `network` to accommodate `hS3`, or the `s3-aws` branch could be merged in if it's ready. Building `git-annex` with a `< 2.6` constraint on `network` does succeed.--> not a bug in git-annex, but in a dependency it uses, so [[done]]. (I already told the hS3 author about this, which is a very easy fix there, and he promised to fix it soon.) --[[Joey]]
− doc/bugs/how_to_get_git-annex_shell_on_MAC__63__.mdwn
@@ -1,27 +0,0 @@-### Please describe the problem.-shiny-2:MacOS ovi$ git annex sync-git: 'annex' is not a git command. See 'git --help'.-shiny-2:MacOS ovi$--### What steps will reproduce the problem?-INstall git-annex for MAC like this: http://git-annex.branchable.com/install/OSX/ via .dmg file then try above commands from your terminal--### What version of git-annex are you using? On what operating system?-Version: 5.20140420-ga25b8bb Build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash -Mac OSX 10.9.2--### Please provide any additional information below.-I tried adding the path to my .bash_profile manually like this but it didn't help (actually, this was already in there, I just added the path to git-annex to the string):-export PATH=/opt/local/bin:/opt/local/sbin/Applications/git-annex.app/Contents/MacOS:$PATH--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> To the extent this is a bug report, it's a duplicate of-> [[standalone_tarball_symlink_to_PATH_broken]].-> [[closing dup|done]]. --[[Joey]]
− doc/bugs/id__95__rsa_on_android.mdwn
@@ -1,32 +0,0 @@-### Please describe the problem.--I generated id_rsa and id_rsa.pub from the android shell.-After copying the id_rsa.pub file on my server, ssh on android complains because id_rsa permissions on the phone are too open (660).-Chmod 600 id_rsa on /sdcard/git-annex.home/.ssh/id_rsa has no effect, i.e. permissions remain 660.--### What steps will reproduce the problem?-use ssh-keygen to generate keys, default location is /sdcard/git-annex.home/.ssh/-copy id_rsa.pub on ssh server, try to connect from android to ssh server.---### What version of git-annex are you using? On what operating system?-latest git-annex.apk (2014-03-06) on android 4.4.2--### Please provide any additional information below.---root@android:/ # /data/data/ga.androidterm/runshell-Falling back to hardcoded app location; cannot find expected files in /data/app-lib--root@android:/sdcard/git-annex.home # ssh MYSERVERIP -p PORT -l USERNAME--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-@ WARNING: UNPROTECTED PRIVATE KEY FILE! @-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-Permissions 0660 for '/sdcard/git-annex.home/.ssh/id_rsa' are too open.-It is required that your private key files are NOT accessible by others.-This private key will be ignored.-bad permissions: ignore key: /sdcard/git-annex.home/.ssh/id_rsa---> [[fixed|done]]; daily build is updated. --[[Joey]]
− doc/bugs/illegal_hardware_instruction_on_OSX_for_5.20131230-g9a495e6.mdwn
@@ -1,25 +0,0 @@-### Please describe the problem.--git-annex exists with "illegal hardware instruction" on OSX--### What steps will reproduce the problem?--git annex webapp--### What version of git-annex are you using? On what operating system?--git annex 5.20131230-g9a495e6-OSX 10.9.1--### Please provide any additional information below.--[[!format sh """--start git assistant with "git annex web app"-safari open tab, but shows connection refused-git annex crashed with "illegal hardware instruction"--# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/import_leaves_empty_directories_behind.mdwn
@@ -1,20 +0,0 @@-### Please describe the problem.--git annex import leaves empties directories behind.--now maybe that's desired, but in this case, why are the *files* gone and not the directories?--### What steps will reproduce the problem?--<pre>-mkdir -p /tmp/foo/bar-touch /tmp/foo/bar/file-git annex import /tmp/foo-[ -d /tmp/foo/bar ] && echo 'fail: directory still there!'-</pre>--### What version of git-annex are you using? On what operating system?--5.20141125--> [[done]] per my earlier comment --[[Joey]]
− doc/bugs/import_leaves_stray___96__.tmp__96___files_if_interrupted.mdwn
@@ -1,12 +0,0 @@-### Please describe the problem.--I have found various `.tmp` files in a directory in which I performed various `git annex import` that failed because the destination disk was full.--These files should be removed when import detects that its has no more space to proceed and exists.--### What version of git-annex are you using? On what operating system?--git-annex 5.20140517.4 in Ubuntu 12.04.--> The ".tmp" means this dropping is left by viaTmp, and I see why.-> [[fixed|done]] --[[Joey]]
− doc/bugs/import_memleak_from_the_assistant.mdwn
@@ -1,1608 +0,0 @@-### Please describe the problem.-Git annex daemon are memleaking abundantly thus making it unusable for a long period of time. It is currently taking 38.8% of my available ram (8go) and has been launched arround 14h today.--### What steps will reproduce the problem?-The assistant has been launched using "git annex assistant" on a repository-created by the Webapp (the Webapp wasn't running at that time).--If I simply launch the Webapp, I've got the same result of memleaking.--### What version of git-annex are you using? On what operating system?-git-annex version: 5.20131213-build flags: Assistant Webapp Pairing S3 WebDAV Inotify DBus XMPP Feeds Quvi TDFA-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav glacier hook--On Ubuntu LTS using the ppa.--### Please provide any additional information below.-This daemon.log come from a very fast moving repository but this also happen on other way slower moving repositories.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--me@dolgoff ~/public/.git/annex ps avx | grep git-14647 pts/7 S+ 0:00 0 150 13493 948 0.0 grep -i --color=auto git-15910 ? Sl 273:24 0 39530 3879109 3207152 39.3 git-annex assistant-15925 ? R 134:10 1439 1283 544320 35660 0.4 git --git-dir=/home/me/public/.git --work-tree=/home/me/public -c core.bare=false cat-file --batch-15972 ? S 0:01 114 1283 530064 10576 0.1 git --git-dir=/home/me/public/.git --work-tree=/home/me/public -c core.bare=false cat-file --batch-16120 ? SN 0:00 0 1283 18196 1156 0.0 git --git-dir=/home/me/public/.git --work-tree=/home/me/public -c core.bare=false check-attr -z --stdin annex.backend annex.numcopies ---25646 ? SNl 0:01 0 42547 222616 22132 0.2 git-annex transferkeys-25667 ? SN 0:00 0 1447 117648 1976 0.0 git --git-dir=/home/me/public/.git --work-tree=/home/me/public -c core.bare=false cat-file --batch-25677 ? SNs 0:00 0 410 42657 2620 0.0 ssh: .git/annex/ssh/griboiedov [mux]--daemon.log-[2013-12-23 21:04:24 CET] NetWatcherFallback: Syncing with origin-From griboiedov:public- 331ab7e..763310f annex/direct/master -> origin/annex/direct/master- 4caf626..2171219 git-annex -> origin/git-annex- 73c5341..153ec5a synced/master -> origin/synced/master-Updating 73c5341..763310f-Fast-forward-Auto packing the repository for optimum performance. You may also-run "git gc" manually. See "git help gc" for more information.-warning: There are too many unreachable loose objects; run 'git prune' to remove them.- mails/.mhonarc.db | 2 +-- mails/{bin16MhWOPiG7.bin => binjMrfB7aM7s.bin} | 0- mails/{binQBJzxA5RDD.bin => binuVoVGDloKB.bin} | 0- mails/{jpgaShwRlHqXe.jpg => jpg9a_S8ignCJ.jpg} | 0- mails/{jpgJuMwpbTZuo.jpg => jpgAU20k3zk5w.jpg} | 0- mails/{jpgfkvs_VW3jY.jpg => jpgAsv158YPXC.jpg} | 0- mails/{jpgLxB5GBQiyP.jpg => jpgCfz3HNRLYo.jpg} | 0- mails/{jpg1QSm88B_oJ.jpg => jpgCw4FBEkcOV.jpg} | 0- mails/{jpgy8l7kt7I0v.jpg => jpgJnSKE5skVx.jpg} | 0- mails/{jpg8x0JSWWfmK.jpg => jpgK4Lmnj5kJU.jpg} | 0- mails/{jpge0T37S_zYg.jpg => jpgKyEVJPJdPY.jpg} | 0- mails/{jpg1jMp8X95a8.jpg => jpgMi7I6uLnaD.jpg} | 0- mails/{jpg2JyFa9xlTU.jpg => jpgScmPPKPHFq.jpg} | 0- mails/{jpgAnrbLOKtQO.jpg => jpgU2vrhPtw4a.jpg} | 0- mails/{jpg9UIRRve9l7.jpg => jpgV1Ek5XTDpl.jpg} | 0- mails/{jpg0du_rqAmnI.jpg => jpgVt3cWtM2fp.jpg} | 0- mails/{jpgmyWk1QqZ0G.jpg => jpgVzzX55uqdu.jpg} | 0- mails/{jpgNzn6pCkQ7B.jpg => jpgbS7_tLed4m.jpg} | 0- mails/{jpgmChZ6KvYvR.jpg => jpgdQNUXemgWT.jpg} | 0- mails/{jpgwu68ViO7tN.jpg => jpgh1EzKSHWvb.jpg} | 0- mails/{jpgmUuI33SG9G.jpg => jpghvPaq3_Be0.jpg} | 0- mails/{jpgvzPlOi4YH2.jpg => jpgim5vpaDawh.jpg} | 0- mails/{jpgysNt2t743E.jpg => jpgjY_paWcDcr.jpg} | 0- mails/{jpgFicFpbY5n4.jpg => jpgkU70wDyd7n.jpg} | 0- mails/{jpgpjFS0Ztnqa.jpg => jpgmFXSd2Dp97.jpg} | 0- mails/{jpgqOZX1xKVfl.jpg => jpgoHLfpoWcUO.jpg} | 0- mails/{jpgTVf7RAQot8.jpg => jpgpIVZxq60Dk.jpg} | 0- mails/{jpgkq63BbVlrP.jpg => jpgrzViZx_4aI.jpg} | 0- mails/{jpgxpwzaJnSuX.jpg => jpgtvEG4unHFl.jpg} | 0- mails/{jpgldUBRrRrcn.jpg => jpgwgZCUHCRLD.jpg} | 0- mails/{jpgsKpQQEouso.jpg => jpgyDMQ3JRqJQ.jpg} | 0- mails/msg00006.html | 2 +-- mails/msg00018.html | 2 +-- mails/msg00023.html | 2 +-- mails/msg00024.html | 2 +-- mails/msg00025.html | 2 +-- mails/msg00026.html | 2 +-- mails/msg00027.html | 2 +-- mails/msg00028.html | 2 +-- mails/msg00032.html | 2 +-- mails/msg00040.html | 2 +-- mails/msg00041.html | 2 +-- mails/msg00042.html | 2 +-- mails/msg00055.html | 2 +-- mails/{pdfyd4yHyuh7I.pdf => pdf82oysVxMKf.pdf} | 0- mails/{pdfX5i1zjd35G.pdf => pdfDH4ZUAcsJE.pdf} | 0- mails/{pdfDyhw6AitFo.pdf => pdfPePGLsDAym.pdf} | 0- mails/{pdfkLRxiO4YS0.pdf => pdfU9I3NUvHOG.pdf} | 0- mails/{pgpI_5jxFR7VZ.pgp => pgpBKaIcivKYa.pgp} | 0- mails/{pngKStItI4meN.png => png9O3vtGcotx.png} | 0- mails/{pngN5cn2FvoWV.png => pngBkJAx0zfhF.png} | 0- 51 files changed, 14 insertions(+), 14 deletions(-)- rename mails/{bin16MhWOPiG7.bin => binjMrfB7aM7s.bin} (100%)- rename mails/{binQBJzxA5RDD.bin => binuVoVGDloKB.bin} (100%)- rename mails/{jpgaShwRlHqXe.jpg => jpg9a_S8ignCJ.jpg} (100%)- rename mails/{jpgJuMwpbTZuo.jpg => jpgAU20k3zk5w.jpg} (100%)- rename mails/{jpgfkvs_VW3jY.jpg => jpgAsv158YPXC.jpg} (100%)- rename mails/{jpgLxB5GBQiyP.jpg => jpgCfz3HNRLYo.jpg} (100%)- rename mails/{jpg1QSm88B_oJ.jpg => jpgCw4FBEkcOV.jpg} (100%)- rename mails/{jpgy8l7kt7I0v.jpg => jpgJnSKE5skVx.jpg} (100%)- rename mails/{jpg8x0JSWWfmK.jpg => jpgK4Lmnj5kJU.jpg} (100%)- rename mails/{jpge0T37S_zYg.jpg => jpgKyEVJPJdPY.jpg} (100%)- rename mails/{jpg1jMp8X95a8.jpg => jpgMi7I6uLnaD.jpg} (100%)- rename mails/{jpg2JyFa9xlTU.jpg => jpgScmPPKPHFq.jpg} (100%)- rename mails/{jpgAnrbLOKtQO.jpg => jpgU2vrhPtw4a.jpg} (100%)- rename mails/{jpg9UIRRve9l7.jpg => jpgV1Ek5XTDpl.jpg} (100%)- rename mails/{jpg0du_rqAmnI.jpg => jpgVt3cWtM2fp.jpg} (100%)- rename mails/{jpgmyWk1QqZ0G.jpg => jpgVzzX55uqdu.jpg} (100%)- rename mails/{jpgNzn6pCkQ7B.jpg => jpgbS7_tLed4m.jpg} (100%)- rename mails/{jpgmChZ6KvYvR.jpg => jpgdQNUXemgWT.jpg} (100%)- rename mails/{jpgwu68ViO7tN.jpg => jpgh1EzKSHWvb.jpg} (100%)- rename mails/{jpgmUuI33SG9G.jpg => jpghvPaq3_Be0.jpg} (100%)- rename mails/{jpgvzPlOi4YH2.jpg => jpgim5vpaDawh.jpg} (100%)- rename mails/{jpgysNt2t743E.jpg => jpgjY_paWcDcr.jpg} (100%)- rename mails/{jpgFicFpbY5n4.jpg => jpgkU70wDyd7n.jpg} (100%)- rename mails/{jpgpjFS0Ztnqa.jpg => jpgmFXSd2Dp97.jpg} (100%)- rename mails/{jpgqOZX1xKVfl.jpg => jpgoHLfpoWcUO.jpg} (100%)- rename mails/{jpgTVf7RAQot8.jpg => jpgpIVZxq60Dk.jpg} (100%)- rename mails/{jpgkq63BbVlrP.jpg => jpgrzViZx_4aI.jpg} (100%)- rename mails/{jpgxpwzaJnSuX.jpg => jpgtvEG4unHFl.jpg} (100%)- rename mails/{jpgldUBRrRrcn.jpg => jpgwgZCUHCRLD.jpg} (100%)- rename mails/{jpgsKpQQEouso.jpg => jpgyDMQ3JRqJQ.jpg} (100%)- rename mails/{pdfyd4yHyuh7I.pdf => pdf82oysVxMKf.pdf} (100%)- rename mails/{pdfX5i1zjd35G.pdf => pdfDH4ZUAcsJE.pdf} (100%)- rename mails/{pdfDyhw6AitFo.pdf => pdfPePGLsDAym.pdf} (100%)- rename mails/{pdfkLRxiO4YS0.pdf => pdfU9I3NUvHOG.pdf} (100%)- rename mails/{pgpI_5jxFR7VZ.pgp => pgpBKaIcivKYa.pgp} (100%)- rename mails/{pngKStItI4meN.png => png9O3vtGcotx.png} (100%)- rename mails/{pngN5cn2FvoWV.png => pngBkJAx0zfhF.png} (100%)-[2013-12-23 21:04:40 CET] Committer: Committing changes to git-[2013-12-23 21:04:40 CET] Pusher: Syncing with public, dolgoff, origin-error: Ref refs/heads/synced/git-annex is at 4f98427ba635b1548da21b5e6e1a84c49f708284 but expected 217121951ca4ede24d91fe92acee9061a527ba93-remote: error: failed to lock refs/heads/synced/git-annex[K-Auto packing the repository for optimum performance.-Auto packing the repository for optimum performance.-fatal: Unable to create '/home/me/public/.git/packed-refs.lock': Le fichier existe.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-error: failed to run pack-refs-To /home/me/public- ! [remote rejected] git-annex -> synced/git-annex (failed to lock)-error: failed to push some refs to '/home/me/public'-[2013-12-23 21:04:42 CET] Committer: Adding pngBkJAx0zfhF.png png9O3vtGcotx.png pgpBKaIcivKYa.pgp pdfU9I3NUvHOG.pdf pdfPePGLsDAym.pdf pdfDH4ZUAcsJE.pdf pdf82oysVxMKf.pdf msg00040.html msg00032.html and 39 other files-ok-(Recording state in git...)-(Recording state in git...)-(merging synced/git-annex into git-annex...)-(Recording state in git...)--(Recording state in git...)-(Recording state in git...)-add mails/pngBkJAx0zfhF.png ok-add mails/png9O3vtGcotx.png ok-add mails/pgpBKaIcivKYa.pgp ok-add mails/pdfU9I3NUvHOG.pdf ok-add mails/pdfPePGLsDAym.pdf ok-add mails/pdfDH4ZUAcsJE.pdf ok-add mails/pdf82oysVxMKf.pdf ok-add mails/msg00040.html ok-add mails/msg00032.html ok-add mails/msg00028.html ok-add mails/msg00027.html ok-add mails/msg00026.html ok-add mails/msg00025.html ok-add mails/msg00024.html ok-add mails/msg00023.html ok-add mails/msg00018.html ok-add mails/msg00006.html ok-add mails/jpgyDMQ3JRqJQ.jpg ok-add mails/jpgwgZCUHCRLD.jpg ok-add mails/jpgtvEG4unHFl.jpg ok-add mails/jpgrzViZx_4aI.jpg ok-add mails/jpgpIVZxq60Dk.jpg ok-add mails/jpgoHLfpoWcUO.jpg ok-add mails/jpgmFXSd2Dp97.jpg ok-add mails/jpgmFXSd2Dp97.jpg ok-add mails/jpgkU70wDyd7n.jpg ok-add mails/jpgjY_paWcDcr.jpg ok-add mails/jpgim5vpaDawh.jpg ok-add mails/jpghvPaq3_Be0.jpg ok-add mails/jpgh1EzKSHWvb.jpg ok-add mails/jpgdQNUXemgWT.jpg ok-add mails/jpgbS7_tLed4m.jpg ok-add mails/jpgbS7_tLed4m.jpg ok-add mails/jpgVzzX55uqdu.jpg ok-add mails/jpgVzzX55uqdu.jpg ok-add mails/jpgVt3cWtM2fp.jpg ok-add mails/jpgV1Ek5XTDpl.jpg ok-add mails/jpgV1Ek5XTDpl.jpg ok-add mails/jpgU2vrhPtw4a.jpg ok-add mails/jpgU2vrhPtw4a.jpg ok-add mails/jpgScmPPKPHFq.jpg ok-add mails/jpgScmPPKPHFq.jpg ok-add mails/jpgMi7I6uLnaD.jpg ok-add mails/jpgMi7I6uLnaD.jpg ok-add mails/jpgKyEVJPJdPY.jpg ok-add mails/jpgKyEVJPJdPY.jpg ok-add mails/jpgK4Lmnj5kJU.jpg ok-add mails/jpgK4Lmnj5kJU.jpg ok-add mails/jpgJnSKE5skVx.jpg ok-add mails/jpgCw4FBEkcOV.jpg ok-add mails/jpgCw4FBEkcOV.jpg ok-add mails/jpgCfz3HNRLYo.jpg ok-add mails/jpgCfz3HNRLYo.jpg ok-add mails/jpgAsv158YPXC.jpg ok-add mails/jpgAsv158YPXC.jpg ok-add mails/jpgAU20k3zk5w.jpg ok-add mails/jpgAU20k3zk5w.jpg ok-add mails/jpg9a_S8ignCJ.jpg ok-add mails/jpg9a_S8ignCJ.jpg ok-add mails/binuVoVGDloKB.bin ok-add mails/binjMrfB7aM7s.bin ok-add mails/binjMrfB7aM7s.bin ok-add mails/.mhonarc.db [2013-12-23 21:04:43 CET] Committer: Committing changes to git-[2013-12-23 21:04:43 CET] Transferrer: Uploaded msg00028.html-[2013-12-23 21:04:43 CET] Transferrer: Uploaded jpgyDMQ3JRqJQ.jpg-[2013-12-23 21:04:43 CET] Transferrer: Uploaded jpgkU70wDyd7n.jpg-[2013-12-23 21:04:43 CET] Transferrer: Uploaded jpgVt3cWtM2fp.jpg-[2013-12-23 21:04:43 CET] Transferrer: Uploaded jpgKyEVJPJdPY.jpg-[2013-12-23 21:04:43 CET] Transferrer: Uploaded jpgAsv158YPXC.jpg-[2013-12-23 21:04:43 CET] Transferrer: Uploaded .mhonarc.db-[2013-12-23 21:04:48 CET] Committer: Adding msg00041.html-ok-(Recording state in git...)-add mails/msg00041.html [2013-12-23 21:04:48 CET] Committer: Committing changes to git-warning: There are too many unreachable loose objects; run 'git prune' to remove them.-To /home/me/public- 2171219..4f98427 git-annex -> synced/git-annex-error: Ref refs/heads/synced/git-annex is at 90996528a22e94d52911e1abc8b90eb451d40dee but expected b0f556fff29e038eba46c95fecb4d1cc57d7dacd-remote: error: failed to lock refs/heads/synced/git-annex[K-To griboiedov:public- ! [remote rejected] git-annex -> synced/git-annex (failed to lock)-error: failed to push some refs to 'griboiedov:public'-To griboiedov:public- b0f556f..9099652 git-annex -> synced/git-annex-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-From /home/me/public- 73c5341..763310f annex/direct/master -> dolgoff/annex/direct/master- e326ebb..c8c86fe git-annex -> dolgoff/git-annex- e326ebb..4f98427 synced/git-annex -> dolgoff/synced/git-annex-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-12-23 21:04:59 CET] Committer: Adding msg00042.html-ok-(Recording state in git...)-add mails/msg00042.html [2013-12-23 21:04:59 CET] Committer: Committing changes to git-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-From griboiedov:public- 2171219..c7b4195 git-annex -> origin/git-annex-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-Auto packing the repository for optimum performance.-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-12-23 21:05:07 CET] Committer: Adding msg00055.html-ok-(Recording state in git...)-(merging synced/git-annex into git-annex...)-(Recording state in git...)-add mails/msg00055.html [2013-12-23 21:05:07 CET] Committer: Committing changes to git-To griboiedov:public- 9099652..c8c86fe git-annex -> synced/git-annex-warning: There are too many unreachable loose objects; run 'git prune' to remove them.-To /home/me/public- c7b4195..c6278b9 git-annex -> synced/git-annex-[2013-12-23 21:05:13 CET] Pusher: Syncing with public, dolgoff, origin-fatal: Unable to create '/home/me/public/.git/refs/heads/synced/git-annex.lock': Le fichier existe.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-fatal: The remote end hung up unexpectedly-fatal: The remote end hung up unexpectedly-Auto packing the repository for optimum performance.-To griboiedov:public- c8c86fe..c6278b9 git-annex -> synced/git-annex-warning: There are too many unreachable loose objects; run 'git prune' to remove them.-To /home/me/public- c6278b9..fe337a3 git-annex -> synced/git-annex-From /home/me/public- c8c86fe..fe337a3 git-annex -> dolgoff/git-annex- c6278b9..fe337a3 synced/git-annex -> dolgoff/synced/git-annex-Everything up-to-date-[2013-12-23 22:04:54 CET] NetWatcherFallback: Syncing with origin-From griboiedov:public- 763310f..4a82c94 annex/direct/master -> origin/annex/direct/master- c7b4195..4051e5f git-annex -> origin/git-annex- 763310f..4a82c94 synced/master -> origin/synced/master-Updating 763310f..4a82c94-Fast-forward-Auto packing the repository for optimum performance. You may also-run "git gc" manually. See "git help gc" for more information.-warning: There are too many unreachable loose objects; run 'git prune' to remove them.- code.html | 2 +-- libre.html | 2 +-- mails/.mhonarc.db | 2 +-- mails/{binuVoVGDloKB.bin => bin5AtY2Z6c7Y.bin} | 0- mails/{binjMrfB7aM7s.bin => binrPJBAv0ZVt.bin} | 0- mails/{jpghvPaq3_Be0.jpg => jpg1UMqWMrG7a.jpg} | 0- mails/{jpgK4Lmnj5kJU.jpg => jpg3DFKEEjrkk.jpg} | 0- mails/{jpgMi7I6uLnaD.jpg => jpg3krTrtBEkb.jpg} | 0- mails/{jpgbS7_tLed4m.jpg => jpg7fboROgExn.jpg} | 0- mails/{jpgVt3cWtM2fp.jpg => jpg924jbjXysn.jpg} | 0- mails/{jpgCfz3HNRLYo.jpg => jpgE97mvEaO69.jpg} | 0- mails/{jpgAU20k3zk5w.jpg => jpgFNaMv1VRz6.jpg} | 0- mails/{jpgmFXSd2Dp97.jpg => jpgHsS_2rOL6Y.jpg} | 0- mails/{jpgScmPPKPHFq.jpg => jpgKXplac49vA.jpg} | 0- mails/{jpgJnSKE5skVx.jpg => jpgLRAgF_kk2y.jpg} | 0- mails/{jpgKyEVJPJdPY.jpg => jpgLqoIemkRHW.jpg} | 0- mails/{jpgVzzX55uqdu.jpg => jpgNehfnysPB_.jpg} | 0- mails/{jpg9a_S8ignCJ.jpg => jpgOerFzfMUut.jpg} | 0- mails/{jpgim5vpaDawh.jpg => jpgQJv5bJd7Z_.jpg} | 0- mails/{jpgU2vrhPtw4a.jpg => jpgTmkvSP5OCN.jpg} | 0- mails/{jpgAsv158YPXC.jpg => jpgWN0orLG26U.jpg} | 0- mails/{jpgkU70wDyd7n.jpg => jpg_TlOpz5yEI.jpg} | 0- mails/{jpgCw4FBEkcOV.jpg => jpgb6Amcdbt_p.jpg} | 0- mails/{jpgrzViZx_4aI.jpg => jpgd4jRWMqhI3.jpg} | 0- mails/{jpgyDMQ3JRqJQ.jpg => jpgdu9EKZP18V.jpg} | 0- mails/{jpgoHLfpoWcUO.jpg => jpgfTUANHcfnz.jpg} | 0- mails/{jpgjY_paWcDcr.jpg => jpggs4xMeCwqp.jpg} | 0- mails/{jpgh1EzKSHWvb.jpg => jpgkoEH5SoLvR.jpg} | 0- mails/{jpgwgZCUHCRLD.jpg => jpgmcn6CC58d1.jpg} | 0- mails/{jpgV1Ek5XTDpl.jpg => jpgqYEKj5yxhL.jpg} | 0- mails/{jpgtvEG4unHFl.jpg => jpgygiJgjjLdg.jpg} | 0- mails/{jpgdQNUXemgWT.jpg => jpgzKwM4quoCJ.jpg} | 0- mails/{jpgpIVZxq60Dk.jpg => jpgzTcmXOboBC.jpg} | 0- mails/maillist.html | 2 +-- mails/msg00006.html | 2 +-- mails/msg00018.html | 2 +-- mails/msg00023.html | 2 +-- mails/msg00024.html | 2 +-- mails/msg00025.html | 2 +-- mails/msg00026.html | 2 +-- mails/msg00027.html | 2 +-- mails/msg00028.html | 2 +-- mails/msg00032.html | 2 +-- mails/msg00040.html | 2 +-- mails/msg00041.html | 2 +-- mails/msg00042.html | 2 +-- mails/msg00048.html | 2 +-- mails/msg00049.html | 2 +-- mails/msg00050.html | 2 +-- mails/msg00051.html | 2 +-- mails/msg00052.html | 1 -- mails/msg00053.html | 1 -- mails/msg00054.html | 1 -- mails/msg00055.html | 1 -- mails/{pdfDH4ZUAcsJE.pdf => pdf2EajO3nKRV.pdf} | 0- mails/{pdfU9I3NUvHOG.pdf => pdf3vLwdvymu6.pdf} | 0- mails/{pdfPePGLsDAym.pdf => pdfF0TCUFYgxV.pdf} | 0- mails/{pdf82oysVxMKf.pdf => pdfmQ9u5fWUkK.pdf} | 0- mails/{pgpBKaIcivKYa.pgp => pgpcO0uja6Z0Q.pgp} | 0- mails/{png9O3vtGcotx.png => pngfmEm5tkUDn.png} | 0- mails/{pngBkJAx0zfhF.png => pngphoxRepygs.png} | 0- mails/threads.html | 2 +-- output.html | 2 +-- reflets.html | 2 +-- 64 files changed, 23 insertions(+), 27 deletions(-)- rename mails/{binuVoVGDloKB.bin => bin5AtY2Z6c7Y.bin} (100%)- rename mails/{binjMrfB7aM7s.bin => binrPJBAv0ZVt.bin} (100%)- rename mails/{jpghvPaq3_Be0.jpg => jpg1UMqWMrG7a.jpg} (100%)- rename mails/{jpgK4Lmnj5kJU.jpg => jpg3DFKEEjrkk.jpg} (100%)- rename mails/{jpgMi7I6uLnaD.jpg => jpg3krTrtBEkb.jpg} (100%)- rename mails/{jpgbS7_tLed4m.jpg => jpg7fboROgExn.jpg} (100%)- rename mails/{jpgVt3cWtM2fp.jpg => jpg924jbjXysn.jpg} (100%)- rename mails/{jpgCfz3HNRLYo.jpg => jpgE97mvEaO69.jpg} (100%)- rename mails/{jpgAU20k3zk5w.jpg => jpgFNaMv1VRz6.jpg} (100%)- rename mails/{jpgmFXSd2Dp97.jpg => jpgHsS_2rOL6Y.jpg} (100%)- rename mails/{jpgScmPPKPHFq.jpg => jpgKXplac49vA.jpg} (100%)- rename mails/{jpgJnSKE5skVx.jpg => jpgLRAgF_kk2y.jpg} (100%)- rename mails/{jpgKyEVJPJdPY.jpg => jpgLqoIemkRHW.jpg} (100%)- rename mails/{jpgVzzX55uqdu.jpg => jpgNehfnysPB_.jpg} (100%)- rename mails/{jpg9a_S8ignCJ.jpg => jpgOerFzfMUut.jpg} (100%)- rename mails/{jpgim5vpaDawh.jpg => jpgQJv5bJd7Z_.jpg} (100%)- rename mails/{jpgU2vrhPtw4a.jpg => jpgTmkvSP5OCN.jpg} (100%)- rename mails/{jpgAsv158YPXC.jpg => jpgWN0orLG26U.jpg} (100%)- rename mails/{jpgkU70wDyd7n.jpg => jpg_TlOpz5yEI.jpg} (100%)- rename mails/{jpgCw4FBEkcOV.jpg => jpgb6Amcdbt_p.jpg} (100%)- rename mails/{jpgrzViZx_4aI.jpg => jpgd4jRWMqhI3.jpg} (100%)- rename mails/{jpgyDMQ3JRqJQ.jpg => jpgdu9EKZP18V.jpg} (100%)- rename mails/{jpgoHLfpoWcUO.jpg => jpgfTUANHcfnz.jpg} (100%)- rename mails/{jpgjY_paWcDcr.jpg => jpggs4xMeCwqp.jpg} (100%)- rename mails/{jpgh1EzKSHWvb.jpg => jpgkoEH5SoLvR.jpg} (100%)- rename mails/{jpgwgZCUHCRLD.jpg => jpgmcn6CC58d1.jpg} (100%)- rename mails/{jpgV1Ek5XTDpl.jpg => jpgqYEKj5yxhL.jpg} (100%)- rename mails/{jpgtvEG4unHFl.jpg => jpgygiJgjjLdg.jpg} (100%)- rename mails/{jpgdQNUXemgWT.jpg => jpgzKwM4quoCJ.jpg} (100%)- rename mails/{jpgpIVZxq60Dk.jpg => jpgzTcmXOboBC.jpg} (100%)- delete mode 120000 mails/msg00052.html- delete mode 120000 mails/msg00053.html- delete mode 120000 mails/msg00054.html- delete mode 120000 mails/msg00055.html- rename mails/{pdfDH4ZUAcsJE.pdf => pdf2EajO3nKRV.pdf} (100%)- rename mails/{pdfU9I3NUvHOG.pdf => pdf3vLwdvymu6.pdf} (100%)- rename mails/{pdfPePGLsDAym.pdf => pdfF0TCUFYgxV.pdf} (100%)- rename mails/{pdf82oysVxMKf.pdf => pdfmQ9u5fWUkK.pdf} (100%)- rename mails/{pgpBKaIcivKYa.pgp => pgpcO0uja6Z0Q.pgp} (100%)- rename mails/{png9O3vtGcotx.png => pngfmEm5tkUDn.png} (100%)- rename mails/{pngBkJAx0zfhF.png => pngphoxRepygs.png} (100%)-[2013-12-23 22:05:12 CET] Committer: Committing changes to git-[2013-12-23 22:05:13 CET] Pusher: Syncing with public, dolgoff, origin-Auto packing the repository for optimum performance.-fatal: Unable to create '/home/me/public/.git/refs/heads/synced/git-annex.lock': Le fichier existe.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-fatal: The remote end hung up unexpectedly-fatal: The remote end hung up unexpectedly-[2013-12-23 22:05:16 CET] Committer: Adding reflets.html output.html threads.html pngphoxRepygs.png pngfmEm5tkUDn.png pgpcO0uja6Z0Q.pgp pdfmQ9u5fWUkK.pdf pdfF0TCUFYgxV.pdf pdf3vLwdvymu6.pdf and 51 other files-ok-(Recording state in git...)-(Recording state in git...)-(merging synced/git-annex into git-annex...)-(Recording state in git...)--(Recording state in git...)-(Recording state in git...)-(Recording state in git...)-add reflets.html ok-add reflets.html ok-add output.html ok-add mails/threads.html ok-add mails/pngphoxRepygs.png ok-add mails/pngfmEm5tkUDn.png ok-add mails/pgpcO0uja6Z0Q.pgp ok-add mails/pdfmQ9u5fWUkK.pdf ok-add mails/pdfF0TCUFYgxV.pdf ok-add mails/pdf3vLwdvymu6.pdf ok-add mails/pdf2EajO3nKRV.pdf ok-add mails/msg00051.html ok-add mails/msg00050.html ok-add mails/msg00049.html ok-add mails/msg00048.html ok-add mails/msg00042.html ok-add mails/msg00041.html ok-add mails/msg00040.html ok-add mails/msg00032.html ok-add mails/msg00032.html ok-add mails/msg00028.html ok-add mails/msg00027.html ok-add mails/msg00026.html ok-add mails/msg00025.html ok-add mails/msg00024.html ok-add mails/msg00023.html ok-add mails/msg00018.html ok-add mails/msg00006.html ok-add mails/maillist.html ok-add mails/jpgzTcmXOboBC.jpg ok-add mails/jpgzTcmXOboBC.jpg ok-add mails/jpgzKwM4quoCJ.jpg ok-add mails/jpgygiJgjjLdg.jpg ok-add mails/jpgqYEKj5yxhL.jpg ok-add mails/jpgmcn6CC58d1.jpg ok-add mails/jpgkoEH5SoLvR.jpg ok-add mails/jpggs4xMeCwqp.jpg ok-add mails/jpggs4xMeCwqp.jpg ok-add mails/jpgfTUANHcfnz.jpg ok-add mails/jpgdu9EKZP18V.jpg ok-add mails/jpgd4jRWMqhI3.jpg ok-add mails/jpgb6Amcdbt_p.jpg ok-add mails/jpgb6Amcdbt_p.jpg ok-add mails/jpg_TlOpz5yEI.jpg ok-add mails/jpgWN0orLG26U.jpg ok-add mails/jpgWN0orLG26U.jpg ok-add mails/jpgTmkvSP5OCN.jpg ok-add mails/jpgTmkvSP5OCN.jpg ok-add mails/jpgQJv5bJd7Z_.jpg ok-add mails/jpgOerFzfMUut.jpg ok-add mails/jpgOerFzfMUut.jpg ok-add mails/jpgNehfnysPB_.jpg ok-add mails/jpgNehfnysPB_.jpg ok-add mails/jpgLqoIemkRHW.jpg ok-add mails/jpgLqoIemkRHW.jpg ok-add mails/jpgLRAgF_kk2y.jpg ok-add mails/jpgKXplac49vA.jpg ok-add mails/jpgKXplac49vA.jpg ok-add mails/jpgHsS_2rOL6Y.jpg ok-add mails/jpgHsS_2rOL6Y.jpg ok-add mails/jpgFNaMv1VRz6.jpg ok-add mails/jpgFNaMv1VRz6.jpg ok-add mails/jpgE97mvEaO69.jpg ok-add mails/jpgE97mvEaO69.jpg ok-add mails/jpg924jbjXysn.jpg ok-add mails/jpg7fboROgExn.jpg ok-add mails/jpg7fboROgExn.jpg ok-add mails/jpg3krTrtBEkb.jpg ok-add mails/jpg3krTrtBEkb.jpg ok-add mails/jpg3DFKEEjrkk.jpg ok-add mails/jpg3DFKEEjrkk.jpg ok-add mails/jpg1UMqWMrG7a.jpg ok-add mails/binrPJBAv0ZVt.bin ok-add mails/bin5AtY2Z6c7Y.bin ok-add mails/.mhonarc.db ok-add libre.html ok-add code.html [2013-12-23 22:05:17 CET] Committer: Committing changes to git-[2013-12-23 22:05:17 CET] Transferrer: Uploaded jpgb6Amcdbt_p.jpg-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-fatal: Unable to create '/home/me/public/.git/refs/heads/synced/git-annex.lock': File exists.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-git-annex-shell: fatal: The remote end hung up unexpectedly-fatal: The remote end hung up unexpectedly-key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-To griboiedov:public- c6278b9..d7c3c7d git-annex -> synced/git-annex-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-warning: There are too many unreachable loose objects; run 'git prune' to remove them.-To /home/me/public- 4051e5f..8092c30 git-annex -> synced/git-annex-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-From /home/me/public- 763310f..2ec4f5d annex/direct/master -> dolgoff/annex/direct/master- fe337a3..8092c30 git-annex -> dolgoff/git-annex- fe337a3..8092c30 synced/git-annex -> dolgoff/synced/git-annex- 763310f..6024c22 synced/master -> dolgoff/synced/master-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-Everything up-to-date-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-To griboiedov:public- d7c3c7d..8092c30 git-annex -> synced/git-annex- 4a82c94..2ec4f5d annex/direct/master -> synced/master-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-12-23 22:05:37 CET] Pusher: Syncing with public, dolgoff, origin-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-fatal: Unable to create '/home/me/public/.git/refs/heads/synced/git-annex.lock': Le fichier existe.--If no other git process is currently running, this probably means a-git process crashed in this repository earlier. Make sure no other git-process is running and remove the file manually to continue.-fatal: The remote end hung up unexpectedly-fatal: The remote end hung up unexpectedly-Auto packing the repository for optimum performance.-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: To griboiedov:public- 8092c30..3f6f227 key is already present in annexgit-annex -> synced/git-annex--rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-warning: There are too many unreachable loose objects; run 'git prune' to remove them.-To /home/me/public- 8092c30..3f6f227 git-annex -> synced/git-annex-From /home/me/public- 8092c30..3f6f227 git-annex -> dolgoff/git-annex- 8092c30..3f6f227 synced/git-annex -> dolgoff/synced/git-annex-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-Everything up-to-date-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-git-annex-shell: key is already present in annex-rsync: connection unexpectedly closed (0 bytes received so far) [sender]-rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]-[2013-12-23 23:03:21 CET] SanityCheckerHourly: Rotated logs due to size: 1004794--# End of transcript or log.-"""]]--> [[Fixed|done]]. This was several garden-variety haskell laziness leaks,-> all fixed by adding strictness annotations.->-> Before: [[leakbefore.png]]-> After: [[leakafter.png]]-> -> Looks like I got them all, and it returns to running in constant space-> after adding and uploading the files (which can take memory porportional-> to the number of files that were added/changed at once). --[[Joey]]
− doc/bugs/import_memleak_from_the_assistant/leakafter.png
binary file changed (43348 → absent bytes)
− doc/bugs/import_memleak_from_the_assistant/leakbefore.png
binary file changed (24006 → absent bytes)
− doc/bugs/importfeed_--relaxed_fails_with_HEAD-rejecting_servers.mdwn
@@ -1,38 +0,0 @@-### Please describe the problem.--Calling "git annex importfeed --relaxed" on a url of a BBC podcast-fails just like a "git annex addurl --fast" (and not relaxed) on the-url of a show:-- addurl open.live.bbc.co.uk_mediaselector_5_redir_version_2.0_mediaset_audio_nondrm_download_proto_http_vpid_p02y8kfc.mp3 - unable to access url: http://open.live.bbc.co.uk/mediaselector/5/redir/version/2.0/mediaset/audio-nondrm-download/proto/http/vpid/p02y8kfc.mp3- failed- git-annex: addurl: 1 failed--I suppose that is because HEAD on that same URL returns 403 Forbidden-(addurl without fast works just fine).--"git annex addurl --relaxed" works on the given url.---### What steps will reproduce the problem?--I ran into this bug trying to importfeed various BBC podcasts. For instance:-- $ git annex importfeed --relaxed 'http://www.bbc.co.uk/programmes/p02pc9x6/episodes/downloads.rss'- (checking known urls...)- importfeed http://www.bbc.co.uk/programmes/p02pc9x6/episodes/downloads.rss - /tmp/feed3947 100%[=======================================================>] 8,39K --.-KB/s en 0,007s - addurl Comedy_of_the_Week/In_and_Out_of_the_Kitchen__Episode_1__The_Supplement.mp3 - unable to access url: http://open.live.bbc.co.uk/mediaselector/5/redir/version/2.0/mediaset/audio-nondrm-download/proto/http/vpid/p02yy1hn.mp3- failed-- warning: problem downloading item- ok---### What version of git-annex are you using? On what operating system?--git-annex version: 5.20150731-1 on a quite up-to-date debian unstable.--> Thanks for a nice test case. [[fixed|done]] --[[Joey]]
− doc/bugs/importfeed_can__39__t_deal_with_pycon_rss_feeds.mdwn
@@ -1,28 +0,0 @@-### Please describe the problem.--[[git-annex-importfeed]] cannot reliably import feeds from <pyvideo.org/category/65/pycon-us-2015/rss>--### What steps will reproduce the problem?-- git annex importfeed pyvideo.org/category/65/pycon-us-2015/rss--### What version of git-annex are you using? On what operating system?--5.20141125--### Please provide any additional information below.--It seems related to the fact that the `enclosure` XML item links to the youtube page instead of the actual video, which sounds a little crazy... so maybe the feed is just wrong and this is invalid.--In [this pull request to the conference proceedings repo](https://github.com/RichiH/conference_proceedings/pull/42), i hacked around that problem with a [simple loop](https://github.com/anarcat/conference_proceedings/blob/pycon/PyCon/README.md):-- curl -s http://pyvideo.org/category/65/pycon-us-2015/rss | xmllint --xpath '//enclosure/@url' - | sed 's/url=/\n/g' | xargs git annex addurl --fast--xargs doesn't actually work so well because every once in a while, youtube will return a 403 and the whole pipeline crumbles to the ground. I found this to work better:-- curl -s http://pyvideo.org/category/65/pycon-us-2015/rss | xmllint --xpath '//enclosure/@url' - | sed 's/url="/\n/g;s/"//' | while read url ; do git annex addurl --fast $url ; done--but it's pretty ugly! --[[anarcat]]--> Per my comments, I don't think this is a bug in git-annex, but in the-> feeds. So [[done]] --[[Joey]]
− doc/bugs/importfeed_fails_with_local_file_urls.mdwn
@@ -1,35 +0,0 @@-Hi,--I've a script which generates .rss files which reference local files with the file:// scheme. I can import the file:// urls with git annex addurl, but it fails with git annex importfeed:---`$ git annex importfeed --fast file:///path/to/local/rss/file.rss`--`(checking known urls...)`--`importfeed file:///path/to/local/rss/file.rss`--`git-annex: /tmp/feed6757: openFile: resource busy (file is locked)`--If I try to import it with `$ git annex importfeed --fast /path/to/local/rss/file.rss` I get--`importfeed /path/to/local/rss/file.rss`--` warning: bad feed content`--`ok`--But the directory stays empty.---Is it possible to use local files in rss format with items which reference local files using the file:// scheme as input for importfeed?--Cheers,-Marco--> I've fixed it with file:// urls. ->-> Also made it error out on non-url feed inputs, which are not intended to be-> supported.->-> [[done]] --[[Joey]]
− doc/bugs/inconsistent_use_of_SI_prefixes.mdwn
@@ -1,55 +0,0 @@-### Please describe the problem.--`git annex status` inconsistently uses mebi (SI) and giga (informal) prefixes.--### What steps will reproduce the problem?--Example:--[[!format txt """-anarcat@marcos:mp3$ git annex status-supported backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL-supported remote types: git S3 bup directory rsync web glacier hook-repository mode: direct-trusted repositories: 0-semitrusted repositories: 2- 00000000-0000-0000-0000-000000000001 -- web- b7802161-c984-4c9f-8d05-787a29c41cfe -- here (anarcat@marcos:/srv/mp3)-untrusted repositories: 0-transfers in progress: none-available local disk space: 31.93 gigabytes (+1 megabyte reserved)-local annex keys: 19913-local annex size: 111.08 gigabytes-known annex keys: 20085-known annex size: 111.38 gigabytes-bloom filter size: 16 mebibytes (3.1% full)-backend usage:- SHA256E: 39998-"""]]--Notice `mebibytes` and `gigabytes`. It is unclear whether those are gigabytes (1000^3) or gibibytes (1024^3).--### What version of git-annex are you using? On what operating system?--4.20130802~bpo70+2, Debian wheezy.--### Please provide any additional information below.--nil. --[[anarcat]]--> git-annex consistently uses the powers of ten units-> for disk storage sizes. Its "gigabyte" is the SI gigabyte.-> -> It uses the absurdly named units for powers of 2 for memory sizes,-> in the few places it deals with memory (probably only the above bloom-> filter size number). -> -> AFAIK I am complying with all relevant standards and best practices.-> Even though I consider them rather dumb, as is clear if you-> [read the opionated source code I wrote to handle this]().-> -> If git-annex used "gibibyte", the numbers it reports for disk size-> would not match the numbers disk vendors and most tools use.-> -> [[bug_is_in_world_not_in_git-annex|done]] --[[Joey]] -
− doc/bugs/incremental_fsck_should_not_use_sticky_bit.mdwn
@@ -1,19 +0,0 @@-### Please describe the problem.--There are multiple problems that have the same cause:-- * When using a shared repository (core.sharedrepository = group), the directories that contain the actual objects may be owned by different users. In this case adding or removing the sticky bit is prohibited by the operating system. Thus shared repositories can only be incrementally fscked if all objects are owned by the same user.-- * It is not currently possible to run incremental fscks on the local repository and on a special remote at the same time, because both of them use the same flag space, the sticky bit.--### What steps will reproduce the problem?--Create a shared repository (core.sharedrepository = group), let a different user add an object and then try to fsck it.--### What version of git-annex are you using? On what operating system?--Debian's 4.20131106~bpo70+1--[[!tag confirmed]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/index_file_smaller_than_expected.mdwn
@@ -1,53 +0,0 @@-### Please describe the problem.--I get an error in one of my repositories. --### What steps will reproduce the problem?--I paired my macbook repository with an repository on my desktop. The repository on the desktop contains many smaller files, because it is my documents folder.--Pairing this repository with smaller files never worked for me. I posted to the forum about it:-[[forum/ssh__95__exchange__95__identification:_read:_Connection_reset_by_peer/]]--I am a little confused because I paired three other repositories between these computers sucessfully. They contain pictures, videos and music.--### What version of git-annex are you using? On what operating system?--Version: 5.20140106-gcb3351b-Build flags: Assistant Webapp Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash --Mac OS X Mavericks--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--Please make sure you have the correct access rights-and the repository exists.-fatal: index file smaller than expected-TransferScanner crashed: user error (git ["--git-dir=/Users/juh/Share/.git","--work-tree=/Users/juh/Share","-c","core.bare=false","update-index","-z","--index-info"] exited 128)-[2014-01-10 16:26:00 CET] TransferScanner: warning TransferScanner crashed: user error (git ["--git-dir=/Users/juh/Share/.git","--work-tree=/Users/juh/Share","-c","core.bare=false","update-index","-z","--index-info"] exited 128)-ssh_exchange_identification: read: Connection reset by peer-ssh_exchange_identification: read: Connection reset by peer-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-[2014-01-10 16:56:09 CET] NetWatcherFallback: Syncing with sokrates.local_Dokumente -ssh_exchange_identification: read: Connection reset by peer-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.-fatal: index file smaller than expected-NetWatcherFallback crashed: user error (git ["--git-dir=/Users/juh/Share/.git","--work-tree=/Users/juh/Share","-c","core.bare=false","update-index","-z","--index-info"] exited 128)-[2014-01-10 17:01:09 CET] NetWatcherFallback: warning NetWatcherFallback crashed: user error (git ["--git-dir=/Users/juh/Share/.git","--work-tree=/Users/juh/Share","-c","core.bare=false","update-index","-z","--index-info"] exited 128)---# End of transcript or log.-"""]]--> Made assistant detect corrupted .git/annex/index on startup and correct-> it. [[fixed|done]] --[[Joey]]
− doc/bugs/info_file_contains_wrong_version.mdwn
@@ -1,20 +0,0 @@-### Please describe the problem.--The script producing the .info file along with the binary tarball seems to generate the wrong version.---### What steps will reproduce the problem?-- % curl https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz.info- GitAnnexDistribution {distributionUrl = "https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz",- distributionKey = Key {keyName = "2a01f853b08dc0f47392b50cda41d5f589f46413073fdf4ffd5b817d6638a502.tar.gz", keyBackendName = "SHA256E",- keySize = Just 27578790, keyMtime = Nothing}, distributionVersion = "5.20131222",- distributionReleasedate = 2013-12-30 18:56:44.908259 UTC, distributionUrgentUpgrade = Nothing} ---`distributionVersion` is 5.20131222, but `git annex version` returns 5.20131230-g4aa88d8.--This may look anecdotical, but at least the `git-annex-bin` package of Arch Linux uses the .info data to retrieve the version information.---> [[fixed|done]] --[[Joey]]
− doc/bugs/interference_with_Dropbox_results_in_data_loss.mdwn
@@ -1,50 +0,0 @@-### Please describe the problem.--When working with git-annex in a folder managed by Dropbox, the folders names in .git/annex/objects/ are mangled by Dropbox. This leads to lost files.--This is not a git-annex bug, but the problem is severe and it would be helpful when git-annex can deal with it somehow. Possibilities are:--* include a warning in documentation (this will be probably found after someone encounters the problem actually)-* issue a warning when running in a Dropbox managed folder-* avoid using filenames that differs in case only (this would make git-annex also more robust against corruption i.e. when a repository is copied over filesystems/protocols without filename case support)--Dropbox file name limitations: [[https://www.dropbox.com/help/145/en]]--### What steps will reproduce the problem?- cd ~/Dropbox- mkdir test_annex- cd test_annex- git init- git annex init "test_annex"- cp ~/somefiles/* .- git annex add *- # wait for Dropbox to upload and mangle folder names in .git/annex/objects/- find -L . -type l | wc -l # print number of broken symlinks- git annex fsck # prints all the missing files---### What version of git-annex are you using? On what operating system?--* git-annex 3.20130207-* Fedora 19--### Please provide any additional information below.--[[!format sh """-# folder names mangled by Dropbox--$ ls .git/annex/objects/-Ff/ M9 (Case Conflict (1))/ x8 (Case Conflict (1))/-Ff (Case Conflict)/ pF/ x9/-Ff (Case Conflict (1))/ pF (Case Conflict)/ x9 (Case Conflict)/-Ff (Case Conflict (2))/ pF (Case Conflict (1))/ Zf/-Ff (Case Conflict (3))/ pF (Case Conflict (2))/ Zf (Case Conflict)/-Ff (Case Conflict (4))/ pF (Case Conflict (3))/ Zf (Case Conflict (1))/-Ff (Case Conflict (5))/ pF (Case Conflict (4))/ Zf (Case Conflict (2))/-Ff (Case Conflict (6))/ PG/ Zf (Case Conflict (3))/-...--# End of transcript or log.-"""]]--> [[done]] --[[Joey]]
− doc/bugs/issues_with_non-posix_compatible_shells.mdwn
@@ -1,41 +0,0 @@-### Please describe the problem.-Some internals of git annex does not check if the shell it is running is Posix-compatible, ie. bash.--I am using fish, and after setting up local pairing, and working, I switched back the login-shell to fish, and when syncing a file, I got this error, read from daemon.log:--fish: Unknown command 'GIT_ANNEX_SHELL_DIRECTORY=/home/s/annex'. Did you mean to run ~/.ssh/git-annex-shell with a modified environment? Try 'env GIT_ANNEX_SHELL_DIRECTORY=/home/s/annex ~/.ssh/git-annex-shell...'. See the help section on the set command by typing 'help set'.-Standard input: GIT_ANNEX_SHELL_DIRECTORY='/home/s/annex' ~/.ssh/git-annex-shell- ^-fatal: Could not read from remote repository.--Please make sure you have the correct access rights-and the repository exists.--### What steps will reproduce the problem?-Set up local pairing ( I believe having sh/bash as login terminal is necessary for this).-Switch back to fish as login-shell with chsh -s /usr/bin/fish-Add a file to either repository.--### What version of git-annex are you using? On what operating system?-[s@b ~]$ git annex version-git-annex version: 5.20140320-g63535e3-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]] so-> -> I have not tried to make the assistant go back and fix up existing-> `authorized_keys` lines. So if someone had been using a posix shell and-> switched to fish, they'll hit this and need to fix it themselves. I judge-> this is pretty small number of users. --[[Joey]]
− doc/bugs/kill_git-annex_assistant_on_logout.mdwn
@@ -1,29 +0,0 @@-When you logout of any x session git-annex does not get killed.-This means that if you login again git-annex will still try to use the ssh-agent from the last session which doesn't run anymore.-This leads to countless password queries unless you use a passwordless key.--> I've fixed this, though maybe not in an ideal way.-> -> There's no way to make a XDG desktop file run a command on logout, that I-> can see. That would have been my first choice.-> -> So, I thought I'd just have the assistant not run setsid, so it's part of-> the current login session and would get killed automatically on logout. -> I was surprised that this didn't seem to work, on a system using logind.-> Even when the desktop file ran git-annex with --foreground, it was not-> stopped on logout. This may be because logind defaults to-> KillUserProcesses=false,-> although I'm not sure why processes that are part of the login session-> are not killed at least.-> -> What I have settled on is to leave the daemon running after logout, -> but on a new login have the `git annex assistant --autostart` kill the-> old daemon and start a new one.-> -> Only possible problem with that is there will be a small window after-> login where the old daemon is running. It might slip in a password prompt-> there, using the new DISPLAY. At least it won't flood, and even a single-> password prompt is pretty unlikely.-> -> I am tenatively going to call this [[done]]. Seems to me that logind-> could be improved though. --[[Joey]]
− doc/bugs/links_in_firefox_do_not_always_work.mdwn
@@ -1,26 +0,0 @@-### Please describe the problem.--I noticed that you (@joey) wrote--> webapp: Odd problem when using Firefox: Some links don't seem to load. Clicking on such a link repeatedly will eventually load the right page. Network console shows web browser is requesting page "/" despite a link to another page being clicked on. Workaround: Use Chrome instead; no such problem there.--in [[todo/windows_support]], and thought I would get around to mentioning that I also see this problem on linux (so it's not windows specific), but I am using firefox.---### What steps will reproduce the problem?-Click on a link in the webapp; most of the time, even though the link target is correct, the current page is reloaded instead of loading the target.--### What version of git-annex are you using? On what operating system?-5.20131205-gc448602--Ubuntu 13.04, firefox 25.0.1------Walter--> [[fixed|done]]; increased number of longpolling failures allowed before-> it enters the chromium back button bugfix workaround to 12.-> Should be more than enough for 3 or 4 long polling elements on a page.-> (Considered only running the chromium bugfix on chromium, but I don't-> want to get into browser detection hacks.) --[[Joey]]
− doc/bugs/list-tests_runs_tests.mdwn
@@ -1,28 +0,0 @@-### Please describe the problem.-Running "git annex test --list-tests" seems to produce the same output as "git annex test" rather than list tests.--### What steps will reproduce the problem?-git annex test --list-tests--### What version of git-annex are you using? On what operating system?-5.20150317-g237d5b0 on Centos 6.6 and Ubuntu 12.04.5--5.20141125 on Mac OS X 10.10.2--### Please provide any additional information below.--[[!format sh """-# this is version 5.20150317-g237d5b0 on Ubuntu-$ ./git-annex test --list-tests-Tests- QuickCheck- prop_idempotent_deencode_git: OK (0.15s)- +++ OK, passed 1000 tests.- prop_idempotent_deencode: OK (0.12s)- +++ OK, passed 1000 tests.-[snip all the passing tests]-All 140 tests passed (305.69s)-"""]]--> [[fixed|done]] although I don't understand why tasty needs the-> `listingTests` ingredient to come first for it to work. --[[Joey]]
− doc/bugs/local_pair_fails_if_non-ascii_characters_present_on_annex_path.mdwn
@@ -1,18 +0,0 @@-### Please describe the problem.--When the annex directory has a non-ascii character (like a tilde) on its path, local pairing fails and a couple of instances of the following message appear on the log--"illegal control characters in pairing message; ignoring"--### What steps will reproduce the problem?--* make a new annex repo named on /home/someone/Vídeos/blah/ (notice the i with a tilde) on two computers-* try to pair them--### What version of git-annex are you using? On what operating system?--git-annex version: 5.20141016-g26b38fd on Arch Linux--git-annex version: 5.20140717 on Ubuntu 14.10--> [[done]]; see comment
− doc/bugs/log_fails_with_-raw_error.mdwn
@@ -1,47 +0,0 @@-### Please describe the problem.--`git-annex log` fails to run if git is an older version.--### What steps will reproduce the problem?--`git-annex log` :)--i somewhat thought that this would work even if i had an older version of git because the standalone release would use the bundled git release...--### What version of git-annex are you using? On what operating system?--5.20150610+gitg608172f-1~ndall+1 on Debian Wheezy.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-$ git annex log video/mp4_sd/TV23_-_TV_Show_Excerpts_-Research.mov.mp4-fatal: unrecognized argument: -raw--$ git annex --debug log video/mp4_sd/TV23_-_TV_Show_Excerpts_-Research.mov.mp4-[2015-06-22 17:34:17 EDT] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","git-annex"]-[2015-06-22 17:34:17 EDT] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--hash","refs/heads/git-annex"]-[2015-06-22 17:34:17 EDT] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/git-annex..8bf42e9c6e5b301f487a2d2d596d7cef12a3283d","-n1","--pretty=%H"]-[2015-06-22 17:34:17 EDT] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/git-annex..9a7b6b197d5271c29034d47e908fec7de6ea7e5a","-n1","--pretty=%H"]-[2015-06-22 17:34:17 EDT] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","cat-file","--batch"]-[2015-06-22 17:34:17 EDT] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","ls-files","--cached","-z","--","video/mp4_sd/TV23_-_TV_Show_Excerpts_-Research.mov.mp4"]-[2015-06-22 17:34:17 EDT] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","-z","--pretty=format:%ct","-raw","--abbrev=40","--remove-empty","refs/heads/git-annex","--","d65/b94/SHA256E-s493891859--5413dd9efe00cbc091e78a7ce6a7034be0e6e121b7faaa054ad2836f8a80aaad.mov.mp4.log"]-fatal: unrecognized argument: -raw-$ git --version-git version 1.7.10.4-$ git annex version-git-annex version: 5.20150610+gitg608172f-1~ndall+1-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL-remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4-# End of transcript or log.-"""]]----[[anarcat]]--> Fixed to use --raw, and added a test case. [[done]] --[[Joey]]
− doc/bugs/main_repo_not_available_on_downloads.kitenet.net.mdwn
@@ -1,34 +0,0 @@-### Please describe the problem.--The [downloads.kitenet.net](http://downloads.kitenet.net/) site is really a git annex repository, yet it is not possible to "git annex get" the files from there.--I regularly have to do something like this to workaround that issue:-- git annex addurl --file git-annex-standalone-amd64.tar.gz https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz--Shouldn't this be done automatically?--### What steps will reproduce the problem?-- git clone https://downloads.kitenet.net/- cd downloads.kitenet.net/- git annex get git-annex/linux/--### What version of git-annex are you using? On what operating system?--5.20141024 on Debian Jessie.--### Please provide any additional information below.--Thanks! -- [[anarcat]]--> <del>done; apparently some pebak. --[[Joey]]</del>--> > it's baaaack! :) -- [[anarcat]]-->>> Please don't reuse old bug reports for unrelated issues. It muddies the->>> waters.->>> ->>> I've fixed git-update-server-info hook on the repository, fixing this->>> second problem.->>> [[done]] --[[Joey]]
− doc/bugs/make_install_can__39__t_be_used_with_sudo.mdwn
@@ -1,20 +0,0 @@-What steps will reproduce the problem?-In the git-annex tree,-- $ make- $ sudo make install--What is the expected output? What do you see instead?--One would expect git-annex to be installed in the configured prefix. Unfortunately, make tries to rebuild the "all" target before "install". This fails (presumably) due to incorrect environment state,-- ghc -O2 -Wall -ignore-package monads-fd -ignore-package monads-tf -outputdir tmp -IUtility -DWITH_ASSISTANT -DWITH_S3 -DWITH_INOTIFY --make git-annex Utility/libdiskfree.o- - Utility/FileSystemEncoding.hs:17:8:- Could not find module `Data.Bits.Utils':- Use -v to see a list of the files searched for.- make: *** [git-annex] Error 1--Removing "all" from the dependencies of "install" allows the process to run to completion, although this is clearly not a satisfactory solution.--> [[fixed|done]] using an ugly stamp file. --[[Joey]]
− doc/bugs/make_whereis_output_more_concise.mdwn
@@ -1,60 +0,0 @@-### Please describe the problem.--annex lists all the remotes UUIDs (the same) when whereis is ran across multiple files. This makes output lengthy and harder to process and share for no reason. Why not to list remotes just once on top and then only locations per each file, e.g. instead of -[[!format sh """--$> git annex whereis -whereis 2011-Palmour-etal_canadian_consent_forms.pdf (2 copies) - 00000000-0000-0000-0000-000000000001 -- web- 94b3c553-ad30-450e-be56-504b400f9a5c -- yoh@novo:~/proj/open-consent [here]-- web: http://download.springer.com/static/pdf/638/art%253A10.1186%252F1472-6939-12-1.pdf?auth66=1401467160_8992951c5cccc0dbe510c369eba3afa1&ext=.pdf-ok-whereis Arizona_consent.pdf (2 copies) - 00000000-0000-0000-0000-000000000001 -- web- 94b3c553-ad30-450e-be56-504b400f9a5c -- yoh@novo:~/proj/open-consent [here]-- web: http://web.arizona.edu/~arg/papers/fmri/forms/consent.pdf-ok--"""]]--get (not sure if I want to see ok much either)--[[!format sh """--$> git annex whereis - 00000000-0000-0000-0000-000000000001 -- web- 94b3c553-ad30-450e-be56-504b400f9a5c -- yoh@novo:~/proj/open-consent [here]--whereis 2011-Palmour-etal_canadian_consent_forms.pdf (2 copies) - web: http://download.springer.com/static/pdf/638/art%253A10.1186%252F1472-6939-12-1.pdf?auth66=1401467160_8992951c5cccc0dbe510c369eba3afa1&ext=.pdf--whereis Arizona_consent.pdf (2 copies) - web: http://web.arizona.edu/~arg/papers/fmri/forms/consent.pdf-"""]]---### What steps will reproduce the problem?--run git annex whereis on a directory with multiple files--### What version of git-annex are you using? On what operating system?--Debian-[[!format sh """-$> acpolicy git-annex-git-annex:- Installed: 5.20150205+git57-gc05b522-1~nd80+1- Candidate: 5.20150205+git57-gc05b522-1~nd80+1- Version table:- *** 5.20150205+git57-gc05b522-1~nd80+1 0- 500 http://neuro.debian.net/debian-devel/ jessie/main amd64 Packages- 100 /var/lib/dpkg/status-"""]]--> See `git annex list`, which comes right after `whereis` in the-> man page, and is described as "similar to whereis but a more compact-> display".->-> [[done]] --[[Joey]]
− doc/bugs/man_page_has_example_lines_joined_into_a_single_line.mdwn
@@ -1,18 +0,0 @@--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-$> git annex help schedule | grep -A3 examples-man: can't set the locale; make sure $LC_* and $LANG are correct- Some examples:-- fsck self 30m every day at any time fsck self 1h every month at 3 AM fsck self 1h on day 1 of every month at any time fsck self 1h every week divisible by 2 at any time--$> git annex version-git-annex version: 5.20150409+git126-ga29f683-1~ndall+1-# about to build a fresh standlone--# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/manpage_has_slight_indentation_error.mdwn
@@ -1,38 +0,0 @@-### Please describe the problem.--The "import" section of the manpage has an indentation error.--### What steps will reproduce the problem?--man git-annex--### What version of git-annex are you using? On what operating system?--anything after 20130827, i believe.--### Please provide any additional information below.--silly patch:--[[!format diff """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-diff --git a/Build/mdwn2man b/Build/mdwn2man-index ba5919b..b3ee404 100755---- a/Build/mdwn2man-+++ b/Build/mdwn2man-@@ -25,7 +25,7 @@ while (<>) {- $inlist=1;- $spippara=0;- }-- elsif (/.SH/) {-+ elsif (/^.SH/) {- $skippara=0;- $inlist=0;- }-# End of transcript or log.-"""]]---- [[anarcat]]--> [[applied|done]] --[[Joey]]
− doc/bugs/misuse_of_--git-dir_might_destroy_a_git_repository_completely.mdwn
@@ -1,34 +0,0 @@-### Please describe the problem.-Doing a git annex command while passing a bad --git-dir can result in the .git directory being deleted. I've never experienced it with plain git, so I assume that it comes for annex.--### What steps will reproduce the problem?--[[!format sh """-$ mkdir annex_destroyed_my_git_directory-$ cd annex_destroyed_my_git_directory-$ git init-$ git annex init-$ ls -a-. .. .git-$ git --git-dir=$PWD annex find-fatal: Not a git repository: '/home/doudou/tmp/annex_destroyed_my_git_directory'-$ ls -a-. .. config-"""]]--### What version of git-annex are you using? On what operating system?-dpkg -l git-annex reports 5.20141024--I am running Debian sid.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/modified_permissions_persist_after_unlock__44___commit.mdwn
@@ -1,43 +0,0 @@-### Please describe the problem.--Modifying an annexed file with unlock then commit leaves the link with permissions 777 and git status reports a typechange, which makes checkout impossible. Resolves by running git unlock on the file.--### What steps will reproduce the problem?--echo foo > test.txt-git annex add test.txt-git commit -a -m "first"-git annex unlock test.txt-echo foobar > test.txt-git commit -a -m "second"--git status (notice typechange message)--git unlock test.txt (corrects and retains both versions)--### What version of git-annex are you using? On what operating system?--git-annex version: 3.20120406-local repository version: 3-default repository version: 3-supported repository versions: 3-upgrade supported from repository versions: 0 1 2--git version 1.7.9.5---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--[[!tag confirmed]]-[[!meta title="git commit of unlocked file leaves typechange staged in index"]]--> [[fixed|done]]; git-annex pre-commit will block such commits from being-> made. Git devs didn't seem to have a way to improve its behavior. --[[Joey]]
− doc/bugs/new_AWS_region___40__eu-central-1__41__.mdwn
@@ -1,10 +0,0 @@-### Please describe the problem.--Amazon has opened up a new region in AWS with a datacenter in Frankfurt/Germany.--* Region Name: EU (Frankfurt) region-* Region: eu-central-1--This should be added to the "Adding an Amazon S3 repository" page in the Datacenter dropdown of the webapp.--> [[fixed|done]] --[[Joey]]
− doc/bugs/non-annexed_file_changed_to_annexed_on_typechange.mdwn
@@ -1,40 +0,0 @@-### Please describe the problem.--Changing a file in a repository from a symlink to a normal file causes annex to create an annexed file from that typechange regardless of weather or not it was an annexed file.---### What steps will reproduce the problem?-- git init newrepo- cd newrepo && git annex init- touch realfile- git add .- git commit -m "added realfile"- mkdir newdir && cd newdir- ln -s ../realfile newfile- git add .- git commit -m "Added placeholder until we get assets from designers"- rm newfile- dd bs=1024 count=10000 if=/dev/zero of=newfile- git add .- git commit -m "Finally got assets from designers"- ls -la newfile- # lrwxrwxrwx 1 user user <date> newfile -> ../.git/annex/objects/XX/XX/UUID/UUID--### What version of git-annex are you using? On what operating system?--git-annex version: 4.20130802--Ubuntu 12.04 LTS--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/numcopies_deprecated__44___but_still_in_walkthrough.mdwn
@@ -1,21 +0,0 @@-### Please describe the problem.-Within the walkthrough the deprecated annex.numcopies are still used. At least it should be added that "git annex numcopies x" can be used to define it globally without the need for a .gitattribute file. And use .gitattribute only for per directory and fine grained control.-http://git-annex.branchable.com/walkthrough/backups/--### What steps will reproduce the problem?---### What version of git-annex are you using? On what operating system?---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/package_build_fails_with_missing_man_directory.mdwn
@@ -1,30 +0,0 @@-When building a debian package, the build fails due to a missing man/ directory.-- ./Build/mdwn2man man/git-annex-vpop.1 1 doc/git-annex-vpop.mdwn > man/git-annex-vpop.1- /bin/sh: 1: cannot create man/git-annex-vpop.1: Directory nonexistent--I was able to build the package with the following patch:--[[!format patch """-From: Justin Geibel <jtgeibel@gmail.com>-Date: Fri, 27 Mar 2015 16:21:13 -0400-Subject: Fix build of man pages------ Makefile | 2 +-- 1 file changed, 1 insertion(+), 1 deletion(-)--diff --git a/Makefile b/Makefile-index d6fb1a1..b36cbcd 100644---- a/Makefile-+++ b/Makefile-@@ -1,5 +1,5 @@- mans=$(shell find doc -maxdepth 1 -name git-annex*.mdwn | sed -e 's/^doc/man/' -e 's/\.mdwn/\.1/')--all=git-annex $(mans) docs-+all=git-annex mans docs- - CABAL?=cabal # set to "./Setup" if you lack a cabal program- GHC?=ghc-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/problems_with_glacier.mdwn
@@ -1,65 +0,0 @@-### Please describe the problem.-Annex errors when copying to glacier.--### What version of git-annex are you using? On what operating system?--OS X 10.9.2 Build 13C64-- git-annex version: 5.20140318-gdcf93d0- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 0 1 2 4--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--> git annex initremote glacier type=glacier encryption=hybrid keyid=E9053BDA datacenter=us-west-1 ║██████████╠ ∞ ∞-initremote glacier (encryption setup) (hybrid cipher with gpg key B608B8F6E9053BDA) ok-(Recording state in git...)-> git annex copy Cobalt\ Strike\ Tradecraft --to=glacier --debug-[2014-03-27 07:27:39 PDT] read: git ["--git-dir=/Users/akraut/Desktop/annexes/media/.git","--work-tree=/Users/akraut/Desktop/annexes/media","show-ref","git-annex"]-[2014-03-27 07:27:39 PDT] read: git ["--git-dir=/Users/akraut/Desktop/annexes/media/.git","--work-tree=/Users/akraut/Desktop/annexes/media","show-ref","--hash","refs/heads/git-annex"]-[2014-03-27 07:27:39 PDT] read: git ["--git-dir=/Users/akraut/Desktop/annexes/media/.git","--work-tree=/Users/akraut/Desktop/annexes/media","log","refs/heads/git-annex..9f59057d857784e6ae6b3dcd6793092264375913","--oneline","-n1"]-[2014-03-27 07:27:39 PDT] chat: git ["--git-dir=/Users/akraut/Desktop/annexes/media/.git","--work-tree=/Users/akraut/Desktop/annexes/media","cat-file","--batch"]-[2014-03-27 07:27:39 PDT] read: git ["config","--null","--list"]-[2014-03-27 07:27:39 PDT] read: git ["--git-dir=/Users/akraut/Desktop/annexes/media/.git","--work-tree=/Users/akraut/Desktop/annexes/media","ls-files","--cached","-z","--","Cobalt Strike Tradecraft"]-copy Cobalt Strike Tradecraft/Tradecraft__1_of_9____Introduction.mp4 (gpg) [2014-03-27 07:27:39 PDT] chat: gpg ["--quiet","--trust-model","always","--decrypt"]--You need a passphrase to unlock the secret key for-user: "Andrew Mark Kraut <akraut@gmail.com>"-4096-bit ELG-E key, ID 353E49B9, created 2008-11-11 (main key ID E9053BDA)--(checking glacier...) [2014-03-27 07:27:46 PDT] read: glacier ["--region=us-west-1","archive","checkpresent","git-annex: Maybe.fromJust: Nothing--# End of transcript or log.-"""]]--> This was a bug introduced last month, it forgot to receord the-> datacenter and vault used when initializing the glacier repository.-> -> I've fixed the bug, but this does not fix repositories created with-> the broken version. I considered just making it use the default-> datacenter and vault for such a repository, but -> a) those may change in the future-> and I don't want to have to worry about breaking such a repository-> going forward and b) someone may have overridden it to use another-> datacenter or vault name and so it shouldn't blindly assume the defaults.-> -> Instead, there's a manual fix up step you need to do. Luckily quite easy.-> For example: -> -> git annex enableremote myglacier datacenter=us-east-1 vault=myglacier-fae9be57-8eb4-47af-932f-136b9b40e669-> -> The default datacenter is us-east-1, and the default vault name is-> "$remotename-$uuid". So you just have to tell it these values-> once with an enableremote command, and it will then work. --> You don't even need to get the fixed version of git-annex to work-> around the bug this way.. Although it does have better error messages-> too. [[fixed|done]] --[[Joey]]
− doc/bugs/protocol_mismatch_after_interrupt.mdwn
@@ -1,33 +0,0 @@-### Please describe the problem.--git annex now fails to transfer a fail with: `protocol version mismatch -- is your shell clean?`--### What steps will reproduce the problem?--start a transfer, then switch between your wireless and wired connexions (I am using network-manager), then interrupt the transfer with control-c.--### What version of git-annex are you using? On what operating system?--on my side: 5.20140306~bpo70 on debian wheezy amd64--on the other side: 4.20130815 on ubuntu saucy i386--### Please provide any additional information below.--[[!format sh """-anarcat@angela:video$ git annex copy --to t films/foo.mkv-copy films/foo.mkv (checking t...) (to t...)-protocol version mismatch -- is your shell clean?-(see the rsync man page for an explanation)-rsync error: protocol incompatibility (code 2) at compat.c(174) [sender=3.0.9]-- rsync failed -- run git annex again to resume file transfer-failed-git-annex: copy: 1 failed-"""]]--workaround: `cd .git/annex/; mv transfer transfer.old` on the other side.---- [[anarcat]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/provide_--version_.mdwn
@@ -1,5 +0,0 @@-### Please describe the problem.--I see no easy way to determine version of git-annex (besides as of the debian package). git annex is not aware of "git annex --version" either--[[done]]
− doc/bugs/proxy_command_fails_on_Windows.mdwn
@@ -1,36 +0,0 @@-### Please describe the problem.--The new ''git annex proxy'' command fails every call in the 2014-11-28 daily Windows build.--### What steps will reproduce the problem?--1) Install daily Windows build via https://downloads.kitenet.net/git-annex/autobuild/windows/.--2) Run, in git bash:-- $ git annex proxy -- pull- git-annex: pull: createProcess: does not exist (No such file or directory)- failed- git-annex: proxy: 1 failed--### What version of git-annex are you using? On what operating system?--Daily Windows build 5.20141128-g70f997e on Windows 7 x64--### Please provide any additional information below.-- $ git annex version- git-annex version: 5.20141128-g70f997e- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feed- s Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SH- A256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar ho- ok external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 2 3 4--> Seems the man page was mis-read, or possibly I've fixed it,-> since it certianly says you need to specify "-- git cmd", not-> just "-- cmd". [[done]] --[[Joey]]
− doc/bugs/remote_gcrypt_based_repos_and_conflicting_uuids.mdwn
@@ -1,30 +0,0 @@-### Please describe the problem.--I've setup a gcrypt based git backup repository as per the examples here:--http://git-annex.branchable.com/tips/fully_encrypted_git_repositories_with_gcrypt/--It all seems to work well until I try to do any kind git annex operation from the console on the gcrypted repo on the remote server. If I run a `git annex fsck` (this seems a reasonable thing to do) then it initialises the encrypted remote with a different uuid to the one in the creation step. The initial repository that created the repo seems to work okay but it's no longer possible to add further repositories without getting conflicting uuid errors.--### What steps will reproduce the problem?---### What version of git-annex are you using? On what operating system?---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]]; <>. I have updated the OSX autobuilder so tonight's-> build will include the fixed git-remote-gcrypt. --[[Joey]]->-> Note that gcrypt repositories affected by this bug are in fact empty, so-> the first time a push is made with the fixed gcrypt it will probably-> generate a new gcrypt-id and push everything.
− doc/bugs/repo_creation_fails_on_android_4.4.3.mdwn
@@ -1,30 +0,0 @@-Hello everyone,-Creating a new repository through the web-app fails on Android 4.4.3, git annex version 5.20140612-g1bebb0d.--Steps to reproduce the problem:--1. Install git annex for android 4.4.3--2. Launch git annex.--3. The terminal opens up reporting some (non-fatal?) errors. (I notice that I can't do anything in the terminal, is it supposed to reply to git annex commands? typing in "git annex version" does nothing).--4. The web-app is launched.--5. Click on make repository.--6. Error message.--I've made a few screenshots to illustrate:--[terminal screenshot](https://drive.google.com/file/d/0B1qM91oKErVDSEJwbnhiaFJhQVU/edit?usp=sharing)--This is the webapp error when creating a new repo:--[first](https://drive.google.com/file/d/0B1qM91oKErVDVHVuLVpacmJaOEU/edit?usp=sharing)--[second](https://drive.google.com/file/d/0B1qM91oKErVDX3R3cFhyb2VjcHc/edit?usp=sharing)--Being on android I can't find any ".git/annex/daemon.log to" to report. I tried to look in the repo folder but there was no .git in it (maybe hidden?)--> dup; [[done]] --[[Joey]]
− doc/bugs/rsync_on_windows_broken_by_upgrade.mdwn
@@ -1,69 +0,0 @@-rsync on windows has been broken by the upgrade to a newer version of-cygwin. `rsync user@host:file file` opens the ssh connection, but hangs-up with a protocol error. Apparently it doesn't get even the protocol-version message from the server.--Problem doesn't seem to affect the bundled ssh, just rsync. --[[Joey]]--> Update: Apparently there are two ssh's! msysgit bundles one (did it used-> to in PATH?) and git-annex bundles one from cygwin. msysgit's ends up-> in Git/bin and git-annex's in Git/cmd.-> -> Seems that cygwin's rsync cannot use git's ssh for whatever reason.-> -> So the workaround is to-> delete Git/bin/ssh.exe and leave Git/cmd/ssh.exe. Then rsync works.-> However, this may screw up git's use of ssh or other stuff.->-> Particularly, cygwin's ssh doesn't honor HOME anymore, instead using-> the getpwent home, which doesn't exist. -> -> Also, see-> [[webapp_fails_to_connect_to_ssh_repository___40__windows__41__]]-> which is the inverse of this bug perhaps, or at least seems related.-> -> Using 2 ssh's that try to use config from different places seems like-> a losing propisition. Need to find an rsync that works with git's ssh.-> --[[Joey]]-> -> > Update: The git bin/ directory is only in PATH when inside "git bash".-> > This bug only seems to affect using git-annex that way. The git bash-> > PATH has `bin` before `cmd`.-> > -> > Also, git seems to work ok using the newer ssh from cygwin.-> > However, that ssh tries to write to a .ssh/known_hosts-> > in a cygwin location and so doesn't remember hosts.-> >-> > What a mess. You can install any version of Linux and get rsync, ssh,-> > git that all integrate and work together. Or you can use Windows and-> > enjoy the pain(TM) --[[Joey]] -->>> Possible fixes:->>> ->>> * Roll the bundled ssh and rsync back to the older versions.->>> ->>> **This works**. And, seems that the older version of ssh from cygwin->>> looks at HOME, rather than getpwent home which the newer->>> cygwin ssh does.->>> ->>> * Roll the bundled rsync back, drop ssh. Rely on msysgit's bundled ssh,->>> copying it into cmd so it's in PATH. Check: Does this combo work?->>>->>> **This works**! rsync 3.0.9 works ok with msysgit's bundled ssh.->>> rsync 3.1.1 is the one that needs a newer ssh. **[[done]]**->>>->>> Note that this means we're using an old version of rsync->>> from cygwin with libraries from a newer cygwin. That might prove->>> fragile as cygwin is upgraded.->>>->>> * Hope that msysgit gets updated to include a newer version of ssh->>> which works with the new rsync.->>>->>> (Seems reasonable as a long-term plan, assuming that the ->>> new rsync's problem with ssh is that it needs a new one, and not some->>> special cygwin thing.)->>>->>> * Get rsync from somewhere else, perhaps msysgit. (Maybe also get ssh->>> from msysgit?)->>> * Keep the new rsync from cygwin, and build ssh from source,->>> patching it to use HOME in preference to getpwent home.
− doc/bugs/rsync_remote_is_not_working.mdwn
@@ -1,28 +0,0 @@-Host: Mac OS with git-annex 5.20140919-g0f7caf5--Remote: Linux --* with git-annex 5.20140920-gb0c4300-* using user&password login--On Host:--1. create a repo with git init && git annex init && git annex direct-1. add a rsync repo in git-annex webapp, type "small archive", with shared encryption (same result using command line)-1. copy some new files to the repo, expect the files to appear in the remote repo (check with du)-1. Web app says "synced with remote-name", but remote repo is completely empty-1. run git annex copy --to $remotename, now remote repo is filled with files-1. but the sizes are really small, seems that the actual files are not being transferred-1. convert the repo to indirect repo: git annex indirect-1. re-run git annex copy, now the repo size on the remote seems about right-1. now start git annex assistant, copy some new files, expect new files to be synced-1. actual: the remote becomes completely empty, the existing files are removed!--The other small issue--* The add remote interface stops at "check remote" prompt for a long time without completing-* Kill the webapp process, re-run webapp, add remote again, it worked very quickly-* But future interaction with the remote still requires password, both commandline & webapp--> Closing this bug report since it seems it was largely due to a-> misunderstanding of what "small archive" does. [[done]] --[[Joey]]
− doc/bugs/rsync_remote_with_-J2_fails.mdwn
@@ -1,57 +0,0 @@-### Please describe the problem.--Trying to `git annex copy` to an rsync special remote with the -J flag fails with a lot of errors. (And is slow without it).--### What steps will reproduce the problem?--$ git annex copy --to rsync-remote -J2--### What version of git-annex are you using? On what operating system?--5.20150710-g8fd7052 on Ubuntu.--### Please provide any additional information below.--[[!format sh """-$ git annex copy --to freenas-rsync -J2-E: file has vanished: "/media/depot/annex/.git/annex/tmp/rsynctmp/29637/caa/2d1/SHA256E-s4244--4ec1ea09c7605a589a9bf6cd927e96737c512d17d8053cbfaf0dcd364702400c.txt/SHA256E-s4244--4ec1ea09c7605a589a9bf6cd927e96737c512d17d8053cbfaf0dcd364702400c.txt"-E: rsync warning: some files vanished before they could be transferred (code 24) at main.c(1183) [sender=3.1.1]-E: rsync: change_dir "/media/depot/annex//.git/annex/tmp/rsynctmp/29637" failed: No such file or directory (2)-E: rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.1]- .git/annex/tmp/rsynctmp/29637/c17: removeDirectory: does not exist (No such file or directory)- .git/annex/tmp/rsynctmp/29637: getDirectoryContents: does not exist (No such file or directory)- .git/annex/tmp/rsynctmp/29637/67e: removeLink: does not exist (No such file or directory)- .git/annex/tmp/rsynctmp/29637: getDirectoryContents: does not exist (No such file or directory)- .git/annex/tmp/rsynctmp/29637: getDirectoryContents: does not exist (No such file or directory)- .git/annex/tmp/rsynctmp/29637/49e/833: removeLink: inappropriate type (Is a directory)-^C--J1 hangs a long time:-$ git annex copy --to freenas-rsync -J1-^C--Works without J flag:-$ git annex copy --to freenas-rsync -copy GarageBand/._.DS_Store (checking freenas-rsync...) ok-copy GarageBand/._My Song.band (checking freenas-rsync...) ok-copy GarageBand/._code monkey.band (checking freenas-rsync...) ok-copy GarageBand/._first of may.band (checking freenas-rsync...) ok--Version:-$ git annex version-git-annex version: 5.20150710-g8fd7052-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL-remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4--Repo config:-[remote "freenas-rsync"]- annex-rsyncurl = freenas:/mnt/tank/home/jnewsome/annex-rsync-backend- annex-uuid = f05581cc-7236-41ed-9db8-49424f863307--"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/runs_of_of_memory_adding_2_million_files.mdwn
@@ -1,17 +0,0 @@-Make 2 million files and `git annex add` (indirect mode), fails at the end:--<pre>-add 999996 ok-add 999997 ok-(Recording state in git...)-[2014-06-21 11:49:28 JEST] feed: xargs ["-0","git","--git-dir=/home/joey/tmp/r/.git","--work-tree=/home/joey/tmp/r","add","--"]-add 999998 ok-add 999999 ok-[2014-06-21 11:49:49 JEST] read: git ["--git-dir=/home/joey/tmp/r/.git","--work-tree=/home/joey/tmp/r","diff","--name-only","--diff-filter=T","-z","--","."]-(Recording state in git...)-[2014-06-21 11:52:24 JEST] feed: xargs ["-0","git","--git-dir=/home/joey/tmp/r/.git","--work-tree=/home/joey/tmp/r","add","--"]-Stack space overflow: current size 8388608 bytes.-Use `+RTS -Ksize -RTS' to increase it.-</pre>--> [[fixed|done]] --[[Joey]]
− doc/bugs/set_metadata_on_wrong_files.mdwn
@@ -1,90 +0,0 @@-### Please describe the problem.--For an example I wanted to add different metadata to some test files,-but the outcome is that the last metadata gets applied to all three files. see transcript below.----### What steps will reproduce the problem?--1. Create a git annex repository-2. add a few files-3. add some metadata to the files, same keys, differnt values-4. watch the metadata, only the last added one is shown for all files---### What version of git-annex are you using? On what operating system?- $cat /etc/debian_version; uname -a; git annex version- 7.4- Linux jupiter 3.13.0ct #33 SMP PREEMPT Tue Jan 21 05:04:01 CET 2014 x86_64 GNU/Linux- git-annex version: 5.20140306~bpo70+1- build flags: Assistant Webapp Pairing S3 Inotify DBus XMPP Feeds Quvi TDFA- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL- remote types: git gcrypt S3 bup directory rsync web tahoe glacier hook external- local repository version: 5- supported repository version: 5- upgrade supported from repository versions: 0 1 2 4---### Please provide any additional information below.--Debian/Wheezy with git annex from backports. The test was done in /tmp which is a tmpfs.---[[!format sh """-$export LC_ALL=C-$mkdir /tmp/annextest-$cd /tmp/annextest-$git init-Initialized empty Git repository in /tmp/annextest/.git/-$git annex init-init ok-(Recording state in git...)--$touch a.txt b.txt c.txt-$git annex add a.txt b.txt c.txt-add a.txt ok-add b.txt ok-add c.txt ok-(Recording state in git...)-$git commit -m init-[master (root-commit) 5470bdb] init- 3 files changed, 3 insertions(+)- create mode 120000 a.txt- create mode 120000 b.txt- create mode 120000 c.txt--$git annex metadata a.txt -s foo=bar -s num=1-metadata a.txt - foo=bar- num=1-ok-(Recording state in git...)-$git annex metadata b.txt -s foo=baz -s num=2-metadata b.txt - foo=baz- num=2-ok-(Recording state in git...)-$git annex metadata c.txt -s foo=barf -s num=3-metadata c.txt - foo=barf- num=3-ok-(Recording state in git...)-$git annex metadata-metadata a.txt - foo=barf- num=3-ok-metadata b.txt - foo=barf- num=3-ok-metadata c.txt - foo=barf- num=3-ok-"""]]--> [[fixed|done]]; documentation improved --[[Joey]]
@@ -1,37 +0,0 @@-### Please describe the problem.-As per [this note](https://git-annex.branchable.com/todo/sharedRepository_mode_not_supported_by_git-annex/), `sharedRepository=world` should be supported. However, it does not seem to work with git-annex 5.20150508. When copying files to the public remote, annexed objects’ permission are subject to the remote user’s umask. If it is 077, they will not be world-readable.---### What steps will reproduce the problem?--[[!format sh """-# Remotely-git init --shared=world public-cd public-git config receive.denyCurrentBranch updateInstead-git annex init-"""]]--[[!format sh """-# Locally-git init local-cd local-git annex init-git remote add public $URL:public-echo abc > file-git annex add file-git commit -m init-git annex copy --to public file-git annex sync-# If remote user has umask 077, remote object winds up readable only by him-"""]]---### What version of git-annex are you using? On what operating system?-git-annex 5.20150508-Linux 4.0.4--> The problem turned out to be sharedRepository=2 which is not documented,-> so git-annex didn't support it, and left the incoming file permissions-> as-is. I've added support for this magic value, so it will work the same-> as "world" now. [[done]] --[[Joey]]
− doc/bugs/ssh-keygen_failed_when_adding_remote_server_repo.mdwn
@@ -1,44 +0,0 @@-### Please describe the problem.--When I try to add remote ssh server repository it fails with an error:--Internal Server Error-ssh-keygen failed"---### What steps will reproduce the problem?-1. Select "Add another repository", then choose "Remote server", enter credentials.-2. On the page "Ready to add remote server" click any choice ("Use a git repository on the server" or "Use an encrypted rsync repository on the server")-3. Error is raised--### What version of git-annex are you using? On what operating system?-git-annex version 4.20130922-g7dc188a--Fedora 18 x86_64--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--[2013-10-03 19:27:27 NOVT] main: starting assistant version 4.20130922-g7dc188a-(scanning...) [2013-10-03 19:27:27 NOVT] Watcher: Performing startup scan-(started...) -ssh-keygen: symbol lookup error: /lib64/libldap-2.4.so.2: undefined symbol: ber_sockbuf_io_udp-ssh-keygen: symbol lookup error: /lib64/libldap-2.4.so.2: undefined symbol: ber_sockbuf_io_udp-ssh-keygen: symbol lookup error: /lib64/libldap-2.4.so.2: undefined symbol: ber_sockbuf_io_udp-ssh-keygen: symbol lookup error: /lib64/libldap-2.4.so.2: undefined symbol: ber_sockbuf_io_udp-ssh-keygen: symbol lookup error: /lib64/libldap-2.4.so.2: undefined symbol: ber_sockbuf_io_udp-ssh-keygen: symbol lookup error: /lib64/libldap-2.4.so.2: undefined symbol: ber_sockbuf_io_udp-ssh-keygen: symbol lookup error: /lib64/libldap-2.4.so.2: undefined symbol: ber_sockbuf_io_udp-ssh-keygen: symbol lookup error: /lib64/libldap-2.4.so.2: undefined symbol: ber_sockbuf_io_udp-ssh-keygen: symbol lookup error: /lib64/libldap-2.4.so.2: undefined symbol: ber_sockbuf_io_udp-[2013-10-03 19:55:23 NOVT] call: ssh-keygen ["-P","","-f","/tmp/git-annex-keygen.0/key"]-ssh-keygen: symbol lookup error: /lib64/libldap-2.4.so.2: undefined symbol: ber_sockbuf_io_udp---# End of transcript or log.-"""]]--> Added ssh-keygen to bundle. [[fixed|done]] --[[Joey]]
− doc/bugs/ssh-options_seems_to_be_ignored.mdwn
@@ -1,48 +0,0 @@-### Please describe the problem.-The docs say I can set ssh options via `annex.ssh-options` or `remote.NAME.annex-ssh-options`. I tried, and the setting appears to be completely ignored.--Apologies in advance if I've made a stupid typo.--### What steps will reproduce the problem?--I tried all of these:-- git config --local --replace-all annex.ssh-options "-i ~/.ssh/id_git_rsa"- git config --local --replace-all remote.Watt.annex-ssh-options "-i ~/.ssh/id_git_rsa"--`git config -l | grep Watt` confirms it took:-- remote.Watt.url=ssh://watt.home/home/anthony/Music/- remote.Watt.fetch=+refs/heads/*:refs/remotes/Watt/*- remote.Watt.annex-uuid=e74b57e5-e78c-4f3d-bde6-4803a0c33837- remote.Watt.annex-ssh-options=-i ~/.ssh/id_git_rsa--Then I ran `git annex sync Watt`, and was prompted for a password:-- anthony@Forest:~/Music$ git annex sync Watt- commit ok- pull Watt - Password: --Running `ps ww $(pidof ssh)` shows that the `-i` option is missing:-- PID TTY STAT TIME COMMAND- 22188 pts/4 S+ 0:00 ssh -S .git/annex/ssh/watt.home -o ControlMaster=auto -o ControlPersist=yes watt.home git-upload-pack '/home/anthony/Music/'---### What version of git-annex are you using? On what operating system?--Debian testing 5.20141125--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]], ssh-options is now propigated everywhere that ssh-> connection caching goes --[[Joey]]
− doc/bugs/ssh_fails_in_windows_nightly_build.mdwn
@@ -1,10 +0,0 @@-### Please describe the problem.--After installing a nightly build from https://qa.nest-initiative.org/view/msysGit/job/msysgit-git-annex-assistant-test/, ssh fails to run when launched by the webapp. It shows a system error dialog with the message "The program can't start because msys-crypto-1.0.0.dll is missing...". The dll is present in $PROGRAMFILES/Git/bin, and ssh works when run from the command line.--[[!format sh """-Version: 5.20150508-g8e96a31-Build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feeds Quvi TDFA TorrentParser-"""]]--> sigh.. [[fixed|done]] now.. --[[Joey]]
− doc/bugs/ssh_over_IPv6.mdwn
@@ -1,29 +0,0 @@-### Please describe the problem.-When i try to sync to my server (path in .git/config is "[fcb8:b10:1cb8:c94:58d0:2522:89f9:c89e]:/home/thomas/git/musik") the url gets messed up by annex and i get the error "git-annex: bad url ssh://[fcb8/~/b10:1cb8:c94:58d0:2522:89f9:c89e]:/home/thomas/git/musik".--### What steps will reproduce the problem?-1. init git & annex-2. add files-3. add a IPv6 address remote-4. push git branches-5. git annex sync--### What version of git-annex are you using? On what operating system?-```-git-annex version: 5.20140412ubuntu1-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4-```--> [[Fixed|done]] by adding support for ipv6 addresses when git-annex-> converts a git remote loction into an url. BTW, the -> simple workaround is to give it a valid url from the beginning-> `ssh://[fcb8:b10:1cb8:c94:58d0:2522:89f9:c89e]/home/thomas/git/musik"`-> -> As to any problems using an ipv6 remote once it's set up, I've used them-> with no problems.-> --[[Joey]]
− doc/bugs/ssh_over_IPv6/comment_1_0287f73c44645a1f854ecfe4ddddb258._comment
@@ -1,15 +0,0 @@-[[!comment format=mdwn- username="https://www.google.com/accounts/o8/id?id=AItOawmBUR4O9mofxVbpb8JV9mEbVfIYv670uJo"- nickname="Justin"- subject="comment 1"- date="2014-08-28T20:46:29Z"- content="""--Try using ~/.ssh/config as a workaround-- Host myserver- Hostname fcb8:b10:1cb8:c94:58d0:2522:89f9:c89e--then just tell git-annex to use myserver--"""]]
− doc/bugs/ssh_over_IPv6/comment_2_cfa63d226ae411551a728af5ab043491._comment
@@ -1,29 +0,0 @@-[[!comment format=mdwn- username="https://www.google.com/accounts/o8/id?id=AItOawlog_5wIICaMcrKTexlFNA6IO6UTp323aE"- nickname="Torkaly"- subject="comment 2"- date="2014-09-01T11:01:30Z"- content="""-thank you. I workaround this by using the DNS hostname instead the IPv6 address directly. But this is not a nice solution, like any workaround. But now i have problems with `git annex get` over IPv6-only:--```-get ***.mp3 (not available) - Try making some of these repositories available:- 5636aefa-c509-4ea0-bebe-f5b96d8eb15a -- hserver-failed-<snip>-```--but i can ping it:-```-thomas@alus:~/Musik$ ping6 hserver.h.b128.net-PING hserver.h.b128.net(fcb8:b10:1cb8:c94:58d0:2522:89f9:c89e) 56 data bytes-64 bytes from fcb8:b10:1cb8:c94:58d0:2522:89f9:c89e: icmp_seq=1 ttl=42 time=453 ms-64 bytes from fcb8:b10:1cb8:c94:58d0:2522:89f9:c89e: icmp_seq=2 ttl=42 time=441 ms-64 bytes from fcb8:b10:1cb8:c94:58d0:2522:89f9:c89e: icmp_seq=3 ttl=42 time=425 ms-64 bytes from fcb8:b10:1cb8:c94:58d0:2522:89f9:c89e: icmp_seq=5 ttl=42 time=413 ms-```-(the high pings are caused by a download from an other source. Also i have no problems with rsync over IPv6)--PS: the markdown for code blocks is not working too :)-"""]]
− doc/bugs/ssh_portnum_bugs.mdwn
@@ -1,18 +0,0 @@-### Please describe the problem.--Lots of issues setting up assistant using SSH running on non-standard ports. Tested local pairing (which did seem to show other computer, but then wouldn't sync) and Remote Server.--### What steps will reproduce the problem?--Change Port 22 in /etc/ssh/sshd_config to Port 9999, restart ssh on both computers. With a clean local .ssh/config and directory, try to set up local pairing or remote server. It appears to work, especially if XMPP is working properly with remote server, but then some operations fail. (Iirc, metadata does sync but not data.) Ultimately, I had to go back to using Port 22 and using denyhosts/fail2ban (which occasionally erroneously ban my IP).--(Although it's probably not relevant to the bug report, it could be argued that this is security through obscurity. There is some truth in this, but scanning an entire machine is 65,535 times slower than scanning just port 22, so it introduces a real cost to bulk scanning. I almost never, ever have attacks on random ports, whereas I have dozens per day on each server on port 22, and often thousands of attacks.)--### What version of git-annex are you using? On what operating system?--When I was experiencing this issue, I was running the default on Jessie/Wheezy. Now I'm running the latest (via auto-update and distributed binary) but don't know if this is still an issue with latest versions (I switched to 22 as a workaround).--[[!tag moreinfo]]--> Closing as it seems likely this is an old bug fixed after wheezy.-> [[done]] --[[Joey]]
+ doc/bugs/startup_scan_extremely_slow.mdwn view
@@ -0,0 +1,69 @@+### Please describe the problem.++When the assistant starts it takes several hours to do the startup scan, even when there are no files to add.++The repo contains many small files but it is configured to add the smaller ones via gitattributes. In particular there are: 91949 files added to git repo and 1029 annexed.+This is my gitattributes++ * annex.largefiles=(largerthan=500kb)++annex.addunlocked is set to true++### What steps will reproduce the problem?++Create a repo with ~90000 files smaller than 500k and ~1000 files larger (in my case ranging from 500k to 32M). Set addunlocked to true and annex.largefiles to largerthan=500kb. Start the assistant and let it finish adding the files. Restart the assistant.++### What version of git-annex are you using? On what operating system?++git-annex version: 6.20160318+build flags: Assistant Webapp Pairing Testsuite S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify XMPP ConcurrentOutput TorrentParser MagicMime Feeds Quvi+key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL+remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external+local repository version: 6++I'm running it on Arch Linux (packaged version)++### Please provide any additional information below.++[[!format sh """++[2016-03-29 22:08:26.356586] main: starting assistant version 6.20160318++ No known network monitor available through dbus; falling back to polling+(scanning...) [2016-03-29 22:08:41.426049] Watcher: Performing startup scan+[2016-03-29 23:05:40.533113] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 00:10:07.085051] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 01:23:29.784236] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 02:43:02.048312] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 03:37:53.273057] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 04:04:56.875573] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 04:31:14.370618] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 04:56:12.467889] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 05:21:09.021728] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 05:43:11.111616] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 06:14:38.096425] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 06:49:54.730879] Committer: Committing changes to git+(recording state in git...)+[2016-03-30 07:26:47.721929] Committer: Committing changes to git+(recording state in git...)+++# End of transcript or log.+"""]]++At this point I stopped the assistant that was still doing the startup scan...++### Have you had any luck using git-annex before?++Sure!
− doc/bugs/startup_scan_extremely_slow___40__v6_repo__41__.mdwn
@@ -1,69 +0,0 @@-### Please describe the problem.--When the assistant starts it takes several hours to do the startup scan, even when there are no files to add.--The repo contains many small files but it is configured to add the smaller ones via gitattributes. In particular there are: 91949 files added to git repo and 1029 annexed.-This is my gitattributes-- * annex.largefiles=(largerthan=500kb)--annex.addunlocked is set to true--### What steps will reproduce the problem?--Create a repo with ~90000 files smaller than 500k and ~1000 files larger (in my case ranging from 500k to 32M). Set addunlocked to true and annex.largefiles to largerthan=500kb. Start the assistant and let it finish adding the files. Restart the assistant.--### What version of git-annex are you using? On what operating system?--git-annex version: 6.20160318-build flags: Assistant Webapp Pairing Testsuite S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify XMPP ConcurrentOutput TorrentParser MagicMime Feeds Quvi-key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL-remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external-local repository version: 6--I'm running it on Arch Linux (packaged version)--### Please provide any additional information below.--[[!format sh """--[2016-03-29 22:08:26.356586] main: starting assistant version 6.20160318-- No known network monitor available through dbus; falling back to polling-(scanning...) [2016-03-29 22:08:41.426049] Watcher: Performing startup scan-[2016-03-29 23:05:40.533113] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 00:10:07.085051] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 01:23:29.784236] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 02:43:02.048312] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 03:37:53.273057] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 04:04:56.875573] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 04:31:14.370618] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 04:56:12.467889] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 05:21:09.021728] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 05:43:11.111616] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 06:14:38.096425] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 06:49:54.730879] Committer: Committing changes to git-(recording state in git...)-[2016-03-30 07:26:47.721929] Committer: Committing changes to git-(recording state in git...)---# End of transcript or log.-"""]]--At this point I stopped the assistant that was still doing the startup scan...--### Have you had any luck using git-annex before?--Sure!
− doc/bugs/stderr_of_special_external_remotes_is_swallowed.mdwn
@@ -1,10 +0,0 @@-### Please describe the problem.--complicates troubleshooting of custom special remotes since annex seems to swallow all output, including stderr--### What version of git-annex are you using? On what operating system?--5.20150302--> I have debugged external special remotes using stdderr, so I -> know this is not the case. [[done]] --[[Joey]]
− doc/bugs/symlinks_to_absent_files_remain_upon_switching_to_direct_mode.mdwn
@@ -1,72 +0,0 @@-### Please describe the problem.--in direct mode files with absent content are promised to become regular files but empty... seems to be not a case for me. page describing direct mode has comments about past problems like that but they were told to be dealt with... so I decided to file a new issue--### What steps will reproduce the problem?--switch to direct mode--### What version of git-annex are you using? On what operating system?--5.20150519-geaf72fe--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--$> git clone ~exppsy/pymvpa2-tutorialdata /tmp/pymvpa2-tutorialdata-clone -Cloning into '/tmp/pymvpa2-tutorialdata-clone'...-done.--$> cd /tmp/pymvpa2-tutorialdata-clone-debian/ freesurfer/ haxby2001/ hyperalignment_tutorial_data.hdf5.gz@ results/ suma_surfaces/--$> ls -l haxby2001/bold_mc.par hyperalignment_tutorial_data.hdf5.gz-lrwxrwxrwx 1 yoh yoh 199 May 29 15:42 haxby2001/bold_mc.par -> ../.git/annex/objects/KM/Jq/SHA256E-s106236--64972f56116ba575996a0b2fbd26a033dd3e8369e87fda503fec5a45dcd06f57.par/SHA256E-s106236--64972f56116ba575996a0b2fbd26a033dd3e8369e87fda503fec5a45dcd06f57.par-lrwxrwxrwx 1 yoh yoh 208 May 29 15:42 hyperalignment_tutorial_data.hdf5.gz -> .git/annex/objects/1g/M2/SHA256E-s15769613--d4b54133f873ff043df22c6250810c1cb9a177b5eb551ca97d98d664edf8ea3f.hdf5.gz/SHA256E-s15769613--d4b54133f873ff043df22c6250810c1cb9a177b5eb551ca97d98d664edf8ea3f.hdf5.gz--$> git annex enableremote data.pymvpa.org -(merging origin/git-annex into git-annex...)-(recording state in git...)-enableremote data.pymvpa.org ok-(recording state in git...)--$> git annex get hyperalignment_tutorial_data.hdf5.gz-/tmp/pymvpa2-tutorialdata-clone/.git/annex/tm 100%[==================================================================================================>] 15.04M 11.2MB/s in 1.3s -ok-(recording state in git...)--$> ls -l haxby2001/bold_mc.par hyperalignment_tutorial_data.hdf5.gz-lrwxrwxrwx 1 yoh yoh 199 May 29 15:42 haxby2001/bold_mc.par -> ../.git/annex/objects/KM/Jq/SHA256E-s106236--64972f56116ba575996a0b2fbd26a033dd3e8369e87fda503fec5a45dcd06f57.par/SHA256E-s106236--64972f56116ba575996a0b2fbd26a033dd3e8369e87fda503fec5a45dcd06f57.par-lrwxrwxrwx 1 yoh yoh 208 May 29 15:42 hyperalignment_tutorial_data.hdf5.gz -> .git/annex/objects/1g/M2/SHA256E-s15769613--d4b54133f873ff043df22c6250810c1cb9a177b5eb551ca97d98d664edf8ea3f.hdf5.gz/SHA256E-s15769613--d4b54133f873ff043df22c6250810c1cb9a177b5eb551ca97d98d664edf8ea3f.hdf5.gz--$> git annex direct-commit -On branch master-Your branch is up-to-date with 'origin/master'.-nothing to commit, working directory clean-ok-direct hyperalignment_tutorial_data.hdf5.gz ok-direct ok--$> ls -l haxby2001/bold_mc.par hyperalignment_tutorial_data.hdf5.gz-lrwxrwxrwx 1 yoh yoh 199 May 29 15:42 haxby2001/bold_mc.par -> ../.git/annex/objects/KM/Jq/SHA256E-s106236--64972f56116ba575996a0b2fbd26a033dd3e8369e87fda503fec5a45dcd06f57.par/SHA256E-s106236--64972f56116ba575996a0b2fbd26a033dd3e8369e87fda503fec5a45dcd06f57.par--rw------- 1 yoh yoh 15769613 May 8 03:42 hyperalignment_tutorial_data.hdf5.gz-2 12569.....................................:Fri 29 May 2015 03:43:08 PM EDT:.--$> git annex version-git-annex version: 5.20150519-geaf72fe-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL-remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4---# End of transcript or log.-"""]]--> This is behaving as it's intended to. [[done]] --[[Joey]]
− doc/bugs/sync_content_has_really_suboptimal_behavior.mdwn
@@ -1,50 +0,0 @@-### Please describe the problem.--In a client, backup, smallarchive setup, new non-archive files will be copied to backup, copied to smallarchive, then dropped from smallarchive.--### What steps will reproduce the problem?--Create three repos, assign them groups client, backup, smallarchive.--Add files to the client, not in the archive folder.--Run sync --content--### What version of git-annex are you using? On what operating system?--git-annex version: 5.20150710--### Please provide any additional information below.--[[!format sh """-copy SOMEFILE copy SOMEFILE (checking BACKUP...) (to BACKUP...)-SHA256E-s309049--00bb4f52d3d9af507eaf8c837ce29ad133cf1964c0f8fbf586906b1e5676f0af.pdf- 309,049 100% 87.83MB/s 0:00:00 (xfr#1, to-chk=0/1)-ok-copy SOMEFILE copy SOMEFILE (checking SMALLARCHIVE...) (to SMALLARCHIVE...)-ok-drop SMALLARCHIVE SOMEFILE (checking BACKUP...) ok-""" ]]--> Indeed, but this was fixed in version 5.20150727.-> From the changelog:->>->> * sync --content: Fix bug that caused files to be uploaded to eg,->> more archive remotes than wanted copies, only to later be dropped->> to satisfy the preferred content settings.-> -> [[done]] --[[Joey]]-->> Oh, sorry about the noise then. I assumed the version I was running was the latest since it was pretty recent.->> Thanks. -- [[filippo]]--Note: it's extremely and unnecessarily hard to report a bug. There are no-links leading to instructions or anything on the home page. The "bugs" link-leads to a list of pages with no instructions. Please at least add-explanation to the bugs page. I had to edit an existing bug and change the-edit URL.--> Eh? The first thing on the bugs page is a form to add a new post to the-> list of bugs. --[[Joey]]-->> I'm an idiot. I mistook that for a search box. -- [[filippo]]
− doc/bugs/sync_does_not_commit_with_alwasycommit___61___false.mdwn
@@ -1,90 +0,0 @@-### Please describe the problem.--The documentation of `git annex sync` states--> The sync process involves first committing all local changes, then fetching and merging […]-> You can use standard git commands to do each of those steps by hand, or if you-> don't want to worry about the details, you can use sync.--The documentation of `alwasycommit` states--> By default, git-annex automatically commits data to the git-annex branch after each-> command is run. To disable these commits, set to false. Then data will only be-> committed when running `git annex merge` (or by automatic merges) or `git annex sync`.--In fact, however, `git annex sync` will not commit or will not commit some pieces of information when `alwasycommit` is false. This leads to various problems, the first of which is that cloned repositories do not have information about the other remotes.--It is hard to work around this problem because `git commit` cannot be used in direct mode.--This problem does not show up when using local, non over-the-network, remotes.--### What steps will reproduce the problem?--The following script (available at <https://gist.github.com/gioele/5ffeff8988a535164e5b>) will reproduce this problem. If you do not have SSH running on localhost, you can change the `h` variable to point to another host.-- #!/bin/sh -x-- set -e ; set -u- export LC_ALL=C-- h=${h:-localhost}- dr="/tmp/annex"-- chmod a+rwx -R pc1 pc2 || true- rm -Rf pc1 pc2-- # create central git repo- ssh $h "chmod a+rwx -R ${dr}/Docs.git" || true- ssh $h "rm -Rf ${dr}/Docs.git"- ssh $h "mkdir -p ${dr}/Docs.git"- ssh $h "cd ${dr}/Docs.git ; git init --bare"-- d=$(pwd)-- # populate repo in PC1- mkdir -p pc1/Docs- cd pc1/Docs- echo AAA > fileA- echo BBB > fileB-- git init- git config annex.alwayscommit false # change to true to solve this problem-- git remote add origin $h:$dr/Docs.git- git fetch --all-- # simulate a host without git-annex- git config remote.origin.annex-ignore true-- git annex init "pc1"- git annex info-- git annex direct- git annex sync origin-- git annex add .- git annex sync-- # re-create repo on PC2- cd $d- mkdir -p pc2- cd pc2- git clone $h:$dr/Docs.git- cd Docs-- git config remote.origin.annex-ignore true-- git annex init "pc2"- git annex direct- git annex info-- # git annex info shows only pc2, shouldn't pc1 be there as well?--### What version of git-annex are you using? On what operating system?--git-annex version: 5.20140708-g8c9c55c on Ubuntu 12.04.4--> I have improved the documentation to not imply that sync/merge are a-> special case. They honor the autocommit settings more or less-> intentionally, and to get a commit to be made, just pass -c-> autocommit=true when running them. [[done]] --[[Joey]]
− doc/bugs/test_failures_on_window_for_5.20131118.mdwn
@@ -1,22 +0,0 @@-### Please describe the problem.--git annex test reports failures--### What steps will reproduce the problem?--running git annex test (from standard cmd, with: git version: 1.7.11.msysgit.1)--### What version of git-annex are you using? On what operating system?--5.20131118 from installers--### Please provide any additional information below.--operating system:--windows XP, NTFS = 1 FAIL-windows 7, NTFS = 2 FAILs--see attachment for full log of git annex test output--> Reproduced and [[fixed|done]]. --[[Joey]]
− doc/bugs/too_many_open_files_on_OSX.mdwn
@@ -1,42 +0,0 @@-### Please describe the problem.--error message:-- copy somefile.jpg (checking myserver...) (to myserver...) - git-annex: runInteractiveProcess: pipe: Too many open files-- rsync failed -- run git annex again to resume file transfer- failed---### What steps will reproduce the problem?--1. Start a `git annex copy` with lots of files in the queue.-2. Start a second `git annex copy` on the same set of files.-The intention is to minimize the amount of silent time on the wire due to administrative work between actual file transfers. These two processes will trip over each other and see that transfer X is already going, and skip to the next file Y, so in the end they upload about half of the files each.--3. Expect all files to be uploaded. Actually observe the above error message for at least one of the processes.--### What version of git-annex are you using? On what operating system?-- git-annex version: 5.20140420-ga25b8bb- build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV FsEvents XMPP DNS Feeds Quvi TDFA CryptoHash- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external-- Darwin mymacbook 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64--### Please provide any additional information below.--[[!format sh """-lsof -p <my annex process>--... some .app/** files, tty etc ...-... some unnamed pipes ...-.../.git/annex/ssh/myserver.lock-.../.git/annex/transfer/upload/b4d67c4f-8cca-423c-9363-f3063b7fe3e4/lck.SHA256E-s10448418--4f61fab4... ~200 different files.-"""]]--> Thanks for a very clear bug report! Was easy from that to find-> where the lock file was not being closed in this situation.-> [[fixed|done]] --[[Joey]]
− doc/bugs/transfer_in_progress_not_present_in_json_output.mdwn
@@ -1,32 +0,0 @@-### Please describe the problem.--i can't find a key in the JSON output of `git annex info` for the "transfer in progress" field. is it missing on purpose? or am I missing some field?--### What steps will reproduce the problem?--<pre>-git annex info-git annex info --json-</pre>---### What version of git-annex are you using? On what operating system?-5.20150406-g2a9fbec debian jessie--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-anarcat@desktop008:mp3$ git annex info --fast --json | grep -i transfer-anarcat@desktop008:mp3$ git annex info --fast | grep -i transfer-transfers in progress:--# End of transcript or log.-"""]]--[[anarcat]]--> JSON output has to be implemented on a case by case basis for stat-> displays; I've now added it to this and more. [[done]]-> --[[Joey]]
− doc/bugs/transfer_lock_file_removal_bug.mdwn
@@ -1,61 +0,0 @@-There's a race that can result in 2 concurrent downloads-of the same key. This can happen because the transfer lock files get-deleted after a transfer completes.--Scenario:--1. first process creates lock file, takes lock, starts download-2. second process opens existing lock file-3. first process finishes/fails download, so deletes lock file, and then- drops lock-4. second process takes lock (exclusive, non-blocking) of deleted file!-5. third process sees no lock file, so creates a new one, takes lock,- starts download--Worst-case, this might result in data loss, if the two concurrent-downloaders confuse one-another. Perhaps the second one overwrites the file-the first was downloading, and then the first, thinking it's written the-file, moves it into the object directory.--Note that the window between 4-5 can be as long as it takes for a-file to download. However, the window between 2-4 is very narrow indeed,-since the second process is not blocking on the lock.-So, this is very unlikely to happen.--But, it could. Can it be prevented?--Yes: The second process, after taking the lock, can check that-the lock file exists, and has the same dev and fileno as the fd it has-locked. If the lock file doesn't exist, or is different, then the-second process can give up.--Oh BTW, this race cannot happen on windows, since on windows, an open lock-file cannot be deleted by another process.--> [[fixed|done]]--Let's also consider if this change will allow for safely expiring stale -lock files..--Situation before with expiry would have been buggy (which is why it never-tried to expire them):--1. first process creates lock file, takes lock, is interrupted (no more- lock)-2. second process wants to delete stale lock file; checks if it's locked;- isn't-3. third process opens existing lock file, prepares to take lock-4. second process deletes lock file-5. third process takes lock-6. third process is now doing a transfer w/o a (visible) lock--But, after this bug fix, the third process checks if it's lock file-exists after taking the lock. Since the second process deleted it,-the third process fails with an error "transfer in progress"-which is perhaps not accurate, but at least it stopped.--For this to work though, the second process needs to actually take-the lock, in non-blocking mode. If it succeeds, it can keep the lock-held while deleting the lock file. This ensures that when the third process-takes the lock, the lock file will already be deleted by the time it checks-if it's there.
− doc/bugs/trust_command_and_gitconfig_contradiction_causing_confusion.mdwn
@@ -1,35 +0,0 @@-### Please describe the problem.-'trust', 'dead', etc commands completing with 'ok' but fail to acknowledge contradiction in .git/config, causing confusion.--[[!format sh """-greg@x200s:~/Photos$ git-annex untrust home # yes, bad remote name-untrust home ok-(Recording state in git...) -greg@x200s:~/Photos$ git-annex status # /me is old-school and forgets-greg@x200s:~/Photos$ git-annex info-repository mode: indirect-trusted repositories: 2- c0e4106e-2631-11e2-9749-1bfa37a61069 -- rose- c69d6fcc-18d1-11e2-9487-2fe6dbf0516b -- home (photos on eeepc)--....--greg@x200s:~/Photos$ git-annex dead home-dead home ok-(Recording state in git...)-greg@x200s:~/Photos$ git-annex info-repository mode: indirect-trusted repositories: 2- c0e4106e-2631-11e2-9749-1bfa37a61069 -- rose- c69d6fcc-18d1-11e2-9487-2fe6dbf0516b -- home (photos on eeepc)-"""]]--The home remote has "annex-trustlevel=trusted" in .git/config---Maybe have those commands instead say "Hey, this is different than what you said explicitly in .git/config, ya sure? (y/n)" If y, overwrite config, if n, abort.--### What version of git-annex are you using? On what operating system?-5.20140127 on Debian--> [[Fixed|done]], it will now warn about this situation. --[[Joey]]
− doc/bugs/typo_on_the_Mac_OS_10.7.5_Lion_build.mdwn
@@ -1,11 +0,0 @@-As told in http://git-annex.branchable.com/bugs/OSX_app_issues/#comment-2a69d531bd3bb593c1a49dc8cdb34b1e the Mac OS 10.7.5 (Lion) build fails to run.-- $ /Applications/git-annex.app/Contents/MacOS/git-annex-- /Applications/git-annex.app/Contents/MacOS/runshell: line 25: syntax error near unexpected token `&'--Manually editing /Applications/git-annex.app/Contents/MacOS/runshell as told in http://git-annex.branchable.com/bugs/OSX_app_issues/#comment-5579c2150ad4d2ccc207a253fe57612a fixes the issue.--Furthermore, this build is quite outdated...--> [[fixed|done]] --[[Joey]]
− doc/bugs/unable_to_change_repository_group_of___34__here__34__.mdwn
@@ -1,13 +0,0 @@-### Please describe the problem.-(I assume) following your change to disallow changing the name of "here", I am unable to change the repository group of "here"---### What steps will reproduce the problem?-In webapp, edit "here", and try and change repository group.-It highlights the (now empty) name field, and says "value is required".--### What version of git-annex are you using? On what operating system?-git-annex version: 4.20130618-g333cb8e-Ubuntu 13.04--> [[fixed|done]] --[[Joey]]
− doc/bugs/unannex_requires_commit_for_new_directories.mdwn
@@ -1,31 +0,0 @@-### Please describe the problem.-"git-annex unannex" requires an unexpected (and undesirable) commit only when adding files in a new directory. This is undesirable because whenever "git-annex add" is accidentally run in a new directory, the only way to undo it is to commit first and then unannex, which adds two unwanted commits to the git log. Moreover, this behavior is not consistent with unannex on files in non-new directories: in that case unannex works as expected.--### What steps will reproduce the problem?-<pre><code>/tmp> mkdir test-/tmp> cd test/-/tmp/test> git init -Initialized empty Git repository in /tmp/test/.git/-/tmp/test (master)> git annex init-init ok-(recording state in git...)-/tmp/test (master)> touch foo-/tmp/test (master)> git annex add foo-add foo ok-(recording state in git...)-/tmp/test (master)> git annex unannex foo-unannex foo ok-/tmp/test (master)> mkdir bar-/tmp/test (master)> touch bar/foo-/tmp/test (master)> git annex add bar-add bar/foo ok-(recording state in git...)-/tmp/test (master)> git annex unannex bar-git-annex: Cannot proceed with uncommitted changes staged in the index. Recommend you: git commit-</code></pre>---### What version of git-annex are you using? On what operating system?-The issue occurs with last version of git-annex, available at the time of this post (2015-02-19 16:20). I could reproduce the issue in all other versions of git-annex I tried (not many though). I am using Linux, Ubuntu 12.04 amd64.--> [[done]]; added check for repository too new to have a HEAD. --[[Joey]]
− doc/bugs/undefined.mdwn
@@ -1,5 +0,0 @@-Trying to move files from a local remote that is not mounted:-- git-annex: Prelude.undefined--> [[fixed|done]] --[[Joey]]
− doc/bugs/unexpected_double_wildcard_expansion.mdwn
@@ -1,15 +0,0 @@-From the forum, it seems that git-ls-files very unexpectedly expands-wildcards in filenames passed to it. (Not a documented or an expected-behavior.)--This causes problems when eg, the user does `git annex add *.jpeg` and that-matches no files, but there are some jpegs in subdirectories. git-ls-files-re-expands the wildcard and finds those.--Seems that the best fix is to make Git.LsFiles paper over this git-misfeature, by always escaping wildcards in paths passed-to git-ls-files. AFAIK, no callers of Git.LsFiles expect to provide it-wildcards, because I was completely surprised when I learned they were-expanded.. --[[Joey]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/unfinished_repository_when_using_annex-ignore_true_.mdwn
@@ -1,25 +0,0 @@-### Please describe the problem.--When using a git remote which doesn't support git-annex (f.e. gitlab) and is configured with `annex-ignore true` the remote is shown as `unfinished repository` in the webapp.--It would be nice if the webapp would recognize this and show the remote as git-only remote including sync-state and remote name (or even better: the remote details, like the URL to the remote)--### What steps will reproduce the problem?--Add a normal git remote and configure `git config remote.<name>.annex-ignore true`.-Start the webapp.--### What version of git-annex are you using? On what operating system?-- git-annex version: 4.20131101-gf59a6d1- build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP Feeds Quvi TDFA- key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL- remote types: git gcrypt S3 bup directory rsync web webdav glacier hook- local repository version: 3- default repository version: 3- supported repository versions: 3 4- upgrade supported from repository versions: 0 1 2--Kubuntu 13.10 x86_64--> [[fixed|done]] --[[Joey]]
− doc/bugs/unlock_with_absolute_path__63__.mdwn
@@ -1,44 +0,0 @@-### Please describe the problem.--"git annex unlock" with an absolute path appears to do nothing. Is this a feature or a bug?--### What steps will reproduce the problem?--[[!format sh """-> mkdir git_annex_test && cd git_annex_test/-> git init-> git annex init "Local copy"-> touch foo.txt-> git annex add foo.txt-> git commit -m "Checkin"-> git annex unlock foo.txt (correct behavior)-> git annex lock --force foo.txt-> git annex unlock /absolute/path/to/git_annex_test/foo.txt (appears to do nothing)-"""]]--### What version of git-annex are you using? On what operating system?--Ubuntu 14.04.02 with git-annex from repo:--[[!format sh """-> git annex --version-git-annex version: 5.20140412ubuntu1-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4-""" ]]--> Please upgrade to the current version of git-annex before filing bug-> reports.->-> I don't know when this was fixed/changed, but sometime in the past 13-> months since the version you have, it was:->-- joey@darkstar:~/tmp/x>git annex unlock `pwd`/me- unlock me (copying...) ok--> [[done]] --[[Joey]]
− doc/bugs/upgrade_left_untracked_.git-annex__47____42___directories.mdwn
@@ -1,16 +0,0 @@-I upgraded another one of my git-annex clones. The upgrade worked fine (i.e.-according to the manual) on two other clones before, but this time something is-different.--After 'git pull' and 'git annex upgrade', which took a long time and seemed to-have succeeded, there are no staged changes in git. Instead there are lots of-untracked directories in .git-annex. Aside from that, nothing seems to be-wrong.--At the time I had git-annex version 0.20110329 and I've been using the SHA1-backend since version 1.--> Yes, I agree with Jimmy, it's the same bug. So I'll be closing this one.-> Please keep us informed how the workaround committed to git-annex-> yesterday for the case insensativity issue works out. [[dup|done]]-> --[[Joey]]
− doc/bugs/uploads_queued_to_annex-ignore_remotes.mdwn
@@ -1,34 +0,0 @@-## What steps will reproduce the problem?--After the assistant idles for a while, it queues many transfers to remotes configured annex-ignore=true--##What is the expected output? What do you see instead?--No attempts to upload to repos marked 'annex-ignore=true'--Instead I see many queued transfers to the remote 'origin'--[Screenshot](https://www.evernote.com/shard/s1/sh/ea0de76c-4b68-4266-b9f6-8a9c343997b6/72baab4a3ce73b0915b151829bbeaf75/res/8a8ab1fb-3173-47ea-875d-b0e320cb827b/skitch.png)--##What version of git-annex are you using? On what operating system?-- % > git annex version- git-annex version: 4.20130315- local repository version: 3- default repository version: 3- supported repository versions: 3 4- upgrade supported from repository versions: 0 1 2- build flags: Assistant Webapp Pairing Testsuite S3 WebDAV FsEvents XMPP DNS--Mac OSX 10.8.2 Build 12C3006--##Please provide any additional information below.--The remote in question:-- [remote "origin"]- url = git@git.example.com:annex-home- fetch = +refs/heads/*:refs/remotes/origin/*- annex-ignore = true--> belived to be [[fixed|done]] --[[Joey]]
− doc/bugs/using_gpg_encryption_with_multiple_keys_fails.mdwn
@@ -1,57 +0,0 @@-### Please describe the problem.-git-annex assistant uses wrong key if multiple are available. If there is only one gpg available it works without issue.--### What steps will reproduce the problem?--I tried to creating a new key through cli or assistant UI. I also tried to select preexisting key but it always appears to choose the initial key. Log below is creating a new key through assistant UI.--### What version of git-annex are you using? On what operating system?-git-annex version: 5.20140709-gc75193e on linux amd64 & os x 10.9.4--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--[2014-07-12 23:22:57 PDT] main: starting assistant version 5.20140709-gc75193e-[2014-07-12 23:22:57 PDT] Cronner: You should enable consistency checking to protect your data. -(Recording state in git...)-(scanning...) [2014-07-12 23:22:57 PDT] Watcher: Performing startup scan-(started...) gpg: Signature made Wed Jul 9 19:09:28 2014 PDT using DSA key ID 89C809CB-gpg: Can't check signature: public key not found--(encryption setup) (hybrid cipher with gpg key A1FE7E9BECB5C7CA) gcrypt: Development version -- Repository format MAY CHANGE-gcrypt: Repository not found: ssh://admin@nappy.local/share/backups/annex/-gcrypt: Development version -- Repository format MAY CHANGE-gcrypt: Repository not found: ssh://admin@nappy.local/share/backups/annex/-gcrypt: Setting up new repository-gcrypt: Remote ID is :id:smTV2DKvbvPIi7ftJLey-gcrypt: Encrypting to: -R A1FE7E9BECB5C7CA-gcrypt: Requesting manifest signature-To gcrypt::ssh://admin@nappy.local/share/backups/annex/- * [new branch] git-annex -> git-annex-ok-[2014-07-12 23:23:42 PDT] main: Syncing with nappy.local__share_backups_annex -gcrypt: Development version -- Repository format MAY CHANGE-gcrypt: Decrypting manifest-gpg: anonymous recipient; trying secret key 6DF1BC5D ...-gpg: cannot open tty `/dev/tty': Device not configured-gcrypt: Failed to decrypt manifest!-gcrypt: Development version -- Repository format MAY CHANGE-gcrypt: Decrypting manifest-gpg: anonymous recipient; trying secret key 6DF1BC5D ...-gpg: cannot open tty `/dev/tty': Device not configured-gcrypt: Failed to decrypt manifest!---# End of transcript or log.-"""]]--[[!tag forwarded]]-[[!meta title="using git-remote-gcrypt with multiple keys causes unncessary password prompts for keys that did not encrypt the repository"]]--> [[fixed|done]]; upgrade git-remote-gcrypt and `git config gcrypt.publish-participants true`-> and after the next push to the repo, it'll stop guessing at keys, and use-> the right one. git-annex will do this by default for new gcrypt-> repositories. --[[Joey]]
− doc/bugs/view_fails_with___34__invalid_character__34__.mdwn
@@ -1,56 +0,0 @@-### Please describe the problem.-I have a "person" attribute with the name of the people on the picture. I could create views and filter on that some time ago, but it looks like git annex now chokes on some illegal (accented?) characters. I have non-ASCII characters in names for sure.--### What steps will reproduce the problem?-Try to create a view using the "person" attribute.--### What version of git-annex are you using? On what operating system?-5.20150617-gac09445 on ArchLinux--### Please provide any additional information below.--[[!format sh """-% git annex view person="*"-/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)-view (searching...)--git-annex: fd:14: commitBuffer: invalid argument (invalid character)-failed-git-annex: view: 1 failed--% git annex version-/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)-git-annex version: 5.20150617-gac09445-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL-remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external-local repository version: 5-supported repository version: 5-upgrade supported from repository versions: 0 1 2 4-"""]]--> I'm assuming the setlocale part of this is a misconfigured system locale;-> as also seen by an arch linux user in-> <http://git-annex.branchable.com/bugs/cannot_change_locale___40__en__95__US.UTF-8__41__/>-> -> So, disregarding that part of the bug report, we still have the actual-> failure. -> -> With LANG=C, setting and getting metadata like "Rondò Veneziano" fails,-> as does generating views of that metadata.-> -> In all cases, it's an IO encoding failure, "commitBuffer: invalid argument (invalid character)"-> -> This only occurs when there's a space in the metadata; in this case the--> value is base64ed. While the 'ò' comes back out as "\242", which is the right-> character, it's not encoded using the filesystem encoding. This means that-> the IO layer can't handle it, when not in a unicode locale. Instead, it-> needs to come back out as "\56515\56498".-> -> Apparently this is a reversion; it worked in an earlier version of-> git-annex. Commits such as 9b93278e8abe1163d53fbf56909d0fe6d7de69e9-> or the conversion to Sandi may have caused the reversion, unsure.-> -> Fix is to apply the filesystem encoding when decoding base64ed values.-> [[done]] --[[Joey]]
− doc/bugs/web_app_loops_over_a_non-addable_file.mdwn
@@ -1,56 +0,0 @@-### Please describe the problem.--I started the webapp on a pre-existing repo today, and it started adding all sorts of files which I didn't manually add, which is a little bit surprising, but "okay".--The problem is that it would loop over this one file over and over again. Adding it on the commandline yields a proper error, but this doesn't seem to properly propagate to the frontend.--### What steps will reproduce the problem?--Unclear.--### What version of git-annex are you using? On what operating system?--4.20131105-g8efdc1a--### Please provide any additional information below.--Here's the daemon.log:--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log--add clips/A31-05-12_21.22.amr (checksum...) [2013-11-06 10:21:10 EST] Committer: Committing changes to git-[2013-11-06 10:21:11 EST] Committer: Adding A31-05-12_21.22.amr-(Recording state in git...)-(Recording state in git...)-add clips/A31-05-12_21.22.amr (checksum...) [2013-11-06 10:21:11 EST] Committer: Committing changes to git-[2013-11-06 10:21:12 EST] Committer: Adding A31-05-12_21.22.amr-(Recording state in git...)-(Recording state in git...)-add clips/A31-05-12_21.22.amr (checksum...) [2013-11-06 10:21:12 EST] Committer: Committing changes to git-[2013-11-06 10:21:13 EST] Committer: Adding A31-05-12_21.22.amr-(Recording state in git...)-add clips/A31-05-12_21.22.amr (checksum...) [2013-11-06 10:21:13 EST] Committer: Committing changes to git-[2013-11-06 10:21:14 EST] Committer: Adding A31-05-12_21.22.amr-(Recording state in git...)-(Recording state in git...)-add clips/A31-05-12_21.22.amr (checksum...) [2013-11-06 10:21:14 EST] Committer: Committing changes to git-# End of transcript or log.-"""]]--And here's the attempt on the commandline, which is way more informative:--[[!format sh """-anarcat@marcos:video$ git annex add .-add clips/96_257.mp3 ok-add clips/A31-05-12_21.22.amr (checksum...)-git-annex: /srv/video/.git/annex/objects/z3/96/SHA256E-s260070--46f0d657cdd79032d431e2aebb04b63685ab26e7d00963036e0b64c9f86998f8.22.amr/SHA256E-s260070--46f0d657cdd79032d431e2aebb04b63685ab26e7d00963036e0b64c9f86998f8.22.amr: setFileMode: permission denied (Operation not permitted)-failed-"""]]--Turns out that file is owned by root, so it's an expected failure. But the webapp should simply skip this file, not loop over it.--The workaround is obviously to give this file to the proper user. --[[anarcat]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/webapp_does_not_start_on_android.mdwn
@@ -1,22 +0,0 @@-### Please describe the problem.--The webapp does not start automatically and instead this message is printed in the terminal:-- Falling back to hardcoded app location; cannot find expected files in /data/app-lib- git annex webapp- COLUMNS=0;LINES=0;export COLUMNS LINES;--After typing `git annex webapp`, the webapp starts normally.--If I click the WebApp entry in the terminal menu, nothing happens.--### What steps will reproduce the problem?--Launch Git Annex from the applications menu.--### What version of git-annex are you using? On what operating system?--Using 4.3/4.4 daily build (nov 1st 2014) apk.-CyanogemMod 11 (M10)--> Seems to be a dup of [[Android_Default_startup_command]]; [[done]] --[[Joey]]
− doc/bugs/webapp_fails_to_connect_to_ssh_repository___40__windows__41__.mdwn
@@ -1,40 +0,0 @@-### Please describe the problem.--I added a remote repository, and it successfully tested the ssh connection to the server. Nothing happens, however, once it comes to actually creating the remote repository (or merging with an existing one). It'll just sit there forever, never actually connecting to the server.--A quick look in process explorer shows something of what's going on: git-annex has launched ssh, and ssh is spamming subprocesses. It's launching ssh.exe which is launching git-annex.exe (yes, on the local machine.) It exits right away, but the command line is "C:\Program Files (x86)\Git\cmd\git-annex.exe" "Please type 'yes' or 'no': ". I've no idea why it's doing that though.--If I kill that parent ssh process, I get this error message in the transcript:-- Could not create directory '/home/db48x/.ssh'.--This seems a bit dubious; both my local computer and the remote computer have a ~/.ssh directory.--In order to rule out a problem with my local computer (an ancient install of Git or cygwin/msys or something, we've tried this on fresh computers which have never had git installed; we get exactly the same problem there.--### What steps will reproduce the problem?--Create or connect to a repository via SSH.--### What version of git-annex are you using? On what operating system?--Windows 7-- Version: 5.20150420-gb0ebb23- Build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feeds Quvi TDFA TorrentParser--### Please provide any additional information below.--While this is going on, the log has is showing that it's executing the following command:--[[!format sh """-[2015-04-28 22:34:16 Pacific Daylight Time] chat: ssh ["-oNumberOfPasswordPrompts=1","-p","22","db48x@eambar.db48x.net","sh -c 'mkdir -p '\"'\"'annex'\"'\"'&&cd '\"'\"'annex'\"'\"'&&if [ ! -d .git ]; then if [ -x ~/.ssh/git-annex-wrapper ]; then ~/.ssh/git-annex-wrapper git init --bare --shared; else git init --bare --shared; fi && if [ -x ~/.ssh/git-annex-wrapper ]; then ~/.ssh/git-annex-wrapper git config receive.denyNonFastforwards; else git config receive.denyNonFastforwards; fi ;fi&&mkdir -p ~/.ssh&&if [ ! -e ~/.ssh/git-annex-shell ]; then (echo '\"'\"'#!/bin/sh'\"'\"';echo '\"'\"'set -e'\"'\"';echo '\"'\"'if [ \"x$SSH_ORIGINAL_COMMAND\" != \"x\" ]; then'\"'\"';echo '\"'\"'exec git-annex-shell -c \"$SSH_ORIGINAL_COMMAND\"'\"'\"';echo '\"'\"'else'\"'\"';echo '\"'\"'exec git-annex-shell -c \"$@\"'\"'\"';echo '\"'\"'fi'\"'\"') > ~/.ssh/git-annex-shell; fi&&chmod 700 ~/.ssh/git-annex-shell&&touch ~/.ssh/authorized_keys&&chmod 600 ~/.ssh/authorized_keys&&echo '\"'\"'command=\"env GIT_ANNEX_SHELL_DIRECTORY='\"'\"'\"'\"'\"'\"'\"'\"'annex'\"'\"'\"'\"'\"'\"'\"'\"' ~/.ssh/git-annex-shell\",no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiPFdIMyYCBmc14f9cUZaG36Zw+NziqX9Z+xGl5GAYq16nORxVc+70Bj+A9cHoHLzTMBJnw7G/f7xJNGbKNgKUPKZohT8AQfg8lnyK8qpyzI2dJB3R0vPBMPxZCBm4IOpdB6ad3B6dUiyNtyMn1hza7GVhIFOsHfGG+K3PGtFgwOz/Zj+2zmcZIL/BHObFsba/yhQxbsjLYPI7mmNV9CLb1+XcR0z2okWvxu28lOrcIXDAdEhp1cjjjpBhwTH1F8/gJcJ6ENBa4JiGt/oEKb1b/pXLaMX6dRjc/gYoy7z0Hw7RD73hH+UtPj5TAeKwoNdaVXdqSsVI+3ql+O5PFTxt db48x@caradhras\n'\"'\"' >>~/.ssh/authorized_keys'"]-"""]]--> This sounds like it's all down to the newer ssh from cygwin ignoring HOME-> and trying to use /home/user which doesn't work very well outside cygwin.->-> Since git-annex has switched to not include that ssh any longer, and-> instead use the ssh that's bundled with msysgit, I think this bug is-> closed. [[done]] Upgrading to the latest daily build should fix your-> system's ssh. Please followup if I'm wrong. --[[Joey]]
− doc/bugs/webapp_missing_on_redhat.mdwn
@@ -1,21 +0,0 @@-### Please describe the problem.-I am unable to run the webapp on redhat6.5--### What steps will reproduce the problem?-yum install git-annex --### What version of git-annex are you using? On what operating system?-I am using git-annex version 3.20120523 and on redhat 6.5--### Please provide any additional information below.-I am seeing the following error when running git annex webapp:--git-annex: unknown command webapp--> git-annex can be built without the webapp, and this is-> often done if a distribution does not have the full haskell stack-> packaged yet. The solution is to contact the distribution and let them-> know they need to improve it, and/or use the standalone build from this-> website.-> -> So, please file a bug on redhat. [[done]] --[[Joey]]
− doc/bugs/webapp_on_windows_7_64_bit_fail_to_add_server_repo.mdwn
@@ -1,76 +0,0 @@-### Please describe the problem.-Cant add Server repo--### What steps will reproduce the problem?-install linux prebuild torball on server (readynas pro 600)-un-tar and run with ./git-annex-(git-annex test pass without error)-install windows client on win7 64 bit and start webapp-try add server repo as second repo will led to an internal server error about gpg--followed the assistend video-### What version of git-annex are you using? On what operating system?-Readynas (Linux):-annex@readynas-pro:~/git-annex.linux$ ./git-annex version-git-annex version: 5.20140831-g62e6ad8-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL-remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external--Windows:-Version: 5.20140914-gb169612-Build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feeds Quvi TDFA CryptoHash --Git on Windows:-C:\Users\Xaver>git --version-git version 1.9.4.msysgit.1--GPG on Windows:-C:\Users\Xaver>gpg --version-gpg (GnuPG) 2.0.26 (Gpg4win 2.2.2)-libgcrypt 1.6.1-Copyright (C) 2013 Free Software Foundation, Inc.-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>-This is free software: you are free to change and redistribute it.-There is NO WARRANTY, to the extent permitted by law.--Home: C:/Users/Xaver/AppData/Roaming/gnupg-Unterstützte Verfahren:-Öff. Schlüssel: RSA, ELG, DSA-Verschlü.: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,- CAMELLIA128, CAMELLIA192, CAMELLIA256-Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224-Komprimierung: nicht komprimiert, ZIP, ZLIB, BZIP2-### Please provide any additional information below.-Internal Server Error-user error (gpg ["--quiet","--trust-model","always","--with-colons","--list-secret-keys","--fixed-list-mode"] exited 2)--gpg: fatal: can't create directory `/home/Xaver/.gnupg': No such file or directory--makes no sense on windows machine--must be like "C:\Users\Xaver\AppData\Roaming\gnupg" or %Username%\AppData\Roaming\gnupg I guess.--gpg itself works fine I use it with thunderbird--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-gpg: WARNING: using insecure memory!-gpg: please see http://www.gnupg.org/documentation/faqs.html for more information-gpg: fatal: can't create directory `/home/Xaver/.gnupg': No such file or directory-secmem usage: 0/0 bytes in 0/0 blocks of pool 0/65536-14/Sep/2014:23:17:08 +0200 [Error#yesod-core] user error (gpg ["--quiet","--trust-model","always","--with-colons","--list-secret-keys","--fixed-list-mode"] exited 2) @(yesod-core-1.2.19:Yesod.Core.Class.Yesod .\Yesod\Core\Class\Yesod.hs:503:5)--# End of transcript or log.-"""]]--> Thanks for reporting this problem. I've fixed it to not crash when gpg -> fails to list secret keys.-> -> That doesn't fix the problem that the cygnus build of gpg does not find-> the user's home directory properly. But that's only needed for the-> encrypted repository (gcrypt) support, which is listed in-> [[windows_support]] as not yet available for Windows.->-> So, not leaving this bug report open. [[done]] --[[Joey]]
− doc/bugs/weird_entry_in_process_list.mdwn
@@ -1,41 +0,0 @@-### Please describe the problem.--The standalone linux binaries do not show up as `git-annex` in the process list, but as `ld-linux-x86-64` - it's pretty confusing!--### What steps will reproduce the problem?--Install the standalone binaries from downloads.kitenet.net, run git-annex.--### What version of git-annex are you using? On what operating system?--Today's snapshot from downloads.k.n.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-root@koumbit-mp-test:/var/isuma/media/video# top -b -n 1 | head -10-top - 14:00:09 up 15 days, 23:25, 4 users, load average: 1.18, 1.26, 1.34-Tasks: 216 total, 1 running, 213 sleeping, 0 stopped, 2 zombie-Cpu(s): 0.4%us, 0.1%sy, 0.0%ni, 99.3%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st-Mem: 6122044k total, 5469364k used, 652680k free, 321080k buffers-Swap: 2928632k total, 0k used, 2928632k free, 4009592k cached-- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND-28261 root 20 0 4528 652 528 D 79 0.0 0:01.28 ld-linux-x86-64- 1381 root 20 0 126m 13m 4060 S 2 0.2 190:25.64 Xorg- 1 root 20 0 8356 812 684 S 0 0.0 0:05.50 init-root@koumbit-mp-test:/var/isuma/media/video# ps axf | grep annex- 9861 pts/2 S+ 0:00 | \_ git annex add hd high high~ ipod ipod~ large low mp4_sd raw small wc xlarge- 9862 pts/2 Sl+ 3:50 | \_ /opt/git-annex.linux//lib64/ld-linux-x86-64.so.2 --library-path /opt/git-annex.linux//etc/ld.so.conf.d:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu/audit:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu/gconv:/opt/git-annex.linux//usr/lib:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu:/opt/git-annex.linux//lib64:/opt/git-annex.linux//lib/x86_64-linux-gnu: /opt/git-annex.linux/shimmed/git-annex/git-annex add hd high high~ ipod ipod~ large low mp4_sd raw small wc xlarge- 9878 pts/2 S+ 0:00 | \_ /opt/git-annex.linux//lib64/ld-linux-x86-64.so.2 --library-path /opt/git-annex.linux//etc/ld.so.conf.d:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu/audit:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu/gconv:/opt/git-annex.linux//usr/lib:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu:/opt/git-annex.linux//lib64:/opt/git-annex.linux//lib/x86_64-linux-gnu: /opt/git-annex.linux/shimmed/git/git --git-dir=.git --work-tree=. check-attr -z --stdin annex.backend annex.numcopies --- 9881 pts/2 S+ 0:01 | \_ /opt/git-annex.linux//lib64/ld-linux-x86-64.so.2 --library-path /opt/git-annex.linux//etc/ld.so.conf.d:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu/audit:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu/gconv:/opt/git-annex.linux//usr/lib:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu:/opt/git-annex.linux//lib64:/opt/git-annex.linux//lib/x86_64-linux-gnu: /opt/git-annex.linux/shimmed/git/git --git-dir=.git --work-tree=. cat-file --batch- 9882 pts/2 S+ 0:00 | \_ /opt/git-annex.linux//lib64/ld-linux-x86-64.so.2 --library-path /opt/git-annex.linux//etc/ld.so.conf.d:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu/audit:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu/gconv:/opt/git-annex.linux//usr/lib:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu:/opt/git-annex.linux//lib64:/opt/git-annex.linux//lib/x86_64-linux-gnu: /opt/git-annex.linux/shimmed/git/git --git-dir=.git --work-tree=. cat-file --batch-28293 pts/2 R+ 0:00 | \_ /opt/git-annex.linux//lib64/ld-linux-x86-64.so.2 --library-path /opt/git-annex.linux//etc/ld.so.conf.d:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu/audit:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu/gconv:/opt/git-annex.linux//usr/lib:/opt/git-annex.linux//usr/lib/x86_64-linux-gnu:/opt/git-annex.linux//lib64:/opt/git-annex.linux//lib/x86_64-linux-gnu: /opt/git-annex.linux/shimmed/sha256sum/sha256sum .git/annex/misctmp/videonew9862-# End of transcript or log.-"""]]--couldn't it alter its process name to make this a little more intuitive? This is especially problematic because i am trying to hook git-annex into Puppet and Facter, which require me to guess where the various git-annex repos are on the server. The way i was doing that so far was with `lsof -c 'git-annex' -F0tn`, which is obviously failing under those circumstances.... Unless there's a better way to find those repos across the system? I assume there's a git-annex assistant running here... --[[anarcat]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/wget_and_android_4.4.mdwn
@@ -1,27 +0,0 @@-### Please describe the problem.-audio file won't download when it's sole source is the internet--### What steps will reproduce the problem?-on my laptop git annex addurl --fast http://path/to/file.mp3 in folder phone/-sync to homeserver-sync to phone-phone is set to prefer phone/* and present-after the phone receives the sync from homeserver, it looks to start the download and fails.-https://www.dropbox.com/s/ozcwub2mzo40z4y/2014-01-12%2012.36.01.png -> says wget doesn't recognize option --clobber--https://www.dropbox.com/s/x1jhb6rcp17c7t8/2014-01-12%2013.13.56.png -> git annex get . -d output--### What version of git-annex are you using? On what operating system?-android is version 5.20131230-g4aa88d8 for android 4.3+--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--> [[fixed|done]] --[[Joey]]
− doc/bugs/whereis_does_not_work_in_direct_mode.mdwn
@@ -1,91 +0,0 @@-### Please describe the problem.--`git annex whereis` says that there are no copies of any of the files that have been added in repositories running in direct mode when `annex.alwayscommit` is set to `false`.--In other words, if I add a file from PC1 in direct mode, `whereis` in PC2 will fail. Instead, if I add the same file from PC1 in indirect mode, `whereis` in PC2 will work correctly and will report that the file is present in PC1.--This is the error received in PC2:-- $ git annex whereis- whereis fileA (0 copies) failed- whereis fileB (0 copies) failed- git-annex: whereis: 2 failed--### What steps will reproduce the problem?--The following script (available at <https://gist.github.com/gioele/dde462df89edfe17c5e3>) will reproduce this problem.--[[!format sh """-#!/bin/sh -x- -set -e ; set -u-export LC_ALL=C--# alwayscommit must be set globally to affects whereis and sync-git config --global annex.alwayscommit false --direct=true # set to false to make the problem disappear- -h=${h:-localhost}-dr="/tmp/annex"- -sync='sync -c annex.alwayscommit=true'- -chmod a+rwx -R pc1 pc2 || true-rm -Rf pc1 pc2- -# create central git repo-ssh $h "chmod a+rwx -R ${dr}/Docs.git" || true-ssh $h "rm -Rf ${dr}/Docs.git"-ssh $h "mkdir -p ${dr}/Docs.git"-ssh $h "cd ${dr}/Docs.git ; git init --bare"- -d=$(pwd)- -# populate repo in PC1-mkdir -p pc1/Docs-cd pc1/Docs-echo AAA > fileA-echo BBB > fileB- -git init-git remote add origin $h:$dr/Docs.git-git fetch --all- -# simulate a host without git-annex-git config remote.origin.annex-ignore true- -git annex init "pc1"-git annex info- -$direct && git annex direct- -git annex add .-git annex $sync origin- -# re-create repo on PC2-cd $d-mkdir -p pc2-cd pc2-git clone $h:$dr/Docs.git-cd Docs- -git config remote.origin.annex-ignore true- -git annex init "pc2"-git annex info- -git annex whereis || true-echo "I was expecting location info to be available after info (press Enter)" ; read enter- -git annex $sync origin- -git annex whereis || true-echo "Why isn't location info available even after sync? (press Enter)"-"""]]--### What version of git-annex are you using? On what operating system?--git-annex version: 5.20140716-g8c14ba8--> [[fixed|done]] --[[Joey]]
− doc/bugs/windows_install_failure.mdwn
@@ -1,33 +0,0 @@-### Please describe the problem.-When installing the windows aplha dated 2013-06-21 12:17 it gives an error:--Error opening file for writing:-c:\program files (x86)\Git\cmd\git-annex.exe-Abort,retry or ignore?--If you run as administrator it works.----### What steps will reproduce the problem?--Download the alpha installer and run as normal user.--### What version of git-annex are you using? On what operating system?-Windows 7 64 bit---### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log---# End of transcript or log.-"""]]--[[!meta title="windows installer fails unless run as admin user"]]--> [[dup|done]] of-> [[git-annex_does_not_install_on_windows_without_admin_rights]] --[[Joey]]
− doc/bugs/windows_isExecutable_fail.mdwn
@@ -1,27 +0,0 @@-On Windows, isExecutable fails to detect a file that is indeed executable-as such. This prevents git-annex from running the pre-commit-hook-on Windows.--getFileStatus yields a fileMode of 100666, which is -clearly a dummy mode. Not surprising, since unix-compat is partial stubs-on windows.--Actually, isExecutable is ok (it needs to check unix modes because it is-used on file modes coming out of git). But, getFileStatus is the wrong-thing to be using on Windows to check if a hook exists and is executable.--I don't see anything in Win32 or Win32-extras on hackage that can check -executablility. Looking at git's source, it uses `access(path, X_OK) < 0`;-haskell equivilant is System.Posix.Files.fileAccess, but the version-in unix-compat has the same problem as checking getFileStatus's fileMode.--I think it's reasonable to assume that if a hook exists on windows, it's-intended to be executable, and try to run it. Actually, testing with-msysgit, it runs hooks whether or not they have the execute bit set!-So, done that now.--However, now git-annex tries to run the hook but fails when it's a shell -script because #!/bin/sh is useless on windows. It looks to me like msysgit-runs "sh hook" to work around that, and it is in fact parsing the shebang-line and dispatching the interpreter. Ugh. (Also, pre-commit.bat doesn't-get run.) Ok, added this same hack to git-annex. [[done]] --[[Joey]]
− doc/bugs/wrong_synopsis_in_manpage_of_git_annex_pre-commit.mdwn
@@ -1,36 +0,0 @@-### Please describe the problem.--The synopsis in the manpage of git annex pre-commit mentions-git annex instead of git annex pre-commit.--I'll attach a patch to fix the manpage, below:--[[!format diff """-From f5fed6ccdcef3bcb8be07691265842d437037dec Mon Sep 17 00:00:00 2001-From: Felix Gruber <felgru@gmx.de>-Date: Fri, 1 May 2015 02:05:32 +0200-Subject: [PATCH] fix synopsis in manpage of git annex pre-commit------ doc/git-annex-pre-commit.mdwn | 2 +-- 1 file changed, 1 insertion(+), 1 deletion(-)--diff --git a/doc/git-annex-pre-commit.mdwn b/doc/git-annex-pre-commit.mdwn-index e0f6fdb..bc1e86e 100644---- a/doc/git-annex-pre-commit.mdwn-+++ b/doc/git-annex-pre-commit.mdwn-@@ -4,7 +4,7 @@ git-annex pre-commit - run by git pre-commit hook- - # SYNOPSIS- --git annex `[path ...]`-+git annex pre-commit `[path ...]`- - # DESCRIPTION- --- -2.1.4-"""]]--> You know, this is a wiki, you could fix it yourself. With git push even.-> In any case [[done]] now. --[[Joey]]
− doc/bugs/youtube_support_suddenly_stopped_working.mdwn
@@ -1,62 +0,0 @@-### Please describe the problem.--[[This|design/assistant/blog/day_314__quvi/]] says that I can download youtube videos with git-annex, but I can't - it downloads the HTML of the page instead!--### What steps will reproduce the problem?-- git annex addurl http://www.youtube.com/watch?v=BTzNLhxPzjo--Should have downloaded a Bill Hicks video, instead it downloads the HTML.--### What version of git-annex are you using? On what operating system?--[[!format txt """-git-annex version: 4.20130912-ga1faca3-build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP DNS Feeds Quvi-local repository version: 3-default repository version: 3-supported repository versions: 3 4-upgrade supported from repository versions: 0 1 2-"""]]--Note that quvi is still capable of fetching that video, no problem there.--### Please provide any additional information below.--[[!format sh """-# If you can, paste a complete transcript of the problem occurring here.-# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log-anarcat@marcos:clips$ git annex addurl http://www.youtube.com/watch?v=BTzNLhxPzjo-addurl www.youtube.com_watch_v=BTzNLhxPzjo ok-anarcat@marcos:clips$ file www.youtube.com_watch_v\=BTzNLhxPzjo-www.youtube.com_watch_v=BTzNLhxPzjo: broken symbolic link to `.git/annex/objects/qZ/q1/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b'-anarcat@marcos:clips$ file www.youtube.com_watch_v\=BTzNLhxPzjo ^C-anarcat@marcos:clips$ file .git/annex/objects/qZ/q1/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b-.git/annex/objects/qZ/q1/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b: ERROR: cannot open `.git/annex/objects/qZ/q1/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b' (No such file or directory)-anarcat@marcos:clips$ git annex get www.youtube.com_watch_v\=BTzNLhxPzjo-get www.youtube.com_watch_v=BTzNLhxPzjo (from web...)---2013-09-14 17:24:23-- http://www.youtube.com/watch?v=BTzNLhxPzjo-Résolution de www.youtube.com (www.youtube.com)... 173.194.43.96, 173.194.43.97, 173.194.43.98, ...-Connexion vers www.youtube.com (www.youtube.com)|173.194.43.96|:80...connecté.-requête HTTP transmise, en attente de la réponse...200 OK-Longueur: non spécifié [text/html]-Sauvegarde en : «/srv/video/clips/.git/annex/tmp/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b»-- [ <=> ] 123 245 346K/s ds 0,3s--2013-09-14 17:24:23 (346 KB/s) - «/srv/video/clips/.git/annex/tmp/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b» sauvegardé [123245]--ok-(Recording state in git...)-anarcat@marcos:clips$ file www.youtube.com_watch_v\=BTzNLhxPzjo-www.youtube.com_watch_v=BTzNLhxPzjo: symbolic link to `.git/annex/objects/qZ/q1/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b'-anarcat@marcos:clips$ file .git/annex/objects/qZ/q1/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b-.git/annex/objects/qZ/q1/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b/SHA256E-s123162--96fe8634aaf035373077473ac2b166c5ad22bfe099112c414eee9fe753f4ce2b: HTML document, UTF-8 Unicode text, with very long lines-# End of transcript or log.-"""]]--### Workaround--Use the `quvi` prefix.--> Typo introduced in last release. [[fixed|done]] --[[Joey]]
− doc/bugs/youtube_web_download_gives_Prelude.undefined_in_webapp.mdwn
@@ -1,27 +0,0 @@-### Please describe the problem.--I'm downloading a video with 'git annex addurl' from youtube. The webapp shows the transfer, but when I click the 'web' link it takes me to a page that says "internal server error" and "Prelude.undefined"--### What steps will reproduce the problem?--1. start webapp-2. download youtube video-3. click 'web' link on transfer in git-annex--### What version of git-annex are you using? On what operating system?--* Version: 5.20140717-* OS: Debian sid--### Please provide any additional information below.--Not much in the logs, I see this:--[[!format sh """--[2014-07-25 08:40:14 BST] TransferWatcher: transfer starting: Download UUID "00000000-0000-0000-0000-000000000001" URL--quvi:https://www.youtube.com/watch,63v,61Z8_8jNLsZms Nothing-[2014-07-25 08:40:14 BST] TransferWatcher: transfer starting: Download UUID "00000000-0000-0000-0000-000000000001" Chase_Adam_at_Startup_School_NY_2014.mp4 Nothing--"""]]--> [[fixed|done]] --[[Joey]]
doc/design/assistant/polls/prioritizing_special_remotes.mdwn view
@@ -6,7 +6,7 @@ Help me prioritize my work: What special remote would you most like to use with the git-annex assistant? -[[!poll open=yes 18 "Amazon S3 (done)" 13 "Amazon Glacier (done)" 10 "Box.com (done)" 76 "My phone (or MP3 player)" 28 "Tahoe-LAFS" 16 "OpenStack SWIFT" 37 "Google Drive"]]+[[!poll open=yes 18 "Amazon S3 (done)" 13 "Amazon Glacier (done)" 10 "Box.com (done)" 77 "My phone (or MP3 player)" 29 "Tahoe-LAFS" 16 "OpenStack SWIFT" 37 "Google Drive"]] This poll is ordered with the options I consider easiest to build listed first. Mostly because git-annex already supports them and they
doc/design/external_special_remote_protocol.mdwn view
@@ -228,7 +228,7 @@ This is highly recommended for STORE. (It is optional but good for RETRIEVE.) (git-annex does not send a reply to this message.) * `DIRHASH Key` - Gets a two level hash associated with a Key. Something like "abc/def".+ Gets a two level hash associated with a Key. Something like "aB/Cd". This is always the same for any given Key, so can be used for eg, creating hash directory structures to store Keys in. (git-annex replies with VALUE followed by the value.)
doc/design/new_repo_versions.mdwn view
@@ -43,7 +43,8 @@ The mixed case hash directories have caused trouble on case-insensative filesystems, although that has mostly been papered over to avoid- problems.+ problems. One remaining problem users can stuble on occurs+ when [[moving a repository from OSX to Linux|bugs/OSX_case_insensitive_filesystem]]. * The hash directories, and also the per-key directories can slow down using a repository on a disk (both SSD and spinning).
+ doc/devblog/day_382-384__pretty_well_caught_up.mdwn view
@@ -0,0 +1,9 @@+The past three days have felt kind of low activity days, but somehow a lot+of stuff still got done, both bug fixes and small features, and I am+feeling pretty well caught up with backlog for the first time in over a+month. Although as always there is some left, 110 messages.++On Monday I fixed a bug that could cause a hang when dropping content, if+git-annex had to verify the content was present on a ssh remote. That bug+was bad enough to make an immediate release for, even though it was only a+week since the last release.
+ doc/devblog/day_385__new_features.mdwn view
@@ -0,0 +1,16 @@+Something that has come up repeatedly is that `git annex reinject` is+too hard to use since you have to tell it which annexed file you're providing+the content for. Now `git-annex reinject --known` can be passed a list of+files and it will reinject any that hash to known annexed contents+and ignore the rest. That works best when only one backend is used in a +repository; otherwise it would need to be run repeatedly with different+`--backend` values.++Turns out that the `GIT_COMMON_DIR` feature used by adjusted branches+is only a couple years old, so don't let adjusted branches be used with+a too old git.++And, `git merge` is getting a new sanity check that prevents merging+in a branch with a disconnected history. `git annex sync` will inherit that+sanity check, but the assistant needs to let such merges happen when eg,+pairing repositories, so more git version checking there.
+ doc/devblog/day_386__day_off.mdwn view
@@ -0,0 +1,12 @@+I'm on a long weekend. This did not prevent git-annex from getting an+impressive lot of features though, as Daniel Dent contributed+<https://github.com/DanielDent/git-annex-remote-rclone> which uses+[rclone](http://rclone.org/) to add support for a ton of additional cloud+storage things, including: ++Google Drive, Openstack Swift, Rackspace cloud files, Memset Memstore, Dropbox,+Google Cloud Storage, Amazon Cloud Drive, Microsoft One Drive, Hubic, Backblaze+B2, Yandex Disk++Wow! I hope that rclone will end up packaged in more distributions (eg Debian)+so this will be easier to set up.
+ doc/forum/Assistant_fails_to_authenticate_to_rsync_remote.mdwn view
@@ -0,0 +1,17 @@+I have an rsync special remote for rsync.net. Recently I noticed that the assistant was not uploading files to this remote. When I look at the log in the webapp I see that it fails to authenticate:++ [2016-04-22 13:28:49.145178] NetWatcherFallback: Syncing with rsync.net+ Permission denied, please try again.+ Permission denied, please try again.+ Received disconnect from 1.1.1.1 port 22:2: Too many authentication failures for 12345+ Connection to host.rsync.net closed by remote host.+ rsync: connection unexpectedly closed (0 bytes received so far) [sender]+ rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.2]++(For privacy I replaced the IP of the rsync.net host with 1.1.1.1 and the numerical user with 12345 and the hostname with host.rsync.net. In the actual log output those 3 things have real values that are correct!)++If I change into this annex in the terminal I can `git annex copy . --to rsync.net` and everything uploads properly, so it is just the assistant which is failing to authenticate. I'm not sure how to go about troubleshooting this. I do use an ssh key to authenticate to the remote. Maybe the assistant doesn't know about this key?++I did create this repo and add the remote manually, only later telling the assistant about the repo through the webapp.++What should I look into to debug this?
+ doc/forum/Using_integer_ranges_with_metadata.mdwn view
@@ -0,0 +1,40 @@+I keep my movie collection in an annex. I recently wrote a python script that pulls information about each movie down from IMDB and stores it as metadata on the annexed file. One of the attributes I'm storing is `rating`. For instance, the metadata for my copy of Blade Runner looks like this:++ $ git annex metadata blade_runner.mkv+ metadata blade_runner.mkv+ director="Ridley Scott"+ director-lastchanged=2016-04-20@04-21-33+ genre="Sci-Fi"+ genre="Thriller"+ genre-lastchanged=2016-04-20@04-21-33+ lastchanged=2016-04-20@04-21-33+ rating=8.2+ rating-lastchanged=2016-04-20@04-21-33+ runtime=117+ runtime-lastchanged=2016-04-20@04-21-33+ title="Blade Runner"+ title-lastchanged=2016-04-20@04-21-33+ year=1982+ year-lastchanged=2016-04-20@04-21-33+ ok++I can now use the metadata to ask git annex to show me all movies with a rating of 8.2.++ $ git annex find --metadata rating=8.2+ blade_runner.mkv++However, that isn't very useful. What I want to do is specify a range. For example, I want to ask git annex to show me all movies with a rating above 8:++ $ git annex find --metadata rating=>8++Or, show me all movies with a rating between 6 and 9++ $ git annex find --metadata rating=>6 rating=<9++Is something like this possible?++I'd like to do something similar with the `year` attribute. Right now I can use metadata views to group movies by their release year, which is pretty neat.++ $ git annex view "year=*"++But I would also like to be able to give a range so that I could group movies by release decade, for example.
+ doc/forum/difference_between_uninit_and_unlock.mdwn view
@@ -0,0 +1,10 @@+What's the difference between++ git annex uninit++and ++ git annex unlock *+ rm -rf .git++?
+ doc/git-annex-calckey.mdwn view
@@ -0,0 +1,40 @@+# NAME++git-annex calckey - calculates the key that would be used to refer to a file++# SYNOPSIS++git annex calckey `[file ...]`++# DESCRIPTION++This plumbing-level command calculates the key that would be used+to refer to a file. The file is not added to the annex by this command.+The key is output to stdout.++The backend used is the first listed in the annex.backends configuration+setting, which can be overridden by the --backend option.+For example, to force use of the SHA1 backend:++ git annex calckey --backend=SHA1 file++# OPTIONS++* `--batch`++ Enable batch mode, in which a line containing the filename is read from+ stdin, the key is output to stdout (with a trailing newline), and repeat.++* `--backend=name`++ Specifies which key-value backend to use.++# SEE ALSO++[[git-annex]](1)++# AUTHOR++Joey Hess <id@joeyh.name>++Warning: Automatically converted into a man page by mdwn2man. Edit with care.
doc/git-annex-preferred-content.mdwn view
@@ -154,7 +154,7 @@ * `standard` git-annex comes with some built-in preferred content expressions, that- can be used with repositories that are in some [[standard groups]].+ can be used with repositories that are in some [[preferred content/standard groups/]]. When a repository is in exactly one such group, you can use the "standard" keyword in its preferred content expression, to match whatever content
doc/git-annex-reinject.mdwn view
@@ -1,31 +1,61 @@ # NAME -git-annex reinject - sets content of annexed file+git-annex reinject - inject content of file back into annex # SYNOPSIS -git annex reinject `src dest`+git annex reinject `[src dest]` +git annex reinject --known `[src]`+ # DESCRIPTION -Moves the src file into the annex as the content of the dest file,-which should be an already annexed file whose content is not present.+Moves the content of the src file or files into the annex.+Only known file contents will be reinjected. Any unknown src files will+be left unchanged. This can be useful if you have obtained the content of a file from-elsewhere and want to put it in the local annex.--Verifies that the src file's content matches with the content that the dest-file is expected to have, and refuses to reinject it otherwise.+elsewhere and want to put it in the local annex. For example, if a file's+content has been lost and you have a backup, you can restore the backup and+reinject it into your local repository. -Example:+There are two ways to use this command. Specifying a src file and the name+of a dest file (located inside the repository's working tree)+injects the src file as the content of the dest file. git annex reinject /tmp/foo.iso foo.iso +Or the `--known` option can be used to reinject all known src files, without+needing to specify the dest file.++ git annex reinject --known /tmp/*.iso++# OPTIONS++* `--known`++ With this option, each specified src file is hashed using the default+ key-value backend (or the one specified with `--backend`), and if git-annex+ has a record of the file having been in the annex before, the content is+ reinjected.++ Note that this will reinject old versions of files that have been+ modified or deleted from the current git branch.+ Use [[git-annex-unused]](1) to detect when such old and potentially+ unused files have been reinjected.++* `--backend`++ Specify the key-value backend to use when checking if a file is known+ with the `--known` option.+ # SEE ALSO [[git-annex]](1) [[git-annex-add]](1)++[[git-annex-unused]](1) [[git-annex-fsck]](1)
doc/git-annex.mdwn view
@@ -530,6 +530,12 @@ See [[git-annex-lookupkey]](1) for details. +* `calckey [file ...]`++ Calculates the key that would be used to refer to a file.+ + See [[git-annex-calckey]](1) for details.+ * `contentlocation [key ..]` Looks up location of annexed content for a key.@@ -1305,7 +1311,8 @@ * `annex.tune.objecthash1`, `annex.tune.objecthashlower`, `annex.tune.branchhash1` These can be passed to `git annex init` to tune the repository.- They cannot be safely changed in a running repository.+ They cannot be safely changed in a running repository and should never be+ set in global git configuration. For details, see <https://git-annex.branchable.com/tuning/>. # CONFIGURATION VIA .gitattributes
doc/install/Debian.mdwn view
@@ -1,11 +1,19 @@ ## Debian testing or unstable - sudo apt-get install git-annex+Debian unstable and testing are usually fairly up to date, so this should be enough: + sudo apt install git-annex+ ## Debian 8.0 "jessie" - sudo apt-get install git-annex+ sudo apt install git-annex +There is also a backport for jessie, even though it is [often out of date](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760787).++Follow the instructions to [enable backports](http://backports.debian.org/Instructions/).++ sudo apt -t jessie-backports install git-annex+ ## Debian 7.0 "wheezy": sudo apt-get install git-annex@@ -23,7 +31,7 @@ sudo apt-get -t squeeze-backports install git-annex -## backport+## Standalone backports for all releases If the version shipped with Debian is too old, the [NeuroDebian team](http://neuro.debian.net/) provides a
− doc/news/version_6.20160217.mdwn
@@ -1,22 +0,0 @@-git-annex 6.20160217 released with [[!toggle text="these changes"]]-[[!toggleable text="""- * Support getting files from read-only repositories.- * checkpresentkey: Allow to be run without an explicit remote.- * checkpresentkey: Added --batch.- * Work around problem with concurrent-output when in a non-unicode locale- by avoiding use of it in such a locale. Instead -J will behave as if- it was built without concurrent-output support in this situation.- * Fix storing of filenames of v6 unlocked files when the filename is not- representable in the current locale.- * fsck: Detect and fix missing associated file mappings in v6 repositories.- * fsck: Populate unlocked files in v6 repositories whose content is- present in annex/objects but didn't reach the work tree.- * When initializing a v6 repo on a crippled filesystem, don't force it- into direct mode.- * Windows: Fix v6 unlocked files to actually work.- * add, addurl, import, importfeed: When in a v6 repository on a crippled- filesystem, add files unlocked.- * annex.addunlocked: New configuration setting, makes files always be- added unlocked. (v6 only)- * Improve format of v6 unlocked pointer files to support keys containing- slashes."""]]
+ doc/news/version_6.20160419.mdwn view
@@ -0,0 +1,29 @@+git-annex 6.20160419 released with [[!toggle text="these changes"]]+[[!toggleable text="""+ * Fix bug that prevented resuming of uploads to encrypted special remotes+ that used chunking.+ * That bug could also expose the names of keys to such remotes when+ attempting to resume an upload, so it is a minor security issue.+ * Fix duplicate progress meter display when downloading from a git remote+ over http with -J.+ * reinject: When src file's content cannot be verified, leave it alone,+ instead of deleting it.+ * reinject: Added new mode which can reinject known files into the annex.+ For example: git-annex reinject --known /mnt/backup/*+ * calckey: New plumbing command, calculates the key that would be used+ to refer to a file.+ * Fix bug that prevented annex.sshcaching=false configuration from taking+ effect when on a crippled filesystem. Thanks, divergentdave.+ * git 2.9.0 is going to prevent git merge from merging in unrelated+ branches. Since the webapp's pairing etc features often combine+ together repositories with unrelated histories, work around+ this behavior change when the assistant merges, by passing+ --allow-unrelated-histories. Note though that this is not done+ for git annex sync's merges, so it will follow git's default or+ configured behavior.+ * When git-annex is used with a git version older than 2.2.0, disable+ support for adjusted branches, since GIT\_COMMON\_DIR is needed to update+ them and was first added in that version of git.+ * Avoid setting LOCPATH in linux standalone builds that are built with+ a ghc that has been fixed to not hang when it cannot find locale files.+ * Isolate test suite from global git config settings."""]]
doc/special_remotes.mdwn view
@@ -29,6 +29,7 @@ * [[Amazon_S3|tips/using_Amazon_S3]] * [[Amazon_Glacier|tips/using_Amazon_Glacier]]+* [Amazon Cloud drive](https://github.com/DanielDent/git-annex-remote-rclone) * [[tips/Internet_Archive_via_S3]] * [[Box.com|tips/using_box.com_as_a_special_remote]] * [[Google drive|tips/googledriveannex]]@@ -44,7 +45,11 @@ * [pCloud](https://github.com/tochev/git-annex-remote-pcloud) * [[ipfs]] * [Ceph](https://github.com/mhameed/git-annex-remote-ceph)-* [Blackblaze's B2](https://github.com/encryptio/git-annex-remote-b2)+* [Backblaze's B2](https://github.com/encryptio/git-annex-remote-b2)+* [Dropbox](https://github.com/DanielDent/git-annex-remote-rclone)+* [Openstack Swift / Rackspace cloud files / Memset Memstore](https://github.com/DanielDent/git-annex-remote-rclone)+* [Microsoft One Drive](https://github.com/DanielDent/git-annex-remote-rclone)+* [Yandex Disk](https://github.com/DanielDent/git-annex-remote-rclone) Want to add support for something else? [[Write your own!|external]]
− doc/todo/A_really_simple_way_to_pair_devices_like_bittorent_sync.mdwn
@@ -1,11 +0,0 @@-I like the way btsync search for the peer. So if I need to sync my laptop and other family laptop both with a total different and changing network setup the two device found each other do NAT traversal if needed use relays but the end the two folders are synced. But its closed-source :( I like git and git-annex looks really great. I'm learning it now.--First I thought with xmpp I can sync files without ssh/rsync or other remote access to my devices just with two jabber account. Now I know I can't. :(--It would be just great to have some means to sync files without cloud just the two device. Without the ssh / rsync jut share some secret and the devices do the rest. :-o--Anyway thanks for hearing. I'm looking forward to know more about git-annex. Thank you for that sw. =-<>-=--> [[design/assistant/telehash]] --[[Joey]] --> > telehash has been mostly put aside for now, but there are interesting alternatives, including an [[special_remotes/ipfs]] special remote available. see [[todo/Bittorrent-like_features]] for followup on the discussion. so i'm marking this as a [[duplicate|done]]. --[[anarcat]]
− doc/todo/Add___39__dir__39___option_to_addurl.mdwn
@@ -1,4 +0,0 @@-Is it possible to add a '--dir' option to addurl (or some other mechanic) to make git annex create the symlinks in the specified directory?--> --prefix makes sense, and might as well also add --suffix. [[done]]-> --[[Joey]]
− doc/todo/Add_gitlab.com_as_cloud_provider.mdwn
@@ -1,10 +0,0 @@-Hi,--[I don't know if this should go to todo or bugs or should be plainly ignored. Hope it's OK].--Gitlab.com and Gitlab enterprise edition, but unfortunately not Gitlab community edition, now [provides git annex support](https://about.gitlab.com/2015/02/17/gitlab-annex-solves-the-problem-of-versioning-large-binaries-with-git/). It works fairly based for the repos I have enabled it on. At the moment it's free, but one may have to pay for repos larger than 5Gb [in the future](https://about.gitlab.com/2015/02/22/gitlab-7-8-released/#comment-1870271594).--Perhaps gitlab.com should be added to preconfigured cloud providers?--> [[done]] although there are a few known bugs in the webapp's-> implementation. --[[Joey]]
doc/todo/Amazon_Cloud_Drive.mdwn view
@@ -1,3 +1,7 @@+I've released a special remote which uses rclone to enable Amazon Cloud Drive: <https://github.com/DanielDent/git-annex-remote-rclone> -- [[DanielDent]]++---+ Is there a special remote implementation for Amazon Cloud Drive? It's just became unlimited for a fair price: $60/year ( https://www.amazon.com/clouddrive/pricing ).@@ -12,3 +16,8 @@ > > Don't know if there's such a thing... there seems to be SDKs for android and IOS, but nothing more. It seems like it's a REST API: https://developer.amazon.com/public/apis/experience/cloud-drive/... --[[anarcat]] >> requested it be added to amazonka <https://github.com/brendanhay/amazonka/issues/168> --[[Joey]]++>>> In the meantime, <https://github.com/DanielDent/git-annex-remote-rclone> supports Amazon Cloud drive.+>>> I may revisit adding support for it directly to git-annex if amazonka+>>> does get support, but for now, that seems good enough, so [[done]]+>>> --[[Joey]]
− doc/todo/Chunks_support_in_all_special_remotes.mdwn
@@ -1,10 +0,0 @@-The special remote `directory` support files split in chunks, other special remotes do not.--Support for chunks is useful, for example, to be able to upload large files over slow, unreliable connections or to minimize the amount of data to be sent when only part of a big file has been changed.--Couldn't the code used to split, checksum and reconstruct the files in the `directory` remote be used also in all the other special remotes?--> [[done]]; nearly all special remotes support chunking now, and the ones-> that don't omit it for their own reasons, for example bup is not sped up-> by using chunks, and glacier needs some additional work to support them.-> --[[Joey]]
− doc/todo/Deduplicate_archive___40__i.e._zip__41___files.mdwn
@@ -1,9 +0,0 @@-I've just come across this issue and I'm not sure if git-annex is the right place to put it, but in case it is easy enough to do.. may as well ask!--In this scenario, an online service (Bandcamp), automatically creates the archive file when downloading an album each and every time you download it. This results in identical files inside a zip, but different hashes due to the slightly different timestamps on the archive itself.--Would it be possible for git-annex to be able to detect this scenario (in a manner similar to zipcmp) and redirect an add/import to the already existing copy?--I've found this due to trying to decommission an old annex by `git annex import --clean-duplicates ~/annex_old/.git/annex/objects` and finding these files being left.--[[done]] --[[Joey]]
− doc/todo/Deleting_Unused_Files_by_Age.mdwn
@@ -1,17 +0,0 @@-I periodically move unused files to one of my servers. What I would like to-do is drop any unused file that has been unused for say more than 6 months?-I would like to not drop all unused files.--> It strikes me that this is quite similar to how git handles deleting-> stale refs with the reflog. So, if `git annex unused` were changed to-> also look at the reflog, it would keep all files referred to by all refs-> in the reflog, until the reflog expires. You could then set reflog expiry-> to 6 months, and be done.-> -> However, I think that many users expect git annex unused to be able to-> immediately find and remove a file after it's been deleted. So this-> probably needs to be a configurable behavior. --[[Joey]]-->> Implemented this, `git annex unused --used-refspec=+refs/heads/*:reflog`->> will consider all head refs as used (the default), plus consider all->> refs in the reflog as used. [[done]] --[[Joey]]
− doc/todo/Expose_auto-merge_for_manual__44___local_merges.mdwn
@@ -1,9 +0,0 @@-The automatic conflict resolution currently seems to only work within-the context of sync, when merging «synced/foo» into «foo». It would be-convenient if this functionality were exposed for manual merges-between local branches.--E.g., one might invoke «git annex merge» or «git annex autoresolve»-after «git merge» when conflicts are found.--> [[done]] as resolvemerge. --[[Joey]]
− doc/todo/New_special_remote_suggeston_-_clean_directory.mdwn
@@ -1,23 +0,0 @@-The [[special remotes]] available all do great things and enable a ton of different services to be integrated.--Strikingly, the one service I can't satisfactorily integrate with git-annex is a remote folder on a eg NAS (think: computer without git-annex installed) that I want to look like the original annex. As in, when I do a 'tree annexdir' it'd look the same on both locations (except, on the remote there would not be any symlinks, it'd be like it was in directmode, and there would not be a .git subdir).--## Why? Use Case?--I have a Synology NAS that I share access with with my wife. I want her to be able to access the files (photos/videos/music) in a sane manner (ie: not traversing sub-sub-sub 'randomly' named directories) but I also want to be able to manage them with git-annex on my machine (to gain the standard git-annex benefits, specifically the bob the archivist use case). The NAS has the ability to use ssh+rsync, so I'll assume those two tools can be used.--This special remote could be thought of as the 'least common denominator of special remotes'; almost any server with ssh+rsync could be a remote, no matter if you have install privs or if the architecture (eg: ARM) is supported by git-annex.--## Issues?--First and foremost, this can't be (really really shouldn't be) a trusted remote; my wife could accidentally delete all files on the NAS while I am away. So my local git-annex shouldn't assume the NAS counts towards numcopies (unless I'm a real masochist).--Secondly, what to do when files change/are added/removed on the special remote? Probably the same thing that the assistant does with everything. The only thing special is that new/modified files will need to be copied locally from this special remote before being added to the annex (to get hash and such).--> This is not feaisble given git-annex's design. If I wanted to-> make something completely unlike git-annex, I suppose it could be done,-> but it's off topic here. [[wontfix|done]]. ->-> If you want to use git-annex on a Synology NAS, the arm standalone build-> will work, and then you can use the command-line, or the assistant-> to maintain a git repository that contains your files as desired. --[[Joey]]
− doc/todo/Output_key_with_import__47__deduplicate.mdwn
@@ -1,22 +0,0 @@-When using-- git annex import --deduplicate -- ~/directory/to/import--would it be possible to output the keys for duplicate files? This would allow people to find where in the annex the files already exist.--e.g.-- import ~/directory/to/import/001.txt ok- import ~/directory/to/import/002.txt ok- import ~/directory/to/import/002_d.txt (duplicate SHA256E-s261--fb1230987ac123098...) ok- import ~/directory/to/import/003.txt ok--Then you could use-- git log -S SHA256E-s261--fb1230987ac123098...--to find out where it is already.--Not sure if that is the nicest layout.. (or what it might break).--> [[done]] --[[Joey]]
− doc/todo/Recovering_from_a_bad_sync.mdwn
@@ -1,31 +0,0 @@-Instead of using `sync origin` for the first sync and a simple `sync` for the other syncs,-- # on pc1- git annex init "pc1"- git annex direct- git annex add .- git annex sync origin # remote specified on the first sync-- # add some files- git annex add .- git annex sync--I used `sync` first and only later I used `sync origin`-- # on pc1- git annex init "pc1"- git annex direct- git annex add .- git annex sync-- # add some files- git annex add .- git annex sync origin # remote specified on a later sync--These sequences of commands create two completely different git histories.--More important, if one clones on pc2 the first repository, they will see both the pc1 remote and the pc2 remote. Instead, if one clones on pc2 the repository created by the second combination of commands, they will see only the pc2 remote.--What commands should I use on pc1 to fix the history so that when pc2 clones from the origin repository it will see both the pc1 remote and its own local remote?--> [[done]]; fixed per my comments. --[[Joey]]
− doc/todo/Recursive_addurl_simlar_to_wget_--recursive.mdwn
@@ -1,9 +0,0 @@-## Use Case--I want to import a bunch of files that are hosted somewhere, they nicely sorted by year and such. Instead of addurl'ing each by hand (or writing a custom script each time this happens) I want to simply:--git-annex addurl --recursive http://somehost.tld/somedir/--For sanity, mimicking wget closely with default depth of 5, but customizable with the --level switch.--> [[done]] --[[Joey]]
− doc/todo/Shorten_long_file_names_preventing_git_checkout.mdwn
@@ -1,14 +0,0 @@-Submitting here from https://github.com/joeyh/git-annex/pull/36-- commit 05b7e0d2e87c1c92df773d72ee0ac7c9638be058- Author: Eric OConnor <eric@oco.nnor.org>--> I've applied this patch. Thanks Eric. -> -> Of course, nothing is preventing filenames > 255 being added in the-> future. Based on the number that had to be renamed, this is pretty low-> probability, but it does happen. It would need changes to ikiwiki to add-> an enforced limit. If someone wants to patch ikiwiki that way, I'll-> enable it.->-> For now, [[done]]. --[[Joey]]
− doc/todo/Specify_a_version_for_the___39__feed__39___build_dependency..mdwn
@@ -1,9 +0,0 @@-(I'm not sure how you would like to do this -- should I send commits for you to pull, or do you prefer a patch pasted in here?)--In any case, here's a build-deps fix, originally sent as a pull request [1].--https://github.com/joeyh/git-annex/compare/master...jlebar:build-deps--[1] https://github.com/joeyh/git-annex/pull/37--> This is fine. Thanks, I merged your patch. [[done]] --[[Joey]]
− doc/todo/Support_--jobs_option_for___39__sync_--content__39__.mdwn
@@ -1,14 +0,0 @@-As the subject says. I mostly use `git annex sync --content` to transfer-files between repositories, as its easier than running `git annex sync`, a-bunch of `git annex copy`s and then a `git annex get` to make sure I have-all the files I should have. It would be good if the shortcut could also-work in parallel.--> It also can be faster to push concurrent. OTOH, concurrent pulls-> can lead to the same git objects being downloaded redundantly, so best to-> avoid those I think.-> -> I've implemented this. It suffers from the same-> lack of support for displaying progress when running it parallel as-> documented on [[parallel_get]]. Other than that wart, this is [[done]].-> --[[Joey]]
− doc/todo/Support_dbus_monitor_for_networkd.mdwn
@@ -1,5 +0,0 @@-As of late, systemd-networkd supports a network monitor via dbus under “org.freedesktop.network1“. It would be convenient if the assistant supported this.--Cf. this [commit](http://cgit.freedesktop.org/systemd/systemd/commit/?id=e331e24649213f2e093e16e4d3d64ee823dfc375).--> patches! Awesome! merged [[done]] --[[Joey]]
− doc/todo/Time_Stamping_of_Events_in_Webapp.mdwn
@@ -1,3 +0,0 @@-Currently events happening in the webapp (sync upload etc. on the right) has no time stamp thus user has no way to tell when was the last sync happened. Which is problematic when not using XMPP and repos lag behind.--> [[dup|done]] of <http://git-annex.branchable.com/todo/wishlist__91__minor__93__:_add_time_stamps_to_annex_log_popups_in_webapp/> --[[Joey]]
− doc/todo/Views_Demo.mdwn
@@ -1,15 +0,0 @@-Joey,--I've been thinking about leveraging git-annex for a workgroup document repository and I have just watched your views demo. The timing of the demo is great because I need to deploy a document repository with per-document metadata and your views concept seems like a great mechanism for associating metadata to documents and for displaying that metadata.--While I don't expect to use your views concept for my workgroup repostory, a later iteration might do.--The metadata in my use case begins with all the weird metadata seen on a book's copyright page. In addition, per-document provenance, like how one found the document and (if we're lucky) a URL where the latest version of the document may be found. Metadata values may be simple strings or may be markdown text.--So, are you considering a metadata syntax that can support complex metadata? One example is multiple authors. Another issue is complex metadata values, like key=abstract and value="markdown text...".--FWIW,--Bob--> [[closing|done]]; requested feature was already present --[[Joey]]
− doc/todo/Views_Demo/comment_1_d7c83a0e9a83e4a05aa74a34a7e1cf19._comment
@@ -1,8 +0,0 @@-[[!comment format=mdwn- username="http://joeyh.name/"- ip="209.250.56.172"- subject="comment 1"- date="2014-02-24T18:17:04Z"- content="""-All that should work fine. All metadata fields are multivalued, and the value can be any arbitrary data.-"""]]
− doc/todo/What_if_the_active_annex__39__ed_files_were_not_symlinks__63__.mdwn
@@ -1,26 +0,0 @@-So annex is super cool and all. But there is one really annoying thing about it. The symlinks disrupt workflow really horribly! For example if I have a .psd file that is annex'd and I open that file in photoshop, edit it, then try to save it again. It doesn't allow me, because the actual file is the one deep in the annex sub structure that is read only. There a bunch of other annoyances like this. But you basically can't work with annex'd files without some additional struggle.--But there is a solution to this. Just don't symlink the files that are active. I think potentially the simplest way to do this is to have a 'annex' and 'unannex' command. Or rather, a 'create symlink' and 'uncreate symlink' command. --So then you can be going along, doing your work, nothing in your directory symlinked.--You then type you 'annex symlink' command all priorly annexed filed will be deleted and replaced with their symlinks.--Then you can add your new files to annex. Adding new files will just automatically symlink them unless you put like a -ns or something to signify to not symlink them.--With all priorly annexed filed symlinked and all your new files symlinked, you then git commit and push.--Then you do a git annex unsymlink command. And then all your symlinks are deleted and the actual file placed there.--Then you just type git annex symlink again to re-symlink them all.--> I think you are looking for the `unlock` and `add` (or `lock`) commands. Basically, to edit the file in photoshop, you want:->-> <pre>-> git annex unlock file.psd-> photoshop file.psd # ...-> git annex add file.psd # if you are happy with your changes or...-> git annex lock file.psd # if you want to discard your changes-> </pre>->-> So basically what you are asking for is already [[done]], in my mind. I still think there are significant [[usability issues|forum/usability:_what_are_those_arrow_things__63__/]] with symlinks, but that's another story. --[[anarcat]]
− doc/todo/__171__git_annex_add__187___for_symlinks_in_direct_mode.mdwn
@@ -1,10 +0,0 @@-Please let me know if there already is a way of achieving this; I’ve googled around a lot, but could not find any information pertaining to my particular problem.--I am using direct mode in a bunch of repositories where I need quick write access to content and where I am not interested in preserving history. Some of these repositories do contain regular symlinks, however. Now, I suppose that in indirect repos, the way of adding symlinks would be to just «git add» them. However, since these are direct mode repos, I cannot do this.--Is there already a good way of adding symlinks in direct mode? If not, I would find it useful if there were one.--Best regards,-T.--> [[fixed|done]] --[[Joey]]
− doc/todo/add_--quiet_option_to_fsck.mdwn
@@ -1,7 +0,0 @@-ATM it floods the screen with ok for every file (in non-interactive session even split across 2 lines). As such it is just a pure noise if I care to check if entire repo is ok -- a single summary line, possibly preceeded with reports about broken files would be much better imho.--Cheers!--> I jumped in a time machine, popped out in 2010 and implemented it-> them, to ensure the bug is already fixed on your computer. [[done]]-> --[[Joey]]
+ doc/todo/add_option_to_whereis_to_avoid_network_interactions.mdwn view
@@ -0,0 +1,20 @@+I thought that whereis command would report only based on the knowledge annex has locally in git-annex branch, but apparently it is trying to query for information even in --fast mode:++[[!format sh """+$> git annex whereis --fast bold.nii.gz+yoh@dat....+Permission denied (publickey,password).+fatal: Could not read from remote repository.++Please make sure you have the correct access rights+and the repository exists.+whereis bold.nii.gz +(2 copies) + 899f0347-0888-48ef-91b6-bac213ca8cef -- [datalad-archives]+ c8bd3d05-33d4-4b59-9d53-ca7efbdcdd13 -- yoh@smaug:/mnt/btrfs/datasets/datalad/crawl/openfmri/ds000001 [here]++ datalad-archives: dl+archive:MD5E-s2527262329--bd3ea399057c529b37b09dcecec1ca60.0raw.tgz/ds001_R1.1.0/sub001/BOLD/task001_run001/bold.nii.gz#size=47241449++"""]]++[[!meta author=yoh]]
− doc/todo/allow_removing_jabber_configuration.mdwn
@@ -1,5 +0,0 @@-right now it is unclear through the webapp how to unconfigure a jabber-account, which is especially critical considering the password needs to be-stored in the clear (where?). -- [[anarcat]]--> [[fixed|done]] --[[Joey]]
− doc/todo/better_git-annex-shell_init_workflow.mdwn
@@ -1,12 +0,0 @@-Currently, the workflow for initializing a remote repo has to involve-manually pushing the git-annex branch to the repo, first. This primes-git-annex-shell to auto-initialize the repo. Only after that first push,-can git-annex sync be used. If git-annex sync is run earlier, it will try-to get the remore uuid, fail, and set annex-ignore.--This should be improved.. It ought to be possible to add a new remote and-have git-annex sync do everything needed.--> [[done]]; the remote needs git-annex-shell 5.20150805 installed, and so-> does the user, and then `git-annex sync` will automatically handle-> initialization of the remote. --[[Joey]]
− doc/todo/cheaper_global_fsck.mdwn
@@ -1,38 +0,0 @@-Global fsck updates all location log entries for a repo. This wastes disk-space.--I realized now that it can be implemented w/o such waste. Probably cheaply-enough to be the default!--What we need is a new log file, call it fscktimes.log.-This records the time of the last fsck of each repo.--`git annex fsck --expire` no longer needs to look at the location log at-all. It can just check the repo's fscktimes.log entry. If the entry is-recent enough, we know that the repo has fscked recently, and its location-log is good, and nothing needs to be done. Otherwise, we know that the repo-has stopped fscking, and we simply expire *all* its location logs.--Note that fscktime.log is only used by fsck; it does not impact git-annex-generally or make it slower. And, it's very low overhead to update the one-file. Repos could do a fsck --fast on a daily basis and not grow the-git-annex branch much. Maybe on an hourly basis even.--(BTW, there is some overlap with the fsck.log file that is currently used to-hold the timestamp of the last local fsck. May be able to eliminate that-file too.)--------It might be worth making the fsck.log record --fast and full fscks-separately so we know the last of each for each repo. This would let---expire require periodic full fscks and more frequent fast fscks.--------Hmm, --expire updates all the location logs when it thinks a repo has gone-missing. Why not just mark it dead? Again, this would save a lot of space!-It would complicate recovery if a repo had been offline and came back; it-would need to mark itself as not dead any longer.--> [[done]] --[[Joey]]
− doc/todo/clear_file_names_in_special_remotes.mdwn
@@ -1,13 +0,0 @@-To properly use amazon AWS S3 for CDN, we need to publish videos to S3. Ideally, we would like to do this via git-annex as the back-end of video.debian.net is being migrated to git-annex by me, atm.--Obviously, we will need clear text names and proper directory structure, not SHA512E file names. This would need to be supported by the S3 special remote.--I talked to TobiasTheViking in the past and he hinted at a reasonably clean way to do this, but that a clean solution would need support from git-annex. I will link him to this page and ask him to supply whatever info is needed.---Thanks,-Richard--> This is not feaisble given git-annex's design. If I wanted to-> make something completely unlike git-annex, I suppose it could be done,-> but it's off topic here. [[wontfix|done]] --[[Joey]]
− doc/todo/command_line_interface_for_required_content_setthings.mdwn
@@ -1,13 +0,0 @@-Someone in the forum noticed that `git annex wanted`-handles preferred content settings, but there is no analagous `git annex-required`.--Probably worth adding that, although required content is not an often -used feature, and vicfg can already configure it.--(I don't much like the `git annex required` name. Nor the `git annex wanted`-one when it comes to that. Oh well.)----[[Joey]]--> [[done]] --[[Joey]]
− doc/todo/commit_in_direct_mode.mdwn
@@ -1,12 +0,0 @@-As of right now, the only way to commit changes to direct repositories is `git annex sync [remote]`.-There is no way to specify what directory to operate on.-When moving around files on a larger scale, the ability to commit specific subsets of changes would be rather nice.--`git annex commit [path]` or `git annex sync [remote] -- [path]` would probably make sense.---Thanks,-Richard--> I've documented in the git-annex-proxy man page how to use it to do-> per-file commits. [[done]] --[[Joey]]
− doc/todo/credentials-less_access_to_s3.mdwn
@@ -1,13 +0,0 @@-My situation is this: while i know i can *read and write* to [[special_remotes/S3]] fairly easily with the credentials, I cannot read from there from other remotes that do not have those credentials enabled.--This seems to be an assumption deeply rooted in git-annex, specifically in `Remote/S3.hs:390`.--It would be *very* useful to allow remotes to read from S3 transparently. I am aware of the tips mentionned in the comments of [[tips/publishing_your_files_to_the_public/]] that use the `addurl` hack, but this seems not only counter-intuitive, but also seem to add significant per-file overhead in the storage. It also requires running an extra command after every `git annex add` which is a problem if you are running the assistant that will add stuff behind your back.--Besides, you never know if and when the file really is available on s3, so running addurl isn't necessarily accurate.--How hard would it be to fix that in the s3 remote?--Thanks! --[[anarcat]]--> [[done]], see [[tips/public_Amazon_S3_remote/]] --[[Joey]]
− doc/todo/direct_mode_undo.mdwn
@@ -1,88 +0,0 @@-A fairly common request is that a repo is using direct mode, and the user-has made some change, and now wants to undo it. Since direct mode doesn't-allow using `git revert`, the repo would need to be switched to indirect-mode first, which can range from annoying to really annoying to impossible-(on eg FAT).--## general approach--`git annex proxy $gitcmd` could:--1. check out a local clone of the repo-2. run "git $gitcmd" inside the clone-3. Merge any changes from the clone back into the direct mode repo- and update the work tree the same as is done by `git annex merge`.-4. If a different branch was checked out in the clone, update the repo- to have that same branch checked out.--This is a general bypass for the direct mode guard. It should work anywhere-(even on FAT). It avoids problems like `git commit -a` being unsafe in-direct mode, since running such a command in a local clone, which does not-use direct mode is always safe.--Beyond handling undo, #4 means that this can be used to check -out past versions of the repo (eg, `git annex proxy checkout HEAD^^`)--One problem with it is that it can only operate on changes that have been-committed. If you've just accidentially deleted a file and want to undo-that, and haven't run `git annex sync` to commit it, you can't revert it.--The need to make a local clone will make it a bit slow, since the whole-work tree will need to be set up. It might be possible to reuse the clone-next time (after resetting it to reflect the current HEAD).--Some things like the reflog and local branches don't get cloned, so-git commands that try to act on those wouldn't work. Maybe it would be-better to make it use a separate work tree, but the same .git directory?-Then step #3 would instead update the direct mode work tree to refect-the new HEAD, and step #4 would not be needed.--> This is done.. But, I think an undo command would also be good-> to do, as a nicer user interface that can integrate well with a file-> manager. --[[Joey]]--## git annex undo--I don't want to recapitulate all of the git commands in git-annex for-direct mode. So I don't want to add `git annex revert` and `git annex-branch` etc, etc.--So, adding `git annex undo` feels like a step down a slippery slope. But it-might be justified as providing just enough functionality to make direct-mode a lot more useful, without trying to recapitulate all the flexability -of git. Like `git annex merge` and `git annex sync` also do.--Another use case is binding `git annex undo $file` to an action in a file-manager.--Here's a design for undo:--1. Can be passed one or more files. Which may or may not exist in the work tree.-2. First, commits the current state of the files as staged in the index,- or in the working tree. This may involve checksumming modified files.-3. Then, for each file, looks back through git history, to find the commit- just before the most recent change that was made to that file.- Stage the version of the file as it was in that commit.-4. Updates work tree, and leaves the changes staged- but not committed. (To allow the user to bundle up multiple undos in a- single commit).-6. Does not get or drop content. The content may even be completely- missing after an undo.--Note that undoing an undo should get back to the original state. This is-why #2 commits changes first. This way, if a file has a staged change,-it gets committed, and then that commit is reverted, resulting in another-commit. Which a later run of undo can in turn revert. If it didn't commit,-the history about the staged change that was reverted would be lost.--What about undoing changes to a whole directory? Recursively undoing-the last change to each file would be expensive, and likely confusing.-Instead, when a directory is passed, it could find the most recent commit-that touched files in that directory, and undo the changes to those files.--> [[done]] --[[Joey]]--Also, --depth could make undo look for an older commit than the most-recent one to affect the specified file.--See [[direct_mode]] for documentation about this feature.
− doc/todo/do_not_commit_with_empty_messages.mdwn
@@ -1,15 +0,0 @@-it seems that `git-annex` sometimes does commits with empty commit messages. this makes rebasing git-annex branches much much harder than they need to, because rebase freaks out on those weird commits:--<pre>-anarcat@marcos:video$ git rebase --continue-Waiting for Emacs...-Aborting commit due to empty commit message.-Could not commit staged changes.-</pre>--This was trying to fix [[a broken merge|forum/canceling_wrong_repository_merge/]]... --[[anarcat]]--> While I think it's silly to use empty dummy commit messages when there-> is nothing of value to say about the commit, I guess I can add value-> by putting in the name of the repository where the commit was made. So,-> [[done]] --[[Joey]]
+ doc/todo/drop_--batch.mdwn view
@@ -0,0 +1,3 @@+There is a dropkey --batch, so I guess I could workaround but probably would be nice for consistency to have --batch mode for drop itself as well++[[!meta author=yoh]]
− doc/todo/enable_fsck_--fast_for_S3_remotes.mdwn
@@ -1,30 +0,0 @@-At the moment, ``git annex fsck --fast -f S3remote`` fails as--[[!format sh """-> git annex fsck --fast -f S3remote-(checking cloud...) [2015-04-24 21:39:35 BST] String to sign: "HEAD\n\n\nFri, 24 Apr 2015 20:39:35 GMT\n/BUCKET/GPGHMACSHA1--6e7e880f80de44ddd845c6241198622b9102eaa1"-[2015-04-24 21:39:35 BST] Host: "BUCKET.s3-ap-southeast-2.amazonaws.com"-[2015-04-24 21:39:35 BST] Path: "/GPGHMACSHA1--6e7e880f80de44ddd845c6241198622b9102eaa1"-[2015-04-24 21:39:35 BST] Query string: ""-[2015-04-24 21:39:36 BST] Response status: Status {statusCode = 200, statusMessage = "OK"}-[2015-04-24 21:39:36 BST] Response header 'x-amz-id-2': 'D9wtD8voZZgijJRc6i8i0QasAo85REdMMf4GpRaER5+g6sDaUYtCKi42RCdYU0kBxrx4d4dM4xM='-[2015-04-24 21:39:36 BST] Response header 'x-amz-request-id': 'DDF95C327078E584'-[2015-04-24 21:39:36 BST] Response header 'Date': 'Fri, 24 Apr 2015 20:39:37 GMT'-[2015-04-24 21:39:36 BST] Response header 'Last-Modified': 'Sun, 02 Nov 2014 05:42:48 GMT'-[2015-04-24 21:39:36 BST] Response header 'ETag': '"3bd1b766a68a305ba0495af36b353a07"'-[2015-04-24 21:39:36 BST] Response header 'Accept-Ranges': 'bytes'-[2015-04-24 21:39:36 BST] Response header 'Content-Type': ''-[2015-04-24 21:39:36 BST] Response header 'Content-Length': '775647'-[2015-04-24 21:39:36 BST] Response header 'Server': 'AmazonS3'-[2015-04-24 21:39:36 BST] Response metadata: S3: request ID=<none>, x-amz-id-2=<none>-- failed to download file from remote--failed-"""]]---while ``git annex fsck -f S3remote`` works fine. But, to check for the presence of a file (which is my understanding of what ``--fast`` is for here), it shouldn't be necessary to download the file.--> [[fixed|done]]; it was not supposed to fail at all in this case, and -> won't anymore. --[[Joey]]
− doc/todo/extensible_addurl.mdwn
@@ -1,88 +0,0 @@-`git annex addurl` supports regular urls, as well as detecting videos that-quvi can download. We'd like to extend this to support extensible uri-handling. --Use cases range from torrent download support, to pulling data-from scientific data repositories that use their own APIs.--The basic idea is to have external special remotes (or perhaps built-in-ones in some cases), which addurl can use to download an object, referred-to by some uri-like thing. The uri starts with "$downloader:" to indicate-that it's not a regular url and so is not handled by the web special-remote.-- git annex addurl torrent:$foo- git annex addurl CERN:$bar--Problem: This requires mapping from the name of the downloader, which is-probably the same as the git-annex-remote-$downloader program implementing-the special remote protocol (but not always), to the UUID of a remote.-That's assuming we want location tracking to be able to know that a file is-both available from CERN and from a torrent, for example.--Solution: Add a new method to remotes:-- claimUrl :: Maybe (URLString -> Annex Bool)--Remotes that implement this method (including special remotes) will-be queried when such an uri is added, to see which claims it.--Once the remote is known, addurl --file will record that the Key is present-on that remote, and record the uri in the url log.--------What about using addurl to add a new file? In this mode, the Key is not yet-known. addurl currently handles this by generating a dummy Key for the url-(hitting the url to get its size), and running a Transfer using the dummy-key that downloads from the web. Once the download is done, the dummy Key-is upgraded to the final Key. --Something similar could be done for other remotes, but the url log for the-dummy key would need to have the url added to it, for the remote to know-what to download, and then that could be removed after the download. Which-causes ugly churn in git, and would leave a mess if interrupted.--One option is to add another new method to remotes:-- downloadUrl :: Maybe (URLString -> Annex FilePath)--Or, the url log could have support added for recording temporary key-urls in memory. (done)--Another problem is that the size of the Key isn't known. addurl-could always operate in relaxed mode, where it generates a size-less Key.-Or, yet another method could be added: (done)-- sizeUrl :: URLString -> Annex (Maybe Integer)--------Retrieval of the Key works more or less as usual. The only-difference being that remotes that support this interface can look-at the url log to find the one with the right "$downloader:" prefix,-and so know where to download from. (Much as the web special remote already-does.)--Prerequisite: Expand the external special remote interface to support-accessing the url log. (done)--------It would also be nice to be able to easily configure a regexp that normal-urls, if they match, are made to use a particular downloader. So, for-torrents, this would make matching urls have torrent: prefixed to them.-- git config annex.downloader.torrent.regexp '(^magnet:|\.torrent$)'--It might also be useful to allow bypassing the complexity of the external-special remote interface, and let a downloader be specified simply by:-- git config annex.downloader.torrent.command 'aria2c %url $file'--This could be implemented in either the web special remote or even in an-external special remote.--Some other discussion at <https://github.com/datalad/datalad/issues/10>--> [[done]]! --[[Joey]]
− doc/todo/fast_migrate.mdwn
@@ -1,16 +0,0 @@-Moved this comment to todo list --[[Joey]]--[[!comment format=mdwn- username="https://www.google.com/accounts/o8/id?id=AItOawnfM7ZF0Q5U9k1LljyDXH37cuXU5Gx6gtM"- nickname="A"- subject="fast migrate"- date="2014-07-05T08:21:20Z"- content="""-dear Joey and everybody else,- some time ago I used \"git annex migrate\" to bring all my repositories up-to-date; after that I found (to my dismay) that some keys are SHA256, some others are SHA256E, so my data is not really deduplicated ; now, it would possible to migrate from SHAnnnE to SHAnnn (and vice versa) very fast... but currently AFAICS git-annex recomputes the whole checksum, and this (on my USB2.0 old disks) takes forever; may somebody please implement a fast migration?-"""]]--> Certianly doable, for $hashE to $hash. Probably about an hour's work.-> --[[Joey]]-->> [[done]] --[[Joey]]
− doc/todo/fcntl_locks_break_with_threaded_concurrency.mdwn
@@ -1,29 +0,0 @@-When using git-annex get -J2, one thread can clear another thread's-transfer lock.--This happens because fcntl locking is used, and it is not thread-safe.-<https://github.com/haskell/unix/issues/44>--> * If a process closes any file descriptor referring to a-> file, then all of the process's locks on that file are-> released, regardless of the file descriptor(s) on which the-> locks were obtained. --One thread starts a transfer and locks it; the second thread starts a-transfer of a different file, and in order to check annex.diskreserve,-checks to see which other transfers are currently running. In doing this-check, it closes a fd attached to the first thread's lock, which causes the-lock to be dropped.--This only affects -J mode.--To fix it, probably need to use STM to keep a list of transfers all threads-in the current process are doing. Then the lock checking code can avoid-re-opening locks for transfers in the STM list.--A more generic approach is to use Annex.LockFile for everything,-and make it check its lock pool via STM for other threads holding a lock.-(Currently, the pool is only used for shared locks.)---[[Joey]] --> [[fixed|done]] via LockPools. --[[Joey]]
− doc/todo/get_--incomplete.mdwn
@@ -1,8 +0,0 @@-Use case: Resuming downloads that are incomplete (files in .git/annex/tmp),-without needing to remember the original get command(s) that started the-download.--`git annex get --incomplete` could do this. (With or without --from to-specify which remote to get from.) --[[Joey]]--> [[done]] --[[Joey]]
− doc/todo/git-annex-standalone_Debian_package.mdwn
@@ -1,3 +0,0 @@-As proposed with a sketch in https://github.com/joeyh/git-annex/pull/39, for DataLad we would need to get recent annex on older Debian/Ubuntu releases to get our testing farm and perspective users equipped with bleeding edge annex--> merged [[done]] --[[Joey]]
− doc/todo/git-annex_in_debian_sid.mdwn
@@ -1,6 +0,0 @@-git-annex in debian sid is still at version 5.20141125: [https://tracker.debian.org/pkg/git-annex](https://tracker.debian.org/pkg/git-annex)--Any chance that it gets updated soon?--> Let's track this in the Debian bts, it can't be fixed here. [[done]]-> --[[Joey]]
− doc/todo/git-annex_info___34__du__34___remote_support.mdwn
@@ -1,41 +0,0 @@-so i know about the various discussions around a `du` that follows git-annex symlinks (e.g. [[forum/__34__du__34___equivalent_on_an_annex__63__/]] or [[forum/gadu_-_git-annex_disk_usage/]]. this is not about that, or at least not directly. :)--i believe there's a distinct use-case for a simpler `du` subcommand that will calculate the disk space used locally (in case of the default `--in here`) but could also use the tracking log to determine the space usage in *other* locations. this would be especially useful on remotes that we don't have shell access to, s3 comes to mind. i thought that `git annex info` could output that, but it seems it doesn't:--<pre>-$ git annex info . --in s3 --exclude='video/original/*'-directory: .-local annex keys: 0-local annex size: 0 bytes-annexed files in working tree: 0-size of annexed files in working tree: 0 bytes-numcopies stats:-repositories containing these files:-$ git annex info --in s3 --exclude='video/original/*'-repository mode: indirect-trusted repositories: 0-semitrusted repositories: 6- 00000000-0000-0000-0000-000000000002 -- bittorrent- 2d61a8de-a24e-44e3-9aa0-54f033fec1e9 -- host-mp20120507-1.mp.isuma.tv- 9401d7b3-44d2-48ab-a9f1-c77fac469a1a -- s3- c510ddad-24cd-4353-b5f4-03581f6f9dca -- cs.isuma.tv [here]- d2a7d4ff-1dbf-4bfa-bb97-ae593626daf6 -- sneakernet- e747d5c8-ea47-480f-8c5d-2986ce65ed89 -- isuma.tv-untrusted repositories: 2- 00000000-0000-0000-0000-000000000001 -- web- 36d2cb94-e0a2-446a-87c9-02f73135b302 -- anarcat@desktop008:~/src/isuma/isuma-files-transfers in progress: none-available local disk space: 67.66 gigabytes (+1 megabyte reserved)-local annex keys: 0-local annex size: 0 bytes-annexed files in working tree: 0-size of annexed files in working tree: 0 bytes-bloom filter size: 16 mebibytes (0% full)-backend usage:-</pre>--just to be clear here, the problem isn't as much providing `du-like output`, which `git annex info $path` does pretty well. the problem is that it doesn't work on remote servers, at least that is what i observed above.--i still think it would be nice to have a `du` command, just because it's a command "WTF" situation users seem to get stuck into.. but this issue is only about having this work on remote repositories. thanks! -- [[anarcat]]--> Fixed via time machine. [[done]] --[[Joey]]
− doc/todo/git-annex_metadata_extractor_progress_bar.mdwn
@@ -1,7 +0,0 @@-it can take a significant amount of time for the [[automatic metadata script|tips/automatically_adding_metadata/]] to run on commit. it would be nice to have some progress, otherwise it just looks like the command is hanging.--here it's been processing my photos for more than three hours, and it's probably not even halfway done, according to ps... [[anarcat]]--> Well, I added an echo of each file as it's processed. More complex-> progress could be done, patches accepted. But I suppose a file list is-> good enough; it's good enough for git-annex itself. [[done]] --[[Joey]]
− doc/todo/git_annex_get___60__file__62___should_verify_file_hash.mdwn
@@ -1,34 +0,0 @@-### Please describe the problem.-git annex get fileName- should perform a hash check on the file content before adding to the local repository---### What steps will reproduce the problem?-Two scenarios:-1) Malicious user and owner of repository being pulled from can edit his/her local .git/annex/objects directory -to alter the file content. For src code, this could be to insert a bug, insert a backdoor, or for example -to replace an image file artifact for a website, with a pornographic image.-The user pulling the file content with "git annex get fileName" might not be aware of the file contents -until they actually examine the file or perform an fsck or commit locally. -In the meantime a kiddy porn image could be sitting in their repository or a src code backdoor can get incorporated and deployed etc.-2) a file could also simply get corrupted during download. An inherent hash check during the 'annex get' would-point out the problem immediately.-To reproduce: create repoNum1, and clone it to create repoNum2. manual edit/replace content in repoNum1/.git/annex/objects/...-then perform a 'git annex get <fileName>' from repoNum2 on the file that has been manipulated ---### What version of git-annex are you using? On what operating system?-3.2012112ubuntu2 on running linux mint ---### Please provide any additional information below.--Aside: Thanks Joey - this is fantastic work you are doing. You have really improved git. The ability to checkout -an entire tree - but selectively get only the content actually needed is a real killer feature.-Kudos and again many many thanks-M.---# End of transcript or log.-"""]]--> [[duplicate|done]] of [[checksum_verification_on_transfer]] --[[Joey]]
− doc/todo/git_annex_grep.mdwn
@@ -1,19 +0,0 @@-### Please describe the problem.--inability to quickly grep locally present files--### What steps will reproduce the problem?--run "git annex grep"--> i don't understand this request. just running `grep` will grep all the locally present files: sure there will be warnings, but you can use `2>/dev/null` to silence those. as for the suggested solution in comment, that greps for the filenames. please clarify the feature request here or this is [[invalid|done]]. --[[anarcat]]-->> The reason `git grep` exists is partly speed (git objects can->> sometimes be read more efficiently than traversing the fileststem),->> and partly the ability to grep a whole tree of source code, but->> avoid grepping build artifacts, etc. The former reason doesn't apply->> with git-annex. The latter reason applies somewhat, but it's much less->> common to want to grep large binary files than it is to want to grep a->> source tree. `git annex find` can be fed to `grep` when one wants to do->> that. So I don't see a compelling case to add this to git-annex.->> --[[Joey]]
− doc/todo/git_annex_grep/comment_1_890b3ecb679b941f9c0075ed360b203e._comment
@@ -1,9 +0,0 @@-[[!comment format=mdwn- username="CandyAngel"- subject="comment 1"- date="2015-06-04T12:31:32Z"- content="""-You can do this:-- git annex find --in here | grep-"""]]
doc/todo/import_--reinject.mdwn view
@@ -3,3 +3,5 @@ None of the `git annex import` modes work properly in this case. By default, importing adds another, unnecessary copy of the imported file (which I have to `rm` after importing). The `--clean-duplicates` mode seems close, but it insists on verifying the content in other repositories rather than just reinjecting it locally. (Let's assume that the main reason I'm trying to reinject is that I cannot access other repos.) So I'm hoping for something like `git annex import --reinject <src>...`. Or are there other existing ways to achieve the same? I couldn't find any.++> implemented `git annex reinject --known` [[done]] --[[Joey]]
− doc/todo/inject_on_import.mdwn
@@ -1,63 +0,0 @@-Would it be possible to add an `--inject` option to import?--Say, for example, I have an annex on computer A which has a subset of files and a directory of files which are potentional duplicates of files in the annex.--I would like to do something like this:-- mkdir ~/annex/import- cd ~/annex/import- git annex import --deduplicate --inject ~/directory/of/files--This would do the same as `--deduplicate`, except if the file is not present in the annex, it would be injected. For example:--Annex knows about A and B, A is present but B is not.-$DIR contains A, B and C.--A would be deleted from $DIR due to `--deduplicate`.-B would be injected into the repo (making it present) due to `--inject`, then deleted from $DIR.-C would be added to the annex, resulting in this-- $ ls ~/annex/import- C--> You seem to have described exactly what --deduplicate already does.-> For example:--<pre>-# mkdir x-# cd x-# l-# git init-Initialized empty Git repository in /home/joey/tmp/x/.git/-# git annex init-init ok-(Recording state in git...)-# echo hello > foo-# git annex add foo-add foo ok-(Recording state in git...)-# mkdir ../src-# echo hello > ../src/bar-# echo new > ../src/baz-# git annex import --deduplicate ../src-import src/bar (duplicate) ok-import src/baz ok-(Recording state in git...)-# ls-foo@ src/-# ls ../src/-# ls src-baz@-</pre>--> And, if you look at the documentation for --deduplicate,-> this is what it says:--<pre>- To only import files whose content has not been seen- before by git-annex, use the --deduplicate option.- Duplicate files will be deleted from the import loca‐- tion.-</pre>--> So, [[done]] I suppose... --[[Joey]]
− doc/todo/merge_in_ram___40__disk__41____63__.mdwn
@@ -1,8 +0,0 @@-git-annex is great. But for my repos the merge and recording state operations take forever.--(merging fotos_enc_pg/synced/git-annex into git-annex...)--Since git-annex is another branch (than master) and git usually needs a worktree for merging I assume that git-annex branch is temporarily checked out somewhere. Would it be possible to move this operation to RAM? Or a RAM-Disk?--> No, it is not checked out. All operations are done with the most-> effective available git plumbing. [[done]] --[[Joey]]
− doc/todo/notifications.mdwn
@@ -1,6 +0,0 @@-Just started today with git-annex and it looks great replacement for proprietary syncing solutions (well in allot of aspects it's much better than proprietary solutions) but I do believe desktop and email notifications are must have features.--I think these services would be nice to have: growl, libnotify, email, twitter (publicly sharing with a group or repository stored on public server for users to download). --> git-annex has desktop notifications. I think that if you want something-> beyond that, you should script it. So, [[done]] --[[Joey]]
− doc/todo/podcatching_handling_updated_files.mdwn
@@ -1,19 +0,0 @@-Files in feeds can be updated, and if this update includes changing the-url, `importfeed` will treat this as a new file. This results in `foo.mp3`-having a `2_foo.mp3` added next to it.--This seems to happen especially commonly with feeds using FeedBurner.-Saw several with same size, different checksum and url.--To detect this, `importfeed` could store the item's guid in the metadata-of the key. Where it currently builds a `Map URLString Key` of all-known items, it could instead build a `Map (Either URlString GUID) Key`.--This would at least prevent the duplication, when the feed has guids.--> [[done]] --[[Joey]]--It would be even nicer if the old file could be updated with the new-content. But, since files can be moved around, deleted, tagged, etc,-that only seems practical at all if the file is still in the directory-where `importfeed` created it.
− doc/todo/remote_groups_support_for_sync.mdwn
@@ -1,5 +0,0 @@-`git remote update $group` looks at the $group.away git config and fetches-from the listed remotes. It would be useful if `git annex sync $group` did the same.---[[Joey]]--[[done]]
− doc/todo/replace_dataenc_with_sandi.mdwn
@@ -1,6 +0,0 @@-<https://github.com/joeyh/git-annex/pull/15>--sandi is available in jessie, but not wheezy, so this is pending-EOL of wheezy support. --[[Joey]]--> [[fixed|done]] --[[Joey]]
− doc/todo/resuming_encrypted_uploads.mdwn
@@ -1,29 +0,0 @@-Resuming interrupted uploads to encrypted special remotes is not currently-possible, because gpg does not produce consistent output. Special remotes-that could support resuming include rsync and glacier.--Without consistent output, git-annex would need to locally cache the encrypted-file, and reuse that cache when resuming an upload. This would make-encrypted uploads more expensive in terms of both file IO and disk space-used. --[It would be possible to write to the cache at the same time the special-remote is being fed data, and if the special remote upload fails, continue-writing the rest of the file. That would avoid half the overhead, since-the file would not need to be read from, just written to. (Although OS-caching may accomplish the same thing.)]--Also, `git annex unused` would need to show temp files for uploads,-the same as it currently shows temp files for downloads, and users would-sometimes need to manually dropunused old uploads, that never completed.--The question, then, is whether resuming uploads is useful enough to add-this overhead and user-visible complexity.---[[Joey]] --> The new-style chunking code chunks and then encrypts. This means that-> each individual chunk is a stand-alone file that can be decrypted later,-> and so resumes of uploads to encrypted, chunked remotes works now.->-> I think that's better than the ideas discussed above, so [[done]]-> --[[Joey]]
− doc/todo/server-level_daemon__63__.mdwn
@@ -1,203 +0,0 @@-coming from [[bugs/weird_entry_in_process_list]] - are there plans to make an init.d / systemd .service file for git-annex?--my use case is that i have dedicated machines that will sync a common directory. they will run only one assistant - would patches to make a `git-annex` user, and the associated startup scripts, in the debian package be welcome? --[[anarcat]]--Here's a sample startup script:--<pre>-#!/bin/sh-### BEGIN INIT INFO-# Provides: gitannex-# Required-Start: $local_fs $network $remote_fs $syslog-# Required-Stop: $local_fs $network $remote_fs $syslog-# Default-Start: 2 3 4 5-# Default-Stop: 0 1 6-# Short-Description: start the git-annex assistant-# Description: start the git-annex assistant in the given directory-### END INIT INFO--# Author: Antoine Beaupré <anarcat@koumbit.org>--# Do NOT "set -e"--# PATH should only include /usr/* if it runs after the mountnfs.sh script-PATH=/sbin:/usr/sbin:/bin:/usr/bin-DESC="gitannex"-NAME=gitannex-USER=$NAME-DAEMON=git-annex-DAEMON_ARGS="assistant"-PIDFILE=/var/run/$NAME.pid-SCRIPTNAME=/etc/init.d/$NAME-ANNEX=auto--# Read configuration variable file if it is present-[ -r /etc/default/$NAME ] && . /etc/default/$NAME--# Exit if the package is not installed-[ -x "$DAEMON" ] || exit 0--# Load the VERBOSE setting and other rcS variables-. /lib/init/vars.sh--# Define LSB log_* functions.-# Depend on lsb-base (>= 3.2-14) to ensure that this file is present-# and status_of_proc is working.-. /lib/lsb/init-functions--if [ "$ANNEX" = "auto" ]; then- DAEMON_ARGS="$DAEMON_ARGS --autostart"-else- cd $ANNEX- PIDFILE="$ANNEX/.git/annex/daemon.pid"- EXTRA_OPTS="--chdir $ANNEX"-fi--#-# Function that starts the daemon/service-#-do_start()-{- # Return- # 0 if daemon has been started- # 1 if daemon was already running- # 2 if daemon could not be started- start-stop-daemon --start --quiet --user $USER --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \- || return 1- start-stop-daemon --start --quiet --user $USER --chuid $USER $EXTRA_OPTS --pidfile $PIDFILE --exec $DAEMON -- \- $DAEMON_ARGS \- || return 2- # The above code will not work for interpreted scripts, use the next- # six lines below instead (Ref: #643337, start-stop-daemon(8) )- #start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON \- # --name $NAME --test > /dev/null \- # || return 1- #start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON \- # --name $NAME -- $DAEMON_ARGS \- # || return 2-- # Add code here, if necessary, that waits for the process to be ready- # to handle requests from services started subsequently which depend- # on this one. As a last resort, sleep for some time.-}--#-# Function that stops the daemon/service-#-do_stop()-{- # Return- # 0 if daemon has been stopped- # 1 if daemon was already stopped- # 2 if daemon could not be stopped- # other if a failure occurred- su $USER -c "$DAEMON $DAEMON_ARGS --stop" && return 0 - # Wait for children to finish too if this is a daemon that forks- # and if the daemon is only ever run from this initscript.- # If the above conditions are not satisfied then add some other code- # that waits for the process to drop all resources that could be- # needed by services started subsequently. A last resort is to- # sleep for some time.- start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --user $USER --exec $DAEMON- [ "$?" = 2 ] && return 2- # Many daemons don't delete their pidfiles when they exit.- rm -f $PIDFILE- return "$RETVAL"-}--#-# Function that sends a SIGHUP to the daemon/service-#-do_reload() {- #- # If the daemon can reload its configuration without- # restarting (for example, when it is sent a SIGHUP),- # then implement that here.- #- start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME- return 0-}--case "$1" in- start)- [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"- do_start- case "$?" in- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;- esac- ;;- stop)- [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"- do_stop- case "$?" in- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;- esac- ;;- status)- status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $?- ;;- #reload|force-reload)- #- # If do_reload() is not implemented then leave this commented out- # and leave 'force-reload' as an alias for 'restart'.- #- #log_daemon_msg "Reloading $DESC" "$NAME"- #do_reload- #log_end_msg $?- #;;- restart|force-reload)- #- # If the "reload" option is implemented then remove the- # 'force-reload' alias- #- log_daemon_msg "Restarting $DESC" "$NAME"- do_stop- case "$?" in- 0|1)- do_start- case "$?" in- 0) log_end_msg 0 ;;- 1) log_end_msg 1 ;; # Old process is still running- *) log_end_msg 1 ;; # Failed to start- esac- ;;- *)- # Failed to stop- log_end_msg 1- ;;- esac- ;;- *)- #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2- exit 3- ;;-esac--:-</pre>--Now this is not without problems:-- 1. it assumes a gitannex user is created outside of the script- 2. it assumes a gitannex repository is created outside of the script and specified in the `/etc/default/gitannex` file (or added to the autostart file)- 3. it is Debian-specific (a proper init script would be POSIX only and/or a `.service` file)--Maybe using [metainit](https://wiki.debian.org/MetaInit) would be a good idea here? --[[anarcat]]--> This strikes me as a bad idea if the system has regular desktop etc-> users; the assistant can already start itself when they login and -> a separate user has the same problems the separate mpd user seems to;-> of separating the user from the files that effcetively belong to them.-> -> It's fine if you're doing something more specialized, but that seems-> like an unusual case and not one that git-annex should cater to.-> -> Anyway, it's about 5 lines to write a systemd service file. I've added-> `git annex assistant --autostop` that such a service can use if desired.-> -> Since I don't want to include that in git-annex and be stuck supporting-> it, and it should be easy for users to add if they need it, I think I'm-> going to call this [[done]]. --[[Joey]]
− doc/todo/subsecond_timestamping_of_the_--debug_output.mdwn
@@ -1,4 +0,0 @@-ATM --debug uses timestamps at second precision. Would be nice (to see where time is spent) to have subsecond timing--> [[done]], I was able to get fractional seconds down to 0.000001-> in the debug output. --[[Joey]]
@@ -0,0 +1,20 @@+git merge has recently been made to refuse to merge disconnected histories+unless --allow-unrelated-histories is passed. This will break uses of the+webapp, eg local pairing until git-annex is changed to pass that whenever+it runs `git merge`.++It could also perhaps break uses of `git annex sync` where a remote with a+disconnected history is added and it's expected to merge with it. Although+in this latter case, it might be argued that the default git behavior has+changed and `git annex sync` should follow suite.++(Also, any uses of `git pull` currently would need to+be split into a fetch and a merge in order to pass the option to the merge;+but AFAICS, git-annex never uses `git pull`)++--[[Joey]]++> [[done]]; used the environment variable+> `GIT_MERGE_ALLOW_UNRELATED_HISTORIES` which will hopefully land in git+> `next` (currently Junio has posted a patch but not even landed it in `pu`+> yet) --[[Joey]]
− doc/todo/unused_by_refspec.mdwn
@@ -1,41 +0,0 @@-Currently `git annex unused` assumes that all branches (including remote-tracking branches) and tags are "used" and finds only objects not used by-any of those refs.--That's a reasonable default, but in some cases, we don't care about-specific refs. Perhaps we don't consider remote tracking branches-important. Or perhaps we only want objects in HEAD to be considered used.--This could be handled by adding an option to specify a refspec when running-git-annex unused. Only matching refs would be checked. It's probably worth-making this be both a command-line option --used-refspec, as well as a-annex.used-refspec config setting.--git's refspec format is not quite right (since it specifies a local side-and a remote side for push/pull). But, it can be used as a point of-departure. Let's allow wildcards as it does, and use leading '+' to add a-ref, and '-' to remove. Let the user specify multiple such expressions,-separated by ':'.-- +refs/heads/*:+HEAD^:+refs/tags/*:-refs/tags/old-tag--This is processed by starting with an empty set of refs, and walking the-refspec in order. --* Each + is matched against all known refs (from `git show-ref`), and adds- everything it matches to the set. If the + does not contain a wildcard,- it is literally added to the set, rather than looking in the known refs.- This allows "+refs/heads/*" to match all heads, and "+HEAD"- to match HEAD, or even "+sha" to match a given SHA, or "+HEAD^" to match- the previous head.-* Each - is matched against the contents of the set, and removes everything- it matches, using a lexographic matching with wildcards (not looking at- the SHAs that the refs point to, so -refs/heads/master does not remove- +HEAD).--Hmm, unused currently does a separate pass to find files used in the work-tree. I think it's best to keep that as-is.----[[Joey]]--> [[done]] --[[Joey]]
+ doc/todo/upload_large_chunks_without_buffering_in_memory.mdwn view
@@ -0,0 +1,26 @@+Currently, when chunk=100MiB is used with a special remote, git-annex will+use 100 mb ram when uploading a large file to it. The current chunk is+buffered in ram.++See comment in Remote.Helper.Chunked:++ - More optimal versions of this can be written, that rely+ - on L.toChunks to split the lazy bytestring into chunks (typically+ - smaller than the ChunkSize), and eg, write those chunks to a Handle.+ - But this is the best that can be done with the storer interface that+ - writes a whole L.ByteString at a time.++The buffering is probably fine for smaller chunks, in the < 10 mb or+whatever range. Reading such a chunk from gpg and converting it into a http+request will generally need to buffer it all in memory anyway. But, for+eg external special remotes, the content is going to be written to a file+anyway, so there's no point in buffering the content in memory first.++So, need something like:++ prefersFileContent :: Storer -> Bool++And then when storeChunks is given such a Storer, it can then avoid buffering+and write chunk data to a temp file to pass it to the Storer.++--[[Joey]]
− doc/todo/vicfg_comment_gotcha.mdwn
@@ -1,20 +0,0 @@-A user might run vicfg and want to reset a line back to the default value-from the value they have periously set. A natural way to do that is to-comment out the line (or delete it). However, what that actually does is-vicfg parses the result and skips over that setting, since it's not-present, and so no change is saved.--It could try to parse commented out lines and detect deleted lines,-but that way lies madness. Also, it's not at all clear what the "default"-should be in response to such an action. The default varies per type of-configuration, and vicfg does't know about defaults.--> [[fixed|done]]; this was a job for Data.Default! --[[Joey]]--Instead, I think it should detect when a setting provided in the input-version of the file is not present in the output version, and plop the user-back into the editor with an error, telling them that cannot be handled,-and suggesting they instead change the value to the value they now want it-to have.--> Nah, too complicated.
− doc/todo/view_git_annex_log_in_webapp.mdwn
@@ -1,7 +0,0 @@-Just gave git annex a quick try for a few minutes and I must admit it's pretty great.--A must have feature for me is to be able to view git annex log in the web app as "git annex log" doesn't got BIDI support (RTL scripts like Arabic, Farsi, Hebrew).-Adding Bi-directional text support would be too much to ask from a developer that don't know these languages thus the solution is to use the already the web browser to handle that.--> Closing as it's not clear what the submitter wanted done here. [[done]]-> --[[Joey]]
− doc/todo/windows_git-annex_service.mdwn
@@ -1,30 +0,0 @@-## git-annex as service on windows--Use nssm to run git-annex as a service. Will need to include it in the-git-annex bundle.--Problem: nssm runs git-annex as a service as a LocalService user. (Or some-similar user.) This leads to permission problems, when the normal user-tries to write to its directory.--Solution: Make `git-annex mkservice $repo` command (only avilable on-Windows) that does:--1. git -c core.sharedRepository=true init $repo-2. cd $repo; git annex init-4. chmod 777 -R $repo-5. Add $repo to C:\.config\git-annex\autostart-6. If git-annex service does not yet exist in nssm, set it up and start it.--**Problem**: With 2 users writing to one repository, files and subdirs-will end up owned by git-annex or by the desktop user, and the other user -won't be able to eg, edit a file or remove a file from a directory.--Make git-annex read `C:\.config\git-annex\autostart`-on Windows, in addition to the one in $HOME. This way, `git annex assistant---autostart` and `git annex webapp` will use it, no matter which user.--WIP git branch: `winservice`--> I am calling this [[done]], it's not done using a service, but it works.-> --[[Joey]]
doc/todo/wishlist__58___swift_backend.mdwn view
@@ -3,3 +3,10 @@ I can provide a test account soonish if need be, else rackspace.com if offering swift storage. Their API gateway lives at https://auth.api.rackspacecloud.com/v1.0 Richard++> Swift is supported by+> <https://github.com/DanielDent/git-annex-remote-rclone>+> +> While I am not opposed to adding support for swift directly to git-annex,+> if a haskell library supporting it should appear, I think that's good+> enough so am calling this [[done]] --[[Joey]]
doc/tuning.mdwn view
@@ -43,4 +43,5 @@ Note that git-annex will automatically propagate these settings to `.git/config` for tuned repositories. You should never directly change-these settings in `.git/config`+these settings in `.git/config`, and should never set them in global+gitconfig.
git-annex.cabal view
@@ -1,5 +1,5 @@ Name: git-annex-Version: 6.20160418+Version: 6.20160419 Cabal-Version: >= 1.8 License: GPL-3 Maintainer: Joey Hess <id@joeyh.name>
+ man/git-annex-calckey.1 view
@@ -0,0 +1,35 @@+.TH git-annex-calckey 1+.SH NAME+git-annex-calckey \- calculates the key that would be used to refer to a file+.PP+.SH SYNOPSIS+git annex calckey \fB[file ...]\fP+.PP+.SH DESCRIPTION+This plumbing\-level command calculates the key that would be used+to refer to a file. The file is not added to the annex by this command.+The key is output to stdout.+.PP+The backend used is the first listed in the annex.backends configuration+setting, which can be overridden by the \-\-backend option.+For example, to force use of the SHA1 backend:+.PP+ git annex calckey \-\-backend=SHA1 file+.PP+.SH OPTIONS+.IP "\fB\-\-batch\fP"+.IP+Enable batch mode, in which a line containing the filename is read from+stdin, the key is output to stdout (with a trailing newline), and repeat.+.IP+.IP "\fB\-\-backend=name\fP"+Specifies which key\-value backend to use.+.IP+.SH SEE ALSO+git-annex(1)+.PP+.SH AUTHOR+Joey Hess <id@joeyh.name>+.PP+.PP+
man/git-annex-dropkey.1 view
@@ -12,8 +12,7 @@ This can be used to drop content for arbitrary keys, which do not need to have a file in the git repository pointing at them. .PP-.PP-+Warning: This command does not check that enough other copies of the content exist; using it can easily result in data loss. .PP .SH OPTIONS
man/git-annex-preferred-content.1 view
@@ -138,7 +138,7 @@ .IP .IP "\fBstandard\fP" git-annex comes with some built\-in preferred content expressions, that-can be used with repositories that are in some [[standard groups]].+can be used with repositories that are in some [[preferred content/standard groups/]]. .IP When a repository is in exactly one such group, you can use the "standard" keyword in its preferred content expression, to match whatever content
man/git-annex-reinject.1 view
@@ -1,28 +1,56 @@ .TH git-annex-reinject 1 .SH NAME-git-annex-reinject \- sets content of annexed file+git-annex-reinject \- inject content of file back into annex .PP .SH SYNOPSIS-git annex reinject \fBsrc dest\fP+git annex reinject \fB[src dest]\fP .PP+git annex reinject \-\-known \fB[src]\fP+.PP .SH DESCRIPTION-Moves the src file into the annex as the content of the dest file,-which should be an already annexed file whose content is not present.+Moves the content of the src file or files into the annex.+Only known file contents will be reinjected. Any unknown src files will+be left unchanged. .PP This can be useful if you have obtained the content of a file from-elsewhere and want to put it in the local annex.-.PP-Verifies that the src file's content matches with the content that the dest-file is expected to have, and refuses to reinject it otherwise.+elsewhere and want to put it in the local annex. For example, if a file's+content has been lost and you have a backup, you can restore the backup and+reinject it into your local repository. .PP-Example:+There are two ways to use this command. Specifying a src file and the name+of a dest file (located inside the repository's working tree)+injects the src file as the content of the dest file. .PP git annex reinject /tmp/foo.iso foo.iso .PP+Or the \fB\-\-known\fP option can be used to reinject all known src files, without+needing to specify the dest file.+.PP+ git annex reinject \-\-known /tmp/*.iso+.PP+.SH OPTIONS+.IP "\fB\-\-known\fP"+.IP+With this option, each specified src file is hashed using the default+key\-value backend (or the one specified with \fB\-\-backend\fP), and if git-annex+has a record of the file having been in the annex before, the content is+reinjected.+.IP+Note that this will reinject old versions of files that have been+modified or deleted from the current git branch.+Use git-annex\-unused(1) to detect when such old and potentially+unused files have been reinjected.+.IP+.IP "\fB\-\-backend\fP"+Specify the key\-value backend to use when checking if a file is known+with the \fB\-\-known\fP option.+.IP .SH SEE ALSO git-annex(1) .PP git-annex\-add(1)+.PP+git-annex\-unused(1) .PP git-annex\-fsck(1) .PP
man/git-annex.1 view
@@ -457,6 +457,11 @@ .IP See git-annex\-lookupkey(1) for details. .IP+.IP "\fBcalckey [file ...]\fP"+Calculates the key that would be used to refer to a file.+.IP+See git-annex\-calckey(1) for details.+.IP .IP "\fBcontentlocation [key ..]\fP" Looks up location of annexed content for a key. .IP@@ -1122,7 +1127,8 @@ .IP .IP "\fBannex.tune.objecthash1\fP, \fBannex.tune.objecthashlower\fP, \fBannex.tune.branchhash1\fP" These can be passed to \fBgit annex init\fP to tune the repository.-They cannot be safely changed in a running repository.+They cannot be safely changed in a running repository and should never be+set in global git configuration. For details, see <https://git-annex.branchable.com/tuning/>. .IP .SH CONFIGURATION VIA .gitattributes
+ standalone/android/tmp/network-2.4.1.2/LICENSE view
@@ -0,0 +1,29 @@+Copyright (c) 2002-2010, The University Court of the University of Glasgow.+Copyright (c) 2007-2010, Johan Tibell++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++- Redistributions of source code must retain the above copyright notice,+this list of conditions and the following disclaimer.++- Redistributions in binary form must reproduce the above copyright notice,+this list of conditions and the following disclaimer in the documentation+and/or other materials provided with the distribution.++- Neither name of the University nor the names of its contributors may be+used to endorse or promote products derived from this software without+specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF+GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE+UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW OR THE CONTRIBUTORS BE LIABLE+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH+DAMAGE.
+ standalone/android/tmp/network-2.4.1.2/Network.hs view
@@ -0,0 +1,473 @@+{-# LANGUAGE CPP #-}+-----------------------------------------------------------------------------+-- |+-- Module : Network+-- Copyright : (c) The University of Glasgow 2001+-- License : BSD-style (see the file libraries/network/LICENSE)+-- +-- Maintainer : libraries@haskell.org+-- Stability : provisional+-- Portability : portable+--+-- The "Network" interface is a \"higher-level\" interface to+-- networking facilities, and it is recommended unless you need the+-- lower-level interface in "Network.Socket".+--+-----------------------------------------------------------------------------++#include "HsNetworkConfig.h"++#ifdef HAVE_GETADDRINFO+-- Use IPv6-capable function definitions if the OS supports it.+#define IPV6_SOCKET_SUPPORT 1+#endif++module Network+ (+ -- * Basic data types+ Socket+ , PortID(..)+ , HostName+ , PortNumber++ -- * Initialisation+ , withSocketsDo+ + -- * Server-side connections+ , listenOn+ , accept+ , sClose++ -- * Client-side connections+ , connectTo++ -- * Simple sending and receiving+ {-$sendrecv-}+ , sendTo+ , recvFrom++ -- * Miscellaneous+ , socketPort++ -- * Networking Issues+ -- ** Buffering+ {-$buffering-}++ -- ** Improving I\/O Performance over sockets+ {-$performance-}++ -- ** @SIGPIPE@+ {-$sigpipe-}+ ) where++import Control.Monad (liftM)+import Data.Maybe (fromJust)+import Network.BSD+import Network.Socket hiding (accept, socketPort, recvFrom, sendTo, PortNumber)+import qualified Network.Socket as Socket (accept)+import System.IO+import Prelude+import qualified Control.Exception as Exception++-- ---------------------------------------------------------------------------+-- High Level ``Setup'' functions++-- If the @PortID@ specifies a unix family socket and the @Hostname@+-- differs from that returned by @getHostname@ then an error is+-- raised. Alternatively an empty string may be given to @connectTo@+-- signalling that the current hostname applies.++data PortID = + Service String -- Service Name eg "ftp"+ | PortNumber PortNumber -- User defined Port Number+#if !defined(mingw32_HOST_OS) && !defined(cygwin32_HOST_OS) && !defined(_WIN32)+ | UnixSocket String -- Unix family socket in file system+#endif+ deriving (Show, Eq)++-- | Calling 'connectTo' creates a client side socket which is+-- connected to the given host and port. The Protocol and socket type is+-- derived from the given port identifier. If a port number is given+-- then the result is always an internet family 'Stream' socket. ++connectTo :: HostName -- Hostname+ -> PortID -- Port Identifier+ -> IO Handle -- Connected Socket++#if defined(IPV6_SOCKET_SUPPORT)+-- IPv6 and IPv4.++connectTo hostname (Service serv) = connect' hostname serv++connectTo hostname (PortNumber port) = connect' hostname (show port)+#else+-- IPv4 only.++connectTo hostname (Service serv) = do+ proto <- getProtocolNumber "tcp"+ bracketOnError+ (socket AF_INET Stream proto)+ (sClose) -- only done if there's an error+ (\sock -> do+ port <- getServicePortNumber serv+ he <- getHostByName hostname+ connect sock (SockAddrInet port (hostAddress he))+ socketToHandle sock ReadWriteMode+ )++connectTo hostname (PortNumber port) = do+ proto <- getProtocolNumber "tcp"+ bracketOnError+ (socket AF_INET Stream proto)+ (sClose) -- only done if there's an error+ (\sock -> do+ he <- getHostByName hostname+ connect sock (SockAddrInet port (hostAddress he))+ socketToHandle sock ReadWriteMode+ )+#endif++#if !defined(mingw32_HOST_OS) && !defined(cygwin32_HOST_OS) && !defined(_WIN32)+connectTo _ (UnixSocket path) = do+ bracketOnError+ (socket AF_UNIX Stream 0)+ (sClose)+ (\sock -> do+ connect sock (SockAddrUnix path)+ socketToHandle sock ReadWriteMode+ )+#endif++#if defined(IPV6_SOCKET_SUPPORT)+connect' :: HostName -> ServiceName -> IO Handle++connect' host serv = do+ proto <- getProtocolNumber "tcp"+ let hints = defaultHints { addrFlags = [AI_ADDRCONFIG]+ , addrProtocol = proto+ , addrSocketType = Stream }+ addrs <- getAddrInfo (Just hints) (Just host) (Just serv)+ firstSuccessful $ map tryToConnect addrs+ where+ tryToConnect addr =+ bracketOnError+ (socket (addrFamily addr) (addrSocketType addr) (addrProtocol addr))+ (sClose) -- only done if there's an error+ (\sock -> do+ connect sock (addrAddress addr)+ socketToHandle sock ReadWriteMode+ )+#endif++-- | Creates the server side socket which has been bound to the+-- specified port.+--+-- 'maxListenQueue' (typically 128) is specified to the listen queue.+-- This is good enough for normal network servers but is too small+-- for high performance servers.+--+-- To avoid the \"Address already in use\" problems,+-- the 'ReuseAddr' socket option is set on the listening socket.+--+-- If available, the 'IPv6Only' socket option is set to 0+-- so that both IPv4 and IPv6 can be accepted with this socket.+--+-- If you don't like the behavior above, please use the lower level+-- 'Network.Socket.listen' instead.++listenOn :: PortID -- ^ Port Identifier+ -> IO Socket -- ^ Listening Socket++#if defined(IPV6_SOCKET_SUPPORT)+-- IPv6 and IPv4.++listenOn (Service serv) = listen' serv++listenOn (PortNumber port) = listen' (show port)+#else+-- IPv4 only.++listenOn (Service serv) = do+ proto <- getProtocolNumber "tcp"+ bracketOnError+ (socket AF_INET Stream proto)+ (sClose)+ (\sock -> do+ port <- getServicePortNumber serv+ setSocketOption sock ReuseAddr 1+ bindSocket sock (SockAddrInet port iNADDR_ANY)+ listen sock maxListenQueue+ return sock+ )++listenOn (PortNumber port) = do+ proto <- getProtocolNumber "tcp"+ bracketOnError+ (socket AF_INET Stream proto)+ (sClose)+ (\sock -> do+ setSocketOption sock ReuseAddr 1+ bindSocket sock (SockAddrInet port iNADDR_ANY)+ listen sock maxListenQueue+ return sock+ )+#endif++#if !defined(mingw32_HOST_OS) && !defined(cygwin32_HOST_OS) && !defined(_WIN32)+listenOn (UnixSocket path) =+ bracketOnError+ (socket AF_UNIX Stream 0)+ (sClose)+ (\sock -> do+ setSocketOption sock ReuseAddr 1+ bindSocket sock (SockAddrUnix path)+ listen sock maxListenQueue+ return sock+ )+#endif++#if defined(IPV6_SOCKET_SUPPORT)+listen' :: ServiceName -> IO Socket++listen' serv = do+ proto <- getProtocolNumber "tcp"+ -- We should probably specify addrFamily = AF_INET6 and the filter+ -- code below should be removed. AI_ADDRCONFIG is probably not+ -- necessary. But this code is well-tested. So, let's keep it.+ let hints = defaultHints { addrFlags = [AI_ADDRCONFIG, AI_PASSIVE]+ , addrSocketType = Stream+ , addrProtocol = proto }+ addrs <- getAddrInfo (Just hints) Nothing (Just serv)+ -- Choose an IPv6 socket if exists. This ensures the socket can+ -- handle both IPv4 and IPv6 if v6only is false.+ let addrs' = filter (\x -> addrFamily x == AF_INET6) addrs+ addr = if null addrs' then head addrs else head addrs'+ bracketOnError+ (socket (addrFamily addr) (addrSocketType addr) (addrProtocol addr))+ (sClose)+ (\sock -> do+ setSocketOption sock ReuseAddr 1+ bindSocket sock (addrAddress addr)+ listen sock maxListenQueue+ return sock+ )+#endif++-- -----------------------------------------------------------------------------+-- accept++-- | Accept a connection on a socket created by 'listenOn'. Normal+-- I\/O operations (see "System.IO") can be used on the 'Handle'+-- returned to communicate with the client.+-- Notice that although you can pass any Socket to Network.accept,+-- only sockets of either AF_UNIX, AF_INET, or AF_INET6 will work+-- (this shouldn't be a problem, though). When using AF_UNIX, HostName+-- will be set to the path of the socket and PortNumber to -1.+--+accept :: Socket -- ^ Listening Socket+ -> IO (Handle,+ HostName,+ PortNumber) -- ^ Triple of: read\/write 'Handle' for + -- communicating with the client,+ -- the 'HostName' of the peer socket, and+ -- the 'PortNumber' of the remote connection.+accept sock@(MkSocket _ AF_INET _ _ _) = do+ ~(sock', (SockAddrInet port haddr)) <- Socket.accept sock+ peer <- catchIO+ (do + (HostEntry peer _ _ _) <- getHostByAddr AF_INET haddr+ return peer+ )+ (\_e -> inet_ntoa haddr)+ -- if getHostByName fails, we fall back to the IP address+ handle <- socketToHandle sock' ReadWriteMode+ return (handle, peer, port)+#if defined(IPV6_SOCKET_SUPPORT)+accept sock@(MkSocket _ AF_INET6 _ _ _) = do+ (sock', addr) <- Socket.accept sock+ peer <- catchIO ((fromJust . fst) `liftM` getNameInfo [] True False addr) $+ \_ -> case addr of+ SockAddrInet _ a -> inet_ntoa a+ SockAddrInet6 _ _ a _ -> return (show a)+# if !defined(mingw32_HOST_OS) && !defined(cygwin32_HOST_OS) && !defined(_WIN32)+ SockAddrUnix a -> return a+# endif+ handle <- socketToHandle sock' ReadWriteMode+ let port = case addr of+ SockAddrInet p _ -> p+ SockAddrInet6 p _ _ _ -> p+ _ -> -1+ return (handle, peer, port)+#endif+#if !defined(mingw32_HOST_OS) && !defined(cygwin32_HOST_OS) && !defined(_WIN32)+accept sock@(MkSocket _ AF_UNIX _ _ _) = do+ ~(sock', (SockAddrUnix path)) <- Socket.accept sock+ handle <- socketToHandle sock' ReadWriteMode+ return (handle, path, -1)+#endif+accept (MkSocket _ family _ _ _) =+ error $ "Sorry, address family " ++ (show family) ++ " is not supported!"++-- -----------------------------------------------------------------------------+-- sendTo/recvFrom++{-$sendrecv+Send and receive data from\/to the given host and port number. These+should normally only be used where the socket will not be required for+further calls. Also, note that due to the use of 'hGetContents' in 'recvFrom'+the socket will remain open (i.e. not available) even if the function already+returned. Their use is strongly discouraged except for small test-applications+or invocations from the command line.+-}++sendTo :: HostName -- Hostname+ -> PortID -- Port Number+ -> String -- Message to send+ -> IO ()+sendTo h p msg = do+ s <- connectTo h p+ hPutStr s msg+ hClose s++recvFrom :: HostName -- Hostname+ -> PortID -- Port Number+ -> IO String -- Received Data++#if defined(IPV6_SOCKET_SUPPORT)+recvFrom host port = do+ proto <- getProtocolNumber "tcp"+ let hints = defaultHints { addrFlags = [AI_ADDRCONFIG]+ , addrProtocol = proto+ , addrSocketType = Stream }+ allowed <- map addrAddress `liftM` getAddrInfo (Just hints) (Just host)+ Nothing+ s <- listenOn port+ let waiting = do+ (s', addr) <- Socket.accept s+ if not (addr `oneOf` allowed)+ then sClose s' >> waiting+ else socketToHandle s' ReadMode >>= hGetContents+ waiting+ where+ a@(SockAddrInet _ ha) `oneOf` ((SockAddrInet _ hb):bs)+ | ha == hb = True+ | otherwise = a `oneOf` bs+ a@(SockAddrInet6 _ _ ha _) `oneOf` ((SockAddrInet6 _ _ hb _):bs)+ | ha == hb = True+ | otherwise = a `oneOf` bs+ _ `oneOf` _ = False+#else+recvFrom host port = do+ ip <- getHostByName host+ let ipHs = hostAddresses ip+ s <- listenOn port+ let + waiting = do+ ~(s', SockAddrInet _ haddr) <- Socket.accept s+ he <- getHostByAddr AF_INET haddr+ if not (any (`elem` ipHs) (hostAddresses he))+ then do+ sClose s'+ waiting+ else do+ h <- socketToHandle s' ReadMode+ msg <- hGetContents h+ return msg++ message <- waiting+ return message+#endif++-- ---------------------------------------------------------------------------+-- Access function returning the port type/id of socket.++-- | Returns the 'PortID' associated with a given socket.+socketPort :: Socket -> IO PortID+socketPort s = do+ sockaddr <- getSocketName s+ return (portID sockaddr)+ where+ portID sa =+ case sa of+ SockAddrInet port _ -> PortNumber port+#if defined(IPV6_SOCKET_SUPPORT)+ SockAddrInet6 port _ _ _ -> PortNumber port+#endif+#if !defined(mingw32_HOST_OS) && !defined(cygwin32_HOST_OS) && !defined(_WIN32)+ SockAddrUnix path -> UnixSocket path+#endif++-- ---------------------------------------------------------------------------+-- Utils++-- Like bracket, but only performs the final action if there was an +-- exception raised by the middle bit.+bracketOnError+ :: IO a -- ^ computation to run first (\"acquire resource\")+ -> (a -> IO b) -- ^ computation to run last (\"release resource\")+ -> (a -> IO c) -- ^ computation to run in-between+ -> IO c -- returns the value from the in-between computation+#if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ < 606+bracketOnError before after thing =+ Exception.block (do+ a <- before+ r <- Exception.catch+ (Exception.unblock (thing a))+ (\e -> do { after a; Exception.throw e })+ return r+ )+#else+bracketOnError = Exception.bracketOnError+#endif++-----------------------------------------------------------------------------+-- Extra documentation++{-$buffering++The 'Handle' returned by 'connectTo' and 'accept' is block-buffered by+default. For an interactive application you may want to set the+buffering mode on the 'Handle' to+'LineBuffering' or 'NoBuffering', like so:++> h <- connectTo host port+> hSetBuffering h LineBuffering+-}++{-$performance++For really fast I\/O, it might be worth looking at the 'hGetBuf' and+'hPutBuf' family of functions in "System.IO".+-}++{-$sigpipe++On Unix, when writing to a socket and the reading end is+closed by the remote client, the program is normally sent a+@SIGPIPE@ signal by the operating system. The+default behaviour when a @SIGPIPE@ is received is+to terminate the program silently, which can be somewhat confusing+if you haven't encountered this before. The solution is to+specify that @SIGPIPE@ is to be ignored, using+the POSIX library:++> import Posix+> main = do installHandler sigPIPE Ignore Nothing; ...+-}++catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a+#if MIN_VERSION_base(4,0,0)+catchIO = Exception.catch+#else+catchIO = Exception.catchJust Exception.ioErrors+#endif++-- Returns the first action from a list which does not throw an exception.+-- If all the actions throw exceptions (and the list of actions is not empty),+-- the last exception is thrown.+firstSuccessful :: [IO a] -> IO a+firstSuccessful [] = error "firstSuccessful: empty list"+firstSuccessful (p:ps) = catchIO p $ \e ->+ case ps of+ [] -> Exception.throwIO e+ _ -> firstSuccessful ps
+ standalone/android/tmp/network-2.4.1.2/Network/BSD.hsc view
@@ -0,0 +1,489 @@+{-# LANGUAGE CPP, ForeignFunctionInterface #-}+-----------------------------------------------------------------------------+-- |+-- Module : Network.BSD+-- Copyright : (c) The University of Glasgow 2001+-- License : BSD-style (see the file libraries/network/LICENSE)+-- +-- Maintainer : libraries@haskell.org+-- Stability : experimental+-- Portability : non-portable+--+-- The "Network.BSD" module defines Haskell bindings to network+-- programming functionality provided by BSD Unix derivatives.+--+-----------------------------------------------------------------------------++#include "HsNet.h"++-- NOTE: ##, we want this interpreted when compiling the .hs, not by hsc2hs.+##include "Typeable.h"++module Network.BSD+ (+ -- * Host names+ HostName+ , getHostName++ , HostEntry(..)+ , getHostByName+ , getHostByAddr+ , hostAddress++ -- * Service names+ , ServiceEntry(..)+ , ServiceName+ , getServiceByName+ , getServiceByPort+ , getServicePortNumber++#if !defined(cygwin32_HOST_OS) && !defined(mingw32_HOST_OS) && !defined(_WIN32)+ , getServiceEntries++ -- ** Low level functionality+ , getServiceEntry+ , setServiceEntry+ , endServiceEntry+#endif++ -- * Protocol names+ , ProtocolName+ , ProtocolNumber+ , ProtocolEntry(..)+ , getProtocolByName+ , getProtocolByNumber+ , getProtocolNumber+ , defaultProtocol++ -- * Port numbers+ , PortNumber++ -- * Network names+ , NetworkName+ , NetworkAddr+ , NetworkEntry(..)++#if !defined(cygwin32_HOST_OS) && !defined(mingw32_HOST_OS) && !defined(_WIN32)+ , getNetworkByName+ , getNetworkByAddr+ -- ** Low level functionality+#endif+ ) where++import Network.Socket++import Control.Concurrent (MVar, newMVar, withMVar)+import qualified Control.Exception as E+import Foreign.C.String (CString, peekCString, withCString)+#if defined(HAVE_WINSOCK2_H) && !defined(cygwin32_HOST_OS)+import Foreign.C.Types ( CShort )+#endif+#if __GLASGOW_HASKELL__ >= 703+import Foreign.C.Types ( CInt(..), CULong(..), CSize(..) )+#else+import Foreign.C.Types ( CInt, CULong, CSize )+#endif+import Foreign.Ptr (Ptr, nullPtr)+import Foreign.Storable (Storable(..))+import Foreign.Marshal.Array (allocaArray0, peekArray0)+import Foreign.Marshal.Utils (with, fromBool)+import Data.Typeable+import System.IO.Error (ioeSetErrorString, mkIOError)+import System.IO.Unsafe (unsafePerformIO)++#if __GLASGOW_HASKELL__ >= 611+import GHC.IO.Exception+#else+import GHC.IOBase+#endif++import Control.Monad (liftM)++import Network.Socket.Internal (throwSocketErrorIfMinus1_)++-- ---------------------------------------------------------------------------+-- Basic Types++type ProtocolName = String++-- ---------------------------------------------------------------------------+-- Service Database Access++-- Calling getServiceByName for a given service and protocol returns+-- the systems service entry. This should be used to find the port+-- numbers for standard protocols such as SMTP and FTP. The remaining+-- three functions should be used for browsing the service database+-- sequentially.++-- Calling setServiceEntry with True indicates that the service+-- database should be left open between calls to getServiceEntry. To+-- close the database a call to endServiceEntry is required. This+-- database file is usually stored in the file /etc/services.++data ServiceEntry = + ServiceEntry {+ serviceName :: ServiceName, -- Official Name+ serviceAliases :: [ServiceName], -- aliases+ servicePort :: PortNumber, -- Port Number ( network byte order )+ serviceProtocol :: ProtocolName -- Protocol+ } deriving (Show, Typeable)++instance Storable ServiceEntry where+ sizeOf _ = #const sizeof(struct servent)+ alignment _ = alignment (undefined :: CInt) -- ???++ peek p = do+ s_name <- (#peek struct servent, s_name) p >>= peekCString+ s_aliases <- (#peek struct servent, s_aliases) p+ >>= peekArray0 nullPtr+ >>= mapM peekCString+ s_port <- (#peek struct servent, s_port) p+ s_proto <- (#peek struct servent, s_proto) p >>= peekCString+ return (ServiceEntry {+ serviceName = s_name,+ serviceAliases = s_aliases,+#if defined(HAVE_WINSOCK2_H) && !defined(cygwin32_HOST_OS)+ servicePort = PortNum (fromIntegral (s_port :: CShort)),+#else+ -- s_port is already in network byte order, but it+ -- might be the wrong size.+ servicePort = PortNum (fromIntegral (s_port :: CInt)),+#endif+ serviceProtocol = s_proto+ })++ poke _p = error "Storable.poke(BSD.ServiceEntry) not implemented"+++-- | Get service by name.+getServiceByName :: ServiceName -- Service Name+ -> ProtocolName -- Protocol Name+ -> IO ServiceEntry -- Service Entry+getServiceByName name proto = withLock $ do+ withCString name $ \ cstr_name -> do+ withCString proto $ \ cstr_proto -> do+ throwNoSuchThingIfNull "getServiceByName" "no such service entry"+ $ (trySysCall (c_getservbyname cstr_name cstr_proto))+ >>= peek++foreign import CALLCONV unsafe "getservbyname" + c_getservbyname :: CString -> CString -> IO (Ptr ServiceEntry)++-- | Get the service given a 'PortNumber' and 'ProtocolName'.+getServiceByPort :: PortNumber -> ProtocolName -> IO ServiceEntry+getServiceByPort (PortNum port) proto = withLock $ do+ withCString proto $ \ cstr_proto -> do+ throwNoSuchThingIfNull "getServiceByPort" "no such service entry"+ $ (trySysCall (c_getservbyport (fromIntegral port) cstr_proto))+ >>= peek++foreign import CALLCONV unsafe "getservbyport" + c_getservbyport :: CInt -> CString -> IO (Ptr ServiceEntry)++-- | Get the 'PortNumber' corresponding to the 'ServiceName'.+getServicePortNumber :: ServiceName -> IO PortNumber+getServicePortNumber name = do+ (ServiceEntry _ _ port _) <- getServiceByName name "tcp"+ return port++#if !defined(cygwin32_HOST_OS) && !defined(mingw32_HOST_OS) && !defined(_WIN32)+getServiceEntry :: IO ServiceEntry+getServiceEntry = withLock $ do+ throwNoSuchThingIfNull "getServiceEntry" "no such service entry"+ $ trySysCall c_getservent+ >>= peek++foreign import ccall unsafe "getservent" c_getservent :: IO (Ptr ServiceEntry)++setServiceEntry :: Bool -> IO ()+setServiceEntry flg = withLock $ trySysCall $ c_setservent (fromBool flg)++foreign import ccall unsafe "setservent" c_setservent :: CInt -> IO ()++endServiceEntry :: IO ()+endServiceEntry = withLock $ trySysCall $ c_endservent++foreign import ccall unsafe "endservent" c_endservent :: IO ()++getServiceEntries :: Bool -> IO [ServiceEntry]+getServiceEntries stayOpen = do+ setServiceEntry stayOpen+ getEntries (getServiceEntry) (endServiceEntry)+#endif++-- ---------------------------------------------------------------------------+-- Protocol Entries++-- The following relate directly to the corresponding UNIX C+-- calls for returning the protocol entries. The protocol entry is+-- represented by the Haskell type ProtocolEntry.++-- As for setServiceEntry above, calling setProtocolEntry.+-- determines whether or not the protocol database file, usually+-- @/etc/protocols@, is to be kept open between calls of+-- getProtocolEntry. Similarly, ++data ProtocolEntry = + ProtocolEntry {+ protoName :: ProtocolName, -- Official Name+ protoAliases :: [ProtocolName], -- aliases+ protoNumber :: ProtocolNumber -- Protocol Number+ } deriving (Read, Show, Typeable)++instance Storable ProtocolEntry where+ sizeOf _ = #const sizeof(struct protoent)+ alignment _ = alignment (undefined :: CInt) -- ???++ peek p = do+ p_name <- (#peek struct protoent, p_name) p >>= peekCString+ p_aliases <- (#peek struct protoent, p_aliases) p+ >>= peekArray0 nullPtr+ >>= mapM peekCString+#if defined(HAVE_WINSOCK2_H) && !defined(cygwin32_HOST_OS)+ -- With WinSock, the protocol number is only a short;+ -- hoist it in as such, but represent it on the Haskell side+ -- as a CInt.+ p_proto_short <- (#peek struct protoent, p_proto) p + let p_proto = fromIntegral (p_proto_short :: CShort)+#else+ p_proto <- (#peek struct protoent, p_proto) p +#endif+ return (ProtocolEntry { + protoName = p_name,+ protoAliases = p_aliases,+ protoNumber = p_proto+ })++ poke _p = error "Storable.poke(BSD.ProtocolEntry) not implemented"++getProtocolByName :: ProtocolName -> IO ProtocolEntry+getProtocolByName "tcp" = return $+ ProtocolEntry {protoName = "tcp", protoAliases = ["TCP"], protoNumber = 6}+getProtocolByName "udp" = return $+ ProtocolEntry {protoName = "udp", protoAliases = ["UDP"], protoNumber = 17}+getProtocolByName name = withLock $ do+ withCString name $ \ name_cstr -> do+ throwNoSuchThingIfNull "getProtocolByName" ("no such protocol name: " ++ name)+ $ (trySysCall.c_getprotobyname) name_cstr+ >>= peek++foreign import CALLCONV unsafe "getprotobyname" + c_getprotobyname :: CString -> IO (Ptr ProtocolEntry)+++getProtocolByNumber :: ProtocolNumber -> IO ProtocolEntry+getProtocolByNumber num = withLock $ do+ throwNoSuchThingIfNull "getProtocolByNumber" ("no such protocol number: " ++ show num)+ $ (trySysCall.c_getprotobynumber) (fromIntegral num)+ >>= peek++foreign import CALLCONV unsafe "getprotobynumber"+ c_getprotobynumber :: CInt -> IO (Ptr ProtocolEntry)+++getProtocolNumber :: ProtocolName -> IO ProtocolNumber+getProtocolNumber proto = do+ (ProtocolEntry _ _ num) <- getProtocolByName proto+ return num++-- ---------------------------------------------------------------------------+-- Host lookups++data HostEntry = + HostEntry {+ hostName :: HostName, -- Official Name+ hostAliases :: [HostName], -- aliases+ hostFamily :: Family, -- Host Type (currently AF_INET)+ hostAddresses :: [HostAddress] -- Set of Network Addresses (in network byte order)+ } deriving (Read, Show, Typeable)++instance Storable HostEntry where+ sizeOf _ = #const sizeof(struct hostent)+ alignment _ = alignment (undefined :: CInt) -- ???++ peek p = do+ h_name <- (#peek struct hostent, h_name) p >>= peekCString+ h_aliases <- (#peek struct hostent, h_aliases) p+ >>= peekArray0 nullPtr+ >>= mapM peekCString+ h_addrtype <- (#peek struct hostent, h_addrtype) p+ -- h_length <- (#peek struct hostent, h_length) p+ h_addr_list <- (#peek struct hostent, h_addr_list) p+ >>= peekArray0 nullPtr+ >>= mapM peek+ return (HostEntry {+ hostName = h_name,+ hostAliases = h_aliases,+#if defined(HAVE_WINSOCK2_H) && !defined(cygwin32_HOST_OS)+ hostFamily = unpackFamily (fromIntegral (h_addrtype :: CShort)),+#else+ hostFamily = unpackFamily h_addrtype,+#endif+ hostAddresses = h_addr_list+ })++ poke _p = error "Storable.poke(BSD.ServiceEntry) not implemented"+++-- convenience function:+hostAddress :: HostEntry -> HostAddress+hostAddress (HostEntry nm _ _ ls) =+ case ls of+ [] -> error ("BSD.hostAddress: empty network address list for " ++ nm)+ (x:_) -> x++-- getHostByName must use the same lock as the *hostent functions+-- may cause problems if called concurrently.++-- | Resolve a 'HostName' to IPv4 address.+getHostByName :: HostName -> IO HostEntry+getHostByName name = withLock $ do+ withCString name $ \ name_cstr -> do+ ent <- throwNoSuchThingIfNull "getHostByName" "no such host entry"+ $ trySysCall $ c_gethostbyname name_cstr+ peek ent++foreign import CALLCONV safe "gethostbyname" + c_gethostbyname :: CString -> IO (Ptr HostEntry)+++-- The locking of gethostbyaddr is similar to gethostbyname.+-- | Get a 'HostEntry' corresponding to the given address and family.+-- Note that only IPv4 is currently supported.+getHostByAddr :: Family -> HostAddress -> IO HostEntry+getHostByAddr family addr = do+ with addr $ \ ptr_addr -> withLock $ do+ throwNoSuchThingIfNull "getHostByAddr" "no such host entry"+ $ trySysCall $ c_gethostbyaddr ptr_addr (fromIntegral (sizeOf addr)) (packFamily family)+ >>= peek++foreign import CALLCONV safe "gethostbyaddr"+ c_gethostbyaddr :: Ptr HostAddress -> CInt -> CInt -> IO (Ptr HostEntry)++-- ---------------------------------------------------------------------------+-- Accessing network information++-- Same set of access functions as for accessing host,protocol and+-- service system info, this time for the types of networks supported.++-- network addresses are represented in host byte order.+type NetworkAddr = CULong++type NetworkName = String++data NetworkEntry =+ NetworkEntry {+ networkName :: NetworkName, -- official name+ networkAliases :: [NetworkName], -- aliases+ networkFamily :: Family, -- type+ networkAddress :: NetworkAddr+ } deriving (Read, Show, Typeable)++instance Storable NetworkEntry where+ sizeOf _ = #const sizeof(struct hostent)+ alignment _ = alignment (undefined :: CInt) -- ???++ peek p = do+ n_name <- (#peek struct netent, n_name) p >>= peekCString+ n_aliases <- (#peek struct netent, n_aliases) p+ >>= peekArray0 nullPtr+ >>= mapM peekCString+ n_addrtype <- (#peek struct netent, n_addrtype) p+ n_net <- (#peek struct netent, n_net) p+ return (NetworkEntry {+ networkName = n_name,+ networkAliases = n_aliases,+ networkFamily = unpackFamily (fromIntegral + (n_addrtype :: CInt)),+ networkAddress = n_net+ })++ poke _p = error "Storable.poke(BSD.NetEntry) not implemented"+++#if !defined(cygwin32_HOST_OS) && !defined(mingw32_HOST_OS) && !defined(_WIN32)+getNetworkByName :: NetworkName -> IO NetworkEntry+getNetworkByName name = withLock $ do+ withCString name $ \ name_cstr -> do+ throwNoSuchThingIfNull "getNetworkByName" "no such network entry"+ $ trySysCall $ c_getnetbyname name_cstr+ >>= peek++foreign import ccall unsafe "getnetbyname" + c_getnetbyname :: CString -> IO (Ptr NetworkEntry)++getNetworkByAddr :: NetworkAddr -> Family -> IO NetworkEntry+getNetworkByAddr addr family = withLock $ do+ throwNoSuchThingIfNull "getNetworkByAddr" "no such network entry"+ $ trySysCall $ c_getnetbyaddr addr (packFamily family)+ >>= peek++foreign import ccall unsafe "getnetbyaddr" + c_getnetbyaddr :: NetworkAddr -> CInt -> IO (Ptr NetworkEntry)++#endif++-- Mutex for name service lockdown++{-# NOINLINE lock #-}+lock :: MVar ()+lock = unsafePerformIO $ newMVar ()++withLock :: IO a -> IO a+withLock act = withMVar lock (\_ -> act)++-- ---------------------------------------------------------------------------+-- Miscellaneous Functions++-- | Calling getHostName returns the standard host name for the current+-- processor, as set at boot time.++getHostName :: IO HostName+getHostName = do+ let size = 256+ allocaArray0 size $ \ cstr -> do+ throwSocketErrorIfMinus1_ "getHostName" $ c_gethostname cstr (fromIntegral size)+ peekCString cstr++foreign import CALLCONV unsafe "gethostname" + c_gethostname :: CString -> CSize -> IO CInt++-- Helper function used by the exported functions that provides a+-- Haskellised view of the enumerator functions:++getEntries :: IO a -- read+ -> IO () -- at end+ -> IO [a]+getEntries getOne atEnd = loop+ where+ loop = do+ vv <- E.catch (liftM Just getOne)+ (\ e -> let _types = e :: IOException in return Nothing)+ case vv of+ Nothing -> return []+ Just v -> loop >>= \ vs -> atEnd >> return (v:vs)+++-- ---------------------------------------------------------------------------+-- Winsock only:+-- The BSD API networking calls made locally return NULL upon failure.+-- That failure may very well be due to WinSock not being initialised,+-- so if NULL is seen try init'ing and repeat the call.+#if !defined(mingw32_HOST_OS) && !defined(_WIN32)+trySysCall :: IO a -> IO a+trySysCall act = act+#else+trySysCall :: IO (Ptr a) -> IO (Ptr a)+trySysCall act = do+ ptr <- act+ if (ptr == nullPtr)+ then withSocketsDo act+ else return ptr+#endif++throwNoSuchThingIfNull :: String -> String -> IO (Ptr a) -> IO (Ptr a)+throwNoSuchThingIfNull loc desc act = do+ ptr <- act+ if (ptr == nullPtr)+ then ioError (ioeSetErrorString (mkIOError NoSuchThing loc Nothing Nothing) desc)+ else return ptr
+ standalone/android/tmp/network-2.4.1.2/Network/Socket.hsc view
@@ -0,0 +1,1663 @@+{-# LANGUAGE CPP, ScopedTypeVariables #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+-----------------------------------------------------------------------------+-- |+-- Module : Network.Socket+-- Copyright : (c) The University of Glasgow 2001+-- License : BSD-style (see the file libraries/network/LICENSE)+--+-- Maintainer : libraries@haskell.org+-- Stability : provisional+-- Portability : portable+--+-- The "Network.Socket" module is for when you want full control over+-- sockets. Essentially the entire C socket API is exposed through+-- this module; in general the operations follow the behaviour of the C+-- functions of the same name (consult your favourite Unix networking book).+--+-- A higher level interface to networking operations is provided+-- through the module "Network".+--+-----------------------------------------------------------------------------++#include "HsNet.h"++-- NOTE: ##, we want this interpreted when compiling the .hs, not by hsc2hs.+##include "Typeable.h"++-- In order to process this file, you need to have CALLCONV defined.++module Network.Socket+ (+ -- * Types+ Socket(..)+ , Family(..)+ , isSupportedFamily+ , SocketType(..)+ , isSupportedSocketType+ , SockAddr(..)+ , SocketStatus(..)+ , HostAddress+#if defined(IPV6_SOCKET_SUPPORTNO)+ , HostAddress6+ , FlowInfo+ , ScopeID+#endif+ , ShutdownCmd(..)+ , ProtocolNumber+ , defaultProtocol+ , PortNumber(..)+ -- PortNumber is used non-abstractly in Network.BSD. ToDo: remove+ -- this use and make the type abstract.++ -- * Address operations++ , HostName+ , ServiceName++#if defined(IPV6_SOCKET_SUPPORT) || 1+ , AddrInfo(..)++ , AddrInfoFlag(..)+ , addrInfoFlagImplemented++ , defaultHints++ , getAddrInfo++ , NameInfoFlag(..)++ , getNameInfo+#endif++ -- * Socket operations+ , socket+#if defined(DOMAIN_SOCKET_SUPPORT)+ , socketPair+#endif+ , connect+ , bind+ , listen+ , accept+ , getPeerName+ , getSocketName++#ifdef HAVE_STRUCT_UCRED+ -- get the credentials of our domain socket peer.+ , getPeerCred+#endif++ , socketPort++ , socketToHandle++ -- ** Sending and receiving data+ -- $sendrecv+ , sendTo+ , sendBufTo++ , recvFrom+ , recvBufFrom++ , send+ , recv+ , recvLen+ , sendBuf+ , recvBuf++ , inet_addr+ , inet_ntoa++ , shutdown+ , close++ -- ** Predicates on sockets+ , isConnected+ , isBound+ , isListening+ , isReadable+ , isWritable++ -- * Socket options+ , SocketOption(..)+ , isSupportedSocketOption+ , getSocketOption+ , setSocketOption++ -- * File descriptor transmission+#ifdef DOMAIN_SOCKET_SUPPORT+ , sendFd+ , recvFd++#endif++ -- * Special constants+ , aNY_PORT+ , iNADDR_ANY+#if defined(IPV6_SOCKET_SUPPORTNO)+ , iN6ADDR_ANY+#endif+ , sOMAXCONN+ , sOL_SOCKET+#ifdef SCM_RIGHTS+ , sCM_RIGHTS+#endif+ , maxListenQueue++ -- * Initialisation+ , withSocketsDo++ -- * Very low level operations+ -- in case you ever want to get at the underlying file descriptor..+ , fdSocket+ , mkSocket++ -- * Deprecated aliases+ -- $deprecated-aliases+ , bindSocket+ , sClose+ , sIsConnected+ , sIsBound+ , sIsListening+ , sIsReadable+ , sIsWritable++ -- * Internal++ -- | The following are exported ONLY for use in the BSD module and+ -- should not be used anywhere else.++ , packFamily+ , unpackFamily+ , packSocketType+ ) where++import Data.Bits+import Data.List (delete, foldl')+import Data.Maybe (fromMaybe, isJust)+import Data.Word (Word8, Word16, Word32)+import Foreign.Ptr (Ptr, castPtr, nullPtr)+import Foreign.Storable (Storable(..))+import Foreign.C.Error+import Foreign.C.String (CString, withCString, peekCString, peekCStringLen)+import Foreign.C.Types (CUInt, CChar)+#if __GLASGOW_HASKELL__ >= 703+import Foreign.C.Types (CInt(..), CSize(..))+#else+import Foreign.C.Types (CInt, CSize)+#endif+import Foreign.Marshal.Alloc ( alloca, allocaBytes )+import Foreign.Marshal.Array ( peekArray )+import Foreign.Marshal.Utils ( maybeWith, with )++import System.IO+import Control.Monad (liftM, when)+import Data.Ratio ((%))++import qualified Control.Exception as E+import Control.Concurrent.MVar+import Data.Typeable+import System.IO.Error++import GHC.Conc (threadWaitRead, threadWaitWrite)+##if MIN_VERSION_base(4,3,1)+import GHC.Conc (closeFdWith)+##endif+# if defined(mingw32_HOST_OS)+import GHC.Conc (asyncDoProc)+import Foreign (FunPtr)+# endif+# if __GLASGOW_HASKELL__ >= 611+import qualified GHC.IO.Device+import GHC.IO.Handle.FD+import GHC.IO.Exception+import GHC.IO+# else+import GHC.IOBase+import GHC.Handle+# endif+import qualified System.Posix.Internals++# if __GLASGOW_HASKELL__ >= 611+import GHC.IO.FD+#endif++import Network.Socket.Internal+import Network.Socket.Types++-- | Either a host name e.g., @\"haskell.org\"@ or a numeric host+-- address string consisting of a dotted decimal IPv4 address or an+-- IPv6 address e.g., @\"192.168.0.1\"@.+type HostName = String+type ServiceName = String++-- ----------------------------------------------------------------------------+-- On Windows, our sockets are not put in non-blocking mode (non-blocking+-- is not supported for regular file descriptors on Windows, and it would+-- be a pain to support it only for sockets). So there are two cases:+--+-- - the threaded RTS uses safe calls for socket operations to get+-- non-blocking I/O, just like the rest of the I/O library+--+-- - with the non-threaded RTS, only some operations on sockets will be+-- non-blocking. Reads and writes go through the normal async I/O+-- system. accept() uses asyncDoProc so is non-blocking. A handful+-- of others (recvFrom, sendFd, recvFd) will block all threads - if this+-- is a problem, -threaded is the workaround.+--+##if defined(mingw32_HOST_OS)+##define SAFE_ON_WIN safe+##else+##define SAFE_ON_WIN unsafe+##endif++-----------------------------------------------------------------------------+-- Socket types++#if __GLASGOW_HASKELL__ >= 611 && defined(mingw32_HOST_OS)+socket2FD (MkSocket fd _ _ _ _) =+ -- HACK, 1 means True+ FD{fdFD = fd,fdIsSocket_ = 1}+#endif++mkSocket :: CInt+ -> Family+ -> SocketType+ -> ProtocolNumber+ -> SocketStatus+ -> IO Socket+mkSocket fd fam sType pNum stat = do+ mStat <- newMVar stat+ return (MkSocket fd fam sType pNum mStat)+++fdSocket :: Socket -> CInt+fdSocket (MkSocket fd _ _ _ _) = fd++-- | This is the default protocol for a given service.+defaultProtocol :: ProtocolNumber+defaultProtocol = 0++-----------------------------------------------------------------------------+-- SockAddr++instance Show SockAddr where+#if defined(DOMAIN_SOCKET_SUPPORT)+ showsPrec _ (SockAddrUnix str) = showString str+#endif+ showsPrec _ (SockAddrInet port ha)+ = showString (unsafePerformIO (inet_ntoa ha))+ . showString ":"+ . shows port+#if defined(IPV6_SOCKET_SUPPORT)+ showsPrec _ addr@(SockAddrInet6 port _ _ _)+ = showChar '['+ . showString (unsafePerformIO $+ fst `liftM` getNameInfo [NI_NUMERICHOST] True False addr >>=+ maybe (fail "showsPrec: impossible internal error") return)+ . showString "]:"+ . shows port+#endif++-----------------------------------------------------------------------------+-- Connection Functions++-- In the following connection and binding primitives. The names of+-- the equivalent C functions have been preserved where possible. It+-- should be noted that some of these names used in the C library,+-- \tr{bind} in particular, have a different meaning to many Haskell+-- programmers and have thus been renamed by appending the prefix+-- Socket.++-- | Create a new socket using the given address family, socket type+-- and protocol number. The address family is usually 'AF_INET',+-- 'AF_INET6', or 'AF_UNIX'. The socket type is usually 'Stream' or+-- 'Datagram'. The protocol number is usually 'defaultProtocol'.+-- If 'AF_INET6' is used, the 'IPv6Only' socket option is set to 0+-- so that both IPv4 and IPv6 can be handled with one socket.+socket :: Family -- Family Name (usually AF_INET)+ -> SocketType -- Socket Type (usually Stream)+ -> ProtocolNumber -- Protocol Number (getProtocolByName to find value)+ -> IO Socket -- Unconnected Socket+socket family stype protocol = do+ c_stype <- packSocketTypeOrThrow "socket" stype+ fd <- throwSocketErrorIfMinus1Retry "socket" $+ c_socket (packFamily family) c_stype protocol+ setNonBlockIfNeeded fd+ socket_status <- newMVar NotConnected+ let sock = MkSocket fd family stype protocol socket_status+ return sock++-- | Build a pair of connected socket objects using the given address+-- family, socket type, and protocol number. Address family, socket+-- type, and protocol number are as for the 'socket' function above.+-- Availability: Unix.+#if defined(DOMAIN_SOCKET_SUPPORT)+socketPair :: Family -- Family Name (usually AF_INET or AF_INET6)+ -> SocketType -- Socket Type (usually Stream)+ -> ProtocolNumber -- Protocol Number+ -> IO (Socket, Socket) -- unnamed and connected.+socketPair family stype protocol = do+ allocaBytes (2 * sizeOf (1 :: CInt)) $ \ fdArr -> do+ c_stype <- packSocketTypeOrThrow "socketPair" stype+ _rc <- throwSocketErrorIfMinus1Retry "socketpair" $+ c_socketpair (packFamily family) c_stype protocol fdArr+ [fd1,fd2] <- peekArray 2 fdArr+ s1 <- mkNonBlockingSocket fd1+ s2 <- mkNonBlockingSocket fd2+ return (s1,s2)+ where+ mkNonBlockingSocket fd = do+ setNonBlockIfNeeded fd+ stat <- newMVar Connected+ return (MkSocket fd family stype protocol stat)++foreign import ccall unsafe "socketpair"+ c_socketpair :: CInt -> CInt -> CInt -> Ptr CInt -> IO CInt+#endif++-- | Set the socket to nonblocking, if applicable to this platform.+setNonBlockIfNeeded :: CInt -> IO ()+setNonBlockIfNeeded fd =+#if __GLASGOW_HASKELL__ < 611+ System.Posix.Internals.setNonBlockingFD fd+#else+ System.Posix.Internals.setNonBlockingFD fd True+#endif++-----------------------------------------------------------------------------+-- Binding a socket++-- | Bind the socket to an address. The socket must not already be+-- bound. The 'Family' passed to @bind@ must be the+-- same as that passed to 'socket'. If the special port number+-- 'aNY_PORT' is passed then the system assigns the next available+-- use port.+bind :: Socket -- Unconnected Socket+ -> SockAddr -- Address to Bind to+ -> IO ()+bind (MkSocket s _family _stype _protocol socketStatus) addr = do+ modifyMVar_ socketStatus $ \ status -> do+ if status /= NotConnected+ then+ ioError (userError ("bind: can't peform bind on socket in status " +++ show status))+ else do+ withSockAddr addr $ \p_addr sz -> do+ _status <- throwSocketErrorIfMinus1Retry "bind" $ c_bind s p_addr (fromIntegral sz)+ return Bound++-----------------------------------------------------------------------------+-- Connecting a socket++-- | Connect to a remote socket at address.+connect :: Socket -- Unconnected Socket+ -> SockAddr -- Socket address stuff+ -> IO ()+connect sock@(MkSocket s _family _stype _protocol socketStatus) addr = do+ modifyMVar_ socketStatus $ \currentStatus -> do+ if currentStatus /= NotConnected && currentStatus /= Bound+ then+ ioError (userError ("connect: can't peform connect on socket in status " +++ show currentStatus))+ else do+ withSockAddr addr $ \p_addr sz -> do++ let connectLoop = do+ r <- c_connect s p_addr (fromIntegral sz)+ if r == -1+ then do+#if !(defined(HAVE_WINSOCK2_H) && !defined(cygwin32_HOST_OS))+ err <- getErrno+ case () of+ _ | err == eINTR -> connectLoop+ _ | err == eINPROGRESS -> connectBlocked+-- _ | err == eAGAIN -> connectBlocked+ _otherwise -> throwSocketError "connect"+#else+ rc <- c_getLastError+ case rc of+ #{const WSANOTINITIALISED} -> do+ withSocketsDo (return ())+ r <- c_connect s p_addr (fromIntegral sz)+ if r == -1+ then throwSocketError "connect"+ else return r+ _ -> throwSocketError "connect"+#endif+ else return r++ connectBlocked = do+ threadWaitWrite (fromIntegral s)+ err <- getSocketOption sock SoError+ if (err == 0)+ then return 0+ else throwSocketErrorCode "connect" (fromIntegral err)++ connectLoop+ return Connected++-----------------------------------------------------------------------------+-- Listen++-- | Listen for connections made to the socket. The second argument+-- specifies the maximum number of queued connections and should be at+-- least 1; the maximum value is system-dependent (usually 5).+listen :: Socket -- Connected & Bound Socket+ -> Int -- Queue Length+ -> IO ()+listen (MkSocket s _family _stype _protocol socketStatus) backlog = do+ modifyMVar_ socketStatus $ \ status -> do+ if status /= Bound+ then+ ioError (userError ("listen: can't peform listen on socket in status " +++ show status))+ else do+ throwSocketErrorIfMinus1Retry "listen" (c_listen s (fromIntegral backlog))+ return Listening++-----------------------------------------------------------------------------+-- Accept+--+-- A call to `accept' only returns when data is available on the given+-- socket, unless the socket has been set to non-blocking. It will+-- return a new socket which should be used to read the incoming data and+-- should then be closed. Using the socket returned by `accept' allows+-- incoming requests to be queued on the original socket.++-- | Accept a connection. The socket must be bound to an address and+-- listening for connections. The return value is a pair @(conn,+-- address)@ where @conn@ is a new socket object usable to send and+-- receive data on the connection, and @address@ is the address bound+-- to the socket on the other end of the connection.+accept :: Socket -- Queue Socket+ -> IO (Socket, -- Readable Socket+ SockAddr) -- Peer details++accept sock@(MkSocket s family stype protocol status) = do+ currentStatus <- readMVar status+ okay <- isAcceptable sock+ if not okay+ then+ ioError (userError ("accept: can't perform accept on socket (" ++ (show (family,stype,protocol)) ++") in status " +++ show currentStatus))+ else do+ let sz = sizeOfSockAddrByFamily family+ allocaBytes sz $ \ sockaddr -> do+#if defined(mingw32_HOST_OS)+ new_sock <-+ if threaded+ then with (fromIntegral sz) $ \ ptr_len ->+ throwSocketErrorIfMinus1Retry "Network.Socket.accept" $+ c_accept_safe s sockaddr ptr_len+ else do+ paramData <- c_newAcceptParams s (fromIntegral sz) sockaddr+ rc <- asyncDoProc c_acceptDoProc paramData+ new_sock <- c_acceptNewSock paramData+ c_free paramData+ when (rc /= 0) $+ throwSocketErrorCode "Network.Socket.accept" (fromIntegral rc)+ return new_sock+#else+ with (fromIntegral sz) $ \ ptr_len -> do+ new_sock <-+#if 0+ throwSocketErrorIfMinus1RetryMayBlock "accept"+ (threadWaitRead (fromIntegral s))+ (c_accept4 s sockaddr ptr_len (#const SOCK_NONBLOCK))+# else+ throwSocketErrorWaitRead sock "accept"+ (c_accept s sockaddr ptr_len)+# endif /* HAVE_ACCEPT4 */+#endif+ setNonBlockIfNeeded new_sock+ addr <- peekSockAddr sockaddr+ new_status <- newMVar Connected+ return ((MkSocket new_sock family stype protocol new_status), addr)++#if defined(mingw32_HOST_OS)+foreign import ccall unsafe "HsNet.h acceptNewSock"+ c_acceptNewSock :: Ptr () -> IO CInt+foreign import ccall unsafe "HsNet.h newAcceptParams"+ c_newAcceptParams :: CInt -> CInt -> Ptr a -> IO (Ptr ())+foreign import ccall unsafe "HsNet.h &acceptDoProc"+ c_acceptDoProc :: FunPtr (Ptr () -> IO Int)+foreign import ccall unsafe "free"+ c_free:: Ptr a -> IO ()+#endif++-----------------------------------------------------------------------------+-- ** Sending and reciving data++-- $sendrecv+--+-- Do not use the @send@ and @recv@ functions defined in this module+-- in new code, as they incorrectly represent binary data as a Unicode+-- string. As a result, these functions are inefficient and may lead+-- to bugs in the program. Instead use the @send@ and @recv@+-- functions defined in the 'Network.Socket.ByteString' module.++-----------------------------------------------------------------------------+-- sendTo & recvFrom++-- | Send data to the socket. The recipient can be specified+-- explicitly, so the socket need not be in a connected state.+-- Returns the number of bytes sent. Applications are responsible for+-- ensuring that all data has been sent.+--+-- NOTE: blocking on Windows unless you compile with -threaded (see+-- GHC ticket #1129)+sendTo :: Socket -- (possibly) bound/connected Socket+ -> String -- Data to send+ -> SockAddr+ -> IO Int -- Number of Bytes sent+sendTo sock xs addr = do+ withCString xs $ \str -> do+ sendBufTo sock str (length xs) addr++-- | Send data to the socket. The recipient can be specified+-- explicitly, so the socket need not be in a connected state.+-- Returns the number of bytes sent. Applications are responsible for+-- ensuring that all data has been sent.+sendBufTo :: Socket -- (possibly) bound/connected Socket+ -> Ptr a -> Int -- Data to send+ -> SockAddr+ -> IO Int -- Number of Bytes sent+sendBufTo sock@(MkSocket s _family _stype _protocol _status) ptr nbytes addr = do+ withSockAddr addr $ \p_addr sz -> do+ liftM fromIntegral $+ throwSocketErrorWaitWrite sock "sendTo" $+ c_sendto s ptr (fromIntegral $ nbytes) 0{-flags-}+ p_addr (fromIntegral sz)++-- | Receive data from the socket. The socket need not be in a+-- connected state. Returns @(bytes, nbytes, address)@ where @bytes@+-- is a @String@ of length @nbytes@ representing the data received and+-- @address@ is a 'SockAddr' representing the address of the sending+-- socket.+--+-- NOTE: blocking on Windows unless you compile with -threaded (see+-- GHC ticket #1129)+recvFrom :: Socket -> Int -> IO (String, Int, SockAddr)+recvFrom sock nbytes =+ allocaBytes nbytes $ \ptr -> do+ (len, sockaddr) <- recvBufFrom sock ptr nbytes+ str <- peekCStringLen (ptr, len)+ return (str, len, sockaddr)++-- | Receive data from the socket, writing it into buffer instead of+-- creating a new string. The socket need not be in a connected+-- state. Returns @(nbytes, address)@ where @nbytes@ is the number of+-- bytes received and @address@ is a 'SockAddr' representing the+-- address of the sending socket.+--+-- NOTE: blocking on Windows unless you compile with -threaded (see+-- GHC ticket #1129)+recvBufFrom :: Socket -> Ptr a -> Int -> IO (Int, SockAddr)+recvBufFrom sock@(MkSocket s family _stype _protocol _status) ptr nbytes+ | nbytes <= 0 = ioError (mkInvalidRecvArgError "Network.Socket.recvFrom")+ | otherwise =+ withNewSockAddr family $ \ptr_addr sz -> do+ alloca $ \ptr_len -> do+ poke ptr_len (fromIntegral sz)+ len <- throwSocketErrorWaitRead sock "recvFrom" $+ c_recvfrom s ptr (fromIntegral nbytes) 0{-flags-}+ ptr_addr ptr_len+ let len' = fromIntegral len+ if len' == 0+ then ioError (mkEOFError "Network.Socket.recvFrom")+ else do+ flg <- isConnected sock+ -- For at least one implementation (WinSock 2), recvfrom() ignores+ -- filling in the sockaddr for connected TCP sockets. Cope with+ -- this by using getPeerName instead.+ sockaddr <-+ if flg then+ getPeerName sock+ else+ peekSockAddr ptr_addr+ return (len', sockaddr)++-----------------------------------------------------------------------------+-- send & recv++-- | Send data to the socket. The socket must be connected to a remote+-- socket. Returns the number of bytes sent. Applications are+-- responsible for ensuring that all data has been sent.+send :: Socket -- Bound/Connected Socket+ -> String -- Data to send+ -> IO Int -- Number of Bytes sent+send sock@(MkSocket s _family _stype _protocol _status) xs = do+ let len = length xs+ withCString xs $ \str -> do+ liftM fromIntegral $+#if defined(mingw32_HOST_OS)+# if __GLASGOW_HASKELL__ >= 611+ writeRawBufferPtr+ "Network.Socket.send"+ (socket2FD sock)+ (castPtr str)+ 0+ (fromIntegral len)+#else+ writeRawBufferPtr+ "Network.Socket.send"+ (fromIntegral s)+ True+ str+ 0+ (fromIntegral len)+#endif++#else+ throwSocketErrorWaitWrite sock "send" $+ c_send s str (fromIntegral len) 0{-flags-}+#endif++-- | Send data to the socket. The socket must be connected to a remote+-- socket. Returns the number of bytes sent. Applications are+-- responsible for ensuring that all data has been sent.+sendBuf :: Socket -- Bound/Connected Socket+ -> Ptr Word8 -- Pointer to the data to send+ -> Int -- Length of the buffer+ -> IO Int -- Number of Bytes sent+sendBuf sock@(MkSocket s _family _stype _protocol _status) str len = do+ liftM fromIntegral $+#if defined(mingw32_HOST_OS)+# if __GLASGOW_HASKELL__ >= 611+ writeRawBufferPtr+ "Network.Socket.sendBuf"+ (socket2FD sock)+ (castPtr str)+ 0+ (fromIntegral len)+# else+ writeRawBufferPtr+ "Network.Socket.sendBuf"+ (fromIntegral s)+ True+ str+ 0+ (fromIntegral len)+# endif+#else+ throwSocketErrorWaitWrite sock "sendBuf" $+ c_send s str (fromIntegral len) 0{-flags-}+#endif+++-- | Receive data from the socket. The socket must be in a connected+-- state. This function may return fewer bytes than specified. If the+-- message is longer than the specified length, it may be discarded+-- depending on the type of socket. This function may block until a+-- message arrives.+--+-- Considering hardware and network realities, the maximum number of+-- bytes to receive should be a small power of 2, e.g., 4096.+--+-- For TCP sockets, a zero length return value means the peer has+-- closed its half side of the connection.+recv :: Socket -> Int -> IO String+recv sock l = recvLen sock l >>= \ (s,_) -> return s++recvLen :: Socket -> Int -> IO (String, Int)+recvLen sock@(MkSocket s _family _stype _protocol _status) nbytes+ | nbytes <= 0 = ioError (mkInvalidRecvArgError "Network.Socket.recv")+ | otherwise = do+ allocaBytes nbytes $ \ptr -> do+ len <-+#if defined(mingw32_HOST_OS)+# if __GLASGOW_HASKELL__ >= 611+ readRawBufferPtr "Network.Socket.recvLen" (socket2FD sock) ptr 0+ (fromIntegral nbytes)+#else+ readRawBufferPtr "Network.Socket.recvLen" (fromIntegral s) True ptr 0+ (fromIntegral nbytes)+#endif+#else+ throwSocketErrorWaitRead sock "recv" $+ c_recv s ptr (fromIntegral nbytes) 0{-flags-}+#endif+ let len' = fromIntegral len+ if len' == 0+ then ioError (mkEOFError "Network.Socket.recv")+ else do+ s' <- peekCStringLen (castPtr ptr,len')+ return (s', len')++-- | Receive data from the socket. The socket must be in a connected+-- state. This function may return fewer bytes than specified. If the+-- message is longer than the specified length, it may be discarded+-- depending on the type of socket. This function may block until a+-- message arrives.+--+-- Considering hardware and network realities, the maximum number of+-- bytes to receive should be a small power of 2, e.g., 4096.+--+-- For TCP sockets, a zero length return value means the peer has+-- closed its half side of the connection.+recvBuf :: Socket -> Ptr Word8 -> Int -> IO Int+recvBuf sock p l = recvLenBuf sock p l++recvLenBuf :: Socket -> Ptr Word8 -> Int -> IO Int+recvLenBuf sock@(MkSocket s _family _stype _protocol _status) ptr nbytes+ | nbytes <= 0 = ioError (mkInvalidRecvArgError "Network.Socket.recvBuf")+ | otherwise = do+ len <-+#if defined(mingw32_HOST_OS)+# if __GLASGOW_HASKELL__ >= 611+ readRawBufferPtr "Network.Socket.recvLenBuf" (socket2FD sock) ptr 0+ (fromIntegral nbytes)+#else+ readRawBufferPtr "Network.Socket.recvLenBuf" (fromIntegral s) True ptr 0+ (fromIntegral nbytes)+#endif+#else+ throwSocketErrorWaitRead sock "recvBuf" $+ c_recv s (castPtr ptr) (fromIntegral nbytes) 0{-flags-}+#endif+ let len' = fromIntegral len+ if len' == 0+ then ioError (mkEOFError "Network.Socket.recvBuf")+ else return len'+++-- ---------------------------------------------------------------------------+-- socketPort+--+-- The port number the given socket is currently connected to can be+-- determined by calling $port$, is generally only useful when bind+-- was given $aNY\_PORT$.++socketPort :: Socket -- Connected & Bound Socket+ -> IO PortNumber -- Port Number of Socket+socketPort sock@(MkSocket _ AF_INET _ _ _) = do+ (SockAddrInet port _) <- getSocketName sock+ return port+#if defined(IPV6_SOCKET_SUPPORT)+socketPort sock@(MkSocket _ AF_INET6 _ _ _) = do+ (SockAddrInet6 port _ _ _) <- getSocketName sock+ return port+#endif+socketPort (MkSocket _ family _ _ _) =+ ioError (userError ("socketPort: not supported for Family " ++ show family))+++-- ---------------------------------------------------------------------------+-- getPeerName++-- Calling $getPeerName$ returns the address details of the machine,+-- other than the local one, which is connected to the socket. This is+-- used in programs such as FTP to determine where to send the+-- returning data. The corresponding call to get the details of the+-- local machine is $getSocketName$.++getPeerName :: Socket -> IO SockAddr+getPeerName (MkSocket s family _ _ _) = do+ withNewSockAddr family $ \ptr sz -> do+ with (fromIntegral sz) $ \int_star -> do+ throwSocketErrorIfMinus1Retry "getPeerName" $ c_getpeername s ptr int_star+ _sz <- peek int_star+ peekSockAddr ptr++getSocketName :: Socket -> IO SockAddr+getSocketName (MkSocket s family _ _ _) = do+ withNewSockAddr family $ \ptr sz -> do+ with (fromIntegral sz) $ \int_star -> do+ throwSocketErrorIfMinus1Retry "getSocketName" $ c_getsockname s ptr int_star+ peekSockAddr ptr++-----------------------------------------------------------------------------+-- Socket Properties++-- | Socket options for use with 'setSocketOption' and 'getSocketOption'.+--+-- The existence of a constructor does not imply that the relevant option+-- is supported on your system: see 'isSupportedSocketOption'+data SocketOption+ = Debug -- ^ SO_DEBUG+ | ReuseAddr -- ^ SO_REUSEADDR+ | Type -- ^ SO_TYPE+ | SoError -- ^ SO_ERROR+ | DontRoute -- ^ SO_DONTROUTE+ | Broadcast -- ^ SO_BROADCAST+ | SendBuffer -- ^ SO_SNDBUF+ | RecvBuffer -- ^ SO_RCVBUF+ | KeepAlive -- ^ SO_KEEPALIVE+ | OOBInline -- ^ SO_OOBINLINE+ | TimeToLive -- ^ IP_TTL+ | MaxSegment -- ^ TCP_MAXSEG+ | NoDelay -- ^ TCP_NODELAY+ | Cork -- ^ TCP_CORK+ | Linger -- ^ SO_LINGER+ | ReusePort -- ^ SO_REUSEPORT+ | RecvLowWater -- ^ SO_RCVLOWAT+ | SendLowWater -- ^ SO_SNDLOWAT+ | RecvTimeOut -- ^ SO_RCVTIMEO+ | SendTimeOut -- ^ SO_SNDTIMEO+ | UseLoopBack -- ^ SO_USELOOPBACK+ | IPv6Only -- ^ IPV6_V6ONLY+ deriving (Show, Typeable)++-- | Does the 'SocketOption' exist on this system?+isSupportedSocketOption :: SocketOption -> Bool+isSupportedSocketOption = isJust . packSocketOption++-- | For a socket option, return Just (level, value) where level is the+-- corresponding C option level constant (e.g. SOL_SOCKET) and value is+-- the option constant itself (e.g. SO_DEBUG)+-- If either constant does not exist, return Nothing.+packSocketOption :: SocketOption -> Maybe (CInt, CInt)+packSocketOption so =+ -- The Just here is a hack to disable GHC's overlapping pattern detection:+ -- the problem is if all constants are present, the fallback pattern is+ -- redundant, but if they aren't then it isn't. Hence we introduce an+ -- extra pattern (Nothing) that can't possibly happen, so that the+ -- fallback is always (in principle) necessary.+ -- I feel a little bad for including this, but such are the sacrifices we+ -- make while working with CPP - excluding the fallback pattern correctly+ -- would be a serious nuisance.+ -- (NB: comments elsewhere in this file refer to this one)+ case Just so of+#ifdef SOL_SOCKET+#ifdef SO_DEBUG+ Just Debug -> Just ((#const SOL_SOCKET), (#const SO_DEBUG))+#endif+#ifdef SO_REUSEADDR+ Just ReuseAddr -> Just ((#const SOL_SOCKET), (#const SO_REUSEADDR))+#endif+#ifdef SO_TYPE+ Just Type -> Just ((#const SOL_SOCKET), (#const SO_TYPE))+#endif+#ifdef SO_ERROR+ Just SoError -> Just ((#const SOL_SOCKET), (#const SO_ERROR))+#endif+#ifdef SO_DONTROUTE+ Just DontRoute -> Just ((#const SOL_SOCKET), (#const SO_DONTROUTE))+#endif+#ifdef SO_BROADCAST+ Just Broadcast -> Just ((#const SOL_SOCKET), (#const SO_BROADCAST))+#endif+#ifdef SO_SNDBUF+ Just SendBuffer -> Just ((#const SOL_SOCKET), (#const SO_SNDBUF))+#endif+#ifdef SO_RCVBUF+ Just RecvBuffer -> Just ((#const SOL_SOCKET), (#const SO_RCVBUF))+#endif+#ifdef SO_KEEPALIVE+ Just KeepAlive -> Just ((#const SOL_SOCKET), (#const SO_KEEPALIVE))+#endif+#ifdef SO_OOBINLINE+ Just OOBInline -> Just ((#const SOL_SOCKET), (#const SO_OOBINLINE))+#endif+#ifdef SO_LINGER+ Just Linger -> Just ((#const SOL_SOCKET), (#const SO_LINGER))+#endif+#ifdef SO_REUSEPORT+ Just ReusePort -> Just ((#const SOL_SOCKET), (#const SO_REUSEPORT))+#endif+#ifdef SO_RCVLOWAT+ Just RecvLowWater -> Just ((#const SOL_SOCKET), (#const SO_RCVLOWAT))+#endif+#ifdef SO_SNDLOWAT+ Just SendLowWater -> Just ((#const SOL_SOCKET), (#const SO_SNDLOWAT))+#endif+#ifdef SO_RCVTIMEO+ Just RecvTimeOut -> Just ((#const SOL_SOCKET), (#const SO_RCVTIMEO))+#endif+#ifdef SO_SNDTIMEO+ Just SendTimeOut -> Just ((#const SOL_SOCKET), (#const SO_SNDTIMEO))+#endif+#ifdef SO_USELOOPBACK+ Just UseLoopBack -> Just ((#const SOL_SOCKET), (#const SO_USELOOPBACK))+#endif+#endif // SOL_SOCKET+#ifdef IPPROTO_IP+#ifdef IP_TTL+ Just TimeToLive -> Just ((#const IPPROTO_IP), (#const IP_TTL))+#endif+#endif // IPPROTO_IP+#ifdef IPPROTO_TCP+#ifdef TCP_MAXSEG+ Just MaxSegment -> Just ((#const IPPROTO_TCP), (#const TCP_MAXSEG))+#endif+#ifdef TCP_NODELAY+ Just NoDelay -> Nothing -- Just ((#const IPPROTO_TCP), (#const TCP_NODELAY))+#endif+#ifdef TCP_CORK+ Just Cork -> Just ((#const IPPROTO_TCP), (#const TCP_CORK))+#endif+#endif // IPPROTO_TCP+#ifdef IPPROTO_IPV6+#if HAVE_DECL_IPV6_V6ONLY+ Just IPv6Only -> Just ((#const IPPROTO_IPV6), (#const IPV6_V6ONLY))+#endif+#endif // IPPROTO_IPV6+ _ -> Nothing++-- | Return the option level and option value if they exist,+-- otherwise throw an error that begins "Network.Socket." ++ the String+-- parameter+packSocketOption' :: String -> SocketOption -> IO (CInt, CInt)+packSocketOption' caller so = maybe err return (packSocketOption so)+ where+ err = ioError . userError . concat $ ["Network.Socket.", caller,+ ": socket option ", show so, " unsupported on this system"]++-- | Set a socket option that expects an Int value.+-- There is currently no API to set e.g. the timeval socket options+setSocketOption :: Socket+ -> SocketOption -- Option Name+ -> Int -- Option Value+ -> IO ()+setSocketOption (MkSocket s _ _ _ _) so v = do+ (level, opt) <- packSocketOption' "setSocketOption" so+ with (fromIntegral v) $ \ptr_v -> do+ throwSocketErrorIfMinus1_ "setSocketOption" $+ c_setsockopt s level opt ptr_v+ (fromIntegral (sizeOf (undefined :: CInt)))+ return ()+++-- | Get a socket option that gives an Int value.+-- There is currently no API to get e.g. the timeval socket options+getSocketOption :: Socket+ -> SocketOption -- Option Name+ -> IO Int -- Option Value+getSocketOption (MkSocket s _ _ _ _) so = do+ (level, opt) <- packSocketOption' "getSocketOption" so+ alloca $ \ptr_v ->+ with (fromIntegral (sizeOf (undefined :: CInt))) $ \ptr_sz -> do+ throwSocketErrorIfMinus1Retry "getSocketOption" $+ c_getsockopt s level opt ptr_v ptr_sz+ fromIntegral `liftM` peek ptr_v+++#ifdef HAVE_STRUCT_UCRED+-- | Returns the processID, userID and groupID of the socket's peer.+--+-- Only available on platforms that support SO_PEERCRED on domain sockets.+getPeerCred :: Socket -> IO (CUInt, CUInt, CUInt)+getPeerCred sock = do+ let fd = fdSocket sock+ let sz = (fromIntegral (#const sizeof(struct ucred)))+ with sz $ \ ptr_cr ->+ alloca $ \ ptr_sz -> do+ poke ptr_sz sz+ throwSocketErrorIfMinus1Retry "getPeerCred" $+ c_getsockopt fd (#const SOL_SOCKET) (#const SO_PEERCRED) ptr_cr ptr_sz+ pid <- (#peek struct ucred, pid) ptr_cr+ uid <- (#peek struct ucred, uid) ptr_cr+ gid <- (#peek struct ucred, gid) ptr_cr+ return (pid, uid, gid)+#endif++##if !(MIN_VERSION_base(4,3,1))+closeFdWith closer fd = closer fd+##endif++#if defined(DOMAIN_SOCKET_SUPPORT)+-- sending/receiving ancillary socket data; low-level mechanism+-- for transmitting file descriptors, mainly.+sendFd :: Socket -> CInt -> IO ()+sendFd sock outfd = do+ throwSocketErrorWaitWrite sock "sendFd" $+ c_sendFd (fdSocket sock) outfd+ -- Note: If Winsock supported FD-passing, thi would have been+ -- incorrect (since socket FDs need to be closed via closesocket().)+ closeFd outfd++recvFd :: Socket -> IO CInt+recvFd sock = do+ theFd <- throwSocketErrorWaitRead sock "recvFd" $+ c_recvFd (fdSocket sock)+ return theFd++foreign import ccall SAFE_ON_WIN "sendFd" c_sendFd :: CInt -> CInt -> IO CInt+foreign import ccall SAFE_ON_WIN "recvFd" c_recvFd :: CInt -> IO CInt++#endif++-- ---------------------------------------------------------------------------+-- Utility Functions++aNY_PORT :: PortNumber+aNY_PORT = 0++-- | The IPv4 wild card address.++iNADDR_ANY :: HostAddress+iNADDR_ANY = htonl (#const INADDR_ANY)++foreign import CALLCONV unsafe "my_htonl" htonl :: Word32 -> Word32++#if defined(IPV6_SOCKET_SUPPORTNO)+-- | The IPv6 wild card address.++iN6ADDR_ANY :: HostAddress6+iN6ADDR_ANY = (0, 0, 0, 0)+#endif++sOMAXCONN :: Int+sOMAXCONN = #const SOMAXCONN++sOL_SOCKET :: Int+sOL_SOCKET = #const SOL_SOCKET++#ifdef SCM_RIGHTS+sCM_RIGHTS :: Int+sCM_RIGHTS = #const SCM_RIGHTS+#endif++-- | This is the value of SOMAXCONN, typically 128.+-- 128 is good enough for normal network servers but+-- is too small for high performance servers.+maxListenQueue :: Int+maxListenQueue = sOMAXCONN++-- -----------------------------------------------------------------------------++data ShutdownCmd+ = ShutdownReceive+ | ShutdownSend+ | ShutdownBoth+ deriving Typeable++sdownCmdToInt :: ShutdownCmd -> CInt+sdownCmdToInt ShutdownReceive = 0+sdownCmdToInt ShutdownSend = 1+sdownCmdToInt ShutdownBoth = 2++-- | Shut down one or both halves of the connection, depending on the+-- second argument to the function. If the second argument is+-- 'ShutdownReceive', further receives are disallowed. If it is+-- 'ShutdownSend', further sends are disallowed. If it is+-- 'ShutdownBoth', further sends and receives are disallowed.+shutdown :: Socket -> ShutdownCmd -> IO ()+shutdown (MkSocket s _ _ _ _) stype = do+ throwSocketErrorIfMinus1Retry "shutdown" (c_shutdown s (sdownCmdToInt stype))+ return ()++-- -----------------------------------------------------------------------------++-- | Close the socket. All future operations on the socket object+-- will fail. The remote end will receive no more data (after queued+-- data is flushed).+close :: Socket -> IO ()+close (MkSocket s _ _ _ socketStatus) = do+ modifyMVar_ socketStatus $ \ status ->+ case status of+ ConvertedToHandle ->+ ioError (userError ("close: converted to a Handle, use hClose instead"))+ Closed ->+ return status+ _ -> closeFdWith (closeFd . fromIntegral) (fromIntegral s) >> return Closed++-- -----------------------------------------------------------------------------++isConnected :: Socket -> IO Bool+isConnected (MkSocket _ _ _ _ status) = do+ value <- readMVar status+ return (value == Connected)++-- -----------------------------------------------------------------------------+-- Socket Predicates++isBound :: Socket -> IO Bool+isBound (MkSocket _ _ _ _ status) = do+ value <- readMVar status+ return (value == Bound)++isListening :: Socket -> IO Bool+isListening (MkSocket _ _ _ _ status) = do+ value <- readMVar status+ return (value == Listening)++isReadable :: Socket -> IO Bool+isReadable (MkSocket _ _ _ _ status) = do+ value <- readMVar status+ return (value == Listening || value == Connected)++isWritable :: Socket -> IO Bool+isWritable = isReadable -- sort of.++isAcceptable :: Socket -> IO Bool+#if defined(DOMAIN_SOCKET_SUPPORT)+isAcceptable (MkSocket _ AF_UNIX x _ status)+ | x == Stream || x == SeqPacket = do+ value <- readMVar status+ return (value == Connected || value == Bound || value == Listening)+isAcceptable (MkSocket _ AF_UNIX _ _ _) = return False+#endif+isAcceptable (MkSocket _ _ _ _ status) = do+ value <- readMVar status+ return (value == Connected || value == Listening)++-- -----------------------------------------------------------------------------+-- Internet address manipulation routines:++inet_addr :: String -> IO HostAddress+inet_addr ipstr = do+ withCString ipstr $ \str -> do+ had <- c_inet_addr str+ if had == -1+ then ioError (userError ("inet_addr: Malformed address: " ++ ipstr))+ else return had -- network byte order++inet_ntoa :: HostAddress -> IO String+inet_ntoa haddr = do+ pstr <- c_inet_ntoa haddr+ peekCString pstr++-- | Turns a Socket into an 'Handle'. By default, the new handle is+-- unbuffered. Use 'System.IO.hSetBuffering' to change the buffering.+--+-- Note that since a 'Handle' is automatically closed by a finalizer+-- when it is no longer referenced, you should avoid doing any more+-- operations on the 'Socket' after calling 'socketToHandle'. To+-- close the 'Socket' after 'socketToHandle', call 'System.IO.hClose'+-- on the 'Handle'.++#ifndef __PARALLEL_HASKELL__+socketToHandle :: Socket -> IOMode -> IO Handle+socketToHandle s@(MkSocket fd _ _ _ socketStatus) mode = do+ modifyMVar socketStatus $ \ status ->+ if status == ConvertedToHandle+ then ioError (userError ("socketToHandle: already a Handle"))+ else do+# if __GLASGOW_HASKELL__ >= 611+ h <- fdToHandle' (fromIntegral fd) (Just GHC.IO.Device.Stream) True (show s) mode True{-bin-}+# elif __GLASGOW_HASKELL__ >= 608+ h <- fdToHandle' (fromIntegral fd) (Just System.Posix.Internals.Stream) True (show s) mode True{-bin-}+# elif __GLASGOW_HASKELL__ < 608+ h <- openFd (fromIntegral fd) (Just System.Posix.Internals.Stream) True (show s) mode True{-bin-}+# endif+ hSetBuffering h NoBuffering+ return (ConvertedToHandle, h)+#else+socketToHandle (MkSocket s family stype protocol status) m =+ error "socketToHandle not implemented in a parallel setup"+#endif++-- | Pack a list of values into a bitmask. The possible mappings from+-- value to bit-to-set are given as the first argument. We assume+-- that each value can cause exactly one bit to be set; unpackBits will+-- break if this property is not true.++packBits :: (Eq a, Num b, Bits b) => [(a, b)] -> [a] -> b++packBits mapping xs = foldl' pack 0 mapping+ where pack acc (k, v) | k `elem` xs = acc .|. v+ | otherwise = acc++-- | Unpack a bitmask into a list of values.++unpackBits :: (Num b, Bits b) => [(a, b)] -> b -> [a]++-- Be permissive and ignore unknown bit values. At least on OS X,+-- getaddrinfo returns an ai_flags field with bits set that have no+-- entry in <netdb.h>.+unpackBits [] _ = []+unpackBits ((k,v):xs) r+ | r .&. v /= 0 = k : unpackBits xs (r .&. complement v)+ | otherwise = unpackBits xs r++-----------------------------------------------------------------------------+-- Address and service lookups++#if defined(IPV6_SOCKET_SUPPORT) || 1++-- | Flags that control the querying behaviour of 'getAddrInfo'.+data AddrInfoFlag+ = AI_ADDRCONFIG+ | AI_ALL+ | AI_CANONNAME+ | AI_NUMERICHOST+ | AI_NUMERICSERV+ | AI_PASSIVE+ | AI_V4MAPPED+ deriving (Eq, Read, Show, Typeable)++aiFlagMapping :: [(AddrInfoFlag, CInt)]++aiFlagMapping =+ [+#if HAVE_DECL_AI_ADDRCONFIG+ (AI_ADDRCONFIG, #const AI_ADDRCONFIG),+#else+ (AI_ADDRCONFIG, 0),+#endif+#if HAVE_DECL_AI_ALL+ (AI_ALL, #const AI_ALL),+#else+ (AI_ALL, 0),+#endif+ (AI_CANONNAME, #const AI_CANONNAME),+ (AI_NUMERICHOST, #const AI_NUMERICHOST),+#if HAVE_DECL_AI_NUMERICSERV+ (AI_NUMERICSERV, #const AI_NUMERICSERV),+#else+ (AI_NUMERICSERV, 0),+#endif+ (AI_PASSIVE, #const AI_PASSIVE),+#if HAVE_DECL_AI_V4MAPPED+ (AI_V4MAPPED, #const AI_V4MAPPED)+#else+ (AI_V4MAPPED, 0)+#endif+ ]++-- | Indicate whether the given 'AddrInfoFlag' will have any effect on+-- this system.+addrInfoFlagImplemented :: AddrInfoFlag -> Bool+addrInfoFlagImplemented f = packBits aiFlagMapping [f] /= 0++data AddrInfo =+ AddrInfo {+ addrFlags :: [AddrInfoFlag],+ addrFamily :: Family,+ addrSocketType :: SocketType,+ addrProtocol :: ProtocolNumber,+ addrAddress :: SockAddr,+ addrCanonName :: Maybe String+ }+ deriving (Eq, Show, Typeable)++instance Storable AddrInfo where+ sizeOf _ = #const sizeof(struct addrinfo)+ alignment _ = alignment (undefined :: CInt)++ peek p = do+ ai_flags <- (#peek struct addrinfo, ai_flags) p+ ai_family <- (#peek struct addrinfo, ai_family) p+ ai_socktype <- (#peek struct addrinfo, ai_socktype) p+ ai_protocol <- (#peek struct addrinfo, ai_protocol) p+ ai_addr <- (#peek struct addrinfo, ai_addr) p >>= peekSockAddr+ ai_canonname_ptr <- (#peek struct addrinfo, ai_canonname) p++ ai_canonname <- if ai_canonname_ptr == nullPtr+ then return Nothing+ else liftM Just $ peekCString ai_canonname_ptr++ socktype <- unpackSocketType' "AddrInfo.peek" ai_socktype+ return (AddrInfo+ {+ addrFlags = unpackBits aiFlagMapping ai_flags,+ addrFamily = unpackFamily ai_family,+ addrSocketType = socktype,+ addrProtocol = ai_protocol,+ addrAddress = ai_addr,+ addrCanonName = ai_canonname+ })++ poke p (AddrInfo flags family socketType protocol _ _) = do+ c_stype <- packSocketTypeOrThrow "AddrInfo.poke" socketType++ (#poke struct addrinfo, ai_flags) p (packBits aiFlagMapping flags)+ (#poke struct addrinfo, ai_family) p (packFamily family)+ (#poke struct addrinfo, ai_socktype) p c_stype+ (#poke struct addrinfo, ai_protocol) p protocol++ -- stuff below is probably not needed, but let's zero it for safety++ (#poke struct addrinfo, ai_addrlen) p (0::CSize)+ (#poke struct addrinfo, ai_addr) p nullPtr+ (#poke struct addrinfo, ai_canonname) p nullPtr+ (#poke struct addrinfo, ai_next) p nullPtr++data NameInfoFlag+ = NI_DGRAM+ | NI_NAMEREQD+ | NI_NOFQDN+ | NI_NUMERICHOST+ | NI_NUMERICSERV+ deriving (Eq, Read, Show, Typeable)++niFlagMapping :: [(NameInfoFlag, CInt)]++niFlagMapping = [(NI_DGRAM, #const NI_DGRAM),+ (NI_NAMEREQD, #const NI_NAMEREQD),+ (NI_NOFQDN, #const NI_NOFQDN),+ (NI_NUMERICHOST, #const NI_NUMERICHOST),+ (NI_NUMERICSERV, #const NI_NUMERICSERV)]++-- | Default hints for address lookup with 'getAddrInfo'. The values+-- of the 'addrAddress' and 'addrCanonName' fields are 'undefined',+-- and are never inspected by 'getAddrInfo'.++defaultHints :: AddrInfo++defaultHints = AddrInfo {+ addrFlags = [],+ addrFamily = AF_UNSPEC,+ addrSocketType = NoSocketType,+ addrProtocol = defaultProtocol,+ addrAddress = undefined,+ addrCanonName = undefined+ }++-- | Resolve a host or service name to one or more addresses.+-- The 'AddrInfo' values that this function returns contain 'SockAddr'+-- values that you can pass directly to 'connect' or+-- 'bind'.+--+-- This function is protocol independent. It can return both IPv4 and+-- IPv6 address information.+--+-- The 'AddrInfo' argument specifies the preferred query behaviour,+-- socket options, or protocol. You can override these conveniently+-- using Haskell's record update syntax on 'defaultHints', for example+-- as follows:+--+-- @+-- myHints = defaultHints { addrFlags = [AI_ADDRCONFIG, AI_CANONNAME] }+-- @+--+-- Values for 'addrFlags' control query behaviour. The supported+-- flags are as follows:+--+-- [@AI_PASSIVE@] If no 'HostName' value is provided, the network+-- address in each 'SockAddr'+-- will be left as a "wild card", i.e. as either 'iNADDR_ANY'+-- or 'iN6ADDR_ANY'. This is useful for server applications that+-- will accept connections from any client.+--+-- [@AI_CANONNAME@] The 'addrCanonName' field of the first returned+-- 'AddrInfo' will contain the "canonical name" of the host.+--+-- [@AI_NUMERICHOST@] The 'HostName' argument /must/ be a numeric+-- address in string form, and network name lookups will not be+-- attempted.+--+-- /Note/: Although the following flags are required by RFC 3493, they+-- may not have an effect on all platforms, because the underlying+-- network stack may not support them. To see whether a flag from the+-- list below will have any effect, call 'addrInfoFlagImplemented'.+--+-- [@AI_NUMERICSERV@] The 'ServiceName' argument /must/ be a port+-- number in string form, and service name lookups will not be+-- attempted.+--+-- [@AI_ADDRCONFIG@] The list of returned 'AddrInfo' values will+-- only contain IPv4 addresses if the local system has at least+-- one IPv4 interface configured, and likewise for IPv6.+--+-- [@AI_V4MAPPED@] If an IPv6 lookup is performed, and no IPv6+-- addresses are found, IPv6-mapped IPv4 addresses will be+-- returned.+--+-- [@AI_ALL@] If 'AI_ALL' is specified, return all matching IPv6 and+-- IPv4 addresses. Otherwise, this flag has no effect.+--+-- You must provide a 'Just' value for at least one of the 'HostName'+-- or 'ServiceName' arguments. 'HostName' can be either a numeric+-- network address (dotted quad for IPv4, colon-separated hex for+-- IPv6) or a hostname. In the latter case, its addresses will be+-- looked up unless 'AI_NUMERICHOST' is specified as a hint. If you+-- do not provide a 'HostName' value /and/ do not set 'AI_PASSIVE' as+-- a hint, network addresses in the result will contain the address of+-- the loopback interface.+--+-- If the query fails, this function throws an IO exception instead of+-- returning an empty list. Otherwise, it returns a non-empty list+-- of 'AddrInfo' values.+--+-- There are several reasons why a query might result in several+-- values. For example, the queried-for host could be multihomed, or+-- the service might be available via several protocols.+--+-- Note: the order of arguments is slightly different to that defined+-- for @getaddrinfo@ in RFC 2553. The 'AddrInfo' parameter comes first+-- to make partial application easier.+--+-- Example:+-- @+-- let hints = defaultHints { addrFlags = [AI_ADDRCONFIG, AI_CANONNAME] }+-- addrs <- getAddrInfo (Just hints) (Just "www.haskell.org") (Just "http")+-- let addr = head addrs+-- sock <- socket (addrFamily addr) (addrSocketType addr) (addrProtocol addr)+-- connect sock (addrAddress addr)+-- @++getAddrInfo :: Maybe AddrInfo -- ^ preferred socket type or protocol+ -> Maybe HostName -- ^ host name to look up+ -> Maybe ServiceName -- ^ service name to look up+ -> IO [AddrInfo] -- ^ resolved addresses, with "best" first++getAddrInfo hints node service =+ maybeWith withCString node $ \c_node ->+ maybeWith withCString service $ \c_service ->+ maybeWith with filteredHints $ \c_hints ->+ alloca $ \ptr_ptr_addrs -> do+ ret <- c_getaddrinfo c_node c_service c_hints ptr_ptr_addrs+ case ret of+ 0 -> do ptr_addrs <- peek ptr_ptr_addrs+ ais <- followAddrInfo ptr_addrs+ c_freeaddrinfo ptr_addrs+ return ais+ _ -> do err <- gai_strerror ret+ ioError (ioeSetErrorString+ (mkIOError NoSuchThing "getAddrInfo" Nothing+ Nothing) err)+ -- Leaving out the service and using AI_NUMERICSERV causes a+ -- segfault on OS X 10.8.2. This code removes AI_NUMERICSERV+ -- (which has no effect) in that case.+ where+#if defined(darwin_HOST_OS)+ filteredHints = case service of+ Nothing -> fmap (\ h -> h { addrFlags = delete AI_NUMERICSERV (addrFlags h) }) hints+ _ -> hints+#else+ filteredHints = hints+#endif++followAddrInfo :: Ptr AddrInfo -> IO [AddrInfo]++followAddrInfo ptr_ai | ptr_ai == nullPtr = return []+ | otherwise = do+ a <- peek ptr_ai+ as <- (#peek struct addrinfo, ai_next) ptr_ai >>= followAddrInfo+ return (a:as)++foreign import ccall safe "hsnet_getaddrinfo"+ c_getaddrinfo :: CString -> CString -> Ptr AddrInfo -> Ptr (Ptr AddrInfo)+ -> IO CInt++foreign import ccall safe "hsnet_freeaddrinfo"+ c_freeaddrinfo :: Ptr AddrInfo -> IO ()++gai_strerror :: CInt -> IO String++#ifdef HAVE_GAI_STRERROR+gai_strerror n = c_gai_strerror n >>= peekCString++foreign import ccall safe "gai_strerror"+ c_gai_strerror :: CInt -> IO CString+#else+gai_strerror n = return ("error " ++ show n)+#endif++withCStringIf :: Bool -> Int -> (CSize -> CString -> IO a) -> IO a+withCStringIf False _ f = f 0 nullPtr+withCStringIf True n f = allocaBytes n (f (fromIntegral n))++-- | Resolve an address to a host or service name.+-- This function is protocol independent.+--+-- The list of 'NameInfoFlag' values controls query behaviour. The+-- supported flags are as follows:+--+-- [@NI_NOFQDN@] If a host is local, return only the+-- hostname part of the FQDN.+--+-- [@NI_NUMERICHOST@] The name of the host is not+-- looked up. Instead, a numeric representation of the host's+-- address is returned. For an IPv4 address, this will be a+-- dotted-quad string. For IPv6, it will be colon-separated+-- hexadecimal.+--+-- [@NI_NUMERICSERV@] The name of the service is not+-- looked up. Instead, a numeric representation of the+-- service is returned.+--+-- [@NI_NAMEREQD@] If the hostname cannot be looked up, an IO error+-- is thrown.+--+-- [@NI_DGRAM@] Resolve a datagram-based service name. This is+-- required only for the few protocols that have different port+-- numbers for their datagram-based versions than for their+-- stream-based versions.+--+-- Hostname and service name lookups can be expensive. You can+-- specify which lookups to perform via the two 'Bool' arguments. If+-- one of these is 'False', the corresponding value in the returned+-- tuple will be 'Nothing', and no lookup will be performed.+--+-- If a host or service's name cannot be looked up, then the numeric+-- form of the address or service will be returned.+--+-- If the query fails, this function throws an IO exception.+--+-- Example:+-- @+-- (hostName, _) <- getNameInfo [] True False myAddress+-- @++getNameInfo :: [NameInfoFlag] -- ^ flags to control lookup behaviour+ -> Bool -- ^ whether to look up a hostname+ -> Bool -- ^ whether to look up a service name+ -> SockAddr -- ^ the address to look up+ -> IO (Maybe HostName, Maybe ServiceName)++getNameInfo flags doHost doService addr =+ withCStringIf doHost (#const NI_MAXHOST) $ \c_hostlen c_host ->+ withCStringIf doService (#const NI_MAXSERV) $ \c_servlen c_serv -> do+ withSockAddr addr $ \ptr_addr sz -> do+ ret <- c_getnameinfo ptr_addr (fromIntegral sz) c_host c_hostlen+ c_serv c_servlen (packBits niFlagMapping flags)+ case ret of+ 0 -> do+ let peekIf doIf c_val = if doIf+ then liftM Just $ peekCString c_val+ else return Nothing+ host <- peekIf doHost c_host+ serv <- peekIf doService c_serv+ return (host, serv)+ _ -> do err <- gai_strerror ret+ ioError (ioeSetErrorString+ (mkIOError NoSuchThing "getNameInfo" Nothing+ Nothing) err)++foreign import ccall safe "hsnet_getnameinfo"+ c_getnameinfo :: Ptr SockAddr -> CInt{-CSockLen???-} -> CString -> CSize -> CString+ -> CSize -> CInt -> IO CInt+#endif++mkInvalidRecvArgError :: String -> IOError+mkInvalidRecvArgError loc = ioeSetErrorString (mkIOError+ InvalidArgument+ loc Nothing Nothing) "non-positive length"++mkEOFError :: String -> IOError+mkEOFError loc = ioeSetErrorString (mkIOError EOF loc Nothing Nothing) "end of file"++-- ---------------------------------------------------------------------------+-- foreign imports from the C library++foreign import ccall unsafe "my_inet_ntoa"+ c_inet_ntoa :: HostAddress -> IO (Ptr CChar)++foreign import CALLCONV unsafe "inet_addr"+ c_inet_addr :: Ptr CChar -> IO HostAddress++foreign import CALLCONV unsafe "shutdown"+ c_shutdown :: CInt -> CInt -> IO CInt++closeFd :: CInt -> IO ()+closeFd fd = throwSocketErrorIfMinus1_ "Network.Socket.close" $ c_close fd++#if !defined(WITH_WINSOCK)+foreign import ccall unsafe "close"+ c_close :: CInt -> IO CInt+#else+foreign import stdcall unsafe "closesocket"+ c_close :: CInt -> IO CInt+#endif++foreign import CALLCONV unsafe "socket"+ c_socket :: CInt -> CInt -> CInt -> IO CInt+foreign import CALLCONV unsafe "bind"+ c_bind :: CInt -> Ptr SockAddr -> CInt{-CSockLen???-} -> IO CInt+foreign import CALLCONV SAFE_ON_WIN "connect"+ c_connect :: CInt -> Ptr SockAddr -> CInt{-CSockLen???-} -> IO CInt+foreign import CALLCONV unsafe "accept"+ c_accept :: CInt -> Ptr SockAddr -> Ptr CInt{-CSockLen???-} -> IO CInt+#if 0+foreign import CALLCONV unsafe "accept4"+ c_accept4 :: CInt -> Ptr SockAddr -> Ptr CInt{-CSockLen???-} -> CInt -> IO CInt+#endif+foreign import CALLCONV unsafe "listen"+ c_listen :: CInt -> CInt -> IO CInt++#if defined(mingw32_HOST_OS)+foreign import CALLCONV safe "accept"+ c_accept_safe :: CInt -> Ptr SockAddr -> Ptr CInt{-CSockLen???-} -> IO CInt++foreign import ccall unsafe "rtsSupportsBoundThreads" threaded :: Bool+#endif++foreign import CALLCONV unsafe "send"+ c_send :: CInt -> Ptr a -> CSize -> CInt -> IO CInt+foreign import CALLCONV SAFE_ON_WIN "sendto"+ c_sendto :: CInt -> Ptr a -> CSize -> CInt -> Ptr SockAddr -> CInt -> IO CInt+foreign import CALLCONV unsafe "recv"+ c_recv :: CInt -> Ptr CChar -> CSize -> CInt -> IO CInt+foreign import CALLCONV SAFE_ON_WIN "recvfrom"+ c_recvfrom :: CInt -> Ptr a -> CSize -> CInt -> Ptr SockAddr -> Ptr CInt -> IO CInt+foreign import CALLCONV unsafe "getpeername"+ c_getpeername :: CInt -> Ptr SockAddr -> Ptr CInt -> IO CInt+foreign import CALLCONV unsafe "getsockname"+ c_getsockname :: CInt -> Ptr SockAddr -> Ptr CInt -> IO CInt++foreign import CALLCONV unsafe "getsockopt"+ c_getsockopt :: CInt -> CInt -> CInt -> Ptr CInt -> Ptr CInt -> IO CInt+foreign import CALLCONV unsafe "setsockopt"+ c_setsockopt :: CInt -> CInt -> CInt -> Ptr CInt -> CInt -> IO CInt++-- ---------------------------------------------------------------------------+-- * Deprecated aliases++-- $deprecated-aliases+--+-- These aliases are deprecated and should not be used in new code.+-- They will be removed in some future version of the package.++-- | Deprecated alias for 'bind'.+bindSocket :: Socket -- Unconnected Socket+ -> SockAddr -- Address to Bind to+ -> IO ()+bindSocket = bind++-- | Deprecated alias for 'close'.+sClose :: Socket -> IO ()+sClose = close++-- | Deprecated alias for 'isConnected'.+sIsConnected :: Socket -> IO Bool+sIsConnected = isConnected++-- | Deprecated alias for 'isBound'.+sIsBound :: Socket -> IO Bool+sIsBound = isBound++-- | Deprecated alias for 'isListening'.+sIsListening :: Socket -> IO Bool+sIsListening = isListening++-- | Deprecated alias for 'isReadable'.+sIsReadable :: Socket -> IO Bool+sIsReadable = isReadable++-- | Deprecated alias for 'isWritable'.+sIsWritable :: Socket -> IO Bool+sIsWritable = isWritable
+ standalone/android/tmp/network-2.4.1.2/Network/Socket/ByteString.hsc view
@@ -0,0 +1,374 @@+{-# LANGUAGE CPP, ForeignFunctionInterface #-}++#include "HsNet.h"++-- |+-- Module : Network.Socket.ByteString+-- Copyright : (c) Johan Tibell 2007-2010+-- License : BSD-style+--+-- Maintainer : johan.tibell@gmail.com+-- Stability : stable+-- Portability : portable+--+-- This module provides access to the BSD /socket/ interface. This+-- module is generally more efficient than the 'String' based network+-- functions in 'Network.Socket'. For detailed documentation, consult+-- your favorite POSIX socket reference. All functions communicate+-- failures by converting the error number to 'System.IO.IOError'.+--+-- This module is made to be imported with 'Network.Socket' like so:+--+-- > import Network.Socket hiding (send, sendTo, recv, recvFrom)+-- > import Network.Socket.ByteString+--+module Network.Socket.ByteString+ ( + -- * Send data to a socket+ send+ , sendAll+ , sendTo+ , sendAllTo++ -- ** Vectored I/O+ -- $vectored+ , sendMany+ , sendManyTo++ -- * Receive data from a socket+ , recv+ , recvFrom++ -- * Example+ -- $example+ ) where++import Control.Monad (liftM, when)+import Data.ByteString (ByteString)+import Data.ByteString.Internal (createAndTrim)+import Data.ByteString.Unsafe (unsafeUseAsCStringLen)+import Data.Word (Word8)+#if __GLASGOW_HASKELL__ >= 703+import Foreign.C.Types (CInt(..))+#else+import Foreign.C.Types (CInt)+#endif+import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Ptr (Ptr, castPtr)+import Network.Socket (SockAddr, Socket(..), sendBufTo, recvBufFrom)++import qualified Data.ByteString as B++import Network.Socket.ByteString.Internal+import Network.Socket.Internal+import Network.Socket.Types++#if !defined(mingw32_HOST_OS)+import Control.Monad (zipWithM_)+import Foreign.C.Types (CChar)+# if __GLASGOW_HASKELL__ >= 703+import Foreign.C.Types (CSize(..))+# else+import Foreign.C.Types (CSize)+# endif+import Foreign.Marshal.Array (allocaArray)+import Foreign.Marshal.Utils (with)+import Foreign.Ptr (plusPtr)+import Foreign.Storable (Storable(..))++import Network.Socket.ByteString.IOVec (IOVec(..))+import Network.Socket.ByteString.MsgHdr (MsgHdr(..))++import GHC.Conc (threadWaitRead, threadWaitWrite)+#else+# if __GLASGOW_HASKELL__ >= 611+import GHC.IO.FD+# else+import GHC.Handle (readRawBufferPtr, writeRawBufferPtr)+# endif+#endif++#if !defined(mingw32_HOST_OS)+foreign import CALLCONV unsafe "send"+ c_send :: CInt -> Ptr a -> CSize -> CInt -> IO CInt+foreign import CALLCONV unsafe "recv"+ c_recv :: CInt -> Ptr CChar -> CSize -> CInt -> IO CInt+#endif++-- ----------------------------------------------------------------------------+-- Sending++-- | Send data to the socket. The socket must be connected to a+-- remote socket. Returns the number of bytes sent. Applications are+-- responsible for ensuring that all data has been sent.+send :: Socket -- ^ Connected socket+ -> ByteString -- ^ Data to send+ -> IO Int -- ^ Number of bytes sent+send sock@(MkSocket s _ _ _ _) xs =+ unsafeUseAsCStringLen xs $ \(str, len) ->+ liftM fromIntegral $+#if defined(mingw32_HOST_OS)+# if __GLASGOW_HASKELL__ >= 611+ writeRawBufferPtr "Network.Socket.ByteString.send"+ (FD s 1) (castPtr str) 0 (fromIntegral len)+# else+ writeRawBufferPtr "Network.Socket.ByteString.send"+ (fromIntegral s) True str 0 (fromIntegral len)+# endif+#else+ throwSocketErrorWaitWrite sock "send" $+ c_send s str (fromIntegral len) 0+#endif++-- | Send data to the socket. The socket must be connected to a+-- remote socket. Unlike 'send', this function continues to send data+-- until either all data has been sent or an error occurs. On error,+-- an exception is raised, and there is no way to determine how much+-- data, if any, was successfully sent.+sendAll :: Socket -- ^ Connected socket+ -> ByteString -- ^ Data to send+ -> IO ()+sendAll sock bs = do+ sent <- send sock bs+ when (sent < B.length bs) $ sendAll sock (B.drop sent bs)++-- | Send data to the socket. The recipient can be specified+-- explicitly, so the socket need not be in a connected state.+-- Returns the number of bytes sent. Applications are responsible for+-- ensuring that all data has been sent.+sendTo :: Socket -- ^ Socket+ -> ByteString -- ^ Data to send+ -> SockAddr -- ^ Recipient address+ -> IO Int -- ^ Number of bytes sent+sendTo sock xs addr =+ unsafeUseAsCStringLen xs $ \(str, len) -> sendBufTo sock str len addr++-- | Send data to the socket. The recipient can be specified+-- explicitly, so the socket need not be in a connected state. Unlike+-- 'sendTo', this function continues to send data until either all+-- data has been sent or an error occurs. On error, an exception is+-- raised, and there is no way to determine how much data, if any, was+-- successfully sent.+sendAllTo :: Socket -- ^ Socket+ -> ByteString -- ^ Data to send+ -> SockAddr -- ^ Recipient address+ -> IO ()+sendAllTo sock xs addr = do+ sent <- sendTo sock xs addr+ when (sent < B.length xs) $ sendAllTo sock (B.drop sent xs) addr++-- ----------------------------------------------------------------------------+-- ** Vectored I/O++-- $vectored+--+-- Vectored I\/O, also known as scatter\/gather I\/O, allows multiple+-- data segments to be sent using a single system call, without first+-- concatenating the segments. For example, given a list of+-- @ByteString@s, @xs@,+--+-- > sendMany sock xs+--+-- is equivalent to+--+-- > sendAll sock (concat xs)+--+-- but potentially more efficient.+--+-- Vectored I\/O are often useful when implementing network protocols+-- that, for example, group data into segments consisting of one or+-- more fixed-length headers followed by a variable-length body.++-- | Send data to the socket. The socket must be in a connected+-- state. The data is sent as if the parts have been concatenated.+-- This function continues to send data until either all data has been+-- sent or an error occurs. On error, an exception is raised, and+-- there is no way to determine how much data, if any, was+-- successfully sent.+sendMany :: Socket -- ^ Connected socket+ -> [ByteString] -- ^ Data to send+ -> IO ()+#if !defined(mingw32_HOST_OS)+sendMany sock@(MkSocket fd _ _ _ _) cs = do+ sent <- sendManyInner+ when (sent < totalLength cs) $ sendMany sock (remainingChunks sent cs)+ where+ sendManyInner =+ liftM fromIntegral . withIOVec cs $ \(iovsPtr, iovsLen) ->+ throwSocketErrorWaitWrite sock "writev" $+ c_writev (fromIntegral fd) iovsPtr+ (fromIntegral (min iovsLen (0x0026)))+#else+sendMany sock = sendAll sock . B.concat+#endif++-- | Send data to the socket. The recipient can be specified+-- explicitly, so the socket need not be in a connected state. The+-- data is sent as if the parts have been concatenated. This function+-- continues to send data until either all data has been sent or an+-- error occurs. On error, an exception is raised, and there is no+-- way to determine how much data, if any, was successfully sent.+sendManyTo :: Socket -- ^ Socket+ -> [ByteString] -- ^ Data to send+ -> SockAddr -- ^ Recipient address+ -> IO ()+#if !defined(mingw32_HOST_OS)+sendManyTo sock@(MkSocket fd _ _ _ _) cs addr = do+ sent <- liftM fromIntegral sendManyToInner+ when (sent < totalLength cs) $ sendManyTo sock (remainingChunks sent cs) addr+ where+ sendManyToInner =+ withSockAddr addr $ \addrPtr addrSize ->+ withIOVec cs $ \(iovsPtr, iovsLen) -> do+ let msgHdr = MsgHdr+ addrPtr (fromIntegral addrSize)+ iovsPtr (fromIntegral iovsLen)+ with msgHdr $ \msgHdrPtr ->+ throwSocketErrorWaitWrite sock "sendmsg" $+ c_sendmsg (fromIntegral fd) msgHdrPtr 0+#else+sendManyTo sock cs = sendAllTo sock (B.concat cs)+#endif++-- ----------------------------------------------------------------------------+-- Receiving++-- | Receive data from the socket. The socket must be in a connected+-- state. This function may return fewer bytes than specified. If+-- the message is longer than the specified length, it may be+-- discarded depending on the type of socket. This function may block+-- until a message arrives.+--+-- Considering hardware and network realities, the maximum number of bytes to+-- receive should be a small power of 2, e.g., 4096.+--+-- For TCP sockets, a zero length return value means the peer has+-- closed its half side of the connection.+recv :: Socket -- ^ Connected socket+ -> Int -- ^ Maximum number of bytes to receive+ -> IO ByteString -- ^ Data received+recv sock nbytes+ | nbytes < 0 = ioError (mkInvalidRecvArgError "Network.Socket.ByteString.recv")+ | otherwise = createAndTrim nbytes $ recvInner sock nbytes++recvInner :: Socket -> Int -> Ptr Word8 -> IO Int+recvInner sock nbytes ptr =+ fmap fromIntegral $+#if defined(mingw32_HOST_OS)+# if __GLASGOW_HASKELL__ >= 611+ readRawBufferPtr "Network.Socket.ByteString.recv" (FD s 1) ptr 0 (fromIntegral nbytes)+# else+ readRawBufferPtr "Network.Socket.ByteString.recv" (fromIntegral s)+ True (castPtr ptr) 0 (fromIntegral nbytes)+# endif+#else+ throwSocketErrorWaitRead sock "recv" $+ c_recv s (castPtr ptr) (fromIntegral nbytes) 0+#endif+ where+ s = sockFd sock++-- | Receive data from the socket. The socket need not be in a+-- connected state. Returns @(bytes, address)@ where @bytes@ is a+-- 'ByteString' representing the data received and @address@ is a+-- 'SockAddr' representing the address of the sending socket.+recvFrom :: Socket -- ^ Socket+ -> Int -- ^ Maximum number of bytes to receive+ -> IO (ByteString, SockAddr) -- ^ Data received and sender address+recvFrom sock nbytes =+ allocaBytes nbytes $ \ptr -> do+ (len, sockaddr) <- recvBufFrom sock ptr nbytes+ str <- B.packCStringLen (ptr, len)+ return (str, sockaddr)++-- ----------------------------------------------------------------------------+-- Not exported++#if !defined(mingw32_HOST_OS)+-- | Suppose we try to transmit a list of chunks @cs@ via a gathering write+-- operation and find that @n@ bytes were sent. Then @remainingChunks n cs@ is+-- list of chunks remaining to be sent.+remainingChunks :: Int -> [ByteString] -> [ByteString]+remainingChunks _ [] = []+remainingChunks i (x:xs)+ | i < len = B.drop i x : xs+ | otherwise = let i' = i - len in i' `seq` remainingChunks i' xs+ where+ len = B.length x++-- | @totalLength cs@ is the sum of the lengths of the chunks in the list @cs@.+totalLength :: [ByteString] -> Int+totalLength = sum . map B.length++-- | @withIOVec cs f@ executes the computation @f@, passing as argument a pair+-- consisting of a pointer to a temporarily allocated array of pointers to+-- 'IOVec' made from @cs@ and the number of pointers (@length cs@).+-- /Unix only/.+withIOVec :: [ByteString] -> ((Ptr IOVec, Int) -> IO a) -> IO a+withIOVec cs f =+ allocaArray csLen $ \aPtr -> do+ zipWithM_ pokeIov (ptrs aPtr) cs+ f (aPtr, csLen)+ where+ csLen = length cs+ ptrs = iterate (`plusPtr` sizeOf (undefined :: IOVec))+ pokeIov ptr s =+ unsafeUseAsCStringLen s $ \(sPtr, sLen) ->+ poke ptr $ IOVec sPtr (fromIntegral sLen)+#endif++-- ---------------------------------------------------------------------+-- Example++-- $example+--+-- Here are two minimal example programs using the TCP/IP protocol: a+-- server that echoes all data that it receives back (servicing only+-- one client) and a client using it.+--+-- > -- Echo server program+-- > module Main where+-- >+-- > import Control.Monad (unless)+-- > import Network.Socket hiding (recv)+-- > import qualified Data.ByteString as S+-- > import Network.Socket.ByteString (recv, sendAll)+-- >+-- > main :: IO ()+-- > main = withSocketsDo $+-- > do addrinfos <- getAddrInfo+-- > (Just (defaultHints {addrFlags = [AI_PASSIVE]}))+-- > Nothing (Just "3000")+-- > let serveraddr = head addrinfos+-- > sock <- socket (addrFamily serveraddr) Stream defaultProtocol+-- > bindSocket sock (addrAddress serveraddr)+-- > listen sock 1+-- > (conn, _) <- accept sock+-- > talk conn+-- > sClose conn+-- > sClose sock+-- >+-- > where+-- > talk :: Socket -> IO ()+-- > talk conn =+-- > do msg <- recv conn 1024+-- > unless (S.null msg) $ sendAll conn msg >> talk conn+--+-- > -- Echo client program+-- > module Main where+-- >+-- > import Network.Socket hiding (recv)+-- > import Network.Socket.ByteString (recv, sendAll)+-- > import qualified Data.ByteString.Char8 as C+-- >+-- > main :: IO ()+-- > main = withSocketsDo $+-- > do addrinfos <- getAddrInfo Nothing (Just "") (Just "3000")+-- > let serveraddr = head addrinfos+-- > sock <- socket (addrFamily serveraddr) Stream defaultProtocol+-- > connect sock (addrAddress serveraddr)+-- > sendAll sock $ C.pack "Hello, world!"+-- > msg <- recv sock 1024+-- > sClose sock+-- > putStr "Received "+-- > C.putStrLn msg
+ standalone/android/tmp/network-2.4.1.2/Network/Socket/ByteString/IOVec.hsc view
@@ -0,0 +1,30 @@+{-# OPTIONS_GHC -funbox-strict-fields #-}++-- | Support module for the POSIX writev system call.+module Network.Socket.ByteString.IOVec+ ( IOVec(..)+ ) where++import Foreign.C.Types (CChar, CInt, CSize)+import Foreign.Ptr (Ptr)+import Foreign.Storable (Storable(..))++#include <sys/uio.h>++data IOVec = IOVec+ { iovBase :: !(Ptr CChar)+ , iovLen :: !CSize+ }++instance Storable IOVec where+ sizeOf _ = (#const sizeof(struct iovec))+ alignment _ = alignment (undefined :: CInt)++ peek p = do+ base <- (#peek struct iovec, iov_base) p+ len <- (#peek struct iovec, iov_len) p+ return $ IOVec base len++ poke p iov = do+ (#poke struct iovec, iov_base) p (iovBase iov)+ (#poke struct iovec, iov_len) p (iovLen iov)
+ standalone/android/tmp/network-2.4.1.2/Network/Socket/ByteString/Internal.hs view
@@ -0,0 +1,54 @@+{-# LANGUAGE CPP, ForeignFunctionInterface #-}++-- |+-- Module : Network.Socket.ByteString.Internal+-- Copyright : (c) Johan Tibell 2007-2010+-- License : BSD-style+--+-- Maintainer : johan.tibell@gmail.com+-- Stability : stable+-- Portability : portable+--+module Network.Socket.ByteString.Internal+ (+ mkInvalidRecvArgError+#if !defined(mingw32_HOST_OS)+ , c_writev+ , c_sendmsg+#endif+ ) where++import System.IO.Error (ioeSetErrorString, mkIOError)++#if !defined(mingw32_HOST_OS)+# if __GLASGOW_HASKELL__ >= 703+import Foreign.C.Types (CInt(..))+import System.Posix.Types (CSsize(..))+# else+import Foreign.C.Types (CInt)+import System.Posix.Types (CSsize)+# endif+import Foreign.Ptr (Ptr)++import Network.Socket.ByteString.IOVec (IOVec)+import Network.Socket.ByteString.MsgHdr (MsgHdr)+#endif++#if __GLASGOW_HASKELL__ < 611+import GHC.IOBase (IOErrorType(..))+#else+import GHC.IO.Exception (IOErrorType(..))+#endif++mkInvalidRecvArgError :: String -> IOError+mkInvalidRecvArgError loc = ioeSetErrorString (mkIOError+ InvalidArgument+ loc Nothing Nothing) "non-positive length"++#if !defined(mingw32_HOST_OS)+foreign import ccall unsafe "writev"+ c_writev :: CInt -> Ptr IOVec -> CInt -> IO CSsize++foreign import ccall unsafe "sendmsg"+ c_sendmsg :: CInt -> Ptr MsgHdr -> CInt -> IO CSsize+#endif
+ standalone/android/tmp/network-2.4.1.2/Network/Socket/ByteString/Lazy.hsc view
@@ -0,0 +1,149 @@+{-# LANGUAGE BangPatterns, CPP, ForeignFunctionInterface #-}++-- |+-- Module : Network.Socket.ByteString.Lazy+-- Copyright : (c) Bryan O'Sullivan 2009+-- License : BSD-style+--+-- Maintainer : bos@serpentine.com+-- Stability : experimental+-- Portability : POSIX, GHC+--+-- This module provides access to the BSD /socket/ interface. This+-- module is generally more efficient than the 'String' based network+-- functions in 'Network.Socket'. For detailed documentation, consult+-- your favorite POSIX socket reference. All functions communicate+-- failures by converting the error number to 'System.IO.IOError'.+--+-- This module is made to be imported with 'Network.Socket' like so:+--+-- > import Network.Socket hiding (send, sendTo, recv, recvFrom)+-- > import Network.Socket.ByteString.Lazy+-- > import Prelude hiding (getContents)+--+module Network.Socket.ByteString.Lazy+ (+#if !defined(mingw32_HOST_OS)+ -- * Send data to a socket+ send+ , sendAll+ ,+#endif++ -- * Receive data from a socket+ getContents+ , recv+ ) where++import Control.Monad (liftM)+import Data.ByteString.Lazy.Internal (ByteString(..), defaultChunkSize)+import Data.Int (Int64)+import Network.Socket (Socket(..), ShutdownCmd(..), shutdown)+import Prelude hiding (getContents)+import System.IO.Unsafe (unsafeInterleaveIO)++import qualified Data.ByteString as S+import qualified Network.Socket.ByteString as N++#if !defined(mingw32_HOST_OS)+import Control.Monad (unless)+import Data.ByteString.Unsafe (unsafeUseAsCStringLen)+import Foreign.Marshal.Array (allocaArray)+import Foreign.Ptr (plusPtr)+import Foreign.Storable (Storable(..))+import Network.Socket.ByteString.IOVec (IOVec(IOVec))+import Network.Socket.ByteString.Internal (c_writev)+import Network.Socket.Internal++import qualified Data.ByteString.Lazy as L++import GHC.Conc (threadWaitWrite)+#endif++#if !defined(mingw32_HOST_OS)+-- -----------------------------------------------------------------------------+-- Sending++-- | Send data to the socket. The socket must be in a connected state.+-- Returns the number of bytes sent. Applications are responsible for+-- ensuring that all data has been sent.+--+-- Because a lazily generated 'ByteString' may be arbitrarily long,+-- this function caps the amount it will attempt to send at 4MB. This+-- number is large (so it should not penalize performance on fast+-- networks), but not outrageously so (to avoid demanding lazily+-- computed data unnecessarily early). Before being sent, the lazy+-- 'ByteString' will be converted to a list of strict 'ByteString's+-- with 'L.toChunks'; at most 1024 chunks will be sent. /Unix only/.+send :: Socket -- ^ Connected socket+ -> ByteString -- ^ Data to send+ -> IO Int64 -- ^ Number of bytes sent+send sock@(MkSocket fd _ _ _ _) s = do+ let cs = take maxNumChunks (L.toChunks s)+ len = length cs+ liftM fromIntegral . allocaArray len $ \ptr ->+ withPokes cs ptr $ \niovs ->+ throwSocketErrorWaitWrite sock "writev" $+ c_writev (fromIntegral fd) ptr niovs+ where+ withPokes ss p f = loop ss p 0 0+ where loop (c:cs) q k !niovs+ | k < maxNumBytes =+ unsafeUseAsCStringLen c $ \(ptr,len) -> do+ poke q $ IOVec ptr (fromIntegral len)+ loop cs (q `plusPtr` sizeOf (undefined :: IOVec))+ (k + fromIntegral len) (niovs + 1)+ | otherwise = f niovs+ loop _ _ _ niovs = f niovs+ maxNumBytes = 4194304 :: Int -- maximum number of bytes to transmit in one system call+ maxNumChunks = 1024 :: Int -- maximum number of chunks to transmit in one system call++-- | Send data to the socket. The socket must be in a connected+-- state. This function continues to send data until either all data+-- has been sent or an error occurs. If there is an error, an+-- exception is raised, and there is no way to determine how much data+-- was sent. /Unix only/.+sendAll :: Socket -- ^ Connected socket+ -> ByteString -- ^ Data to send+ -> IO ()+sendAll sock bs = do+ sent <- send sock bs+ let bs' = L.drop sent bs+ unless (L.null bs') $ sendAll sock bs'+#endif++-- -----------------------------------------------------------------------------+-- Receiving++-- | Receive data from the socket. The socket must be in a connected+-- state. Data is received on demand, in chunks; each chunk will be+-- sized to reflect the amount of data received by individual 'recv'+-- calls.+--+-- All remaining data from the socket is consumed. When there is no+-- more data to be received, the receiving side of the socket is shut+-- down. If there is an error and an exception is thrown, the socket+-- is not shut down.+getContents :: Socket -- ^ Connected socket+ -> IO ByteString -- ^ Data received+getContents sock = loop where+ loop = unsafeInterleaveIO $ do+ s <- N.recv sock defaultChunkSize+ if S.null s+ then shutdown sock ShutdownReceive >> return Empty+ else Chunk s `liftM` loop++-- | Receive data from the socket. The socket must be in a connected+-- state. This function may return fewer bytes than specified. If+-- the received data is longer than the specified length, it may be+-- discarded depending on the type of socket. This function may block+-- until a message arrives.+--+-- If there is no more data to be received, returns an empty 'ByteString'.+recv :: Socket -- ^ Connected socket+ -> Int64 -- ^ Maximum number of bytes to receive+ -> IO ByteString -- ^ Data received+recv sock nbytes = chunk `liftM` N.recv sock (fromIntegral nbytes) where+ chunk k+ | S.null k = Empty+ | otherwise = Chunk k Empty
+ standalone/android/tmp/network-2.4.1.2/Network/Socket/ByteString/MsgHdr.hsc view
@@ -0,0 +1,48 @@+{-# LANGUAGE CPP #-}+{-# OPTIONS_GHC -funbox-strict-fields #-}++-- | Support module for the POSIX 'sendmsg' system call.+module Network.Socket.ByteString.MsgHdr+ ( MsgHdr(..)+ ) where++#include <sys/types.h>+#include <sys/socket.h>++import Foreign.C.Types (CInt, CSize, CUInt)+import Foreign.Ptr (Ptr)+import Foreign.Storable (Storable(..))+import Network.Socket (SockAddr)+import Network.Socket.Internal (zeroMemory)++import Network.Socket.ByteString.IOVec (IOVec)++-- We don't use msg_control, msg_controllen, and msg_flags as these+-- don't exist on OpenSolaris.+data MsgHdr = MsgHdr+ { msgName :: !(Ptr SockAddr)+ , msgNameLen :: !CUInt+ , msgIov :: !(Ptr IOVec)+ , msgIovLen :: !CSize+ }++instance Storable MsgHdr where+ sizeOf _ = (#const sizeof(struct msghdr))+ alignment _ = alignment (undefined :: CInt)++ peek p = do+ name <- (#peek struct msghdr, msg_name) p+ nameLen <- (#peek struct msghdr, msg_namelen) p+ iov <- (#peek struct msghdr, msg_iov) p+ iovLen <- (#peek struct msghdr, msg_iovlen) p+ return $ MsgHdr name nameLen iov iovLen++ poke p mh = do+ -- We need to zero the msg_control, msg_controllen, and msg_flags+ -- fields, but they only exist on some platforms (e.g. not on+ -- Solaris). Instead of using CPP, we zero the entire struct.+ zeroMemory p (#const sizeof(struct msghdr))+ (#poke struct msghdr, msg_name) p (msgName mh)+ (#poke struct msghdr, msg_namelen) p (msgNameLen mh)+ (#poke struct msghdr, msg_iov) p (msgIov mh)+ (#poke struct msghdr, msg_iovlen) p (msgIovLen mh)
+ standalone/android/tmp/network-2.4.1.2/Network/Socket/Internal.hsc view
@@ -0,0 +1,257 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+-----------------------------------------------------------------------------+-- |+-- Module : Network.Socket.Internal+-- Copyright : (c) The University of Glasgow 2001+-- License : BSD-style (see the file libraries/network/LICENSE)+--+-- Maintainer : libraries@haskell.org+-- Stability : provisional+-- Portability : portable+--+-- A module containing semi-public 'Network.Socket' internals.+-- Modules which extend the 'Network.Socket' module will need to use+-- this module while ideally most users will be able to make do with+-- the public interface.+--+-----------------------------------------------------------------------------++#include "HsNet.h"++module Network.Socket.Internal+ (+ -- * Socket addresses+ HostAddress+#if defined(IPV6_SOCKET_SUPPORTNO)+ , HostAddress6+ , FlowInfo+ , ScopeID+#endif+ , PortNumber(..)+ , SockAddr(..)++ , peekSockAddr+ , pokeSockAddr+ , sizeOfSockAddr+ , sizeOfSockAddrByFamily+ , withSockAddr+ , withNewSockAddr++ -- * Protocol families+ , Family(..)++ -- * Socket error functions+#if defined(HAVE_WINSOCK2_H) && !defined(cygwin32_HOST_OS)+ , c_getLastError+#endif+ , throwSocketError+ , throwSocketErrorCode++ -- * Guards for socket operations that may fail+ , throwSocketErrorIfMinus1_+ , throwSocketErrorIfMinus1Retry+ , throwSocketErrorIfMinus1RetryMayBlock++ -- ** Guards that wait and retry if the operation would block+ -- | These guards are based on 'throwSocketErrorIfMinus1RetryMayBlock'.+ -- They wait for socket readiness if the action fails with @EWOULDBLOCK@+ -- or similar.+ , throwSocketErrorWaitRead+ , throwSocketErrorWaitWrite++ -- * Initialization+ , withSocketsDo++ -- * Low-level helpers+ , zeroMemory+ ) where++import Data.Bits ( (.|.), shiftL, shiftR )+import Data.Word ( Word8, Word16, Word32 )+import Data.Typeable (Typeable)+import Foreign.C.Error (throwErrno, throwErrnoIfMinus1Retry,+ throwErrnoIfMinus1RetryMayBlock, throwErrnoIfMinus1_,+ Errno(..), errnoToIOError)+import Foreign.C.String ( castCharToCChar, peekCString )+#if __GLASGOW_HASKELL__ >= 703+import Foreign.C.Types ( CInt(..), CSize(..) )+#else+import Foreign.C.Types ( CInt, CSize )+#endif+import Foreign.Marshal.Alloc ( allocaBytes )+import Foreign.Marshal.Array ( pokeArray, pokeArray0 )+import Foreign.Ptr ( Ptr, castPtr, plusPtr )+import Foreign.Storable ( Storable(..) )+import GHC.Conc (threadWaitRead, threadWaitWrite)++#if defined(HAVE_WINSOCK2_H) && !defined(cygwin32_HOST_OS)+import Control.Exception ( finally )+# if __GLASGOW_HASKELL__ >= 707+import GHC.IO.Exception ( IOErrorType(..) )+# else+import GHC.IOBase ( IOErrorType(..) )+# endif+import Foreign.C.Types ( CChar )+import System.IO.Error ( ioeSetErrorString, mkIOError )+#endif++import Network.Socket.Types++-- ---------------------------------------------------------------------+-- Guards for socket operations that may fail++-- | Throw an 'IOError' corresponding to the current socket error.+throwSocketError :: String -- ^ textual description of the error location+ -> IO a++-- | Like 'throwSocketError', but the error code is supplied as an argument.+--+-- On Windows, do not use errno. Use a system error code instead.+throwSocketErrorCode :: String -> CInt -> IO a++-- | Throw an 'IOError' corresponding to the current socket error if+-- the IO action returns a result of @-1@. Discards the result of the+-- IO action after error handling.+throwSocketErrorIfMinus1_+ :: (Eq a, Num a)+ => String -- ^ textual description of the location+ -> IO a -- ^ the 'IO' operation to be executed+ -> IO ()++{-# SPECIALIZE throwSocketErrorIfMinus1_ :: String -> IO CInt -> IO () #-}++-- | Throw an 'IOError' corresponding to the current socket error if+-- the IO action returns a result of @-1@, but retries in case of an+-- interrupted operation.+throwSocketErrorIfMinus1Retry+ :: (Eq a, Num a)+ => String -- ^ textual description of the location+ -> IO a -- ^ the 'IO' operation to be executed+ -> IO a++{-# SPECIALIZE throwSocketErrorIfMinus1Retry :: String -> IO CInt -> IO CInt #-}++-- | Throw an 'IOError' corresponding to the current socket error if+-- the IO action returns a result of @-1@, but retries in case of an+-- interrupted operation. Checks for operations that would block and+-- executes an alternative action before retrying in that case.+throwSocketErrorIfMinus1RetryMayBlock+ :: (Eq a, Num a)+ => String -- ^ textual description of the location+ -> IO b -- ^ action to execute before retrying if an+ -- immediate retry would block+ -> IO a -- ^ the 'IO' operation to be executed+ -> IO a++{-# SPECIALIZE throwSocketErrorIfMinus1RetryMayBlock+ :: String -> IO b -> IO CInt -> IO CInt #-}++#if (!defined(HAVE_WINSOCK2_H) || defined(cygwin32_HOST_OS))++throwSocketErrorIfMinus1RetryMayBlock name on_block act =+ throwErrnoIfMinus1RetryMayBlock name act on_block++throwSocketErrorIfMinus1Retry = throwErrnoIfMinus1Retry++throwSocketErrorIfMinus1_ = throwErrnoIfMinus1_++throwSocketError = throwErrno++throwSocketErrorCode loc errno =+ ioError (errnoToIOError loc (Errno errno) Nothing Nothing)++#else++throwSocketErrorIfMinus1RetryMayBlock name _ act+ = throwSocketErrorIfMinus1Retry name act++throwSocketErrorIfMinus1_ name act = do+ throwSocketErrorIfMinus1Retry name act+ return ()++# if defined(HAVE_WINSOCK2_H) && !defined(cygwin32_HOST_OS)+throwSocketErrorIfMinus1Retry name act = do+ r <- act+ if (r == -1)+ then do+ rc <- c_getLastError+ case rc of+ #{const WSANOTINITIALISED} -> do+ withSocketsDo (return ())+ r <- act+ if (r == -1)+ then throwSocketError name+ else return r+ _ -> throwSocketError name+ else return r++throwSocketErrorCode name rc = do+ pstr <- c_getWSError rc+ str <- peekCString pstr+ ioError (ioeSetErrorString (mkIOError OtherError name Nothing Nothing) str)++throwSocketError name =+ c_getLastError >>= throwSocketErrorCode name++foreign import CALLCONV unsafe "WSAGetLastError"+ c_getLastError :: IO CInt++foreign import ccall unsafe "getWSErrorDescr"+ c_getWSError :: CInt -> IO (Ptr CChar)+++# else+throwSocketErrorIfMinus1Retry = throwErrnoIfMinus1Retry+throwSocketError = throwErrno+throwSocketErrorCode loc errno =+ ioError (errnoToIOError loc (Errno errno) Nothing Nothing)+# endif+#endif++-- | Like 'throwSocketErrorIfMinus1Retry', but if the action fails with+-- @EWOULDBLOCK@ or similar, wait for the socket to be read-ready,+-- and try again.+throwSocketErrorWaitRead :: (Eq a, Num a) => Socket -> String -> IO a -> IO a+throwSocketErrorWaitRead sock name io =+ throwSocketErrorIfMinus1RetryMayBlock name+ (threadWaitRead $ fromIntegral $ sockFd sock)+ io++-- | Like 'throwSocketErrorIfMinus1Retry', but if the action fails with+-- @EWOULDBLOCK@ or similar, wait for the socket to be write-ready,+-- and try again.+throwSocketErrorWaitWrite :: (Eq a, Num a) => Socket -> String -> IO a -> IO a+throwSocketErrorWaitWrite sock name io =+ throwSocketErrorIfMinus1RetryMayBlock name+ (threadWaitWrite $ fromIntegral $ sockFd sock)+ io++-- ---------------------------------------------------------------------------+-- WinSock support++{-| On Windows operating systems, the networking subsystem has to be+initialised using 'withSocketsDo' before any networking operations can+be used. eg.++> main = withSocketsDo $ do {...}++Although this is only strictly necessary on Windows platforms, it is+harmless on other platforms, so for portability it is good practice to+use it all the time.+-}+withSocketsDo :: IO a -> IO a+#if !defined(WITH_WINSOCK)+withSocketsDo x = x+#else+withSocketsDo act = do+ x <- initWinSock+ if x /= 0+ then ioError (userError "Failed to initialise WinSock")+ else act `finally` shutdownWinSock++foreign import ccall unsafe "initWinSock" initWinSock :: IO Int+foreign import ccall unsafe "shutdownWinSock" shutdownWinSock :: IO ()++#endif
+ standalone/android/tmp/network-2.4.1.2/Network/Socket/Types.hsc view
@@ -0,0 +1,962 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ForeignFunctionInterface #-}+module Network.Socket.Types+ (+ -- * Socket+ Socket(..)+ , sockFd+ , sockFamily+ , sockType+ , sockProtocol+ , sockStatus+ , SocketStatus(..)++ -- * Socket types+ , SocketType(..)+ , isSupportedSocketType+ , packSocketType+ , packSocketType'+ , packSocketTypeOrThrow+ , unpackSocketType+ , unpackSocketType'++ -- * Family+ , Family(..)+ , isSupportedFamily+ , packFamily+ , unpackFamily++ -- * Socket addresses+ , SockAddr(..)+ , HostAddress+#if defined(IPV6_SOCKET_SUPPORT)+ , HostAddress6+ , FlowInfo+ , ScopeID+#endif+ , peekSockAddr+ , pokeSockAddr+ , sizeOfSockAddr+ , sizeOfSockAddrByFamily+ , withSockAddr+ , withNewSockAddr++ -- * Unsorted+ , ProtocolNumber+ , PortNumber(..)++ -- * Low-level helpers+ , zeroMemory+ ) where++#include "HsNet.h"++import Control.Concurrent.MVar+import Control.Monad+import Data.Bits+import Data.Maybe+import Data.Ratio+import Data.Typeable+import Data.Word+import Foreign.C+import Foreign.Marshal.Alloc+import Foreign.Marshal.Array+import Foreign.Ptr+import Foreign.Storable++data Socket+ = MkSocket+ CInt -- File Descriptor+ Family+ SocketType+ ProtocolNumber -- Protocol Number+ (MVar SocketStatus) -- Status Flag+ deriving Typeable++sockFd (MkSocket n _ _ _ _) = n+sockFamily (MkSocket _ f _ _ _) = f+sockType (MkSocket _ _ t _ _) = t+sockProtocol (MkSocket _ _ _ p _) = p+sockStatus (MkSocket _ _ _ _ s) = s++instance Eq Socket where+ (MkSocket _ _ _ _ m1) == (MkSocket _ _ _ _ m2) = m1 == m2++instance Show Socket where+ showsPrec _n (MkSocket fd _ _ _ _) =+ showString "<socket: " . shows fd . showString ">"++type ProtocolNumber = CInt++data SocketStatus+ -- Returned Status Function called+ = NotConnected -- socket+ | Bound -- bind+ | Listening -- listen+ | Connected -- connect/accept+ | ConvertedToHandle -- is now a Handle, don't touch+ | Closed -- close+ deriving (Eq, Show, Typeable)++-----------------------------------------------------------------------------+-- Socket types++-- There are a few possible ways to do this. The first is convert the+-- structs used in the C library into an equivalent Haskell type. An+-- other possible implementation is to keep all the internals in the C+-- code and use an Int## and a status flag. The second method is used+-- here since a lot of the C structures are not required to be+-- manipulated.++-- Originally the status was non-mutable so we had to return a new+-- socket each time we changed the status. This version now uses+-- mutable variables to avoid the need to do this. The result is a+-- cleaner interface and better security since the application+-- programmer now can't circumvent the status information to perform+-- invalid operations on sockets.++-- | Socket Types.+--+-- The existence of a constructor does not necessarily imply that that+-- socket type is supported on your system: see 'isSupportedSocketType'.+data SocketType+ = NoSocketType -- ^ 0, used in getAddrInfo hints, for example+ | Stream -- ^ SOCK_STREAM+ | Datagram -- ^ SOCK_DGRAM+ | Raw -- ^ SOCK_RAW+ | RDM -- ^ SOCK_RDM+ | SeqPacket -- ^ SOCK_SEQPACKET+ deriving (Eq, Ord, Read, Show, Typeable)++-- | Does the SOCK_ constant corresponding to the given SocketType exist on+-- this system?+isSupportedSocketType :: SocketType -> Bool+isSupportedSocketType = isJust . packSocketType'++-- | Find the SOCK_ constant corresponding to the SocketType value.+packSocketType' :: SocketType -> Maybe CInt+packSocketType' stype = case Just stype of+ -- the Just above is to disable GHC's overlapping pattern+ -- detection: see comments for packSocketOption+ Just NoSocketType -> Just 0+#ifdef SOCK_STREAM+ Just Stream -> Just #const SOCK_STREAM+#endif+#ifdef SOCK_DGRAM+ Just Datagram -> Just #const SOCK_DGRAM+#endif+#ifdef SOCK_RAW+ Just Raw -> Just #const SOCK_RAW+#endif+#ifdef SOCK_RDM+ Just RDM -> Just #const SOCK_RDM+#endif+#ifdef SOCK_SEQPACKET+ Just SeqPacket -> Just #const SOCK_SEQPACKET+#endif+ _ -> Nothing++packSocketType :: SocketType -> CInt+packSocketType stype = fromMaybe (error errMsg) (packSocketType' stype)+ where+ errMsg = concat ["Network.Socket.packSocketType: ",+ "socket type ", show stype, " unsupported on this system"]++-- | Try packSocketType' on the SocketType, if it fails throw an error with+-- message starting "Network.Socket." ++ the String parameter+packSocketTypeOrThrow :: String -> SocketType -> IO CInt+packSocketTypeOrThrow caller stype = maybe err return (packSocketType' stype)+ where+ err = ioError . userError . concat $ ["Network.Socket.", caller, ": ",+ "socket type ", show stype, " unsupported on this system"]+++unpackSocketType:: CInt -> Maybe SocketType+unpackSocketType t = case t of+ 0 -> Just NoSocketType+#ifdef SOCK_STREAM+ (#const SOCK_STREAM) -> Just Stream+#endif+#ifdef SOCK_DGRAM+ (#const SOCK_DGRAM) -> Just Datagram+#endif+#ifdef SOCK_RAW+ (#const SOCK_RAW) -> Just Raw+#endif+#ifdef SOCK_RDM+ (#const SOCK_RDM) -> Just RDM+#endif+#ifdef SOCK_SEQPACKET+ (#const SOCK_SEQPACKET) -> Just SeqPacket+#endif+ _ -> Nothing++-- | Try unpackSocketType on the CInt, if it fails throw an error with+-- message starting "Network.Socket." ++ the String parameter+unpackSocketType' :: String -> CInt -> IO SocketType+unpackSocketType' caller ty = maybe err return (unpackSocketType ty)+ where+ err = ioError . userError . concat $ ["Network.Socket.", caller, ": ",+ "socket type ", show ty, " unsupported on this system"]++------------------------------------------------------------------------+-- Protocol Families.++-- | Address families.+--+-- A constructor being present here does not mean it is supported by the+-- operating system: see 'isSupportedFamily'.+data Family+ = AF_UNSPEC -- unspecified+ | AF_UNIX -- local to host (pipes, portals+ | AF_INET -- internetwork: UDP, TCP, etc+ | AF_INET6 -- Internet Protocol version 6+ | AF_IMPLINK -- arpanet imp addresses+ | AF_PUP -- pup protocols: e.g. BSP+ | AF_CHAOS -- mit CHAOS protocols+ | AF_NS -- XEROX NS protocols+ | AF_NBS -- nbs protocols+ | AF_ECMA -- european computer manufacturers+ | AF_DATAKIT -- datakit protocols+ | AF_CCITT -- CCITT protocols, X.25 etc+ | AF_SNA -- IBM SNA+ | AF_DECnet -- DECnet+ | AF_DLI -- Direct data link interface+ | AF_LAT -- LAT+ | AF_HYLINK -- NSC Hyperchannel+ | AF_APPLETALK -- Apple Talk+ | AF_ROUTE -- Internal Routing Protocol+ | AF_NETBIOS -- NetBios-style addresses+ | AF_NIT -- Network Interface Tap+ | AF_802 -- IEEE 802.2, also ISO 8802+ | AF_ISO -- ISO protocols+ | AF_OSI -- umbrella of all families used by OSI+ | AF_NETMAN -- DNA Network Management+ | AF_X25 -- CCITT X.25+ | AF_AX25+ | AF_OSINET -- AFI+ | AF_GOSSIP -- US Government OSI+ | AF_IPX -- Novell Internet Protocol+ | Pseudo_AF_XTP -- eXpress Transfer Protocol (no AF)+ | AF_CTF -- Common Trace Facility+ | AF_WAN -- Wide Area Network protocols+ | AF_SDL -- SGI Data Link for DLPI+ | AF_NETWARE+ | AF_NDD+ | AF_INTF -- Debugging use only+ | AF_COIP -- connection-oriented IP, aka ST II+ | AF_CNT -- Computer Network Technology+ | Pseudo_AF_RTIP -- Help Identify RTIP packets+ | Pseudo_AF_PIP -- Help Identify PIP packets+ | AF_SIP -- Simple Internet Protocol+ | AF_ISDN -- Integrated Services Digital Network+ | Pseudo_AF_KEY -- Internal key-management function+ | AF_NATM -- native ATM access+ | AF_ARP -- (rev.) addr. res. prot. (RFC 826)+ | Pseudo_AF_HDRCMPLT -- Used by BPF to not rewrite hdrs in iface output+ | AF_ENCAP+ | AF_LINK -- Link layer interface+ | AF_RAW -- Link layer interface+ | AF_RIF -- raw interface+ | AF_NETROM -- Amateur radio NetROM+ | AF_BRIDGE -- multiprotocol bridge+ | AF_ATMPVC -- ATM PVCs+ | AF_ROSE -- Amateur Radio X.25 PLP+ | AF_NETBEUI -- 802.2LLC+ | AF_SECURITY -- Security callback pseudo AF+ | AF_PACKET -- Packet family+ | AF_ASH -- Ash+ | AF_ECONET -- Acorn Econet+ | AF_ATMSVC -- ATM SVCs+ | AF_IRDA -- IRDA sockets+ | AF_PPPOX -- PPPoX sockets+ | AF_WANPIPE -- Wanpipe API sockets+ | AF_BLUETOOTH -- bluetooth sockets+ deriving (Eq, Ord, Read, Show)++packFamily :: Family -> CInt+packFamily f = case packFamily' f of+ Just fam -> fam+ Nothing -> error $+ "Network.Socket.packFamily: unsupported address family: " +++ show f++-- | Does the AF_ constant corresponding to the given family exist on this+-- system?+isSupportedFamily :: Family -> Bool+isSupportedFamily = isJust . packFamily'++packFamily' :: Family -> Maybe CInt+packFamily' f = case Just f of+ -- the Just above is to disable GHC's overlapping pattern+ -- detection: see comments for packSocketOption+ Just AF_UNSPEC -> Just #const AF_UNSPEC+#ifdef AF_UNIX+ Just AF_UNIX -> Just #const AF_UNIX+#endif+#ifdef AF_INET+ Just AF_INET -> Just #const AF_INET+#endif+#ifdef AF_INET6+ Just AF_INET6 -> Just #const AF_INET6+#endif+#ifdef AF_IMPLINK+ Just AF_IMPLINK -> Just #const AF_IMPLINK+#endif+#ifdef AF_PUP+ Just AF_PUP -> Just #const AF_PUP+#endif+#ifdef AF_CHAOS+ Just AF_CHAOS -> Just #const AF_CHAOS+#endif+#ifdef AF_NS+ Just AF_NS -> Just #const AF_NS+#endif+#ifdef AF_NBS+ Just AF_NBS -> Just #const AF_NBS+#endif+#ifdef AF_ECMA+ Just AF_ECMA -> Just #const AF_ECMA+#endif+#ifdef AF_DATAKIT+ Just AF_DATAKIT -> Just #const AF_DATAKIT+#endif+#ifdef AF_CCITT+ Just AF_CCITT -> Just #const AF_CCITT+#endif+#ifdef AF_SNA+ Just AF_SNA -> Just #const AF_SNA+#endif+#ifdef AF_DECnet+ Just AF_DECnet -> Just #const AF_DECnet+#endif+#ifdef AF_DLI+ Just AF_DLI -> Just #const AF_DLI+#endif+#ifdef AF_LAT+ Just AF_LAT -> Just #const AF_LAT+#endif+#ifdef AF_HYLINK+ Just AF_HYLINK -> Just #const AF_HYLINK+#endif+#ifdef AF_APPLETALK+ Just AF_APPLETALK -> Just #const AF_APPLETALK+#endif+#ifdef AF_ROUTE+ Just AF_ROUTE -> Just #const AF_ROUTE+#endif+#ifdef AF_NETBIOS+ Just AF_NETBIOS -> Just #const AF_NETBIOS+#endif+#ifdef AF_NIT+ Just AF_NIT -> Just #const AF_NIT+#endif+#ifdef AF_802+ Just AF_802 -> Just #const AF_802+#endif+#ifdef AF_ISO+ Just AF_ISO -> Just #const AF_ISO+#endif+#ifdef AF_OSI+ Just AF_OSI -> Just #const AF_OSI+#endif+#ifdef AF_NETMAN+ Just AF_NETMAN -> Just #const AF_NETMAN+#endif+#ifdef AF_X25+ Just AF_X25 -> Just #const AF_X25+#endif+#ifdef AF_AX25+ Just AF_AX25 -> Just #const AF_AX25+#endif+#ifdef AF_OSINET+ Just AF_OSINET -> Just #const AF_OSINET+#endif+#ifdef AF_GOSSIP+ Just AF_GOSSIP -> Just #const AF_GOSSIP+#endif+#ifdef AF_IPX+ Just AF_IPX -> Just #const AF_IPX+#endif+#ifdef Pseudo_AF_XTP+ Just Pseudo_AF_XTP -> Just #const Pseudo_AF_XTP+#endif+#ifdef AF_CTF+ Just AF_CTF -> Just #const AF_CTF+#endif+#ifdef AF_WAN+ Just AF_WAN -> Just #const AF_WAN+#endif+#ifdef AF_SDL+ Just AF_SDL -> Just #const AF_SDL+#endif+#ifdef AF_NETWARE+ Just AF_NETWARE -> Just #const AF_NETWARE+#endif+#ifdef AF_NDD+ Just AF_NDD -> Just #const AF_NDD+#endif+#ifdef AF_INTF+ Just AF_INTF -> Just #const AF_INTF+#endif+#ifdef AF_COIP+ Just AF_COIP -> Just #const AF_COIP+#endif+#ifdef AF_CNT+ Just AF_CNT -> Just #const AF_CNT+#endif+#ifdef Pseudo_AF_RTIP+ Just Pseudo_AF_RTIP -> Just #const Pseudo_AF_RTIP+#endif+#ifdef Pseudo_AF_PIP+ Just Pseudo_AF_PIP -> Just #const Pseudo_AF_PIP+#endif+#ifdef AF_SIP+ Just AF_SIP -> Just #const AF_SIP+#endif+#ifdef AF_ISDN+ Just AF_ISDN -> Just #const AF_ISDN+#endif+#ifdef Pseudo_AF_KEY+ Just Pseudo_AF_KEY -> Just #const Pseudo_AF_KEY+#endif+#ifdef AF_NATM+ Just AF_NATM -> Just #const AF_NATM+#endif+#ifdef AF_ARP+ Just AF_ARP -> Just #const AF_ARP+#endif+#ifdef Pseudo_AF_HDRCMPLT+ Just Pseudo_AF_HDRCMPLT -> Just #const Pseudo_AF_HDRCMPLT+#endif+#ifdef AF_ENCAP+ Just AF_ENCAP -> Just #const AF_ENCAP+#endif+#ifdef AF_LINK+ Just AF_LINK -> Just #const AF_LINK+#endif+#ifdef AF_RAW+ Just AF_RAW -> Just #const AF_RAW+#endif+#ifdef AF_RIF+ Just AF_RIF -> Just #const AF_RIF+#endif+#ifdef AF_NETROM+ Just AF_NETROM -> Just #const AF_NETROM+#endif+#ifdef AF_BRIDGE+ Just AF_BRIDGE -> Just #const AF_BRIDGE+#endif+#ifdef AF_ATMPVC+ Just AF_ATMPVC -> Just #const AF_ATMPVC+#endif+#ifdef AF_ROSE+ Just AF_ROSE -> Just #const AF_ROSE+#endif+#ifdef AF_NETBEUI+ Just AF_NETBEUI -> Just #const AF_NETBEUI+#endif+#ifdef AF_SECURITY+ Just AF_SECURITY -> Just #const AF_SECURITY+#endif+#ifdef AF_PACKET+ Just AF_PACKET -> Just #const AF_PACKET+#endif+#ifdef AF_ASH+ Just AF_ASH -> Just #const AF_ASH+#endif+#ifdef AF_ECONET+ Just AF_ECONET -> Just #const AF_ECONET+#endif+#ifdef AF_ATMSVC+ Just AF_ATMSVC -> Just #const AF_ATMSVC+#endif+#ifdef AF_IRDA+ Just AF_IRDA -> Just #const AF_IRDA+#endif+#ifdef AF_PPPOX+ Just AF_PPPOX -> Just #const AF_PPPOX+#endif+#ifdef AF_WANPIPE+ Just AF_WANPIPE -> Just #const AF_WANPIPE+#endif+#ifdef AF_BLUETOOTH+ Just AF_BLUETOOTH -> Just #const AF_BLUETOOTH+#endif+ _ -> Nothing++--------- ----------++unpackFamily :: CInt -> Family+unpackFamily f = case f of+ (#const AF_UNSPEC) -> AF_UNSPEC+#ifdef AF_UNIX+ (#const AF_UNIX) -> AF_UNIX+#endif+#ifdef AF_INET+ (#const AF_INET) -> AF_INET+#endif+#ifdef AF_INET6+ (#const AF_INET6) -> AF_INET6+#endif+#ifdef AF_IMPLINK+ (#const AF_IMPLINK) -> AF_IMPLINK+#endif+#ifdef AF_PUP+ (#const AF_PUP) -> AF_PUP+#endif+#ifdef AF_CHAOS+ (#const AF_CHAOS) -> AF_CHAOS+#endif+#ifdef AF_NS+ (#const AF_NS) -> AF_NS+#endif+#ifdef AF_NBS+ (#const AF_NBS) -> AF_NBS+#endif+#ifdef AF_ECMA+ (#const AF_ECMA) -> AF_ECMA+#endif+#ifdef AF_DATAKIT+ (#const AF_DATAKIT) -> AF_DATAKIT+#endif+#ifdef AF_CCITT+ (#const AF_CCITT) -> AF_CCITT+#endif+#ifdef AF_SNA+ (#const AF_SNA) -> AF_SNA+#endif+#ifdef AF_DECnet+ (#const AF_DECnet) -> AF_DECnet+#endif+#ifdef AF_DLI+ (#const AF_DLI) -> AF_DLI+#endif+#ifdef AF_LAT+ (#const AF_LAT) -> AF_LAT+#endif+#ifdef AF_HYLINK+ (#const AF_HYLINK) -> AF_HYLINK+#endif+#ifdef AF_APPLETALK+ (#const AF_APPLETALK) -> AF_APPLETALK+#endif+#ifdef AF_ROUTE+ (#const AF_ROUTE) -> AF_ROUTE+#endif+#ifdef AF_NETBIOS+ (#const AF_NETBIOS) -> AF_NETBIOS+#endif+#ifdef AF_NIT+ (#const AF_NIT) -> AF_NIT+#endif+#ifdef AF_802+ (#const AF_802) -> AF_802+#endif+#ifdef AF_ISO+ (#const AF_ISO) -> AF_ISO+#endif+#ifdef AF_OSI+# if (!defined(AF_ISO)) || (defined(AF_ISO) && (AF_ISO != AF_OSI))+ (#const AF_OSI) -> AF_OSI+# endif+#endif+#ifdef AF_NETMAN+ (#const AF_NETMAN) -> AF_NETMAN+#endif+#ifdef AF_X25+ (#const AF_X25) -> AF_X25+#endif+#ifdef AF_AX25+ (#const AF_AX25) -> AF_AX25+#endif+#ifdef AF_OSINET+ (#const AF_OSINET) -> AF_OSINET+#endif+#ifdef AF_GOSSIP+ (#const AF_GOSSIP) -> AF_GOSSIP+#endif+#if defined(AF_IPX) && (!defined(AF_NS) || AF_NS != AF_IPX)+ (#const AF_IPX) -> AF_IPX+#endif+#ifdef Pseudo_AF_XTP+ (#const Pseudo_AF_XTP) -> Pseudo_AF_XTP+#endif+#ifdef AF_CTF+ (#const AF_CTF) -> AF_CTF+#endif+#ifdef AF_WAN+ (#const AF_WAN) -> AF_WAN+#endif+#ifdef AF_SDL+ (#const AF_SDL) -> AF_SDL+#endif+#ifdef AF_NETWARE+ (#const AF_NETWARE) -> AF_NETWARE+#endif+#ifdef AF_NDD+ (#const AF_NDD) -> AF_NDD+#endif+#ifdef AF_INTF+ (#const AF_INTF) -> AF_INTF+#endif+#ifdef AF_COIP+ (#const AF_COIP) -> AF_COIP+#endif+#ifdef AF_CNT+ (#const AF_CNT) -> AF_CNT+#endif+#ifdef Pseudo_AF_RTIP+ (#const Pseudo_AF_RTIP) -> Pseudo_AF_RTIP+#endif+#ifdef Pseudo_AF_PIP+ (#const Pseudo_AF_PIP) -> Pseudo_AF_PIP+#endif+#ifdef AF_SIP+ (#const AF_SIP) -> AF_SIP+#endif+#ifdef AF_ISDN+ (#const AF_ISDN) -> AF_ISDN+#endif+#ifdef Pseudo_AF_KEY+ (#const Pseudo_AF_KEY) -> Pseudo_AF_KEY+#endif+#ifdef AF_NATM+ (#const AF_NATM) -> AF_NATM+#endif+#ifdef AF_ARP+ (#const AF_ARP) -> AF_ARP+#endif+#ifdef Pseudo_AF_HDRCMPLT+ (#const Pseudo_AF_HDRCMPLT) -> Pseudo_AF_HDRCMPLT+#endif+#ifdef AF_ENCAP+ (#const AF_ENCAP) -> AF_ENCAP+#endif+#ifdef AF_LINK+ (#const AF_LINK) -> AF_LINK+#endif+#ifdef AF_RAW+ (#const AF_RAW) -> AF_RAW+#endif+#ifdef AF_RIF+ (#const AF_RIF) -> AF_RIF+#endif+#ifdef AF_NETROM+ (#const AF_NETROM) -> AF_NETROM+#endif+#ifdef AF_BRIDGE+ (#const AF_BRIDGE) -> AF_BRIDGE+#endif+#ifdef AF_ATMPVC+ (#const AF_ATMPVC) -> AF_ATMPVC+#endif+#ifdef AF_ROSE+ (#const AF_ROSE) -> AF_ROSE+#endif+#ifdef AF_NETBEUI+ (#const AF_NETBEUI) -> AF_NETBEUI+#endif+#ifdef AF_SECURITY+ (#const AF_SECURITY) -> AF_SECURITY+#endif+#ifdef AF_PACKET+ (#const AF_PACKET) -> AF_PACKET+#endif+#ifdef AF_ASH+ (#const AF_ASH) -> AF_ASH+#endif+#ifdef AF_ECONET+ (#const AF_ECONET) -> AF_ECONET+#endif+#ifdef AF_ATMSVC+ (#const AF_ATMSVC) -> AF_ATMSVC+#endif+#ifdef AF_IRDA+ (#const AF_IRDA) -> AF_IRDA+#endif+#ifdef AF_PPPOX+ (#const AF_PPPOX) -> AF_PPPOX+#endif+#ifdef AF_WANPIPE+ (#const AF_WANPIPE) -> AF_WANPIPE+#endif+#ifdef AF_BLUETOOTH+ (#const AF_BLUETOOTH) -> AF_BLUETOOTH+#endif+ unknown -> error ("Network.Socket.unpackFamily: unknown address " +++ "family " ++ show unknown)++------------------------------------------------------------------------+-- Port Numbers++newtype PortNumber = PortNum Word16 deriving (Eq, Ord, Typeable)+-- newtyped to prevent accidental use of sane-looking+-- port numbers that haven't actually been converted to+-- network-byte-order first.++instance Show PortNumber where+ showsPrec p pn = showsPrec p (portNumberToInt pn)++intToPortNumber :: Int -> PortNumber+intToPortNumber v = PortNum (htons (fromIntegral v))++portNumberToInt :: PortNumber -> Int+portNumberToInt (PortNum po) = fromIntegral (ntohs po)++foreign import CALLCONV unsafe "my_ntohs" ntohs :: Word16 -> Word16+foreign import CALLCONV unsafe "my_htons" htons :: Word16 -> Word16+--foreign import CALLCONV unsafe "ntohl" ntohl :: Word32 -> Word32++instance Enum PortNumber where+ toEnum = intToPortNumber+ fromEnum = portNumberToInt++instance Num PortNumber where+ fromInteger i = intToPortNumber (fromInteger i)+ -- for completeness.+ (+) x y = intToPortNumber (portNumberToInt x + portNumberToInt y)+ (-) x y = intToPortNumber (portNumberToInt x - portNumberToInt y)+ negate x = intToPortNumber (-portNumberToInt x)+ (*) x y = intToPortNumber (portNumberToInt x * portNumberToInt y)+ abs n = intToPortNumber (abs (portNumberToInt n))+ signum n = intToPortNumber (signum (portNumberToInt n))++instance Real PortNumber where+ toRational x = toInteger x % 1++instance Integral PortNumber where+ quotRem a b = let (c,d) = quotRem (portNumberToInt a) (portNumberToInt b) in+ (intToPortNumber c, intToPortNumber d)+ toInteger a = toInteger (portNumberToInt a)++instance Storable PortNumber where+ sizeOf _ = sizeOf (undefined :: Word16)+ alignment _ = alignment (undefined :: Word16)+ poke p (PortNum po) = poke (castPtr p) po+ peek p = PortNum `liftM` peek (castPtr p)++------------------------------------------------------------------------+-- Socket addresses++-- The scheme used for addressing sockets is somewhat quirky. The+-- calls in the BSD socket API that need to know the socket address+-- all operate in terms of struct sockaddr, a `virtual' type of+-- socket address.++-- The Internet family of sockets are addressed as struct sockaddr_in,+-- so when calling functions that operate on struct sockaddr, we have+-- to type cast the Internet socket address into a struct sockaddr.+-- Instances of the structure for different families might *not* be+-- the same size. Same casting is required of other families of+-- sockets such as Xerox NS. Similarly for Unix domain sockets.++-- To represent these socket addresses in Haskell-land, we do what BSD+-- didn't do, and use a union/algebraic type for the different+-- families. Currently only Unix domain sockets and the Internet+-- families are supported.++#if defined(IPV6_SOCKET_SUPPORT)+type FlowInfo = Word32+type ScopeID = Word32+#endif++data SockAddr -- C Names+ = SockAddrInet+ PortNumber -- sin_port (network byte order)+ HostAddress -- sin_addr (ditto)+#if defined(IPV6_SOCKET_SUPPORT)+ | SockAddrInet6+ PortNumber -- sin6_port (network byte order)+ FlowInfo -- sin6_flowinfo (ditto)+ HostAddress6 -- sin6_addr (ditto)+ ScopeID -- sin6_scope_id (ditto)+#endif+#if defined(DOMAIN_SOCKET_SUPPORT)+ | SockAddrUnix+ String -- sun_path+#endif+ deriving (Eq, Ord, Typeable)++#if defined(WITH_WINSOCK) || defined(cygwin32_HOST_OS)+type CSaFamily = (#type unsigned short)+#elif defined(darwin_HOST_OS)+type CSaFamily = (#type u_char)+#else+type CSaFamily = (#type sa_family_t)+#endif++-- | Computes the storage requirements (in bytes) of the given+-- 'SockAddr'. This function differs from 'Foreign.Storable.sizeOf'+-- in that the value of the argument /is/ used.+sizeOfSockAddr :: SockAddr -> Int+#if defined(DOMAIN_SOCKET_SUPPORT)+sizeOfSockAddr (SockAddrUnix path) =+ case path of+ '\0':_ -> (#const sizeof(sa_family_t)) + length path+ _ -> #const sizeof(struct sockaddr_un)+#endif+sizeOfSockAddr (SockAddrInet _ _) = #const sizeof(struct sockaddr_in)+#if defined(IPV6_SOCKET_SUPPORT)+sizeOfSockAddr (SockAddrInet6 _ _ _ _) = #const sizeof(struct sockaddr_in6)+#endif++-- | Computes the storage requirements (in bytes) required for a+-- 'SockAddr' with the given 'Family'.+sizeOfSockAddrByFamily :: Family -> Int+#if defined(DOMAIN_SOCKET_SUPPORT)+sizeOfSockAddrByFamily AF_UNIX = #const sizeof(struct sockaddr_un)+#endif+#if defined(IPV6_SOCKET_SUPPORT)+sizeOfSockAddrByFamily AF_INET6 = #const sizeof(struct sockaddr_in6)+#endif+sizeOfSockAddrByFamily AF_INET = #const sizeof(struct sockaddr_in)++-- | Use a 'SockAddr' with a function requiring a pointer to a+-- 'SockAddr' and the length of that 'SockAddr'.+withSockAddr :: SockAddr -> (Ptr SockAddr -> Int -> IO a) -> IO a+withSockAddr addr f = do+ let sz = sizeOfSockAddr addr+ allocaBytes sz $ \p -> pokeSockAddr p addr >> f (castPtr p) sz++-- | Create a new 'SockAddr' for use with a function requiring a+-- pointer to a 'SockAddr' and the length of that 'SockAddr'.+withNewSockAddr :: Family -> (Ptr SockAddr -> Int -> IO a) -> IO a+withNewSockAddr family f = do+ let sz = sizeOfSockAddrByFamily family+ allocaBytes sz $ \ptr -> f ptr sz++-- We can't write an instance of 'Storable' for 'SockAddr' because+-- @sockaddr@ is a sum type of variable size but+-- 'Foreign.Storable.sizeOf' is required to be constant.++-- Note that on Darwin, the sockaddr structure must be zeroed before+-- use.++-- | Write the given 'SockAddr' to the given memory location.+pokeSockAddr :: Ptr a -> SockAddr -> IO ()+#if defined(DOMAIN_SOCKET_SUPPORT)+pokeSockAddr p (SockAddrUnix path) = do+#if defined(darwin_HOST_OS)+ zeroMemory p (#const sizeof(struct sockaddr_un))+#endif+#if defined(HAVE_STRUCT_SOCKADDR_SA_LEN)+ (#poke struct sockaddr_un, sun_len) p ((#const sizeof(struct sockaddr_un)) :: Word8)+#endif+ (#poke struct sockaddr_un, sun_family) p ((#const AF_UNIX) :: CSaFamily)+ let pathC = map castCharToCChar path+ poker = case path of ('\0':_) -> pokeArray; _ -> pokeArray0 0+ poker ((#ptr struct sockaddr_un, sun_path) p) pathC+#endif+pokeSockAddr p (SockAddrInet (PortNum port) addr) = do+#if defined(darwin_HOST_OS)+ zeroMemory p (#const sizeof(struct sockaddr_in))+#endif+#if defined(HAVE_STRUCT_SOCKADDR_SA_LEN)+ (#poke struct sockaddr_in, sin_len) p ((#const sizeof(struct sockaddr_in)) :: Word8)+#endif+ (#poke struct sockaddr_in, sin_family) p ((#const AF_INET) :: CSaFamily)+ (#poke struct sockaddr_in, sin_port) p port+ (#poke struct sockaddr_in, sin_addr) p addr+#if defined(IPV6_SOCKET_SUPPORT)+pokeSockAddr p (SockAddrInet6 (PortNum port) flow addr scope) = do+#if defined(darwin_HOST_OS)+ zeroMemory p (#const sizeof(struct sockaddr_in6))+#endif+#if defined(HAVE_STRUCT_SOCKADDR_SA_LEN)+ (#poke struct sockaddr_in6, sin6_len) p ((#const sizeof(struct sockaddr_in6)) :: Word8)+#endif+ (#poke struct sockaddr_in6, sin6_family) p ((#const AF_INET6) :: CSaFamily)+ (#poke struct sockaddr_in6, sin6_port) p port+ (#poke struct sockaddr_in6, sin6_flowinfo) p flow+ (#poke struct sockaddr_in6, sin6_addr) p addr+ (#poke struct sockaddr_in6, sin6_scope_id) p scope+#endif++-- | Read a 'SockAddr' from the given memory location.+peekSockAddr :: Ptr SockAddr -> IO SockAddr+peekSockAddr p = do+ family <- (#peek struct sockaddr, sa_family) p+ case family :: CSaFamily of+#if defined(DOMAIN_SOCKET_SUPPORT)+ (#const AF_UNIX) -> do+ str <- peekCString ((#ptr struct sockaddr_un, sun_path) p)+ return (SockAddrUnix str)+#endif+ (#const AF_INET) -> do+ addr <- (#peek struct sockaddr_in, sin_addr) p+ port <- (#peek struct sockaddr_in, sin_port) p+ return (SockAddrInet (PortNum port) addr)+#if defined(IPV6_SOCKET_SUPPORT)+ (#const AF_INET6) -> do+ port <- (#peek struct sockaddr_in6, sin6_port) p+ flow <- (#peek struct sockaddr_in6, sin6_flowinfo) p+ addr <- (#peek struct sockaddr_in6, sin6_addr) p+ scope <- (#peek struct sockaddr_in6, sin6_scope_id) p+ return (SockAddrInet6 (PortNum port) flow addr scope)+#endif++------------------------------------------------------------------------++-- | Network byte order.+type HostAddress = Word32++#if defined(IPV6_SOCKET_SUPPORT)+-- | Host byte order.+type HostAddress6 = (Word32, Word32, Word32, Word32)++-- The peek32 and poke32 functions work around the fact that the RFCs+-- don't require 32-bit-wide address fields to be present. We can+-- only portably rely on an 8-bit field, s6_addr.++s6_addr_offset :: Int+s6_addr_offset = (#offset struct in6_addr, s6_addr)++peek32 :: Ptr a -> Int -> IO Word32+peek32 p i0 = do+ let i' = i0 * 4+ peekByte n = peekByteOff p (s6_addr_offset + i' + n) :: IO Word8+ a `sl` i = fromIntegral a `shiftL` i+ a0 <- peekByte 0+ a1 <- peekByte 1+ a2 <- peekByte 2+ a3 <- peekByte 3+ return ((a0 `sl` 24) .|. (a1 `sl` 16) .|. (a2 `sl` 8) .|. (a3 `sl` 0))++poke32 :: Ptr a -> Int -> Word32 -> IO ()+poke32 p i0 a = do+ let i' = i0 * 4+ pokeByte n = pokeByteOff p (s6_addr_offset + i' + n)+ x `sr` i = fromIntegral (x `shiftR` i) :: Word8+ pokeByte 0 (a `sr` 24)+ pokeByte 1 (a `sr` 16)+ pokeByte 2 (a `sr` 8)+ pokeByte 3 (a `sr` 0)++instance Storable HostAddress6 where+ sizeOf _ = (#const sizeof(struct in6_addr))+ alignment _ = alignment (undefined :: CInt)++ peek p = do+ a <- peek32 p 0+ b <- peek32 p 1+ c <- peek32 p 2+ d <- peek32 p 3+ return (a, b, c, d)++ poke p (a, b, c, d) = do+ poke32 p 0 a+ poke32 p 1 b+ poke32 p 2 c+ poke32 p 3 d+#endif++------------------------------------------------------------------------+-- Helper functions++foreign import ccall unsafe "string.h" memset :: Ptr a -> CInt -> CSize -> IO ()++-- | Zero a structure.+zeroMemory :: Ptr a -> CSize -> IO ()+zeroMemory dest nbytes = memset dest 0 (fromIntegral nbytes)
+ standalone/android/tmp/network-2.4.1.2/Network/URI.hs view
@@ -0,0 +1,1349 @@+{-# LANGUAGE CPP #-}+--------------------------------------------------------------------------------+-- |+-- Module : Network.URI+-- Copyright : (c) 2004, Graham Klyne+-- License : BSD-style (see end of this file)+--+-- Maintainer : Graham Klyne <gk@ninebynine.org>+-- Stability : provisional+-- Portability : portable+--+-- This module defines functions for handling URIs. It presents substantially the+-- same interface as the older GHC Network.URI module, but is implemented using+-- Parsec rather than a Regex library that is not available with Hugs. The internal+-- representation of URI has been changed so that URI strings are more+-- completely preserved when round-tripping to a URI value and back.+--+-- In addition, four methods are provided for parsing different+-- kinds of URI string (as noted in RFC3986):+-- 'parseURI',+-- 'parseURIReference',+-- 'parseRelativeReference' and+-- 'parseAbsoluteURI'.+--+-- Further, four methods are provided for classifying different+-- kinds of URI string (as noted in RFC3986):+-- 'isURI',+-- 'isURIReference',+-- 'isRelativeReference' and+-- 'isAbsoluteURI'.+--+-- The long-standing official reference for URI handling was RFC2396 [1],+-- as updated by RFC 2732 [2], but this was replaced by a new specification,+-- RFC3986 [3] in January 2005. This latter specification has been used+-- as the primary reference for constructing the URI parser implemented+-- here, and it is intended that there is a direct relationship between+-- the syntax definition in that document and this parser implementation.+--+-- RFC 1808 [4] contains a number of test cases for relative URI handling.+-- Dan Connolly's Python module @uripath.py@ [5] also contains useful details+-- and test cases.+--+-- Some of the code has been copied from the previous GHC implementation,+-- but the parser is replaced with one that performs more complete+-- syntax checking of the URI itself, according to RFC3986 [3].+--+-- References+--+-- (1) <http://www.ietf.org/rfc/rfc2396.txt>+--+-- (2) <http://www.ietf.org/rfc/rfc2732.txt>+--+-- (3) <http://www.ietf.org/rfc/rfc3986.txt>+--+-- (4) <http://www.ietf.org/rfc/rfc1808.txt>+--+-- (5) <http://www.w3.org/2000/10/swap/uripath.py>+--+--------------------------------------------------------------------------------++module Network.URI+ (+ -- * The URI type+ URI(..)+ , URIAuth(..)+ , nullURI+ + -- * Parsing+ , parseURI+ , parseURIReference+ , parseRelativeReference+ , parseAbsoluteURI+ + -- * Test for strings containing various kinds of URI+ , isURI+ , isURIReference+ , isRelativeReference+ , isAbsoluteURI+ , isIPv6address+ , isIPv4address+ + -- * Predicates+ , uriIsAbsolute+ , uriIsRelative+ + -- * Relative URIs+ , relativeTo+ , nonStrictRelativeTo+ , relativeFrom+ + -- * Operations on URI strings+ -- | Support for putting strings into URI-friendly+ -- escaped format and getting them back again.+ -- This can't be done transparently in all cases, because certain+ -- characters have different meanings in different kinds of URI.+ -- The URI spec [3], section 2.4, indicates that all URI components+ -- should be escaped before they are assembled as a URI:+ -- \"Once produced, a URI is always in its percent-encoded form\"+ , uriToString+ , isReserved, isUnreserved+ , isAllowedInURI, isUnescapedInURI+ , isUnescapedInURIComponent+ , escapeURIChar+ , escapeURIString+ , unEscapeString+ + -- * URI Normalization functions+ , normalizeCase+ , normalizeEscape+ , normalizePathSegments+ + -- * Deprecated functions+ , parseabsoluteURI+ , escapeString+ , reserved, unreserved+ , scheme, authority, path, query, fragment+ ) where++import Text.ParserCombinators.Parsec+ ( GenParser, ParseError+ , parse, (<|>), (<?>), try+ , option, many, many1, count, notFollowedBy+ , char, satisfy, oneOf, string, eof+ , unexpected+ )++import Control.Monad (MonadPlus(..))+import Data.Char (ord, chr, isHexDigit, toLower, toUpper, digitToInt)+import Data.Bits ((.|.),(.&.),shiftL,shiftR)+import Debug.Trace (trace)+import Numeric (showIntAtBase)++import Data.Typeable (Typeable)+#if MIN_VERSION_base(4,0,0)+import Data.Data (Data)+#else+import Data.Generics (Data)+#endif++------------------------------------------------------------+-- The URI datatype+------------------------------------------------------------++-- |Represents a general universal resource identifier using+-- its component parts.+--+-- For example, for the URI+--+-- > foo://anonymous@www.haskell.org:42/ghc?query#frag+--+-- the components are:+--+data URI = URI+ { uriScheme :: String -- ^ @foo:@+ , uriAuthority :: Maybe URIAuth -- ^ @\/\/anonymous\@www.haskell.org:42@+ , uriPath :: String -- ^ @\/ghc@+ , uriQuery :: String -- ^ @?query@+ , uriFragment :: String -- ^ @#frag@+ } deriving (Eq, Ord, Typeable, Data)++-- |Type for authority value within a URI+data URIAuth = URIAuth+ { uriUserInfo :: String -- ^ @anonymous\@@+ , uriRegName :: String -- ^ @www.haskell.org@+ , uriPort :: String -- ^ @:42@+ } deriving (Eq, Ord, Show, Typeable, Data)++-- |Blank URI+nullURI :: URI+nullURI = URI+ { uriScheme = ""+ , uriAuthority = Nothing+ , uriPath = ""+ , uriQuery = ""+ , uriFragment = ""+ }++-- URI as instance of Show. Note that for security reasons, the default+-- behaviour is to suppress any userinfo field (see RFC3986, section 7.5).+-- This can be overridden by using uriToString directly with first+-- argument @id@ (noting that this returns a ShowS value rather than a string).+--+-- [[[Another design would be to embed the userinfo mapping function in+-- the URIAuth value, with the default value suppressing userinfo formatting,+-- but providing a function to return a new URI value with userinfo+-- data exposed by show.]]]+--+instance Show URI where+ showsPrec _ = uriToString defaultUserInfoMap++defaultUserInfoMap :: String -> String+defaultUserInfoMap uinf = user++newpass+ where+ (user,pass) = break (==':') uinf+ newpass = if null pass || (pass == "@")+ || (pass == ":@")+ then pass+ else ":...@"++testDefaultUserInfoMap :: [Bool]+testDefaultUserInfoMap =+ [ defaultUserInfoMap "" == ""+ , defaultUserInfoMap "@" == "@"+ , defaultUserInfoMap "user@" == "user@"+ , defaultUserInfoMap "user:@" == "user:@"+ , defaultUserInfoMap "user:anonymous@" == "user:...@"+ , defaultUserInfoMap "user:pass@" == "user:...@"+ , defaultUserInfoMap "user:pass" == "user:...@"+ , defaultUserInfoMap "user:anonymous" == "user:...@"+ ]++------------------------------------------------------------+-- Parse a URI+------------------------------------------------------------++-- |Turn a string containing a URI into a 'URI'.+-- Returns 'Nothing' if the string is not a valid URI;+-- (an absolute URI with optional fragment identifier).+--+-- NOTE: this is different from the previous network.URI,+-- whose @parseURI@ function works like 'parseURIReference'+-- in this module.+--+parseURI :: String -> Maybe URI+parseURI = parseURIAny uri++-- |Parse a URI reference to a 'URI' value.+-- Returns 'Nothing' if the string is not a valid URI reference.+-- (an absolute or relative URI with optional fragment identifier).+--+parseURIReference :: String -> Maybe URI+parseURIReference = parseURIAny uriReference++-- |Parse a relative URI to a 'URI' value.+-- Returns 'Nothing' if the string is not a valid relative URI.+-- (a relative URI with optional fragment identifier).+--+parseRelativeReference :: String -> Maybe URI+parseRelativeReference = parseURIAny relativeRef++-- |Parse an absolute URI to a 'URI' value.+-- Returns 'Nothing' if the string is not a valid absolute URI.+-- (an absolute URI without a fragment identifier).+--+parseAbsoluteURI :: String -> Maybe URI+parseAbsoluteURI = parseURIAny absoluteURI++-- |Test if string contains a valid URI+-- (an absolute URI with optional fragment identifier).+--+isURI :: String -> Bool+isURI = isValidParse uri++-- |Test if string contains a valid URI reference+-- (an absolute or relative URI with optional fragment identifier).+--+isURIReference :: String -> Bool+isURIReference = isValidParse uriReference++-- |Test if string contains a valid relative URI+-- (a relative URI with optional fragment identifier).+--+isRelativeReference :: String -> Bool+isRelativeReference = isValidParse relativeRef++-- |Test if string contains a valid absolute URI+-- (an absolute URI without a fragment identifier).+--+isAbsoluteURI :: String -> Bool+isAbsoluteURI = isValidParse absoluteURI++-- |Test if string contains a valid IPv6 address+--+isIPv6address :: String -> Bool+isIPv6address = isValidParse ipv6address++-- |Test if string contains a valid IPv4 address+--+isIPv4address :: String -> Bool+isIPv4address = isValidParse ipv4address++-- |Test function: parse and reconstruct a URI reference+--+testURIReference :: String -> String+testURIReference uristr = show (parseAll uriReference "" uristr)++-- Helper function for turning a string into a URI+--+parseURIAny :: URIParser URI -> String -> Maybe URI+parseURIAny parser uristr = case parseAll parser "" uristr of+ Left _ -> Nothing+ Right u -> Just u++-- Helper function to test a string match to a parser+--+isValidParse :: URIParser a -> String -> Bool+isValidParse parser uristr = case parseAll parser "" uristr of+ -- Left e -> error (show e)+ Left _ -> False+ Right _ -> True++parseAll :: URIParser a -> String -> String -> Either ParseError a+parseAll parser filename uristr = parse newparser filename uristr+ where+ newparser =+ do { res <- parser+ ; eof+ ; return res+ }++------------------------------------------------------------+-- Predicates+------------------------------------------------------------++uriIsAbsolute :: URI -> Bool+uriIsAbsolute (URI {uriScheme = scheme}) = scheme /= ""++uriIsRelative :: URI -> Bool+uriIsRelative = not . uriIsAbsolute++------------------------------------------------------------+-- URI parser body based on Parsec elements and combinators+------------------------------------------------------------++-- Parser parser type.+-- Currently+type URIParser a = GenParser Char () a++-- RFC3986, section 2.1+--+-- Parse and return a 'pct-encoded' sequence+--+escaped :: URIParser String+escaped =+ do { char '%'+ ; h1 <- hexDigitChar+ ; h2 <- hexDigitChar+ ; return $ ['%',h1,h2]+ }++-- RFC3986, section 2.2+--+-- |Returns 'True' if the character is a \"reserved\" character in a+-- URI. To include a literal instance of one of these characters in a+-- component of a URI, it must be escaped.+--+isReserved :: Char -> Bool+isReserved c = isGenDelims c || isSubDelims c++isGenDelims :: Char -> Bool+isGenDelims c = c `elem` ":/?#[]@"++isSubDelims :: Char -> Bool+isSubDelims c = c `elem` "!$&'()*+,;="++genDelims :: URIParser String+genDelims = do { c <- satisfy isGenDelims ; return [c] }++subDelims :: URIParser String+subDelims = do { c <- satisfy isSubDelims ; return [c] }++-- RFC3986, section 2.3+--+-- |Returns 'True' if the character is an \"unreserved\" character in+-- a URI. These characters do not need to be escaped in a URI. The+-- only characters allowed in a URI are either \"reserved\",+-- \"unreserved\", or an escape sequence (@%@ followed by two hex digits).+--+isUnreserved :: Char -> Bool+isUnreserved c = isAlphaNumChar c || (c `elem` "-_.~")++unreservedChar :: URIParser String+unreservedChar = do { c <- satisfy isUnreserved ; return [c] }++-- RFC3986, section 3+--+-- URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]+--+-- hier-part = "//" authority path-abempty+-- / path-abs+-- / path-rootless+-- / path-empty++uri :: URIParser URI+uri =+ do { us <- try uscheme+ -- ; ua <- option Nothing ( do { try (string "//") ; uauthority } )+ -- ; up <- upath+ ; (ua,up) <- hierPart+ ; uq <- option "" ( do { char '?' ; uquery } )+ ; uf <- option "" ( do { char '#' ; ufragment } )+ ; return $ URI+ { uriScheme = us+ , uriAuthority = ua+ , uriPath = up+ , uriQuery = uq+ , uriFragment = uf+ }+ }++hierPart :: URIParser ((Maybe URIAuth),String)+hierPart =+ do { try (string "//")+ ; ua <- uauthority+ ; up <- pathAbEmpty+ ; return (ua,up)+ }+ <|> do { up <- pathAbs+ ; return (Nothing,up)+ }+ <|> do { up <- pathRootLess+ ; return (Nothing,up)+ }+ <|> do { return (Nothing,"")+ }++-- RFC3986, section 3.1++uscheme :: URIParser String+uscheme =+ do { s <- oneThenMany alphaChar (satisfy isSchemeChar)+ ; char ':'+ ; return $ s++":"+ }++-- RFC3986, section 3.2++uauthority :: URIParser (Maybe URIAuth)+uauthority =+ do { uu <- option "" (try userinfo)+ ; uh <- host+ ; up <- option "" port+ ; return $ Just $ URIAuth+ { uriUserInfo = uu+ , uriRegName = uh+ , uriPort = up+ }+ }++-- RFC3986, section 3.2.1++userinfo :: URIParser String+userinfo =+ do { uu <- many (uchar ";:&=+$,")+ ; char '@'+ ; return (concat uu ++"@")+ }++-- RFC3986, section 3.2.2++host :: URIParser String+host = ipLiteral <|> try ipv4address <|> regName++ipLiteral :: URIParser String+ipLiteral =+ do { char '['+ ; ua <- ( ipv6address <|> ipvFuture )+ ; char ']'+ ; return $ "[" ++ ua ++ "]"+ }+ <?> "IP address literal"++ipvFuture :: URIParser String+ipvFuture =+ do { char 'v'+ ; h <- hexDigitChar+ ; char '.'+ ; a <- many1 (satisfy isIpvFutureChar)+ ; return $ 'v':h:'.':a+ }++isIpvFutureChar :: Char -> Bool+isIpvFutureChar c = isUnreserved c || isSubDelims c || (c==';')++ipv6address :: URIParser String+ipv6address =+ try ( do+ { a2 <- count 6 h4c+ ; a3 <- ls32+ ; return $ concat a2 ++ a3+ } )+ <|> try ( do+ { string "::"+ ; a2 <- count 5 h4c+ ; a3 <- ls32+ ; return $ "::" ++ concat a2 ++ a3+ } )+ <|> try ( do+ { a1 <- opt_n_h4c_h4 0+ ; string "::"+ ; a2 <- count 4 h4c+ ; a3 <- ls32+ ; return $ a1 ++ "::" ++ concat a2 ++ a3+ } )+ <|> try ( do+ { a1 <- opt_n_h4c_h4 1+ ; string "::"+ ; a2 <- count 3 h4c+ ; a3 <- ls32+ ; return $ a1 ++ "::" ++ concat a2 ++ a3+ } )+ <|> try ( do+ { a1 <- opt_n_h4c_h4 2+ ; string "::"+ ; a2 <- count 2 h4c+ ; a3 <- ls32+ ; return $ a1 ++ "::" ++ concat a2 ++ a3+ } )+ <|> try ( do+ { a1 <- opt_n_h4c_h4 3+ ; string "::"+ ; a2 <- h4c+ ; a3 <- ls32+ ; return $ a1 ++ "::" ++ a2 ++ a3+ } )+ <|> try ( do+ { a1 <- opt_n_h4c_h4 4+ ; string "::"+ ; a3 <- ls32+ ; return $ a1 ++ "::" ++ a3+ } )+ <|> try ( do+ { a1 <- opt_n_h4c_h4 5+ ; string "::"+ ; a3 <- h4+ ; return $ a1 ++ "::" ++ a3+ } )+ <|> try ( do+ { a1 <- opt_n_h4c_h4 6+ ; string "::"+ ; return $ a1 ++ "::"+ } )+ <?> "IPv6 address"++opt_n_h4c_h4 :: Int -> URIParser String+opt_n_h4c_h4 n = option "" $+ do { a1 <- countMinMax 0 n h4c+ ; a2 <- h4+ ; return $ concat a1 ++ a2+ }++ls32 :: URIParser String+ls32 = try ( do+ { a1 <- h4c+ ; a2 <- h4+ ; return (a1++a2)+ } )+ <|> ipv4address++h4c :: URIParser String+h4c = try $+ do { a1 <- h4+ ; char ':'+ ; notFollowedBy (char ':')+ ; return $ a1 ++ ":"+ }++h4 :: URIParser String+h4 = countMinMax 1 4 hexDigitChar++ipv4address :: URIParser String+ipv4address =+ do { a1 <- decOctet ; char '.'+ ; a2 <- decOctet ; char '.'+ ; a3 <- decOctet ; char '.'+ ; a4 <- decOctet+ ; notFollowedBy regName+ ; return $ a1++"."++a2++"."++a3++"."++a4+ }+ <?> "IPv4 Address"++decOctet :: URIParser String+decOctet =+ do { a1 <- countMinMax 1 3 digitChar+ ; if (read a1 :: Integer) > 255 then+ fail "Decimal octet value too large"+ else+ return a1+ }++regName :: URIParser String+regName =+ do { ss <- countMinMax 0 255 ( unreservedChar <|> escaped <|> subDelims )+ ; return $ concat ss+ }+ <?> "Registered name"++-- RFC3986, section 3.2.3++port :: URIParser String+port =+ do { char ':'+ ; p <- many digitChar+ ; return (':':p)+ }++--+-- RFC3986, section 3.3+--+-- path = path-abempty ; begins with "/" or is empty+-- / path-abs ; begins with "/" but not "//"+-- / path-noscheme ; begins with a non-colon segment+-- / path-rootless ; begins with a segment+-- / path-empty ; zero characters+--+-- path-abempty = *( "/" segment )+-- path-abs = "/" [ segment-nz *( "/" segment ) ]+-- path-noscheme = segment-nzc *( "/" segment )+-- path-rootless = segment-nz *( "/" segment )+-- path-empty = 0<pchar>+--+-- segment = *pchar+-- segment-nz = 1*pchar+-- segment-nzc = 1*( unreserved / pct-encoded / sub-delims / "@" )+--+-- pchar = unreserved / pct-encoded / sub-delims / ":" / "@"++{-+upath :: URIParser String+upath = pathAbEmpty+ <|> pathAbs+ <|> pathNoScheme+ <|> pathRootLess+ <|> pathEmpty+-}++pathAbEmpty :: URIParser String+pathAbEmpty =+ do { ss <- many slashSegment+ ; return $ concat ss+ }++pathAbs :: URIParser String+pathAbs =+ do { char '/'+ ; ss <- option "" pathRootLess+ ; return $ '/':ss+ }++pathNoScheme :: URIParser String+pathNoScheme =+ do { s1 <- segmentNzc+ ; ss <- many slashSegment+ ; return $ concat (s1:ss)+ }++pathRootLess :: URIParser String+pathRootLess =+ do { s1 <- segmentNz+ ; ss <- many slashSegment+ ; return $ concat (s1:ss)+ }++slashSegment :: URIParser String+slashSegment =+ do { char '/'+ ; s <- segment+ ; return ('/':s)+ }++segment :: URIParser String+segment =+ do { ps <- many pchar+ ; return $ concat ps+ }++segmentNz :: URIParser String+segmentNz =+ do { ps <- many1 pchar+ ; return $ concat ps+ }++segmentNzc :: URIParser String+segmentNzc =+ do { ps <- many1 (uchar "@")+ ; return $ concat ps+ }++pchar :: URIParser String+pchar = uchar ":@"++-- helper function for pchar and friends+uchar :: String -> URIParser String+uchar extras =+ unreservedChar+ <|> escaped+ <|> subDelims+ <|> do { c <- oneOf extras ; return [c] }++-- RFC3986, section 3.4++uquery :: URIParser String+uquery =+ do { ss <- many $ uchar (":@"++"/?")+ ; return $ '?':concat ss+ }++-- RFC3986, section 3.5++ufragment :: URIParser String+ufragment =+ do { ss <- many $ uchar (":@"++"/?")+ ; return $ '#':concat ss+ }++-- Reference, Relative and Absolute URI forms+--+-- RFC3986, section 4.1++uriReference :: URIParser URI+uriReference = uri <|> relativeRef++-- RFC3986, section 4.2+--+-- relative-URI = relative-part [ "?" query ] [ "#" fragment ]+--+-- relative-part = "//" authority path-abempty+-- / path-abs+-- / path-noscheme+-- / path-empty++relativeRef :: URIParser URI+relativeRef =+ do { notMatching uscheme+ -- ; ua <- option Nothing ( do { try (string "//") ; uauthority } )+ -- ; up <- upath+ ; (ua,up) <- relativePart+ ; uq <- option "" ( do { char '?' ; uquery } )+ ; uf <- option "" ( do { char '#' ; ufragment } )+ ; return $ URI+ { uriScheme = ""+ , uriAuthority = ua+ , uriPath = up+ , uriQuery = uq+ , uriFragment = uf+ }+ }++relativePart :: URIParser ((Maybe URIAuth),String)+relativePart =+ do { try (string "//")+ ; ua <- uauthority+ ; up <- pathAbEmpty+ ; return (ua,up)+ }+ <|> do { up <- pathAbs+ ; return (Nothing,up)+ }+ <|> do { up <- pathNoScheme+ ; return (Nothing,up)+ }+ <|> do { return (Nothing,"")+ }++-- RFC3986, section 4.3++absoluteURI :: URIParser URI+absoluteURI =+ do { us <- uscheme+ -- ; ua <- option Nothing ( do { try (string "//") ; uauthority } )+ -- ; up <- upath+ ; (ua,up) <- hierPart+ ; uq <- option "" ( do { char '?' ; uquery } )+ ; return $ URI+ { uriScheme = us+ , uriAuthority = ua+ , uriPath = up+ , uriQuery = uq+ , uriFragment = ""+ }+ }++-- Imports from RFC 2234++ -- NOTE: can't use isAlphaNum etc. because these deal with ISO 8859+ -- (and possibly Unicode!) chars.+ -- [[[Above was a comment originally in GHC Network/URI.hs:+ -- when IRIs are introduced then most codepoints above 128(?) should+ -- be treated as unreserved, and higher codepoints for letters should+ -- certainly be allowed.+ -- ]]]++isAlphaChar :: Char -> Bool+isAlphaChar c = (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')++isDigitChar :: Char -> Bool+isDigitChar c = (c >= '0' && c <= '9')++isAlphaNumChar :: Char -> Bool+isAlphaNumChar c = isAlphaChar c || isDigitChar c++isHexDigitChar :: Char -> Bool+isHexDigitChar c = isHexDigit c++isSchemeChar :: Char -> Bool+isSchemeChar c = (isAlphaNumChar c) || (c `elem` "+-.")++alphaChar :: URIParser Char+alphaChar = satisfy isAlphaChar -- or: Parsec.letter ?++digitChar :: URIParser Char+digitChar = satisfy isDigitChar -- or: Parsec.digit ?++alphaNumChar :: URIParser Char+alphaNumChar = satisfy isAlphaNumChar++hexDigitChar :: URIParser Char+hexDigitChar = satisfy isHexDigitChar -- or: Parsec.hexDigit ?++-- Additional parser combinators for common patterns++oneThenMany :: GenParser t s a -> GenParser t s a -> GenParser t s [a]+oneThenMany p1 pr =+ do { a1 <- p1+ ; ar <- many pr+ ; return (a1:ar)+ }++countMinMax :: Int -> Int -> GenParser t s a -> GenParser t s [a]+countMinMax m n p | m > 0 =+ do { a1 <- p+ ; ar <- countMinMax (m-1) (n-1) p+ ; return (a1:ar)+ }+countMinMax _ n _ | n <= 0 = return []+countMinMax _ n p = option [] $+ do { a1 <- p+ ; ar <- countMinMax 0 (n-1) p+ ; return (a1:ar)+ }++notMatching :: Show a => GenParser tok st a -> GenParser tok st ()+notMatching p = do { a <- try p ; unexpected (show a) } <|> return ()++------------------------------------------------------------+-- Reconstruct a URI string+------------------------------------------------------------+--+-- |Turn a 'URI' into a string.+--+-- Uses a supplied function to map the userinfo part of the URI.+--+-- The Show instance for URI uses a mapping that hides any password+-- that may be present in the URI. Use this function with argument @id@+-- to preserve the password in the formatted output.+--+uriToString :: (String->String) -> URI -> ShowS+uriToString userinfomap URI { uriScheme=myscheme+ , uriAuthority=myauthority+ , uriPath=mypath+ , uriQuery=myquery+ , uriFragment=myfragment+ } =+ (myscheme++) . (uriAuthToString userinfomap myauthority)+ . (mypath++) . (myquery++) . (myfragment++)++uriAuthToString :: (String->String) -> (Maybe URIAuth) -> ShowS+uriAuthToString _ Nothing = id -- shows ""+uriAuthToString userinfomap+ (Just URIAuth { uriUserInfo = myuinfo+ , uriRegName = myregname+ , uriPort = myport+ } ) =+ ("//"++) . (if null myuinfo then id else ((userinfomap myuinfo)++))+ . (myregname++)+ . (myport++)++------------------------------------------------------------+-- Character classes+------------------------------------------------------------++-- | Returns 'True' if the character is allowed in a URI.+--+isAllowedInURI :: Char -> Bool+isAllowedInURI c = isReserved c || isUnreserved c || c == '%' -- escape char++-- | Returns 'True' if the character is allowed unescaped in a URI.+--+isUnescapedInURI :: Char -> Bool+isUnescapedInURI c = isReserved c || isUnreserved c++-- | Returns 'True' if the character is allowed unescaped in a URI component.+--+isUnescapedInURIComponent :: Char -> Bool+isUnescapedInURIComponent c = not (isReserved c || not (isUnescapedInURI c))++------------------------------------------------------------+-- Escape sequence handling+------------------------------------------------------------++-- |Escape character if supplied predicate is not satisfied,+-- otherwise return character as singleton string.+--+escapeURIChar :: (Char->Bool) -> Char -> String+escapeURIChar p c+ | p c = [c]+ | otherwise = concatMap (\i -> '%' : myShowHex i "") (utf8EncodeChar c)+ where+ myShowHex :: Int -> ShowS+ myShowHex n r = case showIntAtBase 16 (toChrHex) n r of+ [] -> "00"+ [x] -> ['0',x]+ cs -> cs+ toChrHex d+ | d < 10 = chr (ord '0' + fromIntegral d)+ | otherwise = chr (ord 'A' + fromIntegral (d - 10))++-- From http://hackage.haskell.org/package/utf8-string+-- by Eric Mertens, BSD3+-- Returns [Int] for use with showIntAtBase+utf8EncodeChar :: Char -> [Int]+utf8EncodeChar = map fromIntegral . go . ord+ where+ go oc+ | oc <= 0x7f = [oc]++ | oc <= 0x7ff = [ 0xc0 + (oc `shiftR` 6)+ , 0x80 + oc .&. 0x3f+ ]++ | oc <= 0xffff = [ 0xe0 + (oc `shiftR` 12)+ , 0x80 + ((oc `shiftR` 6) .&. 0x3f)+ , 0x80 + oc .&. 0x3f+ ]+ | otherwise = [ 0xf0 + (oc `shiftR` 18)+ , 0x80 + ((oc `shiftR` 12) .&. 0x3f)+ , 0x80 + ((oc `shiftR` 6) .&. 0x3f)+ , 0x80 + oc .&. 0x3f+ ]++-- |Can be used to make a string valid for use in a URI.+--+escapeURIString+ :: (Char->Bool) -- ^ a predicate which returns 'False'+ -- if the character should be escaped+ -> String -- ^ the string to process+ -> String -- ^ the resulting URI string+escapeURIString p s = concatMap (escapeURIChar p) s++-- |Turns all instances of escaped characters in the string back+-- into literal characters.+--+unEscapeString :: String -> String+unEscapeString [] = ""+unEscapeString s@(c:cs) = case unEscapeByte s of+ Just (byte, rest) -> unEscapeUtf8 byte rest+ Nothing -> c : unEscapeString cs++unEscapeByte :: String -> Maybe (Int, String)+unEscapeByte ('%':x1:x2:s) | isHexDigit x1 && isHexDigit x2 =+ Just (digitToInt x1 * 16 + digitToInt x2, s)+unEscapeByte _ = Nothing++-- Adapted from http://hackage.haskell.org/package/utf8-string+-- by Eric Mertens, BSD3+unEscapeUtf8 :: Int -> String -> String+unEscapeUtf8 c rest+ | c < 0x80 = chr c : unEscapeString rest+ | c < 0xc0 = replacement_character : unEscapeString rest+ | c < 0xe0 = multi1+ | c < 0xf0 = multi_byte 2 0xf 0x800+ | c < 0xf8 = multi_byte 3 0x7 0x10000+ | c < 0xfc = multi_byte 4 0x3 0x200000+ | c < 0xfe = multi_byte 5 0x1 0x4000000+ | otherwise = replacement_character : unEscapeString rest+ where+ replacement_character = '\xfffd'+ multi1 = case unEscapeByte rest of+ Just (c1, ds) | c1 .&. 0xc0 == 0x80 ->+ let d = ((fromEnum c .&. 0x1f) `shiftL` 6) .|. fromEnum (c1 .&. 0x3f)+ in if d >= 0x000080 then toEnum d : unEscapeString ds+ else replacement_character : unEscapeString ds+ _ -> replacement_character : unEscapeString rest++ multi_byte i mask overlong =+ aux i rest (unEscapeByte rest) (c .&. mask)+ where+ aux 0 rs _ acc+ | overlong <= acc && acc <= 0x10ffff &&+ (acc < 0xd800 || 0xdfff < acc) &&+ (acc < 0xfffe || 0xffff < acc) = chr acc : unEscapeString rs+ | otherwise = replacement_character : unEscapeString rs++ aux n _ (Just (r, rs)) acc+ | r .&. 0xc0 == 0x80 = aux (n-1) rs (unEscapeByte rs)+ $! shiftL acc 6 .|. (r .&. 0x3f)++ aux _ rs _ _ = replacement_character : unEscapeString rs++------------------------------------------------------------+-- Resolving a relative URI relative to a base URI+------------------------------------------------------------++-- |Returns a new 'URI' which represents the value of the+-- first 'URI' interpreted as relative to the second 'URI'.+-- For example:+--+-- > "foo" `relativeTo` "http://bar.org/" = "http://bar.org/foo"+-- > "http:foo" `nonStrictRelativeTo` "http://bar.org/" = "http://bar.org/foo"+--+-- Algorithm from RFC3986 [3], section 5.2.2+--++nonStrictRelativeTo :: URI -> URI -> URI+nonStrictRelativeTo ref base = relativeTo ref' base+ where+ ref' = if uriScheme ref == uriScheme base+ then ref { uriScheme="" }+ else ref++isDefined :: ( MonadPlus m, Eq (m a) ) => m a -> Bool+isDefined a = a /= mzero++-- | Returns a new 'URI' which represents the value of the first 'URI'+-- interpreted as relative to the second 'URI'.+--+-- Algorithm from RFC3986 [3], section 5.2+relativeTo :: URI -> URI -> URI+relativeTo ref base+ | isDefined ( uriScheme ref ) =+ just_segments ref+ | isDefined ( uriAuthority ref ) =+ just_segments ref { uriScheme = uriScheme base }+ | isDefined ( uriPath ref ) =+ if (head (uriPath ref) == '/') then+ just_segments ref+ { uriScheme = uriScheme base+ , uriAuthority = uriAuthority base+ }+ else+ just_segments ref+ { uriScheme = uriScheme base+ , uriAuthority = uriAuthority base+ , uriPath = mergePaths base ref+ }+ | isDefined ( uriQuery ref ) =+ just_segments ref+ { uriScheme = uriScheme base+ , uriAuthority = uriAuthority base+ , uriPath = uriPath base+ }+ | otherwise =+ just_segments ref+ { uriScheme = uriScheme base+ , uriAuthority = uriAuthority base+ , uriPath = uriPath base+ , uriQuery = uriQuery base+ }+ where+ just_segments u =+ u { uriPath = removeDotSegments (uriPath u) }+ mergePaths b r+ | isDefined (uriAuthority b) && null pb = '/':pr+ | otherwise = dropLast pb ++ pr+ where+ pb = uriPath b+ pr = uriPath r+ dropLast = fst . splitLast -- reverse . dropWhile (/='/') . reverse++-- Remove dot segments, but protect leading '/' character+removeDotSegments :: String -> String+removeDotSegments ('/':ps) = '/':elimDots ps []+removeDotSegments ps = elimDots ps []++-- Second arg accumulates segments processed so far in reverse order+elimDots :: String -> [String] -> String+-- elimDots ps rs | traceVal "\nps " ps $ traceVal "rs " rs $ False = error ""+elimDots [] [] = ""+elimDots [] rs = concat (reverse rs)+elimDots ( '.':'/':ps) rs = elimDots ps rs+elimDots ( '.':[] ) rs = elimDots [] rs+elimDots ( '.':'.':'/':ps) rs = elimDots ps (drop 1 rs)+elimDots ( '.':'.':[] ) rs = elimDots [] (drop 1 rs)+elimDots ps rs = elimDots ps1 (r:rs)+ where+ (r,ps1) = nextSegment ps++-- Returns the next segment and the rest of the path from a path string.+-- Each segment ends with the next '/' or the end of string.+--+nextSegment :: String -> (String,String)+nextSegment ps =+ case break (=='/') ps of+ (r,'/':ps1) -> (r++"/",ps1)+ (r,_) -> (r,[])++-- Split last (name) segment from path, returning (path,name)+splitLast :: String -> (String,String)+splitLast p = (reverse revpath,reverse revname)+ where+ (revname,revpath) = break (=='/') $ reverse p++------------------------------------------------------------+-- Finding a URI relative to a base URI+------------------------------------------------------------++-- |Returns a new 'URI' which represents the relative location of+-- the first 'URI' with respect to the second 'URI'. Thus, the+-- values supplied are expected to be absolute URIs, and the result+-- returned may be a relative URI.+--+-- Example:+--+-- > "http://example.com/Root/sub1/name2#frag"+-- > `relativeFrom` "http://example.com/Root/sub2/name2#frag"+-- > == "../sub1/name2#frag"+--+-- There is no single correct implementation of this function,+-- but any acceptable implementation must satisfy the following:+--+-- > (uabs `relativeFrom` ubase) `relativeTo` ubase == uabs+--+-- For any valid absolute URI.+-- (cf. <http://lists.w3.org/Archives/Public/uri/2003Jan/0008.html>+-- <http://lists.w3.org/Archives/Public/uri/2003Jan/0005.html>)+--+relativeFrom :: URI -> URI -> URI+relativeFrom uabs base+ | diff uriScheme uabs base = uabs+ | diff uriAuthority uabs base = uabs { uriScheme = "" }+ | diff uriPath uabs base = uabs+ { uriScheme = ""+ , uriAuthority = Nothing+ , uriPath = relPathFrom (removeBodyDotSegments $ uriPath uabs)+ (removeBodyDotSegments $ uriPath base)+ }+ | diff uriQuery uabs base = uabs+ { uriScheme = ""+ , uriAuthority = Nothing+ , uriPath = ""+ }+ | otherwise = uabs -- Always carry fragment from uabs+ { uriScheme = ""+ , uriAuthority = Nothing+ , uriPath = ""+ , uriQuery = ""+ }+ where+ diff :: Eq b => (a -> b) -> a -> a -> Bool+ diff sel u1 u2 = sel u1 /= sel u2+ -- Remove dot segments except the final segment+ removeBodyDotSegments p = removeDotSegments p1 ++ p2+ where+ (p1,p2) = splitLast p++relPathFrom :: String -> String -> String+relPathFrom [] _ = "/"+relPathFrom pabs [] = pabs+relPathFrom pabs base = -- Construct a relative path segments+ if sa1 == sb1 -- if the paths share a leading segment+ then if (sa1 == "/") -- other than a leading '/'+ then if (sa2 == sb2)+ then relPathFrom1 ra2 rb2+ else pabs+ else relPathFrom1 ra1 rb1+ else pabs+ where+ (sa1,ra1) = nextSegment pabs+ (sb1,rb1) = nextSegment base+ (sa2,ra2) = nextSegment ra1+ (sb2,rb2) = nextSegment rb1++-- relPathFrom1 strips off trailing names from the supplied paths,+-- and calls difPathFrom to find the relative path from base to+-- target+relPathFrom1 :: String -> String -> String+relPathFrom1 pabs base = relName+ where+ (sa,na) = splitLast pabs+ (sb,nb) = splitLast base+ rp = relSegsFrom sa sb+ relName = if null rp then+ if (na == nb) then ""+ else if protect na then "./"++na+ else na+ else+ rp++na+ -- Precede name with some path if it is null or contains a ':'+ protect s = null s || ':' `elem` s++-- relSegsFrom discards any common leading segments from both paths,+-- then invokes difSegsFrom to calculate a relative path from the end+-- of the base path to the end of the target path.+-- The final name is handled separately, so this deals only with+-- "directory" segtments.+--+relSegsFrom :: String -> String -> String+{-+relSegsFrom sabs base+ | traceVal "\nrelSegsFrom\nsabs " sabs $ traceVal "base " base $+ False = error ""+-}+relSegsFrom [] [] = "" -- paths are identical+relSegsFrom sabs base =+ if sa1 == sb1+ then relSegsFrom ra1 rb1+ else difSegsFrom sabs base+ where+ (sa1,ra1) = nextSegment sabs+ (sb1,rb1) = nextSegment base++-- difSegsFrom calculates a path difference from base to target,+-- not including the final name at the end of the path+-- (i.e. results always ends with '/')+--+-- This function operates under the invariant that the supplied+-- value of sabs is the desired path relative to the beginning of+-- base. Thus, when base is empty, the desired path has been found.+--+difSegsFrom :: String -> String -> String+{-+difSegsFrom sabs base+ | traceVal "\ndifSegsFrom\nsabs " sabs $ traceVal "base " base $+ False = error ""+-}+difSegsFrom sabs "" = sabs+difSegsFrom sabs base = difSegsFrom ("../"++sabs) (snd $ nextSegment base)++------------------------------------------------------------+-- Other normalization functions+------------------------------------------------------------++-- |Case normalization; cf. RFC3986 section 6.2.2.1+-- NOTE: authority case normalization is not performed+--+normalizeCase :: String -> String+normalizeCase uristr = ncScheme uristr+ where+ ncScheme (':':cs) = ':':ncEscape cs+ ncScheme (c:cs) | isSchemeChar c = toLower c:ncScheme cs+ ncScheme _ = ncEscape uristr -- no scheme present+ ncEscape ('%':h1:h2:cs) = '%':toUpper h1:toUpper h2:ncEscape cs+ ncEscape (c:cs) = c:ncEscape cs+ ncEscape [] = []++-- |Encoding normalization; cf. RFC3986 section 6.2.2.2+--+normalizeEscape :: String -> String+normalizeEscape ('%':h1:h2:cs)+ | isHexDigit h1 && isHexDigit h2 && isUnreserved escval =+ escval:normalizeEscape cs+ where+ escval = chr (digitToInt h1*16+digitToInt h2)+normalizeEscape (c:cs) = c:normalizeEscape cs+normalizeEscape [] = []++-- |Path segment normalization; cf. RFC3986 section 6.2.2.4+--+normalizePathSegments :: String -> String+normalizePathSegments uristr = normstr juri+ where+ juri = parseURI uristr+ normstr Nothing = uristr+ normstr (Just u) = show (normuri u)+ normuri u = u { uriPath = removeDotSegments (uriPath u) }++------------------------------------------------------------+-- Local trace helper functions+------------------------------------------------------------++traceShow :: Show a => String -> a -> a+traceShow msg x = trace (msg ++ show x) x++traceVal :: Show a => String -> a -> b -> b+traceVal msg x y = trace (msg ++ show x) y++------------------------------------------------------------+-- Deprecated functions+------------------------------------------------------------++{-# DEPRECATED parseabsoluteURI "use parseAbsoluteURI" #-}+parseabsoluteURI :: String -> Maybe URI+parseabsoluteURI = parseAbsoluteURI++{-# DEPRECATED escapeString "use escapeURIString, and note the flipped arguments" #-}+escapeString :: String -> (Char->Bool) -> String+escapeString = flip escapeURIString++{-# DEPRECATED reserved "use isReserved" #-}+reserved :: Char -> Bool+reserved = isReserved++{-# DEPRECATED unreserved "use isUnreserved" #-}+unreserved :: Char -> Bool+unreserved = isUnreserved++-- Additional component access functions for backward compatibility++{-# DEPRECATED scheme "use uriScheme" #-}+scheme :: URI -> String+scheme = orNull init . uriScheme++{-# DEPRECATED authority "use uriAuthority, and note changed functionality" #-}+authority :: URI -> String+authority = dropss . ($"") . uriAuthToString id . uriAuthority+ where+ -- Old-style authority component does not include leading '//'+ dropss ('/':'/':s) = s+ dropss s = s++{-# DEPRECATED path "use uriPath" #-}+path :: URI -> String+path = uriPath++{-# DEPRECATED query "use uriQuery, and note changed functionality" #-}+query :: URI -> String+query = orNull tail . uriQuery++{-# DEPRECATED fragment "use uriFragment, and note changed functionality" #-}+fragment :: URI -> String+fragment = orNull tail . uriFragment++orNull :: ([a]->[a]) -> [a] -> [a]+orNull _ [] = []+orNull f as = f as++--------------------------------------------------------------------------------+--+-- Copyright (c) 2004, G. KLYNE. All rights reserved.+-- Distributed as free software under the following license.+--+-- Redistribution and use in source and binary forms, with or without+-- modification, are permitted provided that the following conditions+-- are met:+--+-- - Redistributions of source code must retain the above copyright notice,+-- this list of conditions and the following disclaimer.+--+-- - Redistributions in binary form must reproduce the above copyright+-- notice, this list of conditions and the following disclaimer in the+-- documentation and/or other materials provided with the distribution.+--+-- - Neither name of the copyright holders nor the names of its+-- contributors may be used to endorse or promote products derived from+-- this software without specific prior written permission.+--+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND THE CONTRIBUTORS+-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+-- HOLDERS OR THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,+-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,+-- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS+-- OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND+-- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR+-- TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE+-- USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+--+--------------------------------------------------------------------------------
+ standalone/android/tmp/network-2.4.1.2/README view
@@ -0,0 +1,4 @@+To build this package using Cabal directly from git, you must run+"autoreconf" before the usual Cabal build steps (configure/build/install).+autoreconf is included in the GNU autoconf tools. There is no need to run+the "configure" script: the "setup configure" step will do this for you.
+ standalone/android/tmp/network-2.4.1.2/Setup.hs view
@@ -0,0 +1,6 @@+module Main (main) where++import Distribution.Simple++main :: IO ()+main = defaultMainWithHooks autoconfUserHooks
+ standalone/android/tmp/network-2.4.1.2/cabal.config view
@@ -0,0 +1,199 @@+constraints: Crypto ==4.2.5.1,+ binary ==0.7.6.1,+ DAV ==1.0.3,+ HTTP ==4000.2.17,+ HUnit ==1.2.5.2,+ IfElse ==0.85,+ MissingH ==1.2.1.0,+ MonadRandom ==0.1.13,+ QuickCheck ==2.7.6,+ SafeSemaphore ==0.10.1,+ aeson ==0.7.0.6,+ ansi-wl-pprint ==0.6.7.1,+ appar ==0.1.4,+ asn1-encoding ==0.8.1.3,+ asn1-parse ==0.8.1,+ asn1-types ==0.2.3,+ async ==2.0.1.5,+ attoparsec ==0.11.3.4,+ attoparsec-conduit ==1.1.0,+ authenticate ==1.3.2.10,+ base-unicode-symbols ==0.2.2.4,+ base16-bytestring ==0.1.1.6,+ base64-bytestring ==1.0.0.1,+ bifunctors ==4.1.1.1,+ bloomfilter ==2.0.0.0,+ byteable ==0.1.1,+ byteorder ==1.0.4,+ case-insensitive ==1.2.0.1,+ cereal ==0.4.0.1,+ cipher-aes ==0.2.8,+ cipher-des ==0.0.6,+ cipher-rc4 ==0.1.4,+ clientsession ==0.9.0.3,+ comonad ==4.2,+ conduit ==1.1.6,+ conduit-extra ==1.1.3,+ connection ==0.2.3,+ contravariant ==0.6.1.1,+ cookie ==0.4.1.2,+ cprng-aes ==0.5.2,+ crypto-api ==0.13.2,+ crypto-cipher-types ==0.0.9,+ crypto-numbers ==0.2.3,+ crypto-pubkey ==0.2.4,+ crypto-pubkey-types ==0.4.2.2,+ crypto-random ==0.0.7,+ cryptohash ==0.11.6,+ cryptohash-conduit ==0.1.1,+ css-text ==0.1.2.1,+ data-default ==0.5.3,+ data-default-class ==0.0.1,+ data-default-instances-base ==0.0.1,+ data-default-instances-containers ==0.0.1,+ data-default-instances-dlist ==0.0.1,+ data-default-instances-old-locale ==0.0.1,+ sandi ==0.3.0.1,+ dbus ==0.10.8,+ distributive ==0.4.4,+ dlist ==0.7.0.1,+ dns ==1.3.0,+ edit-distance ==0.2.1.2,+ either ==4.3,+ email-validate ==1.0.0,+ entropy ==0.2.1,+ errors ==1.4.7,+ exceptions ==0.6.1,+ failure ==0.2.0.3,+ fast-logger ==2.1.5,+ fdo-notify ==0.3.1,+ feed ==0.3.9.2,+ file-embed ==0.0.6,+ fingertree ==0.1.0.0,+ free ==4.9,+ gnuidn ==0.2,+ gnutls ==0.1.4,+ gsasl ==0.3.5,+ hS3 ==0.5.7,+ hashable ==1.2.1.0,+ hinotify ==0.3.5,+ hjsmin ==0.1.4.7,+ hslogger ==1.2.1,+ http-client ==0.4.11.1,+ http-client-tls ==0.2.2,+ http-conduit ==2.1.5,+ http-date ==0.0.2,+ http-types ==0.8.5,+ hxt ==9.3.1.4,+ hxt-charproperties ==9.1.1.1,+ hxt-regex-xmlschema ==9.0.4,+ hxt-unicode ==9.0.2.2,+ idna ==0.2,+ iproute ==1.2.11,+ json ==0.5,+ keys ==3.10.1,+ language-javascript ==0.5.13,+ lens ==4.4.0.2,+ libxml-sax ==0.7.5,+ mime-mail ==0.4.1.2,+ mime-types ==0.1.0.4,+ mmorph ==1.0.3,+ monad-control ==0.3.2.2,+ monad-logger ==0.3.6.1,+ monad-loops ==0.4.2.1,+ monads-tf ==0.1.0.2,+ mtl ==2.1.2,+ nats ==0.1.2,+ network ==2.4.1.2,+ network-conduit ==1.1.0,+ network-info ==0.2.0.5,+ network-multicast ==0.0.10,+ network-protocol-xmpp ==0.4.6,+ network-uri ==2.6.0.1,+ optparse-applicative ==0.11.0.2,+ parallel ==3.2.0.4,+ path-pieces ==0.1.4,+ pem ==0.2.2,+ persistent ==1.3.3,+ persistent-template ==1.3.2.2,+ pointed ==4.0,+ prelude-extras ==0.4,+ profunctors ==4.0.4,+ publicsuffixlist ==0.1,+ punycode ==2.0,+ random ==1.0.1.1,+ ranges ==0.2.4,+ reducers ==3.10.2.1,+ reflection ==1.2.0.1,+ regex-base ==0.93.2,+ regex-compat ==0.95.1,+ regex-posix ==0.95.2,+ regex-tdfa ==1.2.0,+ resource-pool ==0.2.1.1,+ resourcet ==1.1.2.3,+ safe ==0.3.8,+ securemem ==0.1.3,+ semigroupoids ==4.2,+ semigroups ==0.15.3,+ shakespeare ==2.0.5,+ silently ==1.2.4.1,+ simple-sendfile ==0.2.14,+ skein ==1.0.9,+ socks ==0.5.4,+ split ==0.2.2,+ stm ==2.4.2,+ stm-chans ==3.0.0.2,+ streaming-commons ==0.1.4.1,+ stringprep ==0.1.5,+ stringsearch ==0.3.6.5,+ syb ==0.4.0,+ system-fileio ==0.3.14,+ system-filepath ==0.4.12,+ tagged ==0.7.2,+ tagsoup ==0.13.1,+ tagstream-conduit ==0.5.5.1,+ text ==1.1.1.0,+ text-icu ==0.6.3.7,+ tf-random ==0.5,+ tls ==1.2.9,+ transformers ==0.3.0.0,+ transformers-base ==0.4.1,+ transformers-compat ==0.3.3.3,+ unbounded-delays ==0.1.0.8,+ unix-compat ==0.4.1.3,+ unix-time ==0.2.2,+ unordered-containers ==0.2.5.0,+ utf8-string ==0.3.7,+ uuid ==1.3.3,+ vault ==0.3.0.3,+ vector ==0.10.0.1,+ void ==0.6.1,+ wai ==3.0.1.1,+ wai-app-static ==3.0.0.1,+ wai-extra ==3.0.1.2,+ wai-logger ==2.1.1,+ warp ==3.0.0.5,+ warp-tls ==3.0.0,+ word8 ==0.1.1,+ x509 ==1.4.11,+ x509-store ==1.4.4,+ x509-system ==1.4.5,+ x509-validation ==1.5.0,+ xml ==1.3.13,+ xml-conduit ==1.2.1,+ xml-hamlet ==0.4.0.9,+ xml-types ==0.3.4,+ xss-sanitize ==0.3.5.2,+ yaml ==0.8.9.3,+ yesod ==1.2.6.1,+ yesod-auth ==1.3.4.6,+ yesod-core ==1.2.20.1,+ yesod-default ==1.2.0,+ yesod-form ==1.3.16,+ yesod-persistent ==1.2.3.1,+ yesod-routes ==1.2.0.7,+ yesod-static ==1.2.4,+ zlib ==0.5.4.1,+ bytestring ==0.10.4.0,+ scientific ==0.3.3.1,+ clock ==0.4.6.0
+ standalone/android/tmp/network-2.4.1.2/cbits/HsNet.c view
@@ -0,0 +1,22 @@+/* -----------------------------------------------------------------------------+ * (c) The University of Glasgow 2002+ *+ * static versions of the inline functions from HsNet.h+ * -------------------------------------------------------------------------- */++#define INLINE+#include "HsNet.h"++#include <sys/endian.h>+uint16_t my_htons(uint16_t v)+{+ htons(v);+}+uint32_t my_htonl(uint32_t v)+{+ htonl(v);+}+uint16_t my_ntohs(uint16_t v)+{+ ntohs(v);+}
+ standalone/android/tmp/network-2.4.1.2/cbits/ancilData.c view
@@ -0,0 +1,123 @@+/*+ * Copyright(c), 2002 The GHC Team.+ */++#ifdef aix_HOST_OS+#define _LINUX_SOURCE_COMPAT +// Required to get CMSG_SPACE/CMSG_LEN macros. See #265.+// Alternative is to #define COMPAT_43 and use the +// HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS code instead, but that means+// fiddling with the configure script too.+#endif++#include "HsNet.h"+#include <string.h>++#if HAVE_STRUCT_MSGHDR_MSG_CONTROL || HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS /* until end */++/* + * Support for transmitting file descriptors.+ *+ * + */+ ++/*+ * sendmsg() and recvmsg() wrappers for transmitting+ * ancillary socket data.+ *+ * Doesn't provide the full generality of either, specifically:+ *+ * - no support for scattered read/writes.+ * - only possible to send one ancillary chunk of data at a time.+ */++int+sendFd(int sock,+ int outfd)+{+ struct msghdr msg = {0};+ struct iovec iov[1];+ char buf[2];+#if HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS+ msg.msg_accrights = (void*)&outfd;+ msg.msg_accrightslen = sizeof(int);+#else+ struct cmsghdr *cmsg;+ char ancBuffer[CMSG_SPACE(sizeof(int))];+ char* dPtr;+ + msg.msg_control = ancBuffer;+ msg.msg_controllen = sizeof(ancBuffer);++ cmsg = CMSG_FIRSTHDR(&msg);+ cmsg->cmsg_level = SOL_SOCKET;+ cmsg->cmsg_type = SCM_RIGHTS;+ cmsg->cmsg_len = CMSG_LEN(sizeof(int));+ dPtr = (char*)CMSG_DATA(cmsg);+ + *(int*)dPtr = outfd;+ msg.msg_controllen = cmsg->cmsg_len;+#endif++ buf[0] = 0; buf[1] = '\0';+ iov[0].iov_base = buf;+ iov[0].iov_len = 2;++ msg.msg_iov = iov;+ msg.msg_iovlen = 1;+ + return sendmsg(sock,&msg,0);+}++int+recvFd(int sock)+{+ struct msghdr msg = {0};+ char duffBuf[10];+ int rc;+ int len = sizeof(int);+ struct iovec iov[1];+#if HAVE_STRUCT_MSGHDR_MSG_CONTROL+ struct cmsghdr *cmsg = NULL;+ struct cmsghdr *cptr;+#else+ int* fdBuffer;+#endif++ iov[0].iov_base = duffBuf;+ iov[0].iov_len = sizeof(duffBuf);+ msg.msg_iov = iov;+ msg.msg_iovlen = 1;++#if HAVE_STRUCT_MSGHDR_MSG_CONTROL+ cmsg = (struct cmsghdr*)malloc(CMSG_SPACE(len));+ if (cmsg==NULL) {+ return -1;+ }+ + msg.msg_control = (void *)cmsg;+ msg.msg_controllen = CMSG_LEN(len);+#else+ fdBuffer = (int*)malloc(len);+ if (fdBuffer) {+ msg.msg_accrights = (void *)fdBuffer;+ } else {+ return -1;+ }+ msg.msg_accrightslen = len;+#endif++ if ((rc = recvmsg(sock,&msg,0)) < 0) {+ return rc;+ }+ +#if HAVE_STRUCT_MSGHDR_MSG_CONTROL+ cptr = (struct cmsghdr*)CMSG_FIRSTHDR(&msg);+ return *(int*)CMSG_DATA(cptr);+#else+ return *(int*)fdBuffer;+#endif+}++#endif
+ standalone/android/tmp/network-2.4.1.2/cbits/asyncAccept.c view
@@ -0,0 +1,72 @@+/*+ * (c) sof, 2003.+ */++#include "HsNet.h"+#include "HsFFI.h"++#if defined(HAVE_WINSOCK2_H) && !defined(__CYGWIN__)++/* all the way to the end */++/*+ * To support non-blocking accept()s with WinSock, we use the asyncDoProc#+ * primop, which lets a Haskell thread call an external routine without+ * blocking the progress of other threads. + *+ * As can readily be seen, this is a low-level mechanism.+ *+ */++typedef struct AcceptData {+ int fdSock;+ int newSock;+ void* sockAddr;+ int size;+} AcceptData;++/*+ * Fill in parameter block that's passed along when the RTS invokes the + * accept()-calling proc below (acceptDoProc())+ */+void*+newAcceptParams(int sock,+ int sz,+ void* sockaddr)+{+ AcceptData* data = (AcceptData*)malloc(sizeof(AcceptData));+ if (!data) return NULL;+ data->fdSock = sock;+ data->newSock = 0;+ data->sockAddr = sockaddr;+ data->size = sz;+ + return data;+}++/* Accessors for return code and accept()'s socket result. */++int+acceptNewSock(void* d)+{+ return (((AcceptData*)d)->newSock);+}++/* Routine invoked by an RTS worker thread */+int+acceptDoProc(void* param)+{+ SOCKET s;++ AcceptData* data = (AcceptData*)param;+ s = accept( data->fdSock,+ data->sockAddr,+ &data->size);+ data->newSock = s;+ if ( s == INVALID_SOCKET ) {+ return GetLastError();+ } else {+ return 0;+ }+}+#endif
+ standalone/android/tmp/network-2.4.1.2/cbits/initWinSock.c view
@@ -0,0 +1,52 @@+#include "HsNet.h"+#include "HsFFI.h"++#if defined(HAVE_WINSOCK2_H) && !defined(__CYGWIN__)++static int winsock_inited = 0;+static int winsock_uninited = 0;++/* Initialising WinSock... */+int+initWinSock ()+{+ WORD wVersionRequested;+ WSADATA wsaData; + int err;++ if (!winsock_inited) {+ wVersionRequested = MAKEWORD( 2, 2 );++ err = WSAStartup ( wVersionRequested, &wsaData );+ + if ( err != 0 ) {+ return err;+ }++ if ( LOBYTE( wsaData.wVersion ) != 2 ||+ HIBYTE( wsaData.wVersion ) != 2 ) {+ WSACleanup();+ return (-1);+ }++ winsock_inited = 1;+ }+ return 0;+}++static void+shutdownHandler(void)+{+ WSACleanup();+}++void+shutdownWinSock()+{+ if (!winsock_uninited) {+ atexit(shutdownHandler);+ winsock_uninited = 1;+ }+}++#endif
+ standalone/android/tmp/network-2.4.1.2/cbits/winSockErr.c view
@@ -0,0 +1,76 @@+#include "HsNet.h"+#include "HsFFI.h"++#if defined(HAVE_WINSOCK2_H) && !defined(__CYGWIN__)+#include <stdio.h>++/* to the end */++const char*+getWSErrorDescr(int err)+{+ static char otherErrMsg[256];++ switch (err) {+ case WSAEINTR: return "Interrupted function call (WSAEINTR)";+ case WSAEBADF: return "bad socket descriptor (WSAEBADF)";+ case WSAEACCES: return "Permission denied (WSAEACCESS)";+ case WSAEFAULT: return "Bad address (WSAEFAULT)";+ case WSAEINVAL: return "Invalid argument (WSAEINVAL)";+ case WSAEMFILE: return "Too many open files (WSAEMFILE)";+ case WSAEWOULDBLOCK: return "Resource temporarily unavailable (WSAEWOULDBLOCK)";+ case WSAEINPROGRESS: return "Operation now in progress (WSAEINPROGRESS)";+ case WSAEALREADY: return "Operation already in progress (WSAEALREADY)";+ case WSAENOTSOCK: return "Socket operation on non-socket (WSAENOTSOCK)";+ case WSAEDESTADDRREQ: return "Destination address required (WSAEDESTADDRREQ)";+ case WSAEMSGSIZE: return "Message too long (WSAEMSGSIZE)";+ case WSAEPROTOTYPE: return "Protocol wrong type for socket (WSAEPROTOTYPE)";+ case WSAENOPROTOOPT: return "Bad protocol option (WSAENOPROTOOPT)";+ case WSAEPROTONOSUPPORT: return "Protocol not supported (WSAEPROTONOSUPPORT)";+ case WSAESOCKTNOSUPPORT: return "Socket type not supported (WSAESOCKTNOSUPPORT)";+ case WSAEOPNOTSUPP: return "Operation not supported (WSAEOPNOTSUPP)";+ case WSAEPFNOSUPPORT: return "Protocol family not supported (WSAEPFNOSUPPORT)";+ case WSAEAFNOSUPPORT: return "Address family not supported by protocol family (WSAEAFNOSUPPORT)";+ case WSAEADDRINUSE: return "Address already in use (WSAEADDRINUSE)";+ case WSAEADDRNOTAVAIL: return "Cannot assign requested address (WSAEADDRNOTAVAIL)";+ case WSAENETDOWN: return "Network is down (WSAENETDOWN)";+ case WSAENETUNREACH: return "Network is unreachable (WSAENETUNREACH)";+ case WSAENETRESET: return "Network dropped connection on reset (WSAENETRESET)";+ case WSAECONNABORTED: return "Software caused connection abort (WSAECONNABORTED)";+ case WSAECONNRESET: return "Connection reset by peer (WSAECONNRESET)";+ case WSAENOBUFS: return "No buffer space available (WSAENOBUFS)";+ case WSAEISCONN: return "Socket is already connected (WSAEISCONN)";+ case WSAENOTCONN: return "Socket is not connected (WSAENOTCONN)";+ case WSAESHUTDOWN: return "Cannot send after socket shutdown (WSAESHUTDOWN)";+ case WSAETOOMANYREFS: return "Too many references (WSAETOOMANYREFS)";+ case WSAETIMEDOUT: return "Connection timed out (WSAETIMEDOUT)";+ case WSAECONNREFUSED: return "Connection refused (WSAECONNREFUSED)";+ case WSAELOOP: return "Too many levels of symbolic links (WSAELOOP)";+ case WSAENAMETOOLONG: return "Filename too long (WSAENAMETOOLONG)";+ case WSAEHOSTDOWN: return "Host is down (WSAEHOSTDOWN)";+ case WSAEHOSTUNREACH: return "Host is unreachable (WSAEHOSTUNREACH)";+ case WSAENOTEMPTY: return "Resource not empty (WSAENOTEMPTY)";+ case WSAEPROCLIM: return "Too many processes (WSAEPROCLIM)";+ case WSAEUSERS: return "Too many users (WSAEUSERS)";+ case WSAEDQUOT: return "Disk quota exceeded (WSAEDQUOT)";+ case WSAESTALE: return "Stale NFS file handle (WSAESTALE)";+ case WSAEREMOTE: return "Too many levels of remote in path (WSAEREMOTE)";+ case WSAEDISCON: return "Graceful shutdown in progress (WSAEDISCON)";+ case WSASYSNOTREADY: return "Network subsystem is unavailable (WSASYSNOTREADY)";+ case WSAVERNOTSUPPORTED: return "Winsock.dll version out of range (WSAVERNOTSUPPORTED)";+ case WSANOTINITIALISED: return "Successful WSAStartup not yet performed (WSANOTINITIALISED)";+#ifdef WSATYPE_NOT_FOUND+ case WSATYPE_NOT_FOUND: return "Class type not found (WSATYPE_NOT_FOUND)";+#endif+ case WSAHOST_NOT_FOUND: return "Host not found (WSAHOST_NOT_FOUND)";+ case WSATRY_AGAIN: return "Nonauthoritative host not found (WSATRY_AGAIN)";+ case WSANO_RECOVERY: return "This is a nonrecoverable error (WSANO_RECOVERY)";+ case WSANO_DATA: return "Valid name, no data record of requested type (WSANO_DATA)";+ default:+ sprintf(otherErrMsg, "Unknown WinSock error: %u", err);+ return otherErrMsg;+ }+}++#endif+
+ standalone/android/tmp/network-2.4.1.2/config.guess view
@@ -0,0 +1,1420 @@+#! /bin/sh+# Attempt to guess a canonical system name.+# Copyright 1992-2014 Free Software Foundation, Inc.++timestamp='2014-03-23'++# This file is free software; you can redistribute it and/or modify it+# under the terms of the GNU General Public License as published by+# the Free Software Foundation; either version 3 of the License, or+# (at your option) any later version.+#+# This program is distributed in the hope that it will be useful, but+# WITHOUT ANY WARRANTY; without even the implied warranty of+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+# General Public License for more details.+#+# You should have received a copy of the GNU General Public License+# along with this program; if not, see <http://www.gnu.org/licenses/>.+#+# As a special exception to the GNU General Public License, if you+# distribute this file as part of a program that contains a+# configuration script generated by Autoconf, you may include it under+# the same distribution terms that you use for the rest of that+# program. This Exception is an additional permission under section 7+# of the GNU General Public License, version 3 ("GPLv3").+#+# Originally written by Per Bothner.+#+# You can get the latest version of this script from:+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD+#+# Please send patches with a ChangeLog entry to config-patches@gnu.org.+++me=`echo "$0" | sed -e 's,.*/,,'`++usage="\+Usage: $0 [OPTION]++Output the configuration name of the system \`$me' is run on.++Operation modes:+ -h, --help print this help, then exit+ -t, --time-stamp print date of last modification, then exit+ -v, --version print version number, then exit++Report bugs and patches to <config-patches@gnu.org>."++version="\+GNU config.guess ($timestamp)++Originally written by Per Bothner.+Copyright 1992-2014 Free Software Foundation, Inc.++This is free software; see the source for copying conditions. There is NO+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."++help="+Try \`$me --help' for more information."++# Parse command line+while test $# -gt 0 ; do+ case $1 in+ --time-stamp | --time* | -t )+ echo "$timestamp" ; exit ;;+ --version | -v )+ echo "$version" ; exit ;;+ --help | --h* | -h )+ echo "$usage"; exit ;;+ -- ) # Stop option processing+ shift; break ;;+ - ) # Use stdin as input.+ break ;;+ -* )+ echo "$me: invalid option $1$help" >&2+ exit 1 ;;+ * )+ break ;;+ esac+done++if test $# != 0; then+ echo "$me: too many arguments$help" >&2+ exit 1+fi++trap 'exit 1' 1 2 15++# CC_FOR_BUILD -- compiler used by this script. Note that the use of a+# compiler to aid in system detection is discouraged as it requires+# temporary files to be created and, as you can see below, it is a+# headache to deal with in a portable fashion.++# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still+# use `HOST_CC' if defined, but it is deprecated.++# Portable tmp directory creation inspired by the Autoconf team.++set_cc_for_build='+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;+: ${TMPDIR=/tmp} ;+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;+dummy=$tmp/dummy ;+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;+case $CC_FOR_BUILD,$HOST_CC,$CC in+ ,,) echo "int x;" > $dummy.c ;+ for c in cc gcc c89 c99 ; do+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then+ CC_FOR_BUILD="$c"; break ;+ fi ;+ done ;+ if test x"$CC_FOR_BUILD" = x ; then+ CC_FOR_BUILD=no_compiler_found ;+ fi+ ;;+ ,,*) CC_FOR_BUILD=$CC ;;+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;+esac ; set_cc_for_build= ;'++# This is needed to find uname on a Pyramid OSx when run in the BSD universe.+# (ghazi@noc.rutgers.edu 1994-08-24)+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then+ PATH=$PATH:/.attbin ; export PATH+fi++UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown++case "${UNAME_SYSTEM}" in+Linux|GNU|GNU/*)+ # If the system lacks a compiler, then just pick glibc.+ # We could probably try harder.+ LIBC=gnu++ eval $set_cc_for_build+ cat <<-EOF > $dummy.c+ #include <features.h>+ #if defined(__UCLIBC__)+ LIBC=uclibc+ #elif defined(__dietlibc__)+ LIBC=dietlibc+ #else+ LIBC=gnu+ #endif+ EOF+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`+ ;;+esac++# Note: order is significant - the case branches are not exclusive.++case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in+ *:NetBSD:*:*)+ # NetBSD (nbsd) targets should (where applicable) match one or+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently+ # switched to ELF, *-*-netbsd* would select the old+ # object file format. This provides both forward+ # compatibility and a consistent mechanism for selecting the+ # object file format.+ #+ # Note: NetBSD doesn't particularly care about the vendor+ # portion of the name. We always set it to "unknown".+ sysctl="sysctl -n hw.machine_arch"+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`+ case "${UNAME_MACHINE_ARCH}" in+ armeb) machine=armeb-unknown ;;+ arm*) machine=arm-unknown ;;+ sh3el) machine=shl-unknown ;;+ sh3eb) machine=sh-unknown ;;+ sh5el) machine=sh5le-unknown ;;+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;+ esac+ # The Operating System including object format, if it has switched+ # to ELF recently, or will in the future.+ case "${UNAME_MACHINE_ARCH}" in+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)+ eval $set_cc_for_build+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \+ | grep -q __ELF__+ then+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).+ # Return netbsd for either. FIX?+ os=netbsd+ else+ os=netbsdelf+ fi+ ;;+ *)+ os=netbsd+ ;;+ esac+ # The OS release+ # Debian GNU/NetBSD machines have a different userland, and+ # thus, need a distinct triplet. However, they do not need+ # kernel version information, so it can be replaced with a+ # suitable tag, in the style of linux-gnu.+ case "${UNAME_VERSION}" in+ Debian*)+ release='-gnu'+ ;;+ *)+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`+ ;;+ esac+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:+ # contains redundant information, the shorter form:+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.+ echo "${machine}-${os}${release}"+ exit ;;+ *:Bitrig:*:*)+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}+ exit ;;+ *:OpenBSD:*:*)+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}+ exit ;;+ *:ekkoBSD:*:*)+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}+ exit ;;+ *:SolidBSD:*:*)+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}+ exit ;;+ macppc:MirBSD:*:*)+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}+ exit ;;+ *:MirBSD:*:*)+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}+ exit ;;+ alpha:OSF1:*:*)+ case $UNAME_RELEASE in+ *4.0)+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`+ ;;+ *5.*)+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`+ ;;+ esac+ # According to Compaq, /usr/sbin/psrinfo has been available on+ # OSF/1 and Tru64 systems produced since 1995. I hope that+ # covers most systems running today. This code pipes the CPU+ # types through head -n 1, so we only detect the type of CPU 0.+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`+ case "$ALPHA_CPU_TYPE" in+ "EV4 (21064)")+ UNAME_MACHINE="alpha" ;;+ "EV4.5 (21064)")+ UNAME_MACHINE="alpha" ;;+ "LCA4 (21066/21068)")+ UNAME_MACHINE="alpha" ;;+ "EV5 (21164)")+ UNAME_MACHINE="alphaev5" ;;+ "EV5.6 (21164A)")+ UNAME_MACHINE="alphaev56" ;;+ "EV5.6 (21164PC)")+ UNAME_MACHINE="alphapca56" ;;+ "EV5.7 (21164PC)")+ UNAME_MACHINE="alphapca57" ;;+ "EV6 (21264)")+ UNAME_MACHINE="alphaev6" ;;+ "EV6.7 (21264A)")+ UNAME_MACHINE="alphaev67" ;;+ "EV6.8CB (21264C)")+ UNAME_MACHINE="alphaev68" ;;+ "EV6.8AL (21264B)")+ UNAME_MACHINE="alphaev68" ;;+ "EV6.8CX (21264D)")+ UNAME_MACHINE="alphaev68" ;;+ "EV6.9A (21264/EV69A)")+ UNAME_MACHINE="alphaev69" ;;+ "EV7 (21364)")+ UNAME_MACHINE="alphaev7" ;;+ "EV7.9 (21364A)")+ UNAME_MACHINE="alphaev79" ;;+ esac+ # A Pn.n version is a patched version.+ # A Vn.n version is a released version.+ # A Tn.n version is a released field test version.+ # A Xn.n version is an unreleased experimental baselevel.+ # 1.2 uses "1.2" for uname -r.+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.+ exitcode=$?+ trap '' 0+ exit $exitcode ;;+ Alpha\ *:Windows_NT*:*)+ # How do we know it's Interix rather than the generic POSIX subsystem?+ # Should we change UNAME_MACHINE based on the output of uname instead+ # of the specific Alpha model?+ echo alpha-pc-interix+ exit ;;+ 21064:Windows_NT:50:3)+ echo alpha-dec-winnt3.5+ exit ;;+ Amiga*:UNIX_System_V:4.0:*)+ echo m68k-unknown-sysv4+ exit ;;+ *:[Aa]miga[Oo][Ss]:*:*)+ echo ${UNAME_MACHINE}-unknown-amigaos+ exit ;;+ *:[Mm]orph[Oo][Ss]:*:*)+ echo ${UNAME_MACHINE}-unknown-morphos+ exit ;;+ *:OS/390:*:*)+ echo i370-ibm-openedition+ exit ;;+ *:z/VM:*:*)+ echo s390-ibm-zvmoe+ exit ;;+ *:OS400:*:*)+ echo powerpc-ibm-os400+ exit ;;+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)+ echo arm-acorn-riscix${UNAME_RELEASE}+ exit ;;+ arm*:riscos:*:*|arm*:RISCOS:*:*)+ echo arm-unknown-riscos+ exit ;;+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)+ echo hppa1.1-hitachi-hiuxmpp+ exit ;;+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.+ if test "`(/bin/universe) 2>/dev/null`" = att ; then+ echo pyramid-pyramid-sysv3+ else+ echo pyramid-pyramid-bsd+ fi+ exit ;;+ NILE*:*:*:dcosx)+ echo pyramid-pyramid-svr4+ exit ;;+ DRS?6000:unix:4.0:6*)+ echo sparc-icl-nx6+ exit ;;+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)+ case `/usr/bin/uname -p` in+ sparc) echo sparc-icl-nx7; exit ;;+ esac ;;+ s390x:SunOS:*:*)+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`+ exit ;;+ sun4H:SunOS:5.*:*)+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`+ exit ;;+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`+ exit ;;+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)+ echo i386-pc-auroraux${UNAME_RELEASE}+ exit ;;+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)+ eval $set_cc_for_build+ SUN_ARCH="i386"+ # If there is a compiler, see if it is configured for 64-bit objects.+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.+ # This test works for both compilers.+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \+ grep IS_64BIT_ARCH >/dev/null+ then+ SUN_ARCH="x86_64"+ fi+ fi+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`+ exit ;;+ sun4*:SunOS:6*:*)+ # According to config.sub, this is the proper way to canonicalize+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but+ # it's likely to be more like Solaris than SunOS4.+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`+ exit ;;+ sun4*:SunOS:*:*)+ case "`/usr/bin/arch -k`" in+ Series*|S4*)+ UNAME_RELEASE=`uname -v`+ ;;+ esac+ # Japanese Language versions have a version number like `4.1.3-JL'.+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`+ exit ;;+ sun3*:SunOS:*:*)+ echo m68k-sun-sunos${UNAME_RELEASE}+ exit ;;+ sun*:*:4.2BSD:*)+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3+ case "`/bin/arch`" in+ sun3)+ echo m68k-sun-sunos${UNAME_RELEASE}+ ;;+ sun4)+ echo sparc-sun-sunos${UNAME_RELEASE}+ ;;+ esac+ exit ;;+ aushp:SunOS:*:*)+ echo sparc-auspex-sunos${UNAME_RELEASE}+ exit ;;+ # The situation for MiNT is a little confusing. The machine name+ # can be virtually everything (everything which is not+ # "atarist" or "atariste" at least should have a processor+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"+ # to the lowercase version "mint" (or "freemint"). Finally+ # the system name "TOS" denotes a system which is actually not+ # MiNT. But MiNT is downward compatible to TOS, so this should+ # be no problem.+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)+ echo m68k-atari-mint${UNAME_RELEASE}+ exit ;;+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)+ echo m68k-atari-mint${UNAME_RELEASE}+ exit ;;+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)+ echo m68k-atari-mint${UNAME_RELEASE}+ exit ;;+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)+ echo m68k-milan-mint${UNAME_RELEASE}+ exit ;;+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)+ echo m68k-hades-mint${UNAME_RELEASE}+ exit ;;+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)+ echo m68k-unknown-mint${UNAME_RELEASE}+ exit ;;+ m68k:machten:*:*)+ echo m68k-apple-machten${UNAME_RELEASE}+ exit ;;+ powerpc:machten:*:*)+ echo powerpc-apple-machten${UNAME_RELEASE}+ exit ;;+ RISC*:Mach:*:*)+ echo mips-dec-mach_bsd4.3+ exit ;;+ RISC*:ULTRIX:*:*)+ echo mips-dec-ultrix${UNAME_RELEASE}+ exit ;;+ VAX*:ULTRIX*:*:*)+ echo vax-dec-ultrix${UNAME_RELEASE}+ exit ;;+ 2020:CLIX:*:* | 2430:CLIX:*:*)+ echo clipper-intergraph-clix${UNAME_RELEASE}+ exit ;;+ mips:*:*:UMIPS | mips:*:*:RISCos)+ eval $set_cc_for_build+ sed 's/^ //' << EOF >$dummy.c+#ifdef __cplusplus+#include <stdio.h> /* for printf() prototype */+ int main (int argc, char *argv[]) {+#else+ int main (argc, argv) int argc; char *argv[]; {+#endif+ #if defined (host_mips) && defined (MIPSEB)+ #if defined (SYSTYPE_SYSV)+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);+ #endif+ #if defined (SYSTYPE_SVR4)+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);+ #endif+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);+ #endif+ #endif+ exit (-1);+ }+EOF+ $CC_FOR_BUILD -o $dummy $dummy.c &&+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&+ SYSTEM_NAME=`$dummy $dummyarg` &&+ { echo "$SYSTEM_NAME"; exit; }+ echo mips-mips-riscos${UNAME_RELEASE}+ exit ;;+ Motorola:PowerMAX_OS:*:*)+ echo powerpc-motorola-powermax+ exit ;;+ Motorola:*:4.3:PL8-*)+ echo powerpc-harris-powermax+ exit ;;+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)+ echo powerpc-harris-powermax+ exit ;;+ Night_Hawk:Power_UNIX:*:*)+ echo powerpc-harris-powerunix+ exit ;;+ m88k:CX/UX:7*:*)+ echo m88k-harris-cxux7+ exit ;;+ m88k:*:4*:R4*)+ echo m88k-motorola-sysv4+ exit ;;+ m88k:*:3*:R3*)+ echo m88k-motorola-sysv3+ exit ;;+ AViiON:dgux:*:*)+ # DG/UX returns AViiON for all architectures+ UNAME_PROCESSOR=`/usr/bin/uname -p`+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]+ then+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \+ [ ${TARGET_BINARY_INTERFACE}x = x ]+ then+ echo m88k-dg-dgux${UNAME_RELEASE}+ else+ echo m88k-dg-dguxbcs${UNAME_RELEASE}+ fi+ else+ echo i586-dg-dgux${UNAME_RELEASE}+ fi+ exit ;;+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)+ echo m88k-dolphin-sysv3+ exit ;;+ M88*:*:R3*:*)+ # Delta 88k system running SVR3+ echo m88k-motorola-sysv3+ exit ;;+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)+ echo m88k-tektronix-sysv3+ exit ;;+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)+ echo m68k-tektronix-bsd+ exit ;;+ *:IRIX*:*:*)+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`+ exit ;;+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '+ i*86:AIX:*:*)+ echo i386-ibm-aix+ exit ;;+ ia64:AIX:*:*)+ if [ -x /usr/bin/oslevel ] ; then+ IBM_REV=`/usr/bin/oslevel`+ else+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}+ fi+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}+ exit ;;+ *:AIX:2:3)+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then+ eval $set_cc_for_build+ sed 's/^ //' << EOF >$dummy.c+ #include <sys/systemcfg.h>++ main()+ {+ if (!__power_pc())+ exit(1);+ puts("powerpc-ibm-aix3.2.5");+ exit(0);+ }+EOF+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`+ then+ echo "$SYSTEM_NAME"+ else+ echo rs6000-ibm-aix3.2.5+ fi+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then+ echo rs6000-ibm-aix3.2.4+ else+ echo rs6000-ibm-aix3.2+ fi+ exit ;;+ *:AIX:*:[4567])+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then+ IBM_ARCH=rs6000+ else+ IBM_ARCH=powerpc+ fi+ if [ -x /usr/bin/oslevel ] ; then+ IBM_REV=`/usr/bin/oslevel`+ else+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}+ fi+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}+ exit ;;+ *:AIX:*:*)+ echo rs6000-ibm-aix+ exit ;;+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)+ echo romp-ibm-bsd4.4+ exit ;;+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to+ exit ;; # report: romp-ibm BSD 4.3+ *:BOSX:*:*)+ echo rs6000-bull-bosx+ exit ;;+ DPX/2?00:B.O.S.:*:*)+ echo m68k-bull-sysv3+ exit ;;+ 9000/[34]??:4.3bsd:1.*:*)+ echo m68k-hp-bsd+ exit ;;+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)+ echo m68k-hp-bsd4.4+ exit ;;+ 9000/[34678]??:HP-UX:*:*)+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`+ case "${UNAME_MACHINE}" in+ 9000/31? ) HP_ARCH=m68000 ;;+ 9000/[34]?? ) HP_ARCH=m68k ;;+ 9000/[678][0-9][0-9])+ if [ -x /usr/bin/getconf ]; then+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`+ case "${sc_cpu_version}" in+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1+ 532) # CPU_PA_RISC2_0+ case "${sc_kernel_bits}" in+ 32) HP_ARCH="hppa2.0n" ;;+ 64) HP_ARCH="hppa2.0w" ;;+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20+ esac ;;+ esac+ fi+ if [ "${HP_ARCH}" = "" ]; then+ eval $set_cc_for_build+ sed 's/^ //' << EOF >$dummy.c++ #define _HPUX_SOURCE+ #include <stdlib.h>+ #include <unistd.h>++ int main ()+ {+ #if defined(_SC_KERNEL_BITS)+ long bits = sysconf(_SC_KERNEL_BITS);+ #endif+ long cpu = sysconf (_SC_CPU_VERSION);++ switch (cpu)+ {+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;+ case CPU_PA_RISC2_0:+ #if defined(_SC_KERNEL_BITS)+ switch (bits)+ {+ case 64: puts ("hppa2.0w"); break;+ case 32: puts ("hppa2.0n"); break;+ default: puts ("hppa2.0"); break;+ } break;+ #else /* !defined(_SC_KERNEL_BITS) */+ puts ("hppa2.0"); break;+ #endif+ default: puts ("hppa1.0"); break;+ }+ exit (0);+ }+EOF+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`+ test -z "$HP_ARCH" && HP_ARCH=hppa+ fi ;;+ esac+ if [ ${HP_ARCH} = "hppa2.0w" ]+ then+ eval $set_cc_for_build++ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler+ # generating 64-bit code. GNU and HP use different nomenclature:+ #+ # $ CC_FOR_BUILD=cc ./config.guess+ # => hppa2.0w-hp-hpux11.23+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess+ # => hppa64-hp-hpux11.23++ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |+ grep -q __LP64__+ then+ HP_ARCH="hppa2.0w"+ else+ HP_ARCH="hppa64"+ fi+ fi+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}+ exit ;;+ ia64:HP-UX:*:*)+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`+ echo ia64-hp-hpux${HPUX_REV}+ exit ;;+ 3050*:HI-UX:*:*)+ eval $set_cc_for_build+ sed 's/^ //' << EOF >$dummy.c+ #include <unistd.h>+ int+ main ()+ {+ long cpu = sysconf (_SC_CPU_VERSION);+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct+ results, however. */+ if (CPU_IS_PA_RISC (cpu))+ {+ switch (cpu)+ {+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;+ default: puts ("hppa-hitachi-hiuxwe2"); break;+ }+ }+ else if (CPU_IS_HP_MC68K (cpu))+ puts ("m68k-hitachi-hiuxwe2");+ else puts ("unknown-hitachi-hiuxwe2");+ exit (0);+ }+EOF+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&+ { echo "$SYSTEM_NAME"; exit; }+ echo unknown-hitachi-hiuxwe2+ exit ;;+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )+ echo hppa1.1-hp-bsd+ exit ;;+ 9000/8??:4.3bsd:*:*)+ echo hppa1.0-hp-bsd+ exit ;;+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)+ echo hppa1.0-hp-mpeix+ exit ;;+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )+ echo hppa1.1-hp-osf+ exit ;;+ hp8??:OSF1:*:*)+ echo hppa1.0-hp-osf+ exit ;;+ i*86:OSF1:*:*)+ if [ -x /usr/sbin/sysversion ] ; then+ echo ${UNAME_MACHINE}-unknown-osf1mk+ else+ echo ${UNAME_MACHINE}-unknown-osf1+ fi+ exit ;;+ parisc*:Lites*:*:*)+ echo hppa1.1-hp-lites+ exit ;;+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)+ echo c1-convex-bsd+ exit ;;+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)+ if getsysinfo -f scalar_acc+ then echo c32-convex-bsd+ else echo c2-convex-bsd+ fi+ exit ;;+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)+ echo c34-convex-bsd+ exit ;;+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)+ echo c38-convex-bsd+ exit ;;+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)+ echo c4-convex-bsd+ exit ;;+ CRAY*Y-MP:*:*:*)+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'+ exit ;;+ CRAY*[A-Z]90:*:*:*)+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \+ -e 's/\.[^.]*$/.X/'+ exit ;;+ CRAY*TS:*:*:*)+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'+ exit ;;+ CRAY*T3E:*:*:*)+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'+ exit ;;+ CRAY*SV1:*:*:*)+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'+ exit ;;+ *:UNICOS/mp:*:*)+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'+ exit ;;+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"+ exit ;;+ 5000:UNIX_System_V:4.*:*)+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"+ exit ;;+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}+ exit ;;+ sparc*:BSD/OS:*:*)+ echo sparc-unknown-bsdi${UNAME_RELEASE}+ exit ;;+ *:BSD/OS:*:*)+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}+ exit ;;+ *:FreeBSD:*:*)+ UNAME_PROCESSOR=`/usr/bin/uname -p`+ case ${UNAME_PROCESSOR} in+ amd64)+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;+ *)+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;+ esac+ exit ;;+ i*:CYGWIN*:*)+ echo ${UNAME_MACHINE}-pc-cygwin+ exit ;;+ *:MINGW64*:*)+ echo ${UNAME_MACHINE}-pc-mingw64+ exit ;;+ *:MINGW*:*)+ echo ${UNAME_MACHINE}-pc-mingw32+ exit ;;+ *:MSYS*:*)+ echo ${UNAME_MACHINE}-pc-msys+ exit ;;+ i*:windows32*:*)+ # uname -m includes "-pc" on this system.+ echo ${UNAME_MACHINE}-mingw32+ exit ;;+ i*:PW*:*)+ echo ${UNAME_MACHINE}-pc-pw32+ exit ;;+ *:Interix*:*)+ case ${UNAME_MACHINE} in+ x86)+ echo i586-pc-interix${UNAME_RELEASE}+ exit ;;+ authenticamd | genuineintel | EM64T)+ echo x86_64-unknown-interix${UNAME_RELEASE}+ exit ;;+ IA64)+ echo ia64-unknown-interix${UNAME_RELEASE}+ exit ;;+ esac ;;+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)+ echo i${UNAME_MACHINE}-pc-mks+ exit ;;+ 8664:Windows_NT:*)+ echo x86_64-pc-mks+ exit ;;+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)+ # How do we know it's Interix rather than the generic POSIX subsystem?+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we+ # UNAME_MACHINE based on the output of uname instead of i386?+ echo i586-pc-interix+ exit ;;+ i*:UWIN*:*)+ echo ${UNAME_MACHINE}-pc-uwin+ exit ;;+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)+ echo x86_64-unknown-cygwin+ exit ;;+ p*:CYGWIN*:*)+ echo powerpcle-unknown-cygwin+ exit ;;+ prep*:SunOS:5.*:*)+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`+ exit ;;+ *:GNU:*:*)+ # the GNU system+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`+ exit ;;+ *:GNU/*:*:*)+ # other systems with GNU libc and userland+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}+ exit ;;+ i*86:Minix:*:*)+ echo ${UNAME_MACHINE}-pc-minix+ exit ;;+ aarch64:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ aarch64_be:Linux:*:*)+ UNAME_MACHINE=aarch64_be+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ alpha:Linux:*:*)+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in+ EV5) UNAME_MACHINE=alphaev5 ;;+ EV56) UNAME_MACHINE=alphaev56 ;;+ PCA56) UNAME_MACHINE=alphapca56 ;;+ PCA57) UNAME_MACHINE=alphapca56 ;;+ EV6) UNAME_MACHINE=alphaev6 ;;+ EV67) UNAME_MACHINE=alphaev67 ;;+ EV68*) UNAME_MACHINE=alphaev68 ;;+ esac+ objdump --private-headers /bin/sh | grep -q ld.so.1+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ arc:Linux:*:* | arceb:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ arm*:Linux:*:*)+ eval $set_cc_for_build+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \+ | grep -q __ARM_EABI__+ then+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ else+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \+ | grep -q __ARM_PCS_VFP+ then+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi+ else+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf+ fi+ fi+ exit ;;+ avr32*:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ cris:Linux:*:*)+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}+ exit ;;+ crisv32:Linux:*:*)+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}+ exit ;;+ frv:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ hexagon:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ i*86:Linux:*:*)+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}+ exit ;;+ ia64:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ m32r*:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ m68*:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ mips:Linux:*:* | mips64:Linux:*:*)+ eval $set_cc_for_build+ sed 's/^ //' << EOF >$dummy.c+ #undef CPU+ #undef ${UNAME_MACHINE}+ #undef ${UNAME_MACHINE}el+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)+ CPU=${UNAME_MACHINE}el+ #else+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)+ CPU=${UNAME_MACHINE}+ #else+ CPU=+ #endif+ #endif+EOF+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }+ ;;+ openrisc*:Linux:*:*)+ echo or1k-unknown-linux-${LIBC}+ exit ;;+ or32:Linux:*:* | or1k*:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ padre:Linux:*:*)+ echo sparc-unknown-linux-${LIBC}+ exit ;;+ parisc64:Linux:*:* | hppa64:Linux:*:*)+ echo hppa64-unknown-linux-${LIBC}+ exit ;;+ parisc:Linux:*:* | hppa:Linux:*:*)+ # Look for CPU level+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;+ *) echo hppa-unknown-linux-${LIBC} ;;+ esac+ exit ;;+ ppc64:Linux:*:*)+ echo powerpc64-unknown-linux-${LIBC}+ exit ;;+ ppc:Linux:*:*)+ echo powerpc-unknown-linux-${LIBC}+ exit ;;+ ppc64le:Linux:*:*)+ echo powerpc64le-unknown-linux-${LIBC}+ exit ;;+ ppcle:Linux:*:*)+ echo powerpcle-unknown-linux-${LIBC}+ exit ;;+ s390:Linux:*:* | s390x:Linux:*:*)+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}+ exit ;;+ sh64*:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ sh*:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ sparc:Linux:*:* | sparc64:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ tile*:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ vax:Linux:*:*)+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}+ exit ;;+ x86_64:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ xtensa*:Linux:*:*)+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}+ exit ;;+ i*86:DYNIX/ptx:4*:*)+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.+ # earlier versions are messed up and put the nodename in both+ # sysname and nodename.+ echo i386-sequent-sysv4+ exit ;;+ i*86:UNIX_SV:4.2MP:2.*)+ # Unixware is an offshoot of SVR4, but it has its own version+ # number series starting with 2...+ # I am not positive that other SVR4 systems won't match this,+ # I just have to hope. -- rms.+ # Use sysv4.2uw... so that sysv4* matches it.+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}+ exit ;;+ i*86:OS/2:*:*)+ # If we were able to find `uname', then EMX Unix compatibility+ # is probably installed.+ echo ${UNAME_MACHINE}-pc-os2-emx+ exit ;;+ i*86:XTS-300:*:STOP)+ echo ${UNAME_MACHINE}-unknown-stop+ exit ;;+ i*86:atheos:*:*)+ echo ${UNAME_MACHINE}-unknown-atheos+ exit ;;+ i*86:syllable:*:*)+ echo ${UNAME_MACHINE}-pc-syllable+ exit ;;+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)+ echo i386-unknown-lynxos${UNAME_RELEASE}+ exit ;;+ i*86:*DOS:*:*)+ echo ${UNAME_MACHINE}-pc-msdosdjgpp+ exit ;;+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}+ else+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}+ fi+ exit ;;+ i*86:*:5:[678]*)+ # UnixWare 7.x, OpenUNIX and OpenServer 6.+ case `/bin/uname -X | grep "^Machine"` in+ *486*) UNAME_MACHINE=i486 ;;+ *Pentium) UNAME_MACHINE=i586 ;;+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;+ esac+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}+ exit ;;+ i*86:*:3.2:*)+ if test -f /usr/options/cb.name; then+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL+ elif /bin/uname -X 2>/dev/null >/dev/null ; then+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \+ && UNAME_MACHINE=i586+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \+ && UNAME_MACHINE=i686+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \+ && UNAME_MACHINE=i686+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL+ else+ echo ${UNAME_MACHINE}-pc-sysv32+ fi+ exit ;;+ pc:*:*:*)+ # Left here for compatibility:+ # uname -m prints for DJGPP always 'pc', but it prints nothing about+ # the processor, so we play safe by assuming i586.+ # Note: whatever this is, it MUST be the same as what config.sub+ # prints for the "djgpp" host, or else GDB configury will decide that+ # this is a cross-build.+ echo i586-pc-msdosdjgpp+ exit ;;+ Intel:Mach:3*:*)+ echo i386-pc-mach3+ exit ;;+ paragon:*:*:*)+ echo i860-intel-osf1+ exit ;;+ i860:*:4.*:*) # i860-SVR4+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4+ else # Add other i860-SVR4 vendors below as they are discovered.+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4+ fi+ exit ;;+ mini*:CTIX:SYS*5:*)+ # "miniframe"+ echo m68010-convergent-sysv+ exit ;;+ mc68k:UNIX:SYSTEM5:3.51m)+ echo m68k-convergent-sysv+ exit ;;+ M680?0:D-NIX:5.3:*)+ echo m68k-diab-dnix+ exit ;;+ M68*:*:R3V[5678]*:*)+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)+ OS_REL=''+ test -r /etc/.relid \+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \+ && { echo i486-ncr-sysv4; exit; } ;;+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)+ OS_REL='.3'+ test -r /etc/.relid \+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)+ echo m68k-unknown-lynxos${UNAME_RELEASE}+ exit ;;+ mc68030:UNIX_System_V:4.*:*)+ echo m68k-atari-sysv4+ exit ;;+ TSUNAMI:LynxOS:2.*:*)+ echo sparc-unknown-lynxos${UNAME_RELEASE}+ exit ;;+ rs6000:LynxOS:2.*:*)+ echo rs6000-unknown-lynxos${UNAME_RELEASE}+ exit ;;+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)+ echo powerpc-unknown-lynxos${UNAME_RELEASE}+ exit ;;+ SM[BE]S:UNIX_SV:*:*)+ echo mips-dde-sysv${UNAME_RELEASE}+ exit ;;+ RM*:ReliantUNIX-*:*:*)+ echo mips-sni-sysv4+ exit ;;+ RM*:SINIX-*:*:*)+ echo mips-sni-sysv4+ exit ;;+ *:SINIX-*:*:*)+ if uname -p 2>/dev/null >/dev/null ; then+ UNAME_MACHINE=`(uname -p) 2>/dev/null`+ echo ${UNAME_MACHINE}-sni-sysv4+ else+ echo ns32k-sni-sysv+ fi+ exit ;;+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort+ # says <Richard.M.Bartel@ccMail.Census.GOV>+ echo i586-unisys-sysv4+ exit ;;+ *:UNIX_System_V:4*:FTX*)+ # From Gerald Hewes <hewes@openmarket.com>.+ # How about differentiating between stratus architectures? -djm+ echo hppa1.1-stratus-sysv4+ exit ;;+ *:*:*:FTX*)+ # From seanf@swdc.stratus.com.+ echo i860-stratus-sysv4+ exit ;;+ i*86:VOS:*:*)+ # From Paul.Green@stratus.com.+ echo ${UNAME_MACHINE}-stratus-vos+ exit ;;+ *:VOS:*:*)+ # From Paul.Green@stratus.com.+ echo hppa1.1-stratus-vos+ exit ;;+ mc68*:A/UX:*:*)+ echo m68k-apple-aux${UNAME_RELEASE}+ exit ;;+ news*:NEWS-OS:6*:*)+ echo mips-sony-newsos6+ exit ;;+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)+ if [ -d /usr/nec ]; then+ echo mips-nec-sysv${UNAME_RELEASE}+ else+ echo mips-unknown-sysv${UNAME_RELEASE}+ fi+ exit ;;+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.+ echo powerpc-be-beos+ exit ;;+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.+ echo powerpc-apple-beos+ exit ;;+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.+ echo i586-pc-beos+ exit ;;+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.+ echo i586-pc-haiku+ exit ;;+ x86_64:Haiku:*:*)+ echo x86_64-unknown-haiku+ exit ;;+ SX-4:SUPER-UX:*:*)+ echo sx4-nec-superux${UNAME_RELEASE}+ exit ;;+ SX-5:SUPER-UX:*:*)+ echo sx5-nec-superux${UNAME_RELEASE}+ exit ;;+ SX-6:SUPER-UX:*:*)+ echo sx6-nec-superux${UNAME_RELEASE}+ exit ;;+ SX-7:SUPER-UX:*:*)+ echo sx7-nec-superux${UNAME_RELEASE}+ exit ;;+ SX-8:SUPER-UX:*:*)+ echo sx8-nec-superux${UNAME_RELEASE}+ exit ;;+ SX-8R:SUPER-UX:*:*)+ echo sx8r-nec-superux${UNAME_RELEASE}+ exit ;;+ Power*:Rhapsody:*:*)+ echo powerpc-apple-rhapsody${UNAME_RELEASE}+ exit ;;+ *:Rhapsody:*:*)+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}+ exit ;;+ *:Darwin:*:*)+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown+ eval $set_cc_for_build+ if test "$UNAME_PROCESSOR" = unknown ; then+ UNAME_PROCESSOR=powerpc+ fi+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \+ grep IS_64BIT_ARCH >/dev/null+ then+ case $UNAME_PROCESSOR in+ i386) UNAME_PROCESSOR=x86_64 ;;+ powerpc) UNAME_PROCESSOR=powerpc64 ;;+ esac+ fi+ fi+ elif test "$UNAME_PROCESSOR" = i386 ; then+ # Avoid executing cc on OS X 10.9, as it ships with a stub+ # that puts up a graphical alert prompting to install+ # developer tools. Any system running Mac OS X 10.7 or+ # later (Darwin 11 and later) is required to have a 64-bit+ # processor. This is not true of the ARM version of Darwin+ # that Apple uses in portable devices.+ UNAME_PROCESSOR=x86_64+ fi+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}+ exit ;;+ *:procnto*:*:* | *:QNX:[0123456789]*:*)+ UNAME_PROCESSOR=`uname -p`+ if test "$UNAME_PROCESSOR" = "x86"; then+ UNAME_PROCESSOR=i386+ UNAME_MACHINE=pc+ fi+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}+ exit ;;+ *:QNX:*:4*)+ echo i386-pc-qnx+ exit ;;+ NEO-?:NONSTOP_KERNEL:*:*)+ echo neo-tandem-nsk${UNAME_RELEASE}+ exit ;;+ NSE-*:NONSTOP_KERNEL:*:*)+ echo nse-tandem-nsk${UNAME_RELEASE}+ exit ;;+ NSR-?:NONSTOP_KERNEL:*:*)+ echo nsr-tandem-nsk${UNAME_RELEASE}+ exit ;;+ *:NonStop-UX:*:*)+ echo mips-compaq-nonstopux+ exit ;;+ BS2000:POSIX*:*:*)+ echo bs2000-siemens-sysv+ exit ;;+ DS/*:UNIX_System_V:*:*)+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}+ exit ;;+ *:Plan9:*:*)+ # "uname -m" is not consistent, so use $cputype instead. 386+ # is converted to i386 for consistency with other x86+ # operating systems.+ if test "$cputype" = "386"; then+ UNAME_MACHINE=i386+ else+ UNAME_MACHINE="$cputype"+ fi+ echo ${UNAME_MACHINE}-unknown-plan9+ exit ;;+ *:TOPS-10:*:*)+ echo pdp10-unknown-tops10+ exit ;;+ *:TENEX:*:*)+ echo pdp10-unknown-tenex+ exit ;;+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)+ echo pdp10-dec-tops20+ exit ;;+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)+ echo pdp10-xkl-tops20+ exit ;;+ *:TOPS-20:*:*)+ echo pdp10-unknown-tops20+ exit ;;+ *:ITS:*:*)+ echo pdp10-unknown-its+ exit ;;+ SEI:*:*:SEIUX)+ echo mips-sei-seiux${UNAME_RELEASE}+ exit ;;+ *:DragonFly:*:*)+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`+ exit ;;+ *:*VMS:*:*)+ UNAME_MACHINE=`(uname -p) 2>/dev/null`+ case "${UNAME_MACHINE}" in+ A*) echo alpha-dec-vms ; exit ;;+ I*) echo ia64-dec-vms ; exit ;;+ V*) echo vax-dec-vms ; exit ;;+ esac ;;+ *:XENIX:*:SysV)+ echo i386-pc-xenix+ exit ;;+ i*86:skyos:*:*)+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'+ exit ;;+ i*86:rdos:*:*)+ echo ${UNAME_MACHINE}-pc-rdos+ exit ;;+ i*86:AROS:*:*)+ echo ${UNAME_MACHINE}-pc-aros+ exit ;;+ x86_64:VMkernel:*:*)+ echo ${UNAME_MACHINE}-unknown-esx+ exit ;;+esac++cat >&2 <<EOF+$0: unable to guess system type++This script, last modified $timestamp, has failed to recognize+the operating system you are using. It is advised that you+download the most up to date version of the config scripts from++ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD+and+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD++If the version you run ($0) is already up to date, please+send the following data and any information you think might be+pertinent to <config-patches@gnu.org> in order to provide the needed+information to handle your system.++config.guess timestamp = $timestamp++uname -m = `(uname -m) 2>/dev/null || echo unknown`+uname -r = `(uname -r) 2>/dev/null || echo unknown`+uname -s = `(uname -s) 2>/dev/null || echo unknown`+uname -v = `(uname -v) 2>/dev/null || echo unknown`++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`++hostinfo = `(hostinfo) 2>/dev/null`+/bin/universe = `(/bin/universe) 2>/dev/null`+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`+/bin/arch = `(/bin/arch) 2>/dev/null`+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`++UNAME_MACHINE = ${UNAME_MACHINE}+UNAME_RELEASE = ${UNAME_RELEASE}+UNAME_SYSTEM = ${UNAME_SYSTEM}+UNAME_VERSION = ${UNAME_VERSION}+EOF++exit 1++# Local variables:+# eval: (add-hook 'write-file-hooks 'time-stamp)+# time-stamp-start: "timestamp='"+# time-stamp-format: "%:y-%02m-%02d"+# time-stamp-end: "'"+# End:
+ standalone/android/tmp/network-2.4.1.2/config.sub view
@@ -0,0 +1,1799 @@+#! /bin/sh+# Configuration validation subroutine script.+# Copyright 1992-2014 Free Software Foundation, Inc.++timestamp='2014-09-11'++# This file is free software; you can redistribute it and/or modify it+# under the terms of the GNU General Public License as published by+# the Free Software Foundation; either version 3 of the License, or+# (at your option) any later version.+#+# This program is distributed in the hope that it will be useful, but+# WITHOUT ANY WARRANTY; without even the implied warranty of+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+# General Public License for more details.+#+# You should have received a copy of the GNU General Public License+# along with this program; if not, see <http://www.gnu.org/licenses/>.+#+# As a special exception to the GNU General Public License, if you+# distribute this file as part of a program that contains a+# configuration script generated by Autoconf, you may include it under+# the same distribution terms that you use for the rest of that+# program. This Exception is an additional permission under section 7+# of the GNU General Public License, version 3 ("GPLv3").+++# Please send patches with a ChangeLog entry to config-patches@gnu.org.+#+# Configuration subroutine to validate and canonicalize a configuration type.+# Supply the specified configuration type as an argument.+# If it is invalid, we print an error message on stderr and exit with code 1.+# Otherwise, we print the canonical config type on stdout and succeed.++# You can get the latest version of this script from:+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD++# This file is supposed to be the same for all GNU packages+# and recognize all the CPU types, system types and aliases+# that are meaningful with *any* GNU software.+# Each package is responsible for reporting which valid configurations+# it does not support. The user should be able to distinguish+# a failure to support a valid configuration from a meaningless+# configuration.++# The goal of this file is to map all the various variations of a given+# machine specification into a single specification in the form:+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM+# or in some cases, the newer four-part form:+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM+# It is wrong to echo any other type of specification.++me=`echo "$0" | sed -e 's,.*/,,'`++usage="\+Usage: $0 [OPTION] CPU-MFR-OPSYS+ $0 [OPTION] ALIAS++Canonicalize a configuration name.++Operation modes:+ -h, --help print this help, then exit+ -t, --time-stamp print date of last modification, then exit+ -v, --version print version number, then exit++Report bugs and patches to <config-patches@gnu.org>."++version="\+GNU config.sub ($timestamp)++Copyright 1992-2014 Free Software Foundation, Inc.++This is free software; see the source for copying conditions. There is NO+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."++help="+Try \`$me --help' for more information."++# Parse command line+while test $# -gt 0 ; do+ case $1 in+ --time-stamp | --time* | -t )+ echo "$timestamp" ; exit ;;+ --version | -v )+ echo "$version" ; exit ;;+ --help | --h* | -h )+ echo "$usage"; exit ;;+ -- ) # Stop option processing+ shift; break ;;+ - ) # Use stdin as input.+ break ;;+ -* )+ echo "$me: invalid option $1$help"+ exit 1 ;;++ *local*)+ # First pass through any local machine types.+ echo $1+ exit ;;++ * )+ break ;;+ esac+done++case $# in+ 0) echo "$me: missing argument$help" >&2+ exit 1;;+ 1) ;;+ *) echo "$me: too many arguments$help" >&2+ exit 1;;+esac++# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).+# Here we must recognize all the valid KERNEL-OS combinations.+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`+case $maybe_os in+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \+ knetbsd*-gnu* | netbsd*-gnu* | \+ kopensolaris*-gnu* | \+ storm-chaos* | os2-emx* | rtmk-nova*)+ os=-$maybe_os+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`+ ;;+ android-linux)+ os=-linux-android+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown+ ;;+ *)+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`+ if [ $basic_machine != $1 ]+ then os=`echo $1 | sed 's/.*-/-/'`+ else os=; fi+ ;;+esac++### Let's recognize common machines as not being operating systems so+### that things like config.sub decstation-3100 work. We also+### recognize some manufacturers as not being operating systems, so we+### can provide default operating systems below.+case $os in+ -sun*os*)+ # Prevent following clause from handling this invalid input.+ ;;+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \+ -apple | -axis | -knuth | -cray | -microblaze*)+ os=+ basic_machine=$1+ ;;+ -bluegene*)+ os=-cnk+ ;;+ -sim | -cisco | -oki | -wec | -winbond)+ os=+ basic_machine=$1+ ;;+ -scout)+ ;;+ -wrs)+ os=-vxworks+ basic_machine=$1+ ;;+ -chorusos*)+ os=-chorusos+ basic_machine=$1+ ;;+ -chorusrdb)+ os=-chorusrdb+ basic_machine=$1+ ;;+ -hiux*)+ os=-hiuxwe2+ ;;+ -sco6)+ os=-sco5v6+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`+ ;;+ -sco5)+ os=-sco3.2v5+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`+ ;;+ -sco4)+ os=-sco3.2v4+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`+ ;;+ -sco3.2.[4-9]*)+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`+ ;;+ -sco3.2v[4-9]*)+ # Don't forget version if it is 3.2v4 or newer.+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`+ ;;+ -sco5v6*)+ # Don't forget version if it is 3.2v4 or newer.+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`+ ;;+ -sco*)+ os=-sco3.2v2+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`+ ;;+ -udk*)+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`+ ;;+ -isc)+ os=-isc2.2+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`+ ;;+ -clix*)+ basic_machine=clipper-intergraph+ ;;+ -isc*)+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`+ ;;+ -lynx*178)+ os=-lynxos178+ ;;+ -lynx*5)+ os=-lynxos5+ ;;+ -lynx*)+ os=-lynxos+ ;;+ -ptx*)+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`+ ;;+ -windowsnt*)+ os=`echo $os | sed -e 's/windowsnt/winnt/'`+ ;;+ -psos*)+ os=-psos+ ;;+ -mint | -mint[0-9]*)+ basic_machine=m68k-atari+ os=-mint+ ;;+esac++# Decode aliases for certain CPU-COMPANY combinations.+case $basic_machine in+ # Recognize the basic CPU types without company name.+ # Some are omitted here because they have special meanings below.+ 1750a | 580 \+ | a29k \+ | aarch64 | aarch64_be \+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \+ | am33_2.0 \+ | arc | arceb \+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \+ | avr | avr32 \+ | be32 | be64 \+ | bfin \+ | c4x | c8051 | clipper \+ | d10v | d30v | dlx | dsp16xx \+ | epiphany \+ | fido | fr30 | frv \+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \+ | hexagon \+ | i370 | i860 | i960 | ia64 \+ | ip2k | iq2000 \+ | k1om \+ | le32 | le64 \+ | lm32 \+ | m32c | m32r | m32rle | m68000 | m68k | m88k \+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \+ | mips | mipsbe | mipseb | mipsel | mipsle \+ | mips16 \+ | mips64 | mips64el \+ | mips64octeon | mips64octeonel \+ | mips64orion | mips64orionel \+ | mips64r5900 | mips64r5900el \+ | mips64vr | mips64vrel \+ | mips64vr4100 | mips64vr4100el \+ | mips64vr4300 | mips64vr4300el \+ | mips64vr5000 | mips64vr5000el \+ | mips64vr5900 | mips64vr5900el \+ | mipsisa32 | mipsisa32el \+ | mipsisa32r2 | mipsisa32r2el \+ | mipsisa32r6 | mipsisa32r6el \+ | mipsisa64 | mipsisa64el \+ | mipsisa64r2 | mipsisa64r2el \+ | mipsisa64r6 | mipsisa64r6el \+ | mipsisa64sb1 | mipsisa64sb1el \+ | mipsisa64sr71k | mipsisa64sr71kel \+ | mipsr5900 | mipsr5900el \+ | mipstx39 | mipstx39el \+ | mn10200 | mn10300 \+ | moxie \+ | mt \+ | msp430 \+ | nds32 | nds32le | nds32be \+ | nios | nios2 | nios2eb | nios2el \+ | ns16k | ns32k \+ | open8 | or1k | or1knd | or32 \+ | pdp10 | pdp11 | pj | pjl \+ | powerpc | powerpc64 | powerpc64le | powerpcle \+ | pyramid \+ | riscv32 | riscv64 \+ | rl78 | rx \+ | score \+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \+ | sh64 | sh64le \+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \+ | spu \+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \+ | ubicom32 \+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \+ | we32k \+ | x86 | xc16x | xstormy16 | xtensa \+ | z8k | z80)+ basic_machine=$basic_machine-unknown+ ;;+ c54x)+ basic_machine=tic54x-unknown+ ;;+ c55x)+ basic_machine=tic55x-unknown+ ;;+ c6x)+ basic_machine=tic6x-unknown+ ;;+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)+ basic_machine=$basic_machine-unknown+ os=-none+ ;;+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)+ ;;+ ms1)+ basic_machine=mt-unknown+ ;;++ strongarm | thumb | xscale)+ basic_machine=arm-unknown+ ;;+ xgate)+ basic_machine=$basic_machine-unknown+ os=-none+ ;;+ xscaleeb)+ basic_machine=armeb-unknown+ ;;++ xscaleel)+ basic_machine=armel-unknown+ ;;++ # We use `pc' rather than `unknown'+ # because (1) that's what they normally are, and+ # (2) the word "unknown" tends to confuse beginning users.+ i*86 | x86_64)+ basic_machine=$basic_machine-pc+ ;;+ # Object if more than one company name word.+ *-*-*)+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2+ exit 1+ ;;+ # Recognize the basic CPU types with company name.+ 580-* \+ | a29k-* \+ | aarch64-* | aarch64_be-* \+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \+ | avr-* | avr32-* \+ | be32-* | be64-* \+ | bfin-* | bs2000-* \+ | c[123]* | c30-* | [cjt]90-* | c4x-* \+ | c8051-* | clipper-* | craynv-* | cydra-* \+ | d10v-* | d30v-* | dlx-* \+ | elxsi-* \+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \+ | h8300-* | h8500-* \+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \+ | hexagon-* \+ | i*86-* | i860-* | i960-* | ia64-* \+ | ip2k-* | iq2000-* \+ | k1om-* \+ | le32-* | le64-* \+ | lm32-* \+ | m32c-* | m32r-* | m32rle-* \+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \+ | microblaze-* | microblazeel-* \+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \+ | mips16-* \+ | mips64-* | mips64el-* \+ | mips64octeon-* | mips64octeonel-* \+ | mips64orion-* | mips64orionel-* \+ | mips64r5900-* | mips64r5900el-* \+ | mips64vr-* | mips64vrel-* \+ | mips64vr4100-* | mips64vr4100el-* \+ | mips64vr4300-* | mips64vr4300el-* \+ | mips64vr5000-* | mips64vr5000el-* \+ | mips64vr5900-* | mips64vr5900el-* \+ | mipsisa32-* | mipsisa32el-* \+ | mipsisa32r2-* | mipsisa32r2el-* \+ | mipsisa32r6-* | mipsisa32r6el-* \+ | mipsisa64-* | mipsisa64el-* \+ | mipsisa64r2-* | mipsisa64r2el-* \+ | mipsisa64r6-* | mipsisa64r6el-* \+ | mipsisa64sb1-* | mipsisa64sb1el-* \+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \+ | mipsr5900-* | mipsr5900el-* \+ | mipstx39-* | mipstx39el-* \+ | mmix-* \+ | mt-* \+ | msp430-* \+ | nds32-* | nds32le-* | nds32be-* \+ | nios-* | nios2-* | nios2eb-* | nios2el-* \+ | none-* | np1-* | ns16k-* | ns32k-* \+ | open8-* \+ | or1k*-* \+ | orion-* \+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \+ | pyramid-* \+ | rl78-* | romp-* | rs6000-* | rx-* \+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \+ | sparclite-* \+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \+ | tahoe-* \+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \+ | tile*-* \+ | tron-* \+ | ubicom32-* \+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \+ | vax-* \+ | we32k-* \+ | x86-* | x86_64-* | xc16x-* | xps100-* \+ | xstormy16-* | xtensa*-* \+ | ymp-* \+ | z8k-* | z80-*)+ ;;+ # Recognize the basic CPU types without company name, with glob match.+ xtensa*)+ basic_machine=$basic_machine-unknown+ ;;+ # Recognize the various machine names and aliases which stand+ # for a CPU type and a company and sometimes even an OS.+ 386bsd)+ basic_machine=i386-unknown+ os=-bsd+ ;;+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)+ basic_machine=m68000-att+ ;;+ 3b*)+ basic_machine=we32k-att+ ;;+ a29khif)+ basic_machine=a29k-amd+ os=-udi+ ;;+ abacus)+ basic_machine=abacus-unknown+ ;;+ adobe68k)+ basic_machine=m68010-adobe+ os=-scout+ ;;+ alliant | fx80)+ basic_machine=fx80-alliant+ ;;+ altos | altos3068)+ basic_machine=m68k-altos+ ;;+ am29k)+ basic_machine=a29k-none+ os=-bsd+ ;;+ amd64)+ basic_machine=x86_64-pc+ ;;+ amd64-*)+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ amdahl)+ basic_machine=580-amdahl+ os=-sysv+ ;;+ amiga | amiga-*)+ basic_machine=m68k-unknown+ ;;+ amigaos | amigados)+ basic_machine=m68k-unknown+ os=-amigaos+ ;;+ amigaunix | amix)+ basic_machine=m68k-unknown+ os=-sysv4+ ;;+ apollo68)+ basic_machine=m68k-apollo+ os=-sysv+ ;;+ apollo68bsd)+ basic_machine=m68k-apollo+ os=-bsd+ ;;+ aros)+ basic_machine=i386-pc+ os=-aros+ ;;+ aux)+ basic_machine=m68k-apple+ os=-aux+ ;;+ balance)+ basic_machine=ns32k-sequent+ os=-dynix+ ;;+ blackfin)+ basic_machine=bfin-unknown+ os=-linux+ ;;+ blackfin-*)+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`+ os=-linux+ ;;+ bluegene*)+ basic_machine=powerpc-ibm+ os=-cnk+ ;;+ c54x-*)+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ c55x-*)+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ c6x-*)+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ c90)+ basic_machine=c90-cray+ os=-unicos+ ;;+ cegcc)+ basic_machine=arm-unknown+ os=-cegcc+ ;;+ convex-c1)+ basic_machine=c1-convex+ os=-bsd+ ;;+ convex-c2)+ basic_machine=c2-convex+ os=-bsd+ ;;+ convex-c32)+ basic_machine=c32-convex+ os=-bsd+ ;;+ convex-c34)+ basic_machine=c34-convex+ os=-bsd+ ;;+ convex-c38)+ basic_machine=c38-convex+ os=-bsd+ ;;+ cray | j90)+ basic_machine=j90-cray+ os=-unicos+ ;;+ craynv)+ basic_machine=craynv-cray+ os=-unicosmp+ ;;+ cr16 | cr16-*)+ basic_machine=cr16-unknown+ os=-elf+ ;;+ crds | unos)+ basic_machine=m68k-crds+ ;;+ crisv32 | crisv32-* | etraxfs*)+ basic_machine=crisv32-axis+ ;;+ cris | cris-* | etrax*)+ basic_machine=cris-axis+ ;;+ crx)+ basic_machine=crx-unknown+ os=-elf+ ;;+ da30 | da30-*)+ basic_machine=m68k-da30+ ;;+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)+ basic_machine=mips-dec+ ;;+ decsystem10* | dec10*)+ basic_machine=pdp10-dec+ os=-tops10+ ;;+ decsystem20* | dec20*)+ basic_machine=pdp10-dec+ os=-tops20+ ;;+ delta | 3300 | motorola-3300 | motorola-delta \+ | 3300-motorola | delta-motorola)+ basic_machine=m68k-motorola+ ;;+ delta88)+ basic_machine=m88k-motorola+ os=-sysv3+ ;;+ dicos)+ basic_machine=i686-pc+ os=-dicos+ ;;+ djgpp)+ basic_machine=i586-pc+ os=-msdosdjgpp+ ;;+ dpx20 | dpx20-*)+ basic_machine=rs6000-bull+ os=-bosx+ ;;+ dpx2* | dpx2*-bull)+ basic_machine=m68k-bull+ os=-sysv3+ ;;+ ebmon29k)+ basic_machine=a29k-amd+ os=-ebmon+ ;;+ elxsi)+ basic_machine=elxsi-elxsi+ os=-bsd+ ;;+ encore | umax | mmax)+ basic_machine=ns32k-encore+ ;;+ es1800 | OSE68k | ose68k | ose | OSE)+ basic_machine=m68k-ericsson+ os=-ose+ ;;+ fx2800)+ basic_machine=i860-alliant+ ;;+ genix)+ basic_machine=ns32k-ns+ ;;+ gmicro)+ basic_machine=tron-gmicro+ os=-sysv+ ;;+ go32)+ basic_machine=i386-pc+ os=-go32+ ;;+ h3050r* | hiux*)+ basic_machine=hppa1.1-hitachi+ os=-hiuxwe2+ ;;+ h8300hms)+ basic_machine=h8300-hitachi+ os=-hms+ ;;+ h8300xray)+ basic_machine=h8300-hitachi+ os=-xray+ ;;+ h8500hms)+ basic_machine=h8500-hitachi+ os=-hms+ ;;+ harris)+ basic_machine=m88k-harris+ os=-sysv3+ ;;+ hp300-*)+ basic_machine=m68k-hp+ ;;+ hp300bsd)+ basic_machine=m68k-hp+ os=-bsd+ ;;+ hp300hpux)+ basic_machine=m68k-hp+ os=-hpux+ ;;+ hp3k9[0-9][0-9] | hp9[0-9][0-9])+ basic_machine=hppa1.0-hp+ ;;+ hp9k2[0-9][0-9] | hp9k31[0-9])+ basic_machine=m68000-hp+ ;;+ hp9k3[2-9][0-9])+ basic_machine=m68k-hp+ ;;+ hp9k6[0-9][0-9] | hp6[0-9][0-9])+ basic_machine=hppa1.0-hp+ ;;+ hp9k7[0-79][0-9] | hp7[0-79][0-9])+ basic_machine=hppa1.1-hp+ ;;+ hp9k78[0-9] | hp78[0-9])+ # FIXME: really hppa2.0-hp+ basic_machine=hppa1.1-hp+ ;;+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)+ # FIXME: really hppa2.0-hp+ basic_machine=hppa1.1-hp+ ;;+ hp9k8[0-9][13679] | hp8[0-9][13679])+ basic_machine=hppa1.1-hp+ ;;+ hp9k8[0-9][0-9] | hp8[0-9][0-9])+ basic_machine=hppa1.0-hp+ ;;+ hppa-next)+ os=-nextstep3+ ;;+ hppaosf)+ basic_machine=hppa1.1-hp+ os=-osf+ ;;+ hppro)+ basic_machine=hppa1.1-hp+ os=-proelf+ ;;+ i370-ibm* | ibm*)+ basic_machine=i370-ibm+ ;;+ i*86v32)+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`+ os=-sysv32+ ;;+ i*86v4*)+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`+ os=-sysv4+ ;;+ i*86v)+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`+ os=-sysv+ ;;+ i*86sol2)+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`+ os=-solaris2+ ;;+ i386mach)+ basic_machine=i386-mach+ os=-mach+ ;;+ i386-vsta | vsta)+ basic_machine=i386-unknown+ os=-vsta+ ;;+ iris | iris4d)+ basic_machine=mips-sgi+ case $os in+ -irix*)+ ;;+ *)+ os=-irix4+ ;;+ esac+ ;;+ isi68 | isi)+ basic_machine=m68k-isi+ os=-sysv+ ;;+ m68knommu)+ basic_machine=m68k-unknown+ os=-linux+ ;;+ m68knommu-*)+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`+ os=-linux+ ;;+ m88k-omron*)+ basic_machine=m88k-omron+ ;;+ magnum | m3230)+ basic_machine=mips-mips+ os=-sysv+ ;;+ merlin)+ basic_machine=ns32k-utek+ os=-sysv+ ;;+ microblaze*)+ basic_machine=microblaze-xilinx+ ;;+ mingw64)+ basic_machine=x86_64-pc+ os=-mingw64+ ;;+ mingw32)+ basic_machine=i686-pc+ os=-mingw32+ ;;+ mingw32ce)+ basic_machine=arm-unknown+ os=-mingw32ce+ ;;+ miniframe)+ basic_machine=m68000-convergent+ ;;+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)+ basic_machine=m68k-atari+ os=-mint+ ;;+ mips3*-*)+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`+ ;;+ mips3*)+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown+ ;;+ monitor)+ basic_machine=m68k-rom68k+ os=-coff+ ;;+ morphos)+ basic_machine=powerpc-unknown+ os=-morphos+ ;;+ moxiebox)+ basic_machine=moxie-unknown+ os=-moxiebox+ ;;+ msdos)+ basic_machine=i386-pc+ os=-msdos+ ;;+ ms1-*)+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`+ ;;+ msys)+ basic_machine=i686-pc+ os=-msys+ ;;+ mvs)+ basic_machine=i370-ibm+ os=-mvs+ ;;+ nacl)+ basic_machine=le32-unknown+ os=-nacl+ ;;+ ncr3000)+ basic_machine=i486-ncr+ os=-sysv4+ ;;+ netbsd386)+ basic_machine=i386-unknown+ os=-netbsd+ ;;+ netwinder)+ basic_machine=armv4l-rebel+ os=-linux+ ;;+ news | news700 | news800 | news900)+ basic_machine=m68k-sony+ os=-newsos+ ;;+ news1000)+ basic_machine=m68030-sony+ os=-newsos+ ;;+ news-3600 | risc-news)+ basic_machine=mips-sony+ os=-newsos+ ;;+ necv70)+ basic_machine=v70-nec+ os=-sysv+ ;;+ next | m*-next )+ basic_machine=m68k-next+ case $os in+ -nextstep* )+ ;;+ -ns2*)+ os=-nextstep2+ ;;+ *)+ os=-nextstep3+ ;;+ esac+ ;;+ nh3000)+ basic_machine=m68k-harris+ os=-cxux+ ;;+ nh[45]000)+ basic_machine=m88k-harris+ os=-cxux+ ;;+ nindy960)+ basic_machine=i960-intel+ os=-nindy+ ;;+ mon960)+ basic_machine=i960-intel+ os=-mon960+ ;;+ nonstopux)+ basic_machine=mips-compaq+ os=-nonstopux+ ;;+ np1)+ basic_machine=np1-gould+ ;;+ neo-tandem)+ basic_machine=neo-tandem+ ;;+ nse-tandem)+ basic_machine=nse-tandem+ ;;+ nsr-tandem)+ basic_machine=nsr-tandem+ ;;+ op50n-* | op60c-*)+ basic_machine=hppa1.1-oki+ os=-proelf+ ;;+ openrisc | openrisc-*)+ basic_machine=or32-unknown+ ;;+ os400)+ basic_machine=powerpc-ibm+ os=-os400+ ;;+ OSE68000 | ose68000)+ basic_machine=m68000-ericsson+ os=-ose+ ;;+ os68k)+ basic_machine=m68k-none+ os=-os68k+ ;;+ pa-hitachi)+ basic_machine=hppa1.1-hitachi+ os=-hiuxwe2+ ;;+ paragon)+ basic_machine=i860-intel+ os=-osf+ ;;+ parisc)+ basic_machine=hppa-unknown+ os=-linux+ ;;+ parisc-*)+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`+ os=-linux+ ;;+ pbd)+ basic_machine=sparc-tti+ ;;+ pbb)+ basic_machine=m68k-tti+ ;;+ pc532 | pc532-*)+ basic_machine=ns32k-pc532+ ;;+ pc98)+ basic_machine=i386-pc+ ;;+ pc98-*)+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ pentium | p5 | k5 | k6 | nexgen | viac3)+ basic_machine=i586-pc+ ;;+ pentiumpro | p6 | 6x86 | athlon | athlon_*)+ basic_machine=i686-pc+ ;;+ pentiumii | pentium2 | pentiumiii | pentium3)+ basic_machine=i686-pc+ ;;+ pentium4)+ basic_machine=i786-pc+ ;;+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ pentiumpro-* | p6-* | 6x86-* | athlon-*)+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ pentium4-*)+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ pn)+ basic_machine=pn-gould+ ;;+ power) basic_machine=power-ibm+ ;;+ ppc | ppcbe) basic_machine=powerpc-unknown+ ;;+ ppc-* | ppcbe-*)+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ ppcle | powerpclittle | ppc-le | powerpc-little)+ basic_machine=powerpcle-unknown+ ;;+ ppcle-* | powerpclittle-*)+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ ppc64) basic_machine=powerpc64-unknown+ ;;+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)+ basic_machine=powerpc64le-unknown+ ;;+ ppc64le-* | powerpc64little-*)+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ ps2)+ basic_machine=i386-ibm+ ;;+ pw32)+ basic_machine=i586-unknown+ os=-pw32+ ;;+ rdos | rdos64)+ basic_machine=x86_64-pc+ os=-rdos+ ;;+ rdos32)+ basic_machine=i386-pc+ os=-rdos+ ;;+ rom68k)+ basic_machine=m68k-rom68k+ os=-coff+ ;;+ rm[46]00)+ basic_machine=mips-siemens+ ;;+ rtpc | rtpc-*)+ basic_machine=romp-ibm+ ;;+ s390 | s390-*)+ basic_machine=s390-ibm+ ;;+ s390x | s390x-*)+ basic_machine=s390x-ibm+ ;;+ sa29200)+ basic_machine=a29k-amd+ os=-udi+ ;;+ sb1)+ basic_machine=mipsisa64sb1-unknown+ ;;+ sb1el)+ basic_machine=mipsisa64sb1el-unknown+ ;;+ sde)+ basic_machine=mipsisa32-sde+ os=-elf+ ;;+ sei)+ basic_machine=mips-sei+ os=-seiux+ ;;+ sequent)+ basic_machine=i386-sequent+ ;;+ sh)+ basic_machine=sh-hitachi+ os=-hms+ ;;+ sh5el)+ basic_machine=sh5le-unknown+ ;;+ sh64)+ basic_machine=sh64-unknown+ ;;+ sparclite-wrs | simso-wrs)+ basic_machine=sparclite-wrs+ os=-vxworks+ ;;+ sps7)+ basic_machine=m68k-bull+ os=-sysv2+ ;;+ spur)+ basic_machine=spur-unknown+ ;;+ st2000)+ basic_machine=m68k-tandem+ ;;+ stratus)+ basic_machine=i860-stratus+ os=-sysv4+ ;;+ strongarm-* | thumb-*)+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`+ ;;+ sun2)+ basic_machine=m68000-sun+ ;;+ sun2os3)+ basic_machine=m68000-sun+ os=-sunos3+ ;;+ sun2os4)+ basic_machine=m68000-sun+ os=-sunos4+ ;;+ sun3os3)+ basic_machine=m68k-sun+ os=-sunos3+ ;;+ sun3os4)+ basic_machine=m68k-sun+ os=-sunos4+ ;;+ sun4os3)+ basic_machine=sparc-sun+ os=-sunos3+ ;;+ sun4os4)+ basic_machine=sparc-sun+ os=-sunos4+ ;;+ sun4sol2)+ basic_machine=sparc-sun+ os=-solaris2+ ;;+ sun3 | sun3-*)+ basic_machine=m68k-sun+ ;;+ sun4)+ basic_machine=sparc-sun+ ;;+ sun386 | sun386i | roadrunner)+ basic_machine=i386-sun+ ;;+ sv1)+ basic_machine=sv1-cray+ os=-unicos+ ;;+ symmetry)+ basic_machine=i386-sequent+ os=-dynix+ ;;+ t3e)+ basic_machine=alphaev5-cray+ os=-unicos+ ;;+ t90)+ basic_machine=t90-cray+ os=-unicos+ ;;+ tile*)+ basic_machine=$basic_machine-unknown+ os=-linux-gnu+ ;;+ tx39)+ basic_machine=mipstx39-unknown+ ;;+ tx39el)+ basic_machine=mipstx39el-unknown+ ;;+ toad1)+ basic_machine=pdp10-xkl+ os=-tops20+ ;;+ tower | tower-32)+ basic_machine=m68k-ncr+ ;;+ tpf)+ basic_machine=s390x-ibm+ os=-tpf+ ;;+ udi29k)+ basic_machine=a29k-amd+ os=-udi+ ;;+ ultra3)+ basic_machine=a29k-nyu+ os=-sym1+ ;;+ v810 | necv810)+ basic_machine=v810-nec+ os=-none+ ;;+ vaxv)+ basic_machine=vax-dec+ os=-sysv+ ;;+ vms)+ basic_machine=vax-dec+ os=-vms+ ;;+ vpp*|vx|vx-*)+ basic_machine=f301-fujitsu+ ;;+ vxworks960)+ basic_machine=i960-wrs+ os=-vxworks+ ;;+ vxworks68)+ basic_machine=m68k-wrs+ os=-vxworks+ ;;+ vxworks29k)+ basic_machine=a29k-wrs+ os=-vxworks+ ;;+ w65*)+ basic_machine=w65-wdc+ os=-none+ ;;+ w89k-*)+ basic_machine=hppa1.1-winbond+ os=-proelf+ ;;+ xbox)+ basic_machine=i686-pc+ os=-mingw32+ ;;+ xps | xps100)+ basic_machine=xps100-honeywell+ ;;+ xscale-* | xscalee[bl]-*)+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`+ ;;+ ymp)+ basic_machine=ymp-cray+ os=-unicos+ ;;+ z8k-*-coff)+ basic_machine=z8k-unknown+ os=-sim+ ;;+ z80-*-coff)+ basic_machine=z80-unknown+ os=-sim+ ;;+ none)+ basic_machine=none-none+ os=-none+ ;;++# Here we handle the default manufacturer of certain CPU types. It is in+# some cases the only manufacturer, in others, it is the most popular.+ w89k)+ basic_machine=hppa1.1-winbond+ ;;+ op50n)+ basic_machine=hppa1.1-oki+ ;;+ op60c)+ basic_machine=hppa1.1-oki+ ;;+ romp)+ basic_machine=romp-ibm+ ;;+ mmix)+ basic_machine=mmix-knuth+ ;;+ rs6000)+ basic_machine=rs6000-ibm+ ;;+ vax)+ basic_machine=vax-dec+ ;;+ pdp10)+ # there are many clones, so DEC is not a safe bet+ basic_machine=pdp10-unknown+ ;;+ pdp11)+ basic_machine=pdp11-dec+ ;;+ we32k)+ basic_machine=we32k-att+ ;;+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)+ basic_machine=sh-unknown+ ;;+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)+ basic_machine=sparc-sun+ ;;+ cydra)+ basic_machine=cydra-cydrome+ ;;+ orion)+ basic_machine=orion-highlevel+ ;;+ orion105)+ basic_machine=clipper-highlevel+ ;;+ mac | mpw | mac-mpw)+ basic_machine=m68k-apple+ ;;+ pmac | pmac-mpw)+ basic_machine=powerpc-apple+ ;;+ *-unknown)+ # Make sure to match an already-canonicalized machine name.+ ;;+ *)+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2+ exit 1+ ;;+esac++# Here we canonicalize certain aliases for manufacturers.+case $basic_machine in+ *-digital*)+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`+ ;;+ *-commodore*)+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`+ ;;+ *)+ ;;+esac++# Decode manufacturer-specific aliases for certain operating systems.++if [ x"$os" != x"" ]+then+case $os in+ # First match some system type aliases+ # that might get confused with valid system types.+ # -solaris* is a basic system type, with this one exception.+ -auroraux)+ os=-auroraux+ ;;+ -solaris1 | -solaris1.*)+ os=`echo $os | sed -e 's|solaris1|sunos4|'`+ ;;+ -solaris)+ os=-solaris2+ ;;+ -svr4*)+ os=-sysv4+ ;;+ -unixware*)+ os=-sysv4.2uw+ ;;+ -gnu/linux*)+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`+ ;;+ # First accept the basic system types.+ # The portable systems comes first.+ # Each alternative MUST END IN A *, to match a version number.+ # -sysv* is not here because it comes later, after sysvr4.+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \+ | -sym* | -kopensolaris* | -plan9* \+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \+ | -aos* | -aros* \+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \+ | -bitrig* | -openbsd* | -solidbsd* \+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \+ | -chorusos* | -chorusrdb* | -cegcc* \+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)+ # Remember, each alternative MUST END IN *, to match a version number.+ ;;+ -qnx*)+ case $basic_machine in+ x86-* | i*86-*)+ ;;+ *)+ os=-nto$os+ ;;+ esac+ ;;+ -nto-qnx*)+ ;;+ -nto*)+ os=`echo $os | sed -e 's|nto|nto-qnx|'`+ ;;+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)+ ;;+ -mac*)+ os=`echo $os | sed -e 's|mac|macos|'`+ ;;+ -linux-dietlibc)+ os=-linux-dietlibc+ ;;+ -linux*)+ os=`echo $os | sed -e 's|linux|linux-gnu|'`+ ;;+ -sunos5*)+ os=`echo $os | sed -e 's|sunos5|solaris2|'`+ ;;+ -sunos6*)+ os=`echo $os | sed -e 's|sunos6|solaris3|'`+ ;;+ -opened*)+ os=-openedition+ ;;+ -os400*)+ os=-os400+ ;;+ -wince*)+ os=-wince+ ;;+ -osfrose*)+ os=-osfrose+ ;;+ -osf*)+ os=-osf+ ;;+ -utek*)+ os=-bsd+ ;;+ -dynix*)+ os=-bsd+ ;;+ -acis*)+ os=-aos+ ;;+ -atheos*)+ os=-atheos+ ;;+ -syllable*)+ os=-syllable+ ;;+ -386bsd)+ os=-bsd+ ;;+ -ctix* | -uts*)+ os=-sysv+ ;;+ -nova*)+ os=-rtmk-nova+ ;;+ -ns2 )+ os=-nextstep2+ ;;+ -nsk*)+ os=-nsk+ ;;+ # Preserve the version number of sinix5.+ -sinix5.*)+ os=`echo $os | sed -e 's|sinix|sysv|'`+ ;;+ -sinix*)+ os=-sysv4+ ;;+ -tpf*)+ os=-tpf+ ;;+ -triton*)+ os=-sysv3+ ;;+ -oss*)+ os=-sysv3+ ;;+ -svr4)+ os=-sysv4+ ;;+ -svr3)+ os=-sysv3+ ;;+ -sysvr4)+ os=-sysv4+ ;;+ # This must come after -sysvr4.+ -sysv*)+ ;;+ -ose*)+ os=-ose+ ;;+ -es1800*)+ os=-ose+ ;;+ -xenix)+ os=-xenix+ ;;+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)+ os=-mint+ ;;+ -aros*)+ os=-aros+ ;;+ -zvmoe)+ os=-zvmoe+ ;;+ -dicos*)+ os=-dicos+ ;;+ -nacl*)+ ;;+ -none)+ ;;+ *)+ # Get rid of the `-' at the beginning of $os.+ os=`echo $os | sed 's/[^-]*-//'`+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2+ exit 1+ ;;+esac+else++# Here we handle the default operating systems that come with various machines.+# The value should be what the vendor currently ships out the door with their+# machine or put another way, the most popular os provided with the machine.++# Note that if you're going to try to match "-MANUFACTURER" here (say,+# "-sun"), then you have to tell the case statement up towards the top+# that MANUFACTURER isn't an operating system. Otherwise, code above+# will signal an error saying that MANUFACTURER isn't an operating+# system, and we'll never get to this point.++case $basic_machine in+ score-*)+ os=-elf+ ;;+ spu-*)+ os=-elf+ ;;+ *-acorn)+ os=-riscix1.2+ ;;+ arm*-rebel)+ os=-linux+ ;;+ arm*-semi)+ os=-aout+ ;;+ c4x-* | tic4x-*)+ os=-coff+ ;;+ c8051-*)+ os=-elf+ ;;+ hexagon-*)+ os=-elf+ ;;+ tic54x-*)+ os=-coff+ ;;+ tic55x-*)+ os=-coff+ ;;+ tic6x-*)+ os=-coff+ ;;+ # This must come before the *-dec entry.+ pdp10-*)+ os=-tops20+ ;;+ pdp11-*)+ os=-none+ ;;+ *-dec | vax-*)+ os=-ultrix4.2+ ;;+ m68*-apollo)+ os=-domain+ ;;+ i386-sun)+ os=-sunos4.0.2+ ;;+ m68000-sun)+ os=-sunos3+ ;;+ m68*-cisco)+ os=-aout+ ;;+ mep-*)+ os=-elf+ ;;+ mips*-cisco)+ os=-elf+ ;;+ mips*-*)+ os=-elf+ ;;+ or32-*)+ os=-coff+ ;;+ *-tti) # must be before sparc entry or we get the wrong os.+ os=-sysv3+ ;;+ sparc-* | *-sun)+ os=-sunos4.1.1+ ;;+ *-be)+ os=-beos+ ;;+ *-haiku)+ os=-haiku+ ;;+ *-ibm)+ os=-aix+ ;;+ *-knuth)+ os=-mmixware+ ;;+ *-wec)+ os=-proelf+ ;;+ *-winbond)+ os=-proelf+ ;;+ *-oki)+ os=-proelf+ ;;+ *-hp)+ os=-hpux+ ;;+ *-hitachi)+ os=-hiux+ ;;+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)+ os=-sysv+ ;;+ *-cbm)+ os=-amigaos+ ;;+ *-dg)+ os=-dgux+ ;;+ *-dolphin)+ os=-sysv3+ ;;+ m68k-ccur)+ os=-rtu+ ;;+ m88k-omron*)+ os=-luna+ ;;+ *-next )+ os=-nextstep+ ;;+ *-sequent)+ os=-ptx+ ;;+ *-crds)+ os=-unos+ ;;+ *-ns)+ os=-genix+ ;;+ i370-*)+ os=-mvs+ ;;+ *-next)+ os=-nextstep3+ ;;+ *-gould)+ os=-sysv+ ;;+ *-highlevel)+ os=-bsd+ ;;+ *-encore)+ os=-bsd+ ;;+ *-sgi)+ os=-irix+ ;;+ *-siemens)+ os=-sysv4+ ;;+ *-masscomp)+ os=-rtu+ ;;+ f30[01]-fujitsu | f700-fujitsu)+ os=-uxpv+ ;;+ *-rom68k)+ os=-coff+ ;;+ *-*bug)+ os=-coff+ ;;+ *-apple)+ os=-macos+ ;;+ *-atari*)+ os=-mint+ ;;+ *)+ os=-none+ ;;+esac+fi++# Here we handle the case where we know the os, and the CPU type, but not the+# manufacturer. We pick the logical manufacturer.+vendor=unknown+case $basic_machine in+ *-unknown)+ case $os in+ -riscix*)+ vendor=acorn+ ;;+ -sunos*)+ vendor=sun+ ;;+ -cnk*|-aix*)+ vendor=ibm+ ;;+ -beos*)+ vendor=be+ ;;+ -hpux*)+ vendor=hp+ ;;+ -mpeix*)+ vendor=hp+ ;;+ -hiux*)+ vendor=hitachi+ ;;+ -unos*)+ vendor=crds+ ;;+ -dgux*)+ vendor=dg+ ;;+ -luna*)+ vendor=omron+ ;;+ -genix*)+ vendor=ns+ ;;+ -mvs* | -opened*)+ vendor=ibm+ ;;+ -os400*)+ vendor=ibm+ ;;+ -ptx*)+ vendor=sequent+ ;;+ -tpf*)+ vendor=ibm+ ;;+ -vxsim* | -vxworks* | -windiss*)+ vendor=wrs+ ;;+ -aux*)+ vendor=apple+ ;;+ -hms*)+ vendor=hitachi+ ;;+ -mpw* | -macos*)+ vendor=apple+ ;;+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)+ vendor=atari+ ;;+ -vos*)+ vendor=stratus+ ;;+ esac+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`+ ;;+esac++echo $basic_machine$os+exit++# Local variables:+# eval: (add-hook 'write-file-hooks 'time-stamp)+# time-stamp-start: "timestamp='"+# time-stamp-format: "%:y-%02m-%02d"+# time-stamp-end: "'"+# End:
+ standalone/android/tmp/network-2.4.1.2/configure view
@@ -0,0 +1,5327 @@+#! /bin/sh+set -- --host=arm-linux-androideabi+# Guess values for system-dependent variables and create Makefiles.+# Generated by GNU Autoconf 2.69 for Haskell network package 2.3.0.14.+#+# Report bugs to <libraries@haskell.org>.+#+#+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.+#+#+# This configure script is free software; the Free Software Foundation+# gives unlimited permission to copy, distribute and modify it.+## -------------------- ##+## M4sh Initialization. ##+## -------------------- ##++# Be more Bourne compatible+DUALCASE=1; export DUALCASE # for MKS sh+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :+ emulate sh+ NULLCMD=:+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which+ # is contrary to our usage. Disable this feature.+ alias -g '${1+"$@"}'='"$@"'+ setopt NO_GLOB_SUBST+else+ case `(set -o) 2>/dev/null` in #(+ *posix*) :+ set -o posix ;; #(+ *) :+ ;;+esac+fi+++as_nl='+'+export as_nl+# Printing a long string crashes Solaris 7 /usr/bin/printf.+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo+# Prefer a ksh shell builtin over an external printf program on Solaris,+# but without wasting forks for bash or zsh.+if test -z "$BASH_VERSION$ZSH_VERSION" \+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then+ as_echo='print -r --'+ as_echo_n='print -rn --'+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then+ as_echo='printf %s\n'+ as_echo_n='printf %s'+else+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'+ as_echo_n='/usr/ucb/echo -n'+ else+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'+ as_echo_n_body='eval+ arg=$1;+ case $arg in #(+ *"$as_nl"*)+ expr "X$arg" : "X\\(.*\\)$as_nl";+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;+ esac;+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"+ '+ export as_echo_n_body+ as_echo_n='sh -c $as_echo_n_body as_echo'+ fi+ export as_echo_body+ as_echo='sh -c $as_echo_body as_echo'+fi++# The user is always right.+if test "${PATH_SEPARATOR+set}" != set; then+ PATH_SEPARATOR=:+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||+ PATH_SEPARATOR=';'+ }+fi+++# IFS+# We need space, tab and new line, in precisely that order. Quoting is+# there to prevent editors from complaining about space-tab.+# (If _AS_PATH_WALK were called with IFS unset, it would disable word+# splitting by setting IFS to empty value.)+IFS=" "" $as_nl"++# Find who we are. Look in the path if we contain no directory separator.+as_myself=+case $0 in #((+ *[\\/]* ) as_myself=$0 ;;+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break+ done+IFS=$as_save_IFS++ ;;+esac+# We did not find ourselves, most probably we were run as `sh COMMAND'+# in which case we are not to be found in the path.+if test "x$as_myself" = x; then+ as_myself=$0+fi+if test ! -f "$as_myself"; then+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2+ exit 1+fi++# Unset variables that we do not need and which cause bugs (e.g. in+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"+# suppresses any "Segmentation fault" message there. '((' could+# trigger a bug in pdksh 5.2.14.+for as_var in BASH_ENV ENV MAIL MAILPATH+do eval test x\${$as_var+set} = xset \+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :+done+PS1='$ '+PS2='> '+PS4='+ '++# NLS nuisances.+LC_ALL=C+export LC_ALL+LANGUAGE=C+export LANGUAGE++# CDPATH.+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH++# Use a proper internal environment variable to ensure we don't fall+ # into an infinite loop, continuously re-executing ourselves.+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then+ _as_can_reexec=no; export _as_can_reexec;+ # We cannot yet assume a decent shell, so we have to provide a+# neutralization value for shells without unset; and this also+# works around shells that cannot unset nonexistent variables.+# Preserve -v and -x to the replacement shell.+BASH_ENV=/dev/null+ENV=/dev/null+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV+case $- in # ((((+ *v*x* | *x*v* ) as_opts=-vx ;;+ *v* ) as_opts=-v ;;+ *x* ) as_opts=-x ;;+ * ) as_opts= ;;+esac+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}+# Admittedly, this is quite paranoid, since all the known shells bail+# out after a failed `exec'.+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2+as_fn_exit 255+ fi+ # We don't want this to propagate to other subprocesses.+ { _as_can_reexec=; unset _as_can_reexec;}+if test "x$CONFIG_SHELL" = x; then+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :+ emulate sh+ NULLCMD=:+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which+ # is contrary to our usage. Disable this feature.+ alias -g '\${1+\"\$@\"}'='\"\$@\"'+ setopt NO_GLOB_SUBST+else+ case \`(set -o) 2>/dev/null\` in #(+ *posix*) :+ set -o posix ;; #(+ *) :+ ;;+esac+fi+"+ as_required="as_fn_return () { (exit \$1); }+as_fn_success () { as_fn_return 0; }+as_fn_failure () { as_fn_return 1; }+as_fn_ret_success () { return 0; }+as_fn_ret_failure () { return 1; }++exitcode=0+as_fn_success || { exitcode=1; echo as_fn_success failed.; }+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :++else+ exitcode=1; echo positional parameters were not saved.+fi+test x\$exitcode = x0 || exit 1+test -x / || exit 1"+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1+test \$(( 1 + 1 )) = 2 || exit 1"+ if (eval "$as_required") 2>/dev/null; then :+ as_have_required=yes+else+ as_have_required=no+fi+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :++else+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+as_found=false+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ as_found=:+ case $as_dir in #(+ /*)+ for as_base in sh bash ksh sh5; do+ # Try only shells that exist, to save several forks.+ as_shell=$as_dir/$as_base+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :+ CONFIG_SHELL=$as_shell as_have_required=yes+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :+ break 2+fi+fi+ done;;+ esac+ as_found=false+done+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :+ CONFIG_SHELL=$SHELL as_have_required=yes+fi; }+IFS=$as_save_IFS+++ if test "x$CONFIG_SHELL" != x; then :+ export CONFIG_SHELL+ # We cannot yet assume a decent shell, so we have to provide a+# neutralization value for shells without unset; and this also+# works around shells that cannot unset nonexistent variables.+# Preserve -v and -x to the replacement shell.+BASH_ENV=/dev/null+ENV=/dev/null+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV+case $- in # ((((+ *v*x* | *x*v* ) as_opts=-vx ;;+ *v* ) as_opts=-v ;;+ *x* ) as_opts=-x ;;+ * ) as_opts= ;;+esac+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}+# Admittedly, this is quite paranoid, since all the known shells bail+# out after a failed `exec'.+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2+exit 255+fi++ if test x$as_have_required = xno; then :+ $as_echo "$0: This script requires a shell more modern than all"+ $as_echo "$0: the shells that I found on your system."+ if test x${ZSH_VERSION+set} = xset ; then+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."+ else+ $as_echo "$0: Please tell bug-autoconf@gnu.org and+$0: libraries@haskell.org about your system, including any+$0: error possibly output before this message. Then install+$0: a modern shell, or manually run the script under such a+$0: shell if you do have one."+ fi+ exit 1+fi+fi+fi+SHELL=${CONFIG_SHELL-/bin/sh}+export SHELL+# Unset more variables known to interfere with behavior of common tools.+CLICOLOR_FORCE= GREP_OPTIONS=+unset CLICOLOR_FORCE GREP_OPTIONS++## --------------------- ##+## M4sh Shell Functions. ##+## --------------------- ##+# as_fn_unset VAR+# ---------------+# Portably unset VAR.+as_fn_unset ()+{+ { eval $1=; unset $1;}+}+as_unset=as_fn_unset++# as_fn_set_status STATUS+# -----------------------+# Set $? to STATUS, without forking.+as_fn_set_status ()+{+ return $1+} # as_fn_set_status++# as_fn_exit STATUS+# -----------------+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.+as_fn_exit ()+{+ set +e+ as_fn_set_status $1+ exit $1+} # as_fn_exit++# as_fn_mkdir_p+# -------------+# Create "$as_dir" as a directory, including parents if necessary.+as_fn_mkdir_p ()+{++ case $as_dir in #(+ -*) as_dir=./$as_dir;;+ esac+ test -d "$as_dir" || eval $as_mkdir_p || {+ as_dirs=+ while :; do+ case $as_dir in #(+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(+ *) as_qdir=$as_dir;;+ esac+ as_dirs="'$as_qdir' $as_dirs"+ as_dir=`$as_dirname -- "$as_dir" ||+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \+ X"$as_dir" : 'X\(//\)[^/]' \| \+ X"$as_dir" : 'X\(//\)$' \| \+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X"$as_dir" |+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{+ s//\1/+ q+ }+ /^X\(\/\/\)[^/].*/{+ s//\1/+ q+ }+ /^X\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`+ test -d "$as_dir" && break+ done+ test -z "$as_dirs" || eval "mkdir $as_dirs"+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"+++} # as_fn_mkdir_p++# as_fn_executable_p FILE+# -----------------------+# Test if FILE is an executable regular file.+as_fn_executable_p ()+{+ test -f "$1" && test -x "$1"+} # as_fn_executable_p+# as_fn_append VAR VALUE+# ----------------------+# Append the text in VALUE to the end of the definition contained in VAR. Take+# advantage of any shell optimizations that allow amortized linear growth over+# repeated appends, instead of the typical quadratic growth present in naive+# implementations.+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :+ eval 'as_fn_append ()+ {+ eval $1+=\$2+ }'+else+ as_fn_append ()+ {+ eval $1=\$$1\$2+ }+fi # as_fn_append++# as_fn_arith ARG...+# ------------------+# Perform arithmetic evaluation on the ARGs, and store the result in the+# global $as_val. Take advantage of shells that can avoid forks. The arguments+# must be portable across $(()) and expr.+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :+ eval 'as_fn_arith ()+ {+ as_val=$(( $* ))+ }'+else+ as_fn_arith ()+ {+ as_val=`expr "$@" || test $? -eq 1`+ }+fi # as_fn_arith+++# as_fn_error STATUS ERROR [LINENO LOG_FD]+# ----------------------------------------+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the+# script with STATUS, using 1 if that was 0.+as_fn_error ()+{+ as_status=$1; test $as_status -eq 0 && as_status=1+ if test "$4"; then+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4+ fi+ $as_echo "$as_me: error: $2" >&2+ as_fn_exit $as_status+} # as_fn_error++if expr a : '\(a\)' >/dev/null 2>&1 &&+ test "X`expr 00001 : '.*\(...\)'`" = X001; then+ as_expr=expr+else+ as_expr=false+fi++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then+ as_basename=basename+else+ as_basename=false+fi++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then+ as_dirname=dirname+else+ as_dirname=false+fi++as_me=`$as_basename -- "$0" ||+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \+ X"$0" : 'X\(//\)$' \| \+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X/"$0" |+ sed '/^.*\/\([^/][^/]*\)\/*$/{+ s//\1/+ q+ }+ /^X\/\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\/\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`++# Avoid depending upon Character Ranges.+as_cr_letters='abcdefghijklmnopqrstuvwxyz'+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'+as_cr_Letters=$as_cr_letters$as_cr_LETTERS+as_cr_digits='0123456789'+as_cr_alnum=$as_cr_Letters$as_cr_digits+++ as_lineno_1=$LINENO as_lineno_1a=$LINENO+ as_lineno_2=$LINENO as_lineno_2a=$LINENO+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)+ sed -n '+ p+ /[$]LINENO/=+ ' <$as_myself |+ sed '+ s/[$]LINENO.*/&-/+ t lineno+ b+ :lineno+ N+ :loop+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/+ t loop+ s/-\n.*//+ ' >$as_me.lineno &&+ chmod +x "$as_me.lineno" ||+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }++ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have+ # already done that, so ensure we don't try to do so again and fall+ # in an infinite loop. This has already happened in practice.+ _as_can_reexec=no; export _as_can_reexec+ # Don't try to exec as it changes $[0], causing all sort of problems+ # (the dirname of $[0] is not the place where we might find the+ # original and so on. Autoconf is especially sensitive to this).+ . "./$as_me.lineno"+ # Exit status is that of the last command.+ exit+}++ECHO_C= ECHO_N= ECHO_T=+case `echo -n x` in #(((((+-n*)+ case `echo 'xy\c'` in+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.+ xy) ECHO_C='\c';;+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null+ ECHO_T=' ';;+ esac;;+*)+ ECHO_N='-n';;+esac++rm -f conf$$ conf$$.exe conf$$.file+if test -d conf$$.dir; then+ rm -f conf$$.dir/conf$$.file+else+ rm -f conf$$.dir+ mkdir conf$$.dir 2>/dev/null+fi+if (echo >conf$$.file) 2>/dev/null; then+ if ln -s conf$$.file conf$$ 2>/dev/null; then+ as_ln_s='ln -s'+ # ... but there are two gotchas:+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.+ # In both cases, we have to default to `cp -pR'.+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||+ as_ln_s='cp -pR'+ elif ln conf$$.file conf$$ 2>/dev/null; then+ as_ln_s=ln+ else+ as_ln_s='cp -pR'+ fi+else+ as_ln_s='cp -pR'+fi+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file+rmdir conf$$.dir 2>/dev/null++if mkdir -p . 2>/dev/null; then+ as_mkdir_p='mkdir -p "$as_dir"'+else+ test -d ./-p && rmdir ./-p+ as_mkdir_p=false+fi++as_test_x='test -x'+as_executable_p=as_fn_executable_p++# Sed expression to map a string onto a valid CPP name.+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"++# Sed expression to map a string onto a valid variable name.+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"+++test -n "$DJDIR" || exec 7<&0 </dev/null+exec 6>&1++# Name of the host.+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,+# so uname gets run too.+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`++#+# Initializations.+#+ac_default_prefix=/usr/local+ac_clean_files=+ac_config_libobj_dir=.+LIBOBJS=+cross_compiling=no+subdirs=+MFLAGS=+MAKEFLAGS=++# Identity of this package.+PACKAGE_NAME='Haskell network package'+PACKAGE_TARNAME='network'+PACKAGE_VERSION='2.3.0.14'+PACKAGE_STRING='Haskell network package 2.3.0.14'+PACKAGE_BUGREPORT='libraries@haskell.org'+PACKAGE_URL=''++ac_unique_file="include/HsNet.h"+# Factoring default headers for most tests.+ac_includes_default="\+#include <stdio.h>+#ifdef HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif+#ifdef HAVE_SYS_STAT_H+# include <sys/stat.h>+#endif+#ifdef STDC_HEADERS+# include <stdlib.h>+# include <stddef.h>+#else+# ifdef HAVE_STDLIB_H+# include <stdlib.h>+# endif+#endif+#ifdef HAVE_STRING_H+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H+# include <memory.h>+# endif+# include <string.h>+#endif+#ifdef HAVE_STRINGS_H+# include <strings.h>+#endif+#ifdef HAVE_INTTYPES_H+# include <inttypes.h>+#endif+#ifdef HAVE_STDINT_H+# include <stdint.h>+#endif+#ifdef HAVE_UNISTD_H+# include <unistd.h>+#endif"++ac_subst_vars='LTLIBOBJS+LIBOBJS+EXTRA_SRCS+EXTRA_LIBS+EXTRA_CPPFLAGS+CALLCONV+EGREP+GREP+CPP+OBJEXT+EXEEXT+ac_ct_CC+CPPFLAGS+LDFLAGS+CFLAGS+CC+host_os+host_vendor+host_cpu+host+build_os+build_vendor+build_cpu+build+target_alias+host_alias+build_alias+LIBS+ECHO_T+ECHO_N+ECHO_C+DEFS+mandir+localedir+libdir+psdir+pdfdir+dvidir+htmldir+infodir+docdir+oldincludedir+includedir+localstatedir+sharedstatedir+sysconfdir+datadir+datarootdir+libexecdir+sbindir+bindir+program_transform_name+prefix+exec_prefix+PACKAGE_URL+PACKAGE_BUGREPORT+PACKAGE_STRING+PACKAGE_VERSION+PACKAGE_TARNAME+PACKAGE_NAME+PATH_SEPARATOR+SHELL'+ac_subst_files=''+ac_user_opts='+enable_option_checking+with_cc+'+ ac_precious_vars='build_alias+host_alias+target_alias+CC+CFLAGS+LDFLAGS+LIBS+CPPFLAGS+CPP'+++# Initialize some variables set by options.+ac_init_help=+ac_init_version=false+ac_unrecognized_opts=+ac_unrecognized_sep=+# The variables have the same names as the options, with+# dashes changed to underlines.+cache_file=/dev/null+exec_prefix=NONE+no_create=+no_recursion=+prefix=NONE+program_prefix=NONE+program_suffix=NONE+program_transform_name=s,x,x,+silent=+site=+srcdir=+verbose=+x_includes=NONE+x_libraries=NONE++# Installation directory options.+# These are left unexpanded so users can "make install exec_prefix=/foo"+# and all the variables that are supposed to be based on exec_prefix+# by default will actually change.+# Use braces instead of parens because sh, perl, etc. also accept them.+# (The list follows the same order as the GNU Coding Standards.)+bindir='${exec_prefix}/bin'+sbindir='${exec_prefix}/sbin'+libexecdir='${exec_prefix}/libexec'+datarootdir='${prefix}/share'+datadir='${datarootdir}'+sysconfdir='${prefix}/etc'+sharedstatedir='${prefix}/com'+localstatedir='${prefix}/var'+includedir='${prefix}/include'+oldincludedir='/usr/include'+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'+infodir='${datarootdir}/info'+htmldir='${docdir}'+dvidir='${docdir}'+pdfdir='${docdir}'+psdir='${docdir}'+libdir='${exec_prefix}/lib'+localedir='${datarootdir}/locale'+mandir='${datarootdir}/man'++ac_prev=+ac_dashdash=+for ac_option+do+ # If the previous option needs an argument, assign it.+ if test -n "$ac_prev"; then+ eval $ac_prev=\$ac_option+ ac_prev=+ continue+ fi++ case $ac_option in+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;+ *=) ac_optarg= ;;+ *) ac_optarg=yes ;;+ esac++ # Accept the important Cygnus configure options, so we can diagnose typos.++ case $ac_dashdash$ac_option in+ --)+ ac_dashdash=yes ;;++ -bindir | --bindir | --bindi | --bind | --bin | --bi)+ ac_prev=bindir ;;+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)+ bindir=$ac_optarg ;;++ -build | --build | --buil | --bui | --bu)+ ac_prev=build_alias ;;+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)+ build_alias=$ac_optarg ;;++ -cache-file | --cache-file | --cache-fil | --cache-fi \+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)+ ac_prev=cache_file ;;+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)+ cache_file=$ac_optarg ;;++ --config-cache | -C)+ cache_file=config.cache ;;++ -datadir | --datadir | --datadi | --datad)+ ac_prev=datadir ;;+ -datadir=* | --datadir=* | --datadi=* | --datad=*)+ datadir=$ac_optarg ;;++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \+ | --dataroo | --dataro | --datar)+ ac_prev=datarootdir ;;+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)+ datarootdir=$ac_optarg ;;++ -disable-* | --disable-*)+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`+ # Reject names that are not valid shell variable names.+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&+ as_fn_error $? "invalid feature name: $ac_useropt"+ ac_useropt_orig=$ac_useropt+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`+ case $ac_user_opts in+ *"+"enable_$ac_useropt"+"*) ;;+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"+ ac_unrecognized_sep=', ';;+ esac+ eval enable_$ac_useropt=no ;;++ -docdir | --docdir | --docdi | --doc | --do)+ ac_prev=docdir ;;+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)+ docdir=$ac_optarg ;;++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)+ ac_prev=dvidir ;;+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)+ dvidir=$ac_optarg ;;++ -enable-* | --enable-*)+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`+ # Reject names that are not valid shell variable names.+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&+ as_fn_error $? "invalid feature name: $ac_useropt"+ ac_useropt_orig=$ac_useropt+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`+ case $ac_user_opts in+ *"+"enable_$ac_useropt"+"*) ;;+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"+ ac_unrecognized_sep=', ';;+ esac+ eval enable_$ac_useropt=\$ac_optarg ;;++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \+ | --exec | --exe | --ex)+ ac_prev=exec_prefix ;;+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \+ | --exec=* | --exe=* | --ex=*)+ exec_prefix=$ac_optarg ;;++ -gas | --gas | --ga | --g)+ # Obsolete; use --with-gas.+ with_gas=yes ;;++ -help | --help | --hel | --he | -h)+ ac_init_help=long ;;+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)+ ac_init_help=recursive ;;+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)+ ac_init_help=short ;;++ -host | --host | --hos | --ho)+ ac_prev=host_alias ;;+ -host=* | --host=* | --hos=* | --ho=*)+ host_alias=$ac_optarg ;;++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)+ ac_prev=htmldir ;;+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \+ | --ht=*)+ htmldir=$ac_optarg ;;++ -includedir | --includedir | --includedi | --included | --include \+ | --includ | --inclu | --incl | --inc)+ ac_prev=includedir ;;+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \+ | --includ=* | --inclu=* | --incl=* | --inc=*)+ includedir=$ac_optarg ;;++ -infodir | --infodir | --infodi | --infod | --info | --inf)+ ac_prev=infodir ;;+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)+ infodir=$ac_optarg ;;++ -libdir | --libdir | --libdi | --libd)+ ac_prev=libdir ;;+ -libdir=* | --libdir=* | --libdi=* | --libd=*)+ libdir=$ac_optarg ;;++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \+ | --libexe | --libex | --libe)+ ac_prev=libexecdir ;;+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \+ | --libexe=* | --libex=* | --libe=*)+ libexecdir=$ac_optarg ;;++ -localedir | --localedir | --localedi | --localed | --locale)+ ac_prev=localedir ;;+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)+ localedir=$ac_optarg ;;++ -localstatedir | --localstatedir | --localstatedi | --localstated \+ | --localstate | --localstat | --localsta | --localst | --locals)+ ac_prev=localstatedir ;;+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)+ localstatedir=$ac_optarg ;;++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)+ ac_prev=mandir ;;+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)+ mandir=$ac_optarg ;;++ -nfp | --nfp | --nf)+ # Obsolete; use --without-fp.+ with_fp=no ;;++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \+ | --no-cr | --no-c | -n)+ no_create=yes ;;++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)+ no_recursion=yes ;;++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \+ | --oldin | --oldi | --old | --ol | --o)+ ac_prev=oldincludedir ;;+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)+ oldincludedir=$ac_optarg ;;++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)+ ac_prev=prefix ;;+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)+ prefix=$ac_optarg ;;++ -program-prefix | --program-prefix | --program-prefi | --program-pref \+ | --program-pre | --program-pr | --program-p)+ ac_prev=program_prefix ;;+ -program-prefix=* | --program-prefix=* | --program-prefi=* \+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)+ program_prefix=$ac_optarg ;;++ -program-suffix | --program-suffix | --program-suffi | --program-suff \+ | --program-suf | --program-su | --program-s)+ ac_prev=program_suffix ;;+ -program-suffix=* | --program-suffix=* | --program-suffi=* \+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)+ program_suffix=$ac_optarg ;;++ -program-transform-name | --program-transform-name \+ | --program-transform-nam | --program-transform-na \+ | --program-transform-n | --program-transform- \+ | --program-transform | --program-transfor \+ | --program-transfo | --program-transf \+ | --program-trans | --program-tran \+ | --progr-tra | --program-tr | --program-t)+ ac_prev=program_transform_name ;;+ -program-transform-name=* | --program-transform-name=* \+ | --program-transform-nam=* | --program-transform-na=* \+ | --program-transform-n=* | --program-transform-=* \+ | --program-transform=* | --program-transfor=* \+ | --program-transfo=* | --program-transf=* \+ | --program-trans=* | --program-tran=* \+ | --progr-tra=* | --program-tr=* | --program-t=*)+ program_transform_name=$ac_optarg ;;++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)+ ac_prev=pdfdir ;;+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)+ pdfdir=$ac_optarg ;;++ -psdir | --psdir | --psdi | --psd | --ps)+ ac_prev=psdir ;;+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)+ psdir=$ac_optarg ;;++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \+ | -silent | --silent | --silen | --sile | --sil)+ silent=yes ;;++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)+ ac_prev=sbindir ;;+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \+ | --sbi=* | --sb=*)+ sbindir=$ac_optarg ;;++ -sharedstatedir | --sharedstatedir | --sharedstatedi \+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \+ | --sharedst | --shareds | --shared | --share | --shar \+ | --sha | --sh)+ ac_prev=sharedstatedir ;;+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \+ | --sha=* | --sh=*)+ sharedstatedir=$ac_optarg ;;++ -site | --site | --sit)+ ac_prev=site ;;+ -site=* | --site=* | --sit=*)+ site=$ac_optarg ;;++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)+ ac_prev=srcdir ;;+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)+ srcdir=$ac_optarg ;;++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \+ | --syscon | --sysco | --sysc | --sys | --sy)+ ac_prev=sysconfdir ;;+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)+ sysconfdir=$ac_optarg ;;++ -target | --target | --targe | --targ | --tar | --ta | --t)+ ac_prev=target_alias ;;+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)+ target_alias=$ac_optarg ;;++ -v | -verbose | --verbose | --verbos | --verbo | --verb)+ verbose=yes ;;++ -version | --version | --versio | --versi | --vers | -V)+ ac_init_version=: ;;++ -with-* | --with-*)+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`+ # Reject names that are not valid shell variable names.+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&+ as_fn_error $? "invalid package name: $ac_useropt"+ ac_useropt_orig=$ac_useropt+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`+ case $ac_user_opts in+ *"+"with_$ac_useropt"+"*) ;;+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"+ ac_unrecognized_sep=', ';;+ esac+ eval with_$ac_useropt=\$ac_optarg ;;++ -without-* | --without-*)+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`+ # Reject names that are not valid shell variable names.+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&+ as_fn_error $? "invalid package name: $ac_useropt"+ ac_useropt_orig=$ac_useropt+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`+ case $ac_user_opts in+ *"+"with_$ac_useropt"+"*) ;;+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"+ ac_unrecognized_sep=', ';;+ esac+ eval with_$ac_useropt=no ;;++ --x)+ # Obsolete; use --with-x.+ with_x=yes ;;++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \+ | --x-incl | --x-inc | --x-in | --x-i)+ ac_prev=x_includes ;;+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)+ x_includes=$ac_optarg ;;++ -x-libraries | --x-libraries | --x-librarie | --x-librari \+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)+ ac_prev=x_libraries ;;+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)+ x_libraries=$ac_optarg ;;++ -*) as_fn_error $? "unrecognized option: \`$ac_option'+Try \`$0 --help' for more information"+ ;;++ *=*)+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`+ # Reject names that are not valid shell variable names.+ case $ac_envvar in #(+ '' | [0-9]* | *[!_$as_cr_alnum]* )+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;+ esac+ eval $ac_envvar=\$ac_optarg+ export $ac_envvar ;;++ *)+ # FIXME: should be removed in autoconf 3.0.+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"+ ;;++ esac+done++if test -n "$ac_prev"; then+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`+ as_fn_error $? "missing argument to $ac_option"+fi++if test -n "$ac_unrecognized_opts"; then+ case $enable_option_checking in+ no) ;;+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;+ esac+fi++# Check all directory arguments for consistency.+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \+ datadir sysconfdir sharedstatedir localstatedir includedir \+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \+ libdir localedir mandir+do+ eval ac_val=\$$ac_var+ # Remove trailing slashes.+ case $ac_val in+ */ )+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`+ eval $ac_var=\$ac_val;;+ esac+ # Be sure to have absolute directory names.+ case $ac_val in+ [\\/$]* | ?:[\\/]* ) continue;;+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;+ esac+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"+done++# There might be people who depend on the old broken behavior: `$host'+# used to hold the argument of --host etc.+# FIXME: To remove some day.+build=$build_alias+host=$host_alias+target=$target_alias++# FIXME: To remove some day.+if test "x$host_alias" != x; then+ if test "x$build_alias" = x; then+ cross_compiling=maybe+ elif test "x$build_alias" != "x$host_alias"; then+ cross_compiling=yes+ fi+fi++ac_tool_prefix=+test -n "$host_alias" && ac_tool_prefix=$host_alias-++test "$silent" = yes && exec 6>/dev/null+++ac_pwd=`pwd` && test -n "$ac_pwd" &&+ac_ls_di=`ls -di .` &&+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||+ as_fn_error $? "working directory cannot be determined"+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||+ as_fn_error $? "pwd does not report name of working directory"+++# Find the source files, if location was not specified.+if test -z "$srcdir"; then+ ac_srcdir_defaulted=yes+ # Try the directory containing this script, then the parent directory.+ ac_confdir=`$as_dirname -- "$as_myself" ||+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \+ X"$as_myself" : 'X\(//\)[^/]' \| \+ X"$as_myself" : 'X\(//\)$' \| \+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X"$as_myself" |+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{+ s//\1/+ q+ }+ /^X\(\/\/\)[^/].*/{+ s//\1/+ q+ }+ /^X\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`+ srcdir=$ac_confdir+ if test ! -r "$srcdir/$ac_unique_file"; then+ srcdir=..+ fi+else+ ac_srcdir_defaulted=no+fi+if test ! -r "$srcdir/$ac_unique_file"; then+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"+fi+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"+ac_abs_confdir=`(+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"+ pwd)`+# When building in place, set srcdir=.+if test "$ac_abs_confdir" = "$ac_pwd"; then+ srcdir=.+fi+# Remove unnecessary trailing slashes from srcdir.+# Double slashes in file names in object file debugging info+# mess up M-x gdb in Emacs.+case $srcdir in+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;+esac+for ac_var in $ac_precious_vars; do+ eval ac_env_${ac_var}_set=\${${ac_var}+set}+ eval ac_env_${ac_var}_value=\$${ac_var}+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}+ eval ac_cv_env_${ac_var}_value=\$${ac_var}+done++#+# Report the --help message.+#+if test "$ac_init_help" = "long"; then+ # Omit some internal or obsolete options to make the list less imposing.+ # This message is too long to be a string in the A/UX 3.1 sh.+ cat <<_ACEOF+\`configure' configures Haskell network package 2.3.0.14 to adapt to many kinds of systems.++Usage: $0 [OPTION]... [VAR=VALUE]...++To assign environment variables (e.g., CC, CFLAGS...), specify them as+VAR=VALUE. See below for descriptions of some of the useful variables.++Defaults for the options are specified in brackets.++Configuration:+ -h, --help display this help and exit+ --help=short display options specific to this package+ --help=recursive display the short help of all the included packages+ -V, --version display version information and exit+ -q, --quiet, --silent do not print \`checking ...' messages+ --cache-file=FILE cache test results in FILE [disabled]+ -C, --config-cache alias for \`--cache-file=config.cache'+ -n, --no-create do not create output files+ --srcdir=DIR find the sources in DIR [configure dir or \`..']++Installation directories:+ --prefix=PREFIX install architecture-independent files in PREFIX+ [$ac_default_prefix]+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX+ [PREFIX]++By default, \`make install' will install all the files in+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify+an installation prefix other than \`$ac_default_prefix' using \`--prefix',+for instance \`--prefix=\$HOME'.++For better control, use the options below.++Fine tuning of the installation directories:+ --bindir=DIR user executables [EPREFIX/bin]+ --sbindir=DIR system admin executables [EPREFIX/sbin]+ --libexecdir=DIR program executables [EPREFIX/libexec]+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]+ --libdir=DIR object code libraries [EPREFIX/lib]+ --includedir=DIR C header files [PREFIX/include]+ --oldincludedir=DIR C header files for non-gcc [/usr/include]+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]+ --infodir=DIR info documentation [DATAROOTDIR/info]+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]+ --mandir=DIR man documentation [DATAROOTDIR/man]+ --docdir=DIR documentation root [DATAROOTDIR/doc/network]+ --htmldir=DIR html documentation [DOCDIR]+ --dvidir=DIR dvi documentation [DOCDIR]+ --pdfdir=DIR pdf documentation [DOCDIR]+ --psdir=DIR ps documentation [DOCDIR]+_ACEOF++ cat <<\_ACEOF++System types:+ --build=BUILD configure for building on BUILD [guessed]+ --host=HOST cross-compile to build programs to run on HOST [BUILD]+_ACEOF+fi++if test -n "$ac_init_help"; then+ case $ac_init_help in+ short | recursive ) echo "Configuration of Haskell network package 2.3.0.14:";;+ esac+ cat <<\_ACEOF++Optional Packages:+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)+C compiler++Some influential environment variables:+ CC C compiler command+ CFLAGS C compiler flags+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a+ nonstandard directory <lib dir>+ LIBS libraries to pass to the linker, e.g. -l<library>+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if+ you have headers in a nonstandard directory <include dir>+ CPP C preprocessor++Use these variables to override the choices made by `configure' or to help+it to find libraries and programs with nonstandard names/locations.++Report bugs to <libraries@haskell.org>.+_ACEOF+ac_status=$?+fi++if test "$ac_init_help" = "recursive"; then+ # If there are subdirs, report their specific --help.+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue+ test -d "$ac_dir" ||+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||+ continue+ ac_builddir=.++case "$ac_dir" in+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;+*)+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`+ # A ".." for each directory in $ac_dir_suffix.+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`+ case $ac_top_builddir_sub in+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;+ esac ;;+esac+ac_abs_top_builddir=$ac_pwd+ac_abs_builddir=$ac_pwd$ac_dir_suffix+# for backward compatibility:+ac_top_builddir=$ac_top_build_prefix++case $srcdir in+ .) # We are building in place.+ ac_srcdir=.+ ac_top_srcdir=$ac_top_builddir_sub+ ac_abs_top_srcdir=$ac_pwd ;;+ [\\/]* | ?:[\\/]* ) # Absolute name.+ ac_srcdir=$srcdir$ac_dir_suffix;+ ac_top_srcdir=$srcdir+ ac_abs_top_srcdir=$srcdir ;;+ *) # Relative name.+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix+ ac_top_srcdir=$ac_top_build_prefix$srcdir+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;+esac+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix++ cd "$ac_dir" || { ac_status=$?; continue; }+ # Check for guested configure.+ if test -f "$ac_srcdir/configure.gnu"; then+ echo &&+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive+ elif test -f "$ac_srcdir/configure"; then+ echo &&+ $SHELL "$ac_srcdir/configure" --help=recursive+ else+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2+ fi || ac_status=$?+ cd "$ac_pwd" || { ac_status=$?; break; }+ done+fi++test -n "$ac_init_help" && exit $ac_status+if $ac_init_version; then+ cat <<\_ACEOF+Haskell network package configure 2.3.0.14+generated by GNU Autoconf 2.69++Copyright (C) 2012 Free Software Foundation, Inc.+This configure script is free software; the Free Software Foundation+gives unlimited permission to copy, distribute and modify it.+_ACEOF+ exit+fi++## ------------------------ ##+## Autoconf initialization. ##+## ------------------------ ##++# ac_fn_c_try_compile LINENO+# --------------------------+# Try to compile conftest.$ac_ext, and return whether this succeeded.+ac_fn_c_try_compile ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ rm -f conftest.$ac_objext+ if { { ac_try="$ac_compile"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_compile") 2>conftest.err+ ac_status=$?+ if test -s conftest.err; then+ grep -v '^ *+' conftest.err >conftest.er1+ cat conftest.er1 >&5+ mv -f conftest.er1 conftest.err+ fi+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; } && {+ test -z "$ac_c_werror_flag" ||+ test ! -s conftest.err+ } && test -s conftest.$ac_objext; then :+ ac_retval=0+else+ $as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++ ac_retval=1+fi+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno+ as_fn_set_status $ac_retval++} # ac_fn_c_try_compile++# ac_fn_c_try_cpp LINENO+# ----------------------+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.+ac_fn_c_try_cpp ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ if { { ac_try="$ac_cpp conftest.$ac_ext"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err+ ac_status=$?+ if test -s conftest.err; then+ grep -v '^ *+' conftest.err >conftest.er1+ cat conftest.er1 >&5+ mv -f conftest.er1 conftest.err+ fi+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; } > conftest.i && {+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||+ test ! -s conftest.err+ }; then :+ ac_retval=0+else+ $as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++ ac_retval=1+fi+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno+ as_fn_set_status $ac_retval++} # ac_fn_c_try_cpp++# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES+# -------------------------------------------------------+# Tests whether HEADER exists, giving a warning if it cannot be compiled using+# the include files in INCLUDES and setting the cache variable VAR+# accordingly.+ac_fn_c_check_header_mongrel ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ if eval \${$3+:} false; then :+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5+$as_echo_n "checking for $2... " >&6; }+if eval \${$3+:} false; then :+ $as_echo_n "(cached) " >&6+fi+eval ac_res=\$$3+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+else+ # Is the header compilable?+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5+$as_echo_n "checking $2 usability... " >&6; }+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+#include <$2>+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_header_compiler=yes+else+ ac_header_compiler=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5+$as_echo "$ac_header_compiler" >&6; }++# Is the header present?+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5+$as_echo_n "checking $2 presence... " >&6; }+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <$2>+_ACEOF+if ac_fn_c_try_cpp "$LINENO"; then :+ ac_header_preproc=yes+else+ ac_header_preproc=no+fi+rm -f conftest.err conftest.i conftest.$ac_ext+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5+$as_echo "$ac_header_preproc" >&6; }++# So? What about this header?+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((+ yes:no: )+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}+ ;;+ no:yes:* )+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}+( $as_echo "## ------------------------------------ ##+## Report this to libraries@haskell.org ##+## ------------------------------------ ##"+ ) | sed "s/^/$as_me: WARNING: /" >&2+ ;;+esac+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5+$as_echo_n "checking for $2... " >&6; }+if eval \${$3+:} false; then :+ $as_echo_n "(cached) " >&6+else+ eval "$3=\$ac_header_compiler"+fi+eval ac_res=\$$3+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+fi+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno++} # ac_fn_c_check_header_mongrel++# ac_fn_c_try_run LINENO+# ----------------------+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes+# that executables *can* be run.+ac_fn_c_try_run ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ if { { ac_try="$ac_link"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_link") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'+ { { case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_try") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }; }; then :+ ac_retval=0+else+ $as_echo "$as_me: program exited with status $ac_status" >&5+ $as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++ ac_retval=$ac_status+fi+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno+ as_fn_set_status $ac_retval++} # ac_fn_c_try_run++# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES+# -------------------------------------------------------+# Tests whether HEADER exists and can be compiled using the include files in+# INCLUDES, setting the cache variable VAR accordingly.+ac_fn_c_check_header_compile ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5+$as_echo_n "checking for $2... " >&6; }+if eval \${$3+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+#include <$2>+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ eval "$3=yes"+else+ eval "$3=no"+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+eval ac_res=\$$3+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno++} # ac_fn_c_check_header_compile++# ac_fn_c_try_link LINENO+# -----------------------+# Try to link conftest.$ac_ext, and return whether this succeeded.+ac_fn_c_try_link ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ rm -f conftest.$ac_objext conftest$ac_exeext+ if { { ac_try="$ac_link"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_link") 2>conftest.err+ ac_status=$?+ if test -s conftest.err; then+ grep -v '^ *+' conftest.err >conftest.er1+ cat conftest.er1 >&5+ mv -f conftest.er1 conftest.err+ fi+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; } && {+ test -z "$ac_c_werror_flag" ||+ test ! -s conftest.err+ } && test -s conftest$ac_exeext && {+ test "$cross_compiling" = yes ||+ test -x conftest$ac_exeext+ }; then :+ ac_retval=0+else+ $as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++ ac_retval=1+fi+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would+ # interfere with the next link command; also delete a directory that is+ # left behind by Apple's compiler. We do this before executing the actions.+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno+ as_fn_set_status $ac_retval++} # ac_fn_c_try_link++# ac_fn_c_check_func LINENO FUNC VAR+# ----------------------------------+# Tests whether FUNC exists, setting the cache variable VAR accordingly+ac_fn_c_check_func ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5+$as_echo_n "checking for $2... " >&6; }+if eval \${$3+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.+ For example, HP-UX 11i <limits.h> declares gettimeofday. */+#define $2 innocuous_$2++/* System header to define __stub macros and hopefully few prototypes,+ which can conflict with char $2 (); below.+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since+ <limits.h> exists even on freestanding compilers. */++#ifdef __STDC__+# include <limits.h>+#else+# include <assert.h>+#endif++#undef $2++/* Override any GCC internal prototype to avoid an error.+ Use char because int might match the return type of a GCC+ builtin and then its argument prototype would still apply. */+#ifdef __cplusplus+extern "C"+#endif+char $2 ();+/* The GNU C library defines this for functions which it implements+ to always fail with ENOSYS. Some functions are actually named+ something starting with __ and the normal name is an alias. */+#if defined __stub_$2 || defined __stub___$2+choke me+#endif++int+main ()+{+return $2 ();+ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_link "$LINENO"; then :+ eval "$3=yes"+else+ eval "$3=no"+fi+rm -f core conftest.err conftest.$ac_objext \+ conftest$ac_exeext conftest.$ac_ext+fi+eval ac_res=\$$3+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno++} # ac_fn_c_check_func++# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES+# ----------------------------------------------------+# Tries to find if the field MEMBER exists in type AGGR, after including+# INCLUDES, setting cache variable VAR accordingly.+ac_fn_c_check_member ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5+$as_echo_n "checking for $2.$3... " >&6; }+if eval \${$4+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$5+int+main ()+{+static $2 ac_aggr;+if (ac_aggr.$3)+return 0;+ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ eval "$4=yes"+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$5+int+main ()+{+static $2 ac_aggr;+if (sizeof ac_aggr.$3)+return 0;+ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ eval "$4=yes"+else+ eval "$4=no"+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+eval ac_res=\$$4+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno++} # ac_fn_c_check_member++# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES+# ---------------------------------------------+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR+# accordingly.+ac_fn_c_check_decl ()+{+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ as_decl_name=`echo $2|sed 's/ *(.*//'`+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }+if eval \${$3+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$4+int+main ()+{+#ifndef $as_decl_name+#ifdef __cplusplus+ (void) $as_decl_use;+#else+ (void) $as_decl_name;+#endif+#endif++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ eval "$3=yes"+else+ eval "$3=no"+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+eval ac_res=\$$3+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5+$as_echo "$ac_res" >&6; }+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno++} # ac_fn_c_check_decl+cat >config.log <<_ACEOF+This file contains any messages produced by compilers while+running configure, to aid debugging if configure makes a mistake.++It was created by Haskell network package $as_me 2.3.0.14, which was+generated by GNU Autoconf 2.69. Invocation command line was++ $ $0 $@++_ACEOF+exec 5>>config.log+{+cat <<_ASUNAME+## --------- ##+## Platform. ##+## --------- ##++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`+uname -m = `(uname -m) 2>/dev/null || echo unknown`+uname -r = `(uname -r) 2>/dev/null || echo unknown`+uname -s = `(uname -s) 2>/dev/null || echo unknown`+uname -v = `(uname -v) 2>/dev/null || echo unknown`++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`++_ASUNAME++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ $as_echo "PATH: $as_dir"+ done+IFS=$as_save_IFS++} >&5++cat >&5 <<_ACEOF+++## ----------- ##+## Core tests. ##+## ----------- ##++_ACEOF+++# Keep a trace of the command line.+# Strip out --no-create and --no-recursion so they do not pile up.+# Strip out --silent because we don't want to record it for future runs.+# Also quote any args containing shell meta-characters.+# Make two passes to allow for proper duplicate-argument suppression.+ac_configure_args=+ac_configure_args0=+ac_configure_args1=+ac_must_keep_next=false+for ac_pass in 1 2+do+ for ac_arg+ do+ case $ac_arg in+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \+ | -silent | --silent | --silen | --sile | --sil)+ continue ;;+ *\'*)+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;+ esac+ case $ac_pass in+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;+ 2)+ as_fn_append ac_configure_args1 " '$ac_arg'"+ if test $ac_must_keep_next = true; then+ ac_must_keep_next=false # Got value, back to normal.+ else+ case $ac_arg in+ *=* | --config-cache | -C | -disable-* | --disable-* \+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \+ | -with-* | --with-* | -without-* | --without-* | --x)+ case "$ac_configure_args0 " in+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;+ esac+ ;;+ -* ) ac_must_keep_next=true ;;+ esac+ fi+ as_fn_append ac_configure_args " '$ac_arg'"+ ;;+ esac+ done+done+{ ac_configure_args0=; unset ac_configure_args0;}+{ ac_configure_args1=; unset ac_configure_args1;}++# When interrupted or exit'd, cleanup temporary files, and complete+# config.log. We remove comments because anyway the quotes in there+# would cause problems or look ugly.+# WARNING: Use '\'' to represent an apostrophe within the trap.+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.+trap 'exit_status=$?+ # Save into config.log some information that might help in debugging.+ {+ echo++ $as_echo "## ---------------- ##+## Cache variables. ##+## ---------------- ##"+ echo+ # The following way of writing the cache mishandles newlines in values,+(+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do+ eval ac_val=\$$ac_var+ case $ac_val in #(+ *${as_nl}*)+ case $ac_var in #(+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;+ esac+ case $ac_var in #(+ _ | IFS | as_nl) ;; #(+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(+ *) { eval $ac_var=; unset $ac_var;} ;;+ esac ;;+ esac+ done+ (set) 2>&1 |+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(+ *${as_nl}ac_space=\ *)+ sed -n \+ "s/'\''/'\''\\\\'\'''\''/g;+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"+ ;; #(+ *)+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"+ ;;+ esac |+ sort+)+ echo++ $as_echo "## ----------------- ##+## Output variables. ##+## ----------------- ##"+ echo+ for ac_var in $ac_subst_vars+ do+ eval ac_val=\$$ac_var+ case $ac_val in+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;+ esac+ $as_echo "$ac_var='\''$ac_val'\''"+ done | sort+ echo++ if test -n "$ac_subst_files"; then+ $as_echo "## ------------------- ##+## File substitutions. ##+## ------------------- ##"+ echo+ for ac_var in $ac_subst_files+ do+ eval ac_val=\$$ac_var+ case $ac_val in+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;+ esac+ $as_echo "$ac_var='\''$ac_val'\''"+ done | sort+ echo+ fi++ if test -s confdefs.h; then+ $as_echo "## ----------- ##+## confdefs.h. ##+## ----------- ##"+ echo+ cat confdefs.h+ echo+ fi+ test "$ac_signal" != 0 &&+ $as_echo "$as_me: caught signal $ac_signal"+ $as_echo "$as_me: exit $exit_status"+ } >&5+ rm -f core *.core core.conftest.* &&+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&+ exit $exit_status+' 0+for ac_signal in 1 2 13 15; do+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal+done+ac_signal=0++# confdefs.h avoids OS command line length limits that DEFS can exceed.+rm -f -r conftest* confdefs.h++$as_echo "/* confdefs.h */" > confdefs.h++# Predefined preprocessor variables.++cat >>confdefs.h <<_ACEOF+#define PACKAGE_NAME "$PACKAGE_NAME"+_ACEOF++cat >>confdefs.h <<_ACEOF+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"+_ACEOF++cat >>confdefs.h <<_ACEOF+#define PACKAGE_VERSION "$PACKAGE_VERSION"+_ACEOF++cat >>confdefs.h <<_ACEOF+#define PACKAGE_STRING "$PACKAGE_STRING"+_ACEOF++cat >>confdefs.h <<_ACEOF+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"+_ACEOF++cat >>confdefs.h <<_ACEOF+#define PACKAGE_URL "$PACKAGE_URL"+_ACEOF+++# Let the site file select an alternate cache file if it wants to.+# Prefer an explicitly selected file to automatically selected ones.+ac_site_file1=NONE+ac_site_file2=NONE+if test -n "$CONFIG_SITE"; then+ # We do not want a PATH search for config.site.+ case $CONFIG_SITE in #((+ -*) ac_site_file1=./$CONFIG_SITE;;+ */*) ac_site_file1=$CONFIG_SITE;;+ *) ac_site_file1=./$CONFIG_SITE;;+ esac+elif test "x$prefix" != xNONE; then+ ac_site_file1=$prefix/share/config.site+ ac_site_file2=$prefix/etc/config.site+else+ ac_site_file1=$ac_default_prefix/share/config.site+ ac_site_file2=$ac_default_prefix/etc/config.site+fi+for ac_site_file in "$ac_site_file1" "$ac_site_file2"+do+ test "x$ac_site_file" = xNONE && continue+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5+$as_echo "$as_me: loading site script $ac_site_file" >&6;}+ sed 's/^/| /' "$ac_site_file" >&5+ . "$ac_site_file" \+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "failed to load site script $ac_site_file+See \`config.log' for more details" "$LINENO" 5; }+ fi+done++if test -r "$cache_file"; then+ # Some versions of bash will fail to source /dev/null (special files+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5+$as_echo "$as_me: loading cache $cache_file" >&6;}+ case $cache_file in+ [\\/]* | ?:[\\/]* ) . "$cache_file";;+ *) . "./$cache_file";;+ esac+ fi+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5+$as_echo "$as_me: creating cache $cache_file" >&6;}+ >$cache_file+fi++# Check that the precious variables saved in the cache have kept the same+# value.+ac_cache_corrupted=false+for ac_var in $ac_precious_vars; do+ eval ac_old_set=\$ac_cv_env_${ac_var}_set+ eval ac_new_set=\$ac_env_${ac_var}_set+ eval ac_old_val=\$ac_cv_env_${ac_var}_value+ eval ac_new_val=\$ac_env_${ac_var}_value+ case $ac_old_set,$ac_new_set in+ set,)+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}+ ac_cache_corrupted=: ;;+ ,set)+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}+ ac_cache_corrupted=: ;;+ ,);;+ *)+ if test "x$ac_old_val" != "x$ac_new_val"; then+ # differences in whitespace do not lead to failure.+ ac_old_val_w=`echo x $ac_old_val`+ ac_new_val_w=`echo x $ac_new_val`+ if test "$ac_old_val_w" != "$ac_new_val_w"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}+ ac_cache_corrupted=:+ else+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}+ eval $ac_var=\$ac_old_val+ fi+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}+ fi;;+ esac+ # Pass precious variables to config.status.+ if test "$ac_new_set" = set; then+ case $ac_new_val in+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;+ *) ac_arg=$ac_var=$ac_new_val ;;+ esac+ case " $ac_configure_args " in+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;+ esac+ fi+done+if $ac_cache_corrupted; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5+fi+## -------------------- ##+## Main body of script. ##+## -------------------- ##++ac_ext=c+ac_cpp='$CPP $CPPFLAGS'+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'+ac_compiler_gnu=$ac_cv_c_compiler_gnu++++ac_includes_default="$ac_includes_default+#ifdef HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif+#ifdef HAVE_NETINET_IN_H+# include <netinet/in.h>+#endif+#ifdef HAVE_NETDB_H+# include <netdb.h>+#endif+#ifdef HAVE_WINSOCK2_H+# include <winsock2.h>+#endif+#ifdef HAVE_WS2TCPIP_H+# include <ws2tcpip.h>+// fix for MingW not defining IPV6_V6ONLY+# define IPV6_V6ONLY 27+#endif+#ifdef HAVE_WSPIAPI_H+# include <wspiapi.h>+#endif"++# Safety check: Ensure that we are in the correct source directory.+++ac_config_headers="$ac_config_headers include/HsNetworkConfig.h"+++ac_aux_dir=+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do+ if test -f "$ac_dir/install-sh"; then+ ac_aux_dir=$ac_dir+ ac_install_sh="$ac_aux_dir/install-sh -c"+ break+ elif test -f "$ac_dir/install.sh"; then+ ac_aux_dir=$ac_dir+ ac_install_sh="$ac_aux_dir/install.sh -c"+ break+ elif test -f "$ac_dir/shtool"; then+ ac_aux_dir=$ac_dir+ ac_install_sh="$ac_aux_dir/shtool install -c"+ break+ fi+done+if test -z "$ac_aux_dir"; then+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5+fi++# These three variables are undocumented and unsupported,+# and are intended to be withdrawn in a future Autoconf release.+# They can cause serious problems if a builder's source tree is in a directory+# whose full name contains unusual characters.+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.+++# Make sure we can run config.sub.+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5+$as_echo_n "checking build system type... " >&6; }+if ${ac_cv_build+:} false; then :+ $as_echo_n "(cached) " >&6+else+ ac_build_alias=$build_alias+test "x$ac_build_alias" = x &&+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`+test "x$ac_build_alias" = x &&+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5++fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5+$as_echo "$ac_cv_build" >&6; }+case $ac_cv_build in+*-*-*) ;;+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;+esac+build=$ac_cv_build+ac_save_IFS=$IFS; IFS='-'+set x $ac_cv_build+shift+build_cpu=$1+build_vendor=$2+shift; shift+# Remember, the first character of IFS is used to create $*,+# except with old shells:+build_os=$*+IFS=$ac_save_IFS+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5+$as_echo_n "checking host system type... " >&6; }+if ${ac_cv_host+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test "x$host_alias" = x; then+ ac_cv_host=$ac_cv_build+else+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5+fi++fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5+$as_echo "$ac_cv_host" >&6; }+case $ac_cv_host in+*-*-*) ;;+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;+esac+host=$ac_cv_host+ac_save_IFS=$IFS; IFS='-'+set x $ac_cv_host+shift+host_cpu=$1+host_vendor=$2+shift; shift+# Remember, the first character of IFS is used to create $*,+# except with old shells:+host_os=$*+IFS=$ac_save_IFS+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac+++++# Check whether --with-cc was given.+if test "${with_cc+set}" = set; then :+ withval=$with_cc; CC=$withval+fi++ac_ext=c+ac_cpp='$CPP $CPPFLAGS'+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'+ac_compiler_gnu=$ac_cv_c_compiler_gnu+if test -n "$ac_tool_prefix"; then+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.+set dummy ${ac_tool_prefix}gcc; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$CC"; then+ ac_cv_prog_CC="$CC" # Let the user override the test.+else+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ ac_cv_prog_CC="${ac_tool_prefix}gcc"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++fi+fi+CC=$ac_cv_prog_CC+if test -n "$CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5+$as_echo "$CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+++fi+if test -z "$ac_cv_prog_CC"; then+ ac_ct_CC=$CC+ # Extract the first word of "gcc", so it can be a program name with args.+set dummy gcc; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_ac_ct_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$ac_ct_CC"; then+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.+else+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ ac_cv_prog_ac_ct_CC="gcc"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++fi+fi+ac_ct_CC=$ac_cv_prog_ac_ct_CC+if test -n "$ac_ct_CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5+$as_echo "$ac_ct_CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi++ if test "x$ac_ct_CC" = x; then+ CC=""+ else+ case $cross_compiling:$ac_tool_warned in+yes:)+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}+ac_tool_warned=yes ;;+esac+ CC=$ac_ct_CC+ fi+else+ CC="$ac_cv_prog_CC"+fi++if test -z "$CC"; then+ if test -n "$ac_tool_prefix"; then+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.+set dummy ${ac_tool_prefix}cc; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$CC"; then+ ac_cv_prog_CC="$CC" # Let the user override the test.+else+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ ac_cv_prog_CC="${ac_tool_prefix}cc"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++fi+fi+CC=$ac_cv_prog_CC+if test -n "$CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5+$as_echo "$CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+++ fi+fi+if test -z "$CC"; then+ # Extract the first word of "cc", so it can be a program name with args.+set dummy cc; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$CC"; then+ ac_cv_prog_CC="$CC" # Let the user override the test.+else+ ac_prog_rejected=no+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then+ ac_prog_rejected=yes+ continue+ fi+ ac_cv_prog_CC="cc"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++if test $ac_prog_rejected = yes; then+ # We found a bogon in the path, so make sure we never use it.+ set dummy $ac_cv_prog_CC+ shift+ if test $# != 0; then+ # We chose a different compiler from the bogus one.+ # However, it has the same basename, so the bogon will be chosen+ # first if we set CC to just the basename; use the full file name.+ shift+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"+ fi+fi+fi+fi+CC=$ac_cv_prog_CC+if test -n "$CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5+$as_echo "$CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+++fi+if test -z "$CC"; then+ if test -n "$ac_tool_prefix"; then+ for ac_prog in cl.exe+ do+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.+set dummy $ac_tool_prefix$ac_prog; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$CC"; then+ ac_cv_prog_CC="$CC" # Let the user override the test.+else+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++fi+fi+CC=$ac_cv_prog_CC+if test -n "$CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5+$as_echo "$CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+++ test -n "$CC" && break+ done+fi+if test -z "$CC"; then+ ac_ct_CC=$CC+ for ac_prog in cl.exe+do+ # Extract the first word of "$ac_prog", so it can be a program name with args.+set dummy $ac_prog; ac_word=$2+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5+$as_echo_n "checking for $ac_word... " >&6; }+if ${ac_cv_prog_ac_ct_CC+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -n "$ac_ct_CC"; then+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.+else+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_exec_ext in '' $ac_executable_extensions; do+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then+ ac_cv_prog_ac_ct_CC="$ac_prog"+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5+ break 2+ fi+done+ done+IFS=$as_save_IFS++fi+fi+ac_ct_CC=$ac_cv_prog_ac_ct_CC+if test -n "$ac_ct_CC"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5+$as_echo "$ac_ct_CC" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+++ test -n "$ac_ct_CC" && break+done++ if test "x$ac_ct_CC" = x; then+ CC=""+ else+ case $cross_compiling:$ac_tool_warned in+yes:)+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}+ac_tool_warned=yes ;;+esac+ CC=$ac_ct_CC+ fi+fi++fi+++test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "no acceptable C compiler found in \$PATH+See \`config.log' for more details" "$LINENO" 5; }++# Provide some information about the compiler.+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5+set X $ac_compile+ac_compiler=$2+for ac_option in --version -v -V -qversion; do+ { { ac_try="$ac_compiler $ac_option >&5"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err+ ac_status=$?+ if test -s conftest.err; then+ sed '10a\+... rest of stderr output deleted ...+ 10q' conftest.err >conftest.er1+ cat conftest.er1 >&5+ fi+ rm -f conftest.er1 conftest.err+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }+done++cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{++ ;+ return 0;+}+_ACEOF+ac_clean_files_save=$ac_clean_files+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"+# Try to create an executable without -o first, disregard a.out.+# It will help us diagnose broken compilers, and finding out an intuition+# of exeext.+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5+$as_echo_n "checking whether the C compiler works... " >&6; }+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`++# The possible output files:+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"++ac_rmfiles=+for ac_file in $ac_files+do+ case $ac_file in+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;+ esac+done+rm -f $ac_rmfiles++if { { ac_try="$ac_link_default"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_link_default") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }; then :+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'+# in a Makefile. We should not override ac_cv_exeext if it was cached,+# so that the user can short-circuit this test for compilers unknown to+# Autoconf.+for ac_file in $ac_files ''+do+ test -f "$ac_file" || continue+ case $ac_file in+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )+ ;;+ [ab].out )+ # We found the default executable, but exeext='' is most+ # certainly right.+ break;;+ *.* )+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;+ then :; else+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`+ fi+ # We set ac_cv_exeext here because the later test for it is not+ # safe: cross compilers may not add the suffix if given an `-o'+ # argument, so we may need to know it at that point already.+ # Even if this section looks crufty: it has the advantage of+ # actually working.+ break;;+ * )+ break;;+ esac+done+test "$ac_cv_exeext" = no && ac_cv_exeext=++else+ ac_file=''+fi+if test -z "$ac_file"; then :+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+$as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error 77 "C compiler cannot create executables+See \`config.log' for more details" "$LINENO" 5; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5+$as_echo "yes" >&6; }+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5+$as_echo_n "checking for C compiler default output file name... " >&6; }+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5+$as_echo "$ac_file" >&6; }+ac_exeext=$ac_cv_exeext++rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out+ac_clean_files=$ac_clean_files_save+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5+$as_echo_n "checking for suffix of executables... " >&6; }+if { { ac_try="$ac_link"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_link") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }; then :+ # If both `conftest.exe' and `conftest' are `present' (well, observable)+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will+# work properly (i.e., refer to `conftest.exe'), while it won't with+# `rm'.+for ac_file in conftest.exe conftest conftest.*; do+ test -f "$ac_file" || continue+ case $ac_file in+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`+ break;;+ * ) break;;+ esac+done+else+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "cannot compute suffix of executables: cannot compile and link+See \`config.log' for more details" "$LINENO" 5; }+fi+rm -f conftest conftest$ac_cv_exeext+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5+$as_echo "$ac_cv_exeext" >&6; }++rm -f conftest.$ac_ext+EXEEXT=$ac_cv_exeext+ac_exeext=$EXEEXT+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <stdio.h>+int+main ()+{+FILE *f = fopen ("conftest.out", "w");+ return ferror (f) || fclose (f) != 0;++ ;+ return 0;+}+_ACEOF+ac_clean_files="$ac_clean_files conftest.out"+# Check that the compiler produces executables we can run. If not, either+# the compiler is broken, or we cross compile.+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5+$as_echo_n "checking whether we are cross compiling... " >&6; }+if test "$cross_compiling" != yes; then+ { { ac_try="$ac_link"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_link") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }+ if { ac_try='./conftest$ac_cv_exeext'+ { { case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_try") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }; }; then+ cross_compiling=no+ else+ if test "$cross_compiling" = maybe; then+ cross_compiling=yes+ else+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "cannot run C compiled programs.+If you meant to cross compile, use \`--host'.+See \`config.log' for more details" "$LINENO" 5; }+ fi+ fi+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5+$as_echo "$cross_compiling" >&6; }++rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out+ac_clean_files=$ac_clean_files_save+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5+$as_echo_n "checking for suffix of object files... " >&6; }+if ${ac_cv_objext+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{++ ;+ return 0;+}+_ACEOF+rm -f conftest.o conftest.obj+if { { ac_try="$ac_compile"+case "(($ac_try" in+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;+ *) ac_try_echo=$ac_try;;+esac+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""+$as_echo "$ac_try_echo"; } >&5+ (eval "$ac_compile") 2>&5+ ac_status=$?+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5+ test $ac_status = 0; }; then :+ for ac_file in conftest.o conftest.obj conftest.*; do+ test -f "$ac_file" || continue;+ case $ac_file in+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`+ break;;+ esac+done+else+ $as_echo "$as_me: failed program was:" >&5+sed 's/^/| /' conftest.$ac_ext >&5++{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "cannot compute suffix of object files: cannot compile+See \`config.log' for more details" "$LINENO" 5; }+fi+rm -f conftest.$ac_cv_objext conftest.$ac_ext+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5+$as_echo "$ac_cv_objext" >&6; }+OBJEXT=$ac_cv_objext+ac_objext=$OBJEXT+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }+if ${ac_cv_c_compiler_gnu+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{+#ifndef __GNUC__+ choke me+#endif++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_compiler_gnu=yes+else+ ac_compiler_gnu=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ac_cv_c_compiler_gnu=$ac_compiler_gnu++fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5+$as_echo "$ac_cv_c_compiler_gnu" >&6; }+if test $ac_compiler_gnu = yes; then+ GCC=yes+else+ GCC=+fi+ac_test_CFLAGS=${CFLAGS+set}+ac_save_CFLAGS=$CFLAGS+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5+$as_echo_n "checking whether $CC accepts -g... " >&6; }+if ${ac_cv_prog_cc_g+:} false; then :+ $as_echo_n "(cached) " >&6+else+ ac_save_c_werror_flag=$ac_c_werror_flag+ ac_c_werror_flag=yes+ ac_cv_prog_cc_g=no+ CFLAGS="-g"+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_prog_cc_g=yes+else+ CFLAGS=""+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :++else+ ac_c_werror_flag=$ac_save_c_werror_flag+ CFLAGS="-g"+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_prog_cc_g=yes+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ ac_c_werror_flag=$ac_save_c_werror_flag+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5+$as_echo "$ac_cv_prog_cc_g" >&6; }+if test "$ac_test_CFLAGS" = set; then+ CFLAGS=$ac_save_CFLAGS+elif test $ac_cv_prog_cc_g = yes; then+ if test "$GCC" = yes; then+ CFLAGS="-g -O2"+ else+ CFLAGS="-g"+ fi+else+ if test "$GCC" = yes; then+ CFLAGS="-O2"+ else+ CFLAGS=+ fi+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }+if ${ac_cv_prog_cc_c89+:} false; then :+ $as_echo_n "(cached) " >&6+else+ ac_cv_prog_cc_c89=no+ac_save_CC=$CC+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <stdarg.h>+#include <stdio.h>+struct stat;+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */+struct buf { int x; };+FILE * (*rcsopen) (struct buf *, struct stat *, int);+static char *e (p, i)+ char **p;+ int i;+{+ return p[i];+}+static char *f (char * (*g) (char **, int), char **p, ...)+{+ char *s;+ va_list v;+ va_start (v,p);+ s = g (p, va_arg (v,int));+ va_end (v);+ return s;+}++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has+ function prototypes and stuff, but not '\xHH' hex character constants.+ These don't provoke an error unfortunately, instead are silently treated+ as 'x'. The following induces an error, until -std is added to get+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an+ array size at least. It's necessary to write '\x00'==0 to get something+ that's true only with -std. */+int osf4_cc_array ['\x00' == 0 ? 1 : -1];++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters+ inside strings and character constants. */+#define FOO(x) 'x'+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];++int test (int i, double x);+struct s1 {int (*f) (int a);};+struct s2 {int (*f) (double a);};+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);+int argc;+char **argv;+int+main ()+{+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];+ ;+ return 0;+}+_ACEOF+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"+do+ CC="$ac_save_CC $ac_arg"+ if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_prog_cc_c89=$ac_arg+fi+rm -f core conftest.err conftest.$ac_objext+ test "x$ac_cv_prog_cc_c89" != "xno" && break+done+rm -f conftest.$ac_ext+CC=$ac_save_CC++fi+# AC_CACHE_VAL+case "x$ac_cv_prog_cc_c89" in+ x)+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5+$as_echo "none needed" >&6; } ;;+ xno)+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5+$as_echo "unsupported" >&6; } ;;+ *)+ CC="$CC $ac_cv_prog_cc_c89"+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;+esac+if test "x$ac_cv_prog_cc_c89" != xno; then :++fi++ac_ext=c+ac_cpp='$CPP $CPPFLAGS'+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'+ac_compiler_gnu=$ac_cv_c_compiler_gnu++++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }+if ${ac_cv_c_const+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++int+main ()+{++#ifndef __cplusplus+ /* Ultrix mips cc rejects this sort of thing. */+ typedef int charset[2];+ const charset cs = { 0, 0 };+ /* SunOS 4.1.1 cc rejects this. */+ char const *const *pcpcc;+ char **ppc;+ /* NEC SVR4.0.2 mips cc rejects this. */+ struct point {int x, y;};+ static struct point const zero = {0,0};+ /* AIX XL C 1.02.0.0 rejects this.+ It does not let you subtract one const X* pointer from another in+ an arm of an if-expression whose if-part is not a constant+ expression */+ const char *g = "string";+ pcpcc = &g + (g ? g-g : 0);+ /* HPUX 7.0 cc rejects these. */+ ++pcpcc;+ ppc = (char**) pcpcc;+ pcpcc = (char const *const *) ppc;+ { /* SCO 3.2v4 cc rejects this sort of thing. */+ char tx;+ char *t = &tx;+ char const *s = 0 ? (char *) 0 : (char const *) 0;++ *t++ = 0;+ if (s) return 0;+ }+ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */+ int x[] = {25, 17};+ const int *foo = &x[0];+ ++foo;+ }+ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */+ typedef const int *iptr;+ iptr p = 0;+ ++p;+ }+ { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */+ struct s { int j; const int *ap[3]; } bx;+ struct s *b = &bx; b->j = 5;+ }+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */+ const int foo = 10;+ if (!foo) return 0;+ }+ return !cs[0] && !zero.x;+#endif++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_c_const=yes+else+ ac_cv_c_const=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5+$as_echo "$ac_cv_c_const" >&6; }+if test $ac_cv_c_const = no; then++$as_echo "#define const /**/" >>confdefs.h++fi+++ac_ext=c+ac_cpp='$CPP $CPPFLAGS'+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'+ac_compiler_gnu=$ac_cv_c_compiler_gnu+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5+$as_echo_n "checking how to run the C preprocessor... " >&6; }+# On Suns, sometimes $CPP names a directory.+if test -n "$CPP" && test -d "$CPP"; then+ CPP=+fi+if test -z "$CPP"; then+ if ${ac_cv_prog_CPP+:} false; then :+ $as_echo_n "(cached) " >&6+else+ # Double quotes because CPP needs to be expanded+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"+ do+ ac_preproc_ok=false+for ac_c_preproc_warn_flag in '' yes+do+ # Use a header file that comes with gcc, so configuring glibc+ # with a fresh cross-compiler works.+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since+ # <limits.h> exists even on freestanding compilers.+ # On the NeXT, cc -E runs the code through the compiler's parser,+ # not just through cpp. "Syntax error" is here to catch this case.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#ifdef __STDC__+# include <limits.h>+#else+# include <assert.h>+#endif+ Syntax error+_ACEOF+if ac_fn_c_try_cpp "$LINENO"; then :++else+ # Broken: fails on valid input.+continue+fi+rm -f conftest.err conftest.i conftest.$ac_ext++ # OK, works on sane cases. Now check whether nonexistent headers+ # can be detected and how.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <ac_nonexistent.h>+_ACEOF+if ac_fn_c_try_cpp "$LINENO"; then :+ # Broken: success on invalid input.+continue+else+ # Passes both tests.+ac_preproc_ok=:+break+fi+rm -f conftest.err conftest.i conftest.$ac_ext++done+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.+rm -f conftest.i conftest.err conftest.$ac_ext+if $ac_preproc_ok; then :+ break+fi++ done+ ac_cv_prog_CPP=$CPP++fi+ CPP=$ac_cv_prog_CPP+else+ ac_cv_prog_CPP=$CPP+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5+$as_echo "$CPP" >&6; }+ac_preproc_ok=false+for ac_c_preproc_warn_flag in '' yes+do+ # Use a header file that comes with gcc, so configuring glibc+ # with a fresh cross-compiler works.+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since+ # <limits.h> exists even on freestanding compilers.+ # On the NeXT, cc -E runs the code through the compiler's parser,+ # not just through cpp. "Syntax error" is here to catch this case.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#ifdef __STDC__+# include <limits.h>+#else+# include <assert.h>+#endif+ Syntax error+_ACEOF+if ac_fn_c_try_cpp "$LINENO"; then :++else+ # Broken: fails on valid input.+continue+fi+rm -f conftest.err conftest.i conftest.$ac_ext++ # OK, works on sane cases. Now check whether nonexistent headers+ # can be detected and how.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <ac_nonexistent.h>+_ACEOF+if ac_fn_c_try_cpp "$LINENO"; then :+ # Broken: success on invalid input.+continue+else+ # Passes both tests.+ac_preproc_ok=:+break+fi+rm -f conftest.err conftest.i conftest.$ac_ext++done+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.+rm -f conftest.i conftest.err conftest.$ac_ext+if $ac_preproc_ok; then :++else+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check+See \`config.log' for more details" "$LINENO" 5; }+fi++ac_ext=c+ac_cpp='$CPP $CPPFLAGS'+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'+ac_compiler_gnu=$ac_cv_c_compiler_gnu+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }+if ${ac_cv_path_GREP+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if test -z "$GREP"; then+ ac_path_GREP_found=false+ # Loop through the user's path and test for each of PROGNAME-LIST+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_prog in grep ggrep; do+ for ac_exec_ext in '' $ac_executable_extensions; do+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"+ as_fn_executable_p "$ac_path_GREP" || continue+# Check for GNU ac_path_GREP and select it if it is found.+ # Check for GNU $ac_path_GREP+case `"$ac_path_GREP" --version 2>&1` in+*GNU*)+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;+*)+ ac_count=0+ $as_echo_n 0123456789 >"conftest.in"+ while :+ do+ cat "conftest.in" "conftest.in" >"conftest.tmp"+ mv "conftest.tmp" "conftest.in"+ cp "conftest.in" "conftest.nl"+ $as_echo 'GREP' >> "conftest.nl"+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break+ as_fn_arith $ac_count + 1 && ac_count=$as_val+ if test $ac_count -gt ${ac_path_GREP_max-0}; then+ # Best one so far, save it but keep looking for a better one+ ac_cv_path_GREP="$ac_path_GREP"+ ac_path_GREP_max=$ac_count+ fi+ # 10*(2^10) chars as input seems more than enough+ test $ac_count -gt 10 && break+ done+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;+esac++ $ac_path_GREP_found && break 3+ done+ done+ done+IFS=$as_save_IFS+ if test -z "$ac_cv_path_GREP"; then+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5+ fi+else+ ac_cv_path_GREP=$GREP+fi++fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5+$as_echo "$ac_cv_path_GREP" >&6; }+ GREP="$ac_cv_path_GREP"+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5+$as_echo_n "checking for egrep... " >&6; }+if ${ac_cv_path_EGREP+:} false; then :+ $as_echo_n "(cached) " >&6+else+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1+ then ac_cv_path_EGREP="$GREP -E"+ else+ if test -z "$EGREP"; then+ ac_path_EGREP_found=false+ # Loop through the user's path and test for each of PROGNAME-LIST+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ for ac_prog in egrep; do+ for ac_exec_ext in '' $ac_executable_extensions; do+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"+ as_fn_executable_p "$ac_path_EGREP" || continue+# Check for GNU ac_path_EGREP and select it if it is found.+ # Check for GNU $ac_path_EGREP+case `"$ac_path_EGREP" --version 2>&1` in+*GNU*)+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;+*)+ ac_count=0+ $as_echo_n 0123456789 >"conftest.in"+ while :+ do+ cat "conftest.in" "conftest.in" >"conftest.tmp"+ mv "conftest.tmp" "conftest.in"+ cp "conftest.in" "conftest.nl"+ $as_echo 'EGREP' >> "conftest.nl"+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break+ as_fn_arith $ac_count + 1 && ac_count=$as_val+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then+ # Best one so far, save it but keep looking for a better one+ ac_cv_path_EGREP="$ac_path_EGREP"+ ac_path_EGREP_max=$ac_count+ fi+ # 10*(2^10) chars as input seems more than enough+ test $ac_count -gt 10 && break+ done+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;+esac++ $ac_path_EGREP_found && break 3+ done+ done+ done+IFS=$as_save_IFS+ if test -z "$ac_cv_path_EGREP"; then+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5+ fi+else+ ac_cv_path_EGREP=$EGREP+fi++ fi+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5+$as_echo "$ac_cv_path_EGREP" >&6; }+ EGREP="$ac_cv_path_EGREP"+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5+$as_echo_n "checking for ANSI C header files... " >&6; }+if ${ac_cv_header_stdc+:} false; then :+ $as_echo_n "(cached) " >&6+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <stdlib.h>+#include <stdarg.h>+#include <string.h>+#include <float.h>++int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_header_stdc=yes+else+ ac_cv_header_stdc=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++if test $ac_cv_header_stdc = yes; then+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <string.h>++_ACEOF+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |+ $EGREP "memchr" >/dev/null 2>&1; then :++else+ ac_cv_header_stdc=no+fi+rm -f conftest*++fi++if test $ac_cv_header_stdc = yes; then+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <stdlib.h>++_ACEOF+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |+ $EGREP "free" >/dev/null 2>&1; then :++else+ ac_cv_header_stdc=no+fi+rm -f conftest*++fi++if test $ac_cv_header_stdc = yes; then+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.+ if test "$cross_compiling" = yes; then :+ :+else+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <ctype.h>+#include <stdlib.h>+#if ((' ' & 0x0FF) == 0x020)+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))+#else+# define ISLOWER(c) \+ (('a' <= (c) && (c) <= 'i') \+ || ('j' <= (c) && (c) <= 'r') \+ || ('s' <= (c) && (c) <= 'z'))+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))+#endif++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))+int+main ()+{+ int i;+ for (i = 0; i < 256; i++)+ if (XOR (islower (i), ISLOWER (i))+ || toupper (i) != TOUPPER (i))+ return 2;+ return 0;+}+_ACEOF+if ac_fn_c_try_run "$LINENO"; then :++else+ ac_cv_header_stdc=no+fi+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \+ conftest.$ac_objext conftest.beam conftest.$ac_ext+fi++fi+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5+$as_echo "$ac_cv_header_stdc" >&6; }+if test $ac_cv_header_stdc = yes; then++$as_echo "#define STDC_HEADERS 1" >>confdefs.h++fi++# On IRIX 5.3, sys/types and inttypes.h are conflicting.+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \+ inttypes.h stdint.h unistd.h+do :+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default+"+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :+ cat >>confdefs.h <<_ACEOF+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1+_ACEOF++fi++done+++for ac_header in fcntl.h limits.h stdlib.h sys/types.h unistd.h winsock2.h ws2tcpip.h wspiapi.h+do :+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :+ cat >>confdefs.h <<_ACEOF+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1+_ACEOF++fi++done++for ac_header in arpa/inet.h netdb.h netinet/in.h netinet/tcp.h sys/socket.h sys/uio.h sys/un.h+do :+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :+ cat >>confdefs.h <<_ACEOF+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1+_ACEOF++fi++done+++for ac_func in readlink symlink+do :+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :+ cat >>confdefs.h <<_ACEOF+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1+_ACEOF++fi+done+++ac_fn_c_check_member "$LINENO" "struct msghdr" "msg_control" "ac_cv_member_struct_msghdr_msg_control" "#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif+#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif+#if HAVE_SYS_UIO_H+# include <sys/uio.h>+#endif+"+if test "x$ac_cv_member_struct_msghdr_msg_control" = xyes; then :++cat >>confdefs.h <<_ACEOF+#define HAVE_STRUCT_MSGHDR_MSG_CONTROL 1+_ACEOF+++fi+ac_fn_c_check_member "$LINENO" "struct msghdr" "msg_accrights" "ac_cv_member_struct_msghdr_msg_accrights" "#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif+#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif+#if HAVE_SYS_UIO_H+# include <sys/uio.h>+#endif+"+if test "x$ac_cv_member_struct_msghdr_msg_accrights" = xyes; then :++cat >>confdefs.h <<_ACEOF+#define HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS 1+_ACEOF+++fi+++ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" "#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif+#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif+"+if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes; then :++cat >>confdefs.h <<_ACEOF+#define HAVE_STRUCT_SOCKADDR_SA_LEN 1+_ACEOF+++fi+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for in_addr_t in netinet/in.h" >&5+$as_echo_n "checking for in_addr_t in netinet/in.h... " >&6; }+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <netinet/in.h>++_ACEOF+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |+ $EGREP "in_addr_t" >/dev/null 2>&1; then :++$as_echo "#define HAVE_IN_ADDR_T 1" >>confdefs.h+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5+$as_echo "yes" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+rm -f conftest*+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SO_PEERCRED and struct ucred in sys/socket.h" >&5+$as_echo_n "checking for SO_PEERCRED and struct ucred in sys/socket.h... " >&6; }+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <sys/types.h>+#include <sys/socket.h>+#ifndef SO_PEERCRED+# error no SO_PEERCRED+#endif+struct ucred u;+int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_ucred=yes+else+ ac_cv_ucred=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+if test "x$ac_cv_ucred" = xno; then+ old_CFLAGS="$CFLAGS"+ CFLAGS="-D_GNU_SOURCE $CFLAGS"+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <sys/types.h>+#include <sys/socket.h>+#ifndef SO_PEERCRED+# error no SO_PEERCRED+#endif+struct ucred u;+int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :+ ac_cv_ucred=yes+else+ ac_cv_ucred=no+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ if test "x$ac_cv_ucred" = xyes; then+ EXTRA_CPPFLAGS=-D_GNU_SOURCE+ fi+else+ old_CFLAGS="$CFLAGS"+fi+if test "x$ac_cv_ucred" = xno; then+ CFLAGS="$old_CFLAGS"+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+else++$as_echo "#define HAVE_STRUCT_UCRED 1" >>confdefs.h++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5+$as_echo "yes" >&6; }+fi++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _head_libws2_32_a in -lws2_32" >&5+$as_echo_n "checking for _head_libws2_32_a in -lws2_32... " >&6; }+if ${ac_cv_lib_ws2_32__head_libws2_32_a+:} false; then :+ $as_echo_n "(cached) " >&6+else+ ac_check_lib_save_LIBS=$LIBS+LIBS="-lws2_32 $LIBS"+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */++/* Override any GCC internal prototype to avoid an error.+ Use char because int might match the return type of a GCC+ builtin and then its argument prototype would still apply. */+#ifdef __cplusplus+extern "C"+#endif+char _head_libws2_32_a ();+int+main ()+{+return _head_libws2_32_a ();+ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_link "$LINENO"; then :+ ac_cv_lib_ws2_32__head_libws2_32_a=yes+else+ ac_cv_lib_ws2_32__head_libws2_32_a=no+fi+rm -f core conftest.err conftest.$ac_objext \+ conftest$ac_exeext conftest.$ac_ext+LIBS=$ac_check_lib_save_LIBS+fi+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ws2_32__head_libws2_32_a" >&5+$as_echo "$ac_cv_lib_ws2_32__head_libws2_32_a" >&6; }+if test "x$ac_cv_lib_ws2_32__head_libws2_32_a" = xyes; then :+ cat >>confdefs.h <<_ACEOF+#define HAVE_LIBWS2_32 1+_ACEOF++ LIBS="-lws2_32 $LIBS"++fi+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5+$as_echo_n "checking for getaddrinfo... " >&6; }+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$ac_includes_default+int testme(){ getaddrinfo; }+int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :++$as_echo "#define HAVE_GETADDRINFO 1" >>confdefs.h+ ac_have_getaddrinfo=yes; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5+$as_echo "yes" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext++if test "x$ac_have_getaddrinfo" = x; then+ old_CFLAGS="$CFLAGS"+ if test "z$ac_cv_lib_ws2_32__head_libws2_32_a" = zyes; then+ CFLAGS="-DWINVER=0x0501 $CFLAGS"+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo if WINVER is 0x0501" >&5+$as_echo_n "checking for getaddrinfo if WINVER is 0x0501... " >&6; }+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+$ac_includes_default+ int testme(){ getaddrinfo; }+int+main ()+{++ ;+ return 0;+}+_ACEOF+if ac_fn_c_try_compile "$LINENO"; then :++$as_echo "#define HAVE_GETADDRINFO 1" >>confdefs.h++$as_echo "#define NEED_WINVER_XP 1" >>confdefs.h+ EXTRA_CPPFLAGS="-DWINVER=0x0501 $EXTRA_CPPFLAGS"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5+$as_echo "yes" >&6; }+else+ CFLAGS="$old_CFLAGS"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext+ fi+fi++for ac_func in gai_strerror+do :+ ac_fn_c_check_func "$LINENO" "gai_strerror" "ac_cv_func_gai_strerror"+if test "x$ac_cv_func_gai_strerror" = xyes; then :+ cat >>confdefs.h <<_ACEOF+#define HAVE_GAI_STRERROR 1+_ACEOF++fi+done+++ac_fn_c_check_decl "$LINENO" "AI_ADDRCONFIG" "ac_cv_have_decl_AI_ADDRCONFIG" "$ac_includes_default"+if test "x$ac_cv_have_decl_AI_ADDRCONFIG" = xyes; then :+ ac_have_decl=1+else+ ac_have_decl=0+fi++cat >>confdefs.h <<_ACEOF+#define HAVE_DECL_AI_ADDRCONFIG $ac_have_decl+_ACEOF+ac_fn_c_check_decl "$LINENO" "AI_ALL" "ac_cv_have_decl_AI_ALL" "$ac_includes_default"+if test "x$ac_cv_have_decl_AI_ALL" = xyes; then :+ ac_have_decl=1+else+ ac_have_decl=0+fi++cat >>confdefs.h <<_ACEOF+#define HAVE_DECL_AI_ALL $ac_have_decl+_ACEOF+ac_fn_c_check_decl "$LINENO" "AI_NUMERICSERV" "ac_cv_have_decl_AI_NUMERICSERV" "$ac_includes_default"+if test "x$ac_cv_have_decl_AI_NUMERICSERV" = xyes; then :+ ac_have_decl=1+else+ ac_have_decl=0+fi++cat >>confdefs.h <<_ACEOF+#define HAVE_DECL_AI_NUMERICSERV $ac_have_decl+_ACEOF+ac_fn_c_check_decl "$LINENO" "AI_V4MAPPED" "ac_cv_have_decl_AI_V4MAPPED" "$ac_includes_default"+if test "x$ac_cv_have_decl_AI_V4MAPPED" = xyes; then :+ ac_have_decl=1+else+ ac_have_decl=0+fi++cat >>confdefs.h <<_ACEOF+#define HAVE_DECL_AI_V4MAPPED $ac_have_decl+_ACEOF+++ac_fn_c_check_decl "$LINENO" "IPV6_V6ONLY" "ac_cv_have_decl_IPV6_V6ONLY" "$ac_includes_default"+if test "x$ac_cv_have_decl_IPV6_V6ONLY" = xyes; then :+ ac_have_decl=1+else+ ac_have_decl=0+fi++cat >>confdefs.h <<_ACEOF+#define HAVE_DECL_IPV6_V6ONLY $ac_have_decl+_ACEOF+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sendfile in sys/sendfile.h" >&5+$as_echo_n "checking for sendfile in sys/sendfile.h... " >&6; }+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <sys/sendfile.h>++_ACEOF+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |+ $EGREP "sendfile" >/dev/null 2>&1; then :++$as_echo "#define HAVE_LINUX_SENDFILE 1" >>confdefs.h+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5+$as_echo "yes" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+rm -f conftest*+++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sendfile in sys/socket.h" >&5+$as_echo_n "checking for sendfile in sys/socket.h... " >&6; }+cat confdefs.h - <<_ACEOF >conftest.$ac_ext+/* end confdefs.h. */+#include <sys/socket.h>++_ACEOF+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |+ $EGREP "sendfile" >/dev/null 2>&1; then :++$as_echo "#define HAVE_BSD_SENDFILE 1" >>confdefs.h+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5+$as_echo "yes" >&6; }+else+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5+$as_echo "no" >&6; }+fi+rm -f conftest*+++for ac_func in gethostent+do :+ ac_fn_c_check_func "$LINENO" "gethostent" "ac_cv_func_gethostent"+if test "x$ac_cv_func_gethostent" = xyes; then :+ cat >>confdefs.h <<_ACEOF+#define HAVE_GETHOSTENT 1+_ACEOF++fi+done+++for ac_func in accept4+do :+ ac_fn_c_check_func "$LINENO" "accept4" "ac_cv_func_accept4"+if test "x$ac_cv_func_accept4" = xyes; then :+ cat >>confdefs.h <<_ACEOF+#define HAVE_ACCEPT4 1+_ACEOF++fi+done+++case "$host" in+*-mingw32)+ EXTRA_SRCS="cbits/initWinSock.c, cbits/winSockErr.c, cbits/asyncAccept.c"+ EXTRA_LIBS=ws2_32+ CALLCONV=stdcall ;;+*-solaris2*)+ EXTRA_SRCS="cbits/ancilData.c"+ EXTRA_LIBS="nsl, socket"+ CALLCONV=ccall ;;+*)+ EXTRA_SRCS="cbits/ancilData.c"+ EXTRA_LIBS=+ CALLCONV=ccall ;;+esac++++++ac_config_files="$ac_config_files network.buildinfo"+++cat >confcache <<\_ACEOF+# This file is a shell script that caches the results of configure+# tests run on this system so they can be shared between configure+# scripts and configure runs, see configure's option --config-cache.+# It is not useful on other systems. If it contains results you don't+# want to keep, you may remove or edit it.+#+# config.status only pays attention to the cache file if you give it+# the --recheck option to rerun configure.+#+# `ac_cv_env_foo' variables (set or unset) will be overridden when+# loading this file, other *unset* `ac_cv_foo' will be assigned the+# following values.++_ACEOF++# The following way of writing the cache mishandles newlines in values,+# but we know of no workaround that is simple, portable, and efficient.+# So, we kill variables containing newlines.+# Ultrix sh set writes to stderr and can't be redirected directly,+# and sets the high bit in the cache file unless we assign to the vars.+(+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do+ eval ac_val=\$$ac_var+ case $ac_val in #(+ *${as_nl}*)+ case $ac_var in #(+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;+ esac+ case $ac_var in #(+ _ | IFS | as_nl) ;; #(+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(+ *) { eval $ac_var=; unset $ac_var;} ;;+ esac ;;+ esac+ done++ (set) 2>&1 |+ case $as_nl`(ac_space=' '; set) 2>&1` in #(+ *${as_nl}ac_space=\ *)+ # `set' does not quote correctly, so add quotes: double-quote+ # substitution turns \\\\ into \\, and sed turns \\ into \.+ sed -n \+ "s/'/'\\\\''/g;+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"+ ;; #(+ *)+ # `set' quotes correctly as required by POSIX, so do not add quotes.+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"+ ;;+ esac |+ sort+) |+ sed '+ /^ac_cv_env_/b end+ t clear+ :clear+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/+ t end+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/+ :end' >>confcache+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else+ if test -w "$cache_file"; then+ if test "x$cache_file" != "x/dev/null"; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5+$as_echo "$as_me: updating cache $cache_file" >&6;}+ if test ! -f "$cache_file" || test -h "$cache_file"; then+ cat confcache >"$cache_file"+ else+ case $cache_file in #(+ */* | ?:*)+ mv -f confcache "$cache_file"$$ &&+ mv -f "$cache_file"$$ "$cache_file" ;; #(+ *)+ mv -f confcache "$cache_file" ;;+ esac+ fi+ fi+ else+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}+ fi+fi+rm -f confcache++test "x$prefix" = xNONE && prefix=$ac_default_prefix+# Let make expand exec_prefix.+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'++DEFS=-DHAVE_CONFIG_H++ac_libobjs=+ac_ltlibobjs=+U=+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue+ # 1. Remove the extension, and $U if already installed.+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR+ # will be set to the directory where LIBOBJS objects are built.+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'+done+LIBOBJS=$ac_libobjs++LTLIBOBJS=$ac_ltlibobjs++++: "${CONFIG_STATUS=./config.status}"+ac_write_fail=0+ac_clean_files_save=$ac_clean_files+ac_clean_files="$ac_clean_files $CONFIG_STATUS"+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}+as_write_fail=0+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1+#! $SHELL+# Generated by $as_me.+# Run this file to recreate the current configuration.+# Compiler output produced by configure, useful for debugging+# configure, is in config.log if it exists.++debug=false+ac_cs_recheck=false+ac_cs_silent=false++SHELL=\${CONFIG_SHELL-$SHELL}+export SHELL+_ASEOF+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1+## -------------------- ##+## M4sh Initialization. ##+## -------------------- ##++# Be more Bourne compatible+DUALCASE=1; export DUALCASE # for MKS sh+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :+ emulate sh+ NULLCMD=:+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which+ # is contrary to our usage. Disable this feature.+ alias -g '${1+"$@"}'='"$@"'+ setopt NO_GLOB_SUBST+else+ case `(set -o) 2>/dev/null` in #(+ *posix*) :+ set -o posix ;; #(+ *) :+ ;;+esac+fi+++as_nl='+'+export as_nl+# Printing a long string crashes Solaris 7 /usr/bin/printf.+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo+# Prefer a ksh shell builtin over an external printf program on Solaris,+# but without wasting forks for bash or zsh.+if test -z "$BASH_VERSION$ZSH_VERSION" \+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then+ as_echo='print -r --'+ as_echo_n='print -rn --'+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then+ as_echo='printf %s\n'+ as_echo_n='printf %s'+else+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'+ as_echo_n='/usr/ucb/echo -n'+ else+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'+ as_echo_n_body='eval+ arg=$1;+ case $arg in #(+ *"$as_nl"*)+ expr "X$arg" : "X\\(.*\\)$as_nl";+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;+ esac;+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"+ '+ export as_echo_n_body+ as_echo_n='sh -c $as_echo_n_body as_echo'+ fi+ export as_echo_body+ as_echo='sh -c $as_echo_body as_echo'+fi++# The user is always right.+if test "${PATH_SEPARATOR+set}" != set; then+ PATH_SEPARATOR=:+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||+ PATH_SEPARATOR=';'+ }+fi+++# IFS+# We need space, tab and new line, in precisely that order. Quoting is+# there to prevent editors from complaining about space-tab.+# (If _AS_PATH_WALK were called with IFS unset, it would disable word+# splitting by setting IFS to empty value.)+IFS=" "" $as_nl"++# Find who we are. Look in the path if we contain no directory separator.+as_myself=+case $0 in #((+ *[\\/]* ) as_myself=$0 ;;+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+for as_dir in $PATH+do+ IFS=$as_save_IFS+ test -z "$as_dir" && as_dir=.+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break+ done+IFS=$as_save_IFS++ ;;+esac+# We did not find ourselves, most probably we were run as `sh COMMAND'+# in which case we are not to be found in the path.+if test "x$as_myself" = x; then+ as_myself=$0+fi+if test ! -f "$as_myself"; then+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2+ exit 1+fi++# Unset variables that we do not need and which cause bugs (e.g. in+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"+# suppresses any "Segmentation fault" message there. '((' could+# trigger a bug in pdksh 5.2.14.+for as_var in BASH_ENV ENV MAIL MAILPATH+do eval test x\${$as_var+set} = xset \+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :+done+PS1='$ '+PS2='> '+PS4='+ '++# NLS nuisances.+LC_ALL=C+export LC_ALL+LANGUAGE=C+export LANGUAGE++# CDPATH.+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH+++# as_fn_error STATUS ERROR [LINENO LOG_FD]+# ----------------------------------------+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the+# script with STATUS, using 1 if that was 0.+as_fn_error ()+{+ as_status=$1; test $as_status -eq 0 && as_status=1+ if test "$4"; then+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4+ fi+ $as_echo "$as_me: error: $2" >&2+ as_fn_exit $as_status+} # as_fn_error+++# as_fn_set_status STATUS+# -----------------------+# Set $? to STATUS, without forking.+as_fn_set_status ()+{+ return $1+} # as_fn_set_status++# as_fn_exit STATUS+# -----------------+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.+as_fn_exit ()+{+ set +e+ as_fn_set_status $1+ exit $1+} # as_fn_exit++# as_fn_unset VAR+# ---------------+# Portably unset VAR.+as_fn_unset ()+{+ { eval $1=; unset $1;}+}+as_unset=as_fn_unset+# as_fn_append VAR VALUE+# ----------------------+# Append the text in VALUE to the end of the definition contained in VAR. Take+# advantage of any shell optimizations that allow amortized linear growth over+# repeated appends, instead of the typical quadratic growth present in naive+# implementations.+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :+ eval 'as_fn_append ()+ {+ eval $1+=\$2+ }'+else+ as_fn_append ()+ {+ eval $1=\$$1\$2+ }+fi # as_fn_append++# as_fn_arith ARG...+# ------------------+# Perform arithmetic evaluation on the ARGs, and store the result in the+# global $as_val. Take advantage of shells that can avoid forks. The arguments+# must be portable across $(()) and expr.+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :+ eval 'as_fn_arith ()+ {+ as_val=$(( $* ))+ }'+else+ as_fn_arith ()+ {+ as_val=`expr "$@" || test $? -eq 1`+ }+fi # as_fn_arith+++if expr a : '\(a\)' >/dev/null 2>&1 &&+ test "X`expr 00001 : '.*\(...\)'`" = X001; then+ as_expr=expr+else+ as_expr=false+fi++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then+ as_basename=basename+else+ as_basename=false+fi++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then+ as_dirname=dirname+else+ as_dirname=false+fi++as_me=`$as_basename -- "$0" ||+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \+ X"$0" : 'X\(//\)$' \| \+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X/"$0" |+ sed '/^.*\/\([^/][^/]*\)\/*$/{+ s//\1/+ q+ }+ /^X\/\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\/\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`++# Avoid depending upon Character Ranges.+as_cr_letters='abcdefghijklmnopqrstuvwxyz'+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'+as_cr_Letters=$as_cr_letters$as_cr_LETTERS+as_cr_digits='0123456789'+as_cr_alnum=$as_cr_Letters$as_cr_digits++ECHO_C= ECHO_N= ECHO_T=+case `echo -n x` in #(((((+-n*)+ case `echo 'xy\c'` in+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.+ xy) ECHO_C='\c';;+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null+ ECHO_T=' ';;+ esac;;+*)+ ECHO_N='-n';;+esac++rm -f conf$$ conf$$.exe conf$$.file+if test -d conf$$.dir; then+ rm -f conf$$.dir/conf$$.file+else+ rm -f conf$$.dir+ mkdir conf$$.dir 2>/dev/null+fi+if (echo >conf$$.file) 2>/dev/null; then+ if ln -s conf$$.file conf$$ 2>/dev/null; then+ as_ln_s='ln -s'+ # ... but there are two gotchas:+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.+ # In both cases, we have to default to `cp -pR'.+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||+ as_ln_s='cp -pR'+ elif ln conf$$.file conf$$ 2>/dev/null; then+ as_ln_s=ln+ else+ as_ln_s='cp -pR'+ fi+else+ as_ln_s='cp -pR'+fi+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file+rmdir conf$$.dir 2>/dev/null+++# as_fn_mkdir_p+# -------------+# Create "$as_dir" as a directory, including parents if necessary.+as_fn_mkdir_p ()+{++ case $as_dir in #(+ -*) as_dir=./$as_dir;;+ esac+ test -d "$as_dir" || eval $as_mkdir_p || {+ as_dirs=+ while :; do+ case $as_dir in #(+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(+ *) as_qdir=$as_dir;;+ esac+ as_dirs="'$as_qdir' $as_dirs"+ as_dir=`$as_dirname -- "$as_dir" ||+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \+ X"$as_dir" : 'X\(//\)[^/]' \| \+ X"$as_dir" : 'X\(//\)$' \| \+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X"$as_dir" |+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{+ s//\1/+ q+ }+ /^X\(\/\/\)[^/].*/{+ s//\1/+ q+ }+ /^X\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`+ test -d "$as_dir" && break+ done+ test -z "$as_dirs" || eval "mkdir $as_dirs"+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"+++} # as_fn_mkdir_p+if mkdir -p . 2>/dev/null; then+ as_mkdir_p='mkdir -p "$as_dir"'+else+ test -d ./-p && rmdir ./-p+ as_mkdir_p=false+fi+++# as_fn_executable_p FILE+# -----------------------+# Test if FILE is an executable regular file.+as_fn_executable_p ()+{+ test -f "$1" && test -x "$1"+} # as_fn_executable_p+as_test_x='test -x'+as_executable_p=as_fn_executable_p++# Sed expression to map a string onto a valid CPP name.+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"++# Sed expression to map a string onto a valid variable name.+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"+++exec 6>&1+## ----------------------------------- ##+## Main body of $CONFIG_STATUS script. ##+## ----------------------------------- ##+_ASEOF+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+# Save the log message, to keep $0 and so on meaningful, and to+# report actual input values of CONFIG_FILES etc. instead of their+# values after options handling.+ac_log="+This file was extended by Haskell network package $as_me 2.3.0.14, which was+generated by GNU Autoconf 2.69. Invocation command line was++ CONFIG_FILES = $CONFIG_FILES+ CONFIG_HEADERS = $CONFIG_HEADERS+ CONFIG_LINKS = $CONFIG_LINKS+ CONFIG_COMMANDS = $CONFIG_COMMANDS+ $ $0 $@++on `(hostname || uname -n) 2>/dev/null | sed 1q`+"++_ACEOF++case $ac_config_files in *"+"*) set x $ac_config_files; shift; ac_config_files=$*;;+esac++case $ac_config_headers in *"+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;+esac+++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+# Files that config.status was made for.+config_files="$ac_config_files"+config_headers="$ac_config_headers"++_ACEOF++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+ac_cs_usage="\+\`$as_me' instantiates files and other configuration actions+from templates according to the current configuration. Unless the files+and actions are specified as TAGs, all are instantiated by default.++Usage: $0 [OPTION]... [TAG]...++ -h, --help print this help, then exit+ -V, --version print version number and configuration settings, then exit+ --config print configuration, then exit+ -q, --quiet, --silent+ do not print progress messages+ -d, --debug don't remove temporary files+ --recheck update $as_me by reconfiguring in the same conditions+ --file=FILE[:TEMPLATE]+ instantiate the configuration file FILE+ --header=FILE[:TEMPLATE]+ instantiate the configuration header FILE++Configuration files:+$config_files++Configuration headers:+$config_headers++Report bugs to <libraries@haskell.org>."++_ACEOF+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"+ac_cs_version="\\+Haskell network package config.status 2.3.0.14+configured by $0, generated by GNU Autoconf 2.69,+ with options \\"\$ac_cs_config\\"++Copyright (C) 2012 Free Software Foundation, Inc.+This config.status script is free software; the Free Software Foundation+gives unlimited permission to copy, distribute and modify it."++ac_pwd='$ac_pwd'+srcdir='$srcdir'+test -n "\$AWK" || AWK=awk+_ACEOF++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+# The default lists apply if the user does not specify any file.+ac_need_defaults=:+while test $# != 0+do+ case $1 in+ --*=?*)+ ac_option=`expr "X$1" : 'X\([^=]*\)='`+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`+ ac_shift=:+ ;;+ --*=)+ ac_option=`expr "X$1" : 'X\([^=]*\)='`+ ac_optarg=+ ac_shift=:+ ;;+ *)+ ac_option=$1+ ac_optarg=$2+ ac_shift=shift+ ;;+ esac++ case $ac_option in+ # Handling of the options.+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)+ ac_cs_recheck=: ;;+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )+ $as_echo "$ac_cs_version"; exit ;;+ --config | --confi | --conf | --con | --co | --c )+ $as_echo "$ac_cs_config"; exit ;;+ --debug | --debu | --deb | --de | --d | -d )+ debug=: ;;+ --file | --fil | --fi | --f )+ $ac_shift+ case $ac_optarg in+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;+ '') as_fn_error $? "missing file argument" ;;+ esac+ as_fn_append CONFIG_FILES " '$ac_optarg'"+ ac_need_defaults=false;;+ --header | --heade | --head | --hea )+ $ac_shift+ case $ac_optarg in+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;+ esac+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"+ ac_need_defaults=false;;+ --he | --h)+ # Conflict between --help and --header+ as_fn_error $? "ambiguous option: \`$1'+Try \`$0 --help' for more information.";;+ --help | --hel | -h )+ $as_echo "$ac_cs_usage"; exit ;;+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \+ | -silent | --silent | --silen | --sile | --sil | --si | --s)+ ac_cs_silent=: ;;++ # This is an error.+ -*) as_fn_error $? "unrecognized option: \`$1'+Try \`$0 --help' for more information." ;;++ *) as_fn_append ac_config_targets " $1"+ ac_need_defaults=false ;;++ esac+ shift+done++ac_configure_extra_args=++if $ac_cs_silent; then+ exec 6>/dev/null+ ac_configure_extra_args="$ac_configure_extra_args --silent"+fi++_ACEOF+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+if \$ac_cs_recheck; then+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion+ shift+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6+ CONFIG_SHELL='$SHELL'+ export CONFIG_SHELL+ exec "\$@"+fi++_ACEOF+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+exec 5>>config.log+{+ echo+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX+## Running $as_me. ##+_ASBOX+ $as_echo "$ac_log"+} >&5++_ACEOF+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+_ACEOF++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1++# Handling of arguments.+for ac_config_target in $ac_config_targets+do+ case $ac_config_target in+ "include/HsNetworkConfig.h") CONFIG_HEADERS="$CONFIG_HEADERS include/HsNetworkConfig.h" ;;+ "network.buildinfo") CONFIG_FILES="$CONFIG_FILES network.buildinfo" ;;++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;+ esac+done+++# If the user did not use the arguments to specify the items to instantiate,+# then the envvar interface is used. Set only those that are not.+# We use the long form for the default assignment because of an extremely+# bizarre bug on SunOS 4.1.3.+if $ac_need_defaults; then+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers+fi++# Have a temporary directory for convenience. Make it in the build tree+# simply because there is no reason against having it here, and in addition,+# creating and moving files from /tmp can sometimes cause problems.+# Hook for its removal unless debugging.+# Note that there is a small window in which the directory will not be cleaned:+# after its creation but before its name has been assigned to `$tmp'.+$debug ||+{+ tmp= ac_tmp=+ trap 'exit_status=$?+ : "${ac_tmp:=$tmp}"+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status+' 0+ trap 'as_fn_exit 1' 1 2 13 15+}+# Create a (secure) tmp directory for tmp files.++{+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&+ test -d "$tmp"+} ||+{+ tmp=./conf$$-$RANDOM+ (umask 077 && mkdir "$tmp")+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5+ac_tmp=$tmp++# Set up the scripts for CONFIG_FILES section.+# No need to generate them if there are no CONFIG_FILES.+# This happens for instance with `./config.status config.h'.+if test -n "$CONFIG_FILES"; then+++ac_cr=`echo X | tr X '\015'`+# On cygwin, bash can eat \r inside `` if the user requested igncr.+# But we know of no other shell where ac_cr would be empty at this+# point, so we can use a bashism as a fallback.+if test "x$ac_cr" = x; then+ eval ac_cr=\$\'\\r\'+fi+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then+ ac_cs_awk_cr='\\r'+else+ ac_cs_awk_cr=$ac_cr+fi++echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&+_ACEOF+++{+ echo "cat >conf$$subs.awk <<_ACEOF" &&+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&+ echo "_ACEOF"+} >conf$$subs.sh ||+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`+ac_delim='%!_!# '+for ac_last_try in false false false false false :; do+ . ./conf$$subs.sh ||+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5++ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`+ if test $ac_delim_n = $ac_delim_num; then+ break+ elif $ac_last_try; then+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5+ else+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "+ fi+done+rm -f conf$$subs.sh++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&+_ACEOF+sed -n '+h+s/^/S["/; s/!.*/"]=/+p+g+s/^[^!]*!//+:repl+t repl+s/'"$ac_delim"'$//+t delim+:nl+h+s/\(.\{148\}\)..*/\1/+t more1+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/+p+n+b repl+:more1+s/["\\]/\\&/g; s/^/"/; s/$/"\\/+p+g+s/.\{148\}//+t nl+:delim+h+s/\(.\{148\}\)..*/\1/+t more2+s/["\\]/\\&/g; s/^/"/; s/$/"/+p+b+:more2+s/["\\]/\\&/g; s/^/"/; s/$/"\\/+p+g+s/.\{148\}//+t delim+' <conf$$subs.awk | sed '+/^[^""]/{+ N+ s/\n//+}+' >>$CONFIG_STATUS || ac_write_fail=1+rm -f conf$$subs.awk+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+_ACAWK+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&+ for (key in S) S_is_set[key] = 1+ FS = ""++}+{+ line = $ 0+ nfields = split(line, field, "@")+ substed = 0+ len = length(field[1])+ for (i = 2; i < nfields; i++) {+ key = field[i]+ keylen = length(key)+ if (S_is_set[key]) {+ value = S[key]+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)+ len += length(value) + length(field[++i])+ substed = 1+ } else+ len += 1 + keylen+ }++ print line+}++_ACAWK+_ACEOF+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"+else+ cat+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5+_ACEOF++# VPATH may cause trouble with some makes, so we remove sole $(srcdir),+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and+# trailing colons and then remove the whole line if VPATH becomes empty+# (actually we leave an empty line to preserve line numbers).+if test "x$srcdir" = x.; then+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{+h+s///+s/^/:/+s/[ ]*$/:/+s/:\$(srcdir):/:/g+s/:\${srcdir}:/:/g+s/:@srcdir@:/:/g+s/^:*//+s/:*$//+x+s/\(=[ ]*\).*/\1/+G+s/\n//+s/^[^=]*=[ ]*$//+}'+fi++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+fi # test -n "$CONFIG_FILES"++# Set up the scripts for CONFIG_HEADERS section.+# No need to generate them if there are no CONFIG_HEADERS.+# This happens for instance with `./config.status Makefile'.+if test -n "$CONFIG_HEADERS"; then+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||+BEGIN {+_ACEOF++# Transform confdefs.h into an awk script `defines.awk', embedded as+# here-document in config.status, that substitutes the proper values into+# config.h.in to produce config.h.++# Create a delimiter string that does not exist in confdefs.h, to ease+# handling of long lines.+ac_delim='%!_!# '+for ac_last_try in false false :; do+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`+ if test -z "$ac_tt"; then+ break+ elif $ac_last_try; then+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5+ else+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "+ fi+done++# For the awk script, D is an array of macro values keyed by name,+# likewise P contains macro parameters if any. Preserve backslash+# newline sequences.++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*+sed -n '+s/.\{148\}/&'"$ac_delim"'/g+t rset+:rset+s/^[ ]*#[ ]*define[ ][ ]*/ /+t def+d+:def+s/\\$//+t bsnl+s/["\\]/\\&/g+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\+D["\1"]=" \3"/p+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p+d+:bsnl+s/["\\]/\\&/g+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\+D["\1"]=" \3\\\\\\n"\\/p+t cont+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p+t cont+d+:cont+n+s/.\{148\}/&'"$ac_delim"'/g+t clear+:clear+s/\\$//+t bsnlc+s/["\\]/\\&/g; s/^/"/; s/$/"/p+d+:bsnlc+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p+b cont+' <confdefs.h | sed '+s/'"$ac_delim"'/"\\\+"/g' >>$CONFIG_STATUS || ac_write_fail=1++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+ for (key in D) D_is_set[key] = 1+ FS = ""+}+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {+ line = \$ 0+ split(line, arg, " ")+ if (arg[1] == "#") {+ defundef = arg[2]+ mac1 = arg[3]+ } else {+ defundef = substr(arg[1], 2)+ mac1 = arg[2]+ }+ split(mac1, mac2, "(") #)+ macro = mac2[1]+ prefix = substr(line, 1, index(line, defundef) - 1)+ if (D_is_set[macro]) {+ # Preserve the white space surrounding the "#".+ print prefix "define", macro P[macro] D[macro]+ next+ } else {+ # Replace #undef with comments. This is necessary, for example,+ # in the case of _POSIX_SOURCE, which is predefined and required+ # on some systems where configure will not decide to define it.+ if (defundef == "undef") {+ print "/*", prefix defundef, macro, "*/"+ next+ }+ }+}+{ print }+_ACAWK+_ACEOF+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5+fi # test -n "$CONFIG_HEADERS"+++eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "+shift+for ac_tag+do+ case $ac_tag in+ :[FHLC]) ac_mode=$ac_tag; continue;;+ esac+ case $ac_mode$ac_tag in+ :[FHL]*:*);;+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;+ :[FH]-) ac_tag=-:-;;+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;+ esac+ ac_save_IFS=$IFS+ IFS=:+ set x $ac_tag+ IFS=$ac_save_IFS+ shift+ ac_file=$1+ shift++ case $ac_mode in+ :L) ac_source=$1;;+ :[FH])+ ac_file_inputs=+ for ac_f+ do+ case $ac_f in+ -) ac_f="$ac_tmp/stdin";;+ *) # Look for the file first in the build tree, then in the source tree+ # (if the path is not absolute). The absolute path cannot be DOS-style,+ # because $ac_f cannot contain `:'.+ test -f "$ac_f" ||+ case $ac_f in+ [\\/$]*) false;;+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;+ esac ||+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;+ esac+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac+ as_fn_append ac_file_inputs " '$ac_f'"+ done++ # Let's still pretend it is `configure' which instantiates (i.e., don't+ # use $as_me), people would be surprised to read:+ # /* config.h. Generated by config.status. */+ configure_input='Generated from '`+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'+ `' by configure.'+ if test x"$ac_file" != x-; then+ configure_input="$ac_file. $configure_input"+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5+$as_echo "$as_me: creating $ac_file" >&6;}+ fi+ # Neutralize special characters interpreted by sed in replacement strings.+ case $configure_input in #(+ *\&* | *\|* | *\\* )+ ac_sed_conf_input=`$as_echo "$configure_input" |+ sed 's/[\\\\&|]/\\\\&/g'`;; #(+ *) ac_sed_conf_input=$configure_input;;+ esac++ case $ac_tag in+ *:-:* | *:-) cat >"$ac_tmp/stdin" \+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;+ esac+ ;;+ esac++ ac_dir=`$as_dirname -- "$ac_file" ||+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \+ X"$ac_file" : 'X\(//\)[^/]' \| \+ X"$ac_file" : 'X\(//\)$' \| \+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||+$as_echo X"$ac_file" |+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{+ s//\1/+ q+ }+ /^X\(\/\/\)[^/].*/{+ s//\1/+ q+ }+ /^X\(\/\/\)$/{+ s//\1/+ q+ }+ /^X\(\/\).*/{+ s//\1/+ q+ }+ s/.*/./; q'`+ as_dir="$ac_dir"; as_fn_mkdir_p+ ac_builddir=.++case "$ac_dir" in+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;+*)+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`+ # A ".." for each directory in $ac_dir_suffix.+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`+ case $ac_top_builddir_sub in+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;+ esac ;;+esac+ac_abs_top_builddir=$ac_pwd+ac_abs_builddir=$ac_pwd$ac_dir_suffix+# for backward compatibility:+ac_top_builddir=$ac_top_build_prefix++case $srcdir in+ .) # We are building in place.+ ac_srcdir=.+ ac_top_srcdir=$ac_top_builddir_sub+ ac_abs_top_srcdir=$ac_pwd ;;+ [\\/]* | ?:[\\/]* ) # Absolute name.+ ac_srcdir=$srcdir$ac_dir_suffix;+ ac_top_srcdir=$srcdir+ ac_abs_top_srcdir=$srcdir ;;+ *) # Relative name.+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix+ ac_top_srcdir=$ac_top_build_prefix$srcdir+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;+esac+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix+++ case $ac_mode in+ :F)+ #+ # CONFIG_FILE+ #++_ACEOF++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+# If the template does not know about datarootdir, expand it.+# FIXME: This hack should be removed a few years after 2.60.+ac_datarootdir_hack=; ac_datarootdir_seen=+ac_sed_dataroot='+/datarootdir/ {+ p+ q+}+/@datadir@/p+/@docdir@/p+/@infodir@/p+/@localedir@/p+/@mandir@/p'+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in+*datarootdir*) ac_datarootdir_seen=yes;;+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}+_ACEOF+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+ ac_datarootdir_hack='+ s&@datadir@&$datadir&g+ s&@docdir@&$docdir&g+ s&@infodir@&$infodir&g+ s&@localedir@&$localedir&g+ s&@mandir@&$mandir&g+ s&\\\${datarootdir}&$datarootdir&g' ;;+esac+_ACEOF++# Neutralize VPATH when `$srcdir' = `.'.+# Shell code in configure.ac might set extrasub.+# FIXME: do we really want to maintain this feature?+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1+ac_sed_extra="$ac_vpsub+$extrasub+_ACEOF+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1+:t+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b+s|@configure_input@|$ac_sed_conf_input|;t t+s&@top_builddir@&$ac_top_builddir_sub&;t t+s&@top_build_prefix@&$ac_top_build_prefix&;t t+s&@srcdir@&$ac_srcdir&;t t+s&@abs_srcdir@&$ac_abs_srcdir&;t t+s&@top_srcdir@&$ac_top_srcdir&;t t+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t+s&@builddir@&$ac_builddir&;t t+s&@abs_builddir@&$ac_abs_builddir&;t t+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t+$ac_datarootdir_hack+"+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \+ "$ac_tmp/out"`; test -z "$ac_out"; } &&+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'+which seems to be undefined. Please make sure it is defined" >&5+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'+which seems to be undefined. Please make sure it is defined" >&2;}++ rm -f "$ac_tmp/stdin"+ case $ac_file in+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;+ esac \+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5+ ;;+ :H)+ #+ # CONFIG_HEADER+ #+ if test x"$ac_file" != x-; then+ {+ $as_echo "/* $configure_input */" \+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"+ } >"$ac_tmp/config.h" \+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5+$as_echo "$as_me: $ac_file is unchanged" >&6;}+ else+ rm -f "$ac_file"+ mv "$ac_tmp/config.h" "$ac_file" \+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5+ fi+ else+ $as_echo "/* $configure_input */" \+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \+ || as_fn_error $? "could not create -" "$LINENO" 5+ fi+ ;;+++ esac++done # for ac_tag+++as_fn_exit 0+_ACEOF+ac_clean_files=$ac_clean_files_save++test $ac_write_fail = 0 ||+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5+++# configure is writing to config.log, and then calls config.status.+# config.status does its own redirection, appending to config.log.+# Unfortunately, on DOS this fails, as config.log is still kept open+# by configure, so config.status won't be able to write to it; its+# output is simply discarded. So we exec the FD to /dev/null,+# effectively closing config.log, so it can be properly (re)opened and+# appended to by config.status. When coming back to configure, we+# need to make the FD available again.+if test "$no_create" != yes; then+ ac_cs_success=:+ ac_config_status_args=+ test "$silent" = yes &&+ ac_config_status_args="$ac_config_status_args --quiet"+ exec 5>/dev/null+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false+ exec 5>>config.log+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which+ # would make configure fail if this is the last instruction.+ $ac_cs_success || as_fn_exit 1+fi+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}+fi+
+ standalone/android/tmp/network-2.4.1.2/configure.ac view
@@ -0,0 +1,184 @@+AC_INIT([Haskell network package], [2.3.0.14], [libraries@haskell.org], [network])++ac_includes_default="$ac_includes_default+#ifdef HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif+#ifdef HAVE_NETINET_IN_H+# include <netinet/in.h>+#endif+#ifdef HAVE_NETDB_H+# include <netdb.h>+#endif+#ifdef HAVE_WINSOCK2_H+# include <winsock2.h>+#endif+#ifdef HAVE_WS2TCPIP_H+# include <ws2tcpip.h>+// fix for MingW not defining IPV6_V6ONLY+# define IPV6_V6ONLY 27+#endif+#ifdef HAVE_WSPIAPI_H+# include <wspiapi.h>+#endif"++# Safety check: Ensure that we are in the correct source directory.+AC_CONFIG_SRCDIR([include/HsNet.h])++AC_CONFIG_HEADERS([include/HsNetworkConfig.h])++AC_CANONICAL_HOST++AC_ARG_WITH([cc],+ [C compiler],+ [CC=$withval])+AC_PROG_CC()++AC_C_CONST++dnl ** check for specific header (.h) files that we are interested in+AC_CHECK_HEADERS([fcntl.h limits.h stdlib.h sys/types.h unistd.h winsock2.h ws2tcpip.h wspiapi.h])+AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h netinet/tcp.h sys/socket.h sys/uio.h sys/un.h])++AC_CHECK_FUNCS([readlink symlink])++dnl ** check what fields struct msghdr contains+AC_CHECK_MEMBERS([struct msghdr.msg_control, struct msghdr.msg_accrights], [], [], [#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif+#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif+#if HAVE_SYS_UIO_H+# include <sys/uio.h>+#endif])++dnl ** check if struct sockaddr contains sa_len+AC_CHECK_MEMBERS([struct sockaddr.sa_len], [], [], [#if HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif+#if HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif])++dnl --------------------------------------------------+dnl * test for in_addr_t+dnl --------------------------------------------------+AC_MSG_CHECKING(for in_addr_t in netinet/in.h)+AC_EGREP_HEADER(in_addr_t, netinet/in.h,+ [ AC_DEFINE([HAVE_IN_ADDR_T], [1], [Define to 1 if in_addr_t is available.]) AC_MSG_RESULT(yes) ],+ AC_MSG_RESULT(no))++dnl --------------------------------------------------+dnl * test for SO_PEERCRED and struct ucred+dnl --------------------------------------------------+AC_MSG_CHECKING(for SO_PEERCRED and struct ucred in sys/socket.h)+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>+#include <sys/socket.h>+#ifndef SO_PEERCRED+# error no SO_PEERCRED+#endif+struct ucred u;]])],ac_cv_ucred=yes,ac_cv_ucred=no)+if test "x$ac_cv_ucred" = xno; then+ old_CFLAGS="$CFLAGS"+ CFLAGS="-D_GNU_SOURCE $CFLAGS"+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>+#include <sys/socket.h>+#ifndef SO_PEERCRED+# error no SO_PEERCRED+#endif+struct ucred u;]])],ac_cv_ucred=yes,ac_cv_ucred=no)+ if test "x$ac_cv_ucred" = xyes; then+ EXTRA_CPPFLAGS=-D_GNU_SOURCE+ fi+else+ old_CFLAGS="$CFLAGS"+fi+if test "x$ac_cv_ucred" = xno; then+ CFLAGS="$old_CFLAGS"+ AC_MSG_RESULT(no)+else+ AC_DEFINE([HAVE_STRUCT_UCRED], [1], [Define to 1 if you have both SO_PEERCRED and struct ucred.])+ AC_MSG_RESULT(yes)+fi++dnl --------------------------------------------------+dnl * check for Windows networking libraries+dnl --------------------------------------------------+AC_CHECK_LIB(ws2_32, _head_libws2_32_a)++dnl --------------------------------------------------+dnl * test for getaddrinfo as proxy for IPv6 support+dnl --------------------------------------------------+AC_MSG_CHECKING(for getaddrinfo)+dnl Can't use AC_CHECK_FUNC here, because it doesn't do the right+dnl thing on Windows.+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$ac_includes_default+int testme(){ getaddrinfo; }]])],[AC_DEFINE([HAVE_GETADDRINFO], [1], [Define to 1 if you have the `getaddrinfo' function.]) ac_have_getaddrinfo=yes; AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])++dnl Under mingw, we may need to set WINVER to 0x0501 to expose getaddrinfo.+if test "x$ac_have_getaddrinfo" = x; then+ old_CFLAGS="$CFLAGS"+ if test "z$ac_cv_lib_ws2_32__head_libws2_32_a" = zyes; then+ CFLAGS="-DWINVER=0x0501 $CFLAGS"+ AC_MSG_CHECKING(for getaddrinfo if WINVER is 0x0501)+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$ac_includes_default+ int testme(){ getaddrinfo; }]])],[AC_DEFINE([HAVE_GETADDRINFO], [1], [Define to 1 if you have the `getaddrinfo' function.]) AC_DEFINE([NEED_WINVER_XP], [1], [Define to 1 if the `getaddrinfo' function needs WINVER set.]) EXTRA_CPPFLAGS="-DWINVER=0x0501 $EXTRA_CPPFLAGS"; AC_MSG_RESULT(yes)],[CFLAGS="$old_CFLAGS"; AC_MSG_RESULT(no)])+ fi+fi++dnl Missing under mingw, sigh.+AC_CHECK_FUNCS(gai_strerror)++dnl -------------------------------------------------------+dnl * test for AI_* flags that not all implementations have+dnl -------------------------------------------------------+AC_CHECK_DECLS([AI_ADDRCONFIG, AI_ALL, AI_NUMERICSERV, AI_V4MAPPED])++dnl -------------------------------------------------------+dnl * test for IPV6_V6ONLY flags that not all implementations have+dnl -------------------------------------------------------+AC_CHECK_DECLS([IPV6_V6ONLY])++dnl --------------------------------------------------+dnl * test for Linux sendfile(2)+dnl --------------------------------------------------+AC_MSG_CHECKING(for sendfile in sys/sendfile.h)+AC_EGREP_HEADER(sendfile, sys/sendfile.h,+ [ AC_DEFINE([HAVE_LINUX_SENDFILE], [1], [Define to 1 if you have a Linux sendfile(2) implementation.]) AC_MSG_RESULT(yes) ],+ AC_MSG_RESULT(no))++dnl --------------------------------------------------+dnl * test for BSD sendfile(2)+dnl --------------------------------------------------+AC_MSG_CHECKING(for sendfile in sys/socket.h)+AC_EGREP_HEADER(sendfile, sys/socket.h,+ [ AC_DEFINE([HAVE_BSD_SENDFILE], [1], [Define to 1 if you have a BSDish sendfile(2) implementation.]) AC_MSG_RESULT(yes) ],+ AC_MSG_RESULT(no))++AC_CHECK_FUNCS(gethostent)++AC_CHECK_FUNCS(accept4)++case "$host" in+*-mingw32)+ EXTRA_SRCS="cbits/initWinSock.c, cbits/winSockErr.c, cbits/asyncAccept.c"+ EXTRA_LIBS=ws2_32+ CALLCONV=stdcall ;;+*-solaris2*)+ EXTRA_SRCS="cbits/ancilData.c"+ EXTRA_LIBS="nsl, socket"+ CALLCONV=ccall ;;+*)+ EXTRA_SRCS="cbits/ancilData.c"+ EXTRA_LIBS=+ CALLCONV=ccall ;;+esac+AC_SUBST([CALLCONV])+AC_SUBST([EXTRA_CPPFLAGS])+AC_SUBST([EXTRA_LIBS])+AC_SUBST([EXTRA_SRCS])++AC_CONFIG_FILES([network.buildinfo])++AC_OUTPUT
+ standalone/android/tmp/network-2.4.1.2/examples/EchoClient.hs view
@@ -0,0 +1,18 @@+-- Echo client program+module Main where++import Network.Socket hiding (recv)+import Network.Socket.ByteString (recv, sendAll)+import qualified Data.ByteString.Char8 as C++main :: IO ()+main = withSocketsDo $+ do addrinfos <- getAddrInfo Nothing (Just "") (Just "3000")+ let serveraddr = head addrinfos+ sock <- socket (addrFamily serveraddr) Stream defaultProtocol+ connect sock (addrAddress serveraddr)+ sendAll sock $ C.pack "Hello, world!"+ msg <- recv sock 1024+ sClose sock+ putStr "Received "+ C.putStrLn msg
+ standalone/android/tmp/network-2.4.1.2/examples/EchoServer.hs view
@@ -0,0 +1,27 @@+-- Echo server program+module Main where++import Control.Monad (unless)+import Network.Socket hiding (recv)+import qualified Data.ByteString as S+import Network.Socket.ByteString (recv, sendAll)++main :: IO ()+main = withSocketsDo $+ do addrinfos <- getAddrInfo+ (Just (defaultHints {addrFlags = [AI_PASSIVE]}))+ Nothing (Just "3000")+ let serveraddr = head addrinfos+ sock <- socket (addrFamily serveraddr) Stream defaultProtocol+ bindSocket sock (addrAddress serveraddr)+ listen sock 1+ (conn, _) <- accept sock+ talk conn+ sClose conn+ sClose sock++ where+ talk :: Socket -> IO ()+ talk conn =+ do msg <- recv conn 1024+ unless (S.null msg) $ sendAll conn msg >> talk conn
+ standalone/android/tmp/network-2.4.1.2/include/HsNet.h view
@@ -0,0 +1,179 @@+/* -----------------------------------------------------------------------------+ *+ * Definitions for package `net' which are visible in Haskell land.+ *+ * ---------------------------------------------------------------------------*/++#ifndef HSNET_H+#define HSNET_H++#include "HsNetworkConfig.h"++#ifdef NEED_WINVER+# define WINVER 0x0501+#endif++/* ultra-evil... */+#undef PACKAGE_BUGREPORT+#undef PACKAGE_NAME+#undef PACKAGE_STRING+#undef PACKAGE_TARNAME+#undef PACKAGE_VERSION++#ifndef INLINE+# if defined(_MSC_VER)+# define INLINE extern __inline+# elif defined(__GNUC__)+# define INLINE extern inline+# else+# define INLINE inline+# endif+#endif++#ifdef HAVE_GETADDRINFO+# define IPV6_SOCKET_SUPPORT 1+#else+# undef IPV6_SOCKET_SUPPORT+#endif++#if defined(HAVE_WINSOCK2_H) && !defined(__CYGWIN__)+#include <winsock2.h>+# ifdef HAVE_WS2TCPIP_H+# include <ws2tcpip.h>+// fix for MingW not defining IPV6_V6ONLY+# define IPV6_V6ONLY 27+# endif+# ifdef HAVE_WSPIAPI_H+# include <wspiapi.h>+# endif++extern void shutdownWinSock();+extern int initWinSock ();+extern const char* getWSErrorDescr(int err);+extern void* newAcceptParams(int sock,+ int sz,+ void* sockaddr);+extern int acceptNewSock(void* d);+extern int acceptDoProc(void* param);++#else++#ifdef HAVE_LIMITS_H+# include <limits.h>+#endif+#ifdef HAVE_STDLIB_H+# include <stdlib.h>+#endif+#ifdef HAVE_UNISTD_H+#include <unistd.h>+#endif+#ifdef HAVE_SYS_TYPES_H+# include <sys/types.h>+#endif+#ifdef HAVE_FCNTL_H+# include <fcntl.h>+#endif+#ifdef HAVE_SYS_UIO_H+# include <sys/uio.h>+#endif+#ifdef HAVE_SYS_SOCKET_H+# include <sys/socket.h>+#endif+#ifdef HAVE_NETINET_TCP_H+# include <netinet/tcp.h>+#endif+#ifdef HAVE_NETINET_IN_H+# include <netinet/in.h>+#endif+#ifdef HAVE_SYS_UN_H+# include <sys/un.h>+#endif+#ifdef HAVE_ARPA_INET_H+# include <arpa/inet.h>+#endif+#ifdef HAVE_NETDB_H+#include <netdb.h>+#endif++#ifdef HAVE_BSD_SENDFILE+#include <sys/uio.h>+#endif+#ifdef HAVE_LINUX_SENDFILE+#if !defined(__USE_FILE_OFFSET64)+#include <sys/sendfile.h>+#endif+#endif++extern int+sendFd(int sock, int outfd);++extern int+recvFd(int sock);++#endif /* HAVE_WINSOCK2_H && !__CYGWIN */++INLINE char *+my_inet_ntoa(+#if defined(HAVE_WINSOCK2_H)+ u_long addr+#elif defined(HAVE_IN_ADDR_T)+ in_addr_t addr+#elif defined(HAVE_INTTYPES_H)+ u_int32_t addr+#else+ unsigned long addr+#endif+ )+{ + struct in_addr a;+ a.s_addr = addr;+ return inet_ntoa(a);+}++#ifdef HAVE_GETADDRINFO+INLINE int+hsnet_getnameinfo(const struct sockaddr* a,socklen_t b, char* c,+# if defined(HAVE_WINSOCK2_H) && !defined(__CYGWIN__)+ DWORD d, char* e, DWORD f, int g)+# else+ socklen_t d, char* e, socklen_t f, int g)+# endif+{+ return getnameinfo(a,b,c,d,e,f,g);+}++INLINE int+hsnet_getaddrinfo(const char *hostname, const char *servname,+ const struct addrinfo *hints, struct addrinfo **res)+{+ return getaddrinfo(hostname, servname, hints, res);+}++INLINE void+hsnet_freeaddrinfo(struct addrinfo *ai)+{+ freeaddrinfo(ai);+}+#endif++#if defined(HAVE_WINSOCK2_H) && !defined(cygwin32_HOST_OS)+# define WITH_WINSOCK 1+#endif++#if !defined(mingw32_HOST_OS) && !defined(_WIN32)+# define DOMAIN_SOCKET_SUPPORT 1+#endif++#if !defined(CALLCONV)+# if defined(WITH_WINSOCK)+# define CALLCONV stdcall+# else+# define CALLCONV ccall+# endif+#endif++#if !defined(IOV_MAX)+# define IOV_MAX 1024+#endif++#endif /* HSNET_H */
+ standalone/android/tmp/network-2.4.1.2/include/HsNetworkConfig.h view
@@ -0,0 +1,154 @@+/* include/HsNetworkConfig.h. Generated from HsNetworkConfig.h.in by configure. */+/* include/HsNetworkConfig.h.in. Generated from configure.ac by autoheader. */++/* Define to 1 if you have the `accept4' function. */+/* #undef HAVE_ACCEPT4 */++/* Define to 1 if you have the <arpa/inet.h> header file. */+#define HAVE_ARPA_INET_H 1++/* Define to 1 if you have a BSDish sendfile(2) implementation. */+#define HAVE_BSD_SENDFILE 1++/* Define to 1 if you have the declaration of `AI_ADDRCONFIG', and to 0 if you+ don't. */+#define HAVE_DECL_AI_ADDRCONFIG 1++/* Define to 1 if you have the declaration of `AI_ALL', and to 0 if you don't.+ */+#define HAVE_DECL_AI_ALL 1++/* Define to 1 if you have the declaration of `AI_NUMERICSERV', and to 0 if+ you don't. */+#define HAVE_DECL_AI_NUMERICSERV 1++/* Define to 1 if you have the declaration of `AI_V4MAPPED', and to 0 if you+ don't. */+#define HAVE_DECL_AI_V4MAPPED 1++/* Define to 1 if you have the declaration of `IPV6_V6ONLY', and to 0 if you+ don't. */+#define HAVE_DECL_IPV6_V6ONLY 1++/* Define to 1 if you have the <fcntl.h> header file. */+#define HAVE_FCNTL_H 1++/* Define to 1 if you have the `gai_strerror' function. */+#define HAVE_GAI_STRERROR 1++/* Define to 1 if you have the `getaddrinfo' function. */+#define HAVE_GETADDRINFO 1++/* Define to 1 if you have the `gethostent' function. */+#define HAVE_GETHOSTENT 1++/* Define to 1 if you have the <inttypes.h> header file. */+#define HAVE_INTTYPES_H 1++/* Define to 1 if in_addr_t is available. */+#define HAVE_IN_ADDR_T 1++/* Define to 1 if you have the `ws2_32' library (-lws2_32). */+/* #undef HAVE_LIBWS2_32 */++/* Define to 1 if you have the <limits.h> header file. */+#define HAVE_LIMITS_H 1++/* Define to 1 if you have a Linux sendfile(2) implementation. */+/* #undef HAVE_LINUX_SENDFILE */++/* Define to 1 if you have the <memory.h> header file. */+#define HAVE_MEMORY_H 1++/* Define to 1 if you have the <netdb.h> header file. */+#define HAVE_NETDB_H 1++/* Define to 1 if you have the <netinet/in.h> header file. */+#define HAVE_NETINET_IN_H 1++/* Define to 1 if you have the <netinet/tcp.h> header file. */+#define HAVE_NETINET_TCP_H 1++/* Define to 1 if you have the `readlink' function. */+#define HAVE_READLINK 1++/* Define to 1 if you have the <stdint.h> header file. */+#define HAVE_STDINT_H 1++/* Define to 1 if you have the <stdlib.h> header file. */+#define HAVE_STDLIB_H 1++/* Define to 1 if you have the <strings.h> header file. */+#define HAVE_STRINGS_H 1++/* Define to 1 if you have the <string.h> header file. */+#define HAVE_STRING_H 1++/* Define to 1 if `msg_accrights' is a member of `struct msghdr'. */+/* #undef HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS */++/* Define to 1 if `msg_control' is a member of `struct msghdr'. */+#define HAVE_STRUCT_MSGHDR_MSG_CONTROL 1++/* Define to 1 if `sa_len' is a member of `struct sockaddr'. */+#define HAVE_STRUCT_SOCKADDR_SA_LEN 1++/* Define to 1 if you have both SO_PEERCRED and struct ucred. */+/* #undef HAVE_STRUCT_UCRED */++/* Define to 1 if you have the `symlink' function. */+#define HAVE_SYMLINK 1++/* Define to 1 if you have the <sys/socket.h> header file. */+#define HAVE_SYS_SOCKET_H 1++/* Define to 1 if you have the <sys/stat.h> header file. */+#define HAVE_SYS_STAT_H 1++/* Define to 1 if you have the <sys/types.h> header file. */+#define HAVE_SYS_TYPES_H 1++/* Define to 1 if you have the <sys/uio.h> header file. */+#define HAVE_SYS_UIO_H 1++/* Define to 1 if you have the <sys/un.h> header file. */+#define HAVE_SYS_UN_H 1++/* Define to 1 if you have the <unistd.h> header file. */+#define HAVE_UNISTD_H 1++/* Define to 1 if you have the <winsock2.h> header file. */+/* #undef HAVE_WINSOCK2_H */++/* Define to 1 if you have the <ws2tcpip.h> header file. */+/* #undef HAVE_WS2TCPIP_H */++/* Define to 1 if you have the <wspiapi.h> header file. */+/* #undef HAVE_WSPIAPI_H */++/* Define to 1 if the `getaddrinfo' function needs WINVER set. */+/* #undef NEED_WINVER_XP */++/* Define to the address where bug reports for this package should be sent. */+#define PACKAGE_BUGREPORT "libraries@haskell.org"++/* Define to the full name of this package. */+#define PACKAGE_NAME "Haskell network package"++/* Define to the full name and version of this package. */+#define PACKAGE_STRING "Haskell network package 2.3.0.14"++/* Define to the one symbol short name of this package. */+#define PACKAGE_TARNAME "network"++/* Define to the home page for this package. */+#define PACKAGE_URL ""++/* Define to the version of this package. */+#define PACKAGE_VERSION "2.3.0.14"++/* Define to 1 if you have the ANSI C header files. */+#define STDC_HEADERS 1++/* Define to empty if `const' does not conform to ANSI C. */+/* #undef const */
+ standalone/android/tmp/network-2.4.1.2/include/HsNetworkConfig.h.in view
@@ -0,0 +1,153 @@+/* include/HsNetworkConfig.h.in. Generated from configure.ac by autoheader. */++/* Define to 1 if you have the `accept4' function. */+#undef HAVE_ACCEPT4++/* Define to 1 if you have the <arpa/inet.h> header file. */+#undef HAVE_ARPA_INET_H++/* Define to 1 if you have a BSDish sendfile(2) implementation. */+#undef HAVE_BSD_SENDFILE++/* Define to 1 if you have the declaration of `AI_ADDRCONFIG', and to 0 if you+ don't. */+#undef HAVE_DECL_AI_ADDRCONFIG++/* Define to 1 if you have the declaration of `AI_ALL', and to 0 if you don't.+ */+#undef HAVE_DECL_AI_ALL++/* Define to 1 if you have the declaration of `AI_NUMERICSERV', and to 0 if+ you don't. */+#undef HAVE_DECL_AI_NUMERICSERV++/* Define to 1 if you have the declaration of `AI_V4MAPPED', and to 0 if you+ don't. */+#undef HAVE_DECL_AI_V4MAPPED++/* Define to 1 if you have the declaration of `IPV6_V6ONLY', and to 0 if you+ don't. */+#undef HAVE_DECL_IPV6_V6ONLY++/* Define to 1 if you have the <fcntl.h> header file. */+#undef HAVE_FCNTL_H++/* Define to 1 if you have the `gai_strerror' function. */+#undef HAVE_GAI_STRERROR++/* Define to 1 if you have the `getaddrinfo' function. */+#undef HAVE_GETADDRINFO++/* Define to 1 if you have the `gethostent' function. */+#undef HAVE_GETHOSTENT++/* Define to 1 if you have the <inttypes.h> header file. */+#undef HAVE_INTTYPES_H++/* Define to 1 if in_addr_t is available. */+#undef HAVE_IN_ADDR_T++/* Define to 1 if you have the `ws2_32' library (-lws2_32). */+#undef HAVE_LIBWS2_32++/* Define to 1 if you have the <limits.h> header file. */+#undef HAVE_LIMITS_H++/* Define to 1 if you have a Linux sendfile(2) implementation. */+#undef HAVE_LINUX_SENDFILE++/* Define to 1 if you have the <memory.h> header file. */+#undef HAVE_MEMORY_H++/* Define to 1 if you have the <netdb.h> header file. */+#undef HAVE_NETDB_H++/* Define to 1 if you have the <netinet/in.h> header file. */+#undef HAVE_NETINET_IN_H++/* Define to 1 if you have the <netinet/tcp.h> header file. */+#undef HAVE_NETINET_TCP_H++/* Define to 1 if you have the `readlink' function. */+#undef HAVE_READLINK++/* Define to 1 if you have the <stdint.h> header file. */+#undef HAVE_STDINT_H++/* Define to 1 if you have the <stdlib.h> header file. */+#undef HAVE_STDLIB_H++/* Define to 1 if you have the <strings.h> header file. */+#undef HAVE_STRINGS_H++/* Define to 1 if you have the <string.h> header file. */+#undef HAVE_STRING_H++/* Define to 1 if `msg_accrights' is a member of `struct msghdr'. */+#undef HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS++/* Define to 1 if `msg_control' is a member of `struct msghdr'. */+#undef HAVE_STRUCT_MSGHDR_MSG_CONTROL++/* Define to 1 if `sa_len' is a member of `struct sockaddr'. */+#undef HAVE_STRUCT_SOCKADDR_SA_LEN++/* Define to 1 if you have both SO_PEERCRED and struct ucred. */+#undef HAVE_STRUCT_UCRED++/* Define to 1 if you have the `symlink' function. */+#undef HAVE_SYMLINK++/* Define to 1 if you have the <sys/socket.h> header file. */+#undef HAVE_SYS_SOCKET_H++/* Define to 1 if you have the <sys/stat.h> header file. */+#undef HAVE_SYS_STAT_H++/* Define to 1 if you have the <sys/types.h> header file. */+#undef HAVE_SYS_TYPES_H++/* Define to 1 if you have the <sys/uio.h> header file. */+#undef HAVE_SYS_UIO_H++/* Define to 1 if you have the <sys/un.h> header file. */+#undef HAVE_SYS_UN_H++/* Define to 1 if you have the <unistd.h> header file. */+#undef HAVE_UNISTD_H++/* Define to 1 if you have the <winsock2.h> header file. */+#undef HAVE_WINSOCK2_H++/* Define to 1 if you have the <ws2tcpip.h> header file. */+#undef HAVE_WS2TCPIP_H++/* Define to 1 if you have the <wspiapi.h> header file. */+#undef HAVE_WSPIAPI_H++/* Define to 1 if the `getaddrinfo' function needs WINVER set. */+#undef NEED_WINVER_XP++/* Define to the address where bug reports for this package should be sent. */+#undef PACKAGE_BUGREPORT++/* Define to the full name of this package. */+#undef PACKAGE_NAME++/* Define to the full name and version of this package. */+#undef PACKAGE_STRING++/* Define to the one symbol short name of this package. */+#undef PACKAGE_TARNAME++/* Define to the home page for this package. */+#undef PACKAGE_URL++/* Define to the version of this package. */+#undef PACKAGE_VERSION++/* Define to 1 if you have the ANSI C header files. */+#undef STDC_HEADERS++/* Define to empty if `const' does not conform to ANSI C. */+#undef const
+ standalone/android/tmp/network-2.4.1.2/install-sh view
@@ -0,0 +1,295 @@+#!/bin/sh+# install - install a program, script, or datafile++scriptversion=2003-09-24.23++# This originates from X11R5 (mit/util/scripts/install.sh), which was+# later released in X11R6 (xc/config/util/install.sh) with the+# following copyright and license.+#+# Copyright (C) 1994 X Consortium+#+# Permission is hereby granted, free of charge, to any person obtaining a copy+# of this software and associated documentation files (the "Software"), to+# deal in the Software without restriction, including without limitation the+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or+# sell copies of the Software, and to permit persons to whom the Software is+# furnished to do so, subject to the following conditions:+#+# The above copyright notice and this permission notice shall be included in+# all copies or substantial portions of the Software.+#+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.+#+# Except as contained in this notice, the name of the X Consortium shall not+# be used in advertising or otherwise to promote the sale, use or other deal-+# ings in this Software without prior written authorization from the X Consor-+# tium.+#+#+# FSF changes to this file are in the public domain.+#+# Calling this script install-sh is preferred over install.sh, to prevent+# `make' implicit rules from creating a file called install from it+# when there is no Makefile.+#+# This script is compatible with the BSD install script, but was written+# from scratch. It can only install one file at a time, a restriction+# shared with many OS's install programs.++# set DOITPROG to echo to test this script++# Don't use :- since 4.3BSD and earlier shells don't like it.+doit="${DOITPROG-}"++# put in absolute paths if you don't have them in your path; or use env. vars.++mvprog="${MVPROG-mv}"+cpprog="${CPPROG-cp}"+chmodprog="${CHMODPROG-chmod}"+chownprog="${CHOWNPROG-chown}"+chgrpprog="${CHGRPPROG-chgrp}"+stripprog="${STRIPPROG-strip}"+rmprog="${RMPROG-rm}"+mkdirprog="${MKDIRPROG-mkdir}"++transformbasename=+transform_arg=+instcmd="$mvprog"+chmodcmd="$chmodprog 0755"+chowncmd=+chgrpcmd=+stripcmd=+rmcmd="$rmprog -f"+mvcmd="$mvprog"+src=+dst=+dir_arg=++usage="Usage: $0 [OPTION]... SRCFILE DSTFILE+ or: $0 -d DIR1 DIR2...++In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.+In the second, create the directory path DIR.++Options:+-b=TRANSFORMBASENAME+-c copy source (using $cpprog) instead of moving (using $mvprog).+-d create directories instead of installing files.+-g GROUP $chgrp installed files to GROUP.+-m MODE $chmod installed files to MODE.+-o USER $chown installed files to USER.+-s strip installed files (using $stripprog).+-t=TRANSFORM+--help display this help and exit.+--version display version info and exit.++Environment variables override the default commands:+ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG+"++while test -n "$1"; do+ case $1 in+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`+ shift+ continue;;++ -c) instcmd=$cpprog+ shift+ continue;;++ -d) dir_arg=true+ shift+ continue;;++ -g) chgrpcmd="$chgrpprog $2"+ shift+ shift+ continue;;++ --help) echo "$usage"; exit 0;;++ -m) chmodcmd="$chmodprog $2"+ shift+ shift+ continue;;++ -o) chowncmd="$chownprog $2"+ shift+ shift+ continue;;++ -s) stripcmd=$stripprog+ shift+ continue;;++ -t=*) transformarg=`echo $1 | sed 's/-t=//'`+ shift+ continue;;++ --version) echo "$0 $scriptversion"; exit 0;;++ *) if test -z "$src"; then+ src=$1+ else+ # this colon is to work around a 386BSD /bin/sh bug+ :+ dst=$1+ fi+ shift+ continue;;+ esac+done++if test -z "$src"; then+ echo "$0: no input file specified." >&2+ exit 1+fi++# Protect names starting with `-'.+case $src in+ -*) src=./$src ;;+esac++if test -n "$dir_arg"; then+ dst=$src+ src=++ if test -d "$dst"; then+ instcmd=:+ chmodcmd=+ else+ instcmd=$mkdirprog+ fi+else+ # Waiting for this to be detected by the "$instcmd $src $dsttmp" command+ # might cause directories to be created, which would be especially bad+ # if $src (and thus $dsttmp) contains '*'.+ if test ! -f "$src" && test ! -d "$src"; then+ echo "$0: $src does not exist." >&2+ exit 1+ fi++ if test -z "$dst"; then+ echo "$0: no destination specified." >&2+ exit 1+ fi++ # Protect names starting with `-'.+ case $dst in+ -*) dst=./$dst ;;+ esac++ # If destination is a directory, append the input filename; won't work+ # if double slashes aren't ignored.+ if test -d "$dst"; then+ dst=$dst/`basename "$src"`+ fi+fi++# This sed command emulates the dirname command.+dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`++# Make sure that the destination directory exists.++# Skip lots of stat calls in the usual case.+if test ! -d "$dstdir"; then+ defaultIFS='+ '+ IFS="${IFS-$defaultIFS}"++ oIFS=$IFS+ # Some sh's can't handle IFS=/ for some reason.+ IFS='%'+ set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`+ IFS=$oIFS++ pathcomp=++ while test $# -ne 0 ; do+ pathcomp=$pathcomp$1+ shift+ test -d "$pathcomp" || $mkdirprog "$pathcomp"+ pathcomp=$pathcomp/+ done+fi++if test -n "$dir_arg"; then+ $doit $instcmd "$dst" \+ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \+ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }++else+ # If we're going to rename the final executable, determine the name now.+ if test -z "$transformarg"; then+ dstfile=`basename "$dst"`+ else+ dstfile=`basename "$dst" $transformbasename \+ | sed $transformarg`$transformbasename+ fi++ # don't allow the sed command to completely eliminate the filename.+ test -z "$dstfile" && dstfile=`basename "$dst"`++ # Make a couple of temp file names in the proper directory.+ dsttmp=$dstdir/_inst.$$_+ rmtmp=$dstdir/_rm.$$_++ # Trap to clean up those temp files at exit.+ trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0+ trap '(exit $?); exit' 1 2 13 15++ # Move or copy the file name to the temp name+ $doit $instcmd "$src" "$dsttmp" &&++ # and set any options; do chmod last to preserve setuid bits.+ #+ # If any of these fail, we abort the whole thing. If we want to+ # ignore errors from any of these, just make sure not to ignore+ # errors from the above "$doit $instcmd $src $dsttmp" command.+ #+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \+ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&++ # Now remove or move aside any old file at destination location. We+ # try this two ways since rm can't unlink itself on some systems and+ # the destination file might be busy for other reasons. In this case,+ # the final cleanup might fail but the new file should still install+ # successfully.+ {+ if test -f "$dstdir/$dstfile"; then+ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \+ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \+ || {+ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2+ (exit 1); exit+ }+ else+ :+ fi+ } &&++ # Now rename the file to the real destination.+ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"+fi &&++# The final little trick to "correctly" pass the exit status to the exit trap.+{+ (exit 0); exit+}++# Local variables:+# eval: (add-hook 'write-file-hooks 'time-stamp)+# time-stamp-start: "scriptversion="+# time-stamp-format: "%:y-%02m-%02d.%02H"+# time-stamp-end: "$"+# End:
+ standalone/android/tmp/network-2.4.1.2/network.buildinfo.in view
@@ -0,0 +1,5 @@+ghc-options: -DCALLCONV=@CALLCONV@ @EXTRA_CPPFLAGS@+ghc-prof-options: -DCALLCONV=@CALLCONV@ @EXTRA_CPPFLAGS@+cc-options: -DCALLCONV=@CALLCONV@ @EXTRA_CPPFLAGS@+c-sources: @EXTRA_SRCS@+extra-libraries: @EXTRA_LIBS@
+ standalone/android/tmp/network-2.4.1.2/network.cabal view
@@ -0,0 +1,103 @@+name: network+version: 2.4.1.2+license: BSD3+license-file: LICENSE+maintainer: Johan Tibell <johan.tibell@gmail.com>+synopsis: Low-level networking interface+description: Low-level networking interface+category: Network+build-type: Configure+cabal-version: >=1.8+extra-tmp-files:+ config.log config.status autom4te.cache network.buildinfo+ include/HsNetworkConfig.h+extra-source-files:+ README examples/*.hs tests/*.hs config.guess config.sub install-sh+ configure.ac configure network.buildinfo.in+ include/HsNetworkConfig.h.in include/HsNet.h+ -- C sources only used on some systems+ cbits/ancilData.c cbits/asyncAccept.c cbits/initWinSock.c+ cbits/winSockErr.c+homepage: https://github.com/haskell/network+bug-reports: https://github.com/haskell/network/issues++library+ exposed-modules:+ Network+ Network.BSD+ Network.Socket+ Network.Socket.ByteString+ Network.Socket.ByteString.Lazy+ Network.Socket.Internal+ Network.URI+ other-modules:+ Network.Socket.ByteString.Internal+ Network.Socket.Types++ if !os(windows)+ other-modules:+ Network.Socket.ByteString.IOVec+ Network.Socket.ByteString.MsgHdr++ build-depends:+ base >= 3 && < 5,+ bytestring,+ parsec >= 3.0++ if !os(windows)+ build-depends:+ unix >= 2++ extensions:+ CPP, DeriveDataTypeable, ForeignFunctionInterface, TypeSynonymInstances+ include-dirs: include+ includes: HsNet.h+ install-includes: HsNet.h HsNetworkConfig.h+ c-sources: cbits/HsNet.c+ if impl(ghc >= 6.8)+ ghc-options: -fwarn-tabs++test-suite simple+ hs-source-dirs: tests+ main-is: Simple.hs+ type: exitcode-stdio-1.0++ build-depends:+ base < 5,+ bytestring,+ HUnit,+ network,+ test-framework,+ test-framework-hunit++test-suite regression+ hs-source-dirs: tests+ main-is: Regression.hs+ type: exitcode-stdio-1.0++ build-depends:+ base < 5,+ bytestring,+ HUnit,+ network,+ test-framework,+ test-framework-hunit++ ghc-options: -Wall++test-suite uri+ hs-source-dirs: tests+ main-is: uri001.hs+ type: exitcode-stdio-1.0++ build-depends:+ base < 5,+ HUnit,+ network,+ test-framework,+ test-framework-hunit,+ test-framework-quickcheck2++source-repository head+ type: git+ location: git://github.com/haskell/network.git
+ standalone/android/tmp/network-2.4.1.2/tests/Regression.hs view
@@ -0,0 +1,31 @@+-- | Tests for things that didn't work in the past.+module Main where++import Network.Socket+import Test.Framework (Test, defaultMain)+import Test.Framework.Providers.HUnit (testCase)++------------------------------------------------------------------------+-- Tests++-- Used to segfault on OS X 10.8.2 due to AI_NUMERICSERV being set+-- without a service being set. This is a OS X bug.+testGetAddrInfo :: IO ()+testGetAddrInfo = do+ let hints = defaultHints { addrFlags = [AI_NUMERICSERV] }+ _ <- getAddrInfo (Just hints) (Just "localhost") Nothing+ return ()++------------------------------------------------------------------------+-- List of all tests++tests :: [Test]+tests =+ [ testCase "testGetAddrInfo" testGetAddrInfo+ ]++------------------------------------------------------------------------+-- Test harness++main :: IO ()+main = withSocketsDo $ defaultMain tests
+ standalone/android/tmp/network-2.4.1.2/tests/Simple.hs view
@@ -0,0 +1,244 @@+{-# LANGUAGE ScopedTypeVariables #-}++module Main where++import Control.Concurrent (ThreadId, forkIO, myThreadId)+import Control.Concurrent.MVar (newEmptyMVar, putMVar, takeMVar, readMVar)+import qualified Control.Exception as E+import qualified Data.ByteString as S+import qualified Data.ByteString.Char8 as C+import Network.Socket hiding (recv, recvFrom, send, sendTo)+import Network.Socket.ByteString+import Test.Framework (Test, defaultMain, testGroup)+import Test.Framework.Providers.HUnit (testCase)+import Test.HUnit (Assertion, (@=?))++------------------------------------------------------------------------++serverAddr :: String+serverAddr = "127.0.0.1"++testMsg :: S.ByteString+testMsg = C.pack "This is a test message."++------------------------------------------------------------------------+-- Tests++------------------------------------------------------------------------+-- Sending and receiving++testSend :: Assertion+testSend = tcpTest client server+ where+ server sock = recv sock 1024 >>= (@=?) testMsg+ client sock = send sock testMsg++testSendAll :: Assertion+testSendAll = tcpTest client server+ where+ server sock = recv sock 1024 >>= (@=?) testMsg+ client sock = sendAll sock testMsg++testSendTo :: Assertion+testSendTo = udpTest client server+ where+ server sock = recv sock 1024 >>= (@=?) testMsg+ client sock serverPort = do+ addr <- inet_addr serverAddr+ sendTo sock testMsg (SockAddrInet serverPort addr)++testSendAllTo :: Assertion+testSendAllTo = udpTest client server+ where+ server sock = recv sock 1024 >>= (@=?) testMsg+ client sock serverPort = do+ addr <- inet_addr serverAddr+ sendAllTo sock testMsg (SockAddrInet serverPort addr)++testSendMany :: Assertion+testSendMany = tcpTest client server+ where+ server sock = recv sock 1024 >>= (@=?) (S.append seg1 seg2)+ client sock = sendMany sock [seg1, seg2]++ seg1 = C.pack "This is a "+ seg2 = C.pack "test message."++testSendManyTo :: Assertion+testSendManyTo = udpTest client server+ where+ server sock = recv sock 1024 >>= (@=?) (S.append seg1 seg2)+ client sock serverPort = do+ addr <- inet_addr serverAddr+ sendManyTo sock [seg1, seg2] (SockAddrInet serverPort addr)++ seg1 = C.pack "This is a "+ seg2 = C.pack "test message."++testRecv :: Assertion+testRecv = tcpTest client server+ where+ server sock = recv sock 1024 >>= (@=?) testMsg+ client sock = send sock testMsg++testOverFlowRecv :: Assertion+testOverFlowRecv = tcpTest client server+ where+ server sock = do seg1 <- recv sock (S.length testMsg - 3)+ seg2 <- recv sock 1024+ let msg = S.append seg1 seg2+ testMsg @=? msg++ client sock = send sock testMsg++testRecvFrom :: Assertion+testRecvFrom = tcpTest client server+ where+ server sock = do (msg, _) <- recvFrom sock 1024+ testMsg @=? msg++ client sock = do+ serverPort <- getPeerPort sock+ addr <- inet_addr serverAddr+ sendTo sock testMsg (SockAddrInet serverPort addr)++testOverFlowRecvFrom :: Assertion+testOverFlowRecvFrom = tcpTest client server+ where+ server sock = do (seg1, _) <- recvFrom sock (S.length testMsg - 3)+ (seg2, _) <- recvFrom sock 1024+ let msg = S.append seg1 seg2+ testMsg @=? msg++ client sock = send sock testMsg++------------------------------------------------------------------------+-- Other++------------------------------------------------------------------------+-- List of all tests++basicTests :: Test+basicTests = testGroup "Basic socket operations"+ [+ -- Sending and receiving+ testCase "testSend" testSend+ , testCase "testSendAll" testSendAll+ , testCase "testSendTo" testSendTo+ , testCase "testSendAllTo" testSendAllTo+ , testCase "testSendMany" testSendMany+ , testCase "testSendManyTo" testSendManyTo+ , testCase "testRecv" testRecv+ , testCase "testOverFlowRecv" testOverFlowRecv+ , testCase "testRecvFrom" testRecvFrom+ , testCase "testOverFlowRecvFrom" testOverFlowRecvFrom+ ]++tests :: [Test]+tests = [basicTests]++------------------------------------------------------------------------+-- Test helpers++-- | Returns the 'PortNumber' of the peer. Will throw an 'error' if+-- used on a non-IP socket.+getPeerPort :: Socket -> IO PortNumber+getPeerPort sock = do+ sockAddr <- getPeerName sock+ case sockAddr of+ (SockAddrInet port _) -> return port+ (SockAddrInet6 port _ _ _) -> return port+ _ -> error "getPeerPort: only works with IP sockets"++-- | Establish a connection between client and server and then run+-- 'clientAct' and 'serverAct', in different threads. Both actions+-- get passed a connected 'Socket', used for communicating between+-- client and server. 'tcpTest' makes sure that the 'Socket' is+-- closed after the actions have run.+tcpTest :: (Socket -> IO a) -> (Socket -> IO b) -> IO ()+tcpTest clientAct serverAct = do+ portVar <- newEmptyMVar+ test (clientSetup portVar) clientAct (serverSetup portVar) server+ where+ clientSetup portVar = do+ sock <- socket AF_INET Stream defaultProtocol+ addr <- inet_addr serverAddr+ serverPort <- readMVar portVar+ connect sock $ SockAddrInet serverPort addr+ return sock++ serverSetup portVar = do+ sock <- socket AF_INET Stream defaultProtocol+ setSocketOption sock ReuseAddr 1+ addr <- inet_addr serverAddr+ bindSocket sock (SockAddrInet aNY_PORT addr)+ listen sock 1+ serverPort <- socketPort sock+ putMVar portVar serverPort+ return sock++ server sock = do+ (clientSock, _) <- accept sock+ serverAct clientSock+ sClose clientSock++-- | Create an unconnected 'Socket' for sending UDP and receiving+-- datagrams and then run 'clientAct' and 'serverAct'.+udpTest :: (Socket -> PortNumber -> IO a) -> (Socket -> IO b) -> IO ()+udpTest clientAct serverAct = do+ portVar <- newEmptyMVar+ test clientSetup (client portVar) (serverSetup portVar) serverAct+ where+ clientSetup = socket AF_INET Datagram defaultProtocol++ client portVar sock = do+ serverPort <- readMVar portVar+ clientAct sock serverPort++ serverSetup portVar = do+ sock <- socket AF_INET Datagram defaultProtocol+ setSocketOption sock ReuseAddr 1+ addr <- inet_addr serverAddr+ bindSocket sock (SockAddrInet aNY_PORT addr)+ serverPort <- socketPort sock+ putMVar portVar serverPort+ return sock++-- | Run a client/server pair and synchronize them so that the server+-- is started before the client and the specified server action is+-- finished before the client closes the 'Socket'.+test :: IO Socket -> (Socket -> IO b) -> IO Socket -> (Socket -> IO c) -> IO ()+test clientSetup clientAct serverSetup serverAct = do+ tid <- myThreadId+ barrier <- newEmptyMVar+ forkIO $ server barrier+ client tid barrier+ where+ server barrier = do+ E.bracket serverSetup sClose $ \sock -> do+ serverReady+ serverAct sock+ putMVar barrier ()+ where+ -- | Signal to the client that it can proceed.+ serverReady = putMVar barrier ()++ client tid barrier = do+ takeMVar barrier+ -- Transfer exceptions to the main thread.+ bracketWithReraise tid clientSetup sClose $ \res -> do+ clientAct res+ takeMVar barrier++-- | Like 'bracket' but catches and reraises the exception in another+-- thread, specified by the first argument.+bracketWithReraise :: ThreadId -> IO a -> (a -> IO b) -> (a -> IO ()) -> IO ()+bracketWithReraise tid before after thing =+ E.bracket before after thing+ `E.catch` \ (e :: E.SomeException) -> E.throwTo tid e++------------------------------------------------------------------------+-- Test harness++main :: IO ()+main = withSocketsDo $ defaultMain tests
+ standalone/android/tmp/network-2.4.1.2/tests/uri001.hs view
@@ -0,0 +1,1431 @@+{-# OPTIONS_GHC -fno-warn-missing-signatures #-}+--------------------------------------------------------------------------------+-- $Id: URITest.hs,v 1.8 2005/07/19 22:01:27 gklyne Exp $+--+-- Copyright (c) 2004, G. KLYNE. All rights reserved.+-- See end of this file for licence information.+--------------------------------------------------------------------------------+-- |+-- Module : URITest+-- Copyright : (c) 2004, Graham Klyne+-- License : BSD-style (see end of this file)+--+-- Maintainer : Graham Klyne+-- Stability : provisional+-- Portability : H98+--+-- This Module contains test cases for module URI.+--+-- To run this test without using Cabal to build the package+-- (2013-01-05, instructions tested on MacOS):+-- 1. Install Haskell platform+-- 2. cabal install test-framework+-- 3. cabal install test-framework-hunit+-- 4. ghc -XDeriveDataTypeable -D"MIN_VERSION_base(x,y,z)=1" ../Network/URI.hs uri001.hs+-- 5. ./uri001+--+-- Previous build instructions:+-- Using GHC, I compile with this command line:+-- ghc --make -fglasgow-exts+-- -i..\;C:\Dev\Haskell\Lib\HUnit;C:\Dev\Haskell\Lib\Parsec+-- -o URITest.exe URITest -main-is URITest.main+-- The -i line may need changing for alternative installations.+--+--------------------------------------------------------------------------------++module Main where++import Network.URI+ ( URI(..), URIAuth(..)+ , nullURI+ , parseURI, parseURIReference, parseRelativeReference, parseAbsoluteURI+ , parseAbsoluteURI+ , isURI, isURIReference, isRelativeReference, isAbsoluteURI+ , uriIsAbsolute, uriIsRelative+ , relativeTo, nonStrictRelativeTo+ , relativeFrom+ , uriToString+ , isUnescapedInURIComponent+ , isUnescapedInURI, escapeURIString, unEscapeString+ , normalizeCase, normalizeEscape, normalizePathSegments+ )++import Test.HUnit++import Data.Maybe (fromJust)+import System.IO (openFile, IOMode(WriteMode), hClose)+import qualified Test.Framework as TF+import qualified Test.Framework.Providers.HUnit as TF+import qualified Test.Framework.Providers.QuickCheck2 as TF++-- Test supplied string for valid URI reference syntax+-- isValidURIRef :: String -> Bool+-- Test supplied string for valid absolute URI reference syntax+-- isAbsoluteURIRef :: String -> Bool+-- Test supplied string for valid absolute URI syntax+-- isAbsoluteURI :: String -> Bool++data URIType = AbsId -- URI form (absolute, no fragment)+ | AbsRf -- Absolute URI reference+ | RelRf -- Relative URI reference+ | InvRf -- Invalid URI reference+isValidT :: URIType -> Bool+isValidT InvRf = False+isValidT _ = True++isAbsRfT :: URIType -> Bool+isAbsRfT AbsId = True+isAbsRfT AbsRf = True+isAbsRfT _ = False++isRelRfT :: URIType -> Bool+isRelRfT RelRf = True+isRelRfT _ = False++isAbsIdT :: URIType -> Bool+isAbsIdT AbsId = True+isAbsIdT _ = False++testEq :: (Eq a, Show a) => String -> a -> a -> Assertion+testEq lab a1 a2 = assertEqual lab a1 a2++testURIRef :: URIType -> String -> Assertion+testURIRef t u = sequence_+ [ testEq ("test_isURIReference:"++u) (isValidT t) (isURIReference u)+ , testEq ("test_isRelativeReference:"++u) (isRelRfT t) (isRelativeReference u)+ , testEq ("test_isAbsoluteURI:"++u) (isAbsIdT t) (isAbsoluteURI u)+ ]++testURIRefComponents :: String -> (Maybe URI) -> String -> Assertion+testURIRefComponents _lab uv us =+ testEq ("testURIRefComponents:"++us) uv (parseURIReference us)+++testURIRef001 = testURIRef AbsRf "http://example.org/aaa/bbb#ccc"+testURIRef002 = testURIRef AbsId "mailto:local@domain.org"+testURIRef003 = testURIRef AbsRf "mailto:local@domain.org#frag"+testURIRef004 = testURIRef AbsRf "HTTP://EXAMPLE.ORG/AAA/BBB#CCC"+testURIRef005 = testURIRef RelRf "//example.org/aaa/bbb#ccc"+testURIRef006 = testURIRef RelRf "/aaa/bbb#ccc"+testURIRef007 = testURIRef RelRf "bbb#ccc"+testURIRef008 = testURIRef RelRf "#ccc"+testURIRef009 = testURIRef RelRf "#"+testURIRef010 = testURIRef RelRf "/"+-- escapes+testURIRef011 = testURIRef AbsRf "http://example.org/aaa%2fbbb#ccc"+testURIRef012 = testURIRef AbsRf "http://example.org/aaa%2Fbbb#ccc"+testURIRef013 = testURIRef RelRf "%2F"+testURIRef014 = testURIRef RelRf "aaa%2Fbbb"+-- ports+testURIRef015 = testURIRef AbsRf "http://example.org:80/aaa/bbb#ccc"+testURIRef016 = testURIRef AbsRf "http://example.org:/aaa/bbb#ccc"+testURIRef017 = testURIRef AbsRf "http://example.org./aaa/bbb#ccc"+testURIRef018 = testURIRef AbsRf "http://example.123./aaa/bbb#ccc"+-- bare authority+testURIRef019 = testURIRef AbsId "http://example.org"+-- IPv6 literals (from RFC2732):+testURIRef021 = testURIRef AbsId "http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html"+testURIRef022 = testURIRef AbsId "http://[1080:0:0:0:8:800:200C:417A]/index.html"+testURIRef023 = testURIRef AbsId "http://[3ffe:2a00:100:7031::1]"+testURIRef024 = testURIRef AbsId "http://[1080::8:800:200C:417A]/foo"+testURIRef025 = testURIRef AbsId "http://[::192.9.5.5]/ipng"+testURIRef026 = testURIRef AbsId "http://[::FFFF:129.144.52.38]:80/index.html"+testURIRef027 = testURIRef AbsId "http://[2010:836B:4179::836B:4179]"+testURIRef028 = testURIRef RelRf "//[2010:836B:4179::836B:4179]"+testURIRef029 = testURIRef InvRf "[2010:836B:4179::836B:4179]"+-- RFC2396 test cases+testURIRef031 = testURIRef RelRf "./aaa"+testURIRef032 = testURIRef RelRf "../aaa"+testURIRef033 = testURIRef AbsId "g:h"+testURIRef034 = testURIRef RelRf "g"+testURIRef035 = testURIRef RelRf "./g"+testURIRef036 = testURIRef RelRf "g/"+testURIRef037 = testURIRef RelRf "/g"+testURIRef038 = testURIRef RelRf "//g"+testURIRef039 = testURIRef RelRf "?y"+testURIRef040 = testURIRef RelRf "g?y"+testURIRef041 = testURIRef RelRf "#s"+testURIRef042 = testURIRef RelRf "g#s"+testURIRef043 = testURIRef RelRf "g?y#s"+testURIRef044 = testURIRef RelRf ";x"+testURIRef045 = testURIRef RelRf "g;x"+testURIRef046 = testURIRef RelRf "g;x?y#s"+testURIRef047 = testURIRef RelRf "."+testURIRef048 = testURIRef RelRf "./"+testURIRef049 = testURIRef RelRf ".."+testURIRef050 = testURIRef RelRf "../"+testURIRef051 = testURIRef RelRf "../g"+testURIRef052 = testURIRef RelRf "../.."+testURIRef053 = testURIRef RelRf "../../"+testURIRef054 = testURIRef RelRf "../../g"+testURIRef055 = testURIRef RelRf "../../../g"+testURIRef056 = testURIRef RelRf "../../../../g"+testURIRef057 = testURIRef RelRf "/./g"+testURIRef058 = testURIRef RelRf "/../g"+testURIRef059 = testURIRef RelRf "g."+testURIRef060 = testURIRef RelRf ".g"+testURIRef061 = testURIRef RelRf "g.."+testURIRef062 = testURIRef RelRf "..g"+testURIRef063 = testURIRef RelRf "./../g"+testURIRef064 = testURIRef RelRf "./g/."+testURIRef065 = testURIRef RelRf "g/./h"+testURIRef066 = testURIRef RelRf "g/../h"+testURIRef067 = testURIRef RelRf "g;x=1/./y"+testURIRef068 = testURIRef RelRf "g;x=1/../y"+testURIRef069 = testURIRef RelRf "g?y/./x"+testURIRef070 = testURIRef RelRf "g?y/../x"+testURIRef071 = testURIRef RelRf "g#s/./x"+testURIRef072 = testURIRef RelRf "g#s/../x"+testURIRef073 = testURIRef RelRf ""+testURIRef074 = testURIRef RelRf "A'C"+testURIRef075 = testURIRef RelRf "A$C"+testURIRef076 = testURIRef RelRf "A@C"+testURIRef077 = testURIRef RelRf "A,C"+-- Invalid+testURIRef080 = testURIRef InvRf "http://foo.org:80Path/More"+testURIRef081 = testURIRef InvRf "::"+testURIRef082 = testURIRef InvRf " "+testURIRef083 = testURIRef InvRf "%"+testURIRef084 = testURIRef InvRf "A%Z"+testURIRef085 = testURIRef InvRf "%ZZ"+testURIRef086 = testURIRef InvRf "%AZ"+testURIRef087 = testURIRef InvRf "A C"+-- testURIRef088 = -- (case removed)+-- testURIRef089 = -- (case removed)+testURIRef090 = testURIRef InvRf "A\"C"+testURIRef091 = testURIRef InvRf "A`C"+testURIRef092 = testURIRef InvRf "A<C"+testURIRef093 = testURIRef InvRf "A>C"+testURIRef094 = testURIRef InvRf "A^C"+testURIRef095 = testURIRef InvRf "A\\C"+testURIRef096 = testURIRef InvRf "A{C"+testURIRef097 = testURIRef InvRf "A|C"+testURIRef098 = testURIRef InvRf "A}C"+-- From RFC2396:+-- rel_segment = 1*( unreserved | escaped |+-- ";" | "@" | "&" | "=" | "+" | "$" | "," )+-- unreserved = alphanum | mark+-- mark = "-" | "_" | "." | "!" | "~" | "*" | "'" |+-- "(" | ")"+-- Note RFC 2732 allows '[', ']' ONLY for reserved purpose of IPv6 literals,+-- or does it?+testURIRef101 = testURIRef InvRf "A[C"+testURIRef102 = testURIRef InvRf "A]C"+testURIRef103 = testURIRef InvRf "A[**]C"+testURIRef104 = testURIRef InvRf "http://[xyz]/"+testURIRef105 = testURIRef InvRf "http://]/"+testURIRef106 = testURIRef InvRf "http://example.org/[2010:836B:4179::836B:4179]"+testURIRef107 = testURIRef InvRf "http://example.org/abc#[2010:836B:4179::836B:4179]"+testURIRef108 = testURIRef InvRf "http://example.org/xxx/[qwerty]#a[b]"+-- Random other things that crop up+testURIRef111 = testURIRef AbsRf "http://example/Andrȷ"+testURIRef112 = testURIRef AbsId "file:///C:/DEV/Haskell/lib/HXmlToolbox-3.01/examples/"+testURIRef113 = testURIRef AbsId "http://46229EFFE16A9BD60B9F1BE88B2DB047ADDED785/demo.mp3"+testURIRef114 = testURIRef InvRf "http://example.org/xxx/qwerty#a#b"+testURIRef115 = testURIRef InvRf "dcp.tcp.pft://192.168.0.1:1002:3002?fec=1&crc=0"+testURIRef116 = testURIRef AbsId "dcp.tcp.pft://192.168.0.1:1002?fec=1&crc=0"+testURIRef117 = testURIRef AbsId "foo://"+-- URIs prefixed with IPv4 addresses+testURIRef118 = testURIRef AbsId "http://192.168.0.1.example.com/"+testURIRef119 = testURIRef AbsId "http://192.168.0.1.example.com./"+-- URI prefixed with 3 octets of an IPv4 address and a subdomain part with a leading digit.+testURIRef120 = testURIRef AbsId "http://192.168.0.1test.example.com/"+-- URI with IPv(future) address+testURIRef121 = testURIRef AbsId "http://[v9.123.abc;456.def]/"+testURIRef122 = testEq "v.future authority" + (Just (URIAuth "" "[v9.123.abc;456.def]" ":42"))+ ((maybe Nothing uriAuthority) . parseURI $ "http://[v9.123.abc;456.def]:42/") +-- URI with non-ASCII characters, fail with Network.HTTP escaping code (see below)+-- Currently not supported by Network.URI, but captured here for possible future reference+-- when IRI support may be added.+testURIRef123 = testURIRef AbsId "http://example.com/test123/䡥汬漬⁗潲汤/index.html"+testURIRef124 = testURIRef AbsId "http://example.com/test124/Москва/index.html"++-- From report by Alexander Ivanov:+-- should return " 䡥汬漬⁗潲汤", but returns "Hello, World" instead+-- print $ urlDecode $ urlEncode " 䡥汬漬⁗潲汤"+-- should return "Москва"+-- print $ urlDecode $ urlEncode "Москва"++testURIRefSuite = TF.testGroup "Test URIrefs" testURIRefList+testURIRefList =+ [ TF.testCase "testURIRef001" testURIRef001+ , TF.testCase "testURIRef002" testURIRef002+ , TF.testCase "testURIRef003" testURIRef003+ , TF.testCase "testURIRef004" testURIRef004+ , TF.testCase "testURIRef005" testURIRef005+ , TF.testCase "testURIRef006" testURIRef006+ , TF.testCase "testURIRef007" testURIRef007+ , TF.testCase "testURIRef008" testURIRef008+ , TF.testCase "testURIRef009" testURIRef009+ , TF.testCase "testURIRef010" testURIRef010+ --+ , TF.testCase "testURIRef011" testURIRef011+ , TF.testCase "testURIRef012" testURIRef012+ , TF.testCase "testURIRef013" testURIRef013+ , TF.testCase "testURIRef014" testURIRef014+ , TF.testCase "testURIRef015" testURIRef015+ , TF.testCase "testURIRef016" testURIRef016+ , TF.testCase "testURIRef017" testURIRef017+ , TF.testCase "testURIRef018" testURIRef018+ --+ , TF.testCase "testURIRef019" testURIRef019+ --+ , TF.testCase "testURIRef021" testURIRef021+ , TF.testCase "testURIRef022" testURIRef022+ , TF.testCase "testURIRef023" testURIRef023+ , TF.testCase "testURIRef024" testURIRef024+ , TF.testCase "testURIRef025" testURIRef025+ , TF.testCase "testURIRef026" testURIRef026+ , TF.testCase "testURIRef027" testURIRef027+ , TF.testCase "testURIRef028" testURIRef028+ , TF.testCase "testURIRef029" testURIRef029+ --+ , TF.testCase "testURIRef031" testURIRef031+ , TF.testCase "testURIRef032" testURIRef032+ , TF.testCase "testURIRef033" testURIRef033+ , TF.testCase "testURIRef034" testURIRef034+ , TF.testCase "testURIRef035" testURIRef035+ , TF.testCase "testURIRef036" testURIRef036+ , TF.testCase "testURIRef037" testURIRef037+ , TF.testCase "testURIRef038" testURIRef038+ , TF.testCase "testURIRef039" testURIRef039+ , TF.testCase "testURIRef040" testURIRef040+ , TF.testCase "testURIRef041" testURIRef041+ , TF.testCase "testURIRef042" testURIRef042+ , TF.testCase "testURIRef043" testURIRef043+ , TF.testCase "testURIRef044" testURIRef044+ , TF.testCase "testURIRef045" testURIRef045+ , TF.testCase "testURIRef046" testURIRef046+ , TF.testCase "testURIRef047" testURIRef047+ , TF.testCase "testURIRef048" testURIRef048+ , TF.testCase "testURIRef049" testURIRef049+ , TF.testCase "testURIRef050" testURIRef050+ , TF.testCase "testURIRef051" testURIRef051+ , TF.testCase "testURIRef052" testURIRef052+ , TF.testCase "testURIRef053" testURIRef053+ , TF.testCase "testURIRef054" testURIRef054+ , TF.testCase "testURIRef055" testURIRef055+ , TF.testCase "testURIRef056" testURIRef056+ , TF.testCase "testURIRef057" testURIRef057+ , TF.testCase "testURIRef058" testURIRef058+ , TF.testCase "testURIRef059" testURIRef059+ , TF.testCase "testURIRef060" testURIRef060+ , TF.testCase "testURIRef061" testURIRef061+ , TF.testCase "testURIRef062" testURIRef062+ , TF.testCase "testURIRef063" testURIRef063+ , TF.testCase "testURIRef064" testURIRef064+ , TF.testCase "testURIRef065" testURIRef065+ , TF.testCase "testURIRef066" testURIRef066+ , TF.testCase "testURIRef067" testURIRef067+ , TF.testCase "testURIRef068" testURIRef068+ , TF.testCase "testURIRef069" testURIRef069+ , TF.testCase "testURIRef070" testURIRef070+ , TF.testCase "testURIRef071" testURIRef071+ , TF.testCase "testURIRef072" testURIRef072+ , TF.testCase "testURIRef073" testURIRef073+ , TF.testCase "testURIRef074" testURIRef074+ , TF.testCase "testURIRef075" testURIRef075+ , TF.testCase "testURIRef076" testURIRef076+ , TF.testCase "testURIRef077" testURIRef077+ --+ , TF.testCase "testURIRef080" testURIRef080+ , TF.testCase "testURIRef081" testURIRef081+ , TF.testCase "testURIRef082" testURIRef082+ , TF.testCase "testURIRef083" testURIRef083+ , TF.testCase "testURIRef084" testURIRef084+ , TF.testCase "testURIRef085" testURIRef085+ , TF.testCase "testURIRef086" testURIRef086+ , TF.testCase "testURIRef087" testURIRef087+ -- testURIRef088,+ -- testURIRef089,+ , TF.testCase "testURIRef090" testURIRef090+ , TF.testCase "testURIRef091" testURIRef091+ , TF.testCase "testURIRef092" testURIRef092+ , TF.testCase "testURIRef093" testURIRef093+ , TF.testCase "testURIRef094" testURIRef094+ , TF.testCase "testURIRef095" testURIRef095+ , TF.testCase "testURIRef096" testURIRef096+ , TF.testCase "testURIRef097" testURIRef097+ , TF.testCase "testURIRef098" testURIRef098+ -- testURIRef099,+ --+ , TF.testCase "testURIRef101" testURIRef101+ , TF.testCase "testURIRef102" testURIRef102+ , TF.testCase "testURIRef103" testURIRef103+ , TF.testCase "testURIRef104" testURIRef104+ , TF.testCase "testURIRef105" testURIRef105+ , TF.testCase "testURIRef106" testURIRef106+ , TF.testCase "testURIRef107" testURIRef107+ , TF.testCase "testURIRef108" testURIRef108+ --+ , TF.testCase "testURIRef111" testURIRef111+ , TF.testCase "testURIRef112" testURIRef112+ , TF.testCase "testURIRef113" testURIRef113+ , TF.testCase "testURIRef114" testURIRef114+ , TF.testCase "testURIRef115" testURIRef115+ , TF.testCase "testURIRef116" testURIRef116+ , TF.testCase "testURIRef117" testURIRef117+ --+ , TF.testCase "testURIRef118" testURIRef118+ , TF.testCase "testURIRef119" testURIRef119+ , TF.testCase "testURIRef120" testURIRef120+ --+ , TF.testCase "testURIRef121" testURIRef121+ , TF.testCase "testURIRef122" testURIRef122+ -- IRI test cases not currently supported+ -- , TF.testCase "testURIRef123" testURIRef123+ -- , TF.testCase "testURIRef124" testURIRef124+ ]++-- test decomposition of URI into components+testComponent01 = testURIRefComponents "testComponent01"+ ( Just $ URI+ { uriScheme = "http:"+ , uriAuthority = Just (URIAuth "user:pass@" "example.org" ":99")+ , uriPath = "/aaa/bbb"+ , uriQuery = "?qqq"+ , uriFragment = "#fff"+ } )+ "http://user:pass@example.org:99/aaa/bbb?qqq#fff"+testComponent02 = testURIRefComponents "testComponent02"+ ( const Nothing+ ( Just $ URI+ { uriScheme = "http:"+ , uriAuthority = Just (URIAuth "user:pass@" "example.org" ":99")+ , uriPath = "aaa/bbb"+ , uriQuery = ""+ , uriFragment = ""+ } )+ )+ "http://user:pass@example.org:99aaa/bbb"+testComponent03 = testURIRefComponents "testComponent03"+ ( Just $ URI+ { uriScheme = "http:"+ , uriAuthority = Just (URIAuth "user:pass@" "example.org" ":99")+ , uriPath = ""+ , uriQuery = "?aaa/bbb"+ , uriFragment = ""+ } )+ "http://user:pass@example.org:99?aaa/bbb"+testComponent04 = testURIRefComponents "testComponent03"+ ( Just $ URI+ { uriScheme = "http:"+ , uriAuthority = Just (URIAuth "user:pass@" "example.org" ":99")+ , uriPath = ""+ , uriQuery = ""+ , uriFragment = "#aaa/bbb"+ } )+ "http://user:pass@example.org:99#aaa/bbb"+-- These test cases contributed by Robert Buck (mathworks.com)+testComponent11 = testURIRefComponents "testComponent03"+ ( Just $ URI+ { uriScheme = "about:"+ , uriAuthority = Nothing+ , uriPath = ""+ , uriQuery = ""+ , uriFragment = ""+ } )+ "about:"+testComponent12 = testURIRefComponents "testComponent03"+ ( Just $ URI+ { uriScheme = "file:"+ , uriAuthority = Just (URIAuth "" "windowsauth" "")+ , uriPath = "/d$"+ , uriQuery = ""+ , uriFragment = ""+ } )+ "file://windowsauth/d$"++testComponentSuite = TF.testGroup "Test URIrefs" $+ [ TF.testCase "testComponent01" testComponent01+ , TF.testCase "testComponent02" testComponent02+ , TF.testCase "testComponent03" testComponent03+ , TF.testCase "testComponent04" testComponent04+ , TF.testCase "testComponent11" testComponent11+ , TF.testCase "testComponent12" testComponent12+ ]++-- Get reference relative to given base+-- relativeRef :: String -> String -> String+--+-- Get absolute URI given base and relative reference+-- absoluteURI :: String -> String -> String+--+-- Test cases taken from: http://www.w3.org/2000/10/swap/uripath.py+-- (Thanks, Dan Connolly)+--+-- NOTE: absoluteURI base (relativeRef base u) is always equivalent to u.+-- cf. http://lists.w3.org/Archives/Public/uri/2003Jan/0008.html++testRelSplit :: String -> String -> String -> String -> Assertion+testRelSplit label base uabs urel =+ testEq label urel (mkrel puabs pubas)+ where+ mkrel (Just u1) (Just u2) = show (u1 `relativeFrom` u2)+ mkrel Nothing _ = "Invalid URI: "++urel+ mkrel _ Nothing = "Invalid URI: "++uabs+ puabs = parseURIReference uabs+ pubas = parseURIReference base++testRelJoin :: String -> String -> String -> String -> Assertion+testRelJoin label base urel uabs =+ testEq label uabs (mkabs purel pubas)+ where+ mkabs (Just u1) (Just u2) = show (u1 `relativeTo` u2)+ mkabs Nothing _ = "Invalid URI: "++urel+ mkabs _ Nothing = "Invalid URI: "++uabs+ purel = parseURIReference urel+ pubas = parseURIReference base++testRelative :: String -> String -> String -> String -> Assertion+testRelative label base uabs urel = sequence_+ [+ (testRelSplit (label++"(rel)") base uabs urel),+ (testRelJoin (label++"(abs)") base urel uabs)+ ]++testRelative01 = testRelative "testRelative01"+ "foo:xyz" "bar:abc" "bar:abc"+testRelative02 = testRelative "testRelative02"+ "http://example/x/y/z" "http://example/x/abc" "../abc"+testRelative03 = testRelative "testRelative03"+ "http://example2/x/y/z" "http://example/x/abc" "//example/x/abc"+ -- "http://example2/x/y/z" "http://example/x/abc" "http://example/x/abc"+testRelative04 = testRelative "testRelative04"+ "http://ex/x/y/z" "http://ex/x/r" "../r"+testRelative05 = testRelative "testRelative05"+ "http://ex/x/y/z" "http://ex/r" "/r"+ -- "http://ex/x/y/z" "http://ex/r" "../../r"+testRelative06 = testRelative "testRelative06"+ "http://ex/x/y/z" "http://ex/x/y/q/r" "q/r"+testRelative07 = testRelative "testRelative07"+ "http://ex/x/y" "http://ex/x/q/r#s" "q/r#s"+testRelative08 = testRelative "testRelative08"+ "http://ex/x/y" "http://ex/x/q/r#s/t" "q/r#s/t"+testRelative09 = testRelative "testRelative09"+ "http://ex/x/y" "ftp://ex/x/q/r" "ftp://ex/x/q/r"+testRelative10 = testRelative "testRelative10"+ -- "http://ex/x/y" "http://ex/x/y" "y"+ "http://ex/x/y" "http://ex/x/y" ""+testRelative11 = testRelative "testRelative11"+ -- "http://ex/x/y/" "http://ex/x/y/" "./"+ "http://ex/x/y/" "http://ex/x/y/" ""+testRelative12 = testRelative "testRelative12"+ -- "http://ex/x/y/pdq" "http://ex/x/y/pdq" "pdq"+ "http://ex/x/y/pdq" "http://ex/x/y/pdq" ""+testRelative13 = testRelative "testRelative13"+ "http://ex/x/y/" "http://ex/x/y/z/" "z/"+testRelative14 = testRelative "testRelative14"+ -- "file:/swap/test/animal.rdf" "file:/swap/test/animal.rdf#Animal" "animal.rdf#Animal"+ "file:/swap/test/animal.rdf" "file:/swap/test/animal.rdf#Animal" "#Animal"+testRelative15 = testRelative "testRelative15"+ "file:/e/x/y/z" "file:/e/x/abc" "../abc"+testRelative16 = testRelative "testRelative16"+ "file:/example2/x/y/z" "file:/example/x/abc" "/example/x/abc"+testRelative17 = testRelative "testRelative17"+ "file:/ex/x/y/z" "file:/ex/x/r" "../r"+testRelative18 = testRelative "testRelative18"+ "file:/ex/x/y/z" "file:/r" "/r"+testRelative19 = testRelative "testRelative19"+ "file:/ex/x/y" "file:/ex/x/q/r" "q/r"+testRelative20 = testRelative "testRelative20"+ "file:/ex/x/y" "file:/ex/x/q/r#s" "q/r#s"+testRelative21 = testRelative "testRelative21"+ "file:/ex/x/y" "file:/ex/x/q/r#" "q/r#"+testRelative22 = testRelative "testRelative22"+ "file:/ex/x/y" "file:/ex/x/q/r#s/t" "q/r#s/t"+testRelative23 = testRelative "testRelative23"+ "file:/ex/x/y" "ftp://ex/x/q/r" "ftp://ex/x/q/r"+testRelative24 = testRelative "testRelative24"+ -- "file:/ex/x/y" "file:/ex/x/y" "y"+ "file:/ex/x/y" "file:/ex/x/y" ""+testRelative25 = testRelative "testRelative25"+ -- "file:/ex/x/y/" "file:/ex/x/y/" "./"+ "file:/ex/x/y/" "file:/ex/x/y/" ""+testRelative26 = testRelative "testRelative26"+ -- "file:/ex/x/y/pdq" "file:/ex/x/y/pdq" "pdq"+ "file:/ex/x/y/pdq" "file:/ex/x/y/pdq" ""+testRelative27 = testRelative "testRelative27"+ "file:/ex/x/y/" "file:/ex/x/y/z/" "z/"+testRelative28 = testRelative "testRelative28"+ "file:/devel/WWW/2000/10/swap/test/reluri-1.n3"+ "file://meetings.example.com/cal#m1" "//meetings.example.com/cal#m1"+ -- "file:/devel/WWW/2000/10/swap/test/reluri-1.n3"+ -- "file://meetings.example.com/cal#m1" "file://meetings.example.com/cal#m1"+testRelative29 = testRelative "testRelative29"+ "file:/home/connolly/w3ccvs/WWW/2000/10/swap/test/reluri-1.n3"+ "file://meetings.example.com/cal#m1" "//meetings.example.com/cal#m1"+ -- "file:/home/connolly/w3ccvs/WWW/2000/10/swap/test/reluri-1.n3"+ -- "file://meetings.example.com/cal#m1" "file://meetings.example.com/cal#m1"+testRelative30 = testRelative "testRelative30"+ "file:/some/dir/foo" "file:/some/dir/#blort" "./#blort"+testRelative31 = testRelative "testRelative31"+ "file:/some/dir/foo" "file:/some/dir/#" "./#"+testRelative32 = testRelative "testRelative32"+ "http://ex/x/y" "http://ex/x/q:r" "./q:r"+ -- see RFC2396bis, section 5 ^^+testRelative33 = testRelative "testRelative33"+ "http://ex/x/y" "http://ex/x/p=q:r" "./p=q:r"+ -- "http://ex/x/y" "http://ex/x/p=q:r" "p=q:r"+testRelative34 = testRelative "testRelative34"+ "http://ex/x/y?pp/qq" "http://ex/x/y?pp/rr" "?pp/rr"+testRelative35 = testRelative "testRelative35"+ "http://ex/x/y?pp/qq" "http://ex/x/y/z" "y/z"+testRelative36 = testRelative "testRelative36"+ "mailto:local"+ "mailto:local/qual@domain.org#frag"+ "local/qual@domain.org#frag"+testRelative37 = testRelative "testRelative37"+ "mailto:local/qual1@domain1.org"+ "mailto:local/more/qual2@domain2.org#frag"+ "more/qual2@domain2.org#frag"+testRelative38 = testRelative "testRelative38"+ "http://ex/x/z?q" "http://ex/x/y?q" "y?q"+testRelative39 = testRelative "testRelative39"+ "http://ex?p" "http://ex/x/y?q" "/x/y?q"+testRelative40 = testRelative "testRelative40"+ "foo:a/b" "foo:a/c/d" "c/d"+testRelative41 = testRelative "testRelative41"+ "foo:a/b" "foo:/c/d" "/c/d"+testRelative42 = testRelative "testRelative42"+ "foo:a/b?c#d" "foo:a/b?c" ""+testRelative43 = testRelative "testRelative42"+ "foo:a" "foo:b/c" "b/c"+testRelative44 = testRelative "testRelative44"+ "foo:/a/y/z" "foo:/a/b/c" "../b/c"+testRelative45 = testRelJoin "testRelative45"+ "foo:a" "./b/c" "foo:b/c"+testRelative46 = testRelJoin "testRelative46"+ "foo:a" "/./b/c" "foo:/b/c"+testRelative47 = testRelJoin "testRelative47"+ "foo://a//b/c" "../../d" "foo://a/d"+testRelative48 = testRelJoin "testRelative48"+ "foo:a" "." "foo:"+testRelative49 = testRelJoin "testRelative49"+ "foo:a" ".." "foo:"++-- add escape tests+testRelative50 = testRelative "testRelative50"+ "http://example/x/y%2Fz" "http://example/x/abc" "abc"+testRelative51 = testRelative "testRelative51"+ "http://example/a/x/y/z" "http://example/a/x%2Fabc" "../../x%2Fabc"+testRelative52 = testRelative "testRelative52"+ "http://example/a/x/y%2Fz" "http://example/a/x%2Fabc" "../x%2Fabc"+testRelative53 = testRelative "testRelative53"+ "http://example/x%2Fy/z" "http://example/x%2Fy/abc" "abc"+testRelative54 = testRelative "testRelative54"+ "http://ex/x/y" "http://ex/x/q%3Ar" "q%3Ar"+testRelative55 = testRelative "testRelative55"+ "http://example/x/y%2Fz" "http://example/x%2Fabc" "/x%2Fabc"+-- Apparently, TimBL prefers the following way to 41, 42 above+-- cf. http://lists.w3.org/Archives/Public/uri/2003Feb/0028.html+-- He also notes that there may be different relative fuctions+-- that satisfy the basic equivalence axiom:+-- cf. http://lists.w3.org/Archives/Public/uri/2003Jan/0008.html+testRelative56 = testRelative "testRelative56"+ "http://example/x/y/z" "http://example/x%2Fabc" "/x%2Fabc"+testRelative57 = testRelative "testRelative57"+ "http://example/x/y%2Fz" "http://example/x%2Fabc" "/x%2Fabc"++-- Other oddball tests+ -- Check segment normalization code:+testRelative60 = testRelJoin "testRelative60"+ "ftp://example/x/y" "http://example/a/b/../../c" "http://example/c"+testRelative61 = testRelJoin "testRelative61"+ "ftp://example/x/y" "http://example/a/b/c/../../" "http://example/a/"+testRelative62 = testRelJoin "testRelative62"+ "ftp://example/x/y" "http://example/a/b/c/./" "http://example/a/b/c/"+testRelative63 = testRelJoin "testRelative63"+ "ftp://example/x/y" "http://example/a/b/c/.././" "http://example/a/b/"+testRelative64 = testRelJoin "testRelative64"+ "ftp://example/x/y" "http://example/a/b/c/d/../../../../e" "http://example/e"+testRelative65 = testRelJoin "testRelative65"+ "ftp://example/x/y" "http://example/a/b/c/d/../.././../../e" "http://example/e"+ -- Check handling of queries and fragments with non-relative paths+testRelative70 = testRelative "testRelative70"+ "mailto:local1@domain1?query1" "mailto:local2@domain2"+ "local2@domain2"+testRelative71 = testRelative "testRelative71"+ "mailto:local1@domain1" "mailto:local2@domain2?query2"+ "local2@domain2?query2"+testRelative72 = testRelative "testRelative72"+ "mailto:local1@domain1?query1" "mailto:local2@domain2?query2"+ "local2@domain2?query2"+testRelative73 = testRelative "testRelative73"+ "mailto:local@domain?query1" "mailto:local@domain?query2"+ "?query2"+testRelative74 = testRelative "testRelative74"+ "mailto:?query1" "mailto:local@domain?query2"+ "local@domain?query2"+testRelative75 = testRelative "testRelative75"+ "mailto:local@domain?query1" "mailto:local@domain?query2"+ "?query2"+testRelative76 = testRelative "testRelative76"+ "foo:bar" "http://example/a/b?c/../d" "http://example/a/b?c/../d"+testRelative77 = testRelative "testRelative77"+ "foo:bar" "http://example/a/b#c/../d" "http://example/a/b#c/../d"+{- These (78-81) are some awkward test cases thrown up by a question on the URI list:+ http://lists.w3.org/Archives/Public/uri/2005Jul/0013+ Mote that RFC 3986 discards path segents after the final '/' only when merging two+ paths - otherwise the final segment in the base URI is mnaintained. This leads to+ difficulty in constructinmg a reversible relativeTo/relativeFrom pair of functions.+-}+testRelative78 = testRelative "testRelative78"+ "http://www.example.com/data/limit/.." "http://www.example.com/data/limit/test.xml"+ "test.xml"+testRelative79 = testRelative "testRelative79"+ "file:/some/dir/foo" "file:/some/dir/#blort" "./#blort"+testRelative80 = testRelative "testRelative80"+ "file:/some/dir/foo" "file:/some/dir/#" "./#"+testRelative81 = testRelative "testRelative81"+ "file:/some/dir/.." "file:/some/dir/#blort" "./#blort"++-- testRelative base abs rel+-- testRelSplit base abs rel+-- testRelJoin base rel abs+testRelative91 = testRelSplit "testRelative91"+ "http://example.org/base/uri" "http:this"+ "this"+testRelative92 = testRelJoin "testRelative92"+ "http://example.org/base/uri" "http:this"+ "http:this"+testRelative93 = testRelJoin "testRelative93"+ "http:base" "http:this"+ "http:this"+testRelative94 = testRelJoin "testRelative94"+ "f:/a" ".//g"+ "f://g"+testRelative95 = testRelJoin "testRelative95"+ "f://example.org/base/a" "b/c//d/e"+ "f://example.org/base/b/c//d/e"+testRelative96 = testRelJoin "testRelative96"+ "mid:m@example.ord/c@example.org" "m2@example.ord/c2@example.org"+ "mid:m@example.ord/m2@example.ord/c2@example.org"+testRelative97 = testRelJoin "testRelative97"+ "file:///C:/DEV/Haskell/lib/HXmlToolbox-3.01/examples/" "mini1.xml"+ "file:///C:/DEV/Haskell/lib/HXmlToolbox-3.01/examples/mini1.xml"+testRelative98 = testRelative "testRelative98"+ "foo:a/y/z" "foo:a/b/c" "../b/c"+testRelative99 = testRelJoin "testRelative99"+ "f:/a/" "..//g"+ "f://g"+++testRelativeSuite = TF.testGroup "Test Relative URIs" testRelativeList+testRelativeList =+ [ TF.testCase "testRelative01" testRelative01+ , TF.testCase "testRelative02" testRelative02+ , TF.testCase "testRelative03" testRelative03+ , TF.testCase "testRelative04" testRelative04+ , TF.testCase "testRelative05" testRelative05+ , TF.testCase "testRelative06" testRelative06+ , TF.testCase "testRelative07" testRelative07+ , TF.testCase "testRelative08" testRelative08+ , TF.testCase "testRelative09" testRelative09+ , TF.testCase "testRelative10" testRelative10+ , TF.testCase "testRelative11" testRelative11+ , TF.testCase "testRelative12" testRelative12+ , TF.testCase "testRelative13" testRelative13+ , TF.testCase "testRelative14" testRelative14+ , TF.testCase "testRelative15" testRelative15+ , TF.testCase "testRelative16" testRelative16+ , TF.testCase "testRelative17" testRelative17+ , TF.testCase "testRelative18" testRelative18+ , TF.testCase "testRelative19" testRelative19+ , TF.testCase "testRelative20" testRelative20+ , TF.testCase "testRelative21" testRelative21+ , TF.testCase "testRelative22" testRelative22+ , TF.testCase "testRelative23" testRelative23+ , TF.testCase "testRelative24" testRelative24+ , TF.testCase "testRelative25" testRelative25+ , TF.testCase "testRelative26" testRelative26+ , TF.testCase "testRelative27" testRelative27+ , TF.testCase "testRelative28" testRelative28+ , TF.testCase "testRelative29" testRelative29+ , TF.testCase "testRelative30" testRelative30+ , TF.testCase "testRelative31" testRelative31+ , TF.testCase "testRelative32" testRelative32+ , TF.testCase "testRelative33" testRelative33+ , TF.testCase "testRelative34" testRelative34+ , TF.testCase "testRelative35" testRelative35+ , TF.testCase "testRelative36" testRelative36+ , TF.testCase "testRelative37" testRelative37+ , TF.testCase "testRelative38" testRelative38+ , TF.testCase "testRelative39" testRelative39+ , TF.testCase "testRelative40" testRelative40+ , TF.testCase "testRelative41" testRelative41+ , TF.testCase "testRelative42" testRelative42+ , TF.testCase "testRelative43" testRelative43+ , TF.testCase "testRelative44" testRelative44+ , TF.testCase "testRelative45" testRelative45+ , TF.testCase "testRelative46" testRelative46+ , TF.testCase "testRelative47" testRelative47+ , TF.testCase "testRelative48" testRelative48+ , TF.testCase "testRelative49" testRelative49+ --+ , TF.testCase "testRelative50" testRelative50+ , TF.testCase "testRelative51" testRelative51+ , TF.testCase "testRelative52" testRelative52+ , TF.testCase "testRelative53" testRelative53+ , TF.testCase "testRelative54" testRelative54+ , TF.testCase "testRelative55" testRelative55+ , TF.testCase "testRelative56" testRelative56+ , TF.testCase "testRelative57" testRelative57+ --+ , TF.testCase "testRelative60" testRelative60+ , TF.testCase "testRelative61" testRelative61+ , TF.testCase "testRelative62" testRelative62+ , TF.testCase "testRelative63" testRelative63+ , TF.testCase "testRelative64" testRelative64+ , TF.testCase "testRelative65" testRelative65+ --+ , TF.testCase "testRelative70" testRelative70+ , TF.testCase "testRelative71" testRelative71+ , TF.testCase "testRelative72" testRelative72+ , TF.testCase "testRelative73" testRelative73+ , TF.testCase "testRelative74" testRelative74+ , TF.testCase "testRelative75" testRelative75+ , TF.testCase "testRelative76" testRelative76+ , TF.testCase "testRelative77" testRelative77+ -- Awkward cases:+ , TF.testCase "testRelative78" testRelative78+ , TF.testCase "testRelative79" testRelative79+ , TF.testCase "testRelative80" testRelative80+ , TF.testCase "testRelative81" testRelative81+ --+ -- , TF.testCase "testRelative90" testRelative90+ , TF.testCase "testRelative91" testRelative91+ , TF.testCase "testRelative92" testRelative92+ , TF.testCase "testRelative93" testRelative93+ , TF.testCase "testRelative94" testRelative94+ , TF.testCase "testRelative95" testRelative95+ , TF.testCase "testRelative96" testRelative96+ , TF.testCase "testRelative97" testRelative97+ , TF.testCase "testRelative98" testRelative98+ , TF.testCase "testRelative99" testRelative99+ ]++-- RFC2396 relative-to-absolute URI tests++rfcbase = "http://a/b/c/d;p?q"+-- normal cases, RFC2396bis 5.4.1+testRFC01 = testRelJoin "testRFC01" rfcbase "g:h" "g:h"+testRFC02 = testRelJoin "testRFC02" rfcbase "g" "http://a/b/c/g"+testRFC03 = testRelJoin "testRFC03" rfcbase "./g" "http://a/b/c/g"+testRFC04 = testRelJoin "testRFC04" rfcbase "g/" "http://a/b/c/g/"+testRFC05 = testRelJoin "testRFC05" rfcbase "/g" "http://a/g"+testRFC06 = testRelJoin "testRFC06" rfcbase "//g" "http://g"+testRFC07 = testRelJoin "testRFC07" rfcbase "?y" "http://a/b/c/d;p?y"+testRFC08 = testRelJoin "testRFC08" rfcbase "g?y" "http://a/b/c/g?y"+testRFC09 = testRelJoin "testRFC09" rfcbase "?q#s" "http://a/b/c/d;p?q#s"+testRFC23 = testRelJoin "testRFC10" rfcbase "#s" "http://a/b/c/d;p?q#s"+testRFC10 = testRelJoin "testRFC11" rfcbase "g#s" "http://a/b/c/g#s"+testRFC11 = testRelJoin "testRFC12" rfcbase "g?y#s" "http://a/b/c/g?y#s"+testRFC12 = testRelJoin "testRFC13" rfcbase ";x" "http://a/b/c/;x"+testRFC13 = testRelJoin "testRFC14" rfcbase "g;x" "http://a/b/c/g;x"+testRFC14 = testRelJoin "testRFC15" rfcbase "g;x?y#s" "http://a/b/c/g;x?y#s"+testRFC24 = testRelJoin "testRFC16" rfcbase "" "http://a/b/c/d;p?q"+testRFC15 = testRelJoin "testRFC17" rfcbase "." "http://a/b/c/"+testRFC16 = testRelJoin "testRFC18" rfcbase "./" "http://a/b/c/"+testRFC17 = testRelJoin "testRFC19" rfcbase ".." "http://a/b/"+testRFC18 = testRelJoin "testRFC20" rfcbase "../" "http://a/b/"+testRFC19 = testRelJoin "testRFC21" rfcbase "../g" "http://a/b/g"+testRFC20 = testRelJoin "testRFC22" rfcbase "../.." "http://a/"+testRFC21 = testRelJoin "testRFC23" rfcbase "../../" "http://a/"+testRFC22 = testRelJoin "testRFC24" rfcbase "../../g" "http://a/g"+-- abnormal cases, RFC2396bis 5.4.2+testRFC31 = testRelJoin "testRFC31" rfcbase "?q" rfcbase+testRFC32 = testRelJoin "testRFC32" rfcbase "../../../g" "http://a/g"+testRFC33 = testRelJoin "testRFC33" rfcbase "../../../../g" "http://a/g"+testRFC34 = testRelJoin "testRFC34" rfcbase "/./g" "http://a/g"+testRFC35 = testRelJoin "testRFC35" rfcbase "/../g" "http://a/g"+testRFC36 = testRelJoin "testRFC36" rfcbase "g." "http://a/b/c/g."+testRFC37 = testRelJoin "testRFC37" rfcbase ".g" "http://a/b/c/.g"+testRFC38 = testRelJoin "testRFC38" rfcbase "g.." "http://a/b/c/g.."+testRFC39 = testRelJoin "testRFC39" rfcbase "..g" "http://a/b/c/..g"+testRFC40 = testRelJoin "testRFC40" rfcbase "./../g" "http://a/b/g"+testRFC41 = testRelJoin "testRFC41" rfcbase "./g/." "http://a/b/c/g/"+testRFC42 = testRelJoin "testRFC42" rfcbase "g/./h" "http://a/b/c/g/h"+testRFC43 = testRelJoin "testRFC43" rfcbase "g/../h" "http://a/b/c/h"+testRFC44 = testRelJoin "testRFC44" rfcbase "g;x=1/./y" "http://a/b/c/g;x=1/y"+testRFC45 = testRelJoin "testRFC45" rfcbase "g;x=1/../y" "http://a/b/c/y"+testRFC46 = testRelJoin "testRFC46" rfcbase "g?y/./x" "http://a/b/c/g?y/./x"+testRFC47 = testRelJoin "testRFC47" rfcbase "g?y/../x" "http://a/b/c/g?y/../x"+testRFC48 = testRelJoin "testRFC48" rfcbase "g#s/./x" "http://a/b/c/g#s/./x"+testRFC49 = testRelJoin "testRFC49" rfcbase "g#s/../x" "http://a/b/c/g#s/../x"+testRFC50 = testRelJoin "testRFC50" rfcbase "http:x" "http:x"++-- Null path tests+-- See RFC2396bis, section 5.2,+-- "If the base URI's path component is the empty string, then a single+-- slash character is copied to the buffer"+testRFC60 = testRelative "testRFC60" "http://ex" "http://ex/x/y?q" "/x/y?q"+testRFC61 = testRelJoin "testRFC61" "http://ex" "x/y?q" "http://ex/x/y?q"+testRFC62 = testRelative "testRFC62" "http://ex?p" "http://ex/x/y?q" "/x/y?q"+testRFC63 = testRelJoin "testRFC63" "http://ex?p" "x/y?q" "http://ex/x/y?q"+testRFC64 = testRelative "testRFC64" "http://ex#f" "http://ex/x/y?q" "/x/y?q"+testRFC65 = testRelJoin "testRFC65" "http://ex#f" "x/y?q" "http://ex/x/y?q"+testRFC66 = testRelative "testRFC66" "http://ex?p" "http://ex/x/y#g" "/x/y#g"+testRFC67 = testRelJoin "testRFC67" "http://ex?p" "x/y#g" "http://ex/x/y#g"+testRFC68 = testRelative "testRFC68" "http://ex" "http://ex/" "/"+testRFC69 = testRelJoin "testRFC69" "http://ex" "./" "http://ex/"+testRFC70 = testRelative "testRFC70" "http://ex" "http://ex/a/b" "/a/b"+testRFC71 = testRelative "testRFC71" "http://ex/a/b" "http://ex" "./"++testRFC2396Suite = TF.testGroup "Test RFC2396 examples" testRFC2396List+testRFC2396List =+ [ TF.testCase "testRFC01" testRFC01+ , TF.testCase "testRFC02" testRFC02+ , TF.testCase "testRFC03" testRFC03+ , TF.testCase "testRFC04" testRFC04+ , TF.testCase "testRFC05" testRFC05+ , TF.testCase "testRFC06" testRFC06+ , TF.testCase "testRFC07" testRFC07+ , TF.testCase "testRFC08" testRFC08+ , TF.testCase "testRFC09" testRFC09+ , TF.testCase "testRFC10" testRFC10+ , TF.testCase "testRFC11" testRFC11+ , TF.testCase "testRFC12" testRFC12+ , TF.testCase "testRFC13" testRFC13+ , TF.testCase "testRFC14" testRFC14+ , TF.testCase "testRFC15" testRFC15+ , TF.testCase "testRFC16" testRFC16+ , TF.testCase "testRFC17" testRFC17+ , TF.testCase "testRFC18" testRFC18+ , TF.testCase "testRFC19" testRFC19+ , TF.testCase "testRFC20" testRFC20+ , TF.testCase "testRFC21" testRFC21+ , TF.testCase "testRFC22" testRFC22+ , TF.testCase "testRFC23" testRFC23+ , TF.testCase "testRFC24" testRFC24+ -- testRFC30,+ , TF.testCase "testRFC31" testRFC31+ , TF.testCase "testRFC32" testRFC32+ , TF.testCase "testRFC33" testRFC33+ , TF.testCase "testRFC34" testRFC34+ , TF.testCase "testRFC35" testRFC35+ , TF.testCase "testRFC36" testRFC36+ , TF.testCase "testRFC37" testRFC37+ , TF.testCase "testRFC38" testRFC38+ , TF.testCase "testRFC39" testRFC39+ , TF.testCase "testRFC40" testRFC40+ , TF.testCase "testRFC41" testRFC41+ , TF.testCase "testRFC42" testRFC42+ , TF.testCase "testRFC43" testRFC43+ , TF.testCase "testRFC44" testRFC44+ , TF.testCase "testRFC45" testRFC45+ , TF.testCase "testRFC46" testRFC46+ , TF.testCase "testRFC47" testRFC47+ , TF.testCase "testRFC48" testRFC48+ , TF.testCase "testRFC49" testRFC49+ , TF.testCase "testRFC50" testRFC50+ --+ , TF.testCase "testRFC60" testRFC60+ , TF.testCase "testRFC61" testRFC61+ , TF.testCase "testRFC62" testRFC62+ , TF.testCase "testRFC63" testRFC63+ , TF.testCase "testRFC64" testRFC64+ , TF.testCase "testRFC65" testRFC65+ , TF.testCase "testRFC66" testRFC66+ , TF.testCase "testRFC67" testRFC67+ , TF.testCase "testRFC68" testRFC68+ , TF.testCase "testRFC69" testRFC69+ , TF.testCase "testRFC70" testRFC70+ ]++-- And some other oddballs:+mailbase = "mailto:local/option@domain.org?notaquery#frag"+testMail01 = testRelJoin "testMail01"+ mailbase "more@domain"+ "mailto:local/more@domain"+testMail02 = testRelJoin "testMail02"+ mailbase "#newfrag"+ "mailto:local/option@domain.org?notaquery#newfrag"+testMail03 = testRelJoin "testMail03"+ mailbase "l1/q1@domain"+ "mailto:local/l1/q1@domain"++testMail11 = testRelJoin "testMail11"+ "mailto:local1@domain1?query1" "mailto:local2@domain2"+ "mailto:local2@domain2"+testMail12 = testRelJoin "testMail12"+ "mailto:local1@domain1" "mailto:local2@domain2?query2"+ "mailto:local2@domain2?query2"+testMail13 = testRelJoin "testMail13"+ "mailto:local1@domain1?query1" "mailto:local2@domain2?query2"+ "mailto:local2@domain2?query2"+testMail14 = testRelJoin "testMail14"+ "mailto:local@domain?query1" "mailto:local@domain?query2"+ "mailto:local@domain?query2"+testMail15 = testRelJoin "testMail15"+ "mailto:?query1" "mailto:local@domain?query2"+ "mailto:local@domain?query2"+testMail16 = testRelJoin "testMail16"+ "mailto:local@domain?query1" "?query2"+ "mailto:local@domain?query2"+testInfo17 = testRelJoin "testInfo17"+ "info:name/1234/../567" "name/9876/../543"+ "info:name/name/543"+testInfo18 = testRelJoin "testInfo18"+ "info:/name/1234/../567" "name/9876/../543"+ "info:/name/name/543"++testOddballSuite = TF.testGroup "Test oddball examples" testOddballList+testOddballList =+ [ TF.testCase "testMail01" testMail01+ , TF.testCase "testMail02" testMail02+ , TF.testCase "testMail03" testMail03+ , TF.testCase "testMail11" testMail11+ , TF.testCase "testMail12" testMail12+ , TF.testCase "testMail13" testMail13+ , TF.testCase "testMail14" testMail14+ , TF.testCase "testMail15" testMail15+ , TF.testCase "testMail16" testMail16+ , TF.testCase "testInfo17" testInfo17+ ]++-- Normalization tests++-- Case normalization; cf. RFC2396bis section 6.2.2.1+-- NOTE: authority case normalization is not performed+testNormalize01 = testEq "testNormalize01"+ "http://EXAMPLE.com/Root/%2A?%2B#%2C"+ (normalizeCase "HTTP://EXAMPLE.com/Root/%2a?%2b#%2c")++-- Encoding normalization; cf. RFC2396bis section 6.2.2.2+testNormalize11 = testEq "testNormalize11"+ "HTTP://EXAMPLE.com/Root/~Me/"+ (normalizeEscape "HTTP://EXAMPLE.com/Root/%7eMe/")+testNormalize12 = testEq "testNormalize12"+ "foo:%40AZ%5b%60az%7b%2f09%3a-._~"+ (normalizeEscape "foo:%40%41%5a%5b%60%61%7a%7b%2f%30%39%3a%2d%2e%5f%7e")+testNormalize13 = testEq "testNormalize13"+ "foo:%3a%2f%3f%23%5b%5d%40"+ (normalizeEscape "foo:%3a%2f%3f%23%5b%5d%40")++-- Path segment normalization; cf. RFC2396bis section 6.2.2.4+testNormalize21 = testEq "testNormalize21"+ "http://example/c"+ (normalizePathSegments "http://example/a/b/../../c")+testNormalize22 = testEq "testNormalize22"+ "http://example/a/"+ (normalizePathSegments "http://example/a/b/c/../../")+testNormalize23 = testEq "testNormalize23"+ "http://example/a/b/c/"+ (normalizePathSegments "http://example/a/b/c/./")+testNormalize24 = testEq "testNormalize24"+ "http://example/a/b/"+ (normalizePathSegments "http://example/a/b/c/.././")+testNormalize25 = testEq "testNormalize25"+ "http://example/e"+ (normalizePathSegments "http://example/a/b/c/d/../../../../e")+testNormalize26 = testEq "testNormalize26"+ "http://example/e"+ (normalizePathSegments "http://example/a/b/c/d/../.././../../e")+testNormalize27 = testEq "testNormalize27"+ "http://example/e"+ (normalizePathSegments "http://example/a/b/../.././../../e")+testNormalize28 = testEq "testNormalize28"+ "foo:e"+ (normalizePathSegments "foo:a/b/../.././../../e")++testNormalizeSuite = TF.testGroup "testNormalizeSuite"+ [ TF.testCase "testNormalize01" testNormalize01+ , TF.testCase "testNormalize11" testNormalize11+ , TF.testCase "testNormalize12" testNormalize12+ , TF.testCase "testNormalize13" testNormalize13+ , TF.testCase "testNormalize21" testNormalize21+ , TF.testCase "testNormalize22" testNormalize22+ , TF.testCase "testNormalize23" testNormalize23+ , TF.testCase "testNormalize24" testNormalize24+ , TF.testCase "testNormalize25" testNormalize25+ , TF.testCase "testNormalize26" testNormalize26+ , TF.testCase "testNormalize27" testNormalize27+ , TF.testCase "testNormalize28" testNormalize28+ ]++-- URI formatting (show) tests++ts02URI = URI { uriScheme = "http:"+ , uriAuthority = Just (URIAuth "user:pass@" "example.org" ":99")+ , uriPath = "/aaa/bbb"+ , uriQuery = "?ccc"+ , uriFragment = "#ddd/eee"+ }++ts04URI = URI { uriScheme = "http:"+ , uriAuthority = Just (URIAuth "user:anonymous@" "example.org" ":99")+ , uriPath = "/aaa/bbb"+ , uriQuery = "?ccc"+ , uriFragment = "#ddd/eee"+ }++ts02str = "http://user:...@example.org:99/aaa/bbb?ccc#ddd/eee"+ts03str = "http://user:pass@example.org:99/aaa/bbb?ccc#ddd/eee"+ts04str = "http://user:...@example.org:99/aaa/bbb?ccc#ddd/eee"++testShowURI01 = testEq "testShowURI01" "" (show nullURI)+testShowURI02 = testEq "testShowURI02" ts02str (show ts02URI)+testShowURI03 = testEq "testShowURI03" ts03str ((uriToString id ts02URI) "")+testShowURI04 = testEq "testShowURI04" ts04str (show ts04URI)++testShowURI = TF.testGroup "testShowURI"+ [ TF.testCase "testShowURI01" testShowURI01+ , TF.testCase "testShowURI02" testShowURI02+ , TF.testCase "testShowURI03" testShowURI03+ , TF.testCase "testShowURI04" testShowURI04+ ]+++-- URI escaping tests++te01str = "http://example.org/az/09-_/.~:/?#[]@!$&'()*+,;="+te02str = "http://example.org/a</b>/c%/d /e"+te02esc = "http://example.org/a%3C/b%3E/c%25/d%20/e"++testEscapeURIString01 = testEq "testEscapeURIString01"+ te01str (escapeURIString isUnescapedInURI te01str)++testEscapeURIString02 = testEq "testEscapeURIString02"+ te02esc (escapeURIString isUnescapedInURI te02str)++testEscapeURIString03 = testEq "testEscapeURIString03"+ te01str (unEscapeString te01str)++testEscapeURIString04 = testEq "testEscapeURIString04"+ te02str (unEscapeString te02esc)++testEscapeURIString05 = testEq "testEscapeURIString05"+ "http%3A%2F%2Fexample.org%2Faz%2F09-_%2F.~%3A%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D"+ (escapeURIString isUnescapedInURIComponent te01str)++testEscapeURIString06 = testEq "testEscapeURIString06"+ "hello%C3%B8%C2%A9%E6%97%A5%E6%9C%AC"+ (escapeURIString isUnescapedInURIComponent "helloø©日本")++propEscapeUnEscapeLoop :: String -> Bool+propEscapeUnEscapeLoop s = s == (unEscapeString $! escaped)+ where+ escaped = escapeURIString (const False) s+ {-# NOINLINE escaped #-}++testEscapeURIString = TF.testGroup "testEscapeURIString"+ [ TF.testCase "testEscapeURIString01" testEscapeURIString01+ , TF.testCase "testEscapeURIString02" testEscapeURIString02+ , TF.testCase "testEscapeURIString03" testEscapeURIString03+ , TF.testCase "testEscapeURIString04" testEscapeURIString04+ , TF.testCase "testEscapeURIString05" testEscapeURIString05+ , TF.testCase "testEscapeURIString06" testEscapeURIString06+ , TF.testProperty "propEscapeUnEscapeLoop" propEscapeUnEscapeLoop+ ]++-- URI string normalization tests++tn01str = "eXAMPLE://a/b/%7bfoo%7d"+tn01nrm = "example://a/b/%7Bfoo%7D"++tn02str = "example://a/b/%63/"+tn02nrm = "example://a/b/c/"++tn03str = "example://a/./b/../b/c/foo"+tn03nrm = "example://a/b/c/foo"++tn04str = "eXAMPLE://a/b/%7bfoo%7d" -- From RFC2396bis, 6.2.2+tn04nrm = "example://a/b/%7Bfoo%7D"++tn06str = "file:/x/..//y"+tn06nrm = "file://y"++tn07str = "file:x/..//y/"+tn07nrm = "file:/y/"++testNormalizeURIString01 = testEq "testNormalizeURIString01"+ tn01nrm (normalizeCase tn01str)+testNormalizeURIString02 = testEq "testNormalizeURIString02"+ tn02nrm (normalizeEscape tn02str)+testNormalizeURIString03 = testEq "testNormalizeURIString03"+ tn03nrm (normalizePathSegments tn03str)+testNormalizeURIString04 = testEq "testNormalizeURIString04"+ tn04nrm ((normalizeCase . normalizeEscape . normalizePathSegments) tn04str)+testNormalizeURIString05 = testEq "testNormalizeURIString05"+ tn04nrm ((normalizePathSegments . normalizeEscape . normalizeCase) tn04str)+testNormalizeURIString06 = testEq "testNormalizeURIString06"+ tn06nrm (normalizePathSegments tn06str)+testNormalizeURIString07 = testEq "testNormalizeURIString07"+ tn07nrm (normalizePathSegments tn07str)++testNormalizeURIString = TF.testGroup "testNormalizeURIString"+ [ TF.testCase "testNormalizeURIString01" testNormalizeURIString01+ , TF.testCase "testNormalizeURIString02" testNormalizeURIString02+ , TF.testCase "testNormalizeURIString03" testNormalizeURIString03+ , TF.testCase "testNormalizeURIString04" testNormalizeURIString04+ , TF.testCase "testNormalizeURIString05" testNormalizeURIString05+ , TF.testCase "testNormalizeURIString06" testNormalizeURIString06+ , TF.testCase "testNormalizeURIString07" testNormalizeURIString07+ ]++-- Test strict vs non-strict relativeTo logic++trbase = fromJust $ parseURIReference "http://bar.org/"++testRelativeTo01 = testEq "testRelativeTo01"+ "http://bar.org/foo"+ (show $+ (fromJust $ parseURIReference "foo") `relativeTo` trbase)++testRelativeTo02 = testEq "testRelativeTo02"+ "http:foo"+ (show $+ (fromJust $ parseURIReference "http:foo") `relativeTo` trbase)++testRelativeTo03 = testEq "testRelativeTo03"+ "http://bar.org/foo"+ (show $+ (fromJust $ parseURIReference "http:foo") `nonStrictRelativeTo` trbase)++testRelativeTo = TF.testGroup "testRelativeTo"+ [ TF.testCase "testRelativeTo01" testRelativeTo01+ , TF.testCase "testRelativeTo02" testRelativeTo02+ , TF.testCase "testRelativeTo03" testRelativeTo03+ ]++-- Test alternative parsing functions+testAltFn01 = testEq "testAltFn01" "Just http://a.b/c#f"+ (show . parseURI $ "http://a.b/c#f")+testAltFn02 = testEq "testAltFn02" "Just http://a.b/c#f"+ (show . parseURIReference $ "http://a.b/c#f")+testAltFn03 = testEq "testAltFn03" "Just c/d#f"+ (show . parseRelativeReference $ "c/d#f")+testAltFn04 = testEq "testAltFn04" "Nothing"+ (show . parseRelativeReference $ "http://a.b/c#f")+testAltFn05 = testEq "testAltFn05" "Just http://a.b/c"+ (show . parseAbsoluteURI $ "http://a.b/c")+testAltFn06 = testEq "testAltFn06" "Nothing"+ (show . parseAbsoluteURI $ "http://a.b/c#f")+testAltFn07 = testEq "testAltFn07" "Nothing"+ (show . parseAbsoluteURI $ "c/d")+testAltFn08 = testEq "testAltFn08" "Just http://a.b/c"+ (show . parseAbsoluteURI $ "http://a.b/c")++testAltFn11 = testEq "testAltFn11" True (isURI "http://a.b/c#f")+testAltFn12 = testEq "testAltFn12" True (isURIReference "http://a.b/c#f")+testAltFn13 = testEq "testAltFn13" True (isRelativeReference "c/d#f")+testAltFn14 = testEq "testAltFn14" False (isRelativeReference "http://a.b/c#f")+testAltFn15 = testEq "testAltFn15" True (isAbsoluteURI "http://a.b/c")+testAltFn16 = testEq "testAltFn16" False (isAbsoluteURI "http://a.b/c#f")+testAltFn17 = testEq "testAltFn17" False (isAbsoluteURI "c/d")++testAltFn = TF.testGroup "testAltFn"+ [ TF.testCase "testAltFn01" testAltFn01+ , TF.testCase "testAltFn02" testAltFn02+ , TF.testCase "testAltFn03" testAltFn03+ , TF.testCase "testAltFn04" testAltFn04+ , TF.testCase "testAltFn05" testAltFn05+ , TF.testCase "testAltFn06" testAltFn06+ , TF.testCase "testAltFn07" testAltFn07+ , TF.testCase "testAltFn08" testAltFn08+ , TF.testCase "testAltFn11" testAltFn11+ , TF.testCase "testAltFn12" testAltFn12+ , TF.testCase "testAltFn13" testAltFn13+ , TF.testCase "testAltFn14" testAltFn14+ , TF.testCase "testAltFn15" testAltFn15+ , TF.testCase "testAltFn16" testAltFn16+ , TF.testCase "testAltFn17" testAltFn17+ ]++testUriIsAbsolute :: String -> Assertion+testUriIsAbsolute str =+ assertBool str (uriIsAbsolute uri)+ where+ Just uri = parseURIReference str++testUriIsRelative :: String -> Assertion+testUriIsRelative str =+ assertBool str (uriIsRelative uri)+ where+ Just uri = parseURIReference str++testIsAbsolute = TF.testGroup "testIsAbsolute"+ [ TF.testCase "testIsAbsolute01" $ testUriIsAbsolute "http://google.com"+ , TF.testCase "testIsAbsolute02" $ testUriIsAbsolute "ftp://p.x.ca/woo?hai=a"+ , TF.testCase "testIsAbsolute03" $ testUriIsAbsolute "mailto:bob@example.com"+ ]++testIsRelative = TF.testGroup "testIsRelative"+ [ TF.testCase "testIsRelative01" $ testUriIsRelative "//google.com"+ , TF.testCase "testIsRelative02" $ testUriIsRelative "/hello"+ , TF.testCase "testIsRelative03" $ testUriIsRelative "this/is/a/path"+ , TF.testCase "testIsRelative04" $ testUriIsRelative "?what=that"+ ]++-- Full test suite+allTests =+ [ testURIRefSuite+ , testComponentSuite+ , testRelativeSuite+ , testRFC2396Suite+ , testOddballSuite+ , testNormalizeSuite+ , testShowURI+ , testEscapeURIString+ , testNormalizeURIString+ , testRelativeTo+ , testAltFn+ , testIsAbsolute+ , testIsRelative+ ]++main = TF.defaultMain allTests++runTestFile t = do+ h <- openFile "a.tmp" WriteMode+ _ <- runTestText (putTextToHandle h False) t+ hClose h+tf = runTestFile+tt = runTestTT++-- Miscellaneous values for hand-testing/debugging in Hugs:++uref = testURIRefSuite+tr01 = testRelative01+tr02 = testRelative02+tr03 = testRelative03+tr04 = testRelative04+rel = testRelativeSuite+rfc = testRFC2396Suite+oddb = testOddballSuite++(Just bu02) = parseURIReference "http://example/x/y/z"+(Just ou02) = parseURIReference "../abc"+(Just ru02) = parseURIReference "http://example/x/abc"+-- fileuri = testURIReference "file:///C:/DEV/Haskell/lib/HXmlToolbox-3.01/examples/"++cu02 = ou02 `relativeTo` bu02++--------------------------------------------------------------------------------+--+-- Copyright (c) 2004, G. KLYNE. All rights reserved.+-- Distributed as free software under the following license.+--+-- Redistribution and use in source and binary forms, with or without+-- modification, are permitted provided that the following conditions+-- are met:+--+-- - Redistributions of source code must retain the above copyright notice,+-- this list of conditions and the following disclaimer.+--+-- - Redistributions in binary form must reproduce the above copyright+-- notice, this list of conditions and the following disclaimer in the+-- documentation and/or other materials provided with the distribution.+--+-- - Neither name of the copyright holders nor the names of its+-- contributors may be used to endorse or promote products derived from+-- this software without specific prior written permission.+--+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND THE CONTRIBUTORS+-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+-- HOLDERS OR THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,+-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,+-- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS+-- OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND+-- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR+-- TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE+-- USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+--+--------------------------------------------------------------------------------+-- $Source: /srv/cvs/cvs.haskell.org/fptools/libraries/network/tests/URITest.hs,v $+-- $Author: gklyne $+-- $Revision: 1.8 $+-- $Log: URITest.hs,v $+-- Revision 1.81 2012/08/01 aaronfriel+-- Added additional test case for the "xip.io" service style URLs and absolute URLs prefixed with ipv4 addresses.+--+-- Revision 1.8 2005/07/19 22:01:27 gklyne+-- Added some additional test cases raised by discussion on URI@w3.org mailing list about 2005-07-19. The test p[roposed by this discussion exposed a subtle bug in relativeFrom not being an exact inverse of relativeTo.+--+-- Revision 1.7 2005/06/06 16:31:44 gklyne+-- Added two new test cases.+--+-- Revision 1.6 2005/05/31 17:18:36 gklyne+-- Added some additional test cases triggered by URI-list discussions.+--+-- Revision 1.5 2005/04/07 11:09:37 gklyne+-- Added test cases for alternate parsing functions (including deprecated 'parseabsoluteURI')+--+-- Revision 1.4 2005/04/05 12:47:32 gklyne+-- Added test case.+-- Changed module name, now requires GHC -main-is to compile.+-- All tests run OK with GHC 6.4 on MS-Windows.+--+-- Revision 1.3 2004/11/05 17:29:09 gklyne+-- Changed password-obscuring logic to reflect late change in revised URI+-- specification (password "anonymous" is no longer a special case).+-- Updated URI test module to use function 'escapeURIString'.+-- (Should unEscapeString be similarly updated?)+--+-- Revision 1.2 2004/10/27 13:06:55 gklyne+-- Updated URI module function names per:+-- http://www.haskell.org//pipermail/cvs-libraries/2004-October/002916.html+-- Added test cases to give better covereage of module functions.+--+-- Revision 1.1 2004/10/14 16:11:30 gklyne+-- Add URI unit test to cvs.haskell.org repository+--+-- Revision 1.17 2004/10/14 11:51:09 graham+-- Confirm that URITest runs with GHC.+-- Fix up some comments and other minor details.+--+-- Revision 1.16 2004/10/14 11:45:30 graham+-- Use moduke name main for GHC 6.2+--+-- Revision 1.15 2004/08/11 11:07:39 graham+-- Add new test case.+--+-- Revision 1.14 2004/06/30 11:35:27 graham+-- Update URI code to use hierarchical libraries for Parsec and Network.+--+-- Revision 1.13 2004/06/22 16:19:16 graham+-- New URI test case added.+--+-- Revision 1.12 2004/04/21 15:13:29 graham+-- Add test case+--+-- Revision 1.11 2004/04/21 14:54:05 graham+-- Fix up some tests+--+-- Revision 1.10 2004/04/20 14:54:13 graham+-- Fix up test cases related to port number in authority,+-- and add some more URI decomposition tests.+--+-- Revision 1.9 2004/04/07 15:06:17 graham+-- Add extra test case+-- Revise syntax in line with changes to RFC2396bis+--+-- Revision 1.8 2004/03/17 14:34:58 graham+-- Add Network.HTTP files to CVS+--+-- Revision 1.7 2004/03/16 14:19:38 graham+-- Change licence to BSD style; add nullURI definition; new test cases.+--+-- Revision 1.6 2004/02/20 12:12:00 graham+-- Add URI normalization functions+--+-- Revision 1.5 2004/02/19 23:19:35 graham+-- Network.URI module passes all test cases+--+-- Revision 1.4 2004/02/17 20:06:02 graham+-- Revised URI parser to reflect latest RFC2396bis (-04)+--+-- Revision 1.3 2004/02/11 14:32:14 graham+-- Added work-in-progress notes.+--+-- Revision 1.2 2004/02/02 14:00:39 graham+-- Fix optional host name in URI. Add test cases.+--+-- Revision 1.1 2004/01/27 21:13:45 graham+-- New URI module and test suite added,+-- implementing the GHC Network.URI interface.+--
standalone/linux/skel/runshell view
@@ -100,10 +100,6 @@ GCONV_PATH="$base/$(cat "$base/gconvdir")" export GCONV_PATH -# workaround for https://ghc.haskell.org/trac/ghc/ticket/7695-LOCPATH=/dev/null-export LOCPATH- ORIG_GIT_EXEC_PATH="$GIT_EXEC_PATH" export ORIG_GIT_EXEC_PATH GIT_EXEC_PATH="$base/git-core"