# tracking remotes with Git

6 messages from 2007-11-09 to 2007-11-14. Participants: Ivan Shmakov, Michael Poole, Robin Rosenberg.
Thread: https://gitlist.dev/t/10762

## Ivan Shmakov, 2007-11-09 12:44

Subject: tracking remotes with Git
Message-ID: <b1e3a35f0711090444g3c31e862g4ef4ef8139927840@mail.gmail.com>
URL: https://gitlist.dev/e/b1e3a35f0711090444g3c31e862g4ef4ef8139927840%40mail.gmail.com

```
        I'm using Git (1.5.3.5 debian 1) for about a day or so, and I'm
        quite impressed that it allows tracking remote repositories
        (I've tried CVS and SVN) so easily with `git-cvsimport' and
        `git-svn'.  However, I've ran into a couple of problems with
        them:

        * it looks like `git-cvsimport' uses its own CVS protocol
          implementation which doesn't support compression; I've tried
          to clone a repository of a project hosted in CVS since circa
          1998 and it 20 MiB or so to obtain revisions until 2000 or so;
          any ways to minimize traffic?

        * how many revisions will `git-svn fetch' obtain from the SVN
          repository? I had to run it for several times to get the full
          history; I've tried to use (undocumented) `--fetch-all'
          option, but it appears to help (may be but for a little.)

        BTW, does http://.../git.git/ mean a ``bare repository (i. e., a
        would be /git/.git/) for Git''?

PS.  I wonder, if this mailing list accepts mail from unsubscribed
        `From:'s?

```

## Michael Poole, 2007-11-09 16:37

Subject: Re: tracking remotes with Git
Message-ID: <87ode31iki.fsf@graviton.dyn.troilus.org>
URL: https://gitlist.dev/e/87ode31iki.fsf%40graviton.dyn.troilus.org
In-Reply-To: <b1e3a35f0711090444g3c31e862g4ef4ef8139927840@mail.gmail.com>

```
Ivan Shmakov writes:

>         I'm using Git (1.5.3.5 debian 1) for about a day or so, and I'm
>         quite impressed that it allows tracking remote repositories
>         (I've tried CVS and SVN) so easily with `git-cvsimport' and
>         `git-svn'.  However, I've ran into a couple of problems with
>         them:
>
>         * it looks like `git-cvsimport' uses its own CVS protocol
>           implementation which doesn't support compression; I've tried
>           to clone a repository of a project hosted in CVS since circa
>           1998 and it 20 MiB or so to obtain revisions until 2000 or so;
>           any ways to minimize traffic?

What I do is arguably a horrible kludge, but it works well: rsync to
mirror the CVS repository to my local drive, and cvsimport from that.
When I was tweaking the import process (command-line options and the
author conversion file), having the local copy helped a lot.

Michael Poole

```

## Ivan Shmakov, 2007-11-09 18:11

Subject: Re: tracking remotes with Git
Message-ID: <m2k5ormgqa.fsf@cherry.siamics.int>
URL: https://gitlist.dev/e/m2k5ormgqa.fsf%40cherry.siamics.int
In-Reply-To: <87ode31iki.fsf@graviton.dyn.troilus.org>

```
>>>>> Michael Poole <mdpoole@troilus.org> writes:

[...]

 >> * it looks like `git-cvsimport' uses its own CVS protocol
 >> implementation which doesn't support compression; I've tried to
 >> clone a repository of a project hosted in CVS since circa 1998 and
 >> it 20 MiB or so to obtain revisions until 2000 or so; any ways to
 >> minimize traffic?

 > What I do is arguably a horrible kludge, but it works well: rsync
 > to mirror the CVS repository to my local drive, and cvsimport from
 > that.  When I was tweaking the import process (command-line options
 > and the author conversion file), having the local copy helped a
 > lot.

	Well, rsync certainly gives CVS the ``disconnected operation''
	ability...  Any chances to get rsync (or scp/sftp, etc.) access
	to the CVS repositories on Savannah?  (I'm not one of the
	developers of the aforementioned project, if that matters.)

```

