X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=scripts%2Fenv;h=24d4bec64f06953695ea3bc0dfafb233d33f96d7;hp=642a329c16f5fee39a01336e675ce957fbc52bb1;hb=82022553e31f1d50d1f32ab1967a1b8004293e71;hpb=f4dcd3332375845066adade78c2125e2d42e08f1 diff --git a/scripts/env b/scripts/env index 642a329c16..24d4bec64f 100755 --- a/scripts/env +++ b/scripts/env @@ -96,14 +96,14 @@ env_do_reset() { env_list() { env_init - git branch | grep -vE '^. master$' + git branch --color | grep -vE '^. master$' } env_diff() { env_init env_sync_data - git diff --cached - env_link_config + git diff --cached --color + env_link_config } env_save() { @@ -119,12 +119,12 @@ env_revert() { } env_ask_sync() { + env_sync_data LINES="$(env_diff | wc -l)" # implies env_init [ "$LINES" -gt 0 ] && { if ask_bool 1 "Do you want to save your changes"; then env_sync else - env_sync_data env_do_reset fi } @@ -138,7 +138,9 @@ env_clear() { env_sync_data if ask_bool 1 "Do you want to keep your current config and files"; then mkdir -p "$BASEDIR/files" - cp -a "$ENVDIR/files/*" "$BASEDIR/files" 2>/dev/null >/dev/null + shopt -s dotglob + cp -a "$ENVDIR/files/"* "$BASEDIR/files" 2>/dev/null >/dev/null + shopt -u dotglob cp "$ENVDIR/.config" "$BASEDIR/" else rm -rf "$BASEDIR/files" "$BASEDIR/.config" @@ -190,9 +192,12 @@ env_new() { fi git checkout -b "$1" "$from" if [ -f "$BASEDIR/.config" -o -d "$BASEDIR/files" ]; then - if ask_bool 1 "Do you want to keep your current config and files?"; then + if ask_bool 1 "Do you want to start your configuration repository with the current configuration?"; then [ -d "$BASEDIR/files" -a \! -L "$BASEDIR/files" ] && { - mv "$BASEDIR/files/"* "$ENVDIR/" 2>/dev/null + mkdir -p "$ENVDIR/files" + shopt -s dotglob + mv "$BASEDIR/files/"* "$ENVDIR/files/" 2>/dev/null + shopt -u dotglob rmdir "$BASEDIR/files" } env_sync