我有一个存储库,它有一些不好的提交(本例中为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)
如何让远程仓库获取本地仓库的当前状态?
我正在寻找使用字符串作为我的来源创建一个字符列表.我做了一些谷歌搜索并没有提出任何事情,所以我写了一个功能,做了我想要的:
(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)
但看着这个让我觉得我必须错过一招.
我想编写一个小函数来为列表添加值.它看起来像这样:
(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因为函数需要一个参数.我错过了什么?
谢谢罗伯特
我有一个多次加入另一个模型的 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 的子集处理来订购。我该如何正确地做到这一点?
我正在尝试将libcsv转换为使用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) 我在使用 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)