我有一个我正在处理的应用程序的存储库,其中包含一个配置文件.目前,我使用.dist
扩展程序进行分发,并让用户在编辑之前重命名该文件.
nate:~/myAwesomeApp% git ls-files
.gitignore
README
config.dist
glorious_support_lib.p
bestProgramEvar.f90
Run Code Online (Sandbox Code Playgroud)
这很好,花花公子,实际配置被忽略.
nate:~/myAwesomeApp% cat .gitignore
config
Run Code Online (Sandbox Code Playgroud)
这将是甜的,但是,如果我可以只发布在其真实姓名和现成编辑配置文件,同时保留它忽略,这样仓库的新克隆副本都有一个"功能性"的分布,这是不被覆盖,破坏或以其他方式骚扰,并且用户不必担心通过意外推送或发布他们的超级秘密配置细节到interwebsgit commit -a -m 'hurrrr derp! oopsies!' && git push
有办法做到这一点吗?让git保留在克隆出来的文件的单个原始版本,但之后被忽略了吗?
我确定之前已经问过,但是对于我的生活,我的google-fu失败了.所以把学校放在深处,SO.
我有一个林间布局,其中我有一个固定大小的GtkDrawingArea.层次结构的当前相关部分是:
GtkWindow > GtkVBox > GtkHPaned > GtkViewport > GtkAlignment > GtkFixed > GtkDrawingArea
Run Code Online (Sandbox Code Playgroud)
目前,GtkFixed小部件绘制在GtkViewport的左上角.
但是,如果GtkFixed(以及它唯一的子GtkDrawingArea)在GtkViewport中居中(当然,当小部件被压缩到不适合其内容和滚动条的点时,我真的很喜欢它)出现).
实现这一目标的最佳方法是什么?(我正在使用pygtk来做实际的应用程序逻辑,但这应该是一般的gtk问题)
以下是代表性代码示例:
import gtk
class Controller:
def on_window1_destroy(self, widget, data=None):
gtk.main_quit()
def __init__(self):
self.builder = gtk.Builder()
self.builder.add_from_file("sample.glade")
self.window = self.builder.get_object("window1")
self.builder.connect_signals(self)
def on_drawingarea1_expose_event(self, widget, event):
cr = widget.window.cairo_create()
cr.set_source_rgb(0,0,0)
cr.paint()
return True
if __name__ == "__main__":
client = Controller()
client.window.show()
gtk.main()
Run Code Online (Sandbox Code Playgroud)
以及具有相同问题的示例glade文件:
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy project-wide -->
<object class="GtkWindow" id="window1">
<signal name="destroy" handler="on_window1_destroy"/>
<child>
<object class="GtkVBox" id="vbox1">
<property …
Run Code Online (Sandbox Code Playgroud)