由于github不执行(safejekyll 的选项)插件,我正在尝试开发一种小而干净的方式将已编译的文件部署到分支master.
通常的来源是在分支中boilerplate,从那里我运行jekyll并生成代码,一切正常.
在主分支中,我只有以下内容 Makefile
default:
git checkout boilerplate
git subtree split -P _site -b site
git checkout master
git merge -X theirs site
git branch -D site
Run Code Online (Sandbox Code Playgroud)
和文件.nojekyll(我在这里使用子树命令)
但这不起作用.它生成site包含所有代码的分支,但是当我合并时master,它所说的全部是:
已经是最新的.
如何解决这个问题?
我想做到的是要覆盖所有现有文件master但不能删除不分支存在的文件site(如前面提到的Makefile和.nojekyll,这是重要的是要保持有).
注意:我想从头开始,以便保持对部署过程的控制.我不想1.引入新的依赖项2.使用其他工具.
如何向索引添加内容,如
git add .
Run Code Online (Sandbox Code Playgroud)
然后
git commit -m "message"
Run Code Online (Sandbox Code Playgroud)
然后
git push origin master
Run Code Online (Sandbox Code Playgroud)
使用德威?
到目前为止,我已经找到了这个http://www.samba.org/~jelmer/dulwich/apidocs/dulwich.index.Index.html但它并没有说太多,是吗?
谢谢
format(self)在这种情况下如何工作?
class Commit:
number = None
sha = None
message = None
identity = None
def __init__(self, raw, number):
r = raw.commits[number]
self.number = number
self.sha = r['sha']
self.message = r['message']
self.identity = raw.identities[r['identity']]
def __str__(self):
return """
Commit {number} {sha}
Message {message}
Identity {identity}
""".format(self)
def __getitem__(self, attr):
return getattr(self, attr)
def __contains__(self, attr):
return hasattr(self, attr)
Run Code Online (Sandbox Code Playgroud)
如果我然后尝试访问单个属性
c = Commit(raw, 170)
print(c['sha'])
Run Code Online (Sandbox Code Playgroud)
例如,它的工作原理.但是,如果我print(c)直接说,它说:
KeyError:'数字'
我原本希望format()通过它获取所需的属性__getitem__().
如何使它工作?
我打算在python(+ qt4)中编写一个可插拔的应用程序.但是我对安全问题非常关注.插件应该足够强大,以便在应用程序中做任何他们喜欢的事情(并且作为进一步的约束,在使用这样的插件时会有签名过程和用户警告),但是与环境交互(文件系统,其他进程) ,网络等)应该只通过我将编写的一些python代码通过插件来完成.
有没有安全简便的方法来实现它,除了必须在安装之前对插件的代码进行静态代码分析?
我正在尝试使用余数定理和良好排序原则来定义prolog中的除法.
我到目前为止:
less(0, s(0)).
less(0, s(B)) :- less(0, B).
less(s(A), s(s(B))) :- less(A, s(B)).
add(A,0,A) :- nat(A).
add(A,s(B),s(C)) :- add(A,B,C). % add(A,B+1,C+1) = add(A,B,C)
add2(A,0,A).
add2(A,s(B),s(C)) :- add2(A,B,C). % add(A,B+1,C+1) = add(A,B,C)
times(A,0,0).
times(A,s(B),X) :- times(A,B,X1),
add(A,X1,X).
eq(0,0).
eq(s(A), s(B)) :- eq(A, B).
% A / B = Q (R) => A = B * Q + R
div(A, B, Q, R) :- less(R, B), eq(A, add(times(Q, R), R)).
Run Code Online (Sandbox Code Playgroud)
但是这个定义在div某种程度上是错误的.有人可以给我一个提示吗?
PS:我不应该使用eq,但我无法上班is或=上班.
如何从命令的标准输出读取单个文件的内容而不访问磁盘?
我想出了这样的东西:
def get_files_from(sha, files):
from subprocess import Popen, PIPE
import tarfile
p = Popen(["git", "archive", sha], bufsize=10240, stdin=PIPE, stdout=PIPE, stderr=PIPE)
tar = tarfile.open(fileobj=p.stdout, mode='r|')
p.communicate()
members = tar.getmembers()
names = tar.getnames()
contents = {}
for fname in files:
if fname not in names:
contents[fname] = None
continue
else:
idx = names.index(fname)
contents[fname] = members[idx].tobuf()
contents[fname] = tar.extractfile(members[idx]) #<--- HERE
tar.close()
return contents
Run Code Online (Sandbox Code Playgroud)
问题是.read()在标记的线路上添加呼叫
contents[fname] = tar.extractfile(members[idx]) #<--- HERE
Run Code Online (Sandbox Code Playgroud)
会给出错误:
tarfile.StreamError:不允许向后查找
那么如何获取文件的内容呢?
这个源代码有什么问题?
1 package Core;
2
3 import java.sql.*;
4
5 public class Course extends Model {
6
7 protected int id;
8 protected String title;
9
10 public Course(int id) {
11 this.id = id;
12 }
13
14 public static Course getNew(ResultSet res) {
15 try {
16 Course c;
17 c = new Course(res.getInt("course_id"));
18 return c;
19 } catch(SQLException e) {
20 return null;
21 }
22 }
23
24 @Override
25 public String toString() {
26 …Run Code Online (Sandbox Code Playgroud) 给定直方图作为字典,什么是最pythonic,"电池包括"的方式排序列表,该列表只有字典中的元素,通过该字典中定义的频率?
字典的键(以及隐含的列表中的值)是字符串,频率存储为整数.
我只对python2解决方案感兴趣,但是也欢迎你写一个python解决方案,所以其他人也可以从中受益(将来).
use std::cmp::Ordering;
fn cmp(a: i32, b: i32) -> Ordering {
match {
_ if a < b => Ordering::Less,
_ if a > b => Ordering::Greater,
_ => Ordering::Equal,
}
}
fn main() {
let x = 5;
let y = 10;
println!("{}", match cmp(x, y) {
Ordering::Less => "less",
Ordering::Greater => "greater",
Ordering::Equal => "equal",
});
}
Run Code Online (Sandbox Code Playgroud)
如何使用match条件,没有解构(因为没有什么可以解构),在cmp上面的函数?
代码改编自本书中众所周知的例子,该例子仅使用if/else,但它不起作用:
src/main.rs:5:9: 5:10 error: unexpected token: `_`
src/main.rs:5 _ if a < b => Ordering::Less,
^
Could …Run Code Online (Sandbox Code Playgroud) 我想知道你用过的其他按位和逻辑操作可以节省你的一天.
例如,我最后一次很棒的时间(和资源)保护程序
if(!((A^B) & B))
Run Code Online (Sandbox Code Playgroud)
读取:如果A至少具有B的访问权限,则权限保存在位字段A和B中.
请使用经典运算符:binary&(and)| (或),^(xor),〜(反转)和逻辑1 &&(和),|| (要么), !(不).
PHP:
<?php
echo '<div id="hello">';
include 'world.php';
echo '</div>';
Run Code Online (Sandbox Code Playgroud)
每个构造之间都有空格.谢谢!