From ccabe847bb8669f669f815e10adf28479501244a Mon Sep 17 00:00:00 2001 From: hide_d Date: Sat, 21 Sep 2019 01:42:21 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EB=A3=A8=ED=8A=B8=EB=8F=84=20git=20tree-is?= =?UTF-8?q?h=20=EC=A7=80=EC=A0=95=20=EA=B0=80=EB=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/admin_server.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/js/admin_server.js b/js/admin_server.js index e2c4475d..0e38c74d 100644 --- a/js/admin_server.js +++ b/js/admin_server.js @@ -38,22 +38,20 @@ function serverUpdate(caller){ return; } - if(isRoot){ - if(!confirm('서버 라이브러리, 루트 서버에 대해 git pull을 실행합니다.')){ - return; - } - } - else if(!allowFullUpdate){ - if (!confirm('다음 git tree-ish 주소로 업데이트를 시도합니다 : ' + target)) { - return; - } - } - else { + + if(allowFullUpdate){ target = prompt('가져올 git tree-ish 명을 입력해주세요.', target) if(!target){ return; } - + } + else if(isRoot){ + if(!confirm('서버 라이브러리, 루트 서버에 대해 git pull을 실행합니다.')){ + return; + } + } + else if (!confirm('다음 git tree-ish 주소로 업데이트를 시도합니다 : ' + target)) { + return; } $.ajax({ From efcf0f772ec4068ee238bf173d3802fce9af7bae Mon Sep 17 00:00:00 2001 From: hide_d Date: Sat, 21 Sep 2019 01:50:36 +0900 Subject: [PATCH 2/3] =?UTF-8?q?server=20checkout=20=EC=B6=94=EA=B0=802?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- j_updateServer.php | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/j_updateServer.php b/j_updateServer.php index 7f68763c..f016e574 100644 --- a/j_updateServer.php +++ b/j_updateServer.php @@ -58,12 +58,13 @@ if(!$allowUpdate){ ]); } +$src_target = $storage->$server; +if($src_target){ + $src_target = $src_target[0]; +} if(!$allowFullUpdate || !$target){ - $target = $storage->$server; - if($target){ - $target = $target[0]; - } + $target = $src_target; } else{ $target = $request['target']; @@ -122,6 +123,17 @@ if($server == $baseServerName){ ]); } + if($target != $src_target){ + $command = sprintf('git checkout %s -q 2>&1', $target); + exec($command, $output); + if($output){ + Json::die([ + 'result'=>false, + 'reason'=>join(', ', $output) + ]); + } + } + $version = getVersion(); $result = Util::generateFileUsingSimpleTemplate( __DIR__.'/'.$server.'/d_setting/VersionGit.orig.php', From 0ef3921e176278d7e7560529c607d60b8de18077 Mon Sep 17 00:00:00 2001 From: hide_d Date: Sat, 21 Sep 2019 02:06:49 +0900 Subject: [PATCH 3/3] =?UTF-8?q?update=20=EC=84=9C=EB=B2=84=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- i_entrance/j_server_get_admin_status.php | 2 +- j_updateServer.php | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/i_entrance/j_server_get_admin_status.php b/i_entrance/j_server_get_admin_status.php index 358df58d..5f4e681d 100644 --- a/i_entrance/j_server_get_admin_status.php +++ b/i_entrance/j_server_get_admin_status.php @@ -76,7 +76,7 @@ foreach (AppConf::getList() as $setting) { 'korName' => $serverKorName, 'color' => $serverColor, 'isRoot' => $serverDir == $rootServer, - 'lastGitPath' => ($serverGitPath[$serverDir][0])??'origin/devel' + 'lastGitPath' => ($serverGitPath[$serverDir][0])??($serverDir == $rootServer?'devel':'origin/devel') ]; $server[] = $state; } diff --git a/j_updateServer.php b/j_updateServer.php index f016e574..300bfa9f 100644 --- a/j_updateServer.php +++ b/j_updateServer.php @@ -115,8 +115,9 @@ if(!file_exists($server)){ if($server == $baseServerName){ - exec("git pull -q 2>&1", $output); - if($output && $output[0] != 'Already up-to-date.'){ + + exec("git fetch 2>&1", $output); + if($output){ Json::die([ 'result'=>false, 'reason'=>'git pull 작업 : '.join(', ', $output) @@ -134,6 +135,14 @@ if($server == $baseServerName){ } } + exec("git pull -q 2>&1", $output); + if($output && $output[0] != 'Already up-to-date.'){ + Json::die([ + 'result'=>false, + 'reason'=>'git pull 작업 : '.join(', ', $output) + ]); + } + $version = getVersion(); $result = Util::generateFileUsingSimpleTemplate( __DIR__.'/'.$server.'/d_setting/VersionGit.orig.php', @@ -142,7 +151,7 @@ if($server == $baseServerName){ ], true ); - $storage->$server = [null, $version]; + $storage->$server = [$target, $version]; Json::die([ 'server'=>$server,