{"thread":{"id":"20717","subject":"rebase hint unmerged file removed","startedAt":"2009-08-24T14:05:49Z","lastAt":"2009-08-25T08:11:46Z","messageCount":6,"participants":["bill lam","Jeff King","Johannes Sixt","Miklos Vajna"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"121633","messageId":"20090824140549.GA3973@debian.b2j","threadId":"20717","inReplyTo":null,"subject":"rebase hint unmerged file removed","fromName":"bill lam","fromEmail":"cbill.lam@gmail.com","sentAt":"2009-08-24T14:05:49Z","receivedAt":"2009-08-24T14:05:49Z","isPatch":false,"sender":{"key":"cbill.lam@gmail.com","avatar":null},"body":"Sometimes during rebase -i, it stopped with an unmerged file but that\nfile did not have any sections of conflict marked.  ls-files showed it\nhad :1: and :2: but no :3:  I suspected that file was git-rm in that\ncommit.  Will it be possible for git status or rebase to give hint\nthat unmerged file was actually removed?\n\n-- \nregards,\n====================================================\nGPG key 1024D/4434BAB3 2008-08-24\ngpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3\n"},{"id":"121639","messageId":"20090824143657.GA12809@coredump.intra.peff.net","threadId":"20717","inReplyTo":"20090824140549.GA3973@debian.b2j","subject":"Re: rebase hint unmerged file removed","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2009-08-24T14:36:57Z","receivedAt":"2009-08-24T14:36:57Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Aug 24, 2009 at 10:05:49PM +0800, bill lam wrote:\n\n> Sometimes during rebase -i, it stopped with an unmerged file but that\n> file did not have any sections of conflict marked.  ls-files showed it\n> had :1: and :2: but no :3:  I suspected that file was git-rm in that\n> commit.  Will it be possible for git status or rebase to give hint\n> that unmerged file was actually removed?\n\nThe version of \"git status\" in next (and presumably what will be in\nv1.6.5) shows unmerged paths with more information. In this case,\nyou would see something like:\n\n  $ echo content >foo && git add foo && git commit -m 'base foo'\n  $ echo changes >>foo && git add foo && git commit -m 'change foo'\n  $ git checkout -b other HEAD^\n  $ git rm foo && git commit -m 'remove foo'\n  $ git rebase master\n  $ git status\n  # Unmerged paths:\n  #   (use \"git reset HEAD <file>...\" to unstage)\n  #   (use \"git add <file>...\" to mark resolution)\n  #\n  #       deleted by them:    foo\n  #\n\n-Peff\n"},{"id":"121640","messageId":"4A92A6E6.5060702@viscovery.net","threadId":"20717","inReplyTo":"20090824140549.GA3973@debian.b2j","subject":"Re: rebase hint unmerged file removed","fromName":"Johannes Sixt","fromEmail":"j.sixt@viscovery.net","sentAt":"2009-08-24T14:42:46Z","receivedAt":"2009-08-24T14:42:46Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"bill lam schrieb:\n> Sometimes during rebase -i, it stopped with an unmerged file but that\n> file did not have any sections of conflict marked.  ls-files showed it\n> had :1: and :2: but no :3:  I suspected that file was git-rm in that\n> commit.  Will it be possible for git status or rebase to give hint\n> that unmerged file was actually removed?\n\nRebase -i emitted used to write merge-recursive's conflict hints that said\n\"modify/delete\", \"modify/rename\", \"content\", etc. I think that's what you\nwere looking for. But these hints have vanished since quite some time now.\nI haven't taken the time, yet, to track down when this happened and why.\n\n-- Hannes\n"},{"id":"121702","messageId":"20090825044234.GA391@debian.b2j","threadId":"20717","inReplyTo":"20090824143657.GA12809@coredump.intra.peff.net","subject":"Re: rebase hint unmerged file removed","fromName":"bill lam","fromEmail":"cbill.lam@gmail.com","sentAt":"2009-08-25T04:42:34Z","receivedAt":"2009-08-25T04:42:34Z","isPatch":false,"sender":{"key":"cbill.lam@gmail.com","avatar":null},"body":"On Mon, 24 Aug 2009, Jeff King wrote:\n> The version of \"git status\" in next (and presumably what will be in\n> v1.6.5) shows unmerged paths with more information. In this case,\n\nThanks, Jeff, Johannes,\n\nI'll wait to see.\n\n-- \nregards,\n====================================================\nGPG key 1024D/4434BAB3 2008-08-24\ngpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3\n"},{"id":"121718","messageId":"4A939455.5030908@viscovery.net","threadId":"20717","inReplyTo":"4A92A6E6.5060702@viscovery.net","subject":"Re: rebase hint unmerged file removed","fromName":"Johannes Sixt","fromEmail":"j.sixt@viscovery.net","sentAt":"2009-08-25T07:35:49Z","receivedAt":"2009-08-25T07:35:49Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Johannes Sixt schrieb:\n> Rebase -i emitted used to write merge-recursive's conflict hints that said\n> \"modify/delete\", \"modify/rename\", \"content\", etc. I think that's what you\n> were looking for. But these hints have vanished since quite some time now.\n> I haven't taken the time, yet, to track down when this happened and why.\n\nOk, I bisected it to 6eb1b437 (cherry-pick/revert: make direct internal\ncall to merge_tree(), 2008-09-02), which is part of a series around\nmerge-recursive: 1ad6d46..ed520a8\n\nThe commit message says: \"One regression is that the status message is\nlost as there is no way to flush them from outside the refactored library\ncode yet.\" But is it intentional that these messages were never recovered?\n\nBTW, I miss the messages a lot, too, but I'm unfamiliar with the code in\nquestion to try to do something about it.\n\n-- Hannes\n"},{"id":"121719","messageId":"20090825081146.GK5929@genesis.frugalware.org","threadId":"20717","inReplyTo":"4A939455.5030908@viscovery.net","subject":"Re: rebase hint unmerged file removed","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2009-08-25T08:11:46Z","receivedAt":"2009-08-25T08:11:46Z","isPatch":false,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"On Tue, Aug 25, 2009 at 09:35:49AM +0200, Johannes Sixt <j.sixt@viscovery.net> wrote:\n> Ok, I bisected it to 6eb1b437 (cherry-pick/revert: make direct internal\n> call to merge_tree(), 2008-09-02), which is part of a series around\n> merge-recursive: 1ad6d46..ed520a8\n> \n> The commit message says: \"One regression is that the status message is\n> lost as there is no way to flush them from outside the refactored library\n> code yet.\" But is it intentional that these messages were never recovered?\n> \n> BTW, I miss the messages a lot, too, but I'm unfamiliar with the code in\n> question to try to do something about it.\n\nI do not remember too much about this. The point of the commit was to\navoid fork()ing a new merge-recursive process, that's for sure. I tried\nto search back the archive to see what was the interdiff between my\npatch and Junio's fixup, but I haven't found my patch.\n\nI think it's possible that I was not aware of this limitation at all and\njust Junio added it as a note to the commit message, but I'm not 100%\nsure.\n\nI also think that it's possible to modify the library code to be able to\nflush the status message outside the library, but I can't really send a\npatch that implements this right now, due to lack of time.\n\nSorry,\n\nMiklos\n"}]}