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

Re: [OT] Subversion -> Git on my personal repository



On Fri, Sep 17, 2010 at 09:31:35PM +0300, Damyan Ivanov wrote:
> -=| Peter Pentchev, Fri, Sep 17, 2010 at 06:53:48PM +0300 |=-
> > Apologies in advance for those who feel that this post is not 
> > suitable for this august (or is it September nowadays?) forum; 
> > I know it has got almost nothing to do with Perl in Debian - I'd 
> > just like to shamelessly make use of your collected Subversion & Git 
> > experience :)
> 
> It is not completely out of band as the topic of migrating pkg-perl to 
> Git comes every now and then. I'll seize this oportunity to irradiate 
> debian-perl readers with some Git propaganda :)

Well, I'm glad to help then :P  And thanks a lot for the detailed reply!

> > The main point is, my "trunk" directory contains several 
> > subdirectories for different aspects of the confget development 
> > - confget/ has the real source tree, confget-pkg/ has various 
> > packaging stuff (e.g. confget-pkg/debian/ ought to be 
> > self-explanatory for the crowd here ;), and confget-web/ is 
> > a trivial website.  When I tag something, I don't copy the full 
> > trunk/ directory, but only the component I need: "svn copy 
> > trunk/confget tags/confget-1.02-release" and "svn copy 
> > trunk/confget-pkg/debian tags/confget-1.02-1-debian-01".
> 
> As I see it, it is your fault :P

Ah, that was almost certain - my question was where had I gone wrong :)

> You mix three separate (although related) projects in the same trunk/ 
> and the consequences strike back. What I'd do is split that in three 
> separate git repositories, one for configlet "real" trunk 
> (trunk/configlet now), branches and tags, one for the website and one 
> for the packaging work (no branches and tags). So you will still end 
> up with configlet/, configlet-pkg/ and configlet-web/ directories, 
> each tracking changes independently.

Well, believe it or not, I had the very same idea twenty minutes after
sending my mail, but couldn't test it for a couple of hours due to being
a bit offline...  Then I get online, try to run git-svn with
-Ttrunk/confget instead of the default -Ttrunk - then I see that It Just
Works(tm) (well, after removing a couple of "branches" created from the
confget-*-debian*/ tags) ...and then I check my e-mail and see your
reply :)

So, yeah, that's probably the way to go.  I was hoping to be able to
keep everything related to a project in a single repository, but the
fact that Gitorious already allows me to have multiple repositories
within a "project" pretty much takes care of that.

> For aestethical reasons I'd probably rename these to "src", "pkg" and 
> "web" and put them in a "configlet" directory.
> 
> It is also possible that you want to mix the packaging with the 
> mainstream sources.

Actually, that *was* part of the original idea... and there are a couple
of Debian packages (not Perl-related) that I've adopted that will have
to go through a painful transition with a bit of consistency loss, since
they used to be native packages and I broke the Debian packaging out...
but it will work out somehow.

> One way to do it would be to create a branch for 
> every downstream project (debian, freebsf, redhat, whetever), which 
> tracks master (or lenny, squeeze, whatever) and adds the files 
> relevant to the packaging (debian/ and whatever is needed by the 
> others). Not sure it this makes sense, I have never done something 
> like this for multiple downstream channels.

Nah, you're right, I'll just keep them in different Git repos.
But thanks for the analysis.

> One last bit, which is not of much relevance to the core issue. You 
> mentioned hosting all of it at Gitoruous. I wonder what's the problem 
> with hosting it yourself, as you already do for svn?

Well, part of the reason is that I'll need to move my Subversion repo to
another host pretty soon now, and dumping and importing it turned out to
be very, very hard - it was created many years ago, it has many vestiges
of the bg_BG.CP1251 locale on its server, and some of the revisions are
pretty much unreadable for UTF-8 servers.  There are also other
problems, and then there is the fact that Gitorious seems really great
for collaboration - and I fancy that some day somebody will actually
take enough interest in some of my projects :)

Once again, thanks for your time and for the detailed reply!

G'luck,
Peter

-- 
Peter Pentchev	roam@space.bg    roam@ringlet.net    roam@FreeBSD.org
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
I've heard that this sentence is a rumor.

Attachment: signature.asc
Description: Digital signature


Reply to: