2013-03-24 3 views
0

Так что я уже несколько раз входил в эту ошибку журнала git.ошибка в git log

Я написал этот простой код Java, чтобы проиллюстрировать его. Я обязуюсь свой прогресс (написание его постепенно), а затем запустить журнал GIT -p --decorate

class Mega { 
    private int alpha = 0; 
    private int beta = 1; 
    private int omega = 5; 

    public returnAlpha(){ 
     return this.alpha; 
    } 

    public returnBeta(){ 
     return this.beta; 
    } 

    public returnOmega(){ 
     return this.omega; 
    } 
} 

Это журнал мерзавец:

commit 2dcc5243a943a7e1a3344479bfb6a21474c6c024 (HEAD, master) 
Date: Sat Mar 23 17:26:24 2013 -0700 

    stage 2 

diff --git a/untitled.java b/untitled.java 
index 821a19e..b2ba345 100644 
--- a/untitled.java 
+++ b/untitled.java 
**@@ -10,4 +10,8 @@ class Mega {** 
    public returnBeta(){ 
     return this.beta; 
    } 
+ 
+ public returnOmega(){ 
+  return this.omega; 
+ } 
} 
\ No newline at end of file 

commit 43fadfc5ec827cf24667494e350ca9bcda21ffd3 
Date: Sat Mar 23 17:26:01 2013 -0700 

    stage 2 

diff --git a/untitled.java b/untitled.java 
index e5c38d9..821a19e 100644 
--- a/untitled.java 
+++ b/untitled.java 
**@@ -6,4 +6,8 @@ class Mega {** 
    public returnAlpha(){ 
     return this.alpha; 
    } 
+ 
+ public returnBeta(){ 
+  return this.beta; 
+ } 
} 
\ No newline at end of file 

commit 46d27d8485cb296798e5490803b1b7a04313793f 
Date: Sat Mar 23 17:25:24 2013 -0700 

    stage 1 

diff --git a/untitled.java b/untitled.java 
index 332a406..e5c38d9 100644 
--- a/untitled.java 
+++ b/untitled.java 
@@ -1,5 +1,9 @@ 
class Mega { 
- int alpha = 0; 
- int beta = 1; 
- int omega = 5; 
+ private int alpha = 0; 
+ private int beta = 1; 
+ private int omega = 5; 
+ 
+ public returnAlpha(){ 
+  return this.alpha; 
+ } 
} 
\ No newline at end of file 

commit bb18a576d44b492e50906d3eac495956590ff263 
Date: Sat Mar 23 17:24:22 2013 -0700 

    stage 0 

diff --git a/untitled.java b/untitled.java 
index e69de29..332a406 100644 
--- a/untitled.java 
+++ b/untitled.java 
@@ -0,0 +1,5 @@ 
+class Mega { 
+ int alpha = 0; 
+ int beta = 1; 
+ int omega = 5; 
+} 
\ No newline at end of file 

commit d630ed1f1edff608488938ec3ea748a2d5a7bab1 
Date: Sat Mar 23 17:23:39 2013 -0700 

    java added 

diff --git a/untitled.java b/untitled.java 
new file mode 100644 
index 0000000..e69de29 

Мне нужно, чтобы исправить эту ошибку, потому что журнал I автоматически (со сценарием) разбор журнала, и мне нужно, чтобы он оставался последовательным.

Кроме того, по мере увеличения количества фиксаций существуют другие несоответствия, такие как случайные пробелы, а иногда и строка после того, как @ на самом деле является частью diff (в отличие от случаев этого примера).

+1

Какая ошибка в 'git log', о которой вы говорите, и несогласованности? BTW, git log не является ни командой фарфора, ни сантехникой, поэтому вы не должны разбирать выходные данные из такой команды. – Tuxdude

ответ

1

Предполагая, что вы имеете в виду две линии линейного диапазона (@@ class ...) и, что звезды были добавлены вами (это очень запутанно, кстати, вы действительно должны иметь объяснил проблему в вопросе):

Допустимо иметь текст после линейных диапазонов в унифицированном формате diff. Git просто делает это, так что ваша задача справиться с этим. http://en.wikipedia.org/wiki/Diff#Unified_format

0

Чтобы избежать случайных интервалов, вводящих ложные различия, выполните очистку пробелов (т.е. либо все вкладки, либо все пробелы, пробелы в конце строк, без пустых строк в конце файла, завершите все файлы с помощью новой строки). Вероятно, вам понадобится git config apply.whitespace fix, и, возможно, зайдите в историю, фиксируя это.