Eric S. Raymond [Tue, 29 Apr 2014 08:43:13 +0000 (04:43 -0400)]
Fix a documentation error.
Eric S. Raymond [Tue, 29 Apr 2014 08:38:37 +0000 (04:38 -0400)]
Clean out some cvsps remnants.
Eric S. Raymond [Tue, 29 Apr 2014 08:30:01 +0000 (04:30 -0400)]
More minor fixes by John Peterson.
John Sebastian Peterson [Thu, 24 Apr 2014 01:19:07 +0000 (03:19 +0200)]
helping the user with reading the timestamp of the latest commit
Eric S. Raymond [Tue, 29 Apr 2014 08:22:30 +0000 (04:22 -0400)]
Minor bug fix from John Petersen.
Eric S. Raymond [Wed, 11 Dec 2013 22:54:20 +0000 (17:54 -0500)]
Arrgh. NEW entry disn't get included in last commit.
Eric S. Raymond [Wed, 11 Dec 2013 22:46:08 +0000 (17:46 -0500)]
3.13 version bump and deprecation warning.
Eric S. Raymond [Wed, 11 Dec 2013 20:18:28 +0000 (15:18 -0500)]
Improve fake times so they're consistent with cvs-fast-export.
Eric S. Raymond [Wed, 11 Dec 2013 20:06:58 +0000 (15:06 -0500)]
Delete some things that shouldn't have been committed.
Eric S. Raymond [Wed, 11 Dec 2013 05:44:35 +0000 (00:44 -0500)]
Coverity cleanup. All regression tests pass.
Eric S. Raymond [Wed, 11 Dec 2013 00:48:10 +0000 (19:48 -0500)]
Version bump for 3.12 release.
Eric S. Raymond [Tue, 10 Dec 2013 22:16:07 +0000 (17:16 -0500)]
-g is already gone.
Eric S. Raymond [Tue, 10 Dec 2013 21:20:32 +0000 (16:20 -0500)]
Usage note.
Eric S. Raymond [Tue, 10 Dec 2013 21:16:17 +0000 (16:16 -0500)]
Document the permissions bug.
Eric S. Raymond [Tue, 10 Dec 2013 21:09:49 +0000 (16:09 -0500)]
Warn of the permissions bug.
Eric S. Raymond [Tue, 10 Dec 2013 21:02:59 +0000 (16:02 -0500)]
Documentation update.
Eric S. Raymond [Tue, 10 Dec 2013 20:34:13 +0000 (15:34 -0500)]
-g and --diff-opts removed.
Eric S. Raymond [Tue, 10 Dec 2013 20:19:52 +0000 (15:19 -0500)]
Attempt at fixing mode-setting error so there are execute bits in output.
Eric S. Raymond [Tue, 10 Dec 2013 19:22:19 +0000 (14:22 -0500)]
Note some depreacation warnings.
Eric S. Raymond [Tue, 10 Dec 2013 19:19:38 +0000 (14:19 -0500)]
Now that we have CVS URLs, deprecate -root.
Eric S. Raymond [Tue, 10 Dec 2013 19:06:16 +0000 (14:06 -0500)]
Extra colon not requires in CVS URLs.
Eric S. Raymond [Tue, 10 Dec 2013 18:39:08 +0000 (13:39 -0500)]
First cut at CVS URLs. The ":" after the histname shouldn't be required.
Eric S. Raymond [Tue, 10 Dec 2013 17:39:18 +0000 (12:39 -0500)]
Add deprecation warnings. Abd there's no -q option.
Eric S. Raymond [Tue, 10 Dec 2013 17:23:26 +0000 (12:23 -0500)]
Better explanation.
Eric S. Raymond [Tue, 10 Dec 2013 15:31:01 +0000 (10:31 -0500)]
--summary-first removed. All regression tests pass.
Eric S. Raymond [Tue, 10 Dec 2013 06:12:40 +0000 (01:12 -0500)]
Remove unneeded includes. All regression tests pass.
Eric S. Raymond [Tue, 10 Dec 2013 06:06:55 +0000 (01:06 -0500)]
Begin to factor out path handling. All regression tests pass.
Eric S. Raymond [Tue, 10 Dec 2013 04:30:04 +0000 (23:30 -0500)]
Refactoring step.
Eric S. Raymond [Tue, 10 Dec 2013 04:03:40 +0000 (23:03 -0500)]
Version bump for 3.11 release.
Eric S. Raymond [Tue, 10 Dec 2013 03:57:22 +0000 (22:57 -0500)]
Eliminate dodgy tmpfile use. All regressions pass.
Eric S. Raymond [Mon, 9 Dec 2013 22:58:03 +0000 (17:58 -0500)]
NEWS update.
Eric S. Raymond [Mon, 9 Dec 2013 22:55:48 +0000 (17:55 -0500)]
Make the documentation truthful about convert-ignores.
Eric S. Raymond [Mon, 9 Dec 2013 22:52:30 +0000 (17:52 -0500)]
Yet more shipper-related changes.
Eric S. Raymond [Sun, 1 Dec 2013 15:17:12 +0000 (10:17 -0500)]
Fix a shipper metadata bug.
Eric S. Raymond [Sun, 1 Dec 2013 04:26:34 +0000 (23:26 -0500)]
Another shipper metadata change.
Eric S. Raymond [Tue, 25 Jun 2013 13:43:08 +0000 (09:43 -0400)]
Merge commit 'refs/merge-requests/3' of git://gitorious.org/cvsps/cvsps into merge-requests/3
Jeff Leverenz [Tue, 25 Jun 2013 05:44:23 +0000 (00:44 -0500)]
Reduce likelihood of "revision" string buffer overflows.
Long "revision" log lines, resulting from widely branched CVS
repos, can overflow the REV_STR_MAX buffers. Increased
REV_STR_MAX to BUFSIZ, which looks looks to be the limiting
factor now.
Eric S. Raymond [Tue, 23 Apr 2013 21:15:55 +0000 (17:15 -0400)]
Spelling fix.
Eric S. Raymond [Tue, 23 Apr 2013 21:04:12 +0000 (17:04 -0400)]
Un-confuse the asciidoc parser.
Eric S. Raymond [Fri, 19 Apr 2013 08:55:35 +0000 (04:55 -0400)]
There is no longer a run-control file.
Eric S. Raymond [Sun, 10 Feb 2013 00:59:19 +0000 (19:59 -0500)]
Merge commit 'refs/merge-requests/2' of git://gitorious.org/cvsps/cvsps into merge-requests/2
Chris Rorvick [Fri, 8 Feb 2013 05:47:09 +0000 (23:47 -0600)]
Make UTC-offset calcuation more portable.
The original implementation of the timezone logic was ported from Git's
cvsimport script for the 2.x versions of cvsps. A portability issue was
pointed out by Ben Walton on the Git list:
http://comments.gmane.org/gmane.comp.version-control.git/213686
In summary, the conversion specifications "%s" and "%z" of strftime(3)
are not supported on some platforms (e.g., Solaris 10.) Junio Hamano
suggested an implementation for the Perl script which only depends on
localtime(3). Port this idea for cvsps, also using mktime(3) instead of
implementing Perl's timegm() functionality.
Signed-off-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
John Keeping [Tue, 22 Jan 2013 19:58:44 +0000 (19:58 +0000)]
git-cvsimport: use a file to record the import timestamp
This removes errors when the tip of the checked out branch is not the
most recent commit imported from CVS.
Calculate the import time by taking the most recent change that is on a
branch which changed during the import.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Tue, 22 Jan 2013 19:26:42 +0000 (19:26 +0000)]
git-cvsimport: don't leak file handles
Use the "with" statement when opening files to ensure that they are
closed at the correct time.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Mon, 21 Jan 2013 22:53:55 +0000 (22:53 +0000)]
git-cvsimport: relax Git directory creation rules
Unlike the original git-cvsimport, the cvsps 3.x git-cvsimport does not
allow a Git repository to be created in an existing CVS checkout.
Change this by explicitly setting the Git directory and deciding what to
do based on whether that exists.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Mon, 21 Jan 2013 20:53:00 +0000 (20:53 +0000)]
git-cvsimport: remove an unused variable
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Mon, 21 Jan 2013 12:09:01 +0000 (12:09 +0000)]
git-cvsimport: pass "-i" to cvsps for incremental imports
This flag is required for cvsps to output the correct incremental
fast-import stream, so git-cvsimport will fail if the available cvsps
does not support it.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Mon, 21 Jan 2013 12:07:38 +0000 (12:07 +0000)]
git-cvsimport: add a version check for new features
Instead of failing with an obscure cvsps error if a feature that is
required is not supported, add a way to check for a given version before
invoking cvsps.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 18:10:37 +0000 (18:10 +0000)]
git-cvsimport: change subprocess helpers to passthrough args
This allows us to use the do_or_die() and capture_or_die() helpers for
all invocations of subprocesses, even when we need to specify custom
stdin or stdout.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 18:05:37 +0000 (18:05 +0000)]
git-cvsimport: read configuration from git config
The original git-cvsimport supports reading options from the Git
repository into which it was importing. Make this git-cvsimport do the
same.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 16:54:26 +0000 (16:54 +0000)]
git-cvsimport: don't allow more than one module
Raise an error if more than one module is specified on the command line.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 16:40:33 +0000 (16:40 +0000)]
git-cvsimport: checkout the new tree correctly
Once the import has finished, the branch pointed at by HEAD may have
moved. "git checkout -q" isn't sufficient to change the working tree -
use "git checkout -f" as git-cvsimport-2.perl does.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 16:14:00 +0000 (16:14 +0000)]
git-cvsimport: use git-update-ref to modify refs
Instead of the porcelain command "git-tag" use "git-update-ref" when
tags need to be renamed.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 15:49:51 +0000 (15:49 +0000)]
git-cvsimport: use for-each-ref not "tag -l"
git-tag is a porcelain command, switch to the plumbing command
git-for-each-ref so that we're not relying on the output format of
git-tag.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 15:49:51 +0000 (15:49 +0000)]
git-cvsimport: use for-each-ref not "branch -l"
git-branch is a porcelain command, switch to the plumbing command
git-for-each-ref so that we're not relying on the output format of
git-branch.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 16:05:37 +0000 (16:05 +0000)]
git-cvsimport: fix moving tags
The command "git tag -f $tag $changed" moves $tag to point at commit
$changed but $changed is the new name for the tag. Fix this by
reordering the arguments to "git tag".
Also add a call to "git update-ref -d" to remove the old tag.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 16:03:46 +0000 (16:03 +0000)]
git-cvsimport: actually invoke git-branch
The command called if a branch is renamed is "branch -m". This should
clearly by "git branch -m".
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Thu, 24 Jan 2013 21:47:16 +0000 (21:47 +0000)]
git-cvsimport: Remove cvsps 2.x fallback code
git-cvsimport-fallback isn't included here so this code can never work.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 14:25:33 +0000 (14:25 +0000)]
git-cvsimport: don't execute subcommands with the shell
Creating command strings to execute subcommands via the shell means that
care needs to be taken to quote any user-supplied values, but Python
provides a better way by passing a list of arguments when creating
subprocesses.
Make this change, changing pipelines that currently use the shell to use
pipelined subprocesses.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 14:06:21 +0000 (14:06 +0000)]
git-cvsimport: extract subprocess error handling
By changing subprocess.call into subprocess.check_call all invocations
of subprocesses will throw a CalledProcessError if the child fails.
This means that we can use common handling for subprocess errors and
extract this to the top-level of the script.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sat, 19 Jan 2013 13:38:54 +0000 (13:38 +0000)]
git-cvsimport: handle the backend option first
Most of the options to git-cvsimport are simply passed to the backend,
this means the if the '-e <backend>' option does not occur first any
options preceding it will effectively be ignored.
Extract the '-e' option handling as a special case before the main
option handling loop to avoid this issue.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sun, 20 Jan 2013 13:49:02 +0000 (13:49 +0000)]
git-cvsimport: remove unused parameter to *_or_die
The legend parameters to do_or_die() and capture_or_die() are never
used. Remove them.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sat, 19 Jan 2013 13:28:38 +0000 (13:28 +0000)]
git-cvsimport: use Fatal consistently
Instead of doing "sys.stderr.write(...); sys.exit(1)", raise a Fatal
exception when a fatal error occurs. This change means that we can
remove the "git cvsimport: " prefix from all fatal error messages since
it is added by the top-level exception handler when printing the message
from a Fatal exception.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sat, 19 Jan 2013 13:24:17 +0000 (13:24 +0000)]
git-cvsimport: extract error handler from main()
This will allow us to handle errors during option parsing by simply
raising an exception, and removes a layer of indentation.
Also change the error from "git_cvsimport" to "git cvsimport".
The patch is much clearer with 'git diff -b'.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sat, 19 Jan 2013 13:21:54 +0000 (13:21 +0000)]
git-cvsimport: don't quit when filesource is requested
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sat, 19 Jan 2013 13:16:24 +0000 (13:16 +0000)]
git-cvsimport: remove a redundant version check
We already check the Python version at the top of the script, so doing
it again in main() is unnecessary.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sat, 19 Jan 2013 13:14:37 +0000 (13:14 +0000)]
git-cvsimport: extract main as a method
This is the first step to making it easier to debug the script using a
Python REPL.
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sat, 19 Jan 2013 13:13:40 +0000 (13:13 +0000)]
git-cvsimport: use title case for class names
Signed-off-by: John Keeping <john@keeping.me.uk>
John Keeping [Sat, 19 Jan 2013 13:03:33 +0000 (13:03 +0000)]
git-cvsimport: comply with PEP 8 some more
Introduce 2 blank lines between top-level items and one between class
member functions, as recommended by PEP 8.
Signed-off-by: John Keeping <john@keeping.me.uk>
Eric S. Raymond [Mon, 21 Jan 2013 13:22:45 +0000 (08:22 -0500)]
Quiet down the tarball builder.
Eric S. Raymond [Mon, 21 Jan 2013 13:20:25 +0000 (08:20 -0500)]
Version bummp for release 3.10.
John Keeping [Mon, 21 Jan 2013 13:00:05 +0000 (13:00 +0000)]
Make date restrictions exclusive
The manpage says that "-d" will show dates *newer than* its argument and
between the arguments if specified twice. Make it so.
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Ben Walton [Wed, 16 Jan 2013 21:35:25 +0000 (21:35 +0000)]
Ensure that the build directory leads PATH
If we put .. at the end of the PATH, a system cvsps would be preferred
to the one just built. Instead, put the build directory at the head
of the PATH to ensure we always use the newly built binary in the test
suite.
Signed-off-by: Ben Walton <bdwalton@gmail.com>
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Eric S. Raymond [Sun, 20 Jan 2013 22:54:34 +0000 (17:54 -0500)]
Ignore the ignorable.
Eric S. Raymond [Sun, 20 Jan 2013 22:49:11 +0000 (17:49 -0500)]
Add files rquired for a recent test addition.
Eric S. Raymond [Sun, 20 Jan 2013 22:40:21 +0000 (17:40 -0500)]
Add -i option for incremental export.
Sergei Trofimovich [Mon, 14 Jan 2013 13:08:34 +0000 (16:08 +0300)]
cvsclient.c: slightly optimize cvs_checkout by sending fetch request as one package
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Eric S. Raymond [Mon, 14 Jan 2013 11:07:21 +0000 (06:07 -0500)]
Version bump for 3.8 release.
Eric S. Raymond [Mon, 14 Jan 2013 11:05:43 +0000 (06:05 -0500)]
Update documentation for Sergei's change.
Eric S. Raymond [Mon, 14 Jan 2013 11:00:42 +0000 (06:00 -0500)]
Test check rebuild was required for recent changes.
Sergei Trofimovich [Fri, 11 Jan 2013 23:23:42 +0000 (02:23 +0300)]
cvspstest.py: extended CVSRepository.convert to accept optional cvsps arguments
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Sergei Trofimovich [Fri, 11 Jan 2013 23:23:41 +0000 (02:23 +0300)]
cvsps.c: added disable by default --convert-ignores option
We have some projects having both .cvsignore and .gitignore files
in CVS tree.
Silent mangling those into one file is a bit opaque for first-time user.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Sergei Trofimovich [Fri, 11 Jan 2013 23:23:40 +0000 (02:23 +0300)]
cvsps.c: don't mangle .cvsignore to .gitignore in PatchSet structure
It fixes importing repos with modified at least once .cvsignore files.
Otherwise repository import fails with '.gitignore' no such file
or directory.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Sergei Trofimovich [Fri, 11 Jan 2013 23:23:39 +0000 (02:23 +0300)]
test/basic.tst: add check for .cvsignore updates as well
current cvsps dislikes them
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Eric S. Raymond [Mon, 14 Jan 2013 10:54:47 +0000 (05:54 -0500)]
Prevent cruft from bein uploaded.
Eric S. Raymond [Mon, 14 Jan 2013 00:28:05 +0000 (19:28 -0500)]
Track a name change.
Eric S. Raymond [Sat, 12 Jan 2013 23:04:52 +0000 (18:04 -0500)]
Coverity cleanup.
Eric S. Raymond [Sat, 12 Jan 2013 19:45:48 +0000 (14:45 -0500)]
Teach the Makefile to follow the usual convention of using
"$(INSTALL) -d" to create directories, and "$(INSTALL) [-m mode]
files... dir" to install files, instead of hardcoding program names
for "mkdir" and "install".
With this, enhanced "instsall" program can be more easily used with
the build system. For example, "install" that has "--dry-run" option
to tell what would happen can be used like this:
$ make INSTALL="nstalli --dry-run" install
Also, "install" target should depend on "all" which builds cvsps
itself, which is one of the things it tries to install. Make it so.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Eric S. Raymond [Sat, 12 Jan 2013 19:39:33 +0000 (14:39 -0500)]
News update.
Eric S. Raymond [Sat, 12 Jan 2013 19:31:49 +0000 (14:31 -0500)]
Add parsecvs to upported engines.
Eric S. Raymond [Fri, 11 Jan 2013 19:30:47 +0000 (14:30 -0500)]
Documentation update.
Eric S. Raymond [Fri, 11 Jan 2013 03:20:42 +0000 (22:20 -0500)]
Documentation improvements.
Chris Rorvick [Thu, 10 Jan 2013 00:44:06 +0000 (18:44 -0600)]
Write marks for commits to revision map.
Currently the revision map file is mapping (filename, CVS revid) to
the mark of the respective blob. It should be mapping to containing
commit instead.
Eric S. Raymond [Wed, 9 Jan 2013 16:16:08 +0000 (11:16 -0500)]
More fun with test loads, sigh. Timezones suck.
Eric S. Raymond [Wed, 9 Jan 2013 16:15:45 +0000 (11:15 -0500)]
Explain some magic.
Eric S. Raymond [Wed, 9 Jan 2013 16:13:23 +0000 (11:13 -0500)]
Avoid a compiler warning.
Eric S. Raymond [Wed, 9 Jan 2013 15:57:31 +0000 (10:57 -0500)]
Version bump for 3.7 release.
Eric S. Raymond [Wed, 9 Jan 2013 15:52:30 +0000 (10:52 -0500)]
Test load needed to be rebuilt for Chris Rorvick's fix.
Sergei Trofimovich [Wed, 9 Jan 2013 14:13:38 +0000 (17:13 +0300)]
tcpsocket.c: disable Nagle's algorithm for sent commands
Sent commands are very short, like "cvs co foo", "cvs co bar".
We pair them with large receive commands.
The faster we will send them out the faster we will receive
the result. Nagle's algorithm does not allow sending
requests faster, than 5 checkouts per second.
The patch speedups importing my real repository
(30 000 checkouts) from 90 minutes down to 5 minutes.
It means patch speedups from 5 checkouts to
100 checkouts per second.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Sergei Trofimovich [Wed, 9 Jan 2013 14:13:37 +0000 (17:13 +0300)]
tcpsocket.c: fix actual error on name resolution failure
Found by gcc:
tcpsocket.c: In function 'convert_address':
tcpsocket.c:227:7: warning: too many arguments for format [-Wformat-extra-args]
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>