我开始在mercurial中将一些文件放在版本控制中.它开始于.vim,然后用.bashrc,现在我意识到许多其他文件也可以被版本化(例如.zshrc,由taskwarrior创建的.task目录等)
事实是,我想知道哪些方法可用,以及SO中的人们如何做到这一点.
版本控制主页不是一个好主意,因为我需要编辑我的.hgignore,每次添加我不想要版本化的新文件夹时我也需要编辑.hgignore.
所以我想到了两种方法:
您是否认为在第二种方法中为每个配置创建存储库是否过度?你有其他建议吗?我想在linux/mac上使用这种方法.我也在windows上使用vim,这就是为什么我要用子模块制作不同的存储库 - 在windows中我只是克隆vim repo:home repo将vim作为子模块.
(我正在使用bitbucket私人帐户.是否有可能在那里有子模块?还有一件事:是否有可能在 mercurial存储库中将git子模块作为子模块?如何?)
谢谢!
当我必须进行合并时,我已经完成了mercurial,我就是这么做的 hg commit -m "Merge."
合并时你通常做什么?你是否在评论中写了变更集,或者尝试写出"有意义的"评论(因为我认为它们没用,除非你从不同位置的两个真正不同的回购合并).
是否可以在hgrc的[alias]中的mercurial(如hgmerge)中创建一个别名,自动执行hg commit -m "Merge: heads ${head}, ${head} ..."?
b = [{'id': 'a'}, {'id': 'c'}, {'id': 'b'}, {'id': 'e'}]
Run Code Online (Sandbox Code Playgroud)
我需要这个成为:
b = [{'id': 'a'}, {'id': 'c'}, {'id': 'e'}, {'id': 'b'}]
Run Code Online (Sandbox Code Playgroud)
此新订单由另一个列表定义.
my_filter = ['a', 'c', 'e', 'b']
Run Code Online (Sandbox Code Playgroud)
......正如您所看到的,带有dicts的列表现在具有一系列在my_filter变量上显示的ID .
我能够重新安排这个但是使用了一堆fors而且效率不高.你知道更好的方法吗?我已经知道如何按字典的值对字典列表进行排序,但我需要这个顺序由另一个列表定义.
编辑:my_filter被命名filter,我改变了Dave Kirby的推荐,因为它是内置的.由于某些答案仍然存在filter于其中,因此,如果您在其中一些答案中看到此编辑部分,则应避免混淆filter.
我需要调整图像大小,从所有不同的大小到 144x144。
所有尺寸:从 968x565、25x48、400x400 等。不知道输入。我正在使用 Python 中的 Pillow 库。我不介意失去纵横比。
问题是:使用resize方法时,某些图像会获得完全随机的大小。并非总是如此,但只有其中一些不尊重我给该方法提供的 144x144 的任意大小。这是一个示例。
我尝试使用 Mac OS X Yosemite 的 Preview 调整这些图像的大小,并且效果很好。我需要在 Pillow 中做什么才能强制使用 144x144 大小并至少像 mac 中的预览一样工作?
我无法发布整个代码,但调整大小的代码段是:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from PIL import Image
im = Image.open('canvas_wheat.jpg')
im.resize((144, 144), Image.ANTIALIAS)
im.save('144.jpg', optimize=True, quality=20)
Run Code Online (Sandbox Code Playgroud) 我问了一个关于将旧的"丑陋"链接重写为seo友好链接的问题.
我需要在一些网址中的"尖锐"符号后"提取"一些信息.我已经为它创建了一个正则表达式,但它看起来不起作用.
在我的问题之后,我为这个url创建了这个逻辑,例如script.php?mode=full&id=23:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /script\.php\?mode=full&id=([0-9]+)\ HTTP/
RewriteRule ^script\.php$ fix_old_urls.php?phpfile=script2&id=%1 [NC,L]
Run Code Online (Sandbox Code Playgroud)
但是我正在使用遗留应用程序,我需要在一些页面中的尖锐符号之后提取值,在示例url中script.php?mode=full#23:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /script\.php\?mode=list\#([0-9]+)\ HTTP/
RewriteRule ^script\.php$ fix_old_urls.php?phpfile=script&id=%1 [NC,L]
Run Code Online (Sandbox Code Playgroud)
(在fix_old_urls中我正确地使用301代码重定向).
第一个工作,但不是第二个工作.对我来说,两者看起来都是一样的逻辑.我做错了什么?
当我:echo &t_Co在我的Vim中时,它会显示我的终端颜色.如果我:echo &t_Co在我的gVim中,没有显示任何内容(因为我不在终端).
我想用一个条件,我的vimrc检测到这种状况(&t_Co在gVim的没有价值,我怎么测试呢?我知道我可以使用已经("gui_running"),看看我在gVim的或不,但我想知道如何测试像&t_Co这样没有显示任何内容的变量.
是否可以从命令行在vim中获取两个.vimrc?
假设我有〜/ .vimrc.我想创建一个别名来源.vimrc以及另一个任意的vim配置文件,但仅在启动vim时.就像是:
alias vim='vim --source=~/.vimrc2"
Run Code Online (Sandbox Code Playgroud)
我不想从.vimrc本身调用源命令调用这个文件,我想知道在启动vim作为参数时是否可以调用它.
(我考虑过将.vimrc放在/ etc中.)
我必须_createObjectByType在Plone上使用.我作为id对象的论据.在这种情况下,基于time.time()避免冲突创建一个id是否安全?两个请求可以具有完全相同的时间戳,如下所示time.time()?
这是问题所在.我有mynamespace.mypackage一个依赖mynamespace.mydependencypackage,这是一个本地实用程序.它是使用组件注册表注册的.
在config.py从mynamespace.mypackage,我有
DEPENDENCIES = ['mynamespace.mydependencypackage']
Run Code Online (Sandbox Code Playgroud)
在我mynamespace.mypackage的setuphandlers.py这个依赖项中安装,如果尚未安装.
问题是:如果我重装mynamespace.mypackage过ZMI,似乎一切都完美地安装(因为显示没有错误),但我不断收到一个ComponentLookupError使用的方法时,mynamespace.mypackage即获得该实用程序:
Module zope.component._api, line 207, in getUtility
ComponentLookupError: (<InterfaceClass MY_UTILITY_INTERFACE, '')
Run Code Online (Sandbox Code Playgroud)
我可以"修复"这个问题,在重新安装时重新安装mynamespace.mydependencypackage我的setuphandlers.py或通过ZMI mynamespace.mypackage,但这对我来说似乎不是最好的解决方案.
我在这里缺少关于通用设置的内容?我没有让这个实用程序在ZODB上保留任何值.我可以忘记所有这些问题并BrowserView使用实用程序方法创建一个,但我想先了解为什么我遇到这些问题.
编辑:现在,我有一个更大的问题.所述TypeError: ('object.__new__(MyClass) is not safe, use Persistence.Persistent.__new__()', <function _reconstructor at 0xb7783e9c>, (<class 'mynamespace.mydependencypackage.package.MyClass'>, <type 'object'>, None))正在显示.完全追溯:
Traceback (innermost last):
Module ZPublisher.Publish, line 110, in publish
Module …Run Code Online (Sandbox Code Playgroud) 假设我有一个内容类型,文件夹,有4个项目.
+ MyObject
- Child1
- Child2
- Child3
+ Child4
- Child5
- Child6
Run Code Online (Sandbox Code Playgroud)
假设我有另一种内容类型(让我们称之为Alias).这Alias主要是对另一个对象的引用,但是文件夹:它可以包含一堆其他别名.我将用于-->在以下树表示中指示此引用.("引用"主要是一个名为"引用"的属性,它从目标对象接收UID).
假设MyAlias现在引用我的MyObject.
+ MyAlias --> MyObject
- (Nothing)
Run Code Online (Sandbox Code Playgroud)
当引用时MyObject,MyAlias不知道那MyObject是一个Folder,所以内部的MyAlias子元素不存在.我需要遍历每个人,并手动创建一个Alias内部MyAlias,这是一个给MyObject孩子们的参考(具有相同的结构).一棵小树,展示应该发生的事情:
+ MyAlias --> MyObject
- Alias --> Child1
- Alias --> Child2
- Alias --> Child3
+ Alias --> Child4
- Alias --> Child5
- Alias --> Child6
Run Code Online (Sandbox Code Playgroud)
我想知道迭代MyObject项目的最佳方法,并使用某种循环并invokeFactory在订阅者中使用,与另一个对象创建相同的结构.最后,我会存在两个树:一个是实际的文件夹和子项,另一个是对同一个文件夹和子项的引用.
(总结:像collective.alias这样的东西,但是以一种非常原始的形式,只是文件夹,因为我不能使用collective.alias.)
在Plone社区管理的开发人员关于发送电子邮件的文档之后:
try:
host = getToolByName(self, 'MailHost')
return host.send(mail_text)
except SMTPRecipientsRefused:
# Don't disclose email address on failure
raise SMTPRecipientsRefused('Recipient address rejected by server')
Run Code Online (Sandbox Code Playgroud)
...但return host.send(mail_text)总是返回None,无论电子邮件是否已发送(电子邮件实际发送).那么,我能否假设None结果是否成功呢?这对我来说不合适.有什么想法吗?