git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Shawn O. Pearce" <spearce@spearce.org>
To: Heiko Voigt <heiko.voigt@mahr.de>
Cc: git@vger.kernel.org, Jens Lehmann <Jens.Lehmann@mahr.de>
Subject: Re: Partial tree export and merging
Date: Wed, 24 Sep 2008 08:13:47 -0700	[thread overview]
Message-ID: <20080924151347.GP3669@spearce.org> (raw)
In-Reply-To: <48DA5737.4030909@mahr.de>

Heiko Voigt <heiko.voigt@mahr.de> wrote:
> Shawn O. Pearce schrieb:
>> Once the history is split into a new "doc+html" repository have
>> developers _only_ edit the docs/html in the doc+html repository,
>> don't make more edits in the source code repository.
>
> The problem with committing into 2 repositories (only merging from one  
> side) is that the docs/html also contain localization files which make  
> it hard to work/test the code because localization strings are initially  
> added by the developers. They would then have to change in the 2nd repo  
> and pull for testing.

I can see how that would be difficult.

In think you are faced with either restructuring your tree so that
the docs/html/localization files are all under a single subdirectory,
or you have to keep splitting down the repository with something like
filter-branch (or your own tools) to update the localization tree.

Doing the latter risks more merge conflicts for developers when they
pull changes back from the localization team.  Usually a developer
doesn't want to d3eal with merge conflicts from doc writers, and
they really don't want to deal with them in localized files if they
can't read/write that language.

>> You can use git-submodule or git-merge with the subtree strategy
>> to pull changes from the doc+html repository into the main source
>> repository.
>
> Would git submodule work with this kind of layout? Same folders  
> containing different files. I thought submodules only work with  
> subdirectories which are itself a git repo.

You are correct, a submodule requires that everything in that
directory be part of that submodule.  If your source tree has the
"submodule files" spread all over, intermingled with sources,
you can't use submodule to manage them.

Typically the recommendation is to organize your source tree more
by functional responsibility, so you can delegate all files under
a single directory to the docs team.  The project scales better to
more staff, and its easier to avoid merge conflicts.

-- 
Shawn.

  reply	other threads:[~2008-09-24 15:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <ACF330629DFB034AB290061C320F43460836E082@GOEMAILBE02.europe.mahr.lan>
     [not found] ` <48D9FACB.20901@mahr.de>
2008-09-24 13:58   ` Partial tree export and merging Heiko Voigt
2008-09-24 14:39     ` Shawn O. Pearce
2008-09-24 15:05       ` Heiko Voigt
2008-09-24 15:13         ` Shawn O. Pearce [this message]
2008-09-24 17:51     ` Nguyen Thai Ngoc Duy
2008-09-25 14:36       ` Heiko Voigt
2008-09-25 14:51         ` Nguyen Thai Ngoc Duy

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=20080924151347.GP3669@spearce.org \
    --to=spearce@spearce.org \
    --cc=Jens.Lehmann@mahr.de \
    --cc=git@vger.kernel.org \
    --cc=heiko.voigt@mahr.de \
    /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).