{"thread":{"id":"34430","subject":"ANNOUNCE: git-imerge -- Incremental merge and rebase for git","startedAt":"2013-07-14T05:33:27Z","lastAt":"2013-07-15T08:56:07Z","messageCount":2,"participants":["Michael Haggerty","Matthieu Moy"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"223270","messageId":"51E23827.6010601@alum.mit.edu","threadId":"34430","inReplyTo":null,"subject":"ANNOUNCE: git-imerge -- Incremental merge and rebase for git","fromName":"Michael Haggerty","fromEmail":"mhagger@alum.mit.edu","sentAt":"2013-07-14T05:33:27Z","receivedAt":"2013-07-14T05:33:27Z","isPatch":false,"sender":{"key":"mhagger@alum.mit.edu","avatar":"https://avatars.githubusercontent.com/u/119718?v=4"},"body":"I've alluded to this little project of mine on the mailing list before,\nbut I've never really announced it properly.  So here we go...\n\ngit-imerge [1] is an open-source tool that helps you perform difficult\nGit merges and rebases by allowing conflicts to be resolved\nincrementally.  The tool breaks the full merge down into pairwise merges\nof one commit from each branch.  When a pairwise merge conflicts, the\ntool asks you to resolve the conflict, which is hopefully small enough\nto be tractable.  Each completed pairwise merge is recorded as a step\ntowards completing the full merge.  When all of the pairwise merges are\ndone, the results can be converted into a merge or rebase as you choose.\n\ngit-imerge has two primary goals:\n\n* Reduce the pain of resolving merge conflicts to its unavoidable\n  minimum, by finding and presenting the smallest possible conflicts,\n  namely those between the changes introduced by one commit from each\n  branch.\n\n* Allow a merge to be saved, tested, interrupted, published, and\n  collaborated on while it is in progress.\n\nThe hope is to rescue that branch that has diverged so far from master\nthat merging it seems intractable and the only alternative seems to be\nto abandon the branch and start again.  (I think we've all been there!)\n\nI think that it is easiest to understand the concept of incremental\nmerging visually, and therefore I recommend the video of my git-imerge\npresentation [2] from the GitMerge 2013 conference (20 min) as a good\nintroduction.  The full slides for that talk are available in the\ngit-imerge repository under doc/presentations/GitMerge-2013.  At the\nsame conference, I was interviewed about git-imerge by Thomas Ferris\nNicolaisen for his GitMinutes Podcast #12 [3].\n\nTo learn how to use the git-imerge tool itself, I suggest the blog\narticle \"git-imerge: A Practical Introduction\" [4] and also the help\nbuilt unto the command (\"git-imerge --help\" and \"git-imerge SUBCOMMAND\n--help\").  If you want more information, the theory and benefits of\nincremental merging are described in minute detail in a series of blog\narticles [5].\n\ngit-imerge is still experimental, due to a lack of time to work on it.\nBut it is already (cautiously) usable, and I am very excited about the\nidea and would love to get feedback and help from the community.\n\nMichael\n\n[1] https://github.com/mhagger/git-imerge\n[2] http://www.youtube.com/watch?v=FMZ2_-Ny_zc\n[3]\nhttp://episodes.gitminutes.com/2013/06/gitminutes-12-git-merge-2013-part-4.html\n[4]\nhttp://softwareswirl.blogspot.com/2013/05/git-imerge-practical-introduction.html\n[5] http://softwareswirl.blogspot.com/search/label/git-imerge\n\n-- \nMichael Haggerty\nmhagger@alum.mit.edu\nhttp://softwareswirl.blogspot.com/\n"},{"id":"223400","messageId":"vpq61wcgq1k.fsf@anie.imag.fr","threadId":"34430","inReplyTo":"51E23827.6010601@alum.mit.edu","subject":"Re: ANNOUNCE: git-imerge -- Incremental merge and rebase for git","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2013-07-15T08:56:07Z","receivedAt":"2013-07-15T08:56:07Z","isPatch":false,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Michael Haggerty <mhagger@alum.mit.edu> writes:\n\n> I've alluded to this little project of mine on the mailing list before,\n> but I've never really announced it properly.  So here we go...\n>\n> git-imerge [1] is an open-source tool that helps you perform difficult\n> Git merges and rebases by allowing conflicts to be resolved\n> incrementally.\n\nSeems cool! :-)\n\nAdded to:\n\n  https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#imerge\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"}]}