小编Ste*_*lay的帖子

SVN:我可以将文件的子集复制到新标签吗?

在我的repo trunk中,我有一个目录unit-tests,我想要保留我的发布标记.我一直在做的是将trunk复制到新标签,然后删除unit-tests.这样好吗这感觉不对,因为标记每个版本需要两次修改.有没有办法从svn副本中排除目录?

我有:

/trunk/unit-tests
/trunk/dir1
/trunk/file1
/trunk/file2
Run Code Online (Sandbox Code Playgroud)

我想创造:

/tags/release_123/dir1
/tags/release_123/file1
/tags/release_123/file2
Run Code Online (Sandbox Code Playgroud)

我通常使用Tortoise/Eclipse客户端,但如果需要我可以使用它.

svn tags version-control tagging copy

5
推荐指数
1
解决办法
1834
查看次数

Git:如何将两个标签之间的更改合并到另一个分支?

我正在尝试在我们自己的Moodle回购分支上管理我们的Moodle实例.我检查了分支"MOODLE_19_STABLE"的标签"v1.9.11",然后将其复制到新的分支"COE",我在我们的自定义主题中添加了等等.

现在标记"v1.9.12"存在,我想将提交到该标记合并到我的"COE"分支(而不是之后的提交).

我可以用像git cherry-pick这样的东西吗?

tags git branch git-branch

5
推荐指数
1
解决办法
4821
查看次数

phpass的自定义base 64编码器:它是否比Base64具有名称/优势?

phpassencode64()中使用奇怪的(对我来说)算法来进行64位编码.在映射到可打印的char之前,Base64Uuencode线性地将6位打包以产生每个八位字节. encode64洗牌:

input bit location:    abcdefgh ijklmnop qrstuvwx
base64 bit location:   ..abcdef ..ghijkl ..mnopqr ..stuvwx
encode64 bit location: ..cdefgh ..mnopab ..wxijkl ..qrstuv
Run Code Online (Sandbox Code Playgroud)

这个算法是众所周知的吗?除了向后兼容性,为什么选择Base64

下面我重写了它以澄清算法:

function encode64($input, $bytesToProcess)
{
    // convert to array of ints
    for ($i = 0; $i < $bytesToProcess; $i++) {
        $bytes[] = ord($input[$i]);
    }

    $octets = array();
    $i = 0;
    do {
        $value = $bytes[$i++];
        $octets[] = $value & 0x3f;
        if ($i < $bytesToProcess) …
Run Code Online (Sandbox Code Playgroud)

php algorithm base64 encoding bit-manipulation

5
推荐指数
1
解决办法
480
查看次数

ASCII"../"是唯一表示PHP中目录遍历的字节序列吗?

我有一个PHP应用程序,它使用一个$_GET参数来选择文件系统上的JS/CSS文件.

如果我拒绝输入字符串包含的所有请求./,\或者在可见的7位ASCII范围之外的字节,这是否足以在路径传递给PHP的基础(基于C的)文件函数时阻止父目录遍历?

我知道空字节漏洞,但有没有其他替代/格式错误的字符编码技巧可能会被这些检查吱吱作响?

这是基本的想法(不是生产代码):

$f = $_GET['f']; // e.g. "path/to/file.js"

// goal: select only unhidden CSS/JS files within DOC_ROOT
if (! preg_match('@^[\x20-\x7E]+$@', $f)     // outside visible ASCII
   || false !== strpos($f, "./")             // has ./
   || false !== strpos($f, "\\")             // has \
   || 0 === strpos(basename($f), ".")        // .isHiddenFile
   || ! preg_match('@\\.(css|js)$i@', $f)    // not JS/CSS
   || ! is_file($_SERVER['DOCUMENT_ROOT'] . '/' . $f)) {
    die();
}
$content = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/' …
Run Code Online (Sandbox Code Playgroud)

php filesystems validation character-encoding

4
推荐指数
1
解决办法
651
查看次数

PHP5:为什么try/catch失败?

在我的XAMPP/Win XP版本中,PHP5.2.3无法捕获任何异常.这些例子都不起作用,这个:

try {
    throw new Exception('Fail');
} catch (Exception $e) {
    echo 'Succeed';
}
Run Code Online (Sandbox Code Playgroud)

...结果是:

致命错误:M:\ path\to\test.php中未捕获的异常'Exception',消息'Fail':4堆栈跟踪:#4 {main} 在第4行的M:\ path\to\test.php中抛出

所有PHP的错误设置似乎都是标准的.服务器是Apache/2.2.4

php xampp exception try-catch

1
推荐指数
1
解决办法
1072
查看次数