# HG changeset patch
# User Artem Tikhomirov <tikhomirov.artem@gmail.com>
# Date 1316863533 -7200
# Node ID 237de162be287365a4ff7c6418f7e76e8e2e28cf
# Parent  962f78aac342293589e75fd830138228dd8619af
Fix building sort reverse array when element was initially in correct position.

diff -r 962f78aac342 -r 237de162be28 src/org/tmatesoft/hg/internal/ArrayHelper.java
--- a/src/org/tmatesoft/hg/internal/ArrayHelper.java	Sat Sep 24 13:02:48 2011 +0200
+++ b/src/org/tmatesoft/hg/internal/ArrayHelper.java	Sat Sep 24 13:25:33 2011 +0200
@@ -29,6 +29,14 @@
 //		Object[] aux = (Object[]) a.clone();
 		reverse = new int[a.length];
 		sort1((Comparable<Object>[])a, 0, a.length);
+		for (int i = 0; i < reverse.length; i++) {
+			// element that was not moved don't have an index in reverse.
+			// perhaps, can do it inside sort alg?
+			// TODO tests!
+			if (reverse[i] == 0) {
+				reverse[i] = i+1;
+			}
+		}
 	}
 	
     private void sort1(Comparable<Object> x[], int off, int len) {