小编rei*_*ost的帖子

如何查看一个分支中的哪些提交不在另一个分支中?

我有两个分支develnext.在开发中,我或多或少都有大量的提交.一些提交是樱桃挑选的next.此外,我添加了一些提交到下一个合并到devel.

现在我想看看缺少什么next,所以我可以在将它们带到之前测试细节上的变化next.我现在的问题是,如何查看哪些提交devel但未包含?

git

170
推荐指数
4
解决办法
7万
查看次数

从tmux会话内创建新的tmux会话

我正在编写一个shell脚本来创建/附加或切换到给定的会话,具体取决于是否在tmux中并且会话存在.

除了需要在tmux会话中创建新的tmux会话的情况之外,我已经完成了所有工作.

当我的脚本执行时tmux new-session -s name,我得到以下输出:

会话应该小心嵌套,取消设置$ TMUX强制

我实际上并不想嵌套会话,我的目标是创建另一个单独的会话并从tmux会话中切换到它.

这可能吗?

tmux

91
推荐指数
7
解决办法
6万
查看次数

聚合与组合

我很难理解UML中组合和聚合之间的区别.有人可以给我一个很好的比较和对比吗?我也很想学会在代码中识别它们之间的区别和/或看一个简短的软件/代码示例.

编辑:我问的部分原因是因为我们正在进行的反向文档活动.我们编写了代码,但是我们需要返回并为代码创建类图.我们只是想正确地捕捉这些关联.

java oop uml

86
推荐指数
7
解决办法
8万
查看次数

分区比分类更容易吗?

这个问题一直困扰着我的脑海......

假设我有一个项目列表和它们的等价关系,并且比较两个项目需要恒定的时间.我想返回项目的分区,例如链接列表列表,每个列表包含所有等效项目.

这样做的一种方法是将等价扩展到项目的排序并对它们进行排序(使用排序算法); 那么所有等价物品都会相邻.

但它可以比排序更有效地完成吗?这个问题的时间复杂度是否低于排序?如果没有,为什么不呢?

sorting algorithm partitioning time-complexity

20
推荐指数
2
解决办法
820
查看次数

使所有规则都依赖于Makefile本身

当我更改Makefile时,它的规则可能已经改变,所以应该重新评估它们,但make似乎并不这么认为.

有没有办法说,在Makefile中,它的所有目标,无论哪个目标,都取决于Makefile本身?(无论其名称如何.)

我正在使用GNU make.

makefile gnu-make

17
推荐指数
2
解决办法
3352
查看次数

使用RelaxNG进行XML模式验证

您可以针对性能和准确性推荐哪些XML验证工具,每个工具都是我们系统的关键问题?我们有以下要求:

  • 不是 xmllint(见下文)
  • 支持RelaxNG
  • 可以轻松地与Perl集成(这是可选的,但它会很好)

为什么不用xmllint?(这是背景,你可以跳过它,如果你愿意)

我们有一个大型的Perl系统,它使用RelaxNG来验证我们的XML.我们使用紧凑的RelaxNG格式trang将其转换为标准的RelaxNG格式.然后我们通过xmllint进行实际验证.

