问题列表 - 第6249页

使用Git跟踪第三方代码

我似乎无法理解我发现并研究用于跟踪外部代码的不同解决方案.更别说了解如何将它们应用到我的用例中......

你们真的很善于对此有所了解并帮助我解决具体的用例吗?对于以下具体问题,最佳解决方案是什么?(我不会试图概括我的问题,因为我可能会对事情做出错误的假设,特别是因为我对这一切都很新......)

我正在Django(Python中的Web框架)中构建一个网站.现在,有许多第三方插件可供Django使用(Django称之为"应用程序"),您可以放入项目中.其中一些应用程序可能需要一些修改才能像我想要的那样工作.但是,如果您开始对第三方代码进行修改,则会引入在更新版本出现时更新该代码的问题,同时保留您的本地修改.

所以,我在Subversion中这样做的方法是使用供应商分支.我的存储库布局如下所示:

/trunk
  ...
  /apps
    /blog-app
  ...
/tags
  ...
/branches
  ...
/vendor
  /django-apps
    /blog-app
      /1.2
      /1.3
      /current
    /other-app
      /3.2
      /current
Run Code Online (Sandbox Code Playgroud)

在这种情况下,/ trunk/apps/blog-app将被复制到/ vendor/django-apps/blog-app中的一个标签.说它是v1.2.而且我现在想将我的版本在trunk中升级到v1.3.如您所见,我已将/ vendor/django-apps/blog-app/current(使用svn_load_dirs)和'tagged'(svn copy)更新为/vendor/django-apps/blog-app/1.3.现在我可以通过svn合并/ trunk/apps上的/vendor/django-apps/blog-app/1.2和/vendor/django-apps/blog-app/1.3之间的更改来更新/ trunk/apps/blog-app /博客应用程序内.这将保留我当地的变化.(对于未知此过程的人,请参阅Subversion手册:http: //svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html)

现在我想在Git中完成整个过程.我怎样才能做到这一点?

让我重新讨论一下这些要求:

  • 我必须能够将外部代码放在树中的任意位置
  • 我必须能够修改外部代码并在我的Git存储库中保留(提交)这些修改
  • 如果发布新版本,我必须能够轻松更新外部代码,同时保留我的更改

额外(奖励积分;-)):

  • 我最好不要像svn_load_dirs这样做.我认为应该可以直接从他们的存储库跟踪应用程序及其更新(大多数第三方Django应用程序保存在Subversion中).能够在发布版本之间查看单个提交消息,这给了我额外的好处.并且更容易修复合并冲突,因为我可以处理许多小提交而不是svn_load_dirs创建的一个人为提交.我想在Subversion中使用svn:externals可以做到这一点,但我以前从未使用过它...

可以使用两种方法的组合的解决方案将更加可取,因为可能有应用程序开发人员不使用源代码管理或不公开他们的回购.(意思是svn_load_dirs之类的行为和直接从Subversion重新定位(或其他Git)跟踪)

我想我要么必须使用子树,子模块,rebase,分支......或者这些的组合,但是如果我知道哪一个或者怎么做就打倒我:S

我急切地等待你的回复!回复时请尽可能详细,因为我已经很难理解在线发现的其他例子.

提前致谢

git

24
推荐指数
1
解决办法
1万
查看次数

如何检查RGB图像是否只包含一种颜色?

我正在使用Python和PIL.

我有RGB图像,我想知道那些只包含一种颜色(例如#FF0000)或一些非常接近的颜色(#FF0000和#FF0001)的图像.

我正在考虑使用直方图,但很难找到3个色带的东西,所以我正在寻找一个更聪明的算法.

有任何想法吗?

ImageStat模块就是答案!谢谢亚伦.我使用ImageStat.var来获得方差,它完美地运行.

这是我的一段代码:

from PIL import Image, ImageStat

MONOCHROMATIC_MAX_VARIANCE = 0.005

def is_monochromatic_image(src):
    v = ImageStat.Stat(Image.open(src)).var
    return reduce(lambda x, y: x and y < MONOCHROMATIC_MAX_VARIANCE, v, True)
Run Code Online (Sandbox Code Playgroud)

python image colors python-imaging-library

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

css和图像精灵

我在css中得到了一个关于sprite的快速问题:如果我在css文件中包含两次相同的图像,我会发送两个HTTP请求吗?例如,如果我想从同一图标集图像加载两个不同的按钮:

.btn-1 {
    background:url('img/icons.png') 0 0;
}

.btn-2 {
    background:url('img/icons.png') 0 -60px;
}
Run Code Online (Sandbox Code Playgroud)

还是有另一种方法只包括一次图像?

html css image http css-sprites

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

在C#和ASP.NET中跟踪的性能影响是什么?

我在最近看到的一些生产登录代码中发现了这个...

HttpContext.Current.Trace.Write(query + ": " + username + ", " + password));
Run Code Online (Sandbox Code Playgroud)

