git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Locke <mail@freelock.com>
To: Git Mailing List <git@vger.kernel.org>
Subject: Usage with Subversion, externals
Date: Sun, 22 Jun 2008 14:03:01 -0700	[thread overview]
Message-ID: <485EBE05.6070402@freelock.com> (raw)

Hi,

Brand new git user, trying to get my head around how to use this after 
years of Subversion usage.

I have a project that uses svn:externals to load a dependent library. 
The external repository, dojo toolkit, has a different layout for trunk 
than the tagged versions. Right now, I've got these svn externals defined:

> john@shasta:/opt/www/auriga$ svn pg svn:externals public_html/
> dojo http://svn.dojotoolkit.org/src/tags/release-1.1.1/
>
> john@shasta:/opt/www/auriga$ svn pg svn:externals public_html/dojo-trunk/
> dojo http://svn.dojotoolkit.org/src/dojo/trunk/
> dijit http://svn.dojotoolkit.org/src/dijit/trunk/
> dojox http://svn.dojotoolkit.org/src/dojox/trunk/
public_html/dojo contains dojo, dijit, dojox, and util directories, 
tagged to the specific version. The dojo svn repository stores trunk 
versions for each of these modules in src/<module>/trunk.

The problem I'm trying to solve by switching to git is that there are 
some API changes to Dojo that break the current production version of my 
application. So I'd like to branch my application and develop it against 
the Dojo trunk, while still being able to make changes to the mainline 
code using the stable Dojo tagged version.


I've used git svn clone to copy my main application, and I'm also 
pulling down the dojo svn repository (would be happy to post this 
somewhere when it's done).


So: Question 1: how do I get public_html/dojo in my working copy to 
contain dojo/trunk, dijit/trunk, and dojox/trunk from my external git 
repository? I'm assuming I use a submodule for this, and git submodule, 
but I'm wondering how I point git submodule to a particular path in the 
other repository.

... and question 2: How do I set up a different git submodule path (in 
the same external git repository) when I work on a different branch?


I'd like to be able to git checkout the development branch and have it 
switch the dojo submodule to contain dojo/trunk (aliased as dojo), 
dijit/trunk (aliased as dijit), and dojox/trunk (aliased as dojox). And 
then when I git checkout the main branch have it switch back to 
tags/release-1.1.1 (which contains dojo, dijit, and dojox without a 
trunk subdirectory).

Any thoughts?

-- 
John Locke
"Open Source Solutions for Small Business Problems"
published by Charles River Media, June 2004
http://www.freelock.com

                 reply	other threads:[~2008-06-22 21:09 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=485EBE05.6070402@freelock.com \
    --to=mail@freelock.com \
    --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).