小编Pau*_*oub的帖子

如何绘制git repo的代码行历史?

基本上我想在每次提交后获取存储库中的代码行数.

我发现的唯一(非常糟糕)方法是使用git filter-branch运行,然后运行每个提交wc -l *的脚本git reset --hardwc -l

为了使它更清楚一点,当工具运行时,它将输出第一次提交的代码行,然后输出第二次提交的代码行,依此类推.这就是我希望工具输出的内容(作为示例):

me@something:~/$ gitsloc --branch master
10
48
153
450
1734
1542
Run Code Online (Sandbox Code Playgroud)

我玩过ruby'git'库,但是我发现最接近的是.lines()在diff上使用该方法,这似乎应该给出添加的行(但不是:例如当你删除行时它会返回0)

require 'rubygems'
require 'git'

total = 0
g = Git.open(working_dir = '/Users/dbr/Desktop/code_projects/tvdb_api')    

last = nil
g.log.each do |cur|
  diff = g.diff(last, cur)
  total = total + diff.lines
  puts total
  last = cur
end
Run Code Online (Sandbox Code Playgroud)

ruby python git lines-of-code

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

按日期排序数组中的对象

我有一个包含被调用对象的数组HistoryObject,它具有"日期","名称"等属性.

我像这样排序数组:

 let sortedArray = HistoryArray.sort({ $0.date.compare($1.date) == NSComparisonResult.OrderedDescending})
Run Code Online (Sandbox Code Playgroud)

应该将日期从较新到最旧排序.例如:

  • 2016年6月30日
  • 2016年6月29日

等等..

但是当我的数组包含"2016年7月2日"时,排序的数组变为:

  • 2016年6月30日
  • 2016年6月29日
  • 2016年7月2日

排序后"2016年7月2日"应该排在最前面,现在它位于底部?我该如何解决这个问题?

arrays sorting swift

41
推荐指数
4
解决办法
5万
查看次数

如何在git存储库中找到N个最大的文件?

我想在我的存储库中找到10个最大的文件.我想出的脚本如下:

REP_HOME_DIR=<top level git directory>
max_huge_files=10

cd ${REP_HOME_DIR}
git verify-pack -v ${REP_HOME_DIR}/.git/objects/pack/pack-*.idx | \
  grep blob | \
  sort -r -k 3 -n | \
  head -${max_huge_files} | \
  awk '{ system("printf \"%-80s \" `git rev-list --objects --all | grep " $1 " | cut -d\" \" -f2`"); printf "Size:%5d MB Size in pack file:%5d MB\n", $3/1048576,  $4/1048576; }'
cd -
Run Code Online (Sandbox Code Playgroud)

是否有更好/更优雅的方式来做同样的事情?

"文件"是指已经检入存储库的文件.

git

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

jQuery包装集中的元素顺序是否始终与元素在标记中出现的顺序相匹配?

jQuery包装集中元素的顺序是否保证与元素在标记中出现的顺序相匹配?

我问,因为我需要对一组嵌套元素执行操作,并且我需要始终按嵌套顺序执行操作.

我可以在匹配的集合上使用.each迭代器运行操作,我将始终获得正确的顺序或者我是否需要找到其他方法来保证操作顺序与嵌套顺序匹配?

jquery dom

39
推荐指数
2
解决办法
4414
查看次数

Asp.Net Mvc:ContentResult与字符串

我最近被问到为什么要使用ContentResult而不是返回字符串.不幸的是,我无法给出更好的答案:"这是最好的做法."

有没有人有更好的答案?


更新:为了更好地理解这个问题.有什么不同?

public ActionResult Foo(){
    return Content("Some string");
}

public string Bar(){
    return "Some string";
}
Run Code Online (Sandbox Code Playgroud)

asp.net string asp.net-mvc return-value

39
推荐指数
3
解决办法
5万
查看次数

将元素绑定到两个源

我目前有两个接受任何号码的文本框.我有一个文本块,它输入两个数字并计算平均值.

我想知道是否有办法将这个文本块绑定到两个文本框并使用自定义转换器来计算平均值?我目前正在捕获两个文本框上的文本更改事件并计算平均值,但我认为数据绑定会更有效,更容易.

wpf binding

37
推荐指数
2
解决办法
5万
查看次数

如何在java中定义相对路径(Windows)

这是我的项目的结构:

这是我项目的结构

我需要阅读config.properties内部MyClass.java.我尝试使用相对路径进行如下操作:

// Code called from MyClass.java
File f1 = new File("..\\..\\..\\config.properties");  
String path = f1.getPath(); 
prop.load(new FileInputStream(path));
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

..\..\..\config.properties (The system cannot find the file specified)
Run Code Online (Sandbox Code Playgroud)

如何在java中定义相对路径?我正在使用jdk 1.6并在Windows上工作.

java relative-path jdk1.6

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

如何将多个字符串参数传递给PowerShell脚本?

我试图做一些字符串连接/格式化,但它将所有参数放入第一个占位符.

码

function CreateAppPoolScript([string]$AppPoolName, [string]$AppPoolUser, [string]$AppPoolPass)
{
    # Command to create an IIS application pool
    $AppPoolScript = "cscript adsutil.vbs CREATE ""w3svc/AppPools/$AppPoolName"" IIsApplicationPool`n"
    $AppPoolScript += "cscript adsutil.vbs SET ""w3svc/AppPools/$AppPoolName/WamUserName"" ""$AppPoolUser""`n"
    $AppPoolScript += "cscript adsutil.vbs SET ""w3svc/AppPools/$AppPoolName/WamUserPass"" ""$AppPoolPass""`n"
    $AppPoolScript += "cscript adsutil.vbs SET ""w3svc/AppPools/$AppPoolName/AppPoolIdentityType"" 3"

    return $AppPoolScript
}
$s = CreateAppPoolScript("name", "user", "pass")
write-host $s
Run Code Online (Sandbox Code Playgroud)

产量

cscript adsutil.vbs CREATE "w3svc/AppPools/name user pass" IIsApplicationPool
cscript adsutil.vbs SET "w3svc/AppPools/name user pass/WamUserName" ""
cscript adsutil.vbs SET "w3svc/AppPools/name user pass/WamUserPass" ""
cscript adsutil.vbs SET "w3svc/AppPools/name user …
Run Code Online (Sandbox Code Playgroud)

string parameters powershell arguments

34
推荐指数
2
解决办法
7万
查看次数

Perl生成的JavaScript代码中出现的数字而不是"$("

在我正在研究的网站上,随机数字出现在一个非常简单的jQuery中.

而不是出现什么意思,这些数字  48等等出现在开头.像这样:

<script type="text/javascript">
    48 48document).ready(function () {
    48 48".closed").click(function () {         
        48 48this).find("div.but").toggleClass('plus').toggleClass('minus');           
             48 48this).toggleClass('closed').toggleClass('open');    
        });    
    });        
</script>
Run Code Online (Sandbox Code Playgroud)

我甚至无法想象为什么当我将其硬编码到网站中并且没有外部文件或任何东西时它会吐出来.

好的,所以既然它是Perl我需要逃脱$(,但是怎么样?我看了一下Perl文档,我觉得自己被打了一拳.

我只使用单引号而不是双引号吗?

<script type="text/javascript">
    $(document).ready(function () {
      $('.closed').click(function () {          
        $(this).find('div.but').toggleClass('plus').toggleClass('minus');
        $(this).toggleClass('closed').toggleClass('open');    
      });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

这是完整的Perl脚本.这是一个网站的标题.

###########################
## META DATA AND HEADERS ##
###########################

$be_strict = 0;    # 1 = 404 on page not found
if ((!$title{$loadpage} || !$h1{$loadpage} || !$description{$loadpage} || !$keywords{$loadpage} || !$breadcrumb{$loadpage}) && $be_strict) {
  print "Status: 302 Found\r\n" .
      "Location: http://www.realots.co/404/\r\n" . …
Run Code Online (Sandbox Code Playgroud)

javascript perl jquery

30
推荐指数
3
解决办法
1181
查看次数

在Android studio 0.3.6中添加外部库

所以我对Java很新,我正在尝试将这个库添加到我的项目中.问题是Android studio 0.3.6没有这么简单的方法,我搜索的所有答案都引用了旧版本的Android Studio,或描述了如何导入外部项目(源代码,而不是jar文件) .

阅读一点后,我得出结论,手动添加jar文件将是最好的方式(手动复制/粘贴和gradle编辑),但正如我所说,我对这项技术相当新,不知道在哪里放置文件或我需要添加到gradle文件的行.

有人能帮我吗?

更新1:
我终于让IDE识别.jar文件(我得到自动完成和类识别).新问题是我在编译时遇到以下错误:Gradle: package com.google.gson does not exist.以下是我导入库的步骤:

  1. 在主目录中创建一个名为libs的文件夹(src/main/libs应该是结果)
  2. 复制该目录中的.jar文件
  3. 将以下行添加到项目的build.gradle文件中的dependencies部分:compile files('libs/gson-2.2.4.jar').现在应该看起来像这样:

    dependencies {compile'c​​om.android.support:support-v13 :+'compile files('libs/gson-2.2.4.jar')}

  4. 重新编译项目(如果有必要,不确定,但我做了)
  5. 右键单击libs文件夹并选择"Add as Library"

java android gradle android-studio android-gradle-plugin

30
推荐指数
2
解决办法
6万
查看次数