ユーザ用ツール

サイト用ツール


bundle_file運用

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
bundle_file運用 [2025/06/01 00:51] – [バッチ版] Update Minoru Kijimabundle_file運用 [2026/07/18 11:32] (現在) Minoru Kijima
行 3: 行 3:
 BundleファイルはGitコマンドで作成したり読み込みができるのだが、何度も行う作業であればスクリプト化してしまうべきであろう。 BundleファイルはGitコマンドで作成したり読み込みができるのだが、何度も行う作業であればスクリプト化してしまうべきであろう。
 これらのバッチ/スクリプトをリポジトリ直下に置いて起動すれば、バンドルファイルの作成や読み込みがメニュー選択するだけで実行可能になる。 これらのバッチ/スクリプトをリポジトリ直下に置いて起動すれば、バンドルファイルの作成や読み込みがメニュー選択するだけで実行可能になる。
-{{ :bundle.png?400 |}}+{{ wiki:20230612:bundle.png?400 |}}
 これらのスクリプトでバンドルファイルを読み込むと、importブランチに反映される。確認して問題が無ければmasterブランチにマージする。 これらのスクリプトでバンドルファイルを読み込むと、importブランチに反映される。確認して問題が無ければmasterブランチにマージする。
 +
 +  * 2025/06/01 Bundleファイルの対象とするコミットを選択する機能を追加
 +  * 2026/07/18 ブランチの選択機能を追加
  
 ===== バッチ版 ===== ===== バッチ版 =====
行 12: 行 15:
 set ARCHIVE_ZIP=Git-Archive.zip set ARCHIVE_ZIP=Git-Archive.zip
 set ARCHIVE_TGZ=Git-Archive.tgz set ARCHIVE_TGZ=Git-Archive.tgz
-set REFNAME=refs/heads/master 
 set COMMIT=HEAD set COMMIT=HEAD
 +for /f "delims=" %%a in ('git rev-parse --abbrev-ref HEAD') do set BRANCH=%%a
 +set REFNAME=refs/heads/%BRANCH%
 :MENU :MENU
 cd %~dp0 cd %~dp0
行 23: 行 27:
 echo L: List of commits echo L: List of commits
 echo S: Select a commit echo S: Select a commit
 +echo B: Select a branch
 echo T: Create Git tgz-archive file echo T: Create Git tgz-archive file
 echo Z: Create Git zip-archive file echo Z: Create Git zip-archive file
 echo q: Quit echo q: Quit
-set /P INPUT="%COMMIT%>>> "+set /P INPUT="%BRANCH%:%COMMIT%>>> "
 echo. echo.
 set SELECT=%INPUT:~0,1% set SELECT=%INPUT:~0,1%
行 34: 行 39:
 if "%SELECT%"=="L" goto SELECT_L if "%SELECT%"=="L" goto SELECT_L
 if "%SELECT%"=="S" goto SELECT_S if "%SELECT%"=="S" goto SELECT_S
 +if "%SELECT%"=="B" goto SELECT_B
 if "%SELECT%"=="T" goto SELECT_T if "%SELECT%"=="T" goto SELECT_T
 if "%SELECT%"=="Z" goto SELECT_Z if "%SELECT%"=="Z" goto SELECT_Z
行 60: 行 66:
 echo [ Select a commit ] echo [ Select a commit ]
 set /P COMMIT="%COMMIT% -> " set /P COMMIT="%COMMIT% -> "
 +goto MENU
 +:SELECT_B
 +echo [ Select a branch ]
 +git branch
 +set /P BRANCH="%BRANCH% -> "
 +if NOT "%BRANCH%"=="" (
 +  git switch %BRANCH%
 +)
 goto MENU goto MENU
 :SELECT_T :SELECT_T
行 79: 行 93:
 ARCHIVE_ZIP=Git-Archive.zip ARCHIVE_ZIP=Git-Archive.zip
 ARCHIVE_TGZ=Git-Archive.tgz ARCHIVE_TGZ=Git-Archive.tgz
 +COMMIT=HEAD
 +BRANCH=$(git rev-parse --abbrev-ref HEAD)
 +REFNAME=refs/heads/${BRANCH}
 # #
 # Function # Function
行 88: 行 105:
 2) Fetch  Git bundle file 2) Fetch  Git bundle file
 3) Create Git bundle file 3) Create Git bundle file
 +L) List of commits
 +S) Select a commit
 +B) Select a branch
 T) Create Git tgz-archive file T) Create Git tgz-archive file
 Z) Create Git zip-archive file Z) Create Git zip-archive file
行 98: 行 118:
 return return
 } }
-# Main 
 menu_list menu_list
-echo -n ">>> "+echo -n "${BRANCH}:${COMMIT}>>> "
 while read input while read input
 do do
行 110: 行 129:
     2)     2)
       echo "[ Fetch Git bundle file ]"       echo "[ Fetch Git bundle file ]"
-      git fetch $BUNDLE master:import+      git fetch $BUNDLE ${REFNAME}:import
       ;;       ;;
     3)     3)
       echo "[ Create Git bundle file ]"       echo "[ Create Git bundle file ]"
-      git bundle create $BUNDLE HEAD master+      if [ "${COMMIT}" = "HEAD"
 +      then 
 +        git bundle create $BUNDLE HEAD ${REFNAME} 
 +      else 
 +        git bundle create $BUNDLE ${REFNAME} ^${COMMIT} 
 +      fi
       ls -ld $BUNDLE       ls -ld $BUNDLE
 +      ;;
 +    S)
 +      echo "[ Select a commit ]"
 +      echo -n "${COMMIT} --> "
 +      read COMMIT
 +      test -z "${COMMIT}" && COMMIT=HEAD
 +      ;;
 +    B)
 +      echo "[ Select a branch ]"
 +      git branch
 +      echo -n "${BRANCH} --> "
 +      read BRANCH
 +      test -n "${BRANCH}" && git switch ${BRANCH}
 +      BRANCH=$(git rev-parse --abbrev-ref HEAD)
 +      ;;
 +    L)
 +      echo "[ List of commits ]"
 +      git log --oneline
       ;;       ;;
     T)     T)
行 137: 行 179:
   echo   echo
   menu_list   menu_list
-  echo -n ">>> "+  echo -n "${BRANCH}:${COMMIT}>>> "
 done done
 </file> </file>
bundle_file運用.1748739095.txt.gz · 最終更新: by Minoru Kijima