Download Latest Version EasyVersionBackup_v1.2.6_Windows_x64.zip (461.1 kB)
Email in envelope

Get an email when there's a new version of EasyVersionBackup

Home
Name Modified Size InfoDownloads / Week
README.md < 11 hours ago 431.7 kB
DISCLAIMER.md < 11 hours ago 296.6 kB
EasyVersionBackup_v1.2.6_Windows_x64.zip < 11 hours ago 461.1 kB
Totals: 3 Items   1.2 MB 0

<html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <style> :root { --fontStack-monospace: "Monaspace Neon", ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace !important; } </style> <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-62b06818b06b09b7.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-f3311053b052c5d4.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-44cd405df9340c5c.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-646991fe4831aa4c.css" /><link data-color-theme="light_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind_high_contrast-4a10ec40fc7845a6.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-ad55fa69f5aaa75d.css" /><link data-color-theme="light_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia_high_contrast-eed7315d90377f7a.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-6739a26cef6aaf8e.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-46654068ac8d8b19.css" /><link data-color-theme="dark_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind_high_contrast-ce6091c5adfeb70f.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-a1584556afb3c856.css" /><link data-color-theme="dark_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia_high_contrast-f48b2521c34c41b6.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-6199d2c64677af2d.css" /><link data-color-theme="dark_dimmed_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed_high_contrast-a8e662a03107fa71.css" /> <style type="text/css"> :root { --tab-size-preference: 4; } pre, code { tab-size: var(--tab-size-preference); } </style> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-8c5d593e65839ff2.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-tailwind-compatible-6feef901abd9cd0d.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-552ef047a6abdb57.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-e4add6599163581a.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/tailwind-4d3e2c2d08219cc9.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-6534fbc3f5e83ac0.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-2e8b2d0c3572ac0b.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["actions_custom_images_storage_billing_ui_visibility","actions_enable_background_steps","actions_image_version_event","actions_workflow_language_service_allow_case_function","actions_workflow_language_service_allow_concurrency_queue","agent_author_search_expansion","agent_author_search_expansion_ui_pulls","agent_conflict_resolution","alternate_user_config_repo","artifact_ui_v2","billing_billable_licenses_cost_center_bucket_fix","billing_cost_center_user_level_budgets","billing_discount_threshold_notification","billing_ui_budget_pagination_enabled","billing_user_level_budgets","billing_user_level_budgets_manage","ccr_implement_suggestion_refresh","code_quality_new_repo_selection_card","code_scanning_dfa_degraded_experience_notice","code_view_checks_live_updates","code_view_raf_sticky_lines","codemirror_inp_optimizations","codespaces_prebuild_region_target_update","codeview_sidebar_combined_payload","coding_agent_model_selection","coding_agent_model_selection_all_skus","coding_agent_third_party_model_ui","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_automation_suggest_tools_enabled","copilot_automations_pagination","copilot_automations_suggested_automations","copilot_chat_attach_multiple_images","copilot_chat_auto_mode_picker_paid","copilot_chat_category_rate_limit_messages","copilot_chat_clear_model_selection_for_default_change","copilot_chat_compact_tables","copilot_chat_contextual_suggestions_updated","copilot_chat_disable_model_picker_while_streaming","copilot_chat_docked_panel","copilot_chat_enable_tool_call_logs","copilot_chat_fix_fallback_auto_discount","copilot_chat_increase_token_padding","copilot_chat_input_commands","copilot_chat_interspersed_tool_calls","copilot_chat_max_upsell","copilot_chat_model_picker_info_popover","copilot_chat_models_browser_cache","copilot_chat_opening_thread_switch","copilot_chat_prettify_pasted_code","copilot_chat_reduce_quota_checks","copilot_chat_vision_dotcom_chat_ga_gate","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cli_install_cta_max_plan","copilot_cloud_agent_always_categorize_models_in_model_picker","copilot_code_view_side_panel","copilot_css_textarea_autosize","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_removal_on_marketplace","copilot_file_block_ref_matching","copilot_fix_failed_workflows","copilot_fix_failed_workflows_all_skus","copilot_ftp_hyperspace_upgrade_prompt","copilot_hide_hovercard","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded_deferred_payload","copilot_immersive_embedded_draggable","copilot_immersive_embedded_header_button","copilot_immersive_embedded_implicit_references","copilot_immersive_embedded_skip_copilot_api_token_for_dotcom_context","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_hide_column_right_without_thread","copilot_immersive_job_result_preview","copilot_immersive_suggestion_pills","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_issue_list_show_more","copilot_mc_cli_resume_any_users_task","copilot_mc_nudges","copilot_mission_control_agent_filtering","copilot_mission_control_always_send_integration_id","copilot_mission_control_environment_list_icons","copilot_mission_control_initial_data_spinner","copilot_mission_control_needs_attention","copilot_mission_control_sandbox_remote_bypass","copilot_mission_control_session_events_ui","copilot_mission_control_session_filters","copilot_mission_control_task_alive_updates","copilot_mission_control_task_sharing","copilot_org_policy_page_focus_mode","copilot_plans_signups_enabled","copilot_pr_chat_enhancements","copilot_premium_request_quotas","copilot_prominent_upgrade_button","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_authorization_status_ui","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_pull_request_merged_trigger","copilot_swe_agent_pull_request_opened_trigger","copilot_swe_agent_pull_request_synchronize_trigger","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_token_based_billing","copilot_unconfigured_is_inherited","copilot_user_can_upgrade_plan_field","copilot_workbench_ubb","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_surface_needs_action_ci_running","dashboard_surface_persistent_preferences","dashboard_surface_remember_empty_sections","dashboard_universe_2025","dashboard_universe_2025_feedback_dialog","fgpat_permissions_selector_redesign","flex_cta_groups_mvp","flex_suite_overview","ga_enterprise_teams_ui","github_models_scheduled_hydro_events","global_nav_react","global_nav_responsive_create_menu","hide_groups_list_for_few_groups","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","in_product_messaging_datadog_monitoring","ipm_budget_deep_linking","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_visualization","issue_fields_global_search","issue_fields_index_pills","issue_inline_avatars","issue_pinned_views","issue_pinned_views_preheat_sidebar_links","issue_relative_time_micro","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_chrome_container_query_fix","issues_react_include_bots_in_pickers","issues_react_ui_feedback","issues_suggestion_author","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","memex_roadmap_drag_style","merge_status_header_feedback","oauth_authorize_clickjacking_protection","octocaptcha_origin_optimization","pacer_layout_hide_sso_banner","pr_sfv_new_diff_fetch","primer_react_css_anchor_positioning","property_definition_empty_state_suggestions","prs_copilot_app_open_action","prs_css_anchor_positioning","prs_live_updates_issue_comments","prs_load_all_alerts","prx_files","pull_request_commit_checks_dialog","pull_request_copilot_attribution_header","pull_request_files_virtualization","pull_request_inbox_customize_sections","pull_request_inbox_section_query_popover","pull_request_overview_panel_edit_description","pull_request_virtualization_image_estimate","pull_request_virtualization_scroll_compensation","pulls_dashboard_jk_nav","react_blob_isolate_code_lines","react_blob_overlay","react_compiler_billing_app","react_compiler_workbench","react_compiler_workspace_editor","react_data_router_tanstack_allowed","react_editor_actions_sidebar","react_editor_devcontainer_sidebar","react_router_external_route_handoff","react_sandbox_future_tanstack","repo_overview_ask_copilot","repos_contributors_limited_default_range","repository_suggester_elastic_search","review_involves_filter","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_metadata_preview_table","secret_scanning_pattern_alerts_link","security_center_artifact_filters_popover","semantic_similarity_duplicate_issue_detection","session_logs_ungroup_reasoning_text","site_banner_desktop_copilot_app","site_github_app_ga_page","site_global_banner_learn_copilot_app","site_global_nav_spark_models_removed","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","swp_forms_disable_octocaptcha","team_review_requested_by_user_filter","track_notifications_settings_usage","universe26_banners_seblaunch","viewscreen_sandbox","warn_inaccessible_attachments","webp_support","workbench_store_readonly","chunks","chunks"],"login":"UncleRiot","copilotApiOverrideUrl":"https://api.individual.githubcopilot.com","cmcApiUrl":"https://api.github.com/cmc_internal/api"}</script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/wp-runtime-b90fb286456c71bc.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/app-runtime-6583e5a7f2d0e761.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/fetch-utilities-7fed68b8333e9826.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/78205-5d6a6f402b7a8e68.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/89415-812392e4104ab411.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/environment-17a3813da72840a4.js" defer="defer"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/app-runtime.2a4559ec9112d51a.module.css" /> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/runtime-helpers-176627970fd228b1.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/catalyst-2b159a120cac7df3.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/selector-observer-6cc59d6d6cb4ac45.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/relative-time-element-ae9705f9acc73694.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/296-4c0a68ac3f1b71d1.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/816-8d95115b2deb6077.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/21265-6a76b64e3534ad57.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/81683-bbf17e7ded27669b.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/46740-eafd9231dd2851b5.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/30058-00fdf1aae5a3d0d2.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/github-elements-64139f48240ae27a.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/element-registry-f76f67d2763e0d9f.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/hotkey-1338be440a91805c.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/react-core-b8de05c659cdf63a.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/react-lib-8374452cf670a3dd.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/38566-18d0a37605b397b1.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/79039-f3a5d669cf7dafb8.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/88475-b108bff2e4d2f3b9.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/2887-c6bbf6807b47f01c.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/26533-40828ca3a25cd387.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/3092-3835ccf9e736f8f3.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/40489-46b92de09ba59e60.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/54122-3b0f19fb184cf6bc.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/99734-552ecb8e41d41865.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/13505-5dee17bc5d3dd045.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/29863-ab3f485fdc17575f.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/27956-a7b1e1b86d206658.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/24061-a1725d81ae017702.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/behaviors-83837534e6141c05.js" defer="defer"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-core.c713d8d4e95c7af0.module.css" /> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/notifications-global-86ae170a875fa351.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-menu-ba6f33b63745f19c.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/primer-react-078cb7fc3732fbf2.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/octicons-react-247fb5baeff0bbc4.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/65063-bd8203e1dd0b89c0.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/437-f96e531fe0c620aa.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/41328-58fd5c991cf22249.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/7463-c53cb51bb7bcb6c4.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/27600-0e4c25b9966aa15b.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/88493-9ebec306434f2746.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/47406-464b20c3e445acd6.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/76041-a6f3ef7ba2d359b5.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/26108-e8fcdef129b698b9.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/58246-d0bf436d0667ea77.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/80624-e533cba9460be696.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/4871-1e4a4dd8dcf95db5.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/2338-fcdb711e6cfc788a.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/12540-1f3fb2182ee02089.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/57664-90fc1191041da8ab.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/56324-ce349336261715bf.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/4706-45d3000d5efad6d2.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/47278-9ad0517c529816a5.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/1966-fbfbfc822eb8550d.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/8151-2036b4a45274e8b5.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/10257-c70a83802097484a.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/52898-00ffa1fd9b2ed3ad.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/69890-ece254885ea553c5.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/30223-eb80d0355276b12c.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/50853-f33b6e7faaf1dbb7.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/21472-37e33fa05aeef4e2.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/79589-24cacee47281a9ae.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/24860-fb8ef0764506b8da.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/7404-99da6b660635a7d8.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/85736-d9caa530f35ccac2.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/74994-f001a746bcabb0e1.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/49730-b008282c149435fa.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/41991-cdf1295e257a42ad.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/50091-dae86c4214bb9930.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/3399-1677c57e7631ca3d.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/11844-3b6b944acc39b943.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/83189-7d0d32f0d14cb458.js" defer="defer"></script> <script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-view-99b08e87c2f71b1a.js" defer="defer"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.6ee98dda89c8d90b.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/50853.8e2c98af085d70ee.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-view.990a4ef16d572af8.module.css" /> <title>EasyVersionBackup/README.md at master · UncleRiot/EasyVersionBackup</title> <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient> <meta name="route-controller" content="blob" data-turbo-transient> <meta name="route-action" content="show" data-turbo-transient> <meta name="fetch-nonce" content="v2:4b9611ed-64ab-59b2-876d-504f92759d0b"> <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> <meta name="request-id" content="F233:EB29A:243E12E:1B5983B:6A538402" data-turbo-transient="true" /><meta name="html-safe-nonce" content="06b9922afea58fad88c4dfca1ea1a4d1bbc7672dcdbb6ef35654edf8896297ea" data-turbo-transient="true" /><meta name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vZ2l0aHViLmNvbS9VbmNsZVJpb3QvRWFzeVZlcnNpb25CYWNrdXAiLCJyZXF1ZXN0X2lkIjoiRjIzMzpFQjI5QToyNDNFMTJFOjFCNTk4M0I6NkE1Mzg0MDIiLCJ2aXNpdG9yX2lkIjoiNTA1MTE4MTM5MDcyMDM3MzUzMiIsInJlZ2lvbl9lZGdlIjoiZnJhIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9" data-turbo-transient="true" /><meta name="visitor-hmac" content="774540e0c0fc4f7d1fb9ce380016428ba081fd362c7bf380b1900edfb077def5" data-turbo-transient="true" /> <meta name="hovercard-subject-tag" content="repository:1201455577" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_source" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /><meta name="octolytics-actor-id" content="121725437" /><meta name="octolytics-actor-login" content="UncleRiot" /><meta name="octolytics-actor-hash" content="7392e6ac3be3cdbdd99190f57973704f06fa4652a8e689c21bcb5587b00d3f25" /> <meta name="analytics-location" content="/<user-name>/<repo-name>/blob/show" data-turbo-transient="true" /> <meta name="user-login" content="UncleRiot"> <link rel="sudo-modal" href="/sessions/sudo_modal"> <meta name="viewport" content="width=device-width"> <meta name="description" content="Contribute to UncleRiot/EasyVersionBackup development by creating an account on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/UncleRiot/EasyVersionBackup/blob/master/README.md" /> <meta name="twitter:image" content="https://opengraph.githubassets.com/97f1ce270634337d2ec4a33f7beef49c2a2db46080f4f14171fb974b501b8a4f/UncleRiot/EasyVersionBackup" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="EasyVersionBackup/README.md at master · UncleRiot/EasyVersionBackup" /><meta name="twitter:description" content="Contribute to UncleRiot/EasyVersionBackup development by creating an account on GitHub." /> <meta property="og:image" content="https://opengraph.githubassets.com/97f1ce270634337d2ec4a33f7beef49c2a2db46080f4f14171fb974b501b8a4f/UncleRiot/EasyVersionBackup" /><meta property="og:image:alt" content="Contribute to UncleRiot/EasyVersionBackup development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="EasyVersionBackup/README.md at master · UncleRiot/EasyVersionBackup" /><meta property="og:url" content="https://github.com/UncleRiot/EasyVersionBackup/blob/master/README.md" /><meta property="og:description" content="Contribute to UncleRiot/EasyVersionBackup development by creating an account on GitHub." /> <link rel="shared-web-socket" href="wss://alive.github.com/_sockets/u/121725437/ws?session=eyJ2IjoiVjMiLCJ1IjoxMjE3MjU0MzcsInMiOjIxNzkyNzQxMTIsImMiOjM1OTM0NjI4MDQsInQiOjE3ODM4NTgyMDh9--c612e2ad997e3a24284c0678e006c10e535d9a42c9a858ee4dfd25cc86a32431" data-refresh-url="/_alive" data-session-id="097fcc8cbadab70816bc0fd127a6464493757f21e4c7157b6a24df4f5a27146f"> <link rel="shared-web-socket-src" href="/assets-cdn/worker/socket-worker-936ba01f1c305345.js"> <link rel="service-worker-src" href="/assets-cdn/worker/service-worker-ff9ede7f501097e5.js?current_user=UncleRiot&errors_url=https%3A%2F%2Fapi.github.com%2F_private%2Fbrowser%2Ferrors&release=07a982c1d40157c619b364352b704c3ce66bb332&actor_id=121725437&is_staff=false&analytics_collector_url=https%3A%2F%2Fcollector.github.com%2Fgithub%2Fcollect"> <meta name="hostname" content="github.com"> <meta name="keyboard-shortcuts-preference" content="all"> <meta name="hovercards-preference" content="true"> <meta name="announcement-preference-hovercard" content="true"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="5097f45762a82a24b7e37d5cb7ec73793a2a04ca8aa1843e5f9b382a73cad82d" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="cb4cffb7c023f774818cf728eb860debf1fc8ecf88a20487b238da276df1eb7d" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="71bf311b21b340807e61b916e191da35a3635764429500c0b85923590280098b" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta name="turbo-cache-control" content="no-cache" data-turbo-transient> <meta data-hydrostats="publish"> <meta name="go-import" content="github.com/UncleRiot/EasyVersionBackup git https://github.com/UncleRiot/EasyVersionBackup.git"> <meta name="octolytics-dimension-user_id" content="121725437" /><meta name="octolytics-dimension-user_login" content="UncleRiot" /><meta name="octolytics-dimension-repository_id" content="1201455577" /><meta name="octolytics-dimension-repository_nwo" content="UncleRiot/EasyVersionBackup" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="1201455577" /><meta name="octolytics-dimension-repository_network_root_nwo" content="UncleRiot/EasyVersionBackup" /> <meta name="current-repo-nwo" content="UncleRiot/EasyVersionBackup" /> <meta name="turbo-body-classes" content="logged-in env-production page-responsive"> <meta name="disable-turbo" content="false"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="release" content="07a982c1d40157c619b364352b704c3ce66bb332" data-turbo-track="reload"> <meta name="ui-target" content="canary-2"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-in env-production page-responsive" style="word-wrap: break-word;" >

