小编wic*_*her的帖子

使用Dropbox作为跨多台机器的git工作目录 - 提交不能完美同步

首先,我想强调的是,这个问题不是关于在Dropbox上托管我的中央回购,而且我是使用git的新手.我能找到的涉及Dropbox和git的其他问题都没有真正回答我的问题; 他们都是关于使用Dropbox托管您的存储库,或者是否将这两者结合使用是一个"好主意",这两者都不是我在这里问的问题.

我的问题如下:我有两台计算机,每台双启动Windows和Ubuntu(一台笔记本电脑和一台台式机).我有一个位于Dropbox文件夹中的本地git存储库(克隆自github存储库),以便在机器和操作系统之间同步.当我在一台机器/操作系统上进行提交时,它似乎没有将提交状态正确地同步到其他机器.

例如:

在我的Windows桌面上,我对foo.cpp进行了更改.然后我'git commit -a'和'git push',将我的更改推送到github托管的存储库.对文件的更改也会在我的Dropbox文件夹中同步,当我在学校登录我的Windows笔记本电脑时,所有内容都会毫无问题地下载.但是,当我输入'git status'时,它会说:

# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   foo.cpp
#
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)

但是我已经在我的其他机器上提交了这些更改,表面上是相同的工作目录.尝试从github服务器'git pull'给我的信息是一切都是'已经是最新的'.

我希望Dropbox可以无缝地同步存储库状态.有人熟悉解决这种情况的方法吗?谢谢!

git github dropbox

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

Android Room 迁移测试:主键位置差异导致无端测试失败

Android 上的 Room 具有一种机制,您可以通过该机制将数据库架构导出为 JSON,然后针对单元测试套件中导出的架构验证数据库迁移。我在具有多个主键的表上遇到了一个问题,其中在运行迁移后主键位置都是 1。然而,模式导出的 V1 和 V2 都以相同的顺序列出了主键。此外,导出到 JSON 的表架构包含[]索引的空列表 ( ),而内存测试数据库是使用索引的空值创建的。

我很好奇这是否是 Room 中的错误,或者我是否可能滥用测试框架。给定迁移中的唯一变化是添加了一个全新且不相关的表。这是我的测试代码:

@RunWith(RobolectricTestRunner::class)
class MigrationTest {
    @Rule @JvmField
    val helper: MigrationTestHelper = MigrationTestHelper(
        InstrumentationRegistry.getInstrumentation(),
        ApplicationDatabase::class.java.canonicalName,
        FrameworkSQLiteOpenHelperFactory()
    )

    @Test
    @Throws(IOException::class)
    fun `Test migration from 1 to 2`() {
        helper.createDatabase(TEST_DB, 1).apply {
            close()
        }

        helper.runMigrationsAndValidate(TEST_DB, 2, true, MIGRATION_1_2)
    }

    companion object {
        const val TEST_DB = "migration-test"
    }
}
Run Code Online (Sandbox Code Playgroud)

运行此测试时,出现以下错误:

java.lang.IllegalStateException: Migration didn't properly handle: Foo
Expected: TableInfo{name='Foo', columns={bar=Column{name='bar', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=1, defaultValue='null'}, baz=Column{name='baz', …
Run Code Online (Sandbox Code Playgroud)

android android-sqlite android-room

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

如何使用AutoHotKey增加两次击键之间的输入时间

我在Windows 7中使用AutoHotKey脚本将剪贴板的内容作为一系列击键发送。我是AutoHotKey的新手,但我想知道是否有某种方法可以调整每次发送两次击键之间的时间。当前,脚本中的唯一一行如下:

^!k:: Send %clipboard%
Run Code Online (Sandbox Code Playgroud)

我希望能够将两次击键之间的时间(目前看来大约是每秒50个字符)增加到每秒10个字符。

我正在使用它来使用终端仿真器将击键发送到微控制器。我遇到的问题是,当我实际手动键入击键时,所有内容都会按原样进行注册,但是当我将剪贴板内容作为击键发送时,出现了问题,我希望减慢输入速度找出问题所在。本质上,在尝试另一个更复杂的解决方案之前,我想排除输入速度的问题。

如果有人有任何想法,将不胜感激。谢谢!

autohotkey

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

Haskell式混淆; 尽管有任何关系,但无法匹配预期的类型

我在查明以下代码无效的原因时遇到了一些麻烦.我希望,因为Command数据类型是一个ServerCommandClientCommand任何类型的构造函数,期望一个Command能够接受一个或另一个.我似乎对这些数据类型应如何排队有一个基本的误解.

data ClientCommand  =   SEND |
                        DISCONNECT |
                        CONNECT

data ServerCommand  =   CONNECTED |
                        MESSAGE |
                        RECEIPT |
                        ERROR

data Command        =   ServerCommand | ClientCommand

type Frame          =   (Command, Maybe String)

makeConnect :: Frame
makeConnect = (CONNECT, (Just "hello!"))
Run Code Online (Sandbox Code Playgroud)

当我尝试将此代码加载到ghci时,我收到以下错误:

GHCi, version 7.10.3: http://www.haskell.org/ghc/  :? for help
[1 of 1] Compiling Main             ( Frames.hs, interpreted )

Frames.hs:15:16:

    Couldn't match expected type ‘Command’
                with actual type ‘ClientCommand’
    In the expression: CONNECT
    In the …
Run Code Online (Sandbox Code Playgroud)

haskell types typeclass

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