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.