Commits

Anonymous committed 8a263ae Merge

GIT 1.1.3

Comments (0)

Files changed (3)

 	parents = commit->parents;
 	commit->object.flags &= ~mark;
 	while (parents) {
-		if (parents->item && parents->item->object.parsed)
-			clear_commit_marks(parents->item, mark);
+		struct commit *parent = parents->item;
+		if (parent && parent->object.parsed &&
+		    (parent->object.flags & mark))
+			clear_commit_marks(parent, mark);
 		parents = parents->next;
 	}
 }
 	return (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;
 }
 
-static void describe(struct commit *cmit)
+static void describe(struct commit *cmit, int last_one)
 {
 	struct commit_list *list;
 	static int initialized = 0;
 		if (n) {
 			printf("%s-g%s\n", n->path,
 			       find_unique_abbrev(cmit->object.sha1, abbrev));
-			clear_commit_marks(cmit, SEEN);
+			if (!last_one)
+				clear_commit_marks(cmit, SEEN);
 			return;
 		}
 	}
 		cmit = lookup_commit_reference(sha1);
 		if (!cmit)
 			usage(describe_usage);
-		describe(cmit);
+		describe(cmit, i == argc - 1);
 	}
 	return 0;
 }
  * passed around in one int (high 16-bit for merge and low 16-bit
  * for break).
  */
-#define MAX_SCORE 60000
+#define MAX_SCORE 60000.0
 #define DEFAULT_RENAME_SCORE 30000 /* rename/copy similarity minimum (50%) */
 #define DEFAULT_BREAK_SCORE  30000 /* minimum for break to happen (50%)*/
 #define DEFAULT_MERGE_SCORE  48000 /* maximum for break-merge to happen (80%)*/