From: Johannes Sixt <J.Sixt@eudaptics.com>
To: git@vger.kernel.org
Subject: Re: Embedded Linux development with GIT
Date: Thu, 05 Jul 2007 09:10:35 +0200 [thread overview]
Message-ID: <468C996B.7FEFEB29@eudaptics.com> (raw)
In-Reply-To: a2e879e50707042250w22fe570cp4dda316e6b0f4cea@mail.gmail.com
Sean Kelley wrote:
>
> Hi,
>
> I have a situation where we have a local GIT repository that is based
> on v2.6.17. We initially added the source tarball to an empty
> repository and then started applying changes to it. Looking back,
> that might not have been the best idea 400 commits later.
>
> My goal is to eventually bring our repository closer to mainline
> revisions so as to make it easier to actually contribute back to the
> community. So how can I fix my repository so as to give it visibility
> to Linus' kernel?
>
> Here is my initial thoughts:
>
> 1) Clone kernel.org kernel and it is Master
> 2) Create a local Head based on 2.6.17 and call it Local
> 3) Pull my existing heavily patched repository into the Local branch and merge
>
> Is it possible then to see our 400 odd commits then in the Local
> branch on top of 2.6.17 so that we can see not only our history but
> also the history that came before? Then as Master advances we can see
> about backporting and bringing our code close enough to mainline
> kernel to actually be able to contribute back to the community and
> submit patches. Is this realistic approach. I am unsure of the GIT
> commands that I need to do this?
That is possible using a graft:
$ echo "$x $(git rev-parse v2.6.17^0)" >> .git/info/grafts
where $x is the SHA1 of the first commit you made on top of the imported
tarball. This way you have spliced your history with Linus's history.
(This is a strictly _local_ matter! Every clone of your history must
repeat the game!)
Now, Linus will not be able to pull from your faked history because he
doesn't know about the graft. In order to fix that, you can run
git-filter-branch from current git's master branch to rewrite your
history:
$ git filter-branch new-master v2.6.17..master
Read the man page of git-filter-branch, and understand the implications
before you publish the result.
-- Hannes
next prev parent reply other threads:[~2007-07-05 7:10 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-05 5:50 Embedded Linux development with GIT Sean Kelley
2007-07-05 6:06 ` Dan Chokola
2007-07-05 6:53 ` Alex Riesen
2007-07-05 7:10 ` Johannes Sixt [this message]
2007-07-05 12:00 ` Johannes Schindelin
-- strict thread matches above, loose matches on Subject: below --
2007-07-05 12:31 linux
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=468C996B.7FEFEB29@eudaptics.com \
--to=j.sixt@eudaptics.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).