git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git-svn against a monolithic repository
       [not found] <h2jcfa4e841004140232y2137d43eg4be9bebdc2d29290@mail.gmail.com>
@ 2010-04-14  9:44 ` Marc Bowes
  0 siblings, 0 replies; only message in thread
From: Marc Bowes @ 2010-04-14  9:44 UTC (permalink / raw)
  To: git

Hiya,

The subversion repository I need to work with is quite odd (by my
standards, anyways).

The structure looks something like:

|-- patches
|   `-- foobar
|       `-- project-name
`-- trunk-team-name
    `-- project-name

That is, a single monolithic repository. Each team has their own trunk
(as a folder). The patches folder is essentially a production branch
for a specific region. Each developer tends to have a branch somewhere
else which they use to hack on. When they are ready, the code goes
through a review process and then is copied (svn copy) into trunk. It
then goes through a build process and is finally merged (in this case,
using meld) into the patches where other stuff happens to it.

I would like to use a single git repository for each project. That is,
my master branch should relate to the project folder in trunk and my
production-foobar branch should relate to the project folder in
patches. I could then use git to hack on a local branch and merge to
master (and then dcommit back to trunk). When ready, I could then
merge master into the production branch (and then dcommit back to
patches).

I guess what I'm looking for is something like:

git svn clone https://svn/url -T trunk-team-name/project-name -b
patches/foobar/project-name

However, I'm pretty sure that is wrong. Not only does it take forever
(I landed up canceling it), but I don't think the git-svn branches
will understand the weirdo layout.

I tried manually adding svn-remotes, running git-svn fetch against
then and then branching off. However, I started seeing weird things
happening when merging (sometimes git-svn became attached to the wrong
remote, sometimes it wouldn't update properly, lots of obscure merge
conflicts..).

In the worst case, I could clone each project (that is, trunk and
patches) separately and manually merge. But if I can get git to do
this for me, it'd make a lot of sense.

If anybody has any ideas, I'd be extremely grateful.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-04-14  9:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <h2jcfa4e841004140232y2137d43eg4be9bebdc2d29290@mail.gmail.com>
2010-04-14  9:44 ` git-svn against a monolithic repository Marc Bowes

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).