[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: |
Tue, 25 Nov 2003 16:32:18 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031120 Firebird/0.6.1 StumbleUpon/1.76 |
=================== BUG #5414: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=5414&group_id=4899
Changes by: Robert Collins <address@hidden>
Date: Tue 11/25/2003 at 21:32 (GMT)
What | Removed | Added
---------------------------------------------------------------------------
Resolution | None | Fixed
Status | Open | Closed
Release | tla--devo--1.1--patch-170
| tla--devo--1.1--patch-170
------------------ Additional Follow-up Comments ----------------------------
merged into address@hidden/tla--devo--1.1--patch-204
=================== BUG #5414: FULL BUG SNAPSHOT ===================
Submitted by: gnubert Project: GNU arch -- a revision control
system
Submitted on: Thu 09/18/2003 at 23:46
Category: tla Severity: 5 - Major
Bug Group: bug Resolution: Fixed
Status: Closed 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
Follow-up Comments
*******************
-------------------------------------------------------
Date: Tue 11/25/2003 at 21:32 By: robertc
merged into address@hidden/tla--devo--1.1--patch-204
-------------------------------------------------------
Date: Sat 11/08/2003 at 11:41 By: robertc
address@hidden/tla--integration--1.1--patch-4 has this patch in it. Thanks for
diagnosing this, and I'll heckle Tom to get it included.
-------------------------------------------------------
Date: Thu 10/02/2003 at 00:07 By: gnubert
I updated to tla--devo--1.1--patch-188, but the problem still exists:
Patch 182 introduces sorting of "has" and "needs" lists, but this has an
effect only on changesets from the other branch (that this branch
already `has' or still `needs'). Changesets from _this_ branch that are
already present in the other branch and should be skipped, are not
handled at this step, but later, in filter_present_logs() -- that's
where my diff would apply.
-------------------------------------------------------
Date: Tue 09/30/2003 at 22:44 By: robertc
Tom thinks he fixed this already, as he hit it in a different use-case to
skip-present... can you please test and confirm by closing the bug.
CC List
*******
CC Address | Comment
------------------------------------+-----------------------------
address@hidden |
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/