{"thread":{"id":"35","subject":"Out-tree merges","startedAt":"2005-04-15T16:29:58Z","lastAt":"2005-04-15T16:29:58Z","messageCount":1,"participants":["Petr Baudis"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"222","messageId":"20050415162957.GI19078@pasky.ji.cz","threadId":"35","inReplyTo":null,"subject":"Out-tree merges","fromName":"Petr Baudis","fromEmail":"pasky@ucw.cz","sentAt":"2005-04-15T16:29:58Z","receivedAt":"2005-04-15T16:29:58Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"  Hello,\n\n  I've been thinking about it, and although it seemed Just Sensible\ninitially, I'm liking it less and less now that I'm actually doing\nout-tree merges (git merge already supports it). What is the motivation\nof doing things outside of your working directory?\n\n  The only one I can imagine is that it could interfere with some local\nchanges in your directory. And I think that this does not make sense.\nEither you are going to keep them and you should commit them, or you\ndon't and there's no reason for keeping them around. Is this really that\ncommon for you?\n\n  I have two counter-arguments. First, you likely can't build the thing\nin your merge tree, so you can't check if it even compiles after the\nmerge went through. Second, you need to work quite differently when\nworking in a merge tree. You can't grep for stuff, you cannot (without\nthinking about it and going to different directories) peek to header\nfiles to check if this structure member is really __u32, etc. You might\ndo all of this when merging, let's say when solving weird conflicts.\n\n  Of course being better off with your working directory assumes that\nyou have one. OTOH it is hardly imaginable for me that you would all of\nsudden want to say \"hey, now I want to take these two trees all of\nsudden and void and merge them together\". Not in any common real world\ncases.  Or am I wrong?\n\n  So, I'm thinking whether to just revert to the original behaviour of\ndoing the merges in the working tree, or make it optional (which would\nmake the scripts more complicated and convoluted).\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nC++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor\n"}]}