From: Michael J Gruber <michaeljgruber+gmane@fastmail.fm>
To: git@vger.kernel.org
Subject: Re: git svn clone a non-standard repository
Date: Wed, 25 Jun 2008 17:25:15 +0200 [thread overview]
Message-ID: <g3to0t$35n$1@ger.gmane.org> (raw)
In-Reply-To: <48613DC5.2000506@freelock.com>
John Locke venit, vidit, dixit 24.06.2008 20:32:
> Hi,
>
> I'm trying to create a git repo of the Dojo Toolkit, which has a quite
> non-standard layout. There are 4 modules to the current Dojo project
> that I care about (and some others in the repo that I'm not interested
> in). The problem is, the trunk code is split out into
> <modulename>/trunk, while tags are in tags/<tagname>/<modulename> and
> branches are in branches/<branchname>/<modulename>. e.g:
>
> moduleA/trunk <- contains trunk development of moduleA
> moduleA/tags <- empty
> moduleA/branches <- empty
> moduleB/trunk
> moduleB/tags
> moduleB/branches
> moduleC/trunk
> moduleC/tags
> moduleC/branches
> moduleD/trunk
> moduleD/tags
> moduleD/branches
All of those module?/{tags,branches} are empty, right? I assume branches
follow the pattern below for tags.
> moduleE/trunk <- I don't care about this one...
> trunk/ <- contains ancient version, not actual trunk
> tags/1.0.0/moduleA <- contains tagged version of moduleA
> tags/1.0.0/moduleB <- contains tagged version of moduleB
> tags/1.0.0/moduleC <- contains tagged version of moduleC
> tags/1.0.0/moduleD <- contains tagged version of moduleD
> tags/1.0.1/moduleA
> tags/1.0.1/moduleB
> ...
>
> So I'd like to set up a git repo that tracks this SVN repository, and
> allows me to see:
> moduleA/
> moduleB/
> moduleC/
> moduleD/
> ... in my checkout, whether I'm on trunk or a tag.
So you want one git repo, reflecting the modules simply by different
subdirs? I'm afraid that raises similar problems like those I asked
about in my (yet unanswered) post
http://permalink.gmane.org/gmane.comp.version-control.git/85861
> I've started with "git svn clone http://path/to/svn -T moduleA/trunk -t
> tags -b branches", and it's been sucking down branches for a couple days
This should give you all "modules" (as subsdirs) for all branches and
tags already. svn branch "branchname" becomes git remote branch
"branchname", svn tag "tagname" becomes git remote branch "tags/tagname".
Note that your new git branch trunk will contain the contents of
"moduleA" only.
> now, still not done. Can I set up moduleB/moduleC/moduleD as additional
> remotes in this same repository, and end up with the desired result? Was
> thinking I would add additional svn sections to .git/config, and then
> git svn fetch -- will this work, or is there a better way?
If I understand your layout (and "desires") correctly then trunk will be
your only problem: you want to map "module?/trunk" to subdir "module?"
of branch "trunk". This is more or less the problem I'm facing. Regular
expressions (other than the ones for branches and tags) in git svn
config would solve this.
Michael
next prev parent reply other threads:[~2008-06-25 15:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-24 18:32 git svn clone a non-standard repository John Locke
2008-06-25 15:25 ` Michael J Gruber [this message]
2008-06-26 18:29 ` John Locke
2008-06-26 18:39 ` John Locke
2008-06-27 1:06 ` John Locke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='g3to0t$35n$1@ger.gmane.org' \
--to=michaeljgruber+gmane@fastmail.fm \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).