summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Do not ignore subdirectories on CVSNT serversto-checkMichal Sojka2008-03-311-0/+8
| | | | | | | | | | | | | | | | 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>
* A basic test suite for cvsps.Timothy Allen2008-03-315-0/+130
| | | | | | | | | | | | | 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.
* Allow the user to specify where the cache file should go.Timothy Allen2008-03-313-9/+34
|
* handle running cvsps in root of checkoutAndy Isaacson2008-03-311-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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
* Fix buffer overflow in cvsps if a log message line is longer than BUFSIZGary Capell2008-03-311-1/+2
|
* Fix parsing of pserver URL in open_ctx_pserver()Johan Herland2008-03-311-20/+20
|
* Report correct ancestor branch for file added on branchChris Shoemaker2008-03-312-4/+240
| | | | | | | | | | | | | | | | | | | | | | 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!
* Make time ordering less important than revision orderingLinus Torvalds2008-03-311-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add missing .TPHEADmasterEmanuele Giaquinta2008-03-311-0/+1
|
* Add support for a tags file to the build system.Timothy Allen2008-03-312-1/+5
| | | | | | - tags built with 'make tags' - tags removed with 'make clean' - tags ignored by git
* Use offsetof macro instead of unportable pointer arithmetic.Eric Hopper2008-03-311-1/+2
|
* Add .gitignore for ignoring build output (*.o and cvsps).Johan Herland2007-05-111-0/+2
| | | | Signed-off-by: Johan Herland <johan@herland.net>
* Get rid of useless "branch_add already set" warningsYann Dirson2006-06-271-4/+3
| | | | This was some testing code added by David, which was kept by error
* Get rid of strsep in cache.c, avoid useless copytestYann Dirson2006-06-171-18/+20
| | | | | | | | | | | 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.
* Separate CPPFLAGS from CFLAGSYann Dirson2006-06-171-2/+2
| | | | | This allows to set CGLAGS on command-line without interfering with preprocessor options
* Diff opts typo fix.Roberto C. Sanchez2006-06-161-1/+1
|
* Dynamically allocate the log buffer to prevent warning messagesDavid D. Kilzer2006-06-162-18/+44
| | | | | | | 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.
* cvsps: should ignore TRUNK branch if it exists in logDavid D. Kilzer2006-06-161-0/+5
| | | | | | | | | | | | 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".
* Dependency handlingYann Dirson2006-06-151-0/+27
| | | | (cherry picked from 2e3fed14f81ff18fc115f123c331f986908f1c3f commit)
* Call cvs with -q flag when fetching the logYann Dirson2006-06-151-2/+2
| | | | | | 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
* Handle cvs repo with modulesAlexander Litvinov2006-06-151-11/+51
| | | | | | | | | | 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.
* Use INADDR_NONE instead of -1 to check inet_addr() resultPavel Roskin2006-06-131-1/+1
| | | | | | INADDR_NONE is not equal to -1 on 64-bit systems. Signed-off-by: Pavel Roskin <proski@gnu.org>
* Use __linux__ conditional, not LINUX.Pavel Roskin2006-06-131-2/+2
| | | | | | __linux__ is defined automatically, LINUX is not. Signed-off-by: Pavel Roskin <proski@gnu.org>
* FreeBSD isn't evil - just misguidedAnand Kumria2006-06-131-2/+10
| | | | | | | | | | | 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.
* Fix branch ancestor calculationLinus Torvalds2006-06-101-1/+1
| | | | | Not having any ancestor at all means that any valid ancestor (even of "depth 0") is fine.
* Improve handling of file collisions in the same patchsetLinus Torvalds2006-06-101-2/+25
| | | | Take the file revision into account.
* Increase log-length limit to 64kBLinus Torvalds2006-06-101-1/+1
| | | | Yeah, it should be dynamic. I'm lazy.
* cvsps-2.1 tarball importupstreamYann DIRSON2006-04-1135-0/+7700