[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [proposal] switch our repository from Subversion to Git



2008/3/8, Stefano Zacchiroli <zack@debian.org>:
> On Fri, Mar 07, 2008 at 05:14:13PM +0000, Sylvain Le Gall wrote:
>
> > > Cons
>  > > ----
>
> > I am really not sure we can keep our revision history from Subversion. I
>  > really would like to keep it as far as possible (i.e. history of our
>  > subversion repository).
>
>
> Yes, it is definitely possible, it is just a matter of understanding how
>  hard it is. The straightforward way to convert our repository to a git
>  one is to use git-svnimport (well-known contrib script available in
>  git-core).

git-svnimport is now deprecated, and git-svn is the preferred way to
import svn into git nowadays.

>  Using that however you end up having the same space problems we have
>  right now, since a single "git clone" will then have to checkout all the
>  old tarballs. Not nice.

Also, I believe that the "one working directories all ocaml package"
is not the best way to do it: git don't work with partial checkout, so
it is difficult to work on only one project if you don't want checkout
every thing.

>  Starting from that I can see 2 solutions. The first is to hack our
>  conversion script which when a tarball has to be checked-in, instead of
>  doing it blindly, it rather invokes git-import-orig with pristine-tar
>  support.
>
>  The second is to do the blind conversion and after that use the git
>  mechanism to completely remove from a repository unwanted pieces of
>  code (which has been designed to completely erase
>  copyrighted/illegal bits which can have slipped in in the past),
>  applying it to old tarballs.
>  This solution has the drawback that
>  you won't have old tarballs in the repository, but this is not
>  strictly a problem, as all uploaded packages have their tarballs
>  available from snapshot.debian.net. Sure we want the current and
>  future tarballs to be checked in, but we can do that using "svn
>  checkout" and a round of git-import-orig.

It is probably possible, with git-filter-branch, to remove the tarball
as it is now, and to reimport it with git-import-orig. It is probably
simpler thant hacking the conversion script, and can do the same work.


Reply to: