{"thread":{"id":"22403","subject":"Patchdiff","startedAt":"2010-01-27T00:06:07Z","lastAt":"2010-01-27T07:06:29Z","messageCount":6,"participants":["Sverre Rabbelier","Jonathan Nieder","Nicolas Pitre","Junio C Hamano","Bert Wesarg"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"132730","messageId":"fabb9a1e1001261606i4f706387vaf5647436e454fb4@mail.gmail.com","threadId":"22403","inReplyTo":null,"subject":"Patchdiff","fromName":"Sverre Rabbelier","fromEmail":"srabbelier@gmail.com","sentAt":"2010-01-27T00:06:07Z","receivedAt":"2010-01-27T00:06:07Z","isPatch":false,"sender":{"key":"srabbelier@gmail.com","avatar":"https://avatars.githubusercontent.com/u/3098?v=4"},"body":"Heya,\n\nDo we have anything that allows me to compare two versions of a patch?\nIn theory it'd do something like \"apply both patches to the their\nmerge base, then show the diff between the results\". I don't think we\nhave something like that, since there's probably some major caveats\nabout conflicts when applying the patches to their merge-base. Or\nperhaps my theory is silly, and there's an easier way to compare two\npatches (other than looking at a diff's diff, which I've never been\ngood at).\n\n-- \nCheers,\n\nSverre Rabbelier\n"},{"id":"132734","messageId":"20100127010954.GA7628@progeny.tock","threadId":"22403","inReplyTo":"fabb9a1e1001261606i4f706387vaf5647436e454fb4@mail.gmail.com","subject":"Re: Patchdiff","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-01-27T01:09:54Z","receivedAt":"2010-01-27T01:09:54Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi,\n\nSverre Rabbelier wrote:\n\n> Do we have anything that allows me to compare two versions of a patch?\n> In theory it'd do something like \"apply both patches to the their\n> merge base, then show the diff between the results\".\n\nIt’s not git specific, but maybe interdiff [1] could help.\n\nCiao,\nJonathan\n\n[1] http://cyberelk.net/tim/data/patchutils/stable/\n"},{"id":"132736","messageId":"alpine.LFD.2.00.1001262014250.1681@xanadu.home","threadId":"22403","inReplyTo":"fabb9a1e1001261606i4f706387vaf5647436e454fb4@mail.gmail.com","subject":"Re: Patchdiff","fromName":"Nicolas Pitre","fromEmail":"nico@fluxnic.net","sentAt":"2010-01-27T01:19:13Z","receivedAt":"2010-01-27T01:19:13Z","isPatch":false,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"On Wed, 27 Jan 2010, Sverre Rabbelier wrote:\n\n> Heya,\n> \n> Do we have anything that allows me to compare two versions of a patch?\n> In theory it'd do something like \"apply both patches to the their\n> merge base, then show the diff between the results\". I don't think we\n> have something like that, since there's probably some major caveats\n> about conflicts when applying the patches to their merge-base. Or\n> perhaps my theory is silly, and there's an easier way to compare two\n> patches (other than looking at a diff's diff, which I've never been\n> good at).\n\nWhat about Git's diff -c/--cc ?  You'd have to reverse the parenthood \nlogic though.\n\n\nNicolas\n"},{"id":"132738","messageId":"7vzl40wcz2.fsf@alter.siamese.dyndns.org","threadId":"22403","inReplyTo":"alpine.LFD.2.00.1001262014250.1681@xanadu.home","subject":"Re: Patchdiff","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-01-27T01:30:57Z","receivedAt":"2010-01-27T01:30:57Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nicolas Pitre <nico@fluxnic.net> writes:\n\n>> Do we have anything that allows me to compare two versions of a patch?\n>> In theory it'd do something like \"apply both patches to the their\n>> merge base, then show the diff between the results\". I don't think we\n>> have something like that, since there's probably some major caveats\n>> about conflicts when applying the patches to their merge-base. Or\n>> perhaps my theory is silly, and there's an easier way to compare two\n>> patches (other than looking at a diff's diff, which I've never been\n>> good at).\n>\n> What about Git's diff -c/--cc ?  You'd have to reverse the parenthood \n> logic though.\n\nWhen I did \"diff --cc\" originally, I thought about its interaction with\nreverse (-R), and gave up.\n\nThe thing is, \"--cc\" output needs to show \"here is _the_ end result\",\ntogether with \"and each sides did things in these different ways (shown\nwith +/- annotations)\".\n\nWhen showing a merge, there is one end result (the merged version), so it\nfits the model that is a natural extension of two-way diff.  In the \"two\npatches walked in a bar, modified the same version and produced two\ndifferent results\" case, the common thing is the preimage, not postimage.\nI couldn't come up with a combined output format that visually makes sense\nfor that mode of operation.\n"},{"id":"132741","messageId":"alpine.LFD.2.00.1001262038130.1681@xanadu.home","threadId":"22403","inReplyTo":"7vzl40wcz2.fsf@alter.siamese.dyndns.org","subject":"Re: Patchdiff","fromName":"Nicolas Pitre","fromEmail":"nico@fluxnic.net","sentAt":"2010-01-27T01:40:03Z","receivedAt":"2010-01-27T01:40:03Z","isPatch":false,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"On Tue, 26 Jan 2010, Junio C Hamano wrote:\n\n> When showing a merge, there is one end result (the merged version), so it\n> fits the model that is a natural extension of two-way diff.  In the \"two\n> patches walked in a bar, modified the same version and produced two\n> different results\" case, the common thing is the preimage, not postimage.\n> I couldn't come up with a combined output format that visually makes sense\n> for that mode of operation.\n\nHmmmmmm yeah.  I didn't think it through all the way.  Too bad.\n\n\nNicolas\n"},{"id":"132747","messageId":"36ca99e91001262306l58234073v83ce709bee6c54a0@mail.gmail.com","threadId":"22403","inReplyTo":"7vzl40wcz2.fsf@alter.siamese.dyndns.org","subject":"Re: Patchdiff","fromName":"Bert Wesarg","fromEmail":"bert.wesarg@googlemail.com","sentAt":"2010-01-27T07:06:29Z","receivedAt":"2010-01-27T07:06:29Z","isPatch":false,"sender":{"key":"bert.wesarg@googlemail.com","avatar":"https://avatars.githubusercontent.com/u/111934?v=4"},"body":"On Wed, Jan 27, 2010 at 02:30, Junio C Hamano <gitster@pobox.com> wrote:\n> Nicolas Pitre <nico@fluxnic.net> writes:\n>\n>>> Do we have anything that allows me to compare two versions of a patch?\n>>> In theory it'd do something like \"apply both patches to the their\n>>> merge base, then show the diff between the results\". I don't think we\n>>> have something like that, since there's probably some major caveats\n>>> about conflicts when applying the patches to their merge-base. Or\n>>> perhaps my theory is silly, and there's an easier way to compare two\n>>> patches (other than looking at a diff's diff, which I've never been\n>>> good at).\n>>\n>> What about Git's diff -c/--cc ?  You'd have to reverse the parenthood\n>> logic though.\n>\n> When I did \"diff --cc\" originally, I thought about its interaction with\n> reverse (-R), and gave up.\nActually, I have done this. My intention is to use this as a new merge\nconflict style.\n\nI will send the patch, but not today.\n\nRegards,\nBert\n"}]}