Re: [PROBLEM] cvs2svn for git
Guilherme Andrade de Magalhães <[email protected]> Wed, 16 Sep 2015 14:44:59 -0300
| Newsgroups | gmane.comp.version-control.subversion.cvs2svn.user |
|---|---|
| Message-ID | <CAN1ZsXR2EOCdibBmx4_DhMA+VPwXx5FzGCCXWrOP4KgiKYZYKg@mail.gmail.com> |
------=_Part_15759_767266619.1442437996028
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Thanks for your reply.
I installed the CVSNT again with other distribution, now I don't have this
problem anymore.
But now I'm facing a different problem, and I found a thread that you
explain about it:
Thread
<http://dev.cvs2svn.tigris.narkive.com/hGmVJliQ/cvs2git-migration-problem-o=
n-windows-cmd>
My CVS is creating this stderr output and the cvs2svn is not working for
this reason.
I tried to look at where the installation is to see if I could change this
behavior of the CVS, but I have no idea how I can change that. Do you have
any idea?
I also tried to use a external blob generator, but I got an error with
invalid argument on Python, I put this way in the options file:
ctx.revision_collector =3D ExternalBlobGenerator('cvs2svn-tmp/git-blob.dat'=
)
I don't know what I need to pass in its constructor.
Can you give me some idea?
Many thanks.
<http://www.octo.com/>
Guilherme *Magalhaes*
*OCTO Technology Brasil*
Consultant
.....................................................
Avenida Faria Lima, 1811, CJ 216
S=C3=A3o Paulo - Brasil
www.octo.com/pt-br
blog.octo.com/pt-br
On Wed, Sep 16, 2015 at 5:15 AM, Michael Haggerty <[email protected]>
wrote:
> On 09/14/2015 05:33 PM, Guilherme Andrade de Magalh=C3=A3es wrote:
> > [...]
> > I am doing the migration of the SCM tool, from CVS to Git, and there ar=
e
> > many projects that is under this migration, I'm using cvs2git scripts t=
o
> > make this migration, as I can see it's the perfect solution to my
> problem.
> >
> > The problem that I'm facing is about CVS, I don't have many skills with
> > this tool, and when I try to run the command for the script:
> >
> > python dev/myproject -- options=3Dcvs2svn.options
> >
> > It runs, but when it tries to run this command:
> >
> > cvs -Q -R -f -d dev/myproject co -r1.8.2.1 -p -kb
> > dev/projecttobemigratted/.classpath
> >
> > Give this error:
> >
> > ERROR: The command 'cvs -Q -R -f -d dev/myproject co -r1.8.2.1 -p -kb
> > dev/projecttobemigratted/.classpath' failed with exit status=3D1 and th=
e
> > following output:
> > cvs [checkout aborted]: Couldn't open default trigger library: No such
> > file or directory
>
> Was your repository created using CVSNT or standard CVS? If your
> repository was created with standard CVS, then you should be able to run
> the conversion using any standard version of CVS (i.e., not CVSNT). If
> your repository was created using CVSNT, read on.
>
> CVSNT and CVS are not quite the same thing:
>
> * CVS is an open-source project, developed in the open, and free to
> everybody.
>
> * CVSNT is a fork of CVS that is enhanced by a greedy company that is
> doing everything it can to earn money from it: developing it in secret,
> making it almost impossible for the community to use the full software
> for free even though a large part of it was developed by volunteers, and
> doing the absolute bare minimum required to comply with the letter of
> the GPL license (or maybe not even that) without adhering to its spirit.
>
> CVS and CVSNT are almost, but not quite, compatible in their data
> formats. See [1] for how to use cvs2git if you have a CVSNT repository.
> Please note that you need to use the "CVSNT" version of cvs to extract
> the data from your repo.
>
> It's hard to tell, but it appears that the greedy company has stripped
> the ":local:" protocol out of CVSNT, so current versions cannot read
> from a local repository any more. This is a very nasty development. My
> guess is that they made this change for two reasons: (1) to force you to
> use their server product, and (2) to making it harder for you to get
> your data out of their proprietary software.
>
> So if the information above is true, then you have to work around the
> obstacles that the greedy company has put in your way. I can think of
> the following possibilities:
>
> 1. Get an older version of CVSNT (one that still supports the ":local:"
> protocol) and use that with cvs2git to extract your data. I think
> this would be by far the easiest approach.
>
> 2. Use a tool to extract data from a remote CVS repository into a
> local CVS repository, then convert the copy. People have mentioned
> "cvsclone" and "cvssuck" as tools that can possibly do this. This
> will only work if these tools work with a remote *CVSNT* repository
> and produce a local *CVS* repository; I have no idea if that is
> the case.
>
> 3. Use a different conversion tool than "cvs2git" that can use a remote
> CVSNT repository as its source. I don't know if there is such a
> thing.
>
> 4. Change (or find somebody who can change) cvs2git to work with CVSNT
> repositories directly. I suppose this shouldn't be too hard. The
> main problem is that the CVSNT file format is poorly documented.
>
> 5. Change (or find somebody who can change) cvs2git to use the local
> CVSNT repository for reading the metadata and history (it can
> mostly do that already), but to use a remote cvs command to read the
> file contents. I suppose this also shouldn't be too hard, but for
> testing you would have to find somebody with a copy of CVSNT.
>
> > [...]
> > I need to remember that I'm running the script on a windows machine and
> > I don't know if this can be a problem, Should I run on the server
> > machine that is a Linux based OS?
>
> Linux support is better for most of these tools, but modern Linux
> distributions don't support CVSNT anymore because of the problems listed
> above. It might be possible to get an old version of CVSNT running under
> Linux, maybe by compiling from source.
>
> I'm sorry the answer is not easier. This is an unfortunate consequence
> of trusting your valuable data to proprietary software.
>
> Please let us know how it works out.
>
> Michael
>
> [1] http://cvs2svn.tigris.org/faq.html#cvsnt
>
> --
> Michael Haggerty
> [email protected]
>
>
------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=3D1670&dsMessageId=3D=
3137998
To unsubscribe from this discussion, e-mail: [[email protected]=
ris.org].
------=_Part_15759_767266619.1442437996028
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>Thanks for your reply.</div><div><br></div>I installe=
d the CVSNT again with other distribution, now I don't have this proble=
m anymore.<div><br></div><div>But now I'm facing a different problem, a=
nd I found a thread that you explain about it:</div><div><br></div><div><a =
href=3D"http://dev.cvs2svn.tigris.narkive.com/hGmVJliQ/cvs2git-migration-pr=
oblem-on-windows-cmd">Thread</a></div><div><br></div><div>My CVS is creatin=
g this stderr output and the cvs2svn is not working for this reason.</div><=
div><br></div><div>I tried to look at where the installation is to see if I=
could change this behavior of the CVS, but I have no idea how I can change=
that. Do you have any idea?</div><div><br></div><div>I also tried to use a=
external blob generator, but I got an error with invalid argument on Pytho=
n, I put this way in the options file:</div><div><br></div><div>ctx.revisio=
n_collector =3D ExternalBlobGenerator('cvs2svn-tmp/git-blob.dat')</=
div><div><br></div><div>I don't know what I need to pass in its constru=
ctor.</div><div><br></div><div>Can you give me some idea?</div><div><br></d=
iv><div>Many thanks.</div><div class=3D"gmail_extra"><br clear=3D"all"><div=
><div class=3D"gmail_signature"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><a href=3D"http://www.octo.com/"=
style=3D"color:rgb(17,85,204);font-size:12.8000001907349px" target=3D"_bla=
nk"><img src=3D"https://docs.google.com/uc?export=3Ddownload&id=3D0B-Yf=
NLaBff_yOFRZZzB3R2hHR1U&revid=3D0B-YfNLaBff_ybHJjNVl2YmcvY2RqbnAzR2hxZX=
ZQcnd3dmVBPQ"></a><br><div><div style=3D"font-size:12.8000001907349px">Guil=
herme=C2=A0<b>Magalhaes</b></div><div style=3D"font-size:12.8000001907349px=
"><b>OCTO Technology Brasil</b></div><div style=3D"font-size:12.80000019073=
49px">Consultant</div><div style=3D"font-size:12.8000001907349px">.........=
............................................</div><span style=3D"font-size:=
12.8000001907349px">Avenida Faria Lima, 1811, CJ 216</span><div style=3D"fo=
nt-size:12.8000001907349px">S=C3=A3o Paulo - Brasil</div><div style=3D"font=
-size:12.8000001907349px"><a href=3D"http://www.octo.com/pt-br" style=3D"co=
lor:rgb(17,85,204)" target=3D"_blank">www.octo.com/pt-br</a></div><div styl=
e=3D"font-size:12.8000001907349px"><a href=3D"http://blog.octo.com/pt-br" s=
tyle=3D"color:rgb(17,85,204)" target=3D"_blank">blog.octo.com/pt-br</a></di=
v></div></div></div></div></div></div></div></div>
<br><div class=3D"gmail_quote">On Wed, Sep 16, 2015 at 5:15 AM, Michael Hag=
gerty <span dir=3D"ltr"><<a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a>></span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">On 09/14/2015 05:33 PM, Guilherme Andrade de Magalh=C3=A3es w=
rote:<br>
> [...]<br>
<span class=3D"">> I am doing the migration of the SCM tool, from CVS to=
Git, and there are<br>
> many projects that is under this migration, I'm using cvs2git scri=
pts to<br>
> make this migration, as I can see it's the perfect solution to my =
problem.<br>
><br>
> The problem that I'm facing is about CVS, I don't have many sk=
ills with<br>
> this tool, and when I try to run the command for the script:<br>
><br>
> python dev/myproject -- options=3Dcvs2svn.options<br>
><br>
> It runs, but when it tries to run this command:<br>
><br>
> cvs -Q -R -f -d dev/myproject co -r1.8.2.1 -p -kb<br>
> dev/projecttobemigratted/.classpath<br>
><br>
> Give this error:<br>
><br>
> ERROR: The command 'cvs -Q -R -f -d dev/myproject co -r1.8.2.1 -p =
-kb<br>
> dev/projecttobemigratted/.classpath' failed with exit status=3D1 a=
nd the<br>
> following output:<br>
> cvs [checkout aborted]: Couldn't open default trigger library: No =
such<br>
> file or directory<br>
<br>
</span>Was your repository created using CVSNT or standard CVS? If your<br>
repository was created with standard CVS, then you should be able to run<br=
>
the conversion using any standard version of CVS (i.e., not CVSNT). If<br>
your repository was created using CVSNT, read on.<br>
<br>
CVSNT and CVS are not quite the same thing:<br>
<br>
* CVS is an open-source project, developed in the open, and free to<br>
everybody.<br>
<br>
* CVSNT is a fork of CVS that is enhanced by a greedy company that is<br>
doing everything it can to earn money from it: developing it in secret,<br>
making it almost impossible for the community to use the full software<br>
for free even though a large part of it was developed by volunteers, and<br=
>
doing the absolute bare minimum required to comply with the letter of<br>
the GPL license (or maybe not even that) without adhering to its spirit.<br=
>
<br>
CVS and CVSNT are almost, but not quite, compatible in their data<br>
formats. See [1] for how to use cvs2git if you have a CVSNT repository.<br>
Please note that you need to use the "CVSNT" version of cvs to ex=
tract<br>
the data from your repo.<br>
<br>
It's hard to tell, but it appears that the greedy company has stripped<=
br>
the ":local:" protocol out of CVSNT, so current versions cannot r=
ead<br>
from a local repository any more. This is a very nasty development. My<br>
guess is that they made this change for two reasons: (1) to force you to<br=
>
use their server product, and (2) to making it harder for you to get<br>
your data out of their proprietary software.<br>
<br>
So if the information above is true, then you have to work around the<br>
obstacles that the greedy company has put in your way. I can think of<br>
the following possibilities:<br>
<br>
1. Get an older version of CVSNT (one that still supports the ":local:=
"<br>
=C2=A0 =C2=A0protocol) and use that with cvs2git to extract your data. I th=
ink<br>
=C2=A0 =C2=A0this would be by far the easiest approach.<br>
<br>
2. Use a tool to extract data from a remote CVS repository into a<br>
=C2=A0 =C2=A0local CVS repository, then convert the copy. People have menti=
oned<br>
=C2=A0 =C2=A0"cvsclone" and "cvssuck" as tools that can=
possibly do this. This<br>
=C2=A0 =C2=A0will only work if these tools work with a remote *CVSNT* repos=
itory<br>
=C2=A0 =C2=A0and produce a local *CVS* repository; I have no idea if that i=
s<br>
=C2=A0 =C2=A0the case.<br>
<br>
3. Use a different conversion tool than "cvs2git" that can use a =
remote<br>
=C2=A0 =C2=A0CVSNT repository as its source. I don't know if there is s=
uch a<br>
=C2=A0 =C2=A0thing.<br>
<br>
4. Change (or find somebody who can change) cvs2git to work with CVSNT<br>
=C2=A0 =C2=A0repositories directly. I suppose this shouldn't be too har=
d. The<br>
=C2=A0 =C2=A0main problem is that the CVSNT file format is poorly documente=
d.<br>
<br>
5. Change (or find somebody who can change) cvs2git to use the local<br>
=C2=A0 =C2=A0CVSNT repository for reading the metadata and history (it can<=
br>
=C2=A0 =C2=A0mostly do that already), but to use a remote cvs command to re=
ad the<br>
=C2=A0 =C2=A0file contents. I suppose this also shouldn't be too hard, =
but for<br>
=C2=A0 =C2=A0testing you would have to find somebody with a copy of CVSNT.<=
br>
<br>
> [...]<br>
<span class=3D"">> I need to remember that I'm running the script on=
a windows machine and<br>
> I don't know if this can be a problem, Should I run on the server<=
br>
> machine that is a Linux based OS?<br>
<br>
</span>Linux support is better for most of these tools, but modern Linux<br=
>
distributions don't support CVSNT anymore because of the problems liste=
d<br>
above. It might be possible to get an old version of CVSNT running under<br=
>
Linux, maybe by compiling from source.<br>
<br>
I'm sorry the answer is not easier. This is an unfortunate consequence<=
br>
of trusting your valuable data to proprietary software.<br>
<br>
Please let us know how it works out.<br>
<br>
Michael<br>
<br>
[1] <a href=3D"http://cvs2svn.tigris.org/faq.html#cvsnt" rel=3D"noreferrer"=
target=3D"_blank">http://cvs2svn.tigris.org/faq.html#cvsnt</a><br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
--<br>
Michael Haggerty<br>
<a href=3D"mailto:[email protected]">[email protected]</a><br>
<br>
</font></span></blockquote></div><br></div></div>
------=_Part_15759_767266619.1442437996028--