| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With my CVSNT server (1.11.1.3 (Build 57j), CVSPS ignored files in
subdirectories. The reason was that in output of cvs rlog, files were
separated from repository path by / whereas directories by \:
RCS file: d:\cvs\laser/BUILD.INC,v
...
RCS file: d:\cvs\laser\DLG/DABOUT.DLG,v
Now, if filename does not start with repository path, another comparison
is done to check whether the only difference is the last slash or
backslash.
Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To run the tests, go into the test/ directory, run maketestrepo.sh once and
then run runtests.sh as often as you like.
Currently, the following things are tested:
- A basic CVS repository can be parsed without using the cache.
- Parsing a basic CVS repository produces a sensible cache file.
- The cache-file produced can be read again.
- Patchset output read from the cache file is the same as patchset output
read directly from CVS.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Yann, David said I should bounce this to you. After this week I can be
reached at the Reply-To address.]
I'm dealing with a CVS repo that looks like this:
% ls
CVSROOT/ Makefile,v foo/ quux/
(along with a few dozen other subdirectories). CVSROOT/modules has
project -a \
Makefile foo quux
etc. So I check out with "cvs -d /path/to/cvs co project", and the
result is:
% head CVS/R*
==> CVS/Repository <==
.
==> CVS/Root <==
/path/to/cvs
When I run cvsps in the resulting checkout, it blows up all over the
place with thousands of error messages like:
% cvsps -u
cvs rlog: Logging .
WARNING: file /path/to/cvs/Makefile doesn't match strip_path /path/to/cvs/./. ignoring
The following patch seems to resolve this problem.
-andy
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I tried the git-cvsimport script and found that in the
resulting git tree, on a branch-off-a-branch, files were missing from
the branch if they had been added to the branch's immediate parent. I
really wanted this to work better, so I looked into it and learned
that CVSps was incorrectly reporting that the "ancestor" branch was
HEAD for a branch-off-a-branch.
Since CVSps wasn't reporting the correct branch relationships, I
couldn't blame git-cvsimport. Trying to improve CVSps to get better
parent-detection proved much harder than I expected. I had to use a
completely different algorithm that loops over all files instead of
just the files in the patchsets that are on the child branch.
Now that I've done that, [David, please see attached patch] CVSps does
report more accurate branch parents. But, testing git-cvsimport with
the corrected CVSps output shows that it *still* doesn't produce the
right tree. In fact, it's WORSE! In the simple test script, not only
is file 'b' not on the 'dev' branch, but the 'stable' branch and the
file 'b' is completely MISSING form the git tree!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Mon, 12 Jun 2006, Robin Rosenberg (list subscriber) wrote:
>
> The script creates a small CVS repo with three commits on two
files. What's
> odd is that cvsps lists revision 1.2 of the file v.txt *before*
version 1.1,
> like this:
What seems to happen is that the two changes to v.txt are broken up into
separate changesets (because they touch the same file), but then the
_first_ one is merged with the changeset that contains the k.txt change
(because they have the same log message, and roughly the same date).
Then, because it has the earlier date, that combined changeset ends up
being considered to be before the later one, even though it contains a
version of v.txt that is newer.
Does this patch fix it for you (untested - it could result in tons of
other trouble, but it basically just says that time ordering is less
important than member revision ordering).
I don't think this is strictly correct, btw. I suspect you can still get
into strange situations where the changeset merging has resulted in one
file ordering one way, and another file ordering the other way.
I really don't think cvsps is really very good about this.
|
| |
|
|
|
|
|
|
| |
- tags built with 'make tags'
- tags removed with 'make clean'
- tags ignored by git
|
| |
|
|
|
|
| |
Signed-off-by: Johan Herland <johan@herland.net>
|
|
|
|
| |
This was some testing code added by David, which was kept by error
|
|
|
|
|
|
|
|
|
|
|
| |
This destructive parsing is bad, as shown by the fact that its mere
use in the code makes tuning the parser a hell. So let's drop it
before going further.
This also removes the need to memcpy the buffer, since we won't be
modifying it.
Note: there are also loads of strsep() calls in cvs_direct.c to get rid of.
|
|
|
|
|
| |
This allows to set CGLAGS on command-line without interfering with
preprocessor options
|
| |
|
|
|
|
|
|
|
| |
On anoncvs.opensource.apple.com (Apple's anonymous CVS server for
WebKit), some very long log entries were included in CVS. I got tired
of cvsps-2.1 truncating them, so I made the 'logbuff' buffer be
dynamically allocated.
|
|
|
|
|
|
|
|
|
|
|
|
| |
On anoncvs.opensource.apple.com (where access to the now-open-source
WebKit is provided), some files have a branch named "TRUNK" with a
revision of "1". Yes, I know that's not supposed to be possible, but
they guys at Apple found a way to do it. Apparently, using "TRUNK"
works in places that "HEAD" does not for some cvs commands.
The current version (2.1) will die when it hits the "TRUNK: 1"
branch/revision. The attached patch will ignore any branch or tag named
"TRUNK".
|
|
|
|
| |
(cherry picked from 2e3fed14f81ff18fc115f123c331f986908f1c3f commit)
|
|
|
|
|
|
| |
This gets rid of the neverending output polution cvs sends to stderr,
which is mostly useless and has a strong potential to hide real problem
reports
|
|
|
|
|
|
|
|
|
|
| |
Parse 'Working file' lines from cvs log output. This alow to work with
cvs repos
with modules. To enable this you need to add --no-rlog to cvsps command
line args.
This patch was made to import such repo into git. But git-cvsimport
can't load such data.
|
|
|
|
|
|
| |
INADDR_NONE is not equal to -1 on 64-bit systems.
Signed-off-by: Pavel Roskin <proski@gnu.org>
|
|
|
|
|
|
| |
__linux__ is defined automatically, LINUX is not.
Signed-off-by: Pavel Roskin <proski@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
| |
cvsps fails against a FreeBSD CVS pserver. By fails I mean it fails back
to using the 'log' command rather the 'rlog' which would give me stable
patchsets.
cvsps requires the remote pserver to be 1.11.1 or later for rlog to
work and, indeed, the other side is a later version. Unfortunately
FreeBSD have, misguidedly, modified the version string such that cvsps
misdetects things.
|
|
|
|
|
| |
Not having any ancestor at all means that any valid ancestor (even of
"depth 0") is fine.
|
|
|
|
| |
Take the file revision into account.
|
|
|
|
| |
Yeah, it should be dynamic. I'm lazy.
|
|
|