fixed a bug in showing a wrong revision in the folder view
This commit is contained in:
parent
e1a3fe625b
commit
58b557b2fe
@ -35,7 +35,9 @@ Conflicts: %{php_package_name}-pecl-svn
|
|||||||
|
|
||||||
%description peclsvn
|
%description peclsvn
|
||||||
This package contains svn.so for PHP. You can install this package
|
This package contains svn.so for PHP. You can install this package
|
||||||
if your system doesn't have a proper Subversion extenstion for PHP.
|
if your system doesn't have a proper Subversion extenstion required by Codepot.
|
||||||
|
It is also safe to install this RPM package without Codepot by ignoring the
|
||||||
|
dependency.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
@ -101,7 +101,6 @@ class Code extends Controller
|
|||||||
$data['file'] = $file;
|
$data['file'] = $file;
|
||||||
$data['revision'] = $rev;
|
$data['revision'] = $rev;
|
||||||
|
|
||||||
|
|
||||||
$this->load->view ($this->VIEW_FILE, $data);
|
$this->load->view ($this->VIEW_FILE, $data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -46,13 +46,14 @@ class SubversionModel extends Model
|
|||||||
if ($info === FALSE || count($info) != 1) return FALSE;
|
if ($info === FALSE || count($info) != 1) return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($info[0]['kind'] == SVN_NODE_FILE)
|
$info0 = &$info[0];
|
||||||
|
if ($info0['kind'] == SVN_NODE_FILE)
|
||||||
{
|
{
|
||||||
$lsinfo = @svn_ls ($workurl, $rev, FALSE, TRUE);
|
$lsinfo = @svn_ls ($workurl, $rev, FALSE, TRUE);
|
||||||
if ($lsinfo === FALSE) return FALSE;
|
if ($lsinfo === FALSE) return FALSE;
|
||||||
|
|
||||||
if (array_key_exists ($info[0]['path'], $lsinfo) === FALSE) return FALSE;
|
if (array_key_exists ($info0['path'], $lsinfo) === FALSE) return FALSE;
|
||||||
$fileinfo = $lsinfo[$info[0]['path']];
|
$fileinfo = $lsinfo[$info0['path']];
|
||||||
|
|
||||||
$str = @svn_cat ($workurl, $rev);
|
$str = @svn_cat ($workurl, $rev);
|
||||||
if ($str === FALSE) return FALSE;
|
if ($str === FALSE) return FALSE;
|
||||||
@ -73,23 +74,28 @@ class SubversionModel extends Model
|
|||||||
else $fileinfo['properties'] = NULL;
|
else $fileinfo['properties'] = NULL;
|
||||||
|
|
||||||
$fileinfo['fullpath'] = substr (
|
$fileinfo['fullpath'] = substr (
|
||||||
$info[0]['url'], strlen($info[0]['repos']));
|
$info0['url'], strlen($info0['repos']));
|
||||||
$fileinfo['content'] = $str;
|
$fileinfo['content'] = $str;
|
||||||
$fileinfo['logmsg'] = (count($log) > 0)? $log[0]['msg']: '';
|
$fileinfo['logmsg'] = (count($log) > 0)? $log[0]['msg']: '';
|
||||||
|
|
||||||
return $fileinfo;
|
return $fileinfo;
|
||||||
}
|
}
|
||||||
else if ($info[0]['kind'] == SVN_NODE_DIR)
|
else if ($info0['kind'] == SVN_NODE_DIR)
|
||||||
{
|
{
|
||||||
$list = @svn_ls ($workurl, $rev, FALSE, TRUE);
|
$list = @svn_ls ($workurl, $rev, FALSE, TRUE);
|
||||||
if ($list === FALSE) return FALSE;
|
if ($list === FALSE) return FALSE;
|
||||||
|
|
||||||
if ($info[0]['revision'] <= 0) $log = array();
|
$rev_key = 'last_changed_rev';
|
||||||
|
if (array_key_exists($rev_key, $info0) === FALSE) $rev_key = 'revision';
|
||||||
|
|
||||||
|
if (array_key_exists($rev_key, $info0) === FALSE || $info0[$rev_key] <= 0)
|
||||||
|
{
|
||||||
|
$log = array();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$log = @svn_log ($workurl,
|
$log = @svn_log ($workurl,
|
||||||
$info[0]['revision'],
|
$info0[$rev_key], $info0[$rev_key],
|
||||||
$info[0]['revision'],
|
|
||||||
1, SVN_DISCOVER_CHANGED_PATHS);
|
1, SVN_DISCOVER_CHANGED_PATHS);
|
||||||
if ($log === FALSE) return FALSE;
|
if ($log === FALSE) return FALSE;
|
||||||
}
|
}
|
||||||
@ -101,15 +107,15 @@ class SubversionModel extends Model
|
|||||||
$fileinfo['properties'] = $prop[$orgurl];
|
$fileinfo['properties'] = $prop[$orgurl];
|
||||||
else $fileinfo['properties'] = NULL;
|
else $fileinfo['properties'] = NULL;
|
||||||
|
|
||||||
$fileinfo['fullpath'] = substr ($info[0]['url'], strlen($info[0]['repos']));
|
$fileinfo['fullpath'] = substr ($info0['url'], strlen($info0['repos']));
|
||||||
$fileinfo['name'] = $info[0]['path'];
|
$fileinfo['name'] = $info0['path'];
|
||||||
$fileinfo['type'] = 'dir';
|
$fileinfo['type'] = 'dir';
|
||||||
$fileinfo['size'] = 0;
|
$fileinfo['size'] = 0;
|
||||||
$fileinfo['created_rev'] = $info[0]['revision'];
|
$fileinfo['created_rev'] = $info0[$rev_key];
|
||||||
if (array_key_exists ('last_changed_author', $info[0]) === FALSE)
|
if (array_key_exists ('last_changed_author', $info0) === FALSE)
|
||||||
$fileinfo['last_author'] = '';
|
$fileinfo['last_author'] = '';
|
||||||
else
|
else
|
||||||
$fileinfo['last_author'] = $info[0]['last_changed_author'];
|
$fileinfo['last_author'] = $info0['last_changed_author'];
|
||||||
$fileinfo['content'] = $list;
|
$fileinfo['content'] = $list;
|
||||||
$fileinfo['logmsg'] = (count($log) > 0)? $log[0]['msg']: '';
|
$fileinfo['logmsg'] = (count($log) > 0)? $log[0]['msg']: '';
|
||||||
return $fileinfo;
|
return $fileinfo;
|
||||||
@ -133,13 +139,14 @@ class SubversionModel extends Model
|
|||||||
if ($info === FALSE || count($info) != 1) return FALSE;
|
if ($info === FALSE || count($info) != 1) return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($info[0]['kind'] != SVN_NODE_FILE) return FALSE;
|
$info0 = $info[0];
|
||||||
|
if ($info0['kind'] != SVN_NODE_FILE) return FALSE;
|
||||||
|
|
||||||
$lsinfo = @svn_ls ($workurl, $rev, FALSE, TRUE);
|
$lsinfo = @svn_ls ($workurl, $rev, FALSE, TRUE);
|
||||||
if ($lsinfo === FALSE) return FALSE;
|
if ($lsinfo === FALSE) return FALSE;
|
||||||
|
|
||||||
if (array_key_exists ($info[0]['path'], $lsinfo) === FALSE) return FALSE;
|
if (array_key_exists ($info0['path'], $lsinfo) === FALSE) return FALSE;
|
||||||
$fileinfo = $lsinfo[$info[0]['path']];
|
$fileinfo = $lsinfo[$info0['path']];
|
||||||
|
|
||||||
$str = @svn_blame ($workurl, $rev);
|
$str = @svn_blame ($workurl, $rev);
|
||||||
if ($str === FALSE) return FALSE;
|
if ($str === FALSE) return FALSE;
|
||||||
@ -151,7 +158,7 @@ class SubversionModel extends Model
|
|||||||
if ($log === FALSE) return FALSE;
|
if ($log === FALSE) return FALSE;
|
||||||
|
|
||||||
$fileinfo['fullpath'] = substr (
|
$fileinfo['fullpath'] = substr (
|
||||||
$info[0]['url'], strlen($info[0]['repos']));
|
$info0['url'], strlen($info0['repos']));
|
||||||
$fileinfo['content'] = $str;
|
$fileinfo['content'] = $str;
|
||||||
$fileinfo['logmsg'] = (count($log) > 0)? $log[0]['msg']: '';
|
$fileinfo['logmsg'] = (count($log) > 0)? $log[0]['msg']: '';
|
||||||
return $fileinfo;
|
return $fileinfo;
|
||||||
|
@ -280,7 +280,6 @@ $this->load->view (
|
|||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="infostrip" id="code_folder_mainarea_infostrip">
|
<div class="infostrip" id="code_folder_mainarea_infostrip">
|
||||||
|
|
||||||
<?php if (CODEPOT_SIGNIN_FOR_CODE_SEARCH === FALSE || (isset($login['id']) && $login['id'] != '')): ?>
|
<?php if (CODEPOT_SIGNIN_FOR_CODE_SEARCH === FALSE || (isset($login['id']) && $login['id'] != '')): ?>
|
||||||
|
Loading…
Reference in New Issue
Block a user