...其中query是一个简短的SQL查询来获取匹配的用户.这会对性能产生什么影响吗?我认为它非常小.

此外,使用HTTP上下文,这种确切类型的跟踪的目的是什么?这些数据可以追溯到哪里?提前致谢!

c# asp.net performance trace httpcontext

12
推荐指数
3
解决办法
5626
查看次数

115
推荐指数
11
解决办法
11万
查看次数

动态添加和删除UserControl

我有UserControl,它拥有Infragistics Graph控件.在TreeView子节点的右键单击中,我将上下文菜单设置为"Create Graph".这将创建新图形.这是我要做的事情.

我对使用什么布局感到困惑.无论是FlowLayoutPanel还是TableLayoutPanel还是其他任何东西.如果只添加一个图形 - >图形必须占用完整形式.如果添加了两个图形 - >两个图形必须分割空间,依此类推.这只是一个接一个的格式.即第一个图表在顶部,第二个图表在第一个图表下面.

如果手动更改UserControl,则不应影响我们显示的大小.

这是WinForm.目前我使用FlowLayoutPanel,我创建了具有常量大小的面板,并使用DockStyle.Fill添加了UserControl.然后我将Panel添加到FlowLayoutPanel.

 GraphUserControl usr = new GraphUserControl();
 usr.Dock = DockStyle.Fill;

 Panel pnl = new Panel();

 pnl.Controls.Add(usr);

 flowLayoutpnl.Controls.Add(pnl);
Run Code Online (Sandbox Code Playgroud)

这样做的最佳方法是什么?

c# winforms

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

我如何获得Git提交计数?

我想得到我的Git存储库的提交数量,有点像SVN版本号.

目标是将其用作唯一的递增构建号.

我目前在Unix/Cygwin/msysGit上喜欢这样:

git log --pretty=format:'' | wc -l
Run Code Online (Sandbox Code Playgroud)

但我觉得这有点像黑客.

有没有更好的方法呢?如果我真的不需要wc甚至是Git 会很酷,所以它可以在裸Windows上工作.只需读取文件或目录结构......

git revision build-process

718
推荐指数
15
解决办法
25万
查看次数

为什么我的C++代码在使用read(...)函数后会导致分段错误?

我的应用程序暂停在一行似乎没有任何问题的代码上,但是我的IDE似乎是在该行上挂起并出现错误:

gdb/mi(24/03/09 13:36)(退出.信号'SIGSEGV'收到.说明:分段错误.)

代码行只调用一个没有代码的方法.当您有空引用时,不是分段错误吗?如果是这样,空方法如何具有空引用?

这段代码似乎导致了这个问题:

#include <sys/socket.h>

#define BUFFER_SIZE 256

char *buffer;

buffer = (char*)GetSomePointer()->SomeStackMemoryString.c_str();
int writeResult = write(socketFD, buffer, BUFFER_SIZE);

bzero(buffer, BUFFER_SIZE);
int readResult = read(socketFD, buffer, BUFFER_SIZE);
Run Code Online (Sandbox Code Playgroud)

当使用该read(...)方法的行被注释掉时,问题就会消失.

更新:

我已将问题改为指向实际问题,并且已删除所有不相关的代码 - 我也回答了我自己的问题,以便阅读此内容的人明确知道问题所在,请在说"你是"之前阅读我的答案一个白痴!"

c c++ memory-leaks segmentation-fault

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

Git a/o DVCS的电梯间距

想象一下,你有一个朋友通过电话(而不是VoIP)问:"Git有什么特别之处?我使用Subversion很好." 为了描述使用像Git这样的DVCS的优势,你的"电梯间距"是什么?

svn git

6
推荐指数
1
解决办法
434
查看次数

使用'旧'数据库与django

我正在使用Django的手工制作(Postgres)数据库.使用"inspectdb",我能够自动为它创建一个模型.问题是一些表有多个主键(对于多对多关系),并且无法通过Django访问它们.

访问这些表的最佳方法是什么?

python django

6
推荐指数
1
解决办法
382
查看次数