有没有一种方法可以在github.com上显示提交记录,而不显示空格更改?
是否有一种方法可以从控制台中查看提交(树)并忽略所有空格更改,类似于Trac中的“忽略空格更改”(可以在变更集视图中找到)?
我广泛使用Trac;我正在寻找类似于“忽略空格更改”的东西。
有没有一种方法可以在github.com上显示提交记录,而不显示空格更改?
是否有一种方法可以从控制台中查看提交(树)并忽略所有空格更改,类似于Trac中的“忽略空格更改”(可以在变更集视图中找到)?
我广泛使用Trac;我正在寻找类似于“忽略空格更改”的东西。
在显示差异的任何github.com页面上,将?w=1
添加到URL中,它将忽略空格。有关详细信息,请参见此博客文章。
&w=1
而不是?w=1
。 - wovano在任何git的diff命令中,您有三个选项可供使用:
--ignore-space-at-eol
忽略行末空格的更改。-b, --ignore-space-change
忽略空格数量的更改。这会忽略行末的空格,并将所有其他一个或多个空格字符序列视为等同。-w, --ignore-all-space
在比较行时忽略空格。即使一行存在空格而另一行没有,也会忽略这些差异。我不认为GitHub已经使用这些选项实现了任何功能。
可悲的是,X 事物已经消失,以前的代码片段也因此变得无用。以下是暂时应该可行的替代方案:
var i, e, tr, tdL, tdR, textL, textR, text = function (el) { return el.parentNode.children[2].children[1].children[0].textContent.replace(/\s/g, '').substr(1); }
for (i = 0, e = document.getElementsByClassName('gd'); i < e.length; ++i) {
tr = e[i].parentNode.parentNode.parentNode;
if (' ' !== tr.children[1].innerHTML) { continue; }
tdL = tr.children[0];
tdR = document.getElementById(tdL.id.replace(/^L(\d+)L/, 'L$1R')),
textL = text(tdL);
textR = text(tdR);
if (textL === textR) { tdL.parentNode.style.display = tdR.parentNode.style.display = 'none'; }
}
jQuery.expr[':'].hasX = function(obj) { var $this = $(obj); return ($this.find('.x').length && $this.next().find('.x').length); }; jQuery('.data tbody tr:hasX').toggle().next().toggle();
它的作用是遍历提交表的所有行,如果给定的行和其后一行都有“.x”元素,则隐藏这些行。
以下是完整的JS代码:
// create new selector
jQuery.expr[':'].hasX = function(obj) {
// cache
var $this = $(obj);
// whether this and next line do have '.x' element as child
return $this.find('.x').length && $this.next().find('.x').length;
}
// select all rows and hide (ones containing "-")
jQuery('.data tbody tr:hasX').toggle()
// hide the ones after selected (ones containing "+")
.next().toggle();