trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: May 2012

Re: [trinity-devel] Preparing updates for 3.5.13

From: Nix <nix@...>
Date: Wed, 02 May 2012 13:24:43 +0100
On 2 May 2012, Timothy Pearson uttered the following:

>> I'm not quite sure what 'this' is. If you want to apply a bunch of
>> patches to a git repo, there are multiple options:
>>
>> git am -- Apply a series of patches from a mailbox
>> git quiltimport -- Applies a quilt patchset onto the current branch
>> git apply -- Apply a patch to files and/or to the index
>>
>> and others.
>>
>> For a set of Debian diffs, 'git quiltimport' is probably what you're
>> looking for.
>
> I know that. :-)

I thought you did, hence my confusion :)

>                   The problem is "How do I apply patches to an existing
> tagged branch to create a new tagged branch that is completely independent
> of the main development branch".

Branches aren't tagged in git, so the concept of 'tagged branch' is
meaningless. I can't figure out what it might mean, even, which probably
means I have been fully assimilated into the git monster and will never
be seen again a sane man. (Maybe it's a mercurial concept from its weird
world of branches whose names are hardwired into commits and stuff like
that. I've never wrapped my head properly around mercurial.)

... but something like

git branch patched-branch
git checkout patched-branch
[apply and commit the patches however you wish]

should be all you need. Changes to one branch cannot mess up another in
git -- since changing old commits without changing their SHA1 hashes is
impossible, you need have no fear that e.g. tree rewrites or rebases on
one branch will foul up the other: all they'll do is lead to the
branches having a merge base further back than they did before (or, in
the case of whole-history tree rewrites, not having any commits in
common at all anymore).

I guess it all depends what you mean by 'completely independent' though.

-- 
NULL && (void)