这就是问题出现的时候.xmllint经常会错误地报告验证错误.它不会给出误报或否定,但如果文档无法验证,xmllint通常会报告给定错误的错误元素或属性.有时错误是正确的("不希望看到元素'bar'),但仅仅是因为没有报告先前的错误(因为'bar'应该遵循必需但缺少的元素'foo',但xmllint不会'请告诉我们这一点.请注意,这是xmllint长期存在的问题,即使是最新版本也存在同样的问题.我们经常会收到大量的XML文档,错误地报告错误会给客户和开发人员带来很大的麻烦.

xml validation perl schema relaxng

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

如何用C++中的引用替换指针?

"我确信有几十个问题都有相同的标题.其中很多都是重复的.我的也可能是重复的,但我找不到任何问题.所以我试着让它变得非常简洁,简洁."

我有这样的层次结构:

class Shape {
public:
   virtual void virtualfunc()  { std::cout << "In shape\n"; }
};

class Circle: public Shape {
public:
   void virtualfunc()  { std::cout << "In Circle\n"; };
};
Run Code Online (Sandbox Code Playgroud)

当我在指针的帮助下使用类时,函数按照我的预期调用:

int main() {
   Shape shape_instance;
   Shape* ref_shape = &shape_instance ;
   Circle circle_instance;
   Circle* ref_circle = &circle_instance;

   ref_shape = dynamic_cast<Shape*> (ref_circle);
   ref_shape->virtualfunc();
}
Run Code Online (Sandbox Code Playgroud)

这里程序调用virtualfunc()派生类,结果自然是:In Circle

现在,我想摆脱指针,改为使用引用,并获得相同的结果.所以我做了一些微不足道的修改main(),看起来像这样:

int main() {
   Shape shape_instance;
   Shape& ref_shape = shape_instance;
   Circle circle_instance;
   Circle& ref_circle = circle_instance;

   ref_shape = dynamic_cast<Shape&>(ref_circle); …
Run Code Online (Sandbox Code Playgroud)

c++ pointers reference

15
推荐指数
2
解决办法
1587
查看次数

如何确定 GitHub 上哪些分叉领先?

有时,我正在使用的某个软件的原始 GitHub 存储库(例如linkchecker)很少或根本没有开发,而已经创建了很多分支(在这种情况下:142,在撰写本文时)。

对于每个叉子,我想知道:

  • 它有哪些分支在原始主分支之前提交

对于每个这样的分支:

  • 它比原始提交次数多多少次
  • 它落后了多少次提交

GitHub 有一个用于比较 fork 的网络界面,但我不想为每个 fork 手动执行此操作,我只想要一个包含所有 fork 的结果的 CSV 文件。这怎么能被脚本化?GitHub API 可以列出 fork,但我看不到如何将 fork 与其进行比较。依次克隆每个 fork 并在本地进行比较似乎有点粗糙。

github git-fork

14
推荐指数
3
解决办法
1134
查看次数

C#:修改xml节点

我有那个xml文件:

<?xml version="1.0" encoding="utf-8"?>
<reminders>
  <reminder>
    <Title>Alarm1</Title>
    <Description>Desc1</Description>
    <Time>03/07/2012 10:11AM</Time>
    <snooze>1</snooze>
    <repeat>None</repeat>
  </reminder>
</reminders>
Run Code Online (Sandbox Code Playgroud)

我想将Alarm1中的innertext修改为另一个值,所以我编写了实际复制整个节点的代码.

        XmlDocument xml = new XmlDocument();

        xml.Load("0.xml");

        XmlNodeList elements = xml.SelectNodes("//reminders");

        foreach (XmlNode element in elements)
        {
            if (element.InnerText == "Alarm1")
            {
                XmlNode newvalue = xml.CreateElement("MODIFIED");
                element.ReplaceChild(newvalue, element);

                xml.Save("0.xml");
            }
        }
Run Code Online (Sandbox Code Playgroud)

然后尝试了另一个代码:

        foreach (XmlElement element in xml.SelectNodes("//reminder"))
        {
            if (element.InnerText == "Alarm1")
            {
                XmlNode newvalue = xml.CreateElement("MODIFIED");
                element.ReplaceChild(newvalue, element);

                xml.Save("0.xml");
            }
        }
Run Code Online (Sandbox Code Playgroud)

但也不起作用....

编辑1:[找出新代码]

        XmlDocument xml = new XmlDocument();

        xml.Load("0.xml");

        foreach (XmlElement element in xml.SelectNodes("//reminder"))
        { …
Run Code Online (Sandbox Code Playgroud)

c# xml xmldocument

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

Perl script - add days to Date to get new date

I am working on a perl script to add days to a date and display the newdate:

use Time::ParseDate;
use Time::CTime;

my $date = "02/01/2003";
my $numdays = 30;

my $time = parsedate($date);

# add $numdays worth of seconds
my $newtime = $time + ($numdays * 24 * 60 * 60);

my $newdate = strftime("%m/%d/%Y",localtime($newtime));

print "$newdate\n";

    The output will be:

    03/03/2003
Run Code Online (Sandbox Code Playgroud)

Now how do I set the input for the date field to be yyyymmdd Ex: my $date = …

perl date

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