Hello community, here is the log from the commit of package cvsps for openSUSE:Factory checked in at 2013-05-13 22:48:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cvsps (Old) and /work/SRC/openSUSE:Factory/.cvsps.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cvsps" Changes: -------- --- /work/SRC/openSUSE:Factory/cvsps/cvsps.changes 2013-05-02 11:06:11.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.cvsps.new/cvsps.changes 2013-05-13 22:48:04.000000000 +0200 @@ -1,0 +2,5 @@ +Tue May 7 08:32:52 UTC 2013 - pgaj...@suse.com + +- downgrade to 2.1 [bnc#809800] + +------------------------------------------------------------------- Old: ---- cvsps-3.10.tar.gz New: ---- CMakeLists.txt bk-cvs.mail commitid.diff cvsps-2.1.tar.bz2 cvsps-bk-cvs.mail fixes.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cvsps.spec ++++++ --- /var/tmp/diff_new_pack.zmfODh/_old 2013-05-13 22:48:05.000000000 +0200 +++ /var/tmp/diff_new_pack.zmfODh/_new 2013-05-13 22:48:05.000000000 +0200 @@ -17,20 +17,26 @@ Name: cvsps +BuildRequires: cmake +BuildRequires: zlib-devel Summary: A Program for Generating Patch Set Information from a CVS Repository License: GPL-2.0+ Group: Development/Tools/Version Control -Version: 3.10 +# DO NOT UPGRADE to 3.x before you make sure it works with git-cvsps [bnc#809800] +Version: 2.1 Release: 0 -Source0: http://www.catb.org/~esr/cvsps/%{name}-%{version}.tar.gz -Url: http://www.catb.org/~esr/cvsps/ +%define real_version 2.1 +Source: cvsps-%{real_version}.tar.bz2 +Source1: bk-cvs.mail +Source2: cvsps-bk-cvs.mail +Source3: fixes.tar.bz2 +Source4: CMakeLists.txt +Obsoletes: cvsps2 <= %{version} +Provides: cvsps2 = %{version} +Patch: commitid.diff +Url: http://www.cobite.com/cvsps/ BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: asciidoc -BuildRequires: libxslt-tools -BuildRequires: pkgconfig(zlib) -Conflicts: cvsps2 - %description CVSps is a program for generating 'patchset' information from a CVS repository. In this case, a patchset is defined as a set of changes @@ -40,19 +46,32 @@ revision information, it is often difficult to see what changes were 'atomically' committed to the repository. + + %prep -%setup -q +%setup -q -n cvsps-%{real_version} +tar xvfj %{SOURCE3} +for patch in $(cat fixes/series); do + patch -p1 < fixes/$patch +done +cp %{SOURCE1} %{SOURCE2} %{SOURCE4} . +%patch -p1 %build export CFLAGS="%{optflags}" +cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} -DCMAKE_VERBOSE_MAKEFILE=TRUE . %{__make} %{?jobs:-j%jobs} %install -%{__make} prefix=%{buildroot}/%{_prefix} install +%makeinstall + +%clean +rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) -%doc COPYING NEWS README TODO +%doc README CHANGELOG COPYING +%doc bk-cvs.mail cvsps-bk-cvs.mail %{_bindir}/cvsps %{_mandir}/man*/* ++++++ CMakeLists.txt ++++++ #cmake support for cvsps # author: Cristian Rodriguez crrodrig...@suse.de PROJECT(cvsps C) SET(CVSPS_VERSION_MAJOR 2) SET(CVSPS_VERSION_MINOR 1) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -DVERSION=\\\"${CVSPS_VERSION_MAJOR}.${CVSPS_VERSION_MINOR}\\\"") FIND_PACKAGE(ZLIB REQUIRED) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}) INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) SET(CVSPS_SRCS cache.c cap.c cvs_direct.c cvsps.c list_sort.c stats.c util.c cbtcommon/debug.c cbtcommon/hash.c cbtcommon/text_util.c cbtcommon/sio.c cbtcommon/tcpsocket.c ) ADD_EXECUTABLE(cvsps ${CVSPS_SRCS}) TARGET_LINK_LIBRARIES(cvsps ${ZLIB_LIBRARY}) INSTALL(PROGRAMS cvsps DESTINATION bin) INSTALL(FILES cvsps.1 DESTINATION share/man/man1) ++++++ bk-cvs.mail ++++++ Date: Mon, 17 Mar 2003 07:52:20 -0800 From: Larry McVoy <l...@bitmover.com> To: linux-ker...@vger.kernel.org Subject: BK->CVS is live I think those repositories are stable enough you can start to count on them. Sam and others have looked over their changes and think that the CVS tree has accurate data. The CVS repository is at cvs -d:pserver:anonym...@kernel.bkbits.net:/home/cvs and it has two top level directories, linux-2.4 and linux-2.5. ++++++ commitid.diff ++++++ diff --git a/cache.c b/cache.c index 5f67a7c..762cfb7 100644 --- a/cache.c +++ b/cache.c @@ -89,6 +89,7 @@ enum CACHE_NEED_PS_TAG_FLAGS, CACHE_NEED_PS_BRANCH, CACHE_NEED_PS_BRANCH_ADD, + CACHE_NEED_PS_COMMITID_OR_DESCR, CACHE_NEED_PS_DESCR, CACHE_NEED_PS_EOD, CACHE_NEED_PS_MEMBERS, @@ -108,6 +109,7 @@ time_t read_cache() int tag_flags = 0; char branchbuff[LOG_STR_MAX] = ""; int branch_add = 0; + char cidbuff[CID_STR_MAX] = ""; int logbufflen = LOG_STR_MAX + 1; char * logbuff = malloc(logbufflen); time_t cache_date = -1; @@ -286,9 +288,19 @@ time_t read_cache() /* remove prefix "branch_add: " and LF from len */ len -= 12; branch_add = atoi(buff + 12); - state = CACHE_NEED_PS_DESCR; + state = CACHE_NEED_PS_COMMITID_OR_DESCR; } break; + case CACHE_NEED_PS_COMMITID_OR_DESCR: + if (strncmp(buff, "commitid:", 9) == 0) + { + /* remove prefix "commitid: " and LF from len */ + len -= 10; + strzncpy(cidbuff, buff + 10, MIN(len, CID_STR_MAX)); + state = CACHE_NEED_PS_DESCR; + break; + } + /* FALLTHROUGH */ case CACHE_NEED_PS_DESCR: if (strncmp(buff, "descr:", 6) == 0) state = CACHE_NEED_PS_EOD; @@ -296,8 +308,8 @@ time_t read_cache() case CACHE_NEED_PS_EOD: if (strcmp(buff, CACHE_DESCR_BOUNDARY) == 0) { - debug(DEBUG_STATUS, "patch set %s %s %s %s", datebuff, authbuff, logbuff, branchbuff); - ps = get_patch_set(datebuff, logbuff, authbuff, branchbuff, NULL); + debug(DEBUG_STATUS, "patch set %s %s %s %s %s", datebuff, authbuff, logbuff, branchbuff, cidbuff); + ps = get_patch_set(datebuff, logbuff, authbuff, branchbuff, cidbuff, NULL); /* the tag and tag_flags will be assigned by the resolve_global_symbols code * ps->tag = (strlen(tagbuff)) ? get_string(tagbuff) : NULL; * ps->tag_flags = tag_flags; @@ -336,6 +348,7 @@ time_t read_cache() tag_flags = 0; branchbuff[0] = 0; branch_add = 0; + cidbuff[0] = 0; logbuff[0] = 0; state = CACHE_NEED_PS; } @@ -523,6 +536,8 @@ static void dump_patch_set(FILE * fp, PatchSet * ps) fprintf(fp, "tag_flags: %d\n", ps->tag_flags); fprintf(fp, "branch: %s\n", ps->branch); fprintf(fp, "branch_add: %d\n", ps->branch_add); + if (ps->commitid[0]) + fprintf(fp, "commitid: %s\n", ps->commitid); fprintf(fp, "descr:\n%s", ps->descr); /* descr is guaranteed to end with LF */ fprintf(fp, CACHE_DESCR_BOUNDARY); fprintf(fp, "members:\n"); diff --git a/cvsps.c b/cvsps.c index 981cd78..b91f0c7 100644 --- a/cvsps.c +++ b/cvsps.c @@ -268,6 +268,7 @@ static void load_from_cvs() PatchSetMember * psm = NULL; char datebuff[20]; char authbuff[AUTH_STR_MAX]; + char cidbuff[CID_STR_MAX]; int logbufflen = LOG_STR_MAX + 1; char * logbuff = malloc(logbufflen); int loglen = 0; @@ -466,6 +467,19 @@ static void load_from_cvs() psm->post_rev->dead = 1; } + cidbuff[0] = 0; + p = strstr(buff, "commitid: "); + if (p) + { + char * op; + p += 10; + op = strchr(p, ';'); + if (op) + { + strzncpy(cidbuff, p, op - p + 1); + } + } + state = NEED_EOM; } break; @@ -474,7 +488,7 @@ static void load_from_cvs() { if (psm) { - PatchSet * ps = get_patch_set(datebuff, logbuff, authbuff, psm->post_rev->branch, psm); + PatchSet * ps = get_patch_set(datebuff, logbuff, authbuff, psm->post_rev->branch, cidbuff, psm); patch_set_add_member(ps, psm); } @@ -487,7 +501,7 @@ static void load_from_cvs() { if (psm) { - PatchSet * ps = get_patch_set(datebuff, logbuff, authbuff, psm->post_rev->branch, psm); + PatchSet * ps = get_patch_set(datebuff, logbuff, authbuff, psm->post_rev->branch, cidbuff, psm); patch_set_add_member(ps, psm); assign_pre_revision(psm, NULL); } @@ -1199,7 +1213,7 @@ static CvsFile * build_file_by_name(const char * fn) return retval; } -PatchSet * get_patch_set(const char * dte, const char * log, const char * author, const char * branch, PatchSetMember * psm) +PatchSet * get_patch_set(const char * dte, const char * log, const char * author, const char * branch, const char *commitid, PatchSetMember * psm) { PatchSet * retval = NULL, **find = NULL; int (*cmp1)(const void *,const void*) = (bkcvs) ? compare_patch_sets_bk : compare_patch_sets; @@ -1212,6 +1226,7 @@ PatchSet * get_patch_set(const char * dte, const char * log, const char * author convert_date(&retval->date, dte); retval->author = get_string(author); + retval->commitid = get_string(commitid); retval->descr = xstrdup(log); retval->branch = get_string(branch); @@ -1267,7 +1282,7 @@ PatchSet * get_patch_set(const char * dte, const char * log, const char * author else { debug(DEBUG_STATUS, "new patch set!"); - debug(DEBUG_STATUS, "%s %s %s", retval->author, retval->descr, dte); + debug(DEBUG_STATUS, "%s %s %s %s", retval->author, retval->descr, retval->commitid, dte); retval->min_date = retval->date - timestamp_fuzz_factor; retval->max_date = retval->date + timestamp_fuzz_factor; @@ -1639,7 +1654,7 @@ static int compare_patch_sets(const void * v_ps1, const void * v_ps2) int ret; time_t d, min, max; - /* We order by (author, descr, branch, members, date), but because of the fuzz factor + /* We order by (author, descr, branch, commitid, members, date), but because of the fuzz factor * we treat times within a certain distance as equal IFF the author * and descr match. */ @@ -1656,6 +1671,10 @@ static int compare_patch_sets(const void * v_ps1, const void * v_ps2) if (ret) return ret; + ret = strcmp(ps1->commitid, ps2->commitid); + if (ret) + return ret; + ret = compare_patch_sets_by_members(ps1, ps2); if (ret) return ret; @@ -1724,6 +1743,10 @@ static int compare_patch_sets_bytime(const PatchSet * ps1, const PatchSet * ps2) return ret; ret = strcmp(ps1->branch, ps2->branch); + if (ret) + return ret; + + ret = strcmp(ps1->commitid, ps2->commitid); return ret; } @@ -2072,6 +2095,7 @@ static PatchSet * create_patch_set() ps->tag = NULL; ps->tag_flags = 0; ps->branch_add = 0; + ps->commitid = ""; ps->funk_factor = 0; ps->ancestor_branch = NULL; CLEAR_LIST_NODE(&ps->collision_link); diff --git a/cvsps.h b/cvsps.h index 280a253..2638ebe 100644 --- a/cvsps.h +++ b/cvsps.h @@ -25,7 +25,7 @@ CvsFile * create_cvsfile(); CvsFileRevision * cvs_file_add_revision(CvsFile *, const char *); void cvs_file_add_symbol(CvsFile * file, const char * rev, const char * tag); char * cvs_file_add_branch(CvsFile *, const char *, const char *); -PatchSet * get_patch_set(const char *, const char *, const char *, const char *, PatchSetMember *); +PatchSet * get_patch_set(const char *, const char *, const char *, const char *, const char *, PatchSetMember *); PatchSetMember * create_patch_set_member(); CvsFileRevision * file_get_revision(CvsFile *, const char *); void patch_set_add_member(PatchSet * ps, PatchSetMember * psm); diff --git a/cvsps_types.h b/cvsps_types.h index dba145d..f3cc33f 100644 --- a/cvsps_types.h +++ b/cvsps_types.h @@ -10,6 +10,7 @@ #define LOG_STR_MAX 65536 #define AUTH_STR_MAX 64 +#define CID_STR_MAX 64 #define REV_STR_MAX 64 #define MIN(a, b) ((a) < (b) ? (a) : (b)) #define MAX(a, b) ((a) > (b) ? (a) : (b)) @@ -113,6 +114,7 @@ struct _PatchSet char *descr; char *author; char *tag; + char *commitid; int tag_flags; char *branch; char *ancestor_branch; ++++++ cvsps-3.10.tar.gz -> cvsps-2.1.tar.bz2 ++++++ ++++ 10821 lines of diff (skipped) ++++++ cvsps-bk-cvs.mail ++++++ Date: Tue, 18 Mar 2003 12:41:42 -0500 (EST) From: David Mansfield <l...@dm.cobite.com> To: linux-ker...@vger.kernel.org Cc: Andrea Arcangeli <and...@suse.de>, Larry McVoy <l...@bitmover.com> Subject: [ANNOUNCE] cvsps support for parsing BK->CVS kernel tree logs Hi everyone, I've just added (updated) lightly tested support for the BK->CVS kernel trees to cvsps (www.cobite.com/cvsps) in version 2.0b4. The purpose of this effort is to recreate the BK ChangeSet meta-data that is embedded in the 'cvs log' data in these trees. BTW, cvsps is GPL software :-p. I'd like to thank Larry and Andrea for helping me track down some issues with this effort. This is still a BETA version, though, and I haven't given this enough testing, so be nice. It works for me. This version is tested and works against this morning's linux-2.4 and linux-2.5 trees, and contains a few workarounds for specific issues in those trees. See below for information on these problems. The output of cvsps looks like: ------------------------------ PatchSet 999 Date: 2002/07/11 19:50:46 Author: alan Branch: HEAD Tag: (none) Log: [PATCH] Fix several pdc202xx problems Misnaming of 20270 as 20268R Failure of LBA48 on 20262 Incorrect speed detection because the old driver used host not drive side cable detect PDC202xx handling for quirks in udma reporting off some drives LBA48 for PIO mode BKrev: 3d2dd386wJMnehoOAhv3wL991IfXVQ Members: ChangeSet:1.999->1.1000 MAINTAINERS:1.74->1.75 drivers/ide/ide-features.c:1.4->1.5 drivers/ide/ide-pci.c:1.18->1.19 drivers/ide/pdc202xx.c:1.11->1.12 include/linux/pci_ids.h:1.44->1.45 ----------------- You can also get a diff of this PatchSet using the '-g' option to cvsps. There are currently 2,798 PatchSets in the linux-2.4 tree, and 8,382 in the linux-2.5 tree. Quick start instructions ======================== Download, build and install cvsps from http://www.cobite.com/cvsps Get the 2.0b4 (or latest) version. Create a working directory with the tree of your choice: cvs -d:pserver:anonym...@kernel.bkbits.net:/home/cvs co linux-2.4/Makefile cd linux-2.4 [ IMPORTANT: cvsps doesn't currently support an option for setting the compression level so PLEASE, edit your .cvsrc and put 'cvs -z4' to enable compression ] cvsps [-x] --bkcvs This basically runs a 'cvs rlog' against the tree, parses, and caches all of the revision history as PatchSets. It also outputs all of the PatchSet summaries to stdout, so you may want to '>/dev/null' the first time. Subsequent 'cvsps' commands do not need the '--bkcvs' unless you are updating (-u, not completely tested) or rebuilding (-x, always works) the cache file. Now you can use cvsps to browse the patchsets at your leisure, without loading the cvs server (except to generate diffs). See cvsps -h for the many ways you can slice and dice the information. I welcome any feedback. Problems ======== I have currently encountered two problems with the log format. 1) someone has committed sections of 'cvs log' text into the log. This causes quite a headache for my parser, because false end-of-log-message markers are present in the log. Fortunately, Larry has put a '(Logical change x.yyyy)' marker at the end of each log message, see alse 2) 2) Not all log messages are terminated by a '(Logical change x.yyy)' marker. A single revision of one file is missing this marker, Larry is looking into why this may have happened. Both of these problems are being worked around by my 'Adaptive Crap Filter (notTM)' code. Don't look at it. It'll kill you. David -- /==============================\ | David Mansfield | | l...@dm.cobite.com | \==============================/ -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org