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 - pgajdos@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 crrodriguez@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
To: linux-kernel@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:anonymous@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
To: linux-kernel@vger.kernel.org
Cc: Andrea Arcangeli , Larry McVoy
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:anonymous@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 |
| lkml@dm.cobite.com |
\==============================/
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org