--
You received this message because you are subscribed to the Google Groups "HEP Software Foundation Technical Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hep-sf-tech-fo...@googlegroups.com.
To post to this group, send email to hep-sf-t...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hep-sf-tech-forum/73e545aa-6db5-417b-a329-d9198a16c84d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi Graeme,
git-svn makes a remote Subversion repository almost usable as-is.
Although, merging is still much more difficult than a pure Git
environment.
It's been enough for me to coexist more or less happily with Daya Bay's
SVN over its lifetime of about 8 years. This includes everyday
committing as well as some mirroring/merging of external SVN (and CVS)
repositories such as Gaudi.
That said, in the case of ATLAS with its larger code base and longer
experiment lifetime, I can fully see the benefits of switching from
Subversion to a Git on the remote side.
A few ideas. You may already know them. Hopefully some help:
You can fairly easily map each of your PackageX# trees in SVN to an
individual Git repository using git-svn. This can be a one-time
conversion or, with some persistent effort, an ongoing bi-directional
connection.
git-svn can be told to honor the trunk,tags,branches convention. SVN
commits that happen to span packages will appear in each Git repository
but with only the relevant files affected.
I would not recommend making a single Git repository from all of SVN
because Git branches and tags are atomic to the repository and not
directory based like in SVN (actually, SVN doesn't *really* have a
branch/tag mechanism at all as it conflates directory hierarchy with
concepts of branches and tags).
So, the end result is to have many, individual Git repos defined at the
level of your PackageX# sub-directories. You will then need something
else to aggregate an overall suite of packages.
Given what you describe I think git-submodules can be a good fit to
provide this aggregation. You probably know of these already, but they
are implemented as a normal Git repository which manages what can be
thought of as symlinks into one or more "real" Git repositories.
Specifically the submodule is a pointer to a specific commit in a remote
Git repo. If you have used it, SVN's "externals" feature is similar
although git-submodules are far less clunky.
git-submodules would allow you to express your current hierarchy. You'd
use git-svn to extract each Package tree into a git repo and then build
up a submodule hierarchy matching your current directory tree.
--
You received this message because you are subscribed to the Google Groups "HEP Software Foundation Technical Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hep-sf-tech-fo...@googlegroups.com.
To post to this group, send email to hep-sf-t...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hep-sf-tech-forum/CABRH8Ya%3DpGykWBxundPHjO%2BtY_TXm2et4F_NdYRe-bckVQAFAg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hep-sf-tech-forum/56B4D4C6.7070409%40lal.in2p3.fr.
with you having some experience with multiple repos - how does one tackle layout refactoring that involves moving code between directories that may be contained in different repositories? How do you preserve history?
The problem I see is that one falls into the same trap as before with CVS/SVN and package layout - code is structured according to responsibilities of single developers, not functionality. And with moving to multipe git repositories one may make that even worse. As one really carves things into stone instead of now finally being able to fix it.
@David - maybe you could share more about the CMS release integration experience of a single git repo?
Thanks,
Benedikt
________________________________________
From: hep-sf-t...@googlegroups.com [hep-sf-t...@googlegroups.com] on behalf of Michel Jouvin [jou...@lal.in2p3.fr]
Sent: 06 February 2016 10:10
To: brett...@gmail.com; Marco Cattaneo
Cc: hep-sf-t...@googlegroups.com
Subject: Re: (big) single vs. multiple Git repositories
Hi,
Cheers,
Michel
--
You received this message because you are subscribed to the Google Groups "HEP Software Foundation Technical Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hep-sf-tech-fo...@googlegroups.com.
To post to this group, send email to hep-sf-t...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hep-sf-tech-forum/56B5B8A0.5040302%40lal.in2p3.fr.