{"thread":{"id":"10973","subject":"Temporary directories getting errantly added into trees","startedAt":"2007-11-22T03:51:53Z","lastAt":"2007-11-24T00:07:39Z","messageCount":12,"participants":["Sam Vilain","Eric Wong","Jeff King","Johannes Schindelin","Martin Langhoff","Junio C Hamano","Karl Hasselström","Marco Costalba"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"60602","messageId":"4744FCD9.7020102@vilain.net","threadId":"10973","inReplyTo":null,"subject":"Temporary directories getting errantly added into trees","fromName":"Sam Vilain","fromEmail":"sam@vilain.net","sentAt":"2007-11-22T03:51:53Z","receivedAt":"2007-11-22T03:51:53Z","isPatch":false,"sender":{"key":"sam@vilain.net","avatar":"https://gravatar.com/avatar/8fc840ca854dbf6f7065b4335e3b934951c1dca3b11db688e95e471901f8f4a8?d=mp&s=160"},"body":"I just got through a rather nasty debugging session with git-rebase,\nwhich relies on a .dotest directory.  Turns out that .dotest was\naccidentally added to the tree in the history of the commit that was\nbeing rebased onto.\n\nThere are a lot of temporary files like that made by various scripts -\neg, git-filter-branch makes .git-rewrite, etc.\n\nI think it would be a good thing for all if you had to work very hard to\nput files like this in the tree, or perhaps it would be better to go\nthrough and make all the tools that create these temporary directories\ncreate them under .git instead.\n\nThoughts/comments?\nSam.\n"},{"id":"60608","messageId":"20071122073059.GA28197@soma","threadId":"10973","inReplyTo":"4744FCD9.7020102@vilain.net","subject":"Re: Temporary directories getting errantly added into trees","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-11-22T07:30:59Z","receivedAt":"2007-11-22T07:30:59Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Sam Vilain <sam@vilain.net> wrote:\n> I just got through a rather nasty debugging session with git-rebase,\n> which relies on a .dotest directory.  Turns out that .dotest was\n> accidentally added to the tree in the history of the commit that was\n> being rebased onto.\n\nHi Sam,\n\nOuch\n\n> There are a lot of temporary files like that made by various scripts -\n> eg, git-filter-branch makes .git-rewrite, etc.\n> \n> I think it would be a good thing for all if you had to work very hard to\n> put files like this in the tree, or perhaps it would be better to go\n> through and make all the tools that create these temporary directories\n> create them under .git instead.\n\nPolluting the working tree is definitely a bad thing to do IMNSHO.\n\ngit-rebase --merge already puts its temporary directory inside\n.git/.dotest-merge.  I hoped to set an example with that and\nget more tools to do the same; but it hasn't happened yet...\n\n-- \nEric Wong\n"},{"id":"60641","messageId":"20071122104352.GB10389@sigill.intra.peff.net","threadId":"10973","inReplyTo":"4744FCD9.7020102@vilain.net","subject":"Re: Temporary directories getting errantly added into trees","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2007-11-22T10:43:52Z","receivedAt":"2007-11-22T10:43:52Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Nov 22, 2007 at 04:51:53PM +1300, Sam Vilain wrote:\n\n> I think it would be a good thing for all if you had to work very hard to\n> put files like this in the tree, or perhaps it would be better to go\n> through and make all the tools that create these temporary directories\n> create them under .git instead.\n\n\nPersonally, I think they should all go under .git with very descriptive,\npublic names (the name \".dotest\" is not really hidden from the user, and\nI have never really been able to make sense of it. Surely there is some\nmore useful name?).\n\nBut I think there is the real possibility of damaging user scripts which\nmake assumptions based on the presence of .dotest (to see if we're in a\ngit-am or rebase session, etc). I have no idea how common such scripts\nare.\n\n-Peff\n"},{"id":"60645","messageId":"Pine.LNX.4.64.0711221052280.27959@racer.site","threadId":"10973","inReplyTo":"4744FCD9.7020102@vilain.net","subject":"Re: Temporary directories getting errantly added into trees","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-22T10:55:00Z","receivedAt":"2007-11-22T10:55:00Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 22 Nov 2007, Sam Vilain wrote:\n\n> I just got through a rather nasty debugging session with git-rebase, \n> which relies on a .dotest directory.  Turns out that .dotest was \n> accidentally added to the tree in the history of the commit that was \n> being rebased onto.\n\nWhile we're at it, could we change the name so that it is .git/rebase, and \nnot .dotest or .git/.dotest-merge?\n\nYes, I know, existing tools could rely on the location.  But then, I do \nnot think that tools should be allowed to be _that_ married to particular \nimplementations.  And indeed, I see no reason why a tool should access \n.dotest, except for accessing .dotest/patch, and then it will be very \nobvious where it fails.\n\nBut I don't know about QGit, StGit, etc...\n\nCiao,\nDscho\n"},{"id":"60647","messageId":"46a038f90711220301o1cbb16b7g79eea541f8ca5e58@mail.gmail.com","threadId":"10973","inReplyTo":"Pine.LNX.4.64.0711221052280.27959@racer.site","subject":"Re: Temporary directories getting errantly added into trees","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2007-11-22T11:01:46Z","receivedAt":"2007-11-22T11:01:46Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On Nov 22, 2007 11:55 PM, Johannes Schindelin > While we're at it,\ncould we change the name so that it is .git/rebase, and\n> not .dotest or .git/.dotest-merge?\n\n+1 on that\n\n> ... And indeed, I see no reason why a tool should access\n> .dotest, except for accessing .dotest/patch, and then it will be very\n> obvious where it fails.\n\nwhen it comes to .dotest/patch, it must be reasonably accessible. When\ngit-am refuses to apply a patch, and I am resolving things by hand, I\nneed it pretty handy. I also sometimes edit .dotest/msg-clean.\n\ncheers,\n\n\nm\n"},{"id":"60654","messageId":"20071122111600.GF10389@sigill.intra.peff.net","threadId":"10973","inReplyTo":"Pine.LNX.4.64.0711221052280.27959@racer.site","subject":"Re: Temporary directories getting errantly added into trees","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2007-11-22T11:16:00Z","receivedAt":"2007-11-22T11:16:00Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Nov 22, 2007 at 10:55:00AM +0000, Johannes Schindelin wrote:\n\n> While we're at it, could we change the name so that it is .git/rebase, and \n> not .dotest or .git/.dotest-merge?\n\nI totally agree.\n\n> Yes, I know, existing tools could rely on the location.  But then, I do \n> not think that tools should be allowed to be _that_ married to particular \n> implementations.  And indeed, I see no reason why a tool should access \n> .dotest, except for accessing .dotest/patch, and then it will be very \n> obvious where it fails.\n\nAnother reason might be something like:\n\n  test -d .dotest && die \"rebase or am already in progress\"\n\nwhich some of the git tools do, and which third party scripts might care\nabout.\n\n-Peff\n"},{"id":"60663","messageId":"Pine.LNX.4.64.0711221129170.27959@racer.site","threadId":"10973","inReplyTo":"46a038f90711220301o1cbb16b7g79eea541f8ca5e58@mail.gmail.com","subject":"Re: Temporary directories getting errantly added into trees","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-22T11:30:40Z","receivedAt":"2007-11-22T11:30:40Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 23 Nov 2007, Martin Langhoff wrote:\n\n> On Nov 22, 2007 11:55 PM, Johannes Schindelin\n> \n> > ... And indeed, I see no reason why a tool should access .dotest, \n> > except for accessing .dotest/patch, and then it will be very obvious \n> > where it fails.\n> \n> when it comes to .dotest/patch, it must be reasonably accessible. When \n> git-am refuses to apply a patch, and I am resolving things by hand, I \n> need it pretty handy. I also sometimes edit .dotest/msg-clean.\n\nMaybe install a .dotest/ symlink for a few \"git eons\", i.e. some 6 months?\n\nAlthough this will not work on Windows, I see not much problems in it, \nsince Windows users are not big in scripting (at least the git \ntype) anyway.\n\nCiao,\nDscho\n"},{"id":"60664","messageId":"Pine.LNX.4.64.0711221130510.27959@racer.site","threadId":"10973","inReplyTo":"20071122111600.GF10389@sigill.intra.peff.net","subject":"Re: Temporary directories getting errantly added into trees","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-22T11:32:55Z","receivedAt":"2007-11-22T11:32:55Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi.\n\nOn Thu, 22 Nov 2007, Jeff King wrote:\n\n> On Thu, Nov 22, 2007 at 10:55:00AM +0000, Johannes Schindelin wrote:\n> \n> > Yes, I know, existing tools could rely on the location.  But then, I \n> > do not think that tools should be allowed to be _that_ married to \n> > particular implementations.  And indeed, I see no reason why a tool \n> > should access .dotest, except for accessing .dotest/patch, and then it \n> > will be very obvious where it fails.\n> \n> Another reason might be something like:\n> \n>   test -d .dotest && die \"rebase or am already in progress\"\n> \n> which some of the git tools do, and which third party scripts might care \n> about.\n\nYep, for example this nice bash-completion addendum which changes the \nprompt according to the current repository's state.\n\nI hope that a symlink .dotest -> .git/rebase (as I suggested in a reply to \nMartin) would help that, but in the long run I'd appreciate losing even \nthat.\n\nCiao,\nDscho\n\nP.S.: note that even a symlink would already help the situation described \nby Sam.\n"},{"id":"60667","messageId":"7vhcje5x55.fsf@gitster.siamese.dyndns.org","threadId":"10973","inReplyTo":"46a038f90711220301o1cbb16b7g79eea541f8ca5e58@mail.gmail.com","subject":"Re: Temporary directories getting errantly added into trees","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-11-22T11:37:26Z","receivedAt":"2007-11-22T11:37:26Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Martin Langhoff\" <martin.langhoff@gmail.com> writes:\n\n> when it comes to .dotest/patch, it must be reasonably accessible. When\n> git-am refuses to apply a patch, and I am resolving things by hand, I\n> need it pretty handy. I also sometimes edit .dotest/msg-clean.\n\nAny serious \"am\" user shares the habit to edit .dotest/patch and\nit would be VERY painful to change this, I suspect.\n\nI do not mind shipping .dotest in the sample templates/info--exclude\nfile, though.\n"},{"id":"60737","messageId":"20071123082103.GA11236@diana.vm.bytemark.co.uk","threadId":"10973","inReplyTo":"Pine.LNX.4.64.0711221052280.27959@racer.site","subject":"Re: Temporary directories getting errantly added into trees","fromName":"Karl Hasselström","fromEmail":"kha@treskal.com","sentAt":"2007-11-23T08:21:03Z","receivedAt":"2007-11-23T08:21:03Z","isPatch":false,"sender":{"key":"kha@treskal.com","avatar":"https://gravatar.com/avatar/f0120c734b5279b345075a28521e1ac66acb20c9913ffe9bf6ae97e53f7f3f13?d=mp&s=160"},"body":"On 2007-11-22 10:55:00 +0000, Johannes Schindelin wrote:\n\n> But I don't know about QGit, StGit, etc...\n\nI don't think StGit relies on the name of any file outside .git. (It\ndoes pollute the root of the worktree with some temp files of its own,\nthough -- but not across invocations.)\n\n-- \nKarl Hasselström, kha@treskal.com\n      www.treskal.com/kalle\n"},{"id":"60764","messageId":"e5bfff550711230644o3dd069b7r8346b95e79ff5c@mail.gmail.com","threadId":"10973","inReplyTo":"Pine.LNX.4.64.0711221052280.27959@racer.site","subject":"Re: Temporary directories getting errantly added into trees","fromName":"Marco Costalba","fromEmail":"mcostalba@gmail.com","sentAt":"2007-11-23T14:44:14Z","receivedAt":"2007-11-23T14:44:14Z","isPatch":false,"sender":{"key":"mcostalba@gmail.com","avatar":null},"body":"On Nov 22, 2007 11:55 AM, Johannes Schindelin\n<Johannes.Schindelin@gmx.de> wrote:\n>\n> But I don't know about QGit, StGit, etc...\n>\n\nQGit does not rely on .dotest or any other temporary file produced by git\n\nInterface with git is only through git commands.\n\nThanks\nMarco\n"},{"id":"60797","messageId":"47476B4B.6030906@vilain.net","threadId":"10973","inReplyTo":"20071123082103.GA11236@diana.vm.bytemark.co.uk","subject":"Re: Temporary directories getting errantly added into trees","fromName":"Sam Vilain","fromEmail":"sam@vilain.net","sentAt":"2007-11-24T00:07:39Z","receivedAt":"2007-11-24T00:07:39Z","isPatch":false,"sender":{"key":"sam@vilain.net","avatar":"https://gravatar.com/avatar/8fc840ca854dbf6f7065b4335e3b934951c1dca3b11db688e95e471901f8f4a8?d=mp&s=160"},"body":"Karl Hasselström wrote:\n>> But I don't know about QGit, StGit, etc...\n>>     \n> I don't think StGit relies on the name of any file outside .git. (It\n> does pollute the root of the worktree with some temp files of its own,\n> though -- but not across invocations.)\n>   \n\nYes, I've had to add .tmp_msg* to my .git/info/exclude for those, too. \nGiven nothing cares, perhaps put them under .git anyway?\n\nSam.\n"}]}