小编rob*_*ill的帖子

Git reset --hard和一个远程存储库

我有一个存储库,它有一些不好的提交(本例中为D,E和F).

ABCDEF主和原点/主

我专门用一个修改了本地存储库git reset --hard.我在重置之前选了一个分支,所以现在我有一个看起来像的回购:

A-B-C master  
     \ D-E-F old_master

A-B-C-D-E-F origin/master
Run Code Online (Sandbox Code Playgroud)

现在我需要这些糟糕提交的一些部分,所以我选择了我需要的位并做了一些新的提交,所以现在我在本地有以下内容:

A-B-C-G-H master
     \ D-E-F old_master
Run Code Online (Sandbox Code Playgroud)

现在我想把这种状态推到远程仓库.但是,当我尝试做一个git pushGit时,礼貌地给我刷掉了:

$ git push origin +master:master --force  
Total 0 (delta 0), reused 0 (delta 0)  
error: denying non-fast forward refs/heads/master (you should pull first)  
To git@git.example.com:myrepo.git  
! [remote rejected] master -> master (non-fast forward)  
error: failed to push some refs to 'git@git.example.com:myrepo.git'  
Run Code Online (Sandbox Code Playgroud)

如何让远程仓库获取本地仓库的当前状态?

git

193
推荐指数
3
解决办法
21万
查看次数

在Clojure中从字符串创建一个列表

我正在寻找使用字符串作为我的来源创建一个字符列表.我做了一些谷歌搜索并没有提出任何事情,所以我写了一个功能,做了我想要的:

(defn list-from-string [char-string]
  (loop [source char-string result ()]
    (def result-char (string/take 1 source))
    (cond
     (empty? source) result
     :else (recur (string/drop 1 source) (conj result result-char)))))
Run Code Online (Sandbox Code Playgroud)

但看着这个让我觉得我必须错过一招.

  1. 是否有核心或贡献功能为我做这个?当然,我只是愚蠢吗?
  2. 如果没有,是否有办法改进此代码?
  3. 同样的事情对数字也有用吗?

clojure clojure-contrib

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

如何在emacs lisp中将参数传递给map?

我想编写一个小函数来为列表添加值.它看起来像这样:

(defvar fares '(31.14 28.12 25.10 22.08 19.06 16.04 13.02 10))

(defun plus-extra (fare) (+ 3.02 fare))

(map 'plus-extra fares)

可以预见,elisp barfs因为函数需要一个参数.我错过了什么?

谢谢罗伯特

lisp emacs elisp

8
推荐指数
2
解决办法
2038
查看次数

尝试对包含在 activerecord 中的结果进行排序

我有一个多次加入另一个模型的 activerecord 模型:

class Claim < ActiveRecord::Base
  belongs_to :user
  belongs_to :treated_by, foreign_key: :treated_by_id, class_name: 'User'
  belongs_to :person_involved, foreign_key: :person_involved_id, class_name: 'User'
  belongs_to :case_manager, foreign_key: :case_manager_id, class_name: 'User'
end
Run Code Online (Sandbox Code Playgroud)

在某些时候,我希望获取 Claims 及其所有 User 实例,因此我通过使用包含来避免 N+1 查询:

claims = Claim.all.includes(:user, :treated_by, :person_involved)
Run Code Online (Sandbox Code Playgroud)

这很好,但现在我想对声明进行排序(没有它们在内存中)所以我想做一些类似的事情:

Claim.all.includes(:user, :person_involved, :treated_by).order('treated_by.last_name')
Run Code Online (Sandbox Code Playgroud)

但是除非我像这样使用表名,否则我会得到无效的 SQL:

Claim.all.includes(:user, :person_involved, :treated_by).order('users.last_name')
Run Code Online (Sandbox Code Playgroud)

例如,这显然不会帮助我通过用户 last_name 的子集处理来订购。我该如何正确地做到这一点?

activerecord ruby-on-rails

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

转换为libtool时,automake和autoconf无法找到libtool

我正在尝试将libcs​​v转换为使用libtool,因此我可以在mac os x上使用它而不会破坏makefile.当我尝试运行从工具生成的makefile时,我收到以下错误:

~/software/libcsv (gnu_tools) $ make 
tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libcsv\" 
-DVERSION=\"3.0.1\" -I.     -g -O2 -MT libcsv.lo -MD -MP -MF .deps/libcsv.Tpo -c -o libcsv.lo  
libcsv.c
/bin/sh: --mode=compile: command not found
make: [libcsv.lo] Error 127 (ignored)
mv -f .deps/libcsv.Tpo .deps/libcsv.Plo
mv: rename .deps/libcsv.Tpo to .deps/libcsv.Plo: No such file or directory
make: *** [libcsv.lo] Error 1
Run Code Online (Sandbox Code Playgroud)

我正在运行OS X 10.5.经过一番小小的考虑后,我注意到生成的makefile有一个空的libtool var:

<generated makefile>
LD = 
LDFLAGS = 
LIBOBJS = 
LIBS = 
LIBTOOL = 
LIPO = 
LN_S = …
Run Code Online (Sandbox Code Playgroud)

c macos automake autoconf libtool

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

pytest-mocks 并声明类级别的固定装置

我在使用 pytest-mock 和模拟 open 时遇到问题。

我想测试的代码如下所示:

import re
import os

def get_uid():
    regex = re.compile('Serial\s+:\s*(\w+)')
    uid = "NOT_DEFINED"
    exists = os.path.isfile('/proc/cpuinfo')
    if exists:
        with open('/proc/cpuinfo', 'r') as file:
            cpu_details = file.read()
            uid = regex.search(cpu_details).group(1)
    return uid
Run Code Online (Sandbox Code Playgroud)

所以测试文件是:

import os
import pytest

from cpu_info import uid

@pytest.mark.usefixtures("mocker")
class TestCPUInfo(object):
    def test_no_proc_cpuinfo_file(self):
        mocker.patch(os.path.isfile).return_value(False)
        result = uid.get_uid()
        assert result == "NOT_FOUND"

    def test_no_cpu_info_in_file(self):
        file_data = """
Hardware    : BCM2835
Revision    : a020d3
        """
        mocker.patch('__builtin__.open', mock_open(read_data=file_data))
        result = uid.get_uid()
        assert result == "NOT_DEFINED"

    def …
Run Code Online (Sandbox Code Playgroud)

python mocking pytest

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