2016-01-28 66 views
0

我需要把一個git日誌放到一個文件中。 命令行工作正常如何從shelljs.exec命令獲得git日誌輸出?

Git log command line result

但如果我使用shelljs.exec調用了繁重的任務命令,我沒有得到任何輸出

Git log with grunt task using shelljs.exec

這裏咕嚕代碼:

/*global module:false,require,console*/ 
'use strict'; 

var shell = require('shelljs'); 


module.exports = function (grunt) { 

    // Project configuration. 
    grunt.initConfig({ 
     // Task configuration. 
    }); 

    grunt.task.registerTask('git-log', 'git log output', function() { 
     console.log('RESULT : ', shell.exec('git log HEAD...HEAD^ --oneline',{silent : true}).output); 
    }); 

    // Default task. 
    grunt.registerTask('default', ['git-log']); 

}; 

我檢查了所有shelljs文檔並嘗試了不同的方式(包括異步)沒有成功...

任何想法? Thx

+0

你可以試試這個,併發布結果? 'grunt.log.writeln'(JSON.stringify(shell.exec('git log HEAD ... HEAD^--oneline',{silent:true}),null,2));' – Eria

+0

運行「git-log」 完成,沒有錯誤。 以退出代碼0結束的過程 – user3793538

+0

當命令成功時(代碼= 0),似乎沒有輸出。我要去檢查一下,然後我會回覆你。 – Eria

回答

1

嘗試使用.stdout而不是.output

在您的代碼:

shell.exec(
    'git log HEAD...HEAD^ --oneline', 
    {silent : true} 
).output; 

更改爲:

shell.exec(
    'git log HEAD...HEAD^ --oneline', 
    {silent : true} 
).stdout;