Commit Graph

40 Commits

Author SHA1 Message Date
Martin Langhoff
049f28c392 [PATCH] git-cvsimport - remove hardcoded reference to origin
... in the newly introduced merge detection code.

Signed-off-by: Martin Langhoff <martin.langhoff@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17 14:53:39 -07:00
Martin Langhoff
db4b65821e [PATCH] Add merge detection to git-cvsimport
Added -m and -M flags for git-cvsimport to detect merge commits in cvs.
While this trusts the commit message, in repositories where merge commits
indicate 'merged from FOOBRANCH' the import works surprisingly well.

Even if some merges from CVS are bogus or incomplete, the resulting
branches are in better state to go forward (and merge) than without any
merge detection.

Signed-off-by: Martin Langhoff <martin.langhoff@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17 14:53:39 -07:00
Johannes Schindelin
fbfd60d651 [PATCH] Also handle CVS branches with a '/' in their name
I track a CVS project which has a branch with a '/' in the branch name.
Since git wants the branch name to be a file name at the same time,
substitute that character to a '-' by default (override with "-s <subst>").
This should work well, despite the fact that a division and a difference
are completely different :-)

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-17 12:13:12 -07:00
Martin Langhoff
abe0582207 [PATCH] Add -k kill keyword expansion option to git-cvsimport - revised
Early versions of git-cvsimport defaulted to using preexisting keyword
expansion settings. This change preserves compatibility with existing cvs
imports and allows new repository migrations to kill keyword expansion.

After exploration of the different -k modes in the cvs protocol, we use -kk
which kills keyword expansion wherever possible. Against the protocol
spec, -ko and -kb will sometimes expand keywords.

Should improve our chances of detecting merges and reduce imported
repository size.

Signed-off: Martin Langhoff <martin.langhoff@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16 12:09:33 -07:00
iso-8859-1?Q?David_K=E5gedal
b092133103 [PATCH] Fixed two bugs in git-cvsimport-script.
The git-cvsimport-script had a copule of small bugs that prevented me
from importing a big CVS repository.

The first was that it didn't handle removed files with a multi-digit
primary revision number.

The second was that it was asking the CVS server for "F" messages,
although they were not handled.

I also updated the documentation for that script to correspond to
actual flags.

Signed-off-by: David K?5gedal <davidk@lysator.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16 12:09:33 -07:00
Matthias Urlichs
8b8840e046 [PATCH] cvsgit fixes: spaces in filenames and CVS server dialog woes
Problems found while importing dasher's CVS:

* Allow spaces in filenames.
* cvsps may create unnamed branches with revisions that don't really
  exist, which causes the CVS server to return something we haven't
  hitherto expected.
* Report deleted files when being verbose.
* Also, report the commit date.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-08-16 12:09:33 -07:00
Sven Verdoolaege
d6d8dac032 [PATCH] git-cvsimport-script: parse multidigit revisions.
Previously, git-cvsimport-script would fail
on revisions with more than one digit.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-12 15:37:25 -07:00
Sven Verdoolaege
c1c774e796 [PATCH] git-cvsimport-script: add "import only" option
git-cvsimport-script: add "import only" option which tells the script
not to perform a checkout after importing.

This ensures that the working directory and cache remain untouched and
will not create them if they do not exist.

Acked-by: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-11 10:26:07 -07:00
Bryan Larsen
7672db20c2 [PATCH] Expose object ID computation functions.
This patch makes the first half of write_sha1_file() and
index_fd() externally visible, to allow callers to compute the
object ID without actually storing it in the object database.

[JC demangled the whitespaces himself because he liked the patch
 so much, and reworked the interface to index_fd() slightly,
 taking suggestion from Linus and of his own.]

