小编Ben*_*ing的帖子

为什么git-rebase在我所做的只是压缩提交时给我合并冲突?

我们有一个拥有超过400个提交的Git存储库,其中前几个是很多试错.我们希望通过将许多提交压缩到单个提交来清理这些提交.当然,git-rebase似乎还有很长的路要走.我的问题是它最终会出现合并冲突,而这些冲突并不容易解决.我不明白为什么会有任何冲突,因为我只是压缩提交(不删除或重新排列).很可能,这表明我并不完全理解git-rebase是如何做它的南瓜的.

这是我正在使用的脚本的修改版本:


repo_squash.sh(这是实际运行的脚本):


rm -rf repo_squash
git clone repo repo_squash
cd repo_squash/
GIT_EDITOR=../repo_squash_helper.sh git rebase --strategy theirs -i bd6a09a484b8230d0810e6689cf08a24f26f287a
Run Code Online (Sandbox Code Playgroud)

repo_squash_helper.sh(此脚本仅由repo_squash.sh使用):


if grep -q "pick " $1
then
#  cp $1 ../repo_squash_history.txt
#  emacs -nw $1
  sed -f ../repo_squash_list.txt < $1 > $1.tmp
  mv $1.tmp $1
else
  if grep -q "initial import" $1
  then
    cp ../repo_squash_new_message1.txt $1
  elif grep -q "fixing bad import" $1
  then
    cp ../repo_squash_new_message2.txt $1
  else
    emacs -nw $1
  fi
fi
Run Code Online (Sandbox Code Playgroud)

repo_squash_list.txt :(此文件仅由repo_squash_helper.sh使用)


# Initial import
s/pick \(251a190\)/squash …
Run Code Online (Sandbox Code Playgroud)

git git-merge git-rebase git-checkout git-branch

126
推荐指数
4
解决办法
3万
查看次数

如何在commit-msg挂钩中提示用户?

我想警告用户,如果他们的提交消息不遵循某组指南,然后给他们选项来编辑他们的提交消息,忽略警告或取消提交.问题是我似乎无法访问stdin.

下面是我的commit-msg文件:

function verify_info {
    if [ -z "$(grep '$2:.*[a-zA-Z]' $1)" ]
    then
        echo >&2 $2 information should not be omitted
        local_editor=`git config --get core.editor`
        if [ -z "${local_editor}" ]
        then
            local_editor=${EDITOR}
        fi
        echo "Do you want to"
        select CHOICE in "edit the commit message" "ignore this warning" "cancel the commit"; do
            case ${CHOICE} in
                i*) echo "Warning ignored"
                    ;;
                e*) ${local_editor} $1
                    verify_info "$1" $2
                    ;;
                *)  echo "CHOICE = ${CHOICE}"
                    exit 1
                    ;;
            esac
        done
    fi
}

verify_info …
Run Code Online (Sandbox Code Playgroud)

git hook commit-message

69
推荐指数
3
解决办法
2万
查看次数

如何判断上次使用哪个版本的Visual Studio来处理项目?

我正在使用一些旧代码,我认为最后构建它的人使用的是Visual Studio 6.没有.vcproj文件,但.dsp和.dsw文件有以下标题:(.dsp)

# Microsoft Developer Studio Project File - Name="[redacted]" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
Run Code Online (Sandbox Code Playgroud)

(.DSW)

Microsoft Developer Studio Workspace File, Format Version 6.00
Run Code Online (Sandbox Code Playgroud)

"格式版本6.00"是否与Visual Studio 6相对应?

visual-studio visual-c++

23
推荐指数
3
解决办法
4万
查看次数

Windows 终端中用于 powershell 配置的 settings.json 在哪里?

我是 Windows 10 的新手,在 Mac OS X 上花了很多时间,在 Ubuntu 上花了很多时间,并且我已经阅读了很多有关适合放入PowerShellsettings.json文件中的内容类型的信息,但我可以似乎没有找到任何东西告诉我这个文件所在的位置

