From 34411d974cf35730e0e8dd5fc395d47d5fc84068 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Fri, 28 Apr 2017 16:00:37 +0800 Subject: [PATCH] * adjust for ajax save log. --- module/git/control.php | 11 ++++++++++- module/svn/control.php | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/module/git/control.php b/module/git/control.php index be0a97f5a8..88f37ce641 100644 --- a/module/git/control.php +++ b/module/git/control.php @@ -125,6 +125,7 @@ class git extends control $repoUrl = rtrim($repoUrl, '/') . '/'; $parsedFiles = array(); + $repoDirs = explode('/', trim($repoUrl, '/')); foreach($files as $file) { $file = trim($file); @@ -135,7 +136,15 @@ class git extends control $action = $file[0]; $file = trim(substr($file, 2)); } - $path = str_replace($repoRoot, '', $file); + $fileDirs = explode('/', trim($file, '/')); + $diffDirs = array_diff($fileDirs, $repoDirs); + + foreach($fileDirs as $i => $dir) + { + if(isset($diffDirs[$i])) break; + if(!isset($diffDirs[$i])) unset($fileDirs[$i]); + } + $path = '/' . join('/', $fileDirs); $parsedFiles[$action][] = ltrim($path, '/'); } diff --git a/module/svn/control.php b/module/svn/control.php index 50262edf77..78eb9cf9c9 100644 --- a/module/svn/control.php +++ b/module/svn/control.php @@ -114,6 +114,7 @@ class svn extends control if(strpos($repoUrl, '://') === false) die(); $parsedFiles = array(); + $repoDirs = explode('/', trim($repoUrl, '/')); foreach($files as $file) { $file = trim($file); @@ -124,7 +125,15 @@ class svn extends control $action = $file[0]; $file = trim(substr($file, 2)); } - $path = str_replace($repoRoot, '', $file); + $fileDirs = explode('/', trim($file, '/')); + $diffDirs = array_diff($fileDirs, $repoDirs); + + foreach($fileDirs as $i => $dir) + { + if(isset($diffDirs[$i])) break; + if(!isset($diffDirs[$i])) unset($fileDirs[$i]); + } + $path = '/' . join('/', $fileDirs); $parsedFiles[$action][] = $path; }