如何将已克隆的git存储库转换为浅存储库?
git存储库是通过我控制之外的脚本下载的,因此我无法进行浅层克隆.
这样做的原因是为了节省磁盘空间.(是的,我真的很缺乏磁盘空间,所以即使浅存储库存储不多,也需要它.)
我已经试过了
git repack -a -d -f -depth=1
Run Code Online (Sandbox Code Playgroud)
但这实际上使存储库更大.
我正在尝试使用libusb,但是我收到以下错误消息:
usbfs:process 24665(myprogram)在使用前没有声明接口0
我真的不明白为什么,因为据我所知,我是根据图书馆的描述来做的.这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <libusb.h>
int main(void)
{
int result;
struct libusb_device_descriptor desc;
libusb_device **list;
libusb_device *my_device = NULL;
result = libusb_init(NULL);
libusb_set_debug(NULL, 3);
ssize_t count = libusb_get_device_list(NULL, &list);
for (int i = 0; i < count; i++) {
libusb_device *device = list[i];
result = libusb_get_device_descriptor(device, &desc);
if((desc.idVendor == 0x03f0) && (desc.idProduct == 0x241d)) {
my_device = device;
break;
}
}
if(my_device != NULL) {
libusb_device_handle *handle;
result = libusb_open(my_device, &handle); …Run Code Online (Sandbox Code Playgroud) 每当弹出Eclipse快速修复对话框时,所有选项都可见,但只要鼠标移动到对话框,底部选项就会被"配置注释首选项"按钮隐藏.要再次查看底部选项,我需要在对话框中向下滚动.即使弹出窗口中只有一个选项,也会发生这种情况.
我觉得这很烦人,因为我更有可能选择一个快速修复选项,而不是改变一些偏好.(我是唯一一个?:))
我怎样才能摆脱按钮,或者至少让对话框调整自身以便不隐藏任何选项?
我在Ubuntu_64,v12.04上运行Juno.
我正在关注 Craig Russell 关于测试协程的博客文章:https : //craigrussell.io/2019/11/unit-testing-coroutine-suspend-functions-using-testcoroutinedispatcher/但我无法通过此测试:
@Test
fun multipleLaunch() = runBlockingTest {
var result = 0
val jobs = mutableListOf<Job>()
for (j in 0 until 10) {
val job = launch(testDispatcherProvider.io()) {
delay(1000)
result++
}
jobs.add(job)
}
jobs.forEach { job ->
job.join()
}
assertEquals(10, result)
}
Run Code Online (Sandbox Code Playgroud)
基本上,我正在启动一堆并行作业,并希望在所有作业完成后获得结果。我得到了这个,现在经典的例外:
java.lang.IllegalStateException:此作业尚未完成
请告知如何使其按预期工作。
我的完整代码:
class LaunchTest {
@get:Rule
var coroutinesTestRule = CoroutineTestRule()
val testDispatcherProvider = object : DispatcherProvider {
override fun io(): CoroutineDispatcher = coroutinesTestRule.testDispatcher
}
@Test
fun multipleLaunch() = runBlockingTest { …Run Code Online (Sandbox Code Playgroud) 我正在测试一个阻塞的协程。这是我的生产代码:
interface Incrementer {
fun inc()
}
class MyViewModel : Incrementer, CoroutineScope {
override val coroutineContext: CoroutineContext
get() = Dispatchers.IO
private val _number = MutableStateFlow(0)
fun getNumber(): StateFlow<Int> = _number.asStateFlow()
override fun inc() {
launch(coroutineContext) {
delay(100)
_number.tryEmit(1)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的测试:
class IncTest {
@BeforeEach
fun setup() {
Dispatchers.setMain(StandardTestDispatcher())
}
@AfterEach
fun teardown() {
Dispatchers.resetMain()
}
@Test
fun incrementOnce() = runTest {
val viewModel = MyViewModel()
val results = mutableListOf<Int>()
val resultJob = viewModel.getNumber()
.onEach(results::add)
.launchIn(CoroutineScope(UnconfinedTestDispatcher(testScheduler)))
launch(StandardTestDispatcher(testScheduler)) {
viewModel.inc() …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个仅应为某些 Gerrit 项目运行的 Jenkins 管道步骤。特别是对于变量 GERRIT_PROJECT 以“platform/zap”开头的所有项目。遗憾的是,我缺乏 Groovy 技能。
这是我到目前为止得到的:
stage ('zap') {
when {
expression {
isMatch = env.GERRIT_PROJECT =~ /^platform\/zap/
return isMatch
}
}
steps {
build job: 'Zap', parameters: [
string(name: 'ZAP_PROJECT', value: env.GERRIT_PROJECT)
]
}
}
Run Code Online (Sandbox Code Playgroud)
换句话说,阶段应该为“platform/zap/os”而不是“app/hello”执行。
任何指导将不胜感激。
kotlin ×2
unit-testing ×2
eclipse ×1
eclipse-juno ×1
git ×1
groovy ×1
jenkins ×1
libusb ×1
libusb-1.0 ×1
regex ×1
usb ×1