<commit_before>#!/bin/bash -eu

function usage() {
  cat <<EOF 1>&2
Description:
  $(basename ${0}) は "hg update" を実行するスクリプトである。
  "hg update" 自体のオプションは受け付けない。
  "hg update ブランチ名" としてブランチを移動する目的で使用する。
  移動先のブランチは FZF により絞り込んで指定するため $(basename ${0}) の引数には指定しない。

Usage:
  $(basename ${0})

Options:
  -h        print this
  -x        dry run
EOF
  exit 1
}

dryrun=FALSE
while getopts hx OPT
do
  case "$OPT" in
    h) usage
       ;;
    x) dryrun=TRUE
       ;;
    \?) usage
        ;;
  esac
done

# FZF を使ってブランチを絞り込む
branch=$(hg branches | fzf --exit-0 --select-1 --ansi)
# 存在しないブランチを指定された場合は何もしない
[ $(echo ${branch} | wc -c) -eq 1 ] && exit 2

branch=$(echo ${branch} | awk '{print $1}')
if [ "TRUE" = ${dryrun} ] ; then
  echo "hg update ${branch}"
else
  echo ${branch} | xargs hg update
fi
exit 0<commit_msg>refs feature/44 #44 hup.sh に dry-run を実装<commit_after>#!/bin/bash -eu

# ライブラリスクリプトを読み込む
. ~/dotfiles/etc/lib/dry_run.sh

function usage() {
  cat <<EOF 1>&2
Description:
  $(basename ${0}) は "hg update" を実行するスクリプトである。
  "hg update" 自体のオプションは受け付けない。
  "hg update ブランチ名" としてブランチを移動する目的で使用する。
  移動先のブランチは FZF により絞り込んで指定するため $(basename ${0}) の引数には指定しない。

Usage:
  $(basename ${0})

Options:
  -h        print this
  -x        dry run
EOF
  exit 1
}

while getopts hx OPT
do
  case "$OPT" in
    h) usage
       ;;
    x) enable_dryrun
       ;;
    \?) usage
        ;;
  esac
done

# FZF を使ってブランチを絞り込む
branch=$(hg branches | fzf --exit-0 --select-1 --ansi)
# 存在しないブランチを指定された場合は何もしない
[ $(echo ${branch} | wc -c) -eq 1 ] && exit 2

branch=$(echo ${branch} | awk '{print $1}')
if [ ! -z ${dryrun} ]; then
  echo "hg update ${branch}"
else
  echo ${branch} | xargs hg update
fi
exit 0
{'fraction_non_alphanumeric': 0.15171192443919718, 'fraction_numerical': 0.01652892561983471, 'mean_word_length': 2.8698630136986303, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1526340', 'n_tokens_mistral': 897, 'n_tokens_neox': 834, 'n_words': 196}