* Odd merge behaviour involving reverts @ 2008-12-18 23:25 Alan 2008-12-18 23:58 ` Linus Torvalds ` (2 more replies) 0 siblings, 3 replies; 17+ messages in thread From: Alan @ 2008-12-18 23:25 UTC (permalink / raw) To: git I am encountering an odd problem with how merging branches are working. I expect I am doing something wrong, I just need to know what. Here is my situation... I have a master branch. We have a branch off of that that some developers are doing work on. They claim it is ready. We merge it into the master branch. It breaks something so we revert the merge. They make changes to the code. they get it to a point where they say it is ok and we merge again. When examined, we find that code changes made before the revert are not in the master branch, but code changes after are in the master branch. We now have code that does not contain all of the changes in the branch. Is there a different way to undo merges into a branch that does not block further merges from that branch? What am i doing wrong here? ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-18 23:25 Odd merge behaviour involving reverts Alan @ 2008-12-18 23:58 ` Linus Torvalds 2008-12-19 0:11 ` Alan 2008-12-19 1:30 ` Boyd Stephen Smith Jr. 2008-12-19 3:44 ` Nanako Shiraishi 2 siblings, 1 reply; 17+ messages in thread From: Linus Torvalds @ 2008-12-18 23:58 UTC (permalink / raw) To: Alan; +Cc: git On Thu, 18 Dec 2008, Alan wrote: > > What am i doing wrong here? Reverting a merge is your problem. You can do it, but you seem to have done it without understanding what it causes. A revert of a merge becomes a regular commit that just undoes everything that the merge did in your branch. When you then do the next merge, you'll do that merge with that in mind, so now git will essentially consider the previous merge to be the base line, but your revert undid everything that that one brought in, so the new merge will really only contain the new stuff from the branch you are merging. So if a merge causes problems, you generally should either undo it _entirely_ (ie do a 'git reset --hard ORIG_HEAD'), not revert it. Of course, if you had already made the merged state public, or done development on top of it, you can't really do that. In which case a revert works, but if you want it back, you should revert the revert, not merge the branch again - because what you merged last time you threw away, and won't be applied again. Linus ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-18 23:58 ` Linus Torvalds @ 2008-12-19 0:11 ` Alan 2008-12-19 0:21 ` Linus Torvalds 0 siblings, 1 reply; 17+ messages in thread From: Alan @ 2008-12-19 0:11 UTC (permalink / raw) To: Linus Torvalds; +Cc: git On Thu, 2008-12-18 at 15:58 -0800, Linus Torvalds wrote: > > On Thu, 18 Dec 2008, Alan wrote: > > > > What am i doing wrong here? > > Reverting a merge is your problem. > > You can do it, but you seem to have done it without understanding what it > causes. Obviously. > A revert of a merge becomes a regular commit that just undoes everything > that the merge did in your branch. When you then do the next merge, you'll > do that merge with that in mind, so now git will essentially consider the > previous merge to be the base line, but your revert undid everything that > that one brought in, so the new merge will really only contain the new > stuff from the branch you are merging. So I will have to look for previous reverts (or "pre-verts") before merging again. > So if a merge causes problems, you generally should either undo it > _entirely_ (ie do a 'git reset --hard ORIG_HEAD'), not revert it. > > Of course, if you had already made the merged state public, or done > development on top of it, you can't really do that. In which case a revert > works, but if you want it back, you should revert the revert, not merge > the branch again - because what you merged last time you threw away, and > won't be applied again. On this code base, there were 30+ branches merged before the powers that be decided to have me pull that one. It was in the middle of the pile. I think I know how to fix it. I am just concerned about having it occur again if someone else makes the same mistake I did. Thanks. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 0:11 ` Alan @ 2008-12-19 0:21 ` Linus Torvalds 2008-12-19 0:35 ` Alan 0 siblings, 1 reply; 17+ messages in thread From: Linus Torvalds @ 2008-12-19 0:21 UTC (permalink / raw) To: Alan; +Cc: git On Thu, 18 Dec 2008, Alan wrote: > > I think I know how to fix it. I am just concerned about having it occur > again if someone else makes the same mistake I did. I suspect we should warn about reverting merges. I'm surprised we don't already. Reverting a merge isn't "wrong", but it's a whole lot more subtle than reverting a regular commit. Reverting a regular commit just effectively undoes what that commit did, and is fairly straightforward. But reverting a merge commit also undoes the _data_ that the commit changed, but it does absolutely nothing to the effects on _history_ that the merge had. So the merge will still exist, and it will still be seen as joining the two branches together, and future merges will see that merge as the last shared state - and the revert that reverted the merge brought in will not affect that at all. So a "revert" undoes the data changes, but it's very much _not_ an "undo" in the sense that it doesn't undo the effects of a commit on the repository history. So if you think of "revert" as "undo", then you're going to always miss this part of reverts. Yes, it undoes the data, but no, it doesn't undo history. Linus ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 0:21 ` Linus Torvalds @ 2008-12-19 0:35 ` Alan 2008-12-19 0:46 ` Linus Torvalds 0 siblings, 1 reply; 17+ messages in thread From: Alan @ 2008-12-19 0:35 UTC (permalink / raw) To: Linus Torvalds; +Cc: git On Thu, 2008-12-18 at 16:21 -0800, Linus Torvalds wrote: > > On Thu, 18 Dec 2008, Alan wrote: > > > > I think I know how to fix it. I am just concerned about having it occur > > again if someone else makes the same mistake I did. > > I suspect we should warn about reverting merges. I'm surprised we don't > already. Reverting a merge isn't "wrong", but it's a whole lot more subtle > than reverting a regular commit. > > Reverting a regular commit just effectively undoes what that commit did, > and is fairly straightforward. But reverting a merge commit also undoes > the _data_ that the commit changed, but it does absolutely nothing to the > effects on _history_ that the merge had. > > So the merge will still exist, and it will still be seen as joining the > two branches together, and future merges will see that merge as the last > shared state - and the revert that reverted the merge brought in will not > affect that at all. > > So a "revert" undoes the data changes, but it's very much _not_ an "undo" > in the sense that it doesn't undo the effects of a commit on the > repository history. > > So if you think of "revert" as "undo", then you're going to always miss > this part of reverts. Yes, it undoes the data, but no, it doesn't undo > history. So what is the recommended way to undo mistaken merges caught after the fact that will not fubar later merges? ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 0:35 ` Alan @ 2008-12-19 0:46 ` Linus Torvalds 0 siblings, 0 replies; 17+ messages in thread From: Linus Torvalds @ 2008-12-19 0:46 UTC (permalink / raw) To: Alan; +Cc: git On Thu, 18 Dec 2008, Alan wrote: > > So what is the recommended way to undo mistaken merges caught after the > fact that will not fubar later merges? Oh, I suspect reverting is the right thing, it's just that then you need to remember to revert the revert if you intend to merge that branch again later. So reverting a merge isn't _wrong_ per se. It's just that you need to be aware of the consequences, and if it becomes a common situation, you have a problem in your usage patterns. Btw, even with non-merge commits, "revert" can have interesting effects exactly because it doesn't change history. For example, let's say that you had a history like this, with two branches: --> a --> b --> c --> d | +-> e --> !a where the second branch reverts 'a', but the first one does not. What happens when you merge the two branches? Is the revert sticky? In this case, yes, a merge will cause the revert to stick. But what happens if you had --> a --> b --> c --> d | +-> e --> f --> !e and 'b' and 'e' were the same patch (just applied in two different branches), and '!e' reverts that patch in the second branch. What happens to 'b' when you merge? Would you expect for 'b' to go away, since the revert undid the same data in the second branch? In that second case, the revert of 'e' will basically make git act as if 'e' didn't happen at all in the second branch, and so when you merge them, 'b' _will_ exist in the end result, so now the revert didn't "take". All of this is very self-consistent (it's a very direct result of how merges work and how revert works), but I'm just bringing these things up as examples of how 'revert' is not a totally trivial matter. You'll always find cases where you might have wished that it had acted differently when you merge things. Linus ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-18 23:25 Odd merge behaviour involving reverts Alan 2008-12-18 23:58 ` Linus Torvalds @ 2008-12-19 1:30 ` Boyd Stephen Smith Jr. 2008-12-19 3:44 ` Nanako Shiraishi 2 siblings, 0 replies; 17+ messages in thread From: Boyd Stephen Smith Jr. @ 2008-12-19 1:30 UTC (permalink / raw) To: Alan; +Cc: git [-- Attachment #1: Type: text/plain, Size: 944 bytes --] On Thursday 2008 December 18 17:25:34 Alan wrote: > Here is my situation... > > I have a master branch. We have a branch off of that that some > developers are doing work on. They claim it is ready. We merge it into > the master branch. It breaks something so we revert the merge. They > make changes to the code. they get it to a point where they say it is > ok and we merge again. > > What am i doing wrong here? Don't do tests on the master branch. Or at least, do as little as possible. Also, try not to revert merges. Depending on your workflow and team synamics it might be easier to rewrite history than wrangle reverts of a merge commit. -- Boyd Stephen Smith Jr. ,= ,-_-. =. bss@iguanasuicide.net ((_/)o o(\_)) ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-' http://iguanasuicide.net/ \_/ [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-18 23:25 Odd merge behaviour involving reverts Alan 2008-12-18 23:58 ` Linus Torvalds 2008-12-19 1:30 ` Boyd Stephen Smith Jr. @ 2008-12-19 3:44 ` Nanako Shiraishi 2008-12-19 4:01 ` Linus Torvalds ` (2 more replies) 2 siblings, 3 replies; 17+ messages in thread From: Nanako Shiraishi @ 2008-12-19 3:44 UTC (permalink / raw) To: Linus Torvalds; +Cc: Alan, git Quoting Linus Torvalds <torvalds@linux-foundation.org>: > On Thu, 18 Dec 2008, Alan wrote: >> >> What am i doing wrong here? > > Reverting a merge is your problem. > > You can do it, but you seem to have done it without understanding what it > causes. > > A revert of a merge becomes a regular commit that just undoes everything > that the merge did in your branch. When you then do the next merge, you'll > do that merge with that in mind, so now git will essentially consider the > previous merge to be the base line, but your revert undid everything that > that one brought in, so the new merge will really only contain the new > stuff from the branch you are merging. > > So if a merge causes problems, you generally should either undo it > _entirely_ (ie do a 'git reset --hard ORIG_HEAD'), not revert it. > > Of course, if you had already made the merged state public, or done > development on top of it, you can't really do that. In which case a revert > works, but if you want it back, you should revert the revert, not merge > the branch again - because what you merged last time you threw away, and > won't be applied again. If I understand Alan's case correctly, I think he does not want to "undo" the revert but wants to merge an updated version of the branch, as if no mistaken merge nor its revert happened in the past. If you revert the revert on the branch before merging, doesn't it mean that you will be merging what the older version of the branch did (that is in the revert of the revert as a single huge patch) and what the updated version of the branch wants to do? Wouldn't that lead to a mess with huge conflicts? -- Nanako Shiraishi http://ivory.ap.teacup.com/nanako3/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 3:44 ` Nanako Shiraishi @ 2008-12-19 4:01 ` Linus Torvalds 2008-12-19 4:18 ` Jay Soffian 2008-12-19 5:24 ` Daniel Barkalow 2008-12-19 8:45 ` Junio C Hamano 2008-12-19 21:45 ` Nanako Shiraishi 2 siblings, 2 replies; 17+ messages in thread From: Linus Torvalds @ 2008-12-19 4:01 UTC (permalink / raw) To: Nanako Shiraishi; +Cc: Alan, git On Fri, 19 Dec 2008, Nanako Shiraishi wrote: > > If you revert the revert on the branch before merging, doesn't it mean > that you will be merging what the older version of the branch did (that > is in the revert of the revert as a single huge patch) and what the > updated version of the branch wants to do? Wouldn't that lead to a mess > with huge conflicts? Actually, the reverse is likely true. If the branch you are merging is actually doing something branch-specific - ie it's a "topic branch", then it's likely that the new stuff that is on that branch depends on the previous stuff on the branch. And thats' the thing that got reverted - so with just a revert, it's quite likely that you'll get conflicts. But if you revert the revert, now the new stuff you're merging actually makes more sense, and is less likely to conflict. Another way of looking at it is that a merge is something that can be done both ways: think of the _other_ branch merging yours. The original revert ends up being a big change-patch that undoes everything that other branch did, so now if that other branch were to merge the main branch, you'd be merging a lot of changes. But reverting the revert will undo all those changes, so again, it's more likely that the merge will succeed. So revertign a revert is usually going to make subsequent merges easier rather than the reverse. The _big_ problem with reverting a whole merge is that it effectively becomes one commit that does a big change. That's how _normal_ merges tend to look like in CVS or SVN (ie the "merge" is really just another commit that brings in a lot of changes), and it's a total and utter f*cking disaster! But don't get me wrong - it's not something you can't work with. I'm just trying to say that it's absolutely not a "good model". It's workable, but it has all these painful issues. For example, think about what reverting a merge (and then reverting the revert) does to bisectability. Ignore the fact that the revert of a revert is undoing it - just think of it as a "single commit that does a lot". Because that is what it does. When you have a problem you are chasing down, and you hit a "revert this merge", what you're hitting is essentially a single commit that contains all the changes (but obviously in reverse) of all the commits that got merged. So it's debugging hell, because now you don't have lots of small changes that you can try to pinpoint which _part_ of it changes. But does it all work? Sure it does. You can revert a merge, and from a purely technical angle, git did it very naturally and had no real troubles. It just considered it a change from "state before merge" to "state after merge", and that was it. Nothing complicated, nothing odd, nothing really dangerous. Git will do it without even thinking about it. So from a technical angle, there's nothing wrong with reverting a merge, but from a workflow angle it's something that you generally should try to avoid. If at all possible, for example, if you find a problem that got merged into the main tree, rather than revert the merge, try _really_ hard to bisect the problem down into the branch you merged, and just fix it, or try to revert the individual commit that caused it. Yes, it's more complex, and no, it's not always going to work (sometimes the answer is: "oops, I really shouldn't have merged it, because it wasn't ready yet, and I really need to undo _all_ of the merge"). So then you really should revert the merge, but when you want to re-do the merge, you now need to do it by reverting the revert. Linus ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 4:01 ` Linus Torvalds @ 2008-12-19 4:18 ` Jay Soffian 2008-12-19 4:23 ` Linus Torvalds 2008-12-19 5:24 ` Daniel Barkalow 1 sibling, 1 reply; 17+ messages in thread From: Jay Soffian @ 2008-12-19 4:18 UTC (permalink / raw) To: Linus Torvalds; +Cc: Nanako Shiraishi, Alan, git On Thu, Dec 18, 2008 at 11:01 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote: > Yes, it's more complex, and no, it's not always going to work (sometimes > the answer is: "oops, I really shouldn't have merged it, because it wasn't > ready yet, and I really need to undo _all_ of the merge"). So then you > really should revert the merge, but when you want to re-do the merge, you > now need to do it by reverting the revert. Instead of reverting the revert, why not rebase the branch which was merged to the point after the revert was done? j. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 4:18 ` Jay Soffian @ 2008-12-19 4:23 ` Linus Torvalds 0 siblings, 0 replies; 17+ messages in thread From: Linus Torvalds @ 2008-12-19 4:23 UTC (permalink / raw) To: Jay Soffian; +Cc: Nanako Shiraishi, Alan, git On Thu, 18 Dec 2008, Jay Soffian wrote: > > Instead of reverting the revert, why not rebase the branch which was > merged to the point after the revert was done? Sure, you can do that too. However, that has its own set of problems, ie all the "ok, who else was working based on this branch" thing. But no, there are no single right answers. Rebasing may well be a reasonable approach. Linus ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 4:01 ` Linus Torvalds 2008-12-19 4:18 ` Jay Soffian @ 2008-12-19 5:24 ` Daniel Barkalow 1 sibling, 0 replies; 17+ messages in thread From: Daniel Barkalow @ 2008-12-19 5:24 UTC (permalink / raw) To: Linus Torvalds; +Cc: Nanako Shiraishi, Alan, git On Thu, 18 Dec 2008, Linus Torvalds wrote: > On Fri, 19 Dec 2008, Nanako Shiraishi wrote: > > > > If you revert the revert on the branch before merging, doesn't it mean > > that you will be merging what the older version of the branch did (that > > is in the revert of the revert as a single huge patch) and what the > > updated version of the branch wants to do? Wouldn't that lead to a mess > > with huge conflicts? > > Actually, the reverse is likely true. If the branch you are merging is > actually doing something branch-specific - ie it's a "topic branch", then > it's likely that the new stuff that is on that branch depends on the > previous stuff on the branch. > > And thats' the thing that got reverted - so with just a revert, it's quite > likely that you'll get conflicts. But if you revert the revert, now the > new stuff you're merging actually makes more sense, and is less likely to > conflict. > > Another way of looking at it is that a merge is something that can be done > both ways: think of the _other_ branch merging yours. The original revert > ends up being a big change-patch that undoes everything that other branch > did, so now if that other branch were to merge the main branch, you'd be > merging a lot of changes. But reverting the revert will undo all those > changes, so again, it's more likely that the merge will succeed. > > So revertign a revert is usually going to make subsequent merges easier > rather than the reverse. > > The _big_ problem with reverting a whole merge is that it effectively > becomes one commit that does a big change. That's how _normal_ merges tend > to look like in CVS or SVN (ie the "merge" is really just another commit > that brings in a lot of changes), and it's a total and utter f*cking > disaster! Another option is to do the big revert on the master branch, and on the side branch merge the parent of the revert (normally), and then merge the revert but take the side branch tree. That last merge puts the revert in the branch's history, but rejects its effects. Now merging the branch again will find the revert to be the common ancestor, and see the full change of the side branch as the contribution of that side. Also, blame will come down the side branch, ignore the merge (on the side branch, the merge contributed no content changes), and go into the original side branch commits. You can also think of it as the side branch saying, "I noticed that you reverted my changes, but I'm keeping them anyway". When the final merge comes, git will see that the revert isn't new information to the side branch, and nullify its effect. (Of course, the side branch needs to merge the parent of the revert so that it isn't rejecting the other changes made on the main branch before the revert) -Daniel *This .sig left intentionally blank* ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 3:44 ` Nanako Shiraishi 2008-12-19 4:01 ` Linus Torvalds @ 2008-12-19 8:45 ` Junio C Hamano 2008-12-19 21:45 ` Nanako Shiraishi 2 siblings, 0 replies; 17+ messages in thread From: Junio C Hamano @ 2008-12-19 8:45 UTC (permalink / raw) To: Nanako Shiraishi; +Cc: Linus Torvalds, Alan, git Nanako Shiraishi <nanako3@lavabit.com> writes: > If I understand Alan's case correctly, I think he does not want to > "undo" the revert but wants to merge an updated version of the branch, > as if no mistaken merge nor its revert happened in the past. > > If you revert the revert on the branch before merging, doesn't it mean > that you will be merging what the older version of the branch did (that > is in the revert of the revert as a single huge patch) and what the > updated version of the branch wants to do? Wouldn't that lead to a mess > with huge conflicts? The history immediately after the "revert of the merge" would look like this: ---o---o---o---M---x---x---W---x / ---A---B where A and B are on the side development that was not so good, M is the merge that brings those premature changes into the mainline, x are unrelated changes already made on the mainline and W is the "revert of the merge M" (doesn't W look M upside down?). IOW, "diff W^..W" is similar to "diff -R M^..M". I think you misunderstood what "merging an updated version of the branch" meant by Alan's description to mean that the side branch developers discarded their faulty A and B, and redone the changes, which would have resulted in something like: ---o---o---o---M---x---x---W---x---x \ A'--B'--C' If that were the situation, suggestion by Linus to revert the revert and then merge would result in something like this: ---o---o---o---M---x---x---W---x---x---Y---* \ / A'--B'--C' where Y is the revert of W, A' and B'are rerolled A and B, and there may also be a further fix-up C' on the side branch. "diff Y^..Y" is similar to "diff -R W^..W" (which in turn means it is similar to "diff M^..M"), and "diff A'^..C'" by definition would be similar but different from that, because it is a rerolled series of the earlier change. There would be a lot of overlap as you feared. In such a case, not having Y (revert of the revert) would result in a much more trivial merge: ---o---o---o---M---x---x---W---x---x-------* \ / A'--B'--C' because problematic large commits M and W are already outside of the scope of this final merge. But I think what Alan's developers did is different. They did this instead: ---o---o---o---M---x---x---W---x / ---A---B-------------------C---D where C and D are to fix what was broken in A and B. In such a situation, what Linus suggests makes perfect sense. You first revert the revert, which would result in this: ---o---o---o---M---x---x---W---x---Y / ---A---B-------------------C---D where Y is the revert of W, which would (ignoring possible conflicts between what W and W..Y changed) be equivalent to not having W nor Y at all in the history: ---o---o---o---M---x---x-------x---- / ---A---B-------------------C---D and merging the side branch again will not have conflict arising from an earlier revert and revert of revert. ---o---o---o---M---x---x-------x-------* / / ---A---B-------------------C---D Of course the changes made in C and D still can conflict with what was done by any of the x, but that is just a normal merge conflict. To recap, these are two very different scenarios, and wants two very different resolution strategies: - If the faulty side branch whose effects were discarded by an earlier revert of a merge was rebuilt from scratch (i.e. rebasing and fixing, as you seem to have interpreted), then re-merging the result without doing anything else fancy would be the right thing to do. - If the faulty side branch was fixed by adding corrections on top, then doing a revert of the previous revert would be the right thing to do. I hope this clears up confusion and fear. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 3:44 ` Nanako Shiraishi 2008-12-19 4:01 ` Linus Torvalds 2008-12-19 8:45 ` Junio C Hamano @ 2008-12-19 21:45 ` Nanako Shiraishi 2008-12-19 23:05 ` Junio C Hamano 2008-12-19 23:12 ` Nanako Shiraishi 2 siblings, 2 replies; 17+ messages in thread From: Nanako Shiraishi @ 2008-12-19 21:45 UTC (permalink / raw) To: Junio C Hamano; +Cc: Linus Torvalds, Alan, git Quoting Junio C Hamano <gitster@pobox.com>: > I hope this clears up confusion and fear. You are correct that I misunderstood what Alan meant by corrected branch. I think your explanation will help people if we make it part of the documentation. Especially because two different cases need two different recovery methods, and people need to learn which is which. Thank you for your detailed response. -- Nanako Shiraishi http://ivory.ap.teacup.com/nanako3/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 21:45 ` Nanako Shiraishi @ 2008-12-19 23:05 ` Junio C Hamano 2008-12-19 23:12 ` Nanako Shiraishi 1 sibling, 0 replies; 17+ messages in thread From: Junio C Hamano @ 2008-12-19 23:05 UTC (permalink / raw) To: Nanako Shiraishi; +Cc: Linus Torvalds, Alan, git Nanako Shiraishi <nanako3@lavabit.com> writes: > I think your explanation will help people if we make it part of the > documentation. Especially because two different cases need two > different recovery methods, and people need to learn which is which. Sure. It needs copyediting to make it readable standalone by not mentioning "your misunderstanding", inlining "earlier Linus's suggestion", etc., though. Patches welcome ;-) ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 21:45 ` Nanako Shiraishi 2008-12-19 23:05 ` Junio C Hamano @ 2008-12-19 23:12 ` Nanako Shiraishi 2008-12-19 23:51 ` Junio C Hamano 1 sibling, 1 reply; 17+ messages in thread From: Nanako Shiraishi @ 2008-12-19 23:12 UTC (permalink / raw) To: Junio C Hamano; +Cc: Linus Torvalds, Alan, git Quoting Junio C Hamano <gitster@pobox.com>: > Nanako Shiraishi <nanako3@lavabit.com> writes: > >> I think your explanation will help people if we make it part of the >> documentation. Especially because two different cases need two >> different recovery methods, and people need to learn which is which. > > Sure. It needs copyediting to make it readable standalone by not > mentioning "your misunderstanding", inlining "earlier Linus's suggestion", > etc., though. > > Patches welcome ;-) Okay, I'll send one later. Thanks. -- Nanako Shiraishi http://ivory.ap.teacup.com/nanako3/ ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Odd merge behaviour involving reverts 2008-12-19 23:12 ` Nanako Shiraishi @ 2008-12-19 23:51 ` Junio C Hamano 0 siblings, 0 replies; 17+ messages in thread From: Junio C Hamano @ 2008-12-19 23:51 UTC (permalink / raw) To: Nanako Shiraishi; +Cc: Linus Torvalds, Alan, git Nanako Shiraishi <nanako3@lavabit.com> writes: > Quoting Junio C Hamano <gitster@pobox.com>: > >> Nanako Shiraishi <nanako3@lavabit.com> writes: >> >>> I think your explanation will help people if we make it part of the >>> documentation. Especially because two different cases need two >>> different recovery methods, and people need to learn which is which. >> >> Sure. It needs copyediting to make it readable standalone by not >> mentioning "your misunderstanding", inlining "earlier Linus's suggestion", >> etc., though. >> >> Patches welcome ;-) > > Okay, I'll send one later. Thanks. ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2008-12-19 23:53 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-12-18 23:25 Odd merge behaviour involving reverts Alan 2008-12-18 23:58 ` Linus Torvalds 2008-12-19 0:11 ` Alan 2008-12-19 0:21 ` Linus Torvalds 2008-12-19 0:35 ` Alan 2008-12-19 0:46 ` Linus Torvalds 2008-12-19 1:30 ` Boyd Stephen Smith Jr. 2008-12-19 3:44 ` Nanako Shiraishi 2008-12-19 4:01 ` Linus Torvalds 2008-12-19 4:18 ` Jay Soffian 2008-12-19 4:23 ` Linus Torvalds 2008-12-19 5:24 ` Daniel Barkalow 2008-12-19 8:45 ` Junio C Hamano 2008-12-19 21:45 ` Nanako Shiraishi 2008-12-19 23:05 ` Junio C Hamano 2008-12-19 23:12 ` Nanako Shiraishi 2008-12-19 23:51 ` Junio C Hamano
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).