克隆远程存储库后,它不会通过-a选项显示任何远程分支.可能是什么问题呢?怎么调试呢?在此片段中,未显示两个远程分支:
$ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git
$ cd pythonwebkit
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
$ git --version
git version 1.8.3.1
Run Code Online (Sandbox Code Playgroud)
在另一台机器上尝试相同的命令,它运作良好:
$ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git
Receiving objects: 100% (186886/186886), 818.91 MiB | 3.44 MiB/s, done.
$ cd pythonwebkit/
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/debian
remotes/origin/master
remotes/origin/python_codegen
$ git --version
git version 1.7.1
Run Code Online (Sandbox Code Playgroud)
尝试克隆另一个回购,它运作良好.虽然我可以在这台机器上再试一次,但最好知道什么是错的.
任何建议或提示都将受到欢迎.
编辑:答案摘要:从git版本1.8.3.2开始,需要同时使用"--depth"和"--no-single-branch"来获得与以前相同的行为.这被视为错误修复.
这是我的Python3项目hiearchy:
projet
\
script.py
web
\
index.html
Run Code Online (Sandbox Code Playgroud)
从script.py,我想运行一个服务该web文件夹内容的http服务器.
这里建议这段代码运行一个简单的http服务器:
import http.server
import socketserver
PORT = 8000
Handler = http.server.SimpleHTTPRequestHandler
httpd = socketserver.TCPServer(("", PORT), Handler)
print("serving at port", PORT)
httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)
但这实际上是服务project,而不是web.如何指定要提供的文件夹的路径?
类似于关于从主机复制容器中的UID/GID的SO帖子,但是如何使用具有复制UID和GID的用户构建映像?最好,你如何使用dockerfile做到这一点?
我可以使用bash脚本来完成它:
#!/bin/bash
# current uid and gid
curr_uid=`id -u`
curr_gid=`id -g`
# create bb.dockerfile:
cat << EOF1 > bb.dockerfile
FROM ubuntu:xenial-20170214
ARG UNAME=testuser
EOF1
echo ARG UID=${curr_uid} >> bb.dockerfile
echo ARG GID=${curr_gid} >> bb.dockerfile
cat << EOF2 >> bb.dockerfile
RUN groupadd -g \$GID \$UNAME
RUN useradd -m -u \$UID -g \$GID -s /bin/bash \$UNAME
USER \$UNAME
CMD /bin/bash
EOF2
docker build -f bb.dockerfile -t testimg .
Run Code Online (Sandbox Code Playgroud)
这个bash将生成一个docker文件,如下所示并在其上构建.
FROM ubuntu:xenial-20170214
ARG UNAME=testuser
ARG UID=1982
ARG GID=1982 …Run Code Online (Sandbox Code Playgroud) 新的GDB-Python脚本API看起来非常强大,应该非常有用.但是,编写一个有用的脚本来迭代C或C++结构中的字段并非易事.有没有人知道一些确切的样品呢?
提前致谢.
更新最终样本:替换_print_fields()早期样本.
if l.type.code == gdb.TYPE_CODE_STRUCT:
print "Found a struct %s " % n
#self._print_fields(n, t)
self._print_deep_items(n, t, l)
else:
print "Found no struct"
def _print_deep_items (self, n_, type_, instance_):
for fld in type_.fields():
fn = fld.name
ft = fld.type
fv = instance_[fn]
if fv.type.code == gdb.TYPE_CODE_STRUCT:
print " Found a sub struct %s " % fn
self._print_deep_items(fn, ft, fv)
else:
print " Field %s " % fn, " type %s " % ft.tag, " …Run Code Online (Sandbox Code Playgroud) 两个stackoverflow 答案建议使用fusion adapt_struct迭代结构字段的方法.这种方法看起来不错.但是,如何迭代到一个本身就是结构的字段?
根据之前的答案,我想出了下面的代码.问题出在代码无法编译的"#if 0"子句中.作为替代解决方案,我创建了"decode()"函数来获取指向目标参数的void指针.这有效,但在编译时丢失了类型信息.有更好的解决方案吗?
struct Foo_s { int i; };
BOOST_FUSION_ADAPT_STRUCT( Foo_s, (int, i) )
struct Bar_s { int v; Foo_s w; };
BOOST_FUSION_ADAPT_STRUCT( Bar_s, (int, v) (Foo_s, w) )
struct AppendToTextBox {
template <typename T> void operator()(T& t) const {
int status = 0;
const char *realname = abi::__cxa_demangle(typeid(t).name(), 0, 0, &status);
printf(" typename: %s value: %s realname: %s\n", typeid(t).name(),
boost::lexical_cast<std::string>(t).c_str(), realname);
std::string rn(realname);
if ( rn.rfind("_s") == rn.size()-2 ) {
#if 0 /* this can …Run Code Online (Sandbox Code Playgroud) c++ reflection introspection boost-fusion template-meta-programming
从我的阅读中看,由于存在守护进程,dbus性能应该比其他消息传递ipc机制慢两倍.
在讨论这样的问题时,Linux IPC技术使用某些人提到了性能问题.除了两倍慢的因素外,您是否看到性能问题?您是否看到阻止dbus在嵌入式系统中使用的问题?
据我所知,dbus是否适用于小消息.如果需要传递大量数据,其中一个解决方案是将数据放入共享内存或堆中,然后使用dbus进行通知.根据所讨论的其他ipc机制正在考虑的是:信号,匿名管道,命名管道或FIFO,SysV消息队列,POSIX消息队列,SysV共享内存,POSIX共享内存,SysV信号量,POSIX信号量,FUTEX锁,文件 - 支持和匿名共享内存使用mmap,UNIX域套接字,Netlink套接字,网络套接字,Inotify机制,FUSE子系统,D-Bus子系统.
我应该提一个列出要求的问题(尽管它以apache为中心):
然而,关于性能的另一个问题,所以提到的技术来提高性能.考虑到这一切,我想在嵌入式系统中使用dbus时应该有更少的问题或缺点.
有谁知道如何使用 boto3 sdk 将视频发送到 kinesis 视频流的完整示例?
最初针对 GetMedia 和 PutMedia 都提出了这个问题。现在我已经得到了 GetMedia 部分的示例代码:
client = boto3.client('kinesisvideo')
response = client.get_data_endpoint(
StreamName='my-test-stream',
APIName='GET_MEDIA'
)
print(response)
endpoint = response.get('DataEndpoint', None)
print("endpoint %s" % endpoint)
if endpoint is not None:
client2 = boto3.client('kinesis-video-media', endpoint_url=endpoint)
response = client2.get_media(
StreamName='my-test-stream',
StartSelector={
'StartSelectorType': 'EARLIEST',
}
)
print(response)
stream = response['Payload'] # botocore.response.StreamingBody object
while True:
ret, frame = stream.read()
print(" stream type ret %s frame %s" % (type(ret), type(frame)))
Run Code Online (Sandbox Code Playgroud)
您如何访问 PutMedia?从之前的文章“ Amazon Kinesis Video GetMedia/PutMedia ”来看,您似乎必须为 PutMedia …
我使用buildroot交叉编译VLC(版本2.1.2)媒体播放器用于扶手板.我已经使用串行电缆将电路板连接到我的linux PC.当我尝试在minicom中使用"vlc"命令运行播放器时,该命令位于我的根文件系统的/ usr/bin中.我收到以下错误:
禁止接口错误:无法连接到D-Bus会话守护程序:/ usr/bin/dbus-launch异常终止,出现以下错误:自动启动错误:X11初始化失败.
任何人都可以澄清这个错误的含义,也可以告诉我什么是dbus以及为什么我的VLC播放器需要它.
谢谢你的帮助.
我从https://github.com/eclipse/mosquitto克隆了mosquitto repo .它包含一个标签v1.4.9.然而,它看起来不像是在一个分支上.
怎么会发生这种情况?作者是否真的在自己的仓库中保留了一个分支,但只将标签从该分支推送到github?或者他只是提交标签?
我把标签变成了一个本地分支:
$ git checkout -b work149 v1.4.9
Run Code Online (Sandbox Code Playgroud)
并查看了分支上的最后一次提交:
$ git log -1
commit 91bfd82491f90e24b6fe9c036f0b04a1f5c14a89
Merge: bf959ef 2d0af73
Author: Roger A. Light <roger@atchoo.org>
Date: Thu Jun 2 22:05:34 2016 +0100
Merge branch 'fixes'
Run Code Online (Sandbox Code Playgroud)
此提交不仅仅是fixes分支.
或者git log --graph我可以看到同一分支上的早期提交(不是fixes分支,而是我试图理解的分支):
* | commit bf959ef9b0ae0e4d74bf80158ffb0b7c69da533d
|\ \ Merge: 646e0a0 5cca6b4
| |/ Author: Roger A. Light <roger@atchoo.org>
| | Date: Sun Feb 14 14:38:42 2016 +0000
| |
| | Merge …Run Code Online (Sandbox Code Playgroud) 当C printf()及其系列由命令行编译gcc并-Wall在命令行上使用时,编译器会根据正在使用的格式字符串警告错误的参数.作为一个例子,下面的代码会得到一条错误消息,说明格式指定了3个参数,但实际上你只传递了两个.
printf("%d%d%d", 1, 2);
Run Code Online (Sandbox Code Playgroud)
在编写包装器时printf(),如何保留此功能?一种功能或宏的形式将是我能想到的.但是简单的解析器也是可以接受的.
可以在stackoverflow上找到编写printf包装器的几种方法.两种常见的方法是使用vprintf和varargs,并使用__builtin_apply.我试过这两种方法,都没有用.
python ×3
c ×2
c++ ×2
dbus ×2
git ×2
boost-fusion ×1
boto3 ×1
branch ×1
buildroot ×1
c-api ×1
docker ×1
dockerfile ×1
embedded ×1
gcc ×1
gdb ×1
git-branch ×1
github ×1
ipc ×1
linux ×1
performance ×1
permissions ×1
printf ×1
python-3.x ×1
reflection ×1
scripting ×1
tags ×1
warnings ×1
wrapper ×1
x11 ×1