Signed-off-by: Bryan Larsen <bryan.larsen@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-08 17:07:37 -07:00
Sven Verdoolaege
c619ad510b [PATCH] Fix fd leak in git-cvsimport-script
Remember to close temporary file

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-06 08:47:08 -07:00
Matthias Urlichs
f13bbe7f56 Merge with http://www.liacs.nl/~sverdool/git.git#cvs2git 2005-07-05 14:23:36 +02:00
Matthias Urlichs
a9174a14fc cvsimport: getopt accepted a -q option (undocumented and unused).
Removed.
2005-07-05 14:22:53 +02:00
Sven Verdoolaege
210569f9ae git-cvsimport-script: move working directory forward
If HEAD happened to point to a cvs branch, move the
working directory forward to the tip of the branch.
Additionally, if master and "origin" are equal,
move master forward to new origin first.
2005-07-05 13:19:59 +02:00
Sven Verdoolaege
fc6e714c83 git-cvsimport-script: remove unused variable 2005-07-04 23:18:35 +02:00
Sven Verdoolaege
1750113206 git-cvsimport-script: more error handling 2005-07-04 17:36:25 +02:00
Sven Verdoolaege
28537171e7 git-cvsimport-script: provide direct support for cvsps -z option 2005-07-04 17:10:06 +02:00
Sven Verdoolaege
6e7e37b0bf git-cvsimport-script: update cvsps cache instead of rebuilding it
Updating the cache is sufficient for most purposes.
If users really want to rebuild the cache, they can specify
the option themselves.
2005-07-04 15:35:30 +02:00
Sven Verdoolaege
46e63efc07 git-cvsimport-script: fix branch switching
Previous patch broke branch switching.
2005-07-04 15:28:36 +02:00
Sven Verdoolaege
79ee456cf2 git-cvsimport-script: use private index. 2005-07-04 13:36:59 +02:00
Sven Verdoolaege
2eb6d82eaa git-cvsimport-script: leave working directory alone. 2005-07-04 00:43:26 +02:00
Sven Verdoolaege
866d13108e git-cvsimport-script: typo head -> heads 2005-07-03 23:40:48 +02:00
Matthias Urlichs
9da07f3493 cvsimport: Missing tests for verbosity flag. 2005-07-03 19:03:30 +02:00
Sven Verdoolaege
34155390a5 Support :ext: access method. 2005-07-03 13:02:06 +02:00
Sven Verdoolaege
8d0ea31175 Honour CVS_SERVER. 2005-07-03 12:26:51 +02:00
Sven Verdoolaege
f9714a4a0c Make specification of CVS module to convert optional.
If we're inside a checked out CVS repository, there is
no need to explicitly specify the module as it is
available in CVS/Repository.
Also read CVS/Root if it's available and -d is not specified.
Finally, explicitly pass root to cvsps as CVS/Root takes
precedence over CVSROOT.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
2005-07-03 11:40:44 +02:00
Matthias Urlichs
2be4fcc345 cvsimport: Added option '-p': pass options to cvsps
Added option '-x' to cvsps call
2005-06-30 22:54:01 +02:00
Matthias Urlichs
4c24e089a3 cvsimport: Exit if an existing repository doesn't have the right branch. 2005-06-30 22:10:32 +02:00
Matthias Urlichs
e371046b64 cvs import: Strip whitespace at the end of the log entry
for compatibility with old cvs2git.
2005-06-30 22:09:42 +02:00
Sven Verdoolaege
0fa2824f35 cvsimport: perform string comparison on "HEAD" 2005-06-30 17:23:22 +02:00
Matthias Urlichs
dbc1aeace6 git-cvsimport-script: Removed redundant @old and @new clear. 2005-06-30 12:28:31 +02:00
Matthias Urlichs
4f7c0caa8f git-cvsimport-script: Remove setting Sticky; it may cause problems 2005-06-30 12:19:48 +02:00
Matthias Urlichs
4abdecbf85 cvs import: Call git-update-cache multiple times
instead of with a too-long argument list.
2005-06-30 11:55:57 +02:00
Matthias Urlichs
465416694a Rollbak to the original branch after importing 2005-06-28 21:08:15 +02:00
Matthias Urlichs
f65ae603db Local cvsimport fixups 2005-06-28 19:58:40 +02:00
Matthias Urlichs
2a3e1a85b5 Fix remote CVS import. 2005-06-28 19:49:19 +02:00
Matthias Urlichs
a57a9493df Added Perl git-cvsimport-script 2005-06-28 16:48:40 +02:00
Tommy M. McGuire
9718a00b90 [PATCH] git cvsimport fuzz argument
Add "-z fuzz" argument, passed to cvsps, and clean up argument
processing.  Also, use "cvsps --cvs-direct", which is is somewhat
faster.

Give the user the option of specifying the timestamp fuzz passed to
cvsps.  Looking at the other arguments to it, I can't see anything else
that would be sane to play with.  Also, use --cvs-direct, which speeds
up cvsps for remote repositories and doesn't seem to do anything bad to
local repositories.

Signed-off-by: Tommy McGuire <mcguire@crsr.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-12 20:48:18 -07:00
Tommy M. McGuire
861cb6f02c [PATCH] git cvsimport sanity checking
This patch adds some sanity checking to git-cvsimport-script,
specifically forcing the use of cvsps -x (to get the latest information
from the repository, rather than whatever is in the cache) and aborting
early if cvsps does not produce any output.

I debated removing the $MODULE directory following an abort, but I
eventually decided leaving stuff behind would make debugging easier.  On
the other hand, this patch should help with the "cvsimport left me with
an empty repository" complaints.

Call cvsps with the -x flag, to get the current state of the repository,
and abort the cvs import early if cvsps does not produce any output.

Signed-off-by: Tommy McGuire <mcguire@crsr.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-12 20:48:18 -07:00
Tommy M. McGuire
667628d97a [PATCH] cvsimport: allow remote CVS repos
Remove unneeded sanity tests.  Remote repositories do, indeed, just
work.

Signed-off-by: Tommy McGuire <mcguire@crsr.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-12 20:48:18 -07:00
Linus Torvalds
d4f8b390a4 Add CVS import scripts and programs
This gets the "cvs2git" program from the old git-tools
archive, and adds a nice script around it that makes it
much easier to use.

With this, you should be able to import a CVS archive
using just a simple

	git cvsimport <cvsroot> <module>

and you're done. At least it worked for my one single test.

NOTE!! This may need tweaking. It currently expects (and
verifies) that cvsps version 2.1 is installed, but you
can't actually set any of the cvsps parameters, like the
time fuzz.
2005-06-07 15:11:28 -07:00