Re: [PATCH] Documentation: reorganize cvs-migration.txt
From: J. Bruce Fields <hidden>
Date: 2016-08-11 19:46:15
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
Possibly related (same subject, not in this thread)
- 2016-08-11 · Re: [PATCH] Documentation: reorganize cvs-migration.txt · Junio C Hamano <hidden>
- 2016-08-11 · Re: [PATCH] Documentation: reorganize cvs-migration.txt · J. Bruce Fields <hidden>
On Thu, Dec 07, 2006 at 03:28:33PM +0100, Johannes Schindelin wrote:
This is a laudable goal, and the order makes sense (put first that what most people are interested in). A few comments:
Thanks for the comments! Patch, incremental against the previous one, appended.
- just skimming the patch, I found "commiting" (needs another "t"), and "-bare" (needs another "-").
Got it, thanks.
- It might make more sense to "git init-db --shared" and fetch the initial revision into it, rather than clone it and then fix.
I do like the idea of anything that gets rid of the ugly find|xargs chmod. Result included below (untested). Is that what you were thinking of?
You might also want to mention that the "--shared" of -clone is different in meaning from that of -init-db (make just a footnote of it, to avoid intimidating readers).
I'm ignoring this for now. We can add it later if someone says they've run into it. (But honestly it's partly just laziness on my part--no objection if you want to make the patch.) It's too bad about that option-name conflict. It'd be nice just to be able to do the whole thing with one clone commandline. And it'd also make sense to allow clone and init-db to share commandline options where it made sense.
- By far the easiest method to import from cvs is to go to a checked out _CVS_ working directory, and just say "git cvsimport".
Neat, I didn't know about that. Done. I left the "-C" in there on the
assumption they often won't want to drop the result into the CVS working
directory.
Also did some miscellaneous cleanup.
--b.
commit 48ec79a74d0daa134b677ed5458beb873aa06e9a
Author: J. Bruce Fields [off-list ref]
Date: Thu Dec 7 12:38:09 2006 -0500
Documentation: simpler shared repo creation, miscellaneous cleanup
Create the shared repo with init-db --shared, fetch, and manual extraction
of .git directory, instead of using clone --bare.
Suggest running git-cvsimport from cvs working directory, more convenient
thatn providing all the CVS information on the commandline.
Fix a couple mispellings, add a couple manpage links.
Thanks to Johannes Schindelin.
Signed-off-by: J. Bruce Fields [off-list ref]
diff --git a/Documentation/cvs-migration.txt b/Documentation/cvs-migration.txt
index 773fc99..4fab0d7 100644
--- a/Documentation/cvs-migration.txt
+++ b/Documentation/cvs-migration.txt@@ -43,8 +43,8 @@ Pull: refs/heads/master:refs/remotes/origin/master ------------ ================================ -You can update the shared repository with your changes by first commiting -your changes, and then using: +You can update the shared repository with your changes by first committing +your changes, and then using the gitlink:git-push[1] command: ------------------------------------------------ $ git push origin master
@@ -76,11 +76,23 @@ possibly created from scratch or from a tarball (see the link:tutorial.html[tutorial]), or imported from an already existing CVS repository (see the next section). -If your project's working directory is /home/alice/myproject, you can -create a shared repository at /pub/repo.git with: +Assume your existing repo is at /home/alice/myproject. Create a temporary +empty shared repository and fetch your project into it: ------------------------------------------------ -$ git clone -bare /home/alice/myproject /pub/repo.git +$ mkdir /pub/temporary +$ cd /pub/temporary +$ git init-db --shared +$ git fetch /home/alice/myproject master:master +------------------------------------------------ + +Then create a "bare" repository at /pub/repo.git by just moving the contents of +the .git directory there. The temporary repository can then be discarded. + +------------------------------------------------ +$ mv .git /pub/repo.git +$ cd .. +$ rm -rf temporary ------------------------------------------------ Next, give every team member read/write access to this repository. One
@@ -107,15 +119,15 @@ Importing a CVS archive First, install version 2.1 or higher of cvsps from link:http://www.cobite.com/cvsps/[http://www.cobite.com/cvsps/] and make -sure it is in your path. The magic command line is then +sure it is in your path. Then cd to a checked out CVS working directory +of the project you are interested in and run gitlink:git-cvsimport[1]: ------------------------------------------- -$ git cvsimport -v -d <cvsroot> -C <destination> <module> +$ git cvsimport -C <destination> ------------------------------------------- This puts a git archive of the named CVS module in the directory -<destination>, which will be created if necessary. The -v option makes -the conversion script very chatty. +<destination>, which will be created if necessary. The import checks out from CVS every revision of every file. Reportedly