{"thread":{"id":"19157","subject":"AW: [EGIT] [PATCH RFC v1 5/5] Use the ignore patterns cache to determine ignores","startedAt":"2009-05-02T11:51:58Z","lastAt":"2009-05-03T13:26:50Z","messageCount":4,"participants":["Mark Struberg","Ferry Huberts (Pelagic)","Robin Rosenberg"],"isPatch":true,"patchVersion":1,"patchTotal":5},"messages":[{"id":"112874","messageId":"947431.4782.qm@web27806.mail.ukl.yahoo.com","threadId":"19157","inReplyTo":null,"subject":"AW: [EGIT] [PATCH RFC v1 5/5] Use the ignore patterns cache to determine ignores","fromName":"Mark Struberg","fromEmail":"struberg@yahoo.de","sentAt":"2009-05-02T11:51:58Z","receivedAt":"2009-05-02T11:51:58Z","isPatch":true,"sender":{"key":"struberg@yahoo.de","avatar":"https://gravatar.com/avatar/119742c3e8dbc8db35a92bdff0581aec8d364d415f770e60431cba262daa974f?d=mp&s=160"},"body":"\nFerry,\n\nI was just quickly hacking a rudimentary IgnoreRules class in jgit-core [1] mainly for the purpose of not forgetting about handling ignores finally ;)\n\nI now saw you worked on introducing gitignore to EGIT, but wasn't able to find any repo with your code but only a few old patches. \n\nDo you see a way we can move your work into jgit-core? I've seen you have a lot of Eclipse specific stuff in your code, so we'd obviously have to cut those things in slices.\n\nOne possible strategy would be to make the IgnoreRules stuff in jgit-core contain only the 'readonly' evaluation code, thus no addIgnore(File) and addIgnore(String rule). Eclipse (or others, e.g. editor) could then manipulate the .gitignore files, and all the other ignore options and afterwards tells the IgnoreRules to re-initialise.\n\nA second thing: Not looked at your code close enough, but I noticed that quite a few Eclipse plugins look at the subclipse when it comes to ignore handling, and try to 'hide' the ignore files from the user. I personally don't like that because the propset based ignore handling is a highly SVN specific thing. I prefer the way it's handled with the CVS plugin: show the .gitignore files to the user and even let him edit those files with an editor. As soon as we detect a change (even after a refresh if someone edited it with vi), we simply re-init our IgnoreRules.\n\nWDYT?\n\nBtw: Do you have a github account already? We could create an 'ignore' branch and I'm sure Jason can give you push rights to it. \n\ntxs and LieGrue,\nstrub\n\n[1] http://github.com/sonatype/JGit/blob/ad8d1460919f1c5d34fff17a2ea54acea62e4107/org.spearce.jgit/src/org/spearce/jgit/ignore/IgnoreRules.java\n\n\n\n--- Ferry Huberts <ferry.huberts@pelagic.nl> schrieb am Do, 26.3.2009:\n\n> Von: Ferry Huberts <ferry.huberts@pelagic.nl>\n> Betreff: [EGIT] [PATCH RFC v1 5/5] Use the ignore patterns cache to determine ignores\n> An: git@vger.kernel.org\n> CC: \"Shawn O. Pearce\" <spearce@spearce.org>, \"Robin Rosenberg\" <robin.rosenberg@dewire.com>, \"Ferry Huberts\" <ferry.huberts@pelagic.nl>\n> Datum: Donnerstag, 26. März 2009, 22:34\n> Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>\n> ---\n[patch cutted]\n\n\n      \n"},{"id":"112876","messageId":"49FC401A.1030701@pelagic.nl","threadId":"19157","inReplyTo":"947431.4782.qm@web27806.mail.ukl.yahoo.com","subject":"Re: AW: [EGIT] [PATCH RFC v1 5/5] Use the ignore patterns cache to determine ignores","fromName":"Ferry Huberts (Pelagic)","fromEmail":"ferry.huberts@pelagic.nl","sentAt":"2009-05-02T12:44:10Z","receivedAt":"2009-05-02T12:44:10Z","isPatch":true,"sender":{"key":"ferry.huberts@pelagic.nl","avatar":"https://gravatar.com/avatar/9f63c0289ad23cbdef0f7609a0af85ff0f4b3babfd066de9ff58f62d48cfd6f2?d=mp&s=160"},"body":"Mark Struberg wrote:\n> Ferry,\n> \n> I was just quickly hacking a rudimentary IgnoreRules class in jgit-core\n> [1] mainly for the purpose of not forgetting about handling ignores\n> finally ;)\n> \n\nI think there is no need to do that, I have that in my code already \n(although in a different form). My implementation reflects what C git does.\n\n> I now saw you worked on introducing gitignore to EGIT, but wasn't able\n> to find any repo with your code but only a few old patches.\n> \n\nit's in my local repo. I have no public repo\n\n> Do you see a way we can move your work into jgit-core? I've seen you\n> have a lot of Eclipse specific stuff in your code, so we'd obviously\n> have to cut those things in slices.\n\nI've been asking Shawn about input a few times but did not receive any \nyet. he wants it moved into a treewalk but I'm way too unfamiliar with \nthat code to do it properly (and easily)\n\nthe reason that I have a lot of eclipse specific stuff in there is because \nI just started implementing the handling in the egit plugin since that was \nthe easiest point to plug it into.\n\nI have been thinking a lot about getting rid of the eclipse specific stuff \nand I think that's not hard. it requires a bit of reworking of the code \nbut what I have in mind is actually a lot cleaner that what I sent out \nearlier.\n\n> \n> One possible strategy would be to make the IgnoreRules stuff in\n> jgit-core contain only the 'readonly' evaluation code, thus no\n\nthat would be easy\n\n> addIgnore(File) and addIgnore(String rule). Eclipse (or others, e.g.\n> editor) could then manipulate the .gitignore files, and all the other\n> ignore options and afterwards tells the IgnoreRules to re-initialise.\n\nI think it would be easier to let eclipse manipulate the ignore file and \nthen just re-read it into the 'ignore cache'\n\n> \n> A second thing: Not looked at your code close enough, but I noticed\n> that quite a few Eclipse plugins look at the subclipse when it comes to\n> ignore handling, and try to 'hide' the ignore files from the user. I\n> personally don't like that because the propset based ignore handling is\n> a highly SVN specific thing. I prefer the way it's handled with the CVS\n> plugin: show the .gitignore files to the user and even let him edit\n> those files with an editor. As soon as we detect a change (even after a\n> refresh if someone edited it with vi), we simply re-init our\n> IgnoreRules.\n> 1\n> WDYT?\n\nsee remark above. exactly what I had in mind. git does ignore handling \nlike cvs.\n\n> \n> Btw: Do you have a github account already? We could create an 'ignore'\n> branch and I'm sure Jason can give you push rights to it.\n> \n\nno account yet.\nwould be nice to work on this with other people.\n\nFerry\n"},{"id":"112917","messageId":"200905031517.33648.robin.rosenberg.lists@dewire.com","threadId":"19157","inReplyTo":"49FC401A.1030701@pelagic.nl","subject":"Re: AW: [EGIT] [PATCH RFC v1 5/5] Use the ignore patterns cache to determine ignores","fromName":"Robin Rosenberg","fromEmail":"robin.rosenberg.lists@dewire.com","sentAt":"2009-05-03T13:17:33Z","receivedAt":"2009-05-03T13:17:33Z","isPatch":true,"sender":{"key":"robin.rosenberg@dewire.com","avatar":"https://avatars.githubusercontent.com/u/46357?v=4"},"body":"lördag 02 maj 2009 14:44:10 skrev \"Ferry Huberts (Pelagic)\" <ferry.huberts@pelagic.nl>:\n> Mark Struberg wrote:\n> > Ferry,\n> > \n> > I was just quickly hacking a rudimentary IgnoreRules class in jgit-core\n> > [1] mainly for the purpose of not forgetting about handling ignores\n> > finally ;)\n> > \n> \n> I think there is no need to do that, I have that in my code already \n> (although in a different form). My implementation reflects what C git does.\n> \n> > I now saw you worked on introducing gitignore to EGIT, but wasn't able\n> > to find any repo with your code but only a few old patches.\n> > \n> \n> it's in my local repo. I have no public repo\n\nPerhaps you could send the patches if they are useful for review. I know Mark is anxious\nto get the patch train rolling.\n\nIf you do not want us to merge them yet add RFC to the subject prefix, though, I'm pretty sure we \nwon't merge the first version anyway...  Big or tricky patch sets rarely pass on the first attempt.\n\n-- robin\n"},{"id":"112918","messageId":"49FD9B9A.4090307@pelagic.nl","threadId":"19157","inReplyTo":"200905031517.33648.robin.rosenberg.lists@dewire.com","subject":"Re: AW: [EGIT] [PATCH RFC v1 5/5] Use the ignore patterns cache to determine ignores","fromName":"Ferry Huberts (Pelagic)","fromEmail":"ferry.huberts@pelagic.nl","sentAt":"2009-05-03T13:26:50Z","receivedAt":"2009-05-03T13:26:50Z","isPatch":true,"sender":{"key":"ferry.huberts@pelagic.nl","avatar":"https://gravatar.com/avatar/9f63c0289ad23cbdef0f7609a0af85ff0f4b3babfd066de9ff58f62d48cfd6f2?d=mp&s=160"},"body":"> \n> Perhaps you could send the patches if they are useful for review. I know Mark is anxious\n> to get the patch train rolling.\n> \n\n\nI think you missed it: I already sent out the patch train as an RFC. I got \nfeedback from Shawn yesterday and am working on it now.\nI'm also anxious to get it in.\n"}]}