小编Sha*_*non的帖子

减小.svn文件夹的大小

在我们的项目中,我们决定使用预先构建的二进制文件来缩短构建时间.每周/每月我们创建一个稳定版本并将其提交到存储库.构建使用这些二进制文件而不是从源代码构建所有内容.

对于构建速度来说这太棒了.但是,毫不奇怪,它确实增加了SVN结账大小.我们的主干目前约为22 GB.我意识到这不是Subversion的预期用法.但我们目前没有替代方案.

但我想改善现状.该.svn文件夹对磁盘上的中继大小有很大贡献.更新二进制文件时,它似乎在.svn文件夹中保留了几个基础.也就是说,如果一个二进制文件是4 GB,那么就有一个副本.svn.如果它已更新,则该.svn文件夹将保留原始基础加上新基础,并为该文件最多容量为8 GB.

是否有可能告诉Subversion不要在.svn文件夹中为某些文件保留基础?通过谷歌我发现了一个类似的问题,如何减少.svn文件夹的大小?.

西蒙收到的答案是

  • 使用部分结账(这对我来说不起作用,因为我需要二进制文件)
  • 这还不是Subversion的一个功能
  • 它已被讨论过,但至少在Subversion 1.8之前不会成为一个功能

幸运的是,subversion 1.8已经发布了.这个功能是否已添加?

我没有在发行说明中注意到它.虽然"目录和财产存储减少"看起来很有希望.

svn size svn-checkout

63
推荐指数
2
解决办法
4万
查看次数

git将目录移动到另一个存储库,同时保留历史记录

首先 - 向这个问题道歉.关于它的话题已经很多了.但我对他们没有太多运气.我对git缺乏熟悉并没有多大帮助.

我正在将一个文件夹从一个git repo移动到另一个(已经存在).例如

repo-1
---- dir1
---- dir2
---- dir3
---- dir-to-move
---- dir5

repo-2
---- dir1
---- dir2
---- dir3
Run Code Online (Sandbox Code Playgroud)

最后我希望回购看起来像

repo-1
---- dir1
---- dir2
---- dir3
---- dir-to-move
---- dir5

repo-2
---- dir1
---- dir2
---- dir3
---- dir-to-move
Run Code Online (Sandbox Code Playgroud)

也就是说,在两个回购中都存在dir-to-move.但最终我会将最新的更改迁移到repo-2并从repo-1中移除dir-to-move.

我最初的研究让我相信我需要使用filter-branch.例如

如何使用`git format-patch`和`git am`将文件从一个git repo移动到另一个保存历史记录

我已经知道子树取代了这种方法.然而,它并没有达到我的预期.我以为我能够做类似的事情

repo-1工作区中

git subtree split -P dir-to-move -b split
Run Code Online (Sandbox Code Playgroud)

拆分分支过滤到仅dir-to-move及其历史记录.然后在repo-2工作区 …

git

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

如何在Configure System下获取Jenkin的Add Maven选项

我有一个看似非常基本的问题.我正在关注一个教程.它说要通过Manager Jenkins安装Maven - 配置系统 - 添加Maven.

这在Windows上运行良好.但在MAC Add Maven上失踪了.即使我安装了Jenkins 2.2的新副本

我该如何解决这个问题?

配置系统下的MAC上缺少以下"添加XXX".

在此输入图像描述

missing-features maven jenkins

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

解决“ DevTools已从页面断开连接”的提示,Electron Helper消失

我在Electron的应用程序出现空白时遇到了问题。即它变成白屏。如果我打开开发工具,它将显示以下消息。

在此处输入图片说明

在ActivityMonitor中,发生这种情况时,我可以看到Electron Helper进程的数量从3个减少到2个。另外,似乎我不是唯一遇到它的人。例如

但是我还没有找到一个有帮助的答案。在电子崩溃的情况下,有什么好的方法可以识别问题?

对于上下文,我正在将SDK加载到Electron中。最初,我是使用browserify对其进行打包的,效果很好。但是我想转到SDK的npm版本。这个版本似乎已经引入了问题(尽管代码应该相同)。

debugging hang electron

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

ld:b/bl/blx thumb2分支超出范围

我正在尝试构建一个iOS应用程序,我在调试模式下遇到错误.

ld: b/bl/blx thumb2 branch out of range (17330692 max is +/-16MB): from xxxx (0x0204CC28) to zzzz (0x030D4010) in 'yyyy' from libMyLib.a(MyObject.o) for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

这仅适用于iOS调试版本.iOS-Simulator在两种模式下都很好.

我遇到了" 这个页面 ".

这表明Apple已知道这个问题(rdar://16186742).但是解决方法对我没什么好处.即

The work around is to rearrange the source files in the project build phases and/or libraries in the Link Binary with Libraries section. With a few re-arrangements this problem should go away.
Run Code Online (Sandbox Code Playgroud)

我花了太多时间重新安排库链接顺序.这解决了不同*.a …

xcode linker ios

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

使用MSBuild.exe进行增量构建

我正在通过Python调用子进程来构建Visual Studio 2010解决方案.当从命令行直接调用时,devenv.com需要15秒才能启动.但是当从Python调用时,它会跳跃大约1.5分钟.

当然,我希望从我们的构建中删除那个死时间.所以我决定测试MSBuild.exe(来自.NET 4).它看起来像MSBuild.exe立即运行.但是......它似乎每次都是完整的构建,而不是增量.

我正在使用的命令是

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "C:\path\to\my\project.sln" /target:build /maxcpucount:8 /property:Configuration=Release
Run Code Online (Sandbox Code Playgroud)

看起来这应该支持增量构建.但我在网上看到帖子表明msbuild可能无法支持这样的增量版本.

这可能吗?如果是这样,我做错了什么?

更新:

我已经读过这个了.基于

http://msdn.microsoft.com/en-us/library/ms171483.aspx

http://www.digitallycreated.net/Blog/67/incremental-builds-in-msbuild-and-how-to-avoid-breaking-them

好像我需要在.vcxproj文件中设置输入和输出属性.检查我的文件确实丢失了.

什么时候会产生?我的大多数.vcxproj文件都是从Visual Studio 2008转换而来的.但是我还生成了一个缺少输入和输出属性的新项目.

VS2010不会创建具有这些属性的项目吗?

更新:我们已经升级到VS 2013.现在msbuild支持增量构建.从未深入到VS 2010问题的最底层.

msbuild command-line incremental-build

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

Python子进程回显一个unicode文字

我知道之前已经问过这样的问题了.但我找不到解决方案.

我想在子程序模块中使用我的python文件中定义的unicode文字.但我没有得到我需要的结果.例如以下代码

# -*- coding: utf-8 -*-
import sys
import codecs
import subprocess
cmd = ['echo', u'??']
new_cmd = []
for c in cmd:
    if isinstance(c,unicode):
        c = c.encode('utf-8')
    new_cmd.append(c)
subprocess.call(new_cmd)
Run Code Online (Sandbox Code Playgroud)

打印出来

你好
Run Code Online (Sandbox Code Playgroud)

如果我将代码更改为

# -*- coding: utf-8 -*-
import sys
import codecs
import subprocess
cmd = ['echo', u'??']
new_cmd = []
for c in cmd:
    if isinstance(c,unicode):
        c = c.encode(sys.getfilesystemencoding())
    new_cmd.append(c)
subprocess.call(new_cmd)
Run Code Online (Sandbox Code Playgroud)

我得到以下内容

??
Run Code Online (Sandbox Code Playgroud)

在这个阶段,我只能假设我反复犯了一个简单的错误.但我很难弄清楚它是什么.当通过python的子进程调用时,如何获得echo以打印出以下内容

??
Run Code Online (Sandbox Code Playgroud)

编辑:

Python的版本是2.7.我在Windows 8上运行,但我希望解决方案与平台无关.

python unicode subprocess unicode-literals

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

Docker Mac 替代 --net=host

根据此处的 docker 文档

https://docs.docker.com/network/host/

主机网络驱动程序仅适用于 Linux 主机,在 Docker for Mac、Docker for Windows 或 Docker EE for Windows Server 上不受支持。

在 Mac 上,人们使用哪些替代方案?

我的场景

  1. 我想运行一个将托管微服务的 docker 容器
  2. 微服务依赖于我也通过 docker 运行的数据库
  3. 我以为我可以在运行微服务时在 Mac 上使用 --net=host
  4. 但是微服务端口没有暴露
  5. 我可以覆盖微服务上的数据库地址(它们默认为 localhost)。
  6. 但这涉及强大的 --env 用法

最简单/最优雅的解决方案是什么?

macos host docker

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

使用Groovy Jenkins API更新Jenkins作业

我正在使用Groovy脚本控制台在Jenkins上创建和更新作业。使用此处记录的API

http://javadoc.jenkins-ci.org/

我发现了如何通过使用创建工作 createProjectFromXML(String name, InputStream xml)

但是,如果作业已经存在,则此方法将失败。如何使用新的xml更新现有作业?

更新资料

基于@ogondza的回答,我使用了以下内容来创建然后更新作业

import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
import java.io.*
import java.nio.charset.StandardCharsets
import javax.xml.transform.stream.*

config = """......My config.xml......"""

InputStream stream = new ByteArrayInputStream(config.getBytes(StandardCharsets.UTF_8));

job = Jenkins.getInstance().getItemByFullName("job_name", AbstractItem)

if (job == null) {
  println "Constructing job"
  Jenkins.getInstance().createProjectFromXML("job_name", stream);
}
else {
  println "Updating job"
  job.updateByXml(new StreamSource(stream));
}
Run Code Online (Sandbox Code Playgroud)

api groovy jenkins

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

是否可以在 Jenkins 测试作业中下载原始 xml 文件

在 Jenkins 工作中,有没有办法下载测试生成的原始 xml 文件?例如通过扩展网址等?

名义上的方法是归档 xml 文件。

archiveArtifacts artifacts: 'test-results.xml'
junit 'test-results.xml'
Run Code Online (Sandbox Code Playgroud)

但我认为 Jenkins 已经有了这些信息来创建测试失败 UI。如果还有其他解决办法,我宁愿不存档 xml。

xml testing archive jenkins

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