diff --git a/sdata/options/exp-update-old.sh b/sdata/options/exp-update-old.sh index 2c708c962..9bfce42c3 100644 --- a/sdata/options/exp-update-old.sh +++ b/sdata/options/exp-update-old.sh @@ -4,37 +4,28 @@ showhelp(){ echo -e "Syntax: $0 exp-update-old [OPTIONS]... -Experimental updating without full reinstall. -Updates dotfiles by syncing configuration files to home directory. - Options: - -f, --force Force check all files even if no new commits - -p, --packages Enable package checking and building - -n, --dry-run Show what would be done without making changes - -v, --verbose Enable verbose output - -h, --help Show this help message - -s, --skip-notice Skip notice about script being untested - --non-interactive Run without prompting for user input + -f, --force Force check all files even if no new commits + -p, --packages Enable package checking and building + -h, --help Show this help message + --skip-notice Skip the notice message at the beginning -This script updates your dotfiles by: - 1. Auto-detecting repository structure (dots/ prefix or direct) - 2. Pulling latest changes from git remote - 3. Optionally rebuilding packages (if -p flag is used) - 4. Syncing configuration files to home directory - 5. Updating script permissions +It updates your dotfiles by: + 1. Pulling latest changes from git remote + 2. Optionally rebuilding packages (if -p flag is used) + 3. Syncing configuration files + 4. Updating script permissions -Ignore file patterns support: - - Exact matches (e.g., 'path/to/file') - - Directory patterns (e.g., 'path/to/dir/') - - Wildcards (e.g., '*.log', 'path/*/file') - - Root-relative patterns (e.g., '/.config') - - Substring matching (prefix with '**', e.g., '**temp' matches any path containing 'temp') +Package modes (when -p is used): + - If no PKGBUILDs changed: asks if you want to check packages anyway + - If PKGBUILDs changed: offers to build changed packages + - Interactive selection of packages to build " } # `man getopt` to see more para=$(getopt \ - -o hfpnv \ - -l help,force,packages,dry-run,verbose,skip-notice,non-interactive \ + -o hfp \ + -l help,force,packages,skip-notice \ -n "$0" -- "$@") [ $? != 0 ] && echo "$0: Error when getopt, please recheck parameters." && exit 1 ##################################################################################### @@ -53,10 +44,7 @@ done FORCE_CHECK=false CHECK_PACKAGES=false -DRY_RUN=false -VERBOSE=false SKIP_NOTICE=false -NON_INTERACTIVE=false eval set -- "$para" while true ; do @@ -68,18 +56,9 @@ while true ; do -p|--packages) CHECK_PACKAGES=true;shift log_info "Package checking enabled" ;; - -n|--dry-run) DRY_RUN=true;shift - log_info "Dry-run mode enabled - no changes will be made" - ;; - -v|--verbose) VERBOSE=true;shift - log_info "Verbose mode enabled" - ;; --skip-notice) SKIP_NOTICE=true;shift log_warning "Skipping notice about script being untested" ;; - --non-interactive) NON_INTERACTIVE=true;shift - log_info "Non-interactive mode enabled" - ;; ## Ending --) break ;; diff --git a/sdata/step/exp-update-old.sh b/sdata/step/exp-update-old.sh index c362d59ca..bd640ebbf 100644 --- a/sdata/step/exp-update-old.sh +++ b/sdata/step/exp-update-old.sh @@ -472,55 +472,7 @@ has_new_commits() { # Main script starts here log_header "Dotfiles Update Script" -check=true - -# Parse command line arguments -while [[ $# -gt 0 ]]; do - case $1 in - -f | --force) - FORCE_CHECK=true - log_info "Force check mode enabled - will check all files regardless of git changes" - shift - ;; - -p | --packages) - CHECK_PACKAGES=true - log_info "Package checking enabled" - shift - ;; - -h | --help) - echo "Usage: $0 [OPTIONS]" - echo "" - echo "Options:" - echo " -f, --force Force check all files even if no new commits" - echo " -p, --packages Enable package checking and building" - echo " -h, --help Show this help message" - echo "" - echo "This script updates your dotfiles by:" - echo " 1. Pulling latest changes from git remote" - echo " 2. Optionally rebuilding packages (if -p flag is used)" - echo " 3. Syncing configuration files" - echo " 4. Updating script permissions" - echo "" - echo "Package modes (when -p is used):" - echo " - If no PKGBUILDs changed: asks if you want to check packages anyway" - echo " - If PKGBUILDs changed: offers to build changed packages" - echo " - Interactive selection of packages to build" - exit 0 - ;; - --skip-notice) - log_warning "Skipping notice about script being untested" - check=false - shift - ;; - *) - log_error "Unknown option: $1" - echo "Use --help for usage information" - exit 1 - ;; - esac -done - -if [[ "$check" == true ]]; then +if [[ "${SKIP_NOTICE}" == false ]]; then log_warning "THIS SCRIPT IS NOT FULLY TESTED AND MAY CAUSE ISSUES!" log_warning "It might be safer if you want to preserve your modifications and not delete added files," log_warning " but this can cause partial updates and therefore unexpected behavior like in #1856." diff --git a/setup b/setup index 3668e8840..8fe456ff9 100755 --- a/setup +++ b/setup @@ -23,7 +23,7 @@ Subcommands: install-files Run the install step \"3. Copying config files\" exp-uninstall (Experimental) Uninstall illogical-impulse. exp-update (Experimental) Update illogical-impulse without fully reinstall. - exp-update-old (WIP) exp-update but use behaves like old version. + exp-update-old (Experimental) exp-update but use behaves like old version. help Show this help message. For each , use -h for details: