小编Rob*_*ert的帖子

将git存储库转换为浅?

如何将已克隆的git存储库转换为浅存储库?

git存储库是通过我控制之外的脚本下载的,因此我无法进行浅层克隆.

这样做的原因是为了节省磁盘空间.(是的,我真的很缺乏磁盘空间,所以即使浅存储库存储不多,也需要它.)

我已经试过了

git repack -a -d -f -depth=1
Run Code Online (Sandbox Code Playgroud)

但这实际上使存储库更大.

git

49
推荐指数
5
解决办法
8942
查看次数

来自libusb的错误消息"未声明的接口"

我正在尝试使用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)

usb libusb libusb-1.0

9
推荐指数
3
解决办法
2万
查看次数

Eclipse快速修复对话隐藏了底线

每当弹出Eclipse快速修复对话框时,所有选项都可见,但只要鼠标移动到对话框,底部选项就会被"配置注释首选项"按钮隐藏.要再次查看底部选项,我需要在对话框中向下滚动.即使弹出窗口中只有一个选项,也会发生这种情况.

我觉得这很烦人,因为我更有可能选择一个快速修复选项,而不是改变一些偏好.(我是唯一一个?:))

我怎样才能摆脱按钮,或者至少让对话框调整自身以便不隐藏任何选项?

我在Ubuntu_64,v12.04上运行Juno.

eclipse eclipse-juno

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

协程测试失败并显示“此作业尚未完成”

我正在关注 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)

unit-testing kotlin kotlin-coroutines

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

带延迟()的 Kotlin runTest 不起作用

我正在测试一个阻塞的协程。这是我的生产代码:

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)

unit-testing kotlin kotlin-coroutines

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

Jenkins 管道中的正则表达式

我正在尝试创建一个仅应为某些 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”执行。

任何指导将不胜感激。

regex groovy jenkins jenkins-groovy jenkins-pipeline

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