Skip to content <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.6ee98dda89c8d90b.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.54b9b76657c6c563.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" data-react-profiling="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script>
</react-partial> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.6ee98dda89c8d90b.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/50853.8e2c98af085d70ee.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-nav-bar.24c33b75f477a421.module.css" /> <react-partial partial-name="global-nav-bar" data-ssr="true" data-attempted-ssr="true" data-react-profiling="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"contextRegion":{"crumbs":[{"crumb_type":"user","label":"UncleRiot","is_root":false,"href":"/UncleRiot"},{"crumb_type":"repository","label":"EasyVersionBackup","is_root":false,"href":"/UncleRiot/EasyVersionBackup"}],"localNavigation":[{"id":"code","icon":"code","label":"Code","href":"/UncleRiot/EasyVersionBackup","selectedLinks":["repo_source","repo_downloads","repo_commits","repo_releases","repo_tags","repo_branches","repo_packages","repo_deployments","repo_attestations"],"popoverTarget":false,"commandId":"repositories:go-to-code","reactNav":{"appTarget":"code-view","anchor":"code-view-repo-link"},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"issues","icon":"issue-opened","label":"Issues","href":"/UncleRiot/EasyVersionBackup/issues","selectedLinks":["repo_issues","repo_labels","repo_milestones"],"count":0,"popoverTarget":false,"commandId":"repositories:go-to-issues","reactNav":{"appTarget":"issues-react","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"pull-requests","icon":"git-pull-request","label":"Pull requests","href":"/UncleRiot/EasyVersionBackup/pulls","selectedLinks":["repo_pulls","checks"],"count":0,"popoverTarget":false,"commandId":"repositories:go-to-pull-requests","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"actions","icon":"play","label":"Actions","href":"/UncleRiot/EasyVersionBackup/actions","selectedLinks":["repo_actions"],"popoverTarget":false,"commandId":"repositories:go-to-actions","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"projects","icon":"table","label":"Projects","href":"/UncleRiot/EasyVersionBackup/projects","selectedLinks":["repo_projects","new_repo_project","repo_project"],"popoverTarget":false,"commandId":"repositories:go-to-projects","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"wiki","icon":"book","label":"Wiki","href":"/UncleRiot/EasyVersionBackup/wiki","selectedLinks":["repo_wiki"],"popoverTarget":false,"commandId":"repositories:go-to-wiki","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"security-and-quality","icon":"shield","label":"Security and quality","href":"/UncleRiot/EasyVersionBackup/security","selectedLinks":["security","overview","alerts","policy","token_scanning","code_scanning"],"count":0,"popoverTarget":false,"commandId":"repositories:go-to-security","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"insights","icon":"graph","label":"Insights","href":"/UncleRiot/EasyVersionBackup/pulse","selectedLinks":["repo_graphs","repo_contributors","dependency_graph","dependabot_updates","pulse","people","community"],"popoverTarget":false,"commandId":"repositories:go-to-insights","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"settings","icon":"gear","label":"Settings","href":"/UncleRiot/EasyVersionBackup/settings","selectedLinks":["code_review_limits","code_quality","codespaces_repository_settings","collaborators","custom_tabs","github_models_repo_settings","hooks","integration_installations","interaction_limits","issue_template_editor","key_links_settings","license_policy","notifications","repo_announcements","repo_branch_settings","repo_custom_properties","repo_keys_settings","repo_pages_settings","repo_protected_tags_settings","repo_rule_insights","repo_rule_insights_dashboard","repo_rules_bypass_requests","repo_rulesets","repo_settings_copilot_coding_guidelines","repo_settings_copilot_content_exclusion","repo_settings_copilot_internet_access","repo_settings_copilot_mcp","repo_settings_copilot_swe_agent","repo_settings","repo_suggestions_settings","reported_content","repository_actions_settings_add_new_runner","repository_actions_settings_general","repository_actions_settings_runner_details","repository_actions_settings_runners","repository_actions_settings","repository_actions_settings_policies","repository_actions_settings_oidc_configuration","repository_environments","role_details","secrets_settings_actions","secrets_settings_agents","secrets_settings_codespaces","secrets_settings_dependabot","secrets","security_analysis","security_products"],"popoverTarget":false,"commandId":"repositories:go-to-settings","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}}],"localNavigationUpdateChannel":"eyJjIjoicmVwbzoxMjAxNDU1NTc3OnVzZXI6MTIxNzI1NDM3OnNldHRpbmdzIiwidCI6MTc4Mzg1ODIwN30=--887fbf6293f404831620a839f5222f3d986ef00dad910c2a398d0a5829bfbd25","selectedLink":null,"currentPath":"/UncleRiot/EasyVersionBackup/blob/master/README.md"},"userMenu":{"owner":{"login":"UncleRiot","name":null,"avatarUrl":"https://avatars.githubusercontent.com/u/121725437?v=4"}},"headerLogo":{"href":"/","aria-label":"Homepage "},"notifications":{"indicatorMode":"none","websocketChannel":"eyJjIjoibm90aWZpY2F0aW9uLWNoYW5nZWQ6MTIxNzI1NDM3IiwidCI6MTc4Mzg1ODIwN30=--f4affebf6d748e6158c462be2db221182eac13868d3cf5ad2d18f5072ef29ae8","fetchIndicatorSrc":"/notifications/indicator","fetchIndicatorEnabled":true},"issues":{"href":"/issues"},"pulls":{"href":"/pulls"},"contributedRepos":{"href":"/repos"},"copilot":{"show":true,"showAgentsButton":false,"copilotChatUrl":"/github-copilot/chat?skip_anchor=true","copilotApiUrl":"https://api.individual.githubcopilot.com"},"search":{"show":true,"showCommandPalette":false,"isSearchPage":false,"isJumpToSearch":false,"searchContext":{"scope":"repo:UncleRiot/EasyVersionBackup","current_repo_name":"EasyVersionBackup","current_repo_nwo":"UncleRiot/EasyVersionBackup","user_id":"UncleRiot"}},"enterpriseBanner":{"show":false},"globalTransactionalMessage":null,"payloadsUrl":"/_global-navigation/payloads.json?v=1"}}</script>
<link rel="preload" as="image" href="https://avatars.githubusercontent.com/u/121725437?v=4&size=64"/>
<button data-component="IconButton" type="button" aria-haspopup="dialog" class="prc-Button-ButtonBase-9n-Xk styles-module__appHeaderButton__axedQ prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-labelledby="_R_1b5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-three-bars" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75Zm0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75ZM1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5Z"></path></svg></button>
Open menu<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github" viewBox="0 0 24 24" width="32" height="32" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path></svg>Homepage (g then d) gGthen dD
<button data-component="Button" type="button" aria-label="Search or jump to…" class="prc-Button-ButtonBase-9n-Xk styles-module__appHeaderButton__axedQ Search-module__searchButton__aiE0a" data-loading="false" data-size="medium" data-variant="invisible"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg>Type / to search</button>
<button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk styles-module__appHeaderButton__axedQ Search-module__smallSearchButton___8Gvn prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-labelledby="_R_al5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></button>Search or jump to…(forward slash) forward slash/
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>Chat with Copilot
<button data-component="ActionMenu.Button" type="button" aria-label="Open Copilot…" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk styles-module__appHeaderButton__axedQ CopilotItems-module__CopilotMenu__DVdfE" data-loading="false" data-size="medium" data-variant="invisible" id="_R_2iif5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></button>
<button data-component="ActionMenu.Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk GlobalCreateMenu-module__actionMenuButton__Hj_iB GlobalCreateMenu-module__responsiveCreateMenu__zTmSP hide-sm" data-loading="false" data-size="medium" data-variant="invisible" aria-labelledby="global-create-menu-tooltip-_R_6f5_" id="_R_mf5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-plus" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></button>Create new...
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-issue-opened" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path></svg>All issues<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-pull-request" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg>All pull requests<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-repo" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path></svg>All repositories
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-inbox" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2.8 2.06A1.75 1.75 0 0 1 4.41 1h7.18c.7 0 1.333.417 1.61 1.06l2.74 6.395c.04.093.06.194.06.295v4.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25v-4.5c0-.101.02-.202.06-.295Zm1.61.44a.25.25 0 0 0-.23.152L1.887 8H4.75a.75.75 0 0 1 .6.3L6.625 10h2.75l1.275-1.7a.75.75 0 0 1 .6-.3h2.863L11.82 2.652a.25.25 0 0 0-.23-.152Zm10.09 7h-2.875l-1.275 1.7a.75.75 0 0 1-.6.3h-3.5a.75.75 0 0 1-.6-.3L4.375 9.5H1.5v3.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Z"></path></svg>You have no unread notifications(g then n) gGthen nN
<button data-component="IconButton" type="button" aria-haspopup="menu" data-login="UncleRiot" class="prc-Button-ButtonBase-9n-Xk GlobalNavUserMenu-module__anchor__Dcej6 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-labelledby="_R_av5_">User avatar</button>Open user navigation menu

Repository navigation

</react-partial>
<qbsearch-input class="search-input" data-scope="repo:UncleRiot/EasyVersionBackup" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="ZYNSdggedmCH4MI4AHzoiAKp9IxV7d-KTY-NHZgwsziJ6Zfoz5fDeexbTQc8ud6SnjoYn2U1ReMs3Pi8BUdsoQ" data-max-custom-scopes="10" data-header-redesign-enabled="true" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="UncleRiot/EasyVersionBackup" data-current-org="" data-current-owner="UncleRiot" data-logged-in="true" data-copilot-chat-enabled="false" data-nl-search-enabled="false">
<input type="hidden" name="type" class="js-site-search-type-field">
<modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-medium Overlay--height-auto">

Search code, repositories, users, issues, pull requests...