## Robin Rosenberg, 2007-11-09 20:38

Subject: Re: tracking remotes with Git
Message-ID: <200711092138.56277.robin.rosenberg.lists@dewire.com>
URL: https://gitlist.dev/e/200711092138.56277.robin.rosenberg.lists%40dewire.com
In-Reply-To: <b1e3a35f0711090444g3c31e862g4ef4ef8139927840@mail.gmail.com>

```
fredag 09 november 2007 skrev Ivan Shmakov:
>         I'm using Git (1.5.3.5 debian 1) for about a day or so, and I'm
>         quite impressed that it allows tracking remote repositories
>         (I've tried CVS and SVN) so easily with `git-cvsimport' and
>         `git-svn'.  However, I've ran into a couple of problems with
>         them:
> 
>         * it looks like `git-cvsimport' uses its own CVS protocol
>           implementation which doesn't support compression; I've tried
>           to clone a repository of a project hosted in CVS since circa
>           1998 and it 20 MiB or so to obtain revisions until 2000 or so;
>           any ways to minimize traffic?

You can pass options to cvsps.  My guess is -P "-Z" will do it.

-- robin

```

## Ivan Shmakov, 2007-11-11 04:05

Subject: Re: tracking remotes with Git
Message-ID: <m24pftmnpi.fsf@cherry.siamics.int>
URL: https://gitlist.dev/e/m24pftmnpi.fsf%40cherry.siamics.int
In-Reply-To: <200711092138.56277.robin.rosenberg.lists@dewire.com>

```
>>>>> Robin Rosenberg <robin.rosenberg.lists@dewire.com> writes:

[...]

 >> * it looks like `git-cvsimport' uses its own CVS protocol
 >> implementation which doesn't support compression; I've tried to
 >> clone a repository of a project hosted in CVS since circa 1998 and
 >> it 20 MiB or so to obtain revisions until 2000 or so; any ways to
 >> minimize traffic?

 > You can pass options to cvsps.  My guess is -P "-Z" will do it.

	Well, this helps somewhat.  But still, IIUC, cvsps(1) is used
	only to reconstruct the ``patch sets'', and to fetch the actual
	revisions, `git-cvsimport' contacts the CVS repository directly:

--cut: $ nl -ba git-cvsimport--
...
   182	package CVSconn;
   183	# Basic CVS dialog.
   184	# We're only interested in connecting and downloading, so ...
   185	
... not a word about the compression...
   482	package main;
   483	
   484	my $cvs = CVSconn->new($opt_d, $cvs_tree);
...
   911			print "Fetching $fn   v $rev\n" if $opt_v;
   912			my ($tmpname, $size) = $cvs->file($fn,$rev);
...
   930			unlink($tmpname);
...
--cut: $ nl -ba git-cvsimport--

```

## Ivan Shmakov, 2007-11-14 18:26

Subject: Re: tracking remotes with Git
Message-ID: <m2r6isiszg.fsf@cherry.siamics.int>
URL: https://gitlist.dev/e/m2r6isiszg.fsf%40cherry.siamics.int
In-Reply-To: <b1e3a35f0711090444g3c31e862g4ef4ef8139927840@mail.gmail.com>

```
>>>>> "IS" == Ivan Shmakov <oneingray@gmail.com> writes:

[...]

 IS> * it looks like `git-cvsimport' uses its own CVS protocol
 IS> implementation which doesn't support compression; I've tried to
 IS> clone a repository of a project hosted in CVS since circa 1998 and
 IS> it 20 MiB or so to obtain revisions until 2000 or so; any ways to
 IS> minimize traffic?

	I've switched to tailor instead.  It uses native cvs(1), which
	supports compression.

 IS> * how many revisions will `git-svn fetch' obtain from the SVN
 IS> repository?  I had to run it for several times to get the full
 IS> history; I've tried to use (undocumented) `--fetch-all' option,

	BTW, how about documenting that one?

 IS> but it appears to help (may be but for a little.)

	s/to/not to/.

[...]

```
