{"thread":{"id":"30983","subject":"Git and Quilt","startedAt":"2012-07-09T11:57:09Z","lastAt":"2012-07-09T15:38:45Z","messageCount":4,"participants":["Jimmy Thrasibule","Konstantin Khomoutov","Jiang Xin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"194806","messageId":"1341835029.10119.36.camel@sysadmin","threadId":"30983","inReplyTo":null,"subject":"Git and Quilt","fromName":"Jimmy Thrasibule","fromEmail":"thrasibule.jimmy@gmail.com","sentAt":"2012-07-09T11:57:09Z","receivedAt":"2012-07-09T11:57:09Z","isPatch":false,"sender":{"key":"thrasibule.jimmy@gmail.com","avatar":null},"body":"Hello,\n\nI have a core project on which I maintain a set of patches using Quilt.\nThis allows me to make changes to the project without touching the files\nso I can upgrade to new versions easily.\n\nI keep my patches and the core project in a Git repository. When I want\nto change something, I apply my patches using Quilt, then I revert all\nmy changes and I just commit the resulting patch.\n\nI would like to have a branch where all my patches are applied to deploy\nthe code but I can't find any good way to do this.\n\nIf I create a new branch from master and apply the patches, I will have\nconflicts on the next merge. I need something to apply the patches\nbefore the merge (maybe using one of the hooks?).\n\nAny idea?\n\n--\nJimmy\n"},{"id":"194807","messageId":"20120709162042.0149100574d2d04497a952fc@domain007.com","threadId":"30983","inReplyTo":"1341835029.10119.36.camel@sysadmin","subject":"Re: Git and Quilt","fromName":"Konstantin Khomoutov","fromEmail":"kostix+git@007spb.ru","sentAt":"2012-07-09T12:20:42Z","receivedAt":"2012-07-09T12:20:42Z","isPatch":false,"sender":{"key":"kostix+git@007spb.ru","avatar":null},"body":"On Mon, 09 Jul 2012 13:57:09 +0200\nJimmy Thrasibule <thrasibule.jimmy@gmail.com> wrote:\n\n> I have a core project on which I maintain a set of patches using\n> Quilt. This allows me to make changes to the project without touching\n> the files so I can upgrade to new versions easily.\n> \n> I keep my patches and the core project in a Git repository. When I\n> want to change something, I apply my patches using Quilt, then I\n> revert all my changes and I just commit the resulting patch.\n> \n> I would like to have a branch where all my patches are applied to\n> deploy the code but I can't find any good way to do this.\n> \n> If I create a new branch from master and apply the patches, I will\n> have conflicts on the next merge. I need something to apply the\n> patches before the merge (maybe using one of the hooks?).\n\nIsn't what you're doing a perfect fit for rebasing [1]?\nThat is, you keep your changes as a series of commits on top of your\n\"upstream\" branch and each time you're about to bring upstream changes\nin, you rebase your local branch on top on the updated upstream branch.\n\n1. http://git-scm.com/book/en/Git-Branching-Rebasing\n"},{"id":"194809","messageId":"1341838829.10119.42.camel@sysadmin","threadId":"30983","inReplyTo":"20120709162042.0149100574d2d04497a952fc@domain007.com","subject":"Re: Git and Quilt","fromName":"Jimmy Thrasibule","fromEmail":"thrasibule.jimmy@gmail.com","sentAt":"2012-07-09T13:00:29Z","receivedAt":"2012-07-09T13:00:29Z","isPatch":false,"sender":{"key":"thrasibule.jimmy@gmail.com","avatar":null},"body":"> Isn't what you're doing a perfect fit for rebasing [1]?\n> That is, you keep your changes as a series of commits on top of your\n> \"upstream\" branch and each time you're about to bring upstream changes\n> in, you rebase your local branch on top on the updated upstream branch.\n> \n> 1. http://git-scm.com/book/en/Git-Branching-Rebasing\n\nYes it can do the work, but I afraid that it gets messy in a\ncollaborative work as said at the end of the article. I prefer to\nmaintain my patches using Quilt so everything is clear.\n\n--\nJimmy\n"},{"id":"194816","messageId":"CANYiYbG2UuHJOU7b_jR7E5N6WxJqUK_URXkN2zrz+z3JEukOzw@mail.gmail.com","threadId":"30983","inReplyTo":"1341835029.10119.36.camel@sysadmin","subject":"Re: Git and Quilt","fromName":"Jiang Xin","fromEmail":"worldhello.net@gmail.com","sentAt":"2012-07-09T15:38:45Z","receivedAt":"2012-07-09T15:38:45Z","isPatch":false,"sender":{"key":"worldhello.net@gmail.com","avatar":"https://avatars.githubusercontent.com/u/183860?v=4"},"body":"2012/7/9 Jimmy Thrasibule <thrasibule.jimmy@gmail.com>:\n> I have a core project on which I maintain a set of patches using Quilt.\n\nGit + Topgit is a better solution for your case. See:\n\n * http://repo.or.cz/w/topgit.git/blob/HEAD:/README\n\nE.g. In my fork of topgit, quilt patches resident in \"debian/patches\" directory:\n\n * https://github.com/ossxp-com/topgit/tree/master/debian/patches/t\n\nAnd these patches are exported from the topic branches using this command:\n\n * https://github.com/ossxp-com/topgit/blob/master/debian/rules#L53\n\nGit also has a command which can import quilt patches as commits\non to the current branch:\n\n    $ git quiltimport\n\n-- \nJiang Xin\n"}]}