threads / discuss / 30983

Git and Quilt

Subject: Git and Quilt

## tl;dr

4 messages between Jul 9, 2012 and Jul 9, 2012.

replies: 3people: 3as markdown or json

Jimmy Thrasibule· Jul 9, 2012, 11:57 UTC · lore
Hello,

I have a core project on which I maintain a set of patches using Quilt. This allows me to make changes to the project without touching the files so I can upgrade to new versions easily.

I keep my patches and the core project in a Git repository. When I want to change something, I apply my patches using Quilt, then I revert all my changes and I just commit the resulting patch.

I would like to have a branch where all my patches are applied to deploy the code but I can't find any good way to do this.

If I create a new branch from master and apply the patches, I will have conflicts on the next merge. I need something to apply the patches before the merge (maybe using one of the hooks?).

Any idea?

-- Jimmy

Konstantin Khomoutov· Jul 9, 2012, 12:20 UTC · re: Jimmy Thrasibule · lore

Re: Git and Quilt

On Mon, 09 Jul 2012 13:57:09 +0200 Jimmy Thrasibule <thrasibule.jimmy@gmail.com> wrote:

Show 14 quoted lines
> I have a core project on which I maintain a set of patches using
> Quilt. This allows me to make changes to the project without touching
> the files so I can upgrade to new versions easily.
> 
> I keep my patches and the core project in a Git repository. When I
> want to change something, I apply my patches using Quilt, then I
> revert all my changes and I just commit the resulting patch.
> 
> I would like to have a branch where all my patches are applied to
> deploy the code but I can't find any good way to do this.
> 
> If I create a new branch from master and apply the patches, I will
> have conflicts on the next merge. I need something to apply the
> patches before the merge (maybe using one of the hooks?).

Isn't what you're doing a perfect fit for rebasing [1]? That is, you keep your changes as a series of commits on top of your "upstream" branch and each time you're about to bring upstream changes in, you rebase your local branch on top on the updated upstream branch.

1. http://git-scm.com/book/en/Git-Branching-Rebasing
Jimmy Thrasibule· Jul 9, 2012, 13:00 UTC · re: Konstantin Khomoutov · lore

Re: Git and Quilt

Show 6 quoted lines
> Isn't what you're doing a perfect fit for rebasing [1]?
> That is, you keep your changes as a series of commits on top of your
> "upstream" branch and each time you're about to bring upstream changes
> in, you rebase your local branch on top on the updated upstream branch.
> 
> 1. http://git-scm.com/book/en/Git-Branching-Rebasing

Yes it can do the work, but I afraid that it gets messy in a collaborative work as said at the end of the article. I prefer to maintain my patches using Quilt so everything is clear.

-- Jimmy

Jiang Xin· Jul 9, 2012, 15:38 UTC · re: Jimmy Thrasibule · lore

Re: Git and Quilt

2012/7/9 Jimmy Thrasibule <thrasibule.jimmy@gmail.com>:
> I have a core project on which I maintain a set of patches using Quilt.
Git + Topgit is a better solution for your case. See:
 * http://repo.or.cz/w/topgit.git/blob/HEAD:/README
E.g. In my fork of topgit, quilt patches resident in "debian/patches" directory:
 * https://github.com/ossxp-com/topgit/tree/master/debian/patches/t
And these patches are exported from the topic branches using this command:
 * https://github.com/ossxp-com/topgit/blob/master/debian/rules#L53

Git also has a command which can import quilt patches as commits on to the current branch:

    $ git quiltimport
-- 
Jiang Xin

← back to recent threads