Hello community, here is the log from the commit of package cvsps for openSUSE:Factory checked in at 2013-01-17 09:37:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cvsps (Old) and /work/SRC/openSUSE:Factory/.cvsps.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "cvsps", Maintainer is "MVyskocil@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/cvsps/cvsps.changes 2013-01-11 15:54:21.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.cvsps.new/cvsps.changes 2013-01-17 09:37:49.000000000 +0100 @@ -1,0 +2,7 @@ +Tue Jan 15 10:16:49 UTC 2013 - mvyskocil@suse.com + +- update to 3.8 + * fix buggy generation of the revision-map file (thanks to Chris Rorvick). + * don't convert .cvsignores by default, we have field reports of collisions. + +------------------------------------------------------------------- Old: ---- cvsps-3.7.tar.gz New: ---- cvsps-3.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cvsps.spec ++++++ --- /var/tmp/diff_new_pack.HOPwjF/_old 2013-01-17 09:37:50.000000000 +0100 +++ /var/tmp/diff_new_pack.HOPwjF/_new 2013-01-17 09:37:50.000000000 +0100 @@ -20,7 +20,7 @@ Summary: A Program for Generating Patch Set Information from a CVS Repository License: GPL-2.0+ Group: Development/Tools/Version Control -Version: 3.7 +Version: 3.8 Release: 0 Source0: http://www.catb.org/~esr/cvsps/%{name}-%{version}.tar.gz Url: http://www.catb.org/~esr/cvsps/ ++++++ cvsps-3.7.tar.gz -> cvsps-3.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvsps-3.7/Makefile new/cvsps-3.8/Makefile --- old/cvsps-3.7/Makefile 2013-01-09 16:57:03.000000000 +0100 +++ new/cvsps-3.8/Makefile 2013-01-14 12:07:17.000000000 +0100 @@ -1,9 +1,10 @@ -VERSION=3.7 +VERSION=3.8 CC?=gcc CFLAGS?=-g -O2 -Wall CPPFLAGS+=-I. -DVERSION=\"$(VERSION)\" LDLIBS+=-lz # += to allow solaris and friends add their libs like -lsocket +INSTALL = install prefix?=/usr/local target=$(DESTDIR)$(prefix) @@ -48,11 +49,11 @@ .txt.html: a2x --doctype manpage --format xhtml $*.txt -install: cvsps.1 - [ -d "$(target)/bin" ] || mkdir -p "$(target)/bin" - [ -d "$(target)/share/man/man1" ] || mkdir -p "$(target)/share/man/man1" - install cvsps "$(target)/bin" - install -m 644 cvsps.1 "$(target)/share/man/man1" +install: cvsps.1 all + $(INSTALL) -d "$(target)/bin" + $(INSTALL) -d "$(target)/share/man/man1" + $(INSTALL) cvsps "$(target)/bin" + $(INSTALL) -m 644 cvsps.1 "$(target)/share/man/man1" tags: *.c *.h ctags *.c *.h @@ -70,7 +71,8 @@ dist: cvsps-$(VERSION).tar.gz release: cvsps-$(VERSION).tar.gz cvsps.html - shipper -u -m -t; make clean; rm SHIPPER.FREECODE + rm -f docbook-xsl.css git-cvsimport.html + shipper -u -m -t; make clean; rm -f SHIPPER.FREECODE .PHONY: install clean version dist check # DO NOT DELETE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvsps-3.7/NEWS new/cvsps-3.8/NEWS --- old/cvsps-3.7/NEWS 2013-01-09 16:56:14.000000000 +0100 +++ new/cvsps-3.8/NEWS 2013-01-14 12:07:04.000000000 +0100 @@ -1,5 +1,9 @@ CVSps project news +3.8 @ 2013-01-13 + Fix buggy generation of the revision-map file (thanks to Chris Rorvick). + Don't convert .cvsignores by default, we have field reports of collisions. + 3.7 @ 2013-01-08 Bug fix in timezone handling (thanks to Chris Rorvick). Major performance gain in the CVS client code (thanks to Sergei Trofimovich). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvsps-3.7/cvsps.asc new/cvsps-3.8/cvsps.asc --- old/cvsps-3.7/cvsps.asc 2013-01-07 13:45:04.000000000 +0100 +++ new/cvsps-3.8/cvsps.asc 2013-01-14 12:04:41.000000000 +0100 @@ -11,7 +11,8 @@ [-r 'tag' [-r 'tag']] [-p 'directory'] [-A 'authormap'] [-R 'revmap'] [-v] [-t] [--summary-first] [--diff-opts 'option string'] [--debuglvl 'bitmask'] [-Z 'compression'] [--root 'cvsroot'] - [-q] [--fast-export] [--reposurgeon] [-k] [-T] [-V] ['module-path'] + [-q] [--fast-export] [--convert-ignores] [--reposurgeon] + [-k] [-T] [-V] ['module-path'] == DESCRIPTION == cvsps tries to group the per-file commits and tags in a CVS project @@ -51,7 +52,8 @@ * The HEAD branch is renamed to 'master'. -* Other tag and branch names are sanitized to be legal for git. +* Other tag and branch names are sanitized to be legal for git; + the characters ~^\*? are removed. * Since .cvsignore files have a syntax upward-compatible with that of .gitignore files, they're renamed. @@ -102,7 +104,7 @@ (after > and whitespace) is optional and (if present) is used to set the timezone offset to be attached to the date; acceptable formats for the timezone field are anything that can be in the TZ environment -variable, including a [+-]hhmm offst. Whitespace around the equals +variable, including a [+-]hhmm offset. Whitespace around the equals sign is stripped. Lines beginning with a # or not containing an equals sign are silently ignored. -R 'revmap':: @@ -133,9 +135,11 @@ to avoid noisy changesets. -T:: Force deterministic dates for regression testing. Each patchset will -have a monotonic-increasing attributed date computed from its patchdet ID. +have a monotonic-increasing attributed date computed from its patchset ID. --fast-export:: Emit the report as a git import stream. +--convert-ignores:: +Convert ..cvsignore files to .gitignore files. --reposurgeon:: Emit for each commit a list of the CVS file:revision pairs composing it as a bzr-style commit property named "cvs-revisions". From version 2.12 @@ -268,6 +272,10 @@ warn you about these cases rather than silently producing broken or incomplete translations. +CVS tags are per-file, not per revision. If developers are not careful +in their use of tagging, it can be impossible to associate a tag with +any of the changesets that cvsps resolves. + CVS-NT and versions of GNU CVS after 1.12 (2004) added a changeset commit-id to file metadata. Older sections of CVS history without these are vulnerable to various problems caused by clock skew between diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cvsps-3.7/cvsps.c new/cvsps-3.8/cvsps.c --- old/cvsps-3.7/cvsps.c 2013-01-09 17:15:08.000000000 +0100 +++ new/cvsps-3.8/cvsps.c 2013-01-14 12:03:30.000000000 +0100 @@ -110,6 +110,7 @@ static int verbose = 0; static bool keyword_suppression = false; static bool reposurgeon = false; +static bool convert_ignores = false; static int parse_args(int, char *[]); static int parse_rc(); @@ -599,7 +600,7 @@ debug(DEBUG_USAGE, " [-a <author>] [-f <file>] [-d <date1> [-d <date2>]] "); debug(DEBUG_USAGE, " [-b <branch>] [-l <regex>] [-n] [-r <tag> [-r <tag>]] "); debug(DEBUG_USAGE, " [-p <directory>] [-A 'authormap'] [-v] [-t] [--summary-first]"); - debug(DEBUG_USAGE, " [--diff-opts <option string>]"); + debug(DEBUG_USAGE, " [--diff-opts <option string>] [--convert-ignores]"); debug(DEBUG_USAGE, " [--debuglvl <bitmask>] [-Z <compression>] [--root <cvsroot>]"); debug(DEBUG_USAGE, " [-k] [-T] [-V] [<repository>]"); debug(DEBUG_USAGE, " "); @@ -630,7 +631,8 @@ debug(DEBUG_USAGE, " -k suppress CVS keyword expansion"); debug(DEBUG_USAGE, " -T <date> set base date for regression testing"); debug(DEBUG_USAGE, " --fast-export emit a git-style fast-import stream"); - debug(DEBUG_USAGE, " --reposurgeon emit reference-lifting hints for reposurgeon.\n"); + debug(DEBUG_USAGE, " --reposurgeon emit reference-lifting hints for reposurgeon.\n"); + debug(DEBUG_USAGE, " --convert-ignores renames .cvsignore to .gitignore repositorywide.\n"); debug(DEBUG_USAGE, " -V emit version and exit"); debug(DEBUG_USAGE, " <repository> apply cvsps to repository. Overrides working directory"); debug(DEBUG_USAGE, "\ncvsps version %s\n", VERSION); @@ -981,6 +983,13 @@ continue; } + if (strcmp(argv[i], "--convert-ignores") == 0) + { + convert_ignores = true; + i++; + continue; + } + if (argv[i][0] == '-') return usage("invalid argument", argv[i]); @@ -1694,11 +1703,12 @@ struct tm *tm; char tzbuf[BUFSIZ]; + /* coverity[tainted_data] */ char *oldtz = getenv("TZ"); // make a copy in case original is clobbered if (oldtz != NULL) - strncpy(tzbuf, oldtz, sizeof(tzbuf)); + strncpy(tzbuf, oldtz, sizeof(tzbuf)-1); setenv("TZ", tz, 1); tzset(); // just in case ... @@ -1845,12 +1855,6 @@ fwrite (buf, 1, res, stdout); (void)fclose(cfp); putchar('\n'); - - if (revfp) - fprintf(revfp, "%s %s :%d\n", - psm->file->filename, - psm->post_rev->rev, - mark); } } @@ -1885,6 +1889,21 @@ printf("committer %s <%s>", ps->author, ps->author); printf(" %s\n", utc_offset_timestamp(&ps->date, tz)); printf("data %zd\n%s\n", strlen(ps->descr), ps->descr); + + if (revfp) + { + for all_patchset_members(next, ps) + { + PatchSetMember * psm = list_entry(next, PatchSetMember, link); + + if (!psm->post_rev->dead) + fprintf(revfp, "%s %s :%d\n", + psm->file->filename, + psm->post_rev->rev, + mark); + } + } + if (reposurgeon) { FILE *ofp = fopen(tf, "w"); @@ -1929,24 +1948,27 @@ for all_patchset_members(next, ps) { PatchSetMember * psm = list_entry(next, PatchSetMember, link); + size_t filename_size = strlen(psm->file->filename) + 1; + char sanitized_name[filename_size]; - /* - * .cvsignore files have a gloobing syntax that is upward-compatible - * with git's, + memcpy (sanitized_name, psm->file->filename, filename_size); + /* + * .cvsignore files have a globbing syntax that is upward-compatible + * with git's, */ - if (SUFFIX(psm->file->filename, ".cvsignore")) { - char *end = psm->file->filename + strlen(psm->file->filename); + if (convert_ignores && SUFFIX(sanitized_name, ".cvsignore")) { + char *end = sanitized_name + strlen(sanitized_name); end[-9] = 'g'; end[-8] = 'i'; end[-7] = 't'; } if (psm->post_rev->dead) - printf("D %s\n", psm->file->filename); + printf("D %s\n", sanitized_name); else if (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) - printf("M 100755 :%d %s\n", ++basemark, psm->file->filename); + printf("M 100755 :%d %s\n", ++basemark, sanitized_name); else - printf("M 100644 :%d %s\n", ++basemark, psm->file->filename); + printf("M 100644 :%d %s\n", ++basemark, sanitized_name); } printf("\n"); -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org