質問編集履歴

4

質問内容に追記

2019/01/11 03:59

投稿

fukkun0412
fukkun0412

スコア37

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  ・OSはWindows10 Proになります。
12
12
 
13
-
13
+ ・処理に必要なファイルに関してはD:\Git\hook_test内にあります。
14
14
 
15
15
 
16
16
 
@@ -49,3 +49,41 @@
49
49
  done
50
50
 
51
51
  fi
52
+
53
+
54
+
55
+ upload.bat
56
+
57
+
58
+
59
+ @echo off
60
+
61
+ set WINSCPEXE_PATH="C:\Program Files (x86)\WinSCP\WinSCP.com"
62
+
63
+ set REMOTE_HOST=test@xx.xxx.xx.xxx
64
+
65
+
66
+
67
+ set LOCAL_DIR="D:\Git\hook_test"
68
+
69
+ set TARGET_DIR="/var/www/test/"
70
+
71
+ set TARGET_RESOURCE="update.xml"
72
+
73
+ set RESOURCE=%1
74
+
75
+ rem RESOURCE="test.xml"
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+ %WINSCPEXE_PATH% %REMOTE_HOST% /script=.\upload.script /parameter %LOCAL_DIR% %TARGET_DIR% %TARGET_RESOURCE%
84
+
85
+
86
+
87
+
88
+
89
+ rm %LOCAL_DIR%\%TARGET_RESOURCE%

3

質問内容の変更

2019/01/11 03:59

投稿

fukkun0412
fukkun0412

スコア37

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
1
  #質問内容
2
2
 
3
- 現在SourceTreeのpre-commitを使用して、ファイルをコミットする時に特定のファイルがあった場合、そのファイルをリネームして別のファイルに書き換える処理を実装したいのだが、SourceTree上でコミットするとうまくいかない。
3
+ 現在SourceTreeのpre-commitを使用して、ファイルをコミットする時に特定のファイルがあった場合、そのファイルをリネームして別のファイルに書き換える処理を実装したいのだが、SourceTree上でコミットするとbash: upload.bat: No such file or directoryとエラー表示され、コミットされない。
4
+
5
+
4
6
 
5
7
  pre-commitを.shにして、SourceTreeのターミナルで起動させると正常に動作した。
6
8
 

2

質問内容の変更

2019/01/11 02:58

投稿

fukkun0412
fukkun0412

スコア37

test CHANGED
File without changes
test CHANGED
@@ -6,11 +6,17 @@
6
6
 
7
7
 
8
8
 
9
+ ・OSはWindows10 Proになります。
10
+
11
+
12
+
13
+
14
+
9
15
  #やりたいこと
10
16
 
11
17
  pre-commit内でバッチファイルを起動させたい。
12
18
 
13
-
19
+ →下記にあるバッチファイルの呼び出し方が正解かわからない
14
20
 
15
21
 
16
22
 

1

質問内容と質問題名を変更

2019/01/11 01:26

投稿

fukkun0412
fukkun0412

スコア37

test CHANGED
@@ -1 +1 @@
1
- [SourceTree]git logの情報を使って特定のファイルがコミットされているか判定したい
1
+ [SourceTree]pre-commit内でバッチファイルを呼び出したい
test CHANGED
@@ -1,20 +1,14 @@
1
1
  #質問内容
2
2
 
3
- 現在SourceTreeのpre-commitを使用して、ファイルをコミットする時に特定のファイルがあった場合、そのファイルをリネームして別のファイルに書き換える処理を実装したいのだが、うまくいかない。
3
+ 現在SourceTreeのpre-commitを使用して、ファイルをコミットする時に特定のファイルがあった場合、そのファイルをリネームして別のファイルに書き換える処理を実装したいのだが、SourceTree上でコミットするとうまくいかない。
4
+
5
+ pre-commitを.shにして、SourceTreeのターミナルで起動させると正常に動作した。
4
6
 
5
7
 
6
8
 
7
9
  #やりたいこと
8
10
 
9
- git logコミト対象のファイル取得
11
+ pre-commitファイルを起動させたい。
10
-
11
- →git logの結果を変数に格納する方法が知りたい。
12
-
13
- →MSN=${git log -1 --name-only develop}を使用するとファイル名だけでなくコミットIDなど余計にな情報まで入ってしまう。
14
-
15
-
16
-
17
- コミット対象のファイルの中に特定のファイルがあるかの判定
18
12
 
19
13
 
20
14
 
@@ -30,37 +24,19 @@
30
24
 
31
25
  if [ $? -eq 0 ]; then
32
26
 
33
- MSN=${git log -1 --name-only develop}
27
+ MSG=$(git log -1 --name-only --pretty=format:"%h" | grep 'strings' | grep '.xml')
34
28
 
35
29
 
36
30
 
37
- for i in MSG;do
31
+ for i in ${MSG[@]};do
38
32
 
39
- while read word; do
40
-
41
- word_a=( `echo ${MSG} | tr -s '\t' ' '`)
42
-
43
- echo ${#word_a[i]}
44
-
45
- //strings.txtがコミットされていたら、リネーム対象
46
-
47
- if [ `echo ${word_a[i]} | grep 'strings' | grep '.txt'` ]; then
48
-
49
- echo ${word_a[i]} | grep ^# > /dev/null && continue
50
-
51
- echo ${word_a[i]} | grep '^\s*$"' > /dev/null && continue
52
-
53
- read -p "Hit Enter:"
54
-
55
- echo "コメント"
33
+ echo "Update"
56
34
 
57
35
  cd ../../
58
36
 
59
- exec upload.bat //リネームのバッチ(今回は対象外)
37
+
60
38
 
61
- exit 0
39
+ `bash upload.bat $i`
62
-
63
- fi
64
40
 
65
41
  done
66
42