[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-gnu-arch] [bug #5414] --skip-present may fail in some situations
From: |
nobody |
Subject: |
[Bug-gnu-arch] [bug #5414] --skip-present may fail in some situations |
Date: |
Thu, 18 Sep 2003 19:46:45 -0400 |
User-agent: |
WWWOFFLE/2.7e |
=================== BUG #5414: FULL BUG SNAPSHOT ===================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=5414&group_id=4899
Submitted by: gnubert Project: GNU arch -- a revision control
system
Submitted on: Fri 09/19/2003 at 01:46
Category: tla Severity: 5 - Major
Bug Group: bug Resolution: None
Status: Open Release: tla--devo--1.1--patch-170
Fixed Release: Merge Request?: yes -- diffs included
Your Archive Name: Your Archive Location:
Assigned to: None
Summary: --skip-present may fail in some situations
Original Submission:
Hi,
when there is a patch to be skipped, and there also are
missing patches with a lower number of digits in the patch
level, --skip-present will not work as expected.
> patch-168 (simple changeset)
> Wed Sep 17 15:47:53 PDT 2003 Tom Lord <address@hidden>
> --skip-present support (rbcollins)
I just wanted to try it out, and found, that it didn't seem
to work for my special case: patches-6..12 missing, but
patch-11 containing logs already in the local tree. So
patch-11 should be skipped.
In whats-missing.c/filter_present_logs, I could see that
`unfiltered' and `to_skip' had the values:
unfiltered to_skip
patch-6 patch-11
patch-7
patch-8
patch-9
patch-10
patch-11
patch-12
Rel_join then joins the lists, including only items from
`unfiltered' that are smaller than corresponding items in
`to_skip'. But rel_join is using str_cmp, so that "patch-6" is
already greater than "patch-11", so that `to_skip' gets
incremented, and the rest of `unfiltered' just printed.
If `unfiltered' and `to_skip' were sorted before joining,
the lists would look
unfiltered to_skip
patch-10 patch-11
patch-11
patch-12
patch-6
patch-7
patch-8
patch-9
and the result of rel_join would be as expected:
------------------------------------------------------------>8----------
--- orig/libarch/whats-missing.c
+++ mod/libarch/whats-missing.c
@@ -123,7 +123,14 @@
lim_free (0, revision);
}
rel_free_table (has);
+
+ rel_sort_table_by_field (0, to_skip, 0);
+ rel_sort_table_by_field (0, unfiltered, 0);
+
answer = rel_join (1, rel_join_output (1,0, -1), 0, 0, unfiltered,
to_skip);
+
+ arch_sort_table_by_patch_level_field (0, answer, 0);
+
rel_free_table (unfiltered);
rel_free_table (to_skip);
return answer;
----------8<------------------------------------------------------------
--
Michael
No Followups Have Been Posted
CC list is empty
No files currently attached
For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=5414&group_id=4899
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Bug-gnu-arch] [bug #5414] --skip-present may fail in some situations,
nobody <=