</option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder">
<label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label>
<svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg>
<input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-cbbc715f-98e2-46cb-b4d7-82a5484b30ab" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" />
Clear <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 tmp-mr-1 px-2 tmp-px-2 py-0 tmp-py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button>
<template id="search-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template>
    <svg aria-hidden="true" data-component="Octicon" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg>
    </query-builder></form>
    Search syntax tips
    <button data-action="click:qbsearch-input#showFeedbackDialog" type="button" data-view-component="true" class="Button--link Button--medium Button color-fg-accent text-normal ml-2 tmp-ml-2"> Give feedback </button>
    </modal-dialog>
    <dialog-helper>

    Provide feedback

    <button data-close-dialog-id="feedback-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button>
    <scrollable-region data-labelled-by="feedback-dialog-title">
    </option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="0joUp-pnioZy7P8NOt7He6EnhE4vvU9by90ndO9kTcwdVF_3aHln4Obmgdz8Eh_CYkZuOiCHBPWNbcv4KNy29w" />

    We read every piece of feedback, and take your input very seriously.

    <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form>
    </scrollable-region>
    <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button>
    </dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper>

    Saved searches

    Use saved searches to filter your results more quickly

    <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button>
    <scrollable-region data-labelled-by="custom-scopes-dialog-title">
    </option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="ayfA1eU6IcGDelrBcONMZjbrJZKLN6sCsoDNvbsa3rI9miE9RC-JbhgkqZfi_iDov4CWw7tNRZzOt1dk4XXEsQ" />
    <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">
    <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" value="i-e752kOLOdACtWequMwSsf1Wgv47xSHXzzFGiej_uHKuKQ-SROypZ2KsoV8cS_gMW3z5yT9FOwgmdceSSsqQQ" data-csrf="true" /> </auto-check>
    <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500">

    To see all available qualifiers, see our documentation.

    </form>
    </scrollable-region>
    <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button>
    </dialog-helper> </custom-scopes>
    </qbsearch-input> <input type="hidden" value="9lmuACXEJXT7qD6AozvDLglkswx0fxzEYrwedpLBr119vJ5EI-Pcw9NRxgYhxi0WnkteajPAmkPabi8ITkh9HQ" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" />
    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. <button id="icon-button-7d279f25-8b07-4736-95dd-cf9763f4f5a8" aria-labelledby="tooltip-b7c8bba0-c1e2-4d77-a1f6-36047d8f9899" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-b7c8bba0-c1e2-4d77-a1f6-36047d8f9899" for="icon-button-7d279f25-8b07-4736-95dd-cf9763f4f5a8" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>
    <include-fragment src="/in-product-messaging/copilot-budget-request-banner?page_path=%2FUncleRiot%2FEasyVersionBackup%2Fblob%2Fmaster%2FREADME.md" data-nonce="v2:4b9611ed-64ab-59b2-876d-504f92759d0b" data-view-component="true">

    Uh oh!

    There was an error while loading. Please reload this page.

    </include-fragment>
    <template class="js-flash-template">
    <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button>
    {{ message }}
    </template>
    <notification-shelf-watcher data-base-url="https://github.com/notifications/beta/shelf" data-channel="eyJjIjoibm90aWZpY2F0aW9uLWNoYW5nZWQ6MTIxNzI1NDM3IiwidCI6MTc4Mzg1ODIwOH0=--d34b55121bf6229c46ca1454324a39d149ffaed25d3a91656c98a26ea64d321c" data-view-component="true" class="js-socket-channel"></notification-shelf-watcher>
    <main id="js-repo-pjax-container" >
    <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class="">
    Open in github.dev Open in a new github.dev tab Open in codespace <react-app app-name="code-view" initial-path="/UncleRiot/EasyVersionBackup/blob/master/README.md" style="display: block; min-height: calc(100vh - 64px);" data-attempted-ssr="true" data-ssr="true" data-lazy="false" data-alternate="false" data-data-router-enabled="true" data-react-profiling="false" > <script type="application/json" data-target="react-app.embeddedData">{"payload":{"codeViewBlobRoute":{"csv":null,"csvError":null,"headerInfo":{"toc":[{"level":2,"text":"Important Safety Notice","anchor":"important-safety-notice","htmlText":"Important Safety Notice"},{"level":1,"text":"EasyVersionBackup","anchor":"easyversionbackup","htmlText":"EasyVersionBackup"},{"level":2,"text":"❤️ Support","anchor":"️-support","htmlText":"❤️ Support"},{"level":2,"text":"🚀 Features","anchor":"-features","htmlText":"🚀 Features"},{"level":3,"text":"Versioned Backups","anchor":"versioned-backups","htmlText":"Versioned Backups"},{"level":3,"text":"Multiple Backup Configurations","anchor":"multiple-backup-configurations","htmlText":"Multiple Backup Configurations"},{"level":3,"text":"Per-Entry Exclusions","anchor":"per-entry-exclusions","htmlText":"Per-Entry Exclusions"},{"level":3,"text":"Backup Retention","anchor":"backup-retention","htmlText":"Backup Retention"},{"level":3,"text":"Source Cleanup","anchor":"source-cleanup","htmlText":"Source Cleanup"},{"level":3,"text":"Flexible Backup Timer","anchor":"flexible-backup-timer","htmlText":"Flexible Backup Timer"},{"level":3,"text":"Silent Backup Progress","anchor":"silent-backup-progress","htmlText":"Silent Backup Progress"},{"level":3,"text":"Automatic Background Backups","anchor":"automatic-background-backups","htmlText":"Automatic Background Backups"},{"level":3,"text":"Status \u0026 Feedback System","anchor":"status--feedback-system","htmlText":"Status \u0026amp; Feedback System"},{"level":3,"text":"ZIP Support","anchor":"zip-support","htmlText":"ZIP Support"},{"level":3,"text":"Robust Error Handling","anchor":"robust-error-handling","htmlText":"Robust Error Handling"},{"level":3,"text":"System Tray Integration","anchor":"system-tray-integration","htmlText":"System Tray Integration"},{"level":3,"text":"Modernized UI","anchor":"modernized-ui","htmlText":"Modernized UI"},{"level":2,"text":"🧩 How It Works","anchor":"-how-it-works","htmlText":"🧩 How It Works"},{"level":2,"text":"⚙️ Settings Overview","anchor":"️-settings-overview","htmlText":"⚙️ Settings Overview"},{"level":3,"text":"Backup Timer","anchor":"backup-timer","htmlText":"Backup Timer"},{"level":3,"text":"Default Versioning","anchor":"default-versioning","htmlText":"Default Versioning"},{"level":3,"text":"Auto Increment","anchor":"auto-increment","htmlText":"Auto Increment"},{"level":3,"text":"Retention","anchor":"retention","htmlText":"Retention"},{"level":3,"text":"Source Cleanup","anchor":"source-cleanup-1","htmlText":"Source Cleanup"},{"level":3,"text":"Minimize to Systray","anchor":"minimize-to-systray","htmlText":"Minimize to Systray"},{"level":3,"text":"Ignore Copy Errors","anchor":"ignore-copy-errors","htmlText":"Ignore Copy Errors"},{"level":3,"text":"ZIP Backups","anchor":"zip-backups","htmlText":"ZIP Backups"},{"level":3,"text":"Per-Path Exclusions","anchor":"per-path-exclusions","htmlText":"Per-Path Exclusions"},{"level":2,"text":"🖥️ Runtime Requirement","anchor":"️-runtime-requirement","htmlText":"🖥️ Runtime Requirement"},{"level":2,"text":"💡 Use Cases","anchor":"-use-cases","htmlText":"💡 Use Cases"}]},"issueTemplate":null,"discussionTemplate":null,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-alert markdown-alert-warning\" dir=\"auto\"\u003e\u003cp class=\"markdown-alert-title\" dir=\"auto\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-alert mr-2\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"\u003e\u003c/path\u003e\u003c/svg\u003eWarning\u003c/p\u003e\u003cp dir=\"auto\"\u003eThis software can permanently delete source and destination data.\nRead the \u003ca href=\"/UncleRiot/EasyVersionBackup/blob/master/DISCLAIMER.md\"\u003eData-Loss Warning and Disclaimer\u003c/a\u003e before use.\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eImportant Safety Notice\u003c/h2\u003e\u003ca id=\"user-content-important-safety-notice\" class=\"anchor\" aria-label=\"Permalink: Important Safety Notice\" href=\"#important-safety-notice\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eRetention and Source Cleanup are experimental features that can permanently delete source files or older backups.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eBoth features are disabled by default and must be enabled explicitly. Always keep an independent, verified backup before using them.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eSee the \u003ca href=\"https://github.com/UncleRiot/EasyVersionBackup/wiki\"\u003eWiki\u003c/a\u003e for detailed configuration, restore instructions, limitations, and safety information.\u003c/p\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eEasyVersionBackup\u003c/h1\u003e\u003ca id=\"user-content-easyversionbackup\" class=\"anchor\" aria-label=\"Permalink: EasyVersionBackup\" href=\"#easyversionbackup\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eEasyVersionBackup is a lightweight Windows tool for creating versioned backups of folders.\nBack up save-game folders, office-document folders, Visual C# project folders, and other local directories.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eIt supports manual and automatic backups, multiple source → target configurations, ZIP backups, per-entry exclusions, skipped-file reporting, system tray integration, and a clean WinForms interface.\u003c/p\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\u003cbr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e❤️ Support\u003c/h2\u003e\u003ca id=\"user-content-️-support\" class=\"anchor\" aria-label=\"Permalink: ❤️ Support\" href=\"#️-support\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eEasyVersionBackup is free to use.\nIf this tool saves you time, you can support development here:\u003c/p\u003e\n\u003ca href=\"https://ko-fi.com/uncleriot\" rel=\"nofollow\"\u003e\n \u003cimg src=\"https://camo.githubusercontent.com/13aafe6fc824bb4e063ef6a29a88d6c7ce2e5fc6bfd103e2fb7b44fcc995ab1d/68747470733a2f2f73746f726167652e6b6f2d66692e636f6d2f63646e2f6b6f6669322e706e673f763d33\" height=\"36\" alt=\"Support EasyVersionBackup on Ko-fi\" data-canonical-src=\"https://storage.ko-fi.com/cdn/kofi2.png?v=3\" style=\"max-width: 100%; height: auto; max-height: 36px;\"\u003e\n\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cdiv class=\"markdown-alert markdown-alert-important\" dir=\"auto\"\u003e\u003cp class=\"markdown-alert-title\" dir=\"auto\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-report mr-2\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"\u003e\u003c/path\u003e\u003c/svg\u003eImportant\u003c/p\u003e\u003cp dir=\"auto\"\u003eIf Windows SmartScreen blocks the app, right-click the EXE → \u003cstrong\u003eProperties\u003c/strong\u003e → check \u003cstrong\u003eUnblock\u003c/strong\u003e → \u003cstrong\u003eApply\u003c/strong\u003e → \u003cstrong\u003eOK\u003c/strong\u003e, then start it again.\u003c/p\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\u003cp dir=\"auto\"\u003eMain-Window\u003c/p\u003e\n\u003cbr\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/121725437/620399209-fa575d05-ad64-47d0-b571-23e36ca8c9a0.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5MjA5LWZhNTc1ZDA1LWFkNjQtNDdkMC1iNTcxLTIzZTM2Y2E4YzlhMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05YWIyMjA3OWYwOWE5N2ZmYjIwZDc0NDAxODM5ODI2ZGE2NDgxYjkwYTM4MDU0OGIwMzQyOTdhNTZmZmFjMzMzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.qjLQpT_r_tjQ_WN8twaG5BZtJOjqbcxwN_D6dxP7t7I\"\u003e\u003cimg width=\"956\" height=\"326\" alt=\"grafik\" src=\"https://private-user-images.githubusercontent.com/121725437/620399209-fa575d05-ad64-47d0-b571-23e36ca8c9a0.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5MjA5LWZhNTc1ZDA1LWFkNjQtNDdkMC1iNTcxLTIzZTM2Y2E4YzlhMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05YWIyMjA3OWYwOWE5N2ZmYjIwZDc0NDAxODM5ODI2ZGE2NDgxYjkwYTM4MDU0OGIwMzQyOTdhNTZmZmFjMzMzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.qjLQpT_r_tjQ_WN8twaG5BZtJOjqbcxwN_D6dxP7t7I\" style=\"max-width: 100%; height: auto; max-height: 326px;; aspect-ratio: 956 / 326; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cp dir=\"auto\"\u003eBackup Pair Settings\u003c/p\u003e\n\u003cbr\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/121725437/620399274-1c40f1c8-8850-43b3-942b-96adca495d70.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5Mjc0LTFjNDBmMWM4LTg4NTAtNDNiMy05NDJiLTk2YWRjYTQ5NWQ3MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03YzY4MDNiM2Y3OTFlYTJjMmIwYjA2OWFhYTcyZTBmYjJmYjBjOWY5MTA1YTZmM2FjMWU5NzI4OGE2MTAxMmI2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.k8UnHjQPIu6pr5HUZeSAIFsGDlgaaGmRnxWKstcSDvY\"\u003e\u003cimg width=\"420\" height=\"545\" alt=\"grafik\" src=\"https://private-user-images.githubusercontent.com/121725437/620399274-1c40f1c8-8850-43b3-942b-96adca495d70.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5Mjc0LTFjNDBmMWM4LTg4NTAtNDNiMy05NDJiLTk2YWRjYTQ5NWQ3MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03YzY4MDNiM2Y3OTFlYTJjMmIwYjA2OWFhYTcyZTBmYjJmYjBjOWY5MTA1YTZmM2FjMWU5NzI4OGE2MTAxMmI2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.k8UnHjQPIu6pr5HUZeSAIFsGDlgaaGmRnxWKstcSDvY\" style=\"max-width: 100%; height: auto; max-height: 545px;; aspect-ratio: 420 / 545; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cp dir=\"auto\"\u003eSource Cleanup\u003c/p\u003e\n\u003cbr\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/121725437/620399336-5d085162-6e20-4bb3-a952-b72d406892bd.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5MzM2LTVkMDg1MTYyLTZlMjAtNGJiMy1hOTUyLWI3MmQ0MDY4OTJiZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ZTUxMzJlMzAwMzE1MzczYWRmOTgzZmVjNmY0Njk1MTcxYmZjMzczYTk2ZTc1NTg5MGYyNDkxM2Q0YzYzYjRjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.kvsQIxBkqPNE7kAboUoRNJZyReRJhElbAjv7iLG2nds\"\u003e\u003cimg width=\"620\" height=\"470\" alt=\"grafik\" src=\"https://private-user-images.githubusercontent.com/121725437/620399336-5d085162-6e20-4bb3-a952-b72d406892bd.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5MzM2LTVkMDg1MTYyLTZlMjAtNGJiMy1hOTUyLWI3MmQ0MDY4OTJiZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ZTUxMzJlMzAwMzE1MzczYWRmOTgzZmVjNmY0Njk1MTcxYmZjMzczYTk2ZTc1NTg5MGYyNDkxM2Q0YzYzYjRjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.kvsQIxBkqPNE7kAboUoRNJZyReRJhElbAjv7iLG2nds\" style=\"max-width: 100%; height: auto; max-height: 470px;; aspect-ratio: 620 / 470; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/121725437/617656137-0eb99537-3643-44b5-a4f5-a3ecc3d5efd3.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjE3NjU2MTM3LTBlYjk5NTM3LTM2NDMtNDRiNS1hNGY1LWEzZWNjM2Q1ZWZkMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01ZmZhMjI4MDMyZTE2ZmQ0YjM3YzY3MWExZWIxMzNjNTI3MjM5NWE4ZTE2NTViNWQ3Njc3ZTRiNjU4YzI0YjgxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.h1cr1ihBmOOP2JgDWQDp2QcGM8J62ow3O0UFDw--q4A\"\u003e\u003cimg width=\"520\" height=\"353\" alt=\"grafik\" src=\"https://private-user-images.githubusercontent.com/121725437/617656137-0eb99537-3643-44b5-a4f5-a3ecc3d5efd3.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjE3NjU2MTM3LTBlYjk5NTM3LTM2NDMtNDRiNS1hNGY1LWEzZWNjM2Q1ZWZkMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01ZmZhMjI4MDMyZTE2ZmQ0YjM3YzY3MWExZWIxMzNjNTI3MjM5NWE4ZTE2NTViNWQ3Njc3ZTRiNjU4YzI0YjgxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.h1cr1ihBmOOP2JgDWQDp2QcGM8J62ow3O0UFDw--q4A\" style=\"max-width: 100%; height: auto; max-height: 353px;; aspect-ratio: 520 / 353; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/121725437/617656446-caee9f1d-9609-41fb-b16b-bf744374f555.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjE3NjU2NDQ2LWNhZWU5ZjFkLTk2MDktNDFmYi1iMTZiLWJmNzQ0Mzc0ZjU1NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNDJmMzhiMTQyNTEyNDJkNzY4MzZlOWEwM2VjYTEzYzcwZWQ5ZThhNTQ5ZDBiNzViNzJkN2MxMmU5NGRlMTk0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.aAWeIEfxMHUrqeR8ElYBZSM1kEt9CPdDbMy5YD-yGL4\"\u003e\u003cimg width=\"760\" height=\"430\" alt=\"grafik\" src=\"https://private-user-images.githubusercontent.com/121725437/617656446-caee9f1d-9609-41fb-b16b-bf744374f555.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjE3NjU2NDQ2LWNhZWU5ZjFkLTk2MDktNDFmYi1iMTZiLWJmNzQ0Mzc0ZjU1NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNDJmMzhiMTQyNTEyNDJkNzY4MzZlOWEwM2VjYTEzYzcwZWQ5ZThhNTQ5ZDBiNzViNzJkN2MxMmU5NGRlMTk0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.aAWeIEfxMHUrqeR8ElYBZSM1kEt9CPdDbMy5YD-yGL4\" style=\"max-width: 100%; height: auto; max-height: 430px;; aspect-ratio: 760 / 430; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e🚀 Features\u003c/h2\u003e\u003ca id=\"user-content--features\" class=\"anchor\" aria-label=\"Permalink: 🚀 Features\" href=\"#-features\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eVersioned Backups\u003c/h3\u003e\u003ca id=\"user-content-versioned-backups\" class=\"anchor\" aria-label=\"Permalink: Versioned Backups\" href=\"#versioned-backups\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCreate structured backups with version numbers\u003c/li\u003e\n\u003cli\u003eSupports manual input, auto-increment, and timestamp-based versions\u003c/li\u003e\n\u003cli\u003eRemembers manually adjusted versions per source → target pair\u003c/li\u003e\n\u003cli\u003eDetects existing versions and suggests the next logical version\u003c/li\u003e\n\u003cli\u003eUpdated versions are stored only after a successful backup\u003c/li\u003e\n\u003cli\u003eCanceling a backup does not advance or persist the version number\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMultiple Backup Configurations\u003c/h3\u003e\u003ca id=\"user-content-multiple-backup-configurations\" class=\"anchor\" aria-label=\"Permalink: Multiple Backup Configurations\" href=\"#multiple-backup-configurations\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eConfigure multiple source → target pairs\u003c/li\u003e\n\u003cli\u003eEnable or disable each entry individually\u003c/li\u003e\n\u003cli\u003eEdit source and target paths directly in the main window\u003c/li\u003e\n\u003cli\u003eBrowse folders directly from the main table\u003c/li\u003e\n\u003cli\u003eConfigure versioning, retention, source cleanup, timers, and error handling per backup pair\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePer-Entry Exclusions\u003c/h3\u003e\u003ca id=\"user-content-per-entry-exclusions\" class=\"anchor\" aria-label=\"Permalink: Per-Entry Exclusions\" href=\"#per-entry-exclusions\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDefine excluded files or folders per backup entry\u003c/li\u003e\n\u003cli\u003eEdit exclusions directly from the main window or Settings\u003c/li\u003e\n\u003cli\u003eAdd and remove exclusions through a table-based editor\u003c/li\u003e\n\u003cli\u003eConfirmation prompt before removing existing exclusion entries\u003c/li\u003e\n\u003cli\u003eSupports source-relative paths and glob-style patterns\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003ePattern behavior:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003e.sav\u003c/code\u003e and \u003ccode\u003e*.sav\u003c/code\u003e match \u003ccode\u003e.sav\u003c/code\u003e files\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e*\u003c/code\u003e matches characters within one path level\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e**\u003c/code\u003e matches any number of folder levels\u003c/li\u003e\n\u003cli\u003eA trailing \u003ccode\u003e\\\u003c/code\u003e restricts the rule to folders\u003c/li\u003e\n\u003cli\u003eMatching is case-insensitive\u003c/li\u003e\n\u003cli\u003eWildcard-only exclusions are rejected for safety\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBackup Retention\u003c/h3\u003e\u003ca id=\"user-content-backup-retention\" class=\"anchor\" aria-label=\"Permalink: Backup Retention\" href=\"#backup-retention\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eConfigure retention separately for every backup pair\u003c/li\u003e\n\u003cli\u003eKeep the newest number of backups\u003c/li\u003e\n\u003cli\u003eKeep backups for a configured number of days\u003c/li\u003e\n\u003cli\u003eCombine retention rules using \u003ccode\u003eAND\u003c/code\u003e or \u003ccode\u003eOR\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProtect tagged backups such as \u003ccode\u003eFinal\u003c/code\u003e or \u003ccode\u003eOK\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ePreview affected backups before permanent deletion\u003c/li\u003e\n\u003cli\u003eChoose between:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCanceling the complete backup\u003c/li\u003e\n\u003cli\u003eContinuing without deleting old backups\u003c/li\u003e\n\u003cli\u003eCreating the backup and deleting confirmed retention candidates\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDestructive actions are clearly highlighted\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSource Cleanup\u003c/h3\u003e\u003ca id=\"user-content-source-cleanup\" class=\"anchor\" aria-label=\"Permalink: Source Cleanup\" href=\"#source-cleanup\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExperimental feature for removing old source files after a successful backup\u003c/li\u003e\n\u003cli\u003eMust be enabled globally and per backup pair\u003c/li\u003e\n\u003cli\u003eSupports multiple rules, for example:\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\".sav\nG1R*.sav\nSaved\\SaveGames\\.sav\nSaved\\SaveGames\\G1R*.sav\"\u003e\u003cpre lang=\"text\" class=\"notranslate\"\u003e\u003ccode\u003e.sav\nG1R*.sav\nSaved\\SaveGames\\.sav\nSaved\\SaveGames\\G1R*.sav\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003c/li\u003e\n\u003cli\u003eKeep the newest files or delete files older than a selected date\u003c/li\u003e\n\u003cli\u003eShows a deletion preview before cleanup\u003c/li\u003e\n\u003cli\u003eDirectories are never deleted\u003c/li\u003e\n\u003cli\u003eCleanup does not run if the backup fails or is canceled\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFlexible Backup Timer\u003c/h3\u003e\u003ca id=\"user-content-flexible-backup-timer\" class=\"anchor\" aria-label=\"Permalink: Flexible Backup Timer\" href=\"#flexible-backup-timer\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDefine intervals like \u003ccode\u003e30s\u003c/code\u003e, \u003ccode\u003e5m\u003c/code\u003e, or \u003ccode\u003e1h\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eConfigure a global timer or a custom timer per backup pair\u003c/li\u003e\n\u003cli\u003eLive countdown visible:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIn the main UI\u003c/li\u003e\n\u003cli\u003eIn the window title\u003c/li\u003e\n\u003cli\u003eIn the system tray tooltip\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSilent Backup Progress\u003c/h3\u003e\u003ca id=\"user-content-silent-backup-progress\" class=\"anchor\" aria-label=\"Permalink: Silent Backup Progress\" href=\"#silent-backup-progress\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBackup progress is displayed directly inside the main table\u003c/li\u003e\n\u003cli\u003eSource-related operations fill the source-directory cell\u003c/li\u003e\n\u003cli\u003eTarget-related operations fill the target-directory cell\u003c/li\u003e\n\u003cli\u003eThe timer column temporarily shows the current percentage\u003c/li\u003e\n\u003cli\u003eIndeterminate phases use a subtle moving progress fill\u003c/li\u003e\n\u003cli\u003eThe normal timer value is restored after completion\u003c/li\u003e\n\u003cli\u003eMultiple backup pairs can show progress independently\u003c/li\u003e\n\u003cli\u003eNo additional progress window or focus change is required\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAutomatic Background Backups\u003c/h3\u003e\u003ca id=\"user-content-automatic-background-backups\" class=\"anchor\" aria-label=\"Permalink: Automatic Background Backups\" href=\"#automatic-background-backups\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFile and ZIP creation runs outside the UI thread\u003c/li\u003e\n\u003cli\u003eWorks while you use other applications\u003c/li\u003e\n\u003cli\u003eAutomatic backups remain silent unless user interaction is required\u003c/li\u003e\n\u003cli\u003eDestination-conflict and retention confirmations can still require interaction\u003c/li\u003e\n\u003cli\u003eOptional minimize-to-system-tray behavior\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eStatus \u0026amp; Feedback System\u003c/h3\u003e\u003ca id=\"user-content-status--feedback-system\" class=\"anchor\" aria-label=\"Permalink: Status \u0026amp; Feedback System\" href=\"#status--feedback-system\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePer-entry status indicator:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e🟢 OK\u003c/li\u003e\n\u003cli\u003e🟡 Warning\u003c/li\u003e\n\u003cli\u003e🔴 Error\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHover for quick details:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eLast backup time\u003c/li\u003e\n\u003cli\u003eError messages\u003c/li\u003e\n\u003cli\u003eSkipped-file summary\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eClick the info icon to open a copyable and scrollable details dialog\u003c/li\u003e\n\u003cli\u003eSkipped files are listed individually when available\u003c/li\u003e\n\u003cli\u003eSkipped files do not automatically mark a successful backup as failed\u003c/li\u003e\n\u003cli\u003eRetention is indicated by a red \u003ccode\u003eR\u003c/code\u003e marker\u003c/li\u003e\n\u003cli\u003eSource cleanup is indicated by a cyan \u003ccode\u003eC\u003c/code\u003e marker\u003c/li\u003e\n\u003cli\u003eBoth markers are displayed when both features are active\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eZIP Support\u003c/h3\u003e\u003ca id=\"user-content-zip-support\" class=\"anchor\" aria-label=\"Permalink: ZIP Support\" href=\"#zip-support\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eOptional compression into \u003ccode\u003e.zip\u003c/code\u003e archives\u003c/li\u003e\n\u003cli\u003eUses the same versioning logic as folder-based backups\u003c/li\u003e\n\u003cli\u003eTemporary ZIP files are finalized only after successful creation\u003c/li\u003e\n\u003cli\u003eNo additional metadata sidecar files are created\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eRobust Error Handling\u003c/h3\u003e\u003ca id=\"user-content-robust-error-handling\" class=\"anchor\" aria-label=\"Permalink: Robust Error Handling\" href=\"#robust-error-handling\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eOption to ignore locked or in-use files\u003c/li\u003e\n\u003cli\u003eBackup can continue without interruption\u003c/li\u003e\n\u003cli\u003eSkipped files are reported per backup entry\u003c/li\u003e\n\u003cli\u003eSkipped-file summaries distinguish between files and folders\u003c/li\u003e\n\u003cli\u003eFailed or canceled backups do not trigger source cleanup\u003c/li\u003e\n\u003cli\u003eUseful for projects with temporary build files, IDE locks, or active services\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSystem Tray Integration\u003c/h3\u003e\u003ca id=\"user-content-system-tray-integration\" class=\"anchor\" aria-label=\"Permalink: System Tray Integration\" href=\"#system-tray-integration\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eMinimize to tray\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eTray tooltip shows the next scheduled backup:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eNext backup in 2 minutes (19:52)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eManual and automatic backups can show tray notifications\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eCanceled backups are reported as canceled instead of completed\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eModernized UI\u003c/h3\u003e\u003ca id=\"user-content-modernized-ui\" class=\"anchor\" aria-label=\"Permalink: Modernized UI\" href=\"#modernized-ui\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eClean, compact main window\u003c/li\u003e\n\u003cli\u003eToolbar with quick actions:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExit\u003c/li\u003e\n\u003cli\u003eAdd path\u003c/li\u003e\n\u003cli\u003eRemove path\u003c/li\u003e\n\u003cli\u003eSettings\u003c/li\u003e\n\u003cli\u003eAbout\u003c/li\u003e\n\u003cli\u003eBackup\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eModern themed dialogs and scrollbars\u003c/li\u003e\n\u003cli\u003eClear visual distinction between normal and destructive actions\u003c/li\u003e\n\u003cli\u003eMain window initially shows only a small number of rows\u003c/li\u003e\n\u003cli\u003eWindow remains resizable\u003c/li\u003e\n\u003cli\u003eResize indicator included\u003c/li\u003e\n\u003cli\u003eTooltips and contextual help added for important controls\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e🧩 How It Works\u003c/h2\u003e\u003ca id=\"user-content--how-it-works\" class=\"anchor\" aria-label=\"Permalink: 🧩 How It Works\" href=\"#-how-it-works\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003eConfigure one or more \u003cstrong\u003esource → target\u003c/strong\u003e paths\u003c/li\u003e\n\u003cli\u003eOptionally define exclusions per backup pair\u003c/li\u003e\n\u003cli\u003eChoose a versioning method\u003c/li\u003e\n\u003cli\u003eOptionally configure:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRetention\u003c/li\u003e\n\u003cli\u003eSource cleanup\u003c/li\u003e\n\u003cli\u003eCustom backup timer\u003c/li\u003e\n\u003cli\u003eError handling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eClick \u003cstrong\u003eBackup\u003c/strong\u003e or let the configured timer start it automatically\u003c/li\u003e\n\u003cli\u003eThe app will:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eValidate the source and target paths\u003c/li\u003e\n\u003cli\u003eCreate a versioned directory or ZIP archive\u003c/li\u003e\n\u003cli\u003eReport progress directly in the backup-pair row\u003c/li\u003e\n\u003cli\u003eSkip problematic files if configured\u003c/li\u003e\n\u003cli\u003ePreview Source Cleanup and Retention candidates before deletion\u003c/li\u003e\n\u003cli\u003eAllow canceling the backup or continuing without deletion\u003c/li\u003e\n\u003cli\u003eApply confirmed Source Cleanup only after a successful backup\u003c/li\u003e\n\u003cli\u003eApply confirmed Retention after backup creation\u003c/li\u003e\n\u003cli\u003eStore the final backup status per entry\u003c/li\u003e\n\u003cli\u003ePersist the selected version only after success\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e⚙️ Settings Overview\u003c/h2\u003e\u003ca id=\"user-content-️-settings-overview\" class=\"anchor\" aria-label=\"Permalink: ⚙️ Settings Overview\" href=\"#️-settings-overview\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBackup Timer\u003c/h3\u003e\u003ca id=\"user-content-backup-timer\" class=\"anchor\" aria-label=\"Permalink: Backup Timer\" href=\"#backup-timer\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFlexible input:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003e30s\u003c/code\u003e → 30 seconds\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e5m\u003c/code\u003e → 5 minutes\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e1h\u003c/code\u003e → 1 hour\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e15\u003c/code\u003e → 15 minutes by default\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDefault Versioning\u003c/h3\u003e\u003ca id=\"user-content-default-versioning\" class=\"anchor\" aria-label=\"Permalink: Default Versioning\" href=\"#default-versioning\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eStarting version or pattern, for example:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003enone\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ev1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eyyyy-MM-dd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eyyyyMMdd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eyyyy-MM-dd-HH-mm\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eyyyyMMddHHmm\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAuto Increment\u003c/h3\u003e\u003ca id=\"user-content-auto-increment\" class=\"anchor\" aria-label=\"Permalink: Auto Increment\" href=\"#auto-increment\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAutomatically increases compatible version numbers\u003c/li\u003e\n\u003cli\u003eUpdated versions are saved only after a successful backup\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eRetention\u003c/h3\u003e\u003ca id=\"user-content-retention\" class=\"anchor\" aria-label=\"Permalink: Retention\" href=\"#retention\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eKeep the latest configured number of backups\u003c/li\u003e\n\u003cli\u003eKeep backups for a configured number of days\u003c/li\u003e\n\u003cli\u003eCombine enabled rules with \u003ccode\u003eAND\u003c/code\u003e or \u003ccode\u003eOR\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eExclude tagged backups from deletion\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSource Cleanup\u003c/h3\u003e\u003ca id=\"user-content-source-cleanup-1\" class=\"anchor\" aria-label=\"Permalink: Source Cleanup\" href=\"#source-cleanup-1\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDelete only explicitly configured file types\u003c/li\u003e\n\u003cli\u003eRestrict cleanup to specific source-relative folders\u003c/li\u003e\n\u003cli\u003eKeep the newest files or delete files older than a selected date\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMinimize to Systray\u003c/h3\u003e\u003ca id=\"user-content-minimize-to-systray\" class=\"anchor\" aria-label=\"Permalink: Minimize to Systray\" href=\"#minimize-to-systray\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eKeeps the app running quietly in the background\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eIgnore Copy Errors\u003c/h3\u003e\u003ca id=\"user-content-ignore-copy-errors\" class=\"anchor\" aria-label=\"Permalink: Ignore Copy Errors\" href=\"#ignore-copy-errors\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSkips locked or problematic files instead of stopping the backup\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eZIP Backups\u003c/h3\u003e\u003ca id=\"user-content-zip-backups\" class=\"anchor\" aria-label=\"Permalink: ZIP Backups\" href=\"#zip-backups\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEnable to create one \u003ccode\u003e.zip\u003c/code\u003e archive per backup\u003c/li\u003e\n\u003cli\u003eDisable to create a versioned backup directory\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePer-Path Exclusions\u003c/h3\u003e\u003ca id=\"user-content-per-path-exclusions\" class=\"anchor\" aria-label=\"Permalink: Per-Path Exclusions\" href=\"#per-path-exclusions\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExclude folders or files from individual backup entries\u003c/li\u003e\n\u003cli\u003eSupports simple names, file extensions, relative paths, \u003ccode\u003e*\u003c/code\u003e, and \u003ccode\u003e**\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e🖥️ Runtime Requirement\u003c/h2\u003e\u003ca id=\"user-content-️-runtime-requirement\" class=\"anchor\" aria-label=\"Permalink: 🖥️ Runtime Requirement\" href=\"#️-runtime-requirement\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe published application targets Windows x64 and requires the .NET 8 Desktop Runtime because the project is framework-dependent (\u003ccode\u003eSelfContained=false\u003c/code\u003e).\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eApplication settings are stored in:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"\u0026lt;application directory\u0026gt;\\Settings\\EasyVersionBackup.settings.json\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003e\u0026lt;application directory\u0026gt;\\Settings\\EasyVersionBackup.settings.json\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe application no longer creates \u003ccode\u003e.evbmeta\u003c/code\u003e sidecar files beside ZIP backups.\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e💡 Use Cases\u003c/h2\u003e\u003ca id=\"user-content--use-cases\" class=\"anchor\" aria-label=\"Permalink: 💡 Use Cases\" href=\"#-use-cases\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBackup Visual Studio projects\u003c/li\u003e\n\u003cli\u003eCreate safe snapshots before refactoring\u003c/li\u003e\n\u003cli\u003ePreserve game saves while automatically removing older save files\u003c/li\u003e\n\u003cli\u003eKeep only a defined number of recent backups\u003c/li\u003e\n\u003cli\u003eProtect release backups using retention tags\u003c/li\u003e\n\u003cli\u003eSave versions before deployments or releases\u003c/li\u003e\n\u003cli\u003eRun automatic backups while working\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/article\u003e","richTextTruncated":false,"renderedFileInfo":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"Important Safety Notice","kind":"section_2","ident_start":159,"ident_end":182,"extent_start":156,"extent_end":601,"fully_qualified_name":"Important Safety Notice","ident_utf16":{"start":{"line_number":5,"utf16_col":3},"end":{"line_number":5,"utf16_col":26}},"extent_utf16":{"start":{"line_number":5,"utf16_col":0},"end":{"line_number":17,"utf16_col":0}}},{"name":"EasyVersionBackup","kind":"section_1","ident_start":603,"ident_end":620,"extent_start":601,"extent_end":10433,"fully_qualified_name":"EasyVersionBackup","ident_utf16":{"start":{"line_number":17,"utf16_col":2},"end":{"line_number":17,"utf16_col":19}},"extent_utf16":{"start":{"line_number":17,"utf16_col":0},"end":{"line_number":358,"utf16_col":0}}},{"name":"❤️ Support","kind":"section_2","ident_start":1045,"ident_end":1059,"extent_start":1042,"extent_end":2316,"fully_qualified_name":"❤️ Support","ident_utf16":{"start":{"line_number":30,"utf16_col":3},"end":{"line_number":30,"utf16_col":13}},"extent_utf16":{"start":{"line_number":30,"utf16_col":0},"end":{"line_number":94,"utf16_col":0}}},{"name":"🚀 Features","kind":"section_2","ident_start":2319,"ident_end":2332,"extent_start":2316,"extent_end":7544,"fully_qualified_name":"🚀 Features","ident_utf16":{"start":{"line_number":94,"utf16_col":3},"end":{"line_number":94,"utf16_col":14}},"extent_utf16":{"start":{"line_number":94,"utf16_col":0},"end":{"line_number":251,"utf16_col":0}}},{"name":"Versioned Backups","kind":"section_3","ident_start":2338,"ident_end":2355,"extent_start":2334,"extent_end":2738,"fully_qualified_name":"Versioned Backups","ident_utf16":{"start":{"line_number":96,"utf16_col":4},"end":{"line_number":96,"utf16_col":21}},"extent_utf16":{"start":{"line_number":96,"utf16_col":0},"end":{"line_number":105,"utf16_col":0}}},{"name":"Multiple Backup Configurations","kind":"section_3","ident_start":2742,"ident_end":2772,"extent_start":2738,"extent_end":3063,"fully_qualified_name":"Multiple Backup Configurations","ident_utf16":{"start":{"line_number":105,"utf16_col":4},"end":{"line_number":105,"utf16_col":34}},"extent_utf16":{"start":{"line_number":105,"utf16_col":0},"end":{"line_number":113,"utf16_col":0}}},{"name":"Per-Entry Exclusions","kind":"section_3","ident_start":3067,"ident_end":3087,"extent_start":3063,"extent_end":3661,"fully_qualified_name":"Per-Entry Exclusions","ident_utf16":{"start":{"line_number":113,"utf16_col":4},"end":{"line_number":113,"utf16_col":24}},"extent_utf16":{"start":{"line_number":113,"utf16_col":0},"end":{"line_number":131,"utf16_col":0}}},{"name":"Backup Retention","kind":"section_3","ident_start":3665,"ident_end":3681,"extent_start":3661,"extent_end":4180,"fully_qualified_name":"Backup Retention","ident_utf16":{"start":{"line_number":131,"utf16_col":4},"end":{"line_number":131,"utf16_col":20}},"extent_utf16":{"start":{"line_number":131,"utf16_col":0},"end":{"line_number":145,"utf16_col":0}}},{"name":"Source Cleanup","kind":"section_3","ident_start":4184,"ident_end":4198,"extent_start":4180,"extent_end":4650,"fully_qualified_name":"Source Cleanup","ident_utf16":{"start":{"line_number":145,"utf16_col":4},"end":{"line_number":145,"utf16_col":18}},"extent_utf16":{"start":{"line_number":145,"utf16_col":0},"end":{"line_number":161,"utf16_col":0}}},{"name":"Flexible Backup Timer","kind":"section_3","ident_start":4654,"ident_end":4675,"extent_start":4650,"extent_end":4884,"fully_qualified_name":"Flexible Backup Timer","ident_utf16":{"start":{"line_number":161,"utf16_col":4},"end":{"line_number":161,"utf16_col":25}},"extent_utf16":{"start":{"line_number":161,"utf16_col":0},"end":{"line_number":170,"utf16_col":0}}},{"name":"Silent Backup Progress","kind":"section_3","ident_start":4888,"ident_end":4910,"extent_start":4884,"extent_end":5380,"fully_qualified_name":"Silent Backup Progress","ident_utf16":{"start":{"line_number":170,"utf16_col":4},"end":{"line_number":170,"utf16_col":26}},"extent_utf16":{"start":{"line_number":170,"utf16_col":0},"end":{"line_number":181,"utf16_col":0}}},{"name":"Automatic Background Backups","kind":"section_3","ident_start":5384,"ident_end":5412,"extent_start":5380,"extent_end":5702,"fully_qualified_name":"Automatic Background Backups","ident_utf16":{"start":{"line_number":181,"utf16_col":4},"end":{"line_number":181,"utf16_col":32}},"extent_utf16":{"start":{"line_number":181,"utf16_col":0},"end":{"line_number":189,"utf16_col":0}}},{"name":"Status \u0026 Feedback System","kind":"section_3","ident_start":5706,"ident_end":5730,"extent_start":5702,"extent_end":6252,"fully_qualified_name":"Status \u0026 Feedback System","ident_utf16":{"start":{"line_number":189,"utf16_col":4},"end":{"line_number":189,"utf16_col":28}},"extent_utf16":{"start":{"line_number":189,"utf16_col":0},"end":{"line_number":206,"utf16_col":0}}},{"name":"ZIP Support","kind":"section_3","ident_start":6256,"ident_end":6267,"extent_start":6252,"extent_end":6489,"fully_qualified_name":"ZIP Support","ident_utf16":{"start":{"line_number":206,"utf16_col":4},"end":{"line_number":206,"utf16_col":15}},"extent_utf16":{"start":{"line_number":206,"utf16_col":0},"end":{"line_number":213,"utf16_col":0}}},{"name":"Robust Error Handling","kind":"section_3","ident_start":6493,"ident_end":6514,"extent_start":6489,"extent_end":6850,"fully_qualified_name":"Robust Error Handling","ident_utf16":{"start":{"line_number":213,"utf16_col":4},"end":{"line_number":213,"utf16_col":25}},"extent_utf16":{"start":{"line_number":213,"utf16_col":0},"end":{"line_number":222,"utf16_col":0}}},{"name":"System Tray Integration","kind":"section_3","ident_start":6854,"ident_end":6877,"extent_start":6850,"extent_end":7110,"fully_qualified_name":"System Tray Integration","ident_utf16":{"start":{"line_number":222,"utf16_col":4},"end":{"line_number":222,"utf16_col":27}},"extent_utf16":{"start":{"line_number":222,"utf16_col":0},"end":{"line_number":232,"utf16_col":0}}},{"name":"Modernized UI","kind":"section_3","ident_start":7114,"ident_end":7127,"extent_start":7110,"extent_end":7544,"fully_qualified_name":"Modernized UI","ident_utf16":{"start":{"line_number":232,"utf16_col":4},"end":{"line_number":232,"utf16_col":17}},"extent_utf16":{"start":{"line_number":232,"utf16_col":0},"end":{"line_number":251,"utf16_col":0}}},{"name":"🧩 How It Works","kind":"section_2","ident_start":7547,"ident_end":7564,"extent_start":7544,"extent_end":8432,"fully_qualified_name":"🧩 How It Works","ident_utf16":{"start":{"line_number":251,"utf16_col":3},"end":{"line_number":251,"utf16_col":18}},"extent_utf16":{"start":{"line_number":251,"utf16_col":0},"end":{"line_number":276,"utf16_col":0}}},{"name":"⚙️ Settings Overview","kind":"section_2","ident_start":8435,"ident_end":8459,"extent_start":8432,"extent_end":9713,"fully_qualified_name":"⚙️ Settings Overview","ident_utf16":{"start":{"line_number":276,"utf16_col":3},"end":{"line_number":276,"utf16_col":23}},"extent_utf16":{"start":{"line_number":276,"utf16_col":0},"end":{"line_number":337,"utf16_col":0}}},{"name":"Backup Timer","kind":"section_3","ident_start":8465,"ident_end":8477,"extent_start":8461,"extent_end":8592,"fully_qualified_name":"Backup Timer","ident_utf16":{"start":{"line_number":278,"utf16_col":4},"end":{"line_number":278,"utf16_col":16}},"extent_utf16":{"start":{"line_number":278,"utf16_col":0},"end":{"line_number":287,"utf16_col":0}}},{"name":"Default Versioning","kind":"section_3","ident_start":8596,"ident_end":8614,"extent_start":8592,"extent_end":8752,"fully_qualified_name":"Default Versioning","ident_utf16":{"start":{"line_number":287,"utf16_col":4},"end":{"line_number":287,"utf16_col":22}},"extent_utf16":{"start":{"line_number":287,"utf16_col":0},"end":{"line_number":299,"utf16_col":0}}},{"name":"Auto Increment","kind":"section_3","ident_start":8756,"ident_end":8770,"extent_start":8752,"extent_end":8886,"fully_qualified_name":"Auto Increment","ident_utf16":{"start":{"line_number":299,"utf16_col":4},"end":{"line_number":299,"utf16_col":18}},"extent_utf16":{"start":{"line_number":299,"utf16_col":0},"end":{"line_number":304,"utf16_col":0}}},{"name":"Retention","kind":"section_3","ident_start":8890,"ident_end":8899,"extent_start":8886,"extent_end":9078,"fully_qualified_name":"Retention","ident_utf16":{"start":{"line_number":304,"utf16_col":4},"end":{"line_number":304,"utf16_col":13}},"extent_utf16":{"start":{"line_number":304,"utf16_col":0},"end":{"line_number":311,"utf16_col":0}}},{"name":"Source Cleanup","kind":"section_3","ident_start":9082,"ident_end":9096,"extent_start":9078,"extent_end":9268,"fully_qualified_name":"Source Cleanup","ident_utf16":{"start":{"line_number":311,"utf16_col":4},"end":{"line_number":311,"utf16_col":18}},"extent_utf16":{"start":{"line_number":311,"utf16_col":0},"end":{"line_number":317,"utf16_col":0}}},{"name":"Minimize to Systray","kind":"section_3","ident_start":9272,"ident_end":9291,"extent_start":9268,"extent_end":9344,"fully_qualified_name":"Minimize to Systray","ident_utf16":{"start":{"line_number":317,"utf16_col":4},"end":{"line_number":317,"utf16_col":23}},"extent_utf16":{"start":{"line_number":317,"utf16_col":0},"end":{"line_number":321,"utf16_col":0}}},{"name":"Ignore Copy Errors","kind":"section_3","ident_start":9348,"ident_end":9366,"extent_start":9344,"extent_end":9436,"fully_qualified_name":"Ignore Copy Errors","ident_utf16":{"start":{"line_number":321,"utf16_col":4},"end":{"line_number":321,"utf16_col":22}},"extent_utf16":{"start":{"line_number":321,"utf16_col":0},"end":{"line_number":325,"utf16_col":0}}},{"name":"ZIP Backups","kind":"section_3","ident_start":9440,"ident_end":9451,"extent_start":9436,"extent_end":9552,"fully_qualified_name":"ZIP Backups","ident_utf16":{"start":{"line_number":325,"utf16_col":4},"end":{"line_number":325,"utf16_col":15}},"extent_utf16":{"start":{"line_number":325,"utf16_col":0},"end":{"line_number":330,"utf16_col":0}}},{"name":"Per-Path Exclusions","kind":"section_3","ident_start":9556,"ident_end":9575,"extent_start":9552,"extent_end":9713,"fully_qualified_name":"Per-Path Exclusions","ident_utf16":{"start":{"line_number":330,"utf16_col":4},"end":{"line_number":330,"utf16_col":23}},"extent_utf16":{"start":{"line_number":330,"utf16_col":0},"end":{"line_number":337,"utf16_col":0}}},{"name":"🖥️ Runtime Requirement","kind":"section_2","ident_start":9716,"ident_end":9743,"extent_start":9713,"extent_end":10092,"fully_qualified_name":"🖥️ Runtime Requirement","ident_utf16":{"start":{"line_number":337,"utf16_col":3},"end":{"line_number":337,"utf16_col":26}},"extent_utf16":{"start":{"line_number":337,"utf16_col":0},"end":{"line_number":349,"utf16_col":0}}},{"name":"💡 Use Cases","kind":"section_2","ident_start":10095,"ident_end":10109,"extent_start":10092,"extent_end":10433,"fully_qualified_name":"💡 Use Cases","ident_utf16":{"start":{"line_number":349,"utf16_col":3},"end":{"line_number":349,"utf16_col":15}},"extent_utf16":{"start":{"line_number":349,"utf16_col":0},"end":{"line_number":358,"utf16_col":0}}}]}},"codeViewLayoutRoute":{"repo":{"id":1201455577,"defaultBranch":"master","name":"EasyVersionBackup","ownerLogin":"UncleRiot","currentUserCanPush":true,"isFork":false,"isEmpty":false,"createdAt":"2026-04-04T19:46:40.000+02:00","ownerAvatar":"https://avatars.githubusercontent.com/u/121725437?v=4","public":true,"private":false,"isOrgOwned":false},"currentUser":{"id":121725437,"login":"UncleRiot","userEmail":"dc@sentinel.de"},"uploadToken":"5IqWw3-xa9HoAqWFMbPVL3Eo56pZRrIPHW1SoWrE_5X-xenfDb2Pgeqo5ZlhMdac9q_opsMzUsk3OHIRf2vLuA","allShortcutsEnabled":true,"treeExpanded":true,"path":"README.md","symbolsExpanded":false,"refInfo":{"name":"master","listCacheKey":"v0:1783855338.0","canEdit":false,"currentOid":"90708f122063ca670197e7b8f1e0ce3cb41a6882"},"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-e47c88e0e1d9a6e9.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-46708daff7a1f480.js","githubDevUrl":"https://github.dev/"},"codeViewFileTreeLayoutRoute":{"fileTree":{"":{"items":[{"name":"Ressources","path":"Ressources","contentType":"directory"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"AboutForm.cs","path":"AboutForm.cs","contentType":"file"},{"name":"AboutForm.resx","path":"AboutForm.resx","contentType":"file"},{"name":"AppSettings.cs","path":"AppSettings.cs","contentType":"file"},{"name":"ApplicationVersionHelper.cs","path":"ApplicationVersionHelper.cs","contentType":"file"},{"name":"AutoBackupIntervalHelper.cs","path":"AutoBackupIntervalHelper.cs","contentType":"file"},{"name":"BackupDialogHelper.cs","path":"BackupDialogHelper.cs","contentType":"file"},{"name":"BackupFileService.cs","path":"BackupFileService.cs","contentType":"file"},{"name":"BackupHelper.cs","path":"BackupHelper.cs","contentType":"file"},{"name":"BackupLogger.cs","path":"BackupLogger.cs","contentType":"file"},{"name":"BackupPairSettingsDialog.cs","path":"BackupPairSettingsDialog.cs","contentType":"file"},{"name":"BackupVersionItem.cs","path":"BackupVersionItem.cs","contentType":"file"},{"name":"CORRECTIONS.md","path":"CORRECTIONS.md","contentType":"file"},{"name":"DISCLAIMER.md","path":"DISCLAIMER.md","contentType":"file"},{"name":"EasyVersionBackup.csproj","path":"EasyVersionBackup.csproj","contentType":"file"},{"name":"EasyVersionBackup.sln","path":"EasyVersionBackup.sln","contentType":"file"},{"name":"ExclusionsDialog.cs","path":"ExclusionsDialog.cs","contentType":"file"},{"name":"FileErrorDialog.cs","path":"FileErrorDialog.cs","contentType":"file"},{"name":"FileErrorDialog.resx","path":"FileErrorDialog.resx","contentType":"file"},{"name":"Form1.Designer.cs","path":"Form1.Designer.cs","contentType":"file"},{"name":"Form1.cs","path":"Form1.cs","contentType":"file"},{"name":"Form1.resx","path":"Form1.resx","contentType":"file"},{"name":"LICENSE.txt","path":"LICENSE.txt","contentType":"file"},{"name":"ModernBackupInfoDialog.cs","path":"ModernBackupInfoDialog.cs","contentType":"file"},{"name":"ModernConfirmationDialog.cs","path":"ModernConfirmationDialog.cs","contentType":"file"},{"name":"ModernFolderBrowserDialog.cs","path":"ModernFolderBrowserDialog.cs","contentType":"file"},{"name":"ModernMessageDialog.cs","path":"ModernMessageDialog.cs","contentType":"file"},{"name":"ModernSettings.cs","path":"ModernSettings.cs","contentType":"file"},{"name":"ModernTheme.cs","path":"ModernTheme.cs","contentType":"file"},{"name":"ModernWindowFrame.cs","path":"ModernWindowFrame.cs","contentType":"file"},{"name":"Program.cs","path":"Program.cs","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"SettingsStorage.cs","path":"SettingsStorage.cs","contentType":"file"},{"name":"SourceCleanupService.cs","path":"SourceCleanupService.cs","contentType":"file"},{"name":"SourceCleanupSettingsDialog.cs","path":"SourceCleanupSettingsDialog.cs","contentType":"file"},{"name":"SystemLogger.cs","path":"SystemLogger.cs","contentType":"file"},{"name":"ToolsHelper.cs","path":"ToolsHelper.cs","contentType":"file"},{"name":"VersionHelper.cs","path":"VersionHelper.cs","contentType":"file"},{"name":"VersionHelperGit.cs","path":"VersionHelperGit.cs","contentType":"file"},{"name":"VersionInputForm.Designer.cs","path":"VersionInputForm.Designer.cs","contentType":"file"},{"name":"VersionInputForm.cs","path":"VersionInputForm.cs","contentType":"file"},{"name":"VersionInputForm.resx","path":"VersionInputForm.resx","contentType":"file"},{"name":"VersionPatternHelper.cs","path":"VersionPatternHelper.cs","contentType":"file"}],"totalCount":45}},"fileTreeProcessingTime":11.843608,"foldersToFetch":[]},"codeViewBlobLayoutRoute":{"codeLineWrapEnabled":false,"refInfo":{"name":"master","listCacheKey":"v0:1783855338.0","canEdit":true,"refType":"branch","currentOid":"90708f122063ca670197e7b8f1e0ce3cb41a6882","canEditOnDefaultBranch":true,"fileExistsOnDefault":true},"path":"README.md","blob":{"copilotSWEAgentEnabled":false,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/UncleRiot/EasyVersionBackup/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":false},"displayName":"README.md","displayUrl":"https://github.com/UncleRiot/EasyVersionBackup/blob/master/README.md?raw=true","headerInfo":{"blobSize":"10.2 KB","deleteTooltip":"Delete this file","editTooltip":"Edit this file","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"a52925d","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FUncleRiot%2FEasyVersionBackup%2Fblob%2Fmaster%2FREADME.md","isCSV":false,"isRichtext":true,"lineInfo":{"truncatedLoc":"358","truncatedSloc":"253"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"isIssueTemplate":false,"isDiscussionTemplate":false,"language":"Markdown","languageID":222,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/UncleRiot/EasyVersionBackup/blob/master/README.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/UncleRiot/EasyVersionBackup/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/UncleRiot/EasyVersionBackup/raw/refs/heads/master/README.md","renderImageOrRaw":false,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null},"copilotInfo":{"documentationUrl":"https://docs.github.com/copilot/overview-of-github-copilot/about-github-copilot-for-individuals","notices":{"codeViewPopover":{"dismissed":false,"dismissPath":"/settings/dismiss-notice/code_view_copilot_popover"}},"userAccess":{"hasSubscriptionEnded":false,"orgHasCFBAccess":false,"userHasCFIAccess":false,"userHasOrgs":false,"userIsOrgAdmin":false,"userIsOrgMember":false,"business":null,"featureRequestInfo":null}},"copilotAccessAllowed":false,"copilotSpacesEnabled":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"isMarketplaceEnabled":true},"codeViewBlobLayoutRoute.StyledBlob":{"rawLines":["\u003e [!WARNING]","\u003e This software can permanently delete source and destination data.","\u003e Read the [Data-Loss Warning and Disclaimer](DISCLAIMER.md) before use.","","","## Important Safety Notice","","Retention and Source Cleanup are experimental features that can permanently delete source files or older backups.","","Both features are disabled by default and must be enabled explicitly. Always keep an independent, verified backup before using them.","","See the [Wiki](https://github.com/UncleRiot/EasyVersionBackup/wiki) for detailed configuration, restore instructions, limitations, and safety information.","","\u003cbr\u003e","\u003cbr\u003e","","","# EasyVersionBackup","","EasyVersionBackup is a lightweight Windows tool for creating versioned backups of folders. ","Back up save-game folders, office-document folders, Visual C# project folders, and other local directories.","","It supports manual and automatic backups, multiple source → target configurations, ZIP backups, per-entry exclusions, skipped-file reporting, system tray integration, and a clean WinForms interface.","","\u003cbr\u003e","","---","","\u003cbr\u003e","","## ❤️ Support","","EasyVersionBackup is free to use.","If this tool saves you time, you can support development here:","","\u003ca href=\"https://ko-fi.com/uncleriot\"\u003e"," \u003cimg src=\"https://storage.ko-fi.com/cdn/kofi2.png?v=3\" height=\"36\" alt=\"Support EasyVersionBackup on Ko-fi\" /\u003e","\u003c/a\u003e","","\u003cbr\u003e","\u003cbr\u003e","","---","","\u003cbr\u003e","\u003cbr\u003e","","","\u003e [!IMPORTANT]","\u003e If Windows SmartScreen blocks the app, right-click the EXE → **Properties** → check **Unblock** → **Apply** → **OK**, then start it again.","\u003e","","\u003cbr\u003e","","---","","","Main-Window","","\u003cbr\u003e","\u003cimg width=\"956\" height=\"326\" alt=\"grafik\" src=\"https://github.com/user-attachments/assets/fa575d05-ad64-47d0-b571-23e36ca8c9a0\" /\u003e","\u003cbr\u003e","","","Backup Pair Settings","","\u003cbr\u003e","\u003cimg width=\"420\" height=\"545\" alt=\"grafik\" src=\"https://github.com/user-attachments/assets/1c40f1c8-8850-43b3-942b-96adca495d70\" /\u003e","\u003cbr\u003e","","","Source Cleanup","","\u003cbr\u003e","\u003cimg width=\"620\" height=\"470\" alt=\"grafik\" src=\"https://github.com/user-attachments/assets/5d085162-6e20-4bb3-a952-b72d406892bd\" /\u003e","\u003cbr\u003e","","\u003cbr\u003e","\u003cimg width=\"520\" height=\"353\" alt=\"grafik\" src=\"https://github.com/user-attachments/assets/0eb99537-3643-44b5-a4f5-a3ecc3d5efd3\" /\u003e","\u003cbr\u003e","","\u003cbr\u003e","\u003cimg width=\"760\" height=\"430\" alt=\"grafik\" src=\"https://github.com/user-attachments/assets/caee9f1d-9609-41fb-b16b-bf744374f555\" /\u003e","\u003cbr\u003e","","","\u003cbr\u003e","\u003cbr\u003e","\u003cbr\u003e","","---","","","","## 🚀 Features","","### Versioned Backups","","- Create structured backups with version numbers","- Supports manual input, auto-increment, and timestamp-based versions","- Remembers manually adjusted versions per source → target pair","- Detects existing versions and suggests the next logical version","- Updated versions are stored only after a successful backup","- Canceling a backup does not advance or persist the version number","","### Multiple Backup Configurations","","- Configure multiple source → target pairs","- Enable or disable each entry individually","- Edit source and target paths directly in the main window","- Browse folders directly from the main table","- Configure versioning, retention, source cleanup, timers, and error handling per backup pair","","### Per-Entry Exclusions","","- Define excluded files or folders per backup entry","- Edit exclusions directly from the main window or Settings","- Add and remove exclusions through a table-based editor","- Confirmation prompt before removing existing exclusion entries","- Supports source-relative paths and glob-style patterns","","","Pattern behavior:","","- `.sav` and `*.sav` match `.sav` files","- `*` matches characters within one path level","- `**` matches any number of folder levels","- A trailing `\\` restricts the rule to folders","- Matching is case-insensitive","- Wildcard-only exclusions are rejected for safety","","### Backup Retention","","- Configure retention separately for every backup pair","- Keep the newest number of backups","- Keep backups for a configured number of days","- Combine retention rules using `AND` or `OR`","- Protect tagged backups such as `Final` or `OK`","- Preview affected backups before permanent deletion","- Choose between:"," - Canceling the complete backup"," - Continuing without deleting old backups"," - Creating the backup and deleting confirmed retention candidates","- Destructive actions are clearly highlighted","","### Source Cleanup","","- Experimental feature for removing old source files after a successful backup","- Must be enabled globally and per backup pair","- Supports multiple rules, for example:"," ```text"," .sav"," G1R*.sav"," Saved\\SaveGames\\.sav"," Saved\\SaveGames\\G1R*.sav"," ```","- Keep the newest files or delete files older than a selected date","- Shows a deletion preview before cleanup","- Directories are never deleted","- Cleanup does not run if the backup fails or is canceled","","### Flexible Backup Timer","","- Define intervals like `30s`, `5m`, or `1h`","- Configure a global timer or a custom timer per backup pair","- Live countdown visible:"," - In the main UI"," - In the window title"," - In the system tray tooltip","","### Silent Backup Progress","","- Backup progress is displayed directly inside the main table","- Source-related operations fill the source-directory cell","- Target-related operations fill the target-directory cell","- The timer column temporarily shows the current percentage","- Indeterminate phases use a subtle moving progress fill","- The normal timer value is restored after completion","- Multiple backup pairs can show progress independently","- No additional progress window or focus change is required","","### Automatic Background Backups","","- File and ZIP creation runs outside the UI thread","- Works while you use other applications","- Automatic backups remain silent unless user interaction is required","- Destination-conflict and retention confirmations can still require interaction","- Optional minimize-to-system-tray behavior","","### Status \u0026 Feedback System","","- Per-entry status indicator:"," - 🟢 OK"," - 🟡 Warning"," - 🔴 Error","- Hover for quick details:"," - Last backup time"," - Error messages"," - Skipped-file summary","- Click the info icon to open a copyable and scrollable details dialog","- Skipped files are listed individually when available","- Skipped files do not automatically mark a successful backup as failed","- Retention is indicated by a red `R` marker","- Source cleanup is indicated by a cyan `C` marker","- Both markers are displayed when both features are active","","### ZIP Support","","- Optional compression into `.zip` archives","- Uses the same versioning logic as folder-based backups","- Temporary ZIP files are finalized only after successful creation","- No additional metadata sidecar files are created","","### Robust Error Handling","","- Option to ignore locked or in-use files","- Backup can continue without interruption","- Skipped files are reported per backup entry","- Skipped-file summaries distinguish between files and folders","- Failed or canceled backups do not trigger source cleanup","- Useful for projects with temporary build files, IDE locks, or active services","","### System Tray Integration","","- Minimize to tray","- Tray tooltip shows the next scheduled backup:",""," Next backup in 2 minutes (19:52)","","- Manual and automatic backups can show tray notifications","- Canceled backups are reported as canceled instead of completed","","### Modernized UI","","- Clean, compact main window","- Toolbar with quick actions:"," - Exit"," - Add path"," - Remove path"," - Settings"," - About"," - Backup","- Modern themed dialogs and scrollbars","- Clear visual distinction between normal and destructive actions","- Main window initially shows only a small number of rows","- Window remains resizable","- Resize indicator included","- Tooltips and contextual help added for important controls","","---","","## 🧩 How It Works","","1. Configure one or more **source → target** paths","2. Optionally define exclusions per backup pair","3. Choose a versioning method","4. Optionally configure:"," - Retention"," - Source cleanup"," - Custom backup timer"," - Error handling","5. Click **Backup** or let the configured timer start it automatically","6. The app will:"," - Validate the source and target paths"," - Create a versioned directory or ZIP archive"," - Report progress directly in the backup-pair row"," - Skip problematic files if configured"," - Preview Source Cleanup and Retention candidates before deletion"," - Allow canceling the backup or continuing without deletion"," - Apply confirmed Source Cleanup only after a successful backup"," - Apply confirmed Retention after backup creation"," - Store the final backup status per entry"," - Persist the selected version only after success","","---","","## ⚙️ Settings Overview","","### Backup Timer","","Flexible input:","","- `30s` → 30 seconds","- `5m` → 5 minutes","- `1h` → 1 hour","- `15` → 15 minutes by default","","### Default Versioning","","Starting version or pattern, for example:","","- `none`","- `v1.0`","- `1.0`","- `yyyy-MM-dd`","- `yyyyMMdd`","- `yyyy-MM-dd-HH-mm`","- `yyyyMMddHHmm`","","### Auto Increment","","- Automatically increases compatible version numbers","- Updated versions are saved only after a successful backup","","### Retention","","- Keep the latest configured number of backups","- Keep backups for a configured number of days","- Combine enabled rules with `AND` or `OR`","- Exclude tagged backups from deletion","","### Source Cleanup","","- Delete only explicitly configured file types","- Restrict cleanup to specific source-relative folders","- Keep the newest files or delete files older than a selected date","","### Minimize to Systray","","- Keeps the app running quietly in the background","","### Ignore Copy Errors","","- Skips locked or problematic files instead of stopping the backup","","### ZIP Backups","","- Enable to create one `.zip` archive per backup","- Disable to create a versioned backup directory","","### Per-Path Exclusions","","- Exclude folders or files from individual backup entries","- Supports simple names, file extensions, relative paths, `*`, and `**`","","---","","## 🖥️ Runtime Requirement","","The published application targets Windows x64 and requires the .NET 8 Desktop Runtime because the project is framework-dependent (`SelfContained=false`).","","Application settings are stored in:",""," \u003capplication directory\u003e\\Settings\\EasyVersionBackup.settings.json","","The application no longer creates `.evbmeta` sidecar files beside ZIP backups.","","---","","## 💡 Use Cases","","- Backup Visual Studio projects","- Create safe snapshots before refactoring","- Preserve game saves while automatically removing older save files","- Keep only a defined number of recent backups","- Protect release backups using retention tags","- Save versions before deployments or releases","- Run automatic backups while working"],"stylingDirectives":null,"colorizedLines":["\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt; \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e[\u003c/span\u003e!WARNING\u003cspan class=\"pl-s\"\u003e]\u003c/span\u003e\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt; \u003c/span\u003eThis software can permanently delete source and destination data.\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt; \u003c/span\u003eRead the \u003cspan class=\"pl-s\"\u003e[\u003c/span\u003eData-Loss Warning and Disclaimer\u003cspan class=\"pl-s\"\u003e]\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-corl\"\u003eDISCLAIMER.md\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e)\u003c/span\u003e before use.\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003eImportant Safety Notice\u003c/span\u003e\u003c/span\u003e","","Retention and Source Cleanup are experimental features that can permanently delete source files or older backups.","","Both features are disabled by default and must be enabled explicitly. Always keep an independent, verified backup before using them.","","See the \u003cspan class=\"pl-s\"\u003e[\u003c/span\u003eWiki\u003cspan class=\"pl-s\"\u003e]\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-corl\"\u003ehttps://github.com/UncleRiot/EasyVersionBackup/wiki\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e)\u003c/span\u003e for detailed configuration, restore instructions, limitations, and safety information.","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","","\u003cspan class=\"pl-mh\"\u003e# \u003cspan class=\"pl-en\"\u003eEasyVersionBackup\u003c/span\u003e\u003c/span\u003e","","EasyVersionBackup is a lightweight Windows tool for creating versioned backups of folders. ","Back up save-game folders, office-document folders, Visual C# project folders, and other local directories.","","It supports manual and automatic backups, multiple source → target configurations, ZIP backups, per-entry exclusions, skipped-file reporting, system tray integration, and a clean WinForms interface.","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e❤️ Support\u003c/span\u003e\u003c/span\u003e","","EasyVersionBackup is free to use.","If this tool saves you time, you can support development here:","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ea\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ehref\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://ko-fi.com/uncleriot\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u0026gt;"," \u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://storage.ko-fi.com/cdn/kofi2.png?v=3\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e36\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003eSupport EasyVersionBackup on Ko-fi\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;/\u003cspan class=\"pl-ent\"\u003ea\u003c/span\u003e\u0026gt;","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","","\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt; \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e[\u003c/span\u003e!IMPORTANT\u003cspan class=\"pl-s\"\u003e]\u003c/span\u003e\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt; \u003c/span\u003eIf Windows SmartScreen blocks the app, right-click the EXE → \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003eProperties\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e → check \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003eUnblock\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e → \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003eApply\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e → \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003eOK\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e, then start it again.\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt;\u003c/span\u003e\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003c/span\u003e","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","","Main-Window","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ewidth\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e956\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e326\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003egrafik\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://github.com/user-attachments/assets/fa575d05-ad64-47d0-b571-23e36ca8c9a0\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","","Backup Pair Settings","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ewidth\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e420\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e545\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003egrafik\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://github.com/user-attachments/assets/1c40f1c8-8850-43b3-942b-96adca495d70\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","","Source Cleanup","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ewidth\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e620\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e470\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003egrafik\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://github.com/user-attachments/assets/5d085162-6e20-4bb3-a952-b72d406892bd\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ewidth\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e520\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e353\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003egrafik\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://github.com/user-attachments/assets/0eb99537-3643-44b5-a4f5-a3ecc3d5efd3\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ewidth\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e760\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e430\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003egrafik\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://github.com/user-attachments/assets/caee9f1d-9609-41fb-b16b-bf744374f555\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e🚀 Features\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eVersioned Backups\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Create structured backups with version numbers","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Supports manual input, auto-increment, and timestamp-based versions","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Remembers manually adjusted versions per source → target pair","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Detects existing versions and suggests the next logical version","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Updated versions are stored only after a successful backup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Canceling a backup does not advance or persist the version number","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eMultiple Backup Configurations\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Configure multiple source → target pairs","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Enable or disable each entry individually","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Edit source and target paths directly in the main window","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Browse folders directly from the main table","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Configure versioning, retention, source cleanup, timers, and error handling per backup pair","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003ePer-Entry Exclusions\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Define excluded files or folders per backup entry","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Edit exclusions directly from the main window or Settings","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Add and remove exclusions through a table-based editor","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Confirmation prompt before removing existing exclusion entries","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Supports source-relative paths and glob-style patterns","","","Pattern behavior:","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e.sav\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e and \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e*.sav\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e match \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e.sav\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e files","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e*\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e matches characters within one path level","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e**\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e matches any number of folder levels","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e A trailing \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e\\\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e restricts the rule to folders","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Matching is case-insensitive","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Wildcard-only exclusions are rejected for safety","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eBackup Retention\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Configure retention separately for every backup pair","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep the newest number of backups","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep backups for a configured number of days","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Combine retention rules using \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eAND\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e or \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eOR\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Protect tagged backups such as \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eFinal\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e or \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eOK\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Preview affected backups before permanent deletion","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Choose between:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Canceling the complete backup"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Continuing without deleting old backups"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Creating the backup and deleting confirmed retention candidates","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Destructive actions are clearly highlighted","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eSource Cleanup\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Experimental feature for removing old source files after a successful backup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Must be enabled globally and per backup pair","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Supports multiple rules, for example:"," \u003cspan class=\"pl-s\"\u003e```\u003c/span\u003e\u003cspan class=\"pl-en\"\u003etext\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e\u003c/span\u003e","\u003cspan class=\"pl-c1\"\u003e .sav\u003c/span\u003e","\u003cspan class=\"pl-c1\"\u003e G1R*.sav\u003c/span\u003e","\u003cspan class=\"pl-c1\"\u003e Saved\\SaveGames\\.sav\u003c/span\u003e","\u003cspan class=\"pl-c1\"\u003e Saved\\SaveGames\\G1R*.sav\u003c/span\u003e","\u003cspan class=\"pl-c1\"\u003e\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e```\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep the newest files or delete files older than a selected date","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Shows a deletion preview before cleanup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Directories are never deleted","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Cleanup does not run if the backup fails or is canceled","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eFlexible Backup Timer\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Define intervals like \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e30s\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e, \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e5m\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e, or \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e1h\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Configure a global timer or a custom timer per backup pair","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Live countdown visible:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e In the main UI"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e In the window title"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e In the system tray tooltip","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eSilent Backup Progress\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Backup progress is displayed directly inside the main table","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Source-related operations fill the source-directory cell","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Target-related operations fill the target-directory cell","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e The timer column temporarily shows the current percentage","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Indeterminate phases use a subtle moving progress fill","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e The normal timer value is restored after completion","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Multiple backup pairs can show progress independently","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e No additional progress window or focus change is required","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eAutomatic Background Backups\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e File and ZIP creation runs outside the UI thread","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Works while you use other applications","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Automatic backups remain silent unless user interaction is required","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Destination-conflict and retention confirmations can still require interaction","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Optional minimize-to-system-tray behavior","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eStatus \u0026amp; Feedback System\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Per-entry status indicator:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e 🟢 OK"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e 🟡 Warning"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e 🔴 Error","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Hover for quick details:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Last backup time"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Error messages"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skipped-file summary","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Click the info icon to open a copyable and scrollable details dialog","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skipped files are listed individually when available","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skipped files do not automatically mark a successful backup as failed","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Retention is indicated by a red \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eR\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e marker","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Source cleanup is indicated by a cyan \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eC\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e marker","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Both markers are displayed when both features are active","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eZIP Support\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Optional compression into \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e.zip\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e archives","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Uses the same versioning logic as folder-based backups","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Temporary ZIP files are finalized only after successful creation","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e No additional metadata sidecar files are created","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eRobust Error Handling\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Option to ignore locked or in-use files","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Backup can continue without interruption","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skipped files are reported per backup entry","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skipped-file summaries distinguish between files and folders","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Failed or canceled backups do not trigger source cleanup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Useful for projects with temporary build files, IDE locks, or active services","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eSystem Tray Integration\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Minimize to tray","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Tray tooltip shows the next scheduled backup:",""," Next backup in 2 minutes (19:52)","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Manual and automatic backups can show tray notifications","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Canceled backups are reported as canceled instead of completed","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eModernized UI\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Clean, compact main window","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Toolbar with quick actions:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Exit"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Add path"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Remove path"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Settings"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e About"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Backup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Modern themed dialogs and scrollbars","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Clear visual distinction between normal and destructive actions","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Main window initially shows only a small number of rows","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Window remains resizable","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Resize indicator included","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Tooltips and contextual help added for important controls","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e🧩 How It Works\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-s\"\u003e1\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e Configure one or more \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003esource → target\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e paths","\u003cspan class=\"pl-s\"\u003e2\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e Optionally define exclusions per backup pair","\u003cspan class=\"pl-s\"\u003e3\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e Choose a versioning method","\u003cspan class=\"pl-s\"\u003e4\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e Optionally configure:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Retention"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Source cleanup"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Custom backup timer"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Error handling","\u003cspan class=\"pl-s\"\u003e5\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e Click \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003eBackup\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e or let the configured timer start it automatically","\u003cspan class=\"pl-s\"\u003e6\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e The app will:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Validate the source and target paths"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Create a versioned directory or ZIP archive"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Report progress directly in the backup-pair row"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skip problematic files if configured"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Preview Source Cleanup and Retention candidates before deletion"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Allow canceling the backup or continuing without deletion"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Apply confirmed Source Cleanup only after a successful backup"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Apply confirmed Retention after backup creation"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Store the final backup status per entry"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Persist the selected version only after success","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e⚙️ Settings Overview\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eBackup Timer\u003c/span\u003e\u003c/span\u003e","","Flexible input:","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e30s\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e → 30 seconds","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e5m\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e → 5 minutes","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e1h\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e → 1 hour","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e15\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e → 15 minutes by default","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eDefault Versioning\u003c/span\u003e\u003c/span\u003e","","Starting version or pattern, for example:","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003enone\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003ev1.0\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e1.0\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eyyyy-MM-dd\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eyyyyMMdd\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eyyyy-MM-dd-HH-mm\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eyyyyMMddHHmm\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eAuto Increment\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Automatically increases compatible version numbers","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Updated versions are saved only after a successful backup","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eRetention\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep the latest configured number of backups","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep backups for a configured number of days","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Combine enabled rules with \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eAND\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e or \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eOR\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Exclude tagged backups from deletion","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eSource Cleanup\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Delete only explicitly configured file types","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Restrict cleanup to specific source-relative folders","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep the newest files or delete files older than a selected date","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eMinimize to Systray\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keeps the app running quietly in the background","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eIgnore Copy Errors\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skips locked or problematic files instead of stopping the backup","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eZIP Backups\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Enable to create one \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e.zip\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e archive per backup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Disable to create a versioned backup directory","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003ePer-Path Exclusions\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Exclude folders or files from individual backup entries","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Supports simple names, file extensions, relative paths, \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e*\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e, and \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e**\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e🖥️ Runtime Requirement\u003c/span\u003e\u003c/span\u003e","","The published application targets Windows x64 and requires the .NET 8 Desktop Runtime because the project is framework-dependent (\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eSelfContained=false\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e).","","Application settings are stored in:",""," \u003cspan class=\"pl-c1\"\u003e\u0026lt;application directory\u0026gt;\\Settings\\EasyVersionBackup.settings.json\u003c/span\u003e","","The application no longer creates \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e.evbmeta\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e sidecar files beside ZIP backups.","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e💡 Use Cases\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Backup Visual Studio projects","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Create safe snapshots before refactoring","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Preserve game saves while automatically removing older save files","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep only a defined number of recent backups","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Protect release backups using retention tags","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Save versions before deployments or releases","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Run automatic backups while working"]}},"title":"EasyVersionBackup/README.md at master · UncleRiot/EasyVersionBackup","appPayload":{},"meta":{"title":"EasyVersionBackup/README.md at master · UncleRiot/EasyVersionBackup"}}</script>
    <meta name="github-code-view-meta-stats" id="github-code-view-meta-stats" data-hydrostats="publish"/>

    <button data-component="Button" type="button" aria-label="Expand file tree" data-testid="expand-file-tree-button-mobile" class="prc-Button-ButtonBase-9n-Xk ExpandFileTreeButton-module__Button_1__Svs95" data-loading="false" data-size="medium" data-variant="invisible"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-left" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg>Files</button><button data-component="IconButton" type="button" data-testid="collapse-file-tree-button" aria-expanded="true" aria-controls="repos-file-tree" class="prc-Button-ButtonBase-9n-Xk position-relative ExpandFileTreeButton-module__expandButton__hDOcv ExpandFileTreeButton-module__filesButtonBreakpoint__zEvz3 fgColor-muted prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-labelledby="_R_99lmidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sidebar-expand" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.177 7.823 2.396-2.396A.25.25 0 0 1 7 5.604v4.792a.25.25 0 0 1-.427.177L4.177 8.177a.25.25 0 0 1 0-.354Z"></path><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25H9.5v-13Zm12.5 13a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11v13Z"></path></svg></button>Collapse file tree

    Files

    <button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" style="min-width:0" aria-label="master branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk react-repos-tree-pane-ref-selector width-full ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector">
    <svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg>
     master
    <svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg>
    </button>
    <button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk SearchButton-module__IconButton__SBlqu prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_ahlmidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></button>Search this repository(forward slash) forward slash/
    <svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellCheck="false" placeholder="Go to file" aria-describedby="_R_1almidek5_ _R_1almidek5H1_" data-component="input" class="prc-components-Input-IwWrt" value=""/> tT
    /

    README.md

    <button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_ddaidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button>Copy path
    <button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default">Blame</button>
    <button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-wide" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_7p6daidek5_" id="_R_96daidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button>More file actions
    <button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default">Blame</button>
    <button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-narrow" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_7p7daidek5_" id="_R_97daidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button>More file actions

    Latest commit

     

    History

    <svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg>History
    358 lines (253 loc) · 10.2 KB
    <button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="Code 55% faster with GitHub Copilot" class="prc-Button-ButtonBase-9n-Xk CopilotPopover-module__copilotButton__Ruc0t" data-loading="false" data-size="small" data-variant="invisible" id="_R_4malaidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg></button>
    /

    README.md

    <button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_db6alaidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button>Copy path
    <button data-component="Button" type="button" class="prc-Button-ButtonBase-9n-Xk FileNameStickyHeader-module__Button__LSEU_ FileNameStickyHeader-module__GoToTopButton__nxAFn" data-loading="false" data-size="small" data-variant="invisible"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-up" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.47 7.78a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0l4.25 4.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L9 4.81v7.44a.75.75 0 0 1-1.5 0V4.81L4.53 7.78a.75.75 0 0 1-1.06 0Z"></path></svg>Top</button>

    File metadata and controls

    • <button aria-current="true" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:transparent">
      Preview
      </button>
    • <button aria-current="false" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:var(--borderColor-default)">
      Code
      </button>
    • <button aria-current="false" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:var(--borderColor-default)">
      Blame
      </button>
    358 lines (253 loc) · 10.2 KB
    <button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="Code 55% faster with GitHub Copilot" class="prc-Button-ButtonBase-9n-Xk CopilotPopover-module__copilotButton__Ruc0t" data-loading="false" data-size="small" data-variant="invisible" id="_R_ej6alaidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg></button>
    <button data-component="IconButton" type="button" data-testid="copy-raw-button" class="prc-Button-ButtonBase-9n-Xk prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_6inj6alaidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button>Copy raw file
    <button data-component="IconButton" type="button" data-testid="download-raw-button" class="prc-Button-ButtonBase-9n-Xk BlobViewHeader-module__downloadButton__ef459 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_3inj6alaidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg></button>Download raw file
    <button data-component="IconButton" type="button" data-testid="more-edit-button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_1uknj6alaidek5_" id="_R_2knj6alaidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></button>More edit options
    <button data-component="IconButton" type="button" aria-pressed="false" class="prc-Button-ButtonBase-9n-Xk tmp-mr-2 TableOfContents-module__IconButton__jrlNM prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_vj6alaidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-list-unordered" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.75 2.5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5ZM2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM2 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg></button>Outline
    <button data-component="IconButton" type="button" title="More file actions" data-testid="more-file-actions-button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click BlobViewHeader-module__IconButton__XrMQY prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_3t3j6alaidek5_" id="_R_53j6alaidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button>Edit and raw actions

    <svg data-component="Octicon" class="octicon octicon-alert mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>Warning

    This software can permanently delete source and destination data. Read the Data-Loss Warning and Disclaimer before use.

    Retention and Source Cleanup are experimental features that can permanently delete source files or older backups.

    Both features are disabled by default and must be enabled explicitly. Always keep an independent, verified backup before using them.

    See the Wiki for detailed configuration, restore instructions, limitations, and safety information.



    EasyVersionBackup is a lightweight Windows tool for creating versioned backups of folders. Back up save-game folders, office-document folders, Visual C# project folders, and other local directories.

    It supports manual and automatic backups, multiple source → target configurations, ZIP backups, per-entry exclusions, skipped-file reporting, system tray integration, and a clean WinForms interface.




    EasyVersionBackup is free to use. If this tool saves you time, you can support development here:

    Support EasyVersionBackup on Ko-fi




    <svg data-component="Octicon" class="octicon octicon-report mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>Important

    If Windows SmartScreen blocks the app, right-click the EXE → Properties → check Unblock → Apply → OK, then start it again.



    Main-Window


    grafik

    Backup Pair Settings


    grafik

    Source Cleanup


    grafik

    grafik

    grafik




    • Create structured backups with version numbers
    • Supports manual input, auto-increment, and timestamp-based versions
    • Remembers manually adjusted versions per source → target pair
    • Detects existing versions and suggests the next logical version
    • Updated versions are stored only after a successful backup
    • Canceling a backup does not advance or persist the version number
    • Configure multiple source → target pairs
    • Enable or disable each entry individually
    • Edit source and target paths directly in the main window
    • Browse folders directly from the main table
    • Configure versioning, retention, source cleanup, timers, and error handling per backup pair
    • Define excluded files or folders per backup entry
    • Edit exclusions directly from the main window or Settings
    • Add and remove exclusions through a table-based editor
    • Confirmation prompt before removing existing exclusion entries
    • Supports source-relative paths and glob-style patterns

    Pattern behavior:

    • .sav and *.sav match .sav files
    • * matches characters within one path level
    • ** matches any number of folder levels
    • A trailing \ restricts the rule to folders
    • Matching is case-insensitive
    • Wildcard-only exclusions are rejected for safety
    • Configure retention separately for every backup pair
    • Keep the newest number of backups
    • Keep backups for a configured number of days
    • Combine retention rules using AND or OR
    • Protect tagged backups such as Final or OK
    • Preview affected backups before permanent deletion
    • Choose between:
      • Canceling the complete backup
      • Continuing without deleting old backups
      • Creating the backup and deleting confirmed retention candidates
    • Destructive actions are clearly highlighted
    • Experimental feature for removing old source files after a successful backup
    • Must be enabled globally and per backup pair
    • Supports multiple rules, for example:
      .sav
      G1R*.sav
      Saved\SaveGames\.sav
      Saved\SaveGames\G1R*.sav
      
    • Keep the newest files or delete files older than a selected date
    • Shows a deletion preview before cleanup
    • Directories are never deleted
    • Cleanup does not run if the backup fails or is canceled
    • Define intervals like 30s, 5m, or 1h
    • Configure a global timer or a custom timer per backup pair
    • Live countdown visible:
      • In the main UI
      • In the window title
      • In the system tray tooltip
    • Backup progress is displayed directly inside the main table
    • Source-related operations fill the source-directory cell
    • Target-related operations fill the target-directory cell
    • The timer column temporarily shows the current percentage
    • Indeterminate phases use a subtle moving progress fill
    • The normal timer value is restored after completion
    • Multiple backup pairs can show progress independently
    • No additional progress window or focus change is required
    • File and ZIP creation runs outside the UI thread
    • Works while you use other applications
    • Automatic backups remain silent unless user interaction is required
    • Destination-conflict and retention confirmations can still require interaction
    • Optional minimize-to-system-tray behavior
    • Per-entry status indicator:
      • 🟢 OK
      • 🟡 Warning
      • đź”´ Error
    • Hover for quick details:
      • Last backup time
      • Error messages
      • Skipped-file summary
    • Click the info icon to open a copyable and scrollable details dialog
    • Skipped files are listed individually when available
    • Skipped files do not automatically mark a successful backup as failed
    • Retention is indicated by a red R marker
    • Source cleanup is indicated by a cyan C marker
    • Both markers are displayed when both features are active
    • Optional compression into .zip archives
    • Uses the same versioning logic as folder-based backups
    • Temporary ZIP files are finalized only after successful creation
    • No additional metadata sidecar files are created
    • Option to ignore locked or in-use files
    • Backup can continue without interruption
    • Skipped files are reported per backup entry
    • Skipped-file summaries distinguish between files and folders
    • Failed or canceled backups do not trigger source cleanup
    • Useful for projects with temporary build files, IDE locks, or active services
    • Minimize to tray

    • Tray tooltip shows the next scheduled backup:

      Next backup in 2 minutes (19:52)

    • Manual and automatic backups can show tray notifications

    • Canceled backups are reported as canceled instead of completed

    • Clean, compact main window
    • Toolbar with quick actions:
      • Exit
      • Add path
      • Remove path
      • Settings
      • About
      • Backup
    • Modern themed dialogs and scrollbars
    • Clear visual distinction between normal and destructive actions
    • Main window initially shows only a small number of rows
    • Window remains resizable
    • Resize indicator included
    • Tooltips and contextual help added for important controls

    1. Configure one or more source → target paths
    2. Optionally define exclusions per backup pair
    3. Choose a versioning method
    4. Optionally configure:
      • Retention
      • Source cleanup
      • Custom backup timer
      • Error handling
    5. Click Backup or let the configured timer start it automatically
    6. The app will:
      • Validate the source and target paths
      • Create a versioned directory or ZIP archive
      • Report progress directly in the backup-pair row
      • Skip problematic files if configured
      • Preview Source Cleanup and Retention candidates before deletion
      • Allow canceling the backup or continuing without deletion
      • Apply confirmed Source Cleanup only after a successful backup
      • Apply confirmed Retention after backup creation
      • Store the final backup status per entry
      • Persist the selected version only after success

    Flexible input:

    • 30s → 30 seconds
    • 5m → 5 minutes
    • 1h → 1 hour
    • 15 → 15 minutes by default

    Starting version or pattern, for example:

    • none
    • v1.0
    • 1.0
    • yyyy-MM-dd
    • yyyyMMdd
    • yyyy-MM-dd-HH-mm
    • yyyyMMddHHmm
    • Automatically increases compatible version numbers
    • Updated versions are saved only after a successful backup
    • Keep the latest configured number of backups
    • Keep backups for a configured number of days
    • Combine enabled rules with AND or OR
    • Exclude tagged backups from deletion
    • Delete only explicitly configured file types
    • Restrict cleanup to specific source-relative folders
    • Keep the newest files or delete files older than a selected date
    • Keeps the app running quietly in the background
    • Skips locked or problematic files instead of stopping the backup
    • Enable to create one .zip archive per backup
    • Disable to create a versioned backup directory
    • Exclude folders or files from individual backup entries
    • Supports simple names, file extensions, relative paths, *, and **

    The published application targets Windows x64 and requires the .NET 8 Desktop Runtime because the project is framework-dependent (SelfContained=false).

    Application settings are stored in:

    <application directory>\Settings\EasyVersionBackup.settings.json
    

    The application no longer creates .evbmeta sidecar files beside ZIP backups.


    • Backup Visual Studio projects
    • Create safe snapshots before refactoring
    • Preserve game saves while automatically removing older save files
    • Keep only a defined number of recent backups
    • Protect release backups using retention tags
    • Save versions before deployments or releases
    • Run automatic backups while working
    </react-app>
    </turbo-frame> </main>
    <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-locale="en" data-initial-cookie-consent-allowed="" data-cookie-consent-required="true" ></ghcc-consent>
    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time.
    <template id="site-details-dialog">
    <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button>
    </details-dialog>
    </template>
    <template id="snippet-clipboard-copy-button">
    <clipboard-copy aria-label="Copy code to clipboard" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2 tmp-m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2 tmp-m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy>
    </template> <template id="snippet-clipboard-copy-button-unpositioned">
    <clipboard-copy aria-label="Copy code to clipboard" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy>
    </template> <style> .user-mention[href$="/UncleRiot"] { color: var(--color-user-mention-fg); background-color: var(--bgColor-attention-muted, var(--color-attention-subtle)); border-radius: 2px; margin-left: -2px; margin-right: -2px; } .user-mention[href$="/UncleRiot"]:before, .user-mention[href$="/UncleRiot"]:after { content: ''; display: inline-block; width: 2px; } </style>
    </body> </html>

    Source: README.md, updated 2026-07-12