From: <dag@cray.com>
To: <git@vger.kernel.org>
Subject: Grafting Alternate History
Date: Fri, 31 Aug 2012 18:39:58 -0500 [thread overview]
Message-ID: <nng7gse7hrl.fsf@transit.us.cray.com> (raw)
I have an unfortunate situation where I have two subversion repositories
for the same project, one a public version and one a private version.
Because they are mirrors of svn repositories, they have very different
histories as far as git is concerned. This is not all that uncommon but
of course I would like to manage things in git.
git-svn is great for interacting with one svn repository. The public
svn repository has a fully-supported git mirror. The private repository
also has a fully-supported git mirror. But I need to check in changes
to the private repository via git-svn. I eventually need to check in
changes to the public repository as well but that is orders of magnitude
less frequent. A manual diff+patch+git-svn is acceptable for now.
I am wondering if it's possible to graft the history of one of the git
mirrors onto an empty branch of the other and share changes between
them. I need to take updates from the public repository and apply them
to the private repository. This is a frequent operation. I have been
essentially using manual diff+patch but that is highly error-prone and
annoying.
For example, let's say we take a local copy of the private repository.
I would like to somehow create an empty branch in that local copy and
then populate it with the history of the public repository. I would
like to be able to specify a git diff-like command on the public graft
branch to get some changes over a range of commits and apply those
changes to one of the private branches (say master). If I could use a
git-merge-like or git-rebase-like command, so much the better. I would
like to do the same in reverse but as I said that is a much less common
operation.
Has anyone done anything like this before? Is it even theoretically
possible to manage disjoint histories like this?
Thanks for your help!
-Dave
next reply other threads:[~2012-08-31 23:49 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-31 23:39 dag [this message]
2012-09-01 6:48 ` Grafting Alternate History Andreas Schwab
2012-09-04 22:56 ` dag
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=nng7gse7hrl.fsf@transit.us.cray.com \
--to=dag@cray.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).