例如,此 Microsoft 文档中的“在 PowerShell 中设置 Powerline”部分会告诉您编辑settings.json文件(特别是在标题为“在设置中将 Cascadia Code PL 设置为 fontFace ”的小节中),并指向此文档,告诉您有关这个文件的布局,但它似乎没有告诉你在哪里可以找到它!

如果该小节发生更改,这是该节的前两段:

要设置 Cascadia Code PL 字体以与 PowerLine 一起使用(下载、解压缩并安装到系统上之后),您需要从 Windows 终端下拉菜单中选择“设置”(Ctrl+,),打开 settings.json 文件中的配置文件设置- 向下菜单。

settings.json 文件打开后,找到 Windows PowerShell 配置文件并添加: "fontFace": "Cascadia Code PL" 以将 Cascadia Code PL 指定为字体。这将提供那些漂亮的卡斯卡迪亚代码电力线字形。在编辑器中选择“保存”后,您应该会注意到终端中的更改。

文件在哪里settings.json

powershell

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

如何修复有关"无可用公式"的自制错误消息

当我跑步时brew doctor,我得到以下结果:

Error: No available formula with the name "coin-or-tools/coinor/clp" 
Please tap it and then try again: brew tap coin-or-tools/coinor
Run Code Online (Sandbox Code Playgroud)

我从来没有故意安装clp,虽然这个消息在我安装后开始出现why3,我后来删除了(因为我打算使用Laboratoire de Recherche en Informatique建议的方法).

作为一个实验,我决定继续点击那个桶,但我得到了以下结果:

? brew doctor
Error: Formulae found in multiple taps: 
 * coin-or-tools/coinor/coin_data_sample
 * dreal/coinor/coin_data_sample
Run Code Online (Sandbox Code Playgroud)

然后我试着解开dreal/coinor并安装clp,但这失败了,因为Required package CoinUtils not available.在这一点上,我觉得我可能在这个兔子洞里走得太深,然后拉起来,特别是,我未开发coin-or-tools/coinor并重新开始dreal/coinor.当然,最初的问题仍然存在.

解决这个问题的最佳方法是什么,或者我应该只是对抗我的OCD倾向而忽略它?

homebrew

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

使用Maven for R项目

我开始研究一个大量使用R的项目.我过去使用过R,但只是在休闲模式下,而我现在有兴趣遵循更严格的测试/源代码控制/持续集成实践.我希望尽可能在这个项目中使用Maven(对如何用Java管理包)感到高兴,但是我找不到任何证据表明可以使用Ma和R.是否有可能创建一个R与Maven合作,如果是这样,我在哪里可以找到帮助我入门的步骤?

我发现了这个问题和这个问题,但他们没有提到R.

r maven

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

从Matlab读取数据到Java

我正在尝试将Matlab中生成的矩阵读入java中的2D数组.到目前为止,我一直在使用jmatio从java编写一个.mat文件(成功),但现在无法设法反过来.我已经设法使用以下代码将矩阵导入MLArray对象:

matfilereader = new MatFileReader("filename.mat");
MLArray j = matfilereader.getMLArray("dataname");
Run Code Online (Sandbox Code Playgroud)

但除了获取其字符串表示之外,我无法设法访问数据本身.我没有找到关于库本身或文档的示例,我实际上编写了一个函数来将intire字符串解析为double [] []数组,但这只有在矩阵小于1000个项目时才有用...

非常感谢任何经验或提示,谢谢,

阿米尔

java matlab

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

有没有一种简单的方法来获取Java中的JavaScript输出(使用Eclipse)?

我正在尝试获取我编写的JavaScript函数的返回值.我可以使用涉及侦听器的非常复杂的方法来完成它,但我想使用Eclipse的Browser.evaluate方法.

作为一个玩具问题,我在Java文件中有以下代码:

Object result = this.browser.evaluate("new String(\"Hello World\")");
Run Code Online (Sandbox Code Playgroud)

其中this.browser是在一个org.eclipse.ui.part.EditorPart在重写函数中扩展的类中创建的createPartControl:

public void createPartControl(Composite parent) {
  // Create the browser instance and have it 
  this.browser = new Browser(parent, SWT.NONE);
  this.browser.addFocusListener(new FocusAdapter() {
    @Override
    public void focusGained(FocusEvent e) {
      SomeEditor.this.getSite().getPage().activate(SomeEditor.this);
    }
  });
  new ErrorReporter(this.browser);
  this.browser.setUrl(Activator.getResourceURL("html/java-shim.html").toString());
  ...more stuff snipped...
}
Run Code Online (Sandbox Code Playgroud)

但是,它不是result一个内容为"Hello World"的Java String null.我是否错误地使用此方法,或者它是否已损坏?

javascript java eclipse

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

什么是区分ifort与其他fortran编译器的宏?

我正在使用必须与各种Fortran编译器一起工作的Fortran代码(并且与C++和Java代码交互).目前,我们正在使用gfortran和g95,但是我正在研究如何使用ifort,并且我遇到的第一个问题是如何确定如何在源代码中确定它是使用ifort还是不.

例如,我目前有这段代码:

#if defined(__GFORTRAN__)
// Macro to add name-mangling bits to fortran symbols. Currently for gfortran only
#define MODFUNCNAME(mod,fname) __ ## mod ## _MOD_ ## fname
#else
// Macro to add name-mangling bits to fortran symbols. Currently for g95 only
#define MODFUNCNAME(mod,fname) mod ## _MP_ ## fname
#endif // if __GFORTRAN__
Run Code Online (Sandbox Code Playgroud)

ifort的宏是什么?我尝试过IFORT,但这不对,进一步的猜测似乎没有效果.我也尝试阅读手册页,使用ifort -help和谷歌.

preprocessor fortran intel

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

如何切换Eclipse插件的菜单按钮图标和工具提示文本?

我正在开发一个Eclipse插件,它有一个工具栏菜单项,可以启用/禁用某项功能.我知道如何使用plugin.xml文件为它设置图标和工具提示文本,但我希望能够根据正在处理的项目的状态更改图标,尤其是工具提示文本.即,如果未启用此功能,我想要一个图标,显示打开该功能以及显示"启用功能"的工具提示文本,但如果启用该功能,我想要一个图标,显示关闭此功能以及工具提示显示"禁用功能"的文字.现在,我能看到的唯一选项是一个通用图标和工具提示文本,上面写着"启用/禁用功能",但这对我来说很笨拙.

编辑添加:为了回应indigomonkey的答案,这是一个很好的基于我最初编写的答案,我想澄清一下,工具栏按钮启用的行为是我们真的不鼓励一旦它被禁用的行为启用(并且当启用它时,会弹出一个对话框以验证是否要启用它,因为它不应该轻易启动,也不要阻止它们在启用后禁用它).因此,我希望图标更改为"不要点击我".

java eclipse plugins eclipse-rcp

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

如何通过一次更改将记录x分配给记录y?

请看以下示例:

   type MyArray is array(1..10) of Float;
   type MyRecord is record
      a: Float;
      b: Integer;
      c: Boolean;
      d: MyArray;
   end record;
   …
   function foo(x: MyRecord) return MyRecord is
     y: MyRecord := x;
   begin
     y.b = -1;
     return y.b;
   end foo;
Run Code Online (Sandbox Code Playgroud)

如果我可以做这样的事情而不是foo:

   function foo(x: MyRecord) return MyRecord is
     (x with (b => -1));
Run Code Online (Sandbox Code Playgroud)

更简单的符号(无效的Ada)允许我写作foo表达式函数.有没有办法在Ada做这样的事情?

ada

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

从电子邮件列表中获取域名

从电子邮件列表中获取域名
嗨,我有一个电子邮件ID列表,我必须从中获取域名.

对于简单的电子邮件sample@example.com,我已经完成了我获得域名的代码部分.
但对于像hello@in.ibm.com(实际域名是ibm.com)的电子邮件,我无法获得域名.

String domainName = "";
String[] parts = email.split("@");
if(parts.length == 2) 
    domainName = parts[1];
Run Code Online (Sandbox Code Playgroud)

如何拆分或使用正则表达式来获取域名?

java

-2
推荐指数
1
解决办法
6448
查看次数