(1,1,'2011-05-06 15:00:18','P',1,'Missing copyright header.',NULL,3356,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffTest.java','AABOIn///WQ='),(489,5,'2011-05-09 09:28:26','P',1,'a text which doesn\'t contain \"year\" or \"month\" but called \"yearsMonthsAgo\"? Strange, or?',NULL,3361,2,'org.eclipse.jgit/resources/org/eclipse/jgit/JGitText.properties','AABOIn///M8='),(489,4,'2011-05-09 12:40:19','P',1,'it\'s the template used to build the \"x years, y months\" format, if x or y are 1 we have to use singular, as other languages may require a different order of arguments I have chosen this nested approach','AABOIn///M8=',3361,2,'org.eclipse.jgit/resources/org/eclipse/jgit/JGitText.properties','AABOIn///Mk='),(93,5,'2011-05-09 09:28:26','P',1,'That strategy of converting age incrementally from seconds to minutes, from minutes to days and so leads to very nice to read & understand code ... but in the end it\'s much slower than\n\n// convert to seconds\nlong age = (System.currentTimeMillis() - when.getTime()) / 1000;\n\nif (age < 90)\n...\nelse if (age < 90*60...)\n..',NULL,3361,2,'org.eclipse.jgit/src/org/eclipse/jgit/util/RelativeDateFormatter.java','AABOIn///Ms='),(93,4,'2011-05-09 12:40:19','P',1,'Done','AABOIn///Ms=',3361,2,'org.eclipse.jgit/src/org/eclipse/jgit/util/RelativeDateFormatter.java','AABOIn///MY='),(195,4,'2011-05-13 10:17:03','P',1,'Done','AABOI3///2M=',3362,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitGraphTable.java','AABOI3///14='),(178,4,'2011-05-13 10:17:03','P',1,'ick, missed that','AABOI3///2Q=',3362,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitGraphTable.java','AABOI3///18='),(195,6,'2011-05-13 09:01:12','P',1,'If you move this block to historyPage you would not have to introduce this new dependency from CommitGraphTable to GitHistoryPage.',NULL,3362,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitGraphTable.java','AABOI3///2M='),(178,6,'2011-05-13 09:01:12','P',1,'Why is this an instance variable?',NULL,3362,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitGraphTable.java','AABOI3///2Q='),(611,4,'2011-05-17 10:06:59','P',1,'yeah, this is much better','AABOI3///Yg=',3362,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOI3///X8='),(611,44,'2011-05-17 09:01:14','P',1,'It\'s not required to rebuild the commit list here. Just refresh the table: graph.getTableView().refresh();',NULL,3362,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOI3///Yg='),(37,6,'2011-05-11 13:15:31','P',1,'Now the commit action is not enabled when I select a non-project resource. The method getRepositories does only work for projects.',NULL,3369,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CommitActionHandler.java','AABOIn///BI='),(37,44,'2011-05-11 19:34:37','P',1,'Done','AABOIn///BI=',3369,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CommitActionHandler.java','AABOIn//++c='),(13,44,'2011-05-12 08:48:58','P',1,'Done','AABOIn//+9w=',3369,4,'/COMMIT_MSG','AABOIn//+50='),(13,4,'2011-05-11 22:13:41','P',1,'I would add a blank line here to separate the 2 paragraphs',NULL,3369,4,'/COMMIT_MSG','AABOIn//+9w='),(99,4,'2011-05-11 22:13:41','P',1,'wouldn\'t it look cleaner if the null checks would be moved into buildFileList() ?',NULL,3369,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CommitOperation.java','AABOIn//++A='),(203,44,'2011-05-12 08:48:58','P',1,'Done','AABOIn//+94=',3369,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CommitOperation.java','AABOIn//+5k='),(140,44,'2011-05-12 08:48:58','P',1,'Done','AABOIn//+98=',3369,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CommitOperation.java','AABOIn//+5o='),(152,44,'2011-05-12 08:48:58','P',1,'Done','AABOIn//+90=',3369,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CommitOperation.java','AABOIn//+5s='),(99,44,'2011-05-12 08:48:58','P',1,'I\'m not sure. I like to do null checks on parameters early.','AABOIn//++A=',3369,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CommitOperation.java','AABOIn//+5w='),(152,4,'2011-05-11 22:13:41','P',1,'I think HashSet would be faster as in addUntracked() you call contains() which is O(n) for ArrayList but O(1) for HashSet',NULL,3369,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CommitOperation.java','AABOIn//+90='),(203,4,'2011-05-11 22:13:41','P',1,'style nit: looks like a blank is missing here',NULL,3369,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CommitOperation.java','AABOIn//+94='),(140,4,'2011-05-11 22:13:41','P',1,'style nit: this line looks too wide',NULL,3369,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CommitOperation.java','AABOIn//+98='),(1119,4,'2011-05-11 22:13:41','P',1,'what if length > 1 ?',NULL,3369,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java','AABOIn//++I='),(1002,4,'2011-05-11 22:13:41','P',1,'gerrit shows this diff in a strange way ...',NULL,3369,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java','AABOIn//++M='),(1119,44,'2011-05-12 08:48:58','P',1,'It might happen that more than one resource exists for a given file (e.g. nested projects). Anyway, we just need a resource and can thus take the first.','AABOIn//++I=',3369,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java','AABOIn//+5g='),(95,4,'2011-05-11 09:39:07','P',0,'some of the tycho artifactIds changed with 0.12',NULL,3374,1,'org.eclipse.jgit.packaging/pom.xml','AABOIn///CE='),(94,4,'2011-05-11 09:39:07','P',0,'this group id needs to change to org.eclipse.tycho since 0.12 is the first version coming from eclipse :-)',NULL,3374,1,'org.eclipse.jgit.packaging/pom.xml','AABOIn///CI='),(136,4,'2011-05-11 09:42:19','P',0,'due to the move to Eclipse Tycho changed groupid and some of its artifactIds, hence all egit module poms also might need to be adapted.',NULL,3378,2,'pom.xml','AABOIn///B8='),(2,4,'2011-05-11 14:19:54','P',1,'shouldn\'t that be your own Copyright ?',NULL,3387,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CompareIndexWithHeadAction.java','AABOIn///AY='),(96,4,'2011-05-11 14:19:54','P',1,'style nit: we use no braces around single line blocks',NULL,3387,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CompareIndexWithHeadActionHandler.java','AABOIn///AU='),(426,4,'2011-05-11 23:21:00','d',1,'javadoc should mention if this is an absolute path or relative to the repo',NULL,3389,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/CompareUtils.java','AABOIn//+88='),(423,4,'2011-05-11 23:20:13','d',1,'typo s/outide/outside/',NULL,3389,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/CompareUtils.java','AABOIn//+9A='),(119,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditor.java','AABOIn//+7g='),(112,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditor.java','AABOIn//+7k='),(105,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditor.java','AABOIn//+7o='),(91,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditor.java','AABOIn//+7s='),(80,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditor.java','AABOIn//+7w='),(145,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInput.java','AABOIn//+70='),(138,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInput.java','AABOIn//+74='),(121,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInput.java','AABOIn//+78='),(114,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInput.java','AABOIn//+8A='),(47,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInput.java','AABOIn//+8c='),(106,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInput.java','AABOIn//+8E='),(99,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInput.java','AABOIn//+8I='),(92,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInput.java','AABOIn//+8M='),(76,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInput.java','AABOIn//+8Q='),(69,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInput.java','AABOIn//+8U='),(54,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInput.java','AABOIn//+8Y='),(109,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorInputFactory.java','AABOIn//+7c='),(210,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorPage.java','AABOIn//+7Q='),(319,49,'2011-05-11 23:58:07','P',1,'Commit can be signed-off by other people then author and committer. Maybe you should create more universal static regexp in replaceSignedOfByLine() that will match all signed-off tags regardless who actually signed commit.',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditorPage.java','AABOIn//+7U='),(177,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/DiffEditorPage.java','AABOIn//+7M='),(196,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/DiffStyleRangeFormatter.java','AABOIn//+7E='),(185,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/DiffStyleRangeFormatter.java','AABOIn//+7I='),(59,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/RepositoryCommit.java','AABOIn//+7A='),(54,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitResultLabelProvider.java','AABOIn//+60='),(47,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitResultLabelProvider.java','AABOIn//+64='),(39,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitResultLabelProvider.java','AABOIn//+68='),(232,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchQuery.java','AABOIn//+6g='),(225,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchQuery.java','AABOIn//+6k='),(218,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchQuery.java','AABOIn//+6o='),(211,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchQuery.java','AABOIn//+6s='),(152,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchQuery.java','AABOIn//+6w='),(54,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchResult.java','AABOIn//+6c='),(67,49,'2011-05-11 23:58:07','P',0,'Why you removed this javadoc? It is somehow connected with this change?',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/search/CommitSearchResult.java','AABOIn//+6Y='),(50,49,'2011-05-11 23:58:07','P',1,'please revert those irrelevant changes',NULL,3390,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIIcons.java','AABOIn//+8g='),(11,210,'2011-05-12 15:30:27','P',1,'Only when running GitHubClientTest or AllHeadlessTests ... CL is required within HttpClient class initialization ... Ah i could be that you have only HttpClient 4.1 installed and not HttpClient 3.1. and HttpClient 4.1. dont use CL ...','AABOIn//+38=',3394,1,'org.eclipse.egit.github.core.tests/META-INF/MANIFEST.MF','AABOIn//+30='),(11,208,'2011-05-12 15:22:39','P',1,'Hmm, I don\'t get that exception when running in Indigo.','AABOIn//+4I=',3394,1,'org.eclipse.egit.github.core.tests/META-INF/MANIFEST.MF','AABOIn//+38='),(11,210,'2011-05-12 15:09:17','P',1,'Hi KEvin without commons logging I get following stacktrace:\n\nCaused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory\n	at org.apache.commons.httpclient.HttpClient.<clinit>(HttpClient.java:66)\n	at org.eclipse.egit.github.core.client.GitHubClient.<init>(GitHubClient.java:57)\n\n when I want to start unit tests from Eclipse (Junit view) ... :-(','AABOIn//+4Q=',3394,1,'org.eclipse.egit.github.core.tests/META-INF/MANIFEST.MF','AABOIn//+4I='),(11,208,'2011-05-12 14:55:00','P',1,'I\'m missing why this is being added.  I don\'t see it used anywhere.',NULL,3394,1,'org.eclipse.egit.github.core.tests/META-INF/MANIFEST.MF','AABOIn//+4Q='),(88,4,'2011-05-12 22:15:59','d',1,'typo: s/interupted/interrupted/\n\nerror message should be externalized',NULL,3399,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronize.java','AABOI3///8M='),(11,4,'2011-05-18 23:37:41','P',1,'typo: s/have and ordered/have an ordered/',NULL,3404,4,'/COMMIT_MSG','AABOI3///KQ='),(211,49,'2011-05-12 23:01:43','P',1,'Shouldn\'t be here FileUtils.mkdir(gitDir) sice previous implementation doesn\'t create dirs recursive.',NULL,3406,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/AbstractSynchronizeViewTest.java','AABOI3///7o='),(211,4,'2011-05-13 22:28:10','P',1,'I found that even this is not needed, seems the directory gets created somewhere else already','AABOI3///7o=',3406,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/AbstractSynchronizeViewTest.java','AABOI3///ws='),(107,8,'2011-05-15 21:33:10','P',1,'StringBuilder is preferable over StringBuffer',NULL,3407,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/DeleteBranchOperation.java','AABOI3///g0='),(107,8,'2011-05-15 21:25:51','P',1,'StringBuffer is so 1900-ish. and adding the \", \" is I think\ncleaner if you add it conditionally',NULL,3407,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/DeleteBranchOperation.java','AABOI3///hA='),(117,49,'2011-05-16 23:42:31','P',1,'Now when we conditionally added comma we don\'t need to do a substring(0, length - 2)',NULL,3407,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/DeleteBranchOperation.java','AABOI3///Z8='),(117,4,'2011-05-17 07:04:53','P',1,'Done','AABOI3///Z8=',3407,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/DeleteBranchOperation.java','AABOI3///ZA='),(488,5,'2011-05-13 08:14:49','P',1,'I started solving this problem with a very similar aproach. Calling mergeAlgorithm.merge() to produce the merge result. But: why should we do a full-fledged merge which does two complicated diffs (ok - one diff is not so complicated because one text is empty) although we know exactly what the merge result should look like. If OURS is the modified version and THEIRS is deleted then we expect a conflict like that:\n\n>>>> OURS\n<complete content of OUR\'s>\n==== THEIRS\n<<<<<\n\nMy idea is to create such a mergeresult manually which is much faster than calling the merger.\n\nThe more I think about it: Let\'s put this optimization into the mergealgorithm itself. I\'ll make a proposal for that. Then this code here can stay.',NULL,3409,1,'org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java','AABOI3///2k='),(16,4,'2011-05-13 11:59:04','P',1,'typo: s/immediatly/immediately/',NULL,3410,1,'/COMMIT_MSG','AABOI3///04='),(16,5,'2011-05-13 12:23:07','P',1,'Done','AABOI3///04=',3410,1,'/COMMIT_MSG','AABOI3///0k='),(181,4,'2011-05-13 21:41:54','P',1,'typo in method name s/asseetReflog/assertReflog/',NULL,3414,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ResetCommandTest.java','AABOI3///xY='),(3,208,'2011-05-14 00:43:34','P',1,'Please submit in a separate changeset with changes to jdt prefs file.',NULL,3415,1,'org.eclipse.egit.github.core/.classpath','AABOI3///vo='),(8,208,'2011-05-14 00:43:34','P',1,'Please submit this in another change directly about migrating JDT prefs to be 1.5 compliant.',NULL,3415,1,'org.eclipse.egit.github.core/.settings/org.eclipse.jdt.core.prefs','AABOI3///vs='),(175,210,'2011-05-14 21:01:28','P',1,'The NameValuePair class exists also in 4.1. but i don\'t see any possibility to set query parameters as NameValuePairs. It exists only URLEncodedUtils#parse(URI,String) to parse query parameters from an existing URI ...','AABOI3///v4=',3415,1,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/client/GitHubClient.java','AABOI3///pU='),(184,208,'2011-05-14 00:43:34','P',1,'Don\'t use curly braces for single line if blocks.',NULL,3415,1,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/client/GitHubClient.java','AABOI3///v0='),(175,208,'2011-05-14 00:43:34','P',1,'Use characters (\'&\') instead of single character string (\"&)\n\nDoes 4.1 no longer have the NameValuePair class?',NULL,3415,1,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/client/GitHubClient.java','AABOI3///v4='),(136,208,'2011-05-14 00:43:34','P',1,'Please retain the ability to clear the credentials by calling with null username and password',NULL,3415,1,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/client/GitHubClient.java','AABOI3///v8='),(204,208,'2011-05-14 00:43:34','P',1,'Don\'t use curly braces for single line blocks.',NULL,3415,1,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/client/GitHubClient.java','AABOI3///vw='),(79,208,'2011-05-14 00:43:34','P',1,'Please change parameter name and comment to reference host instead of configuration.',NULL,3415,1,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/client/GitHubClient.java','AABOI3///wA='),(46,208,'2011-05-14 00:43:34','P',1,'Can you keep the imports in the original order?',NULL,3415,1,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/client/GitHubClient.java','AABOI3///wE='),(1,208,'2011-05-15 02:59:41','P',1,'Please revert this file for this patch.',NULL,3415,2,'org.eclipse.egit.github.core/.classpath','AABOI3///lM='),(1,208,'2011-05-15 02:59:41','P',1,'Please revert this file.',NULL,3415,2,'org.eclipse.egit.github.core/.settings/org.eclipse.jdt.core.prefs','AABOI3///lU='),(5,208,'2011-05-15 02:59:41','P',1,'Is this file changing required for 4.1 support?',NULL,3415,2,'org.eclipse.mylyn.github.ui/.settings/egit-github.launch','AABOI3///lQ='),(446,44,'2011-05-18 12:46:27','P',1,'Unstaging works if you add this line: ent.setLastModified(0);\nWe are not sure if 0 is the right value but lastModified must be changed to indicate that working tree state and index state differ.',NULL,3418,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOI3///R0='),(471,44,'2011-05-18 13:32:19','P',1,'Update the affected entries instead of calculating a complete IndexDiff. See CommitDialog.getFileStatus(String path) for an example.',NULL,3418,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOI3///RA='),(401,44,'2011-05-18 13:32:19','P',1,'Update the affected entries instead of calculating a complete IndexDiff.\nSee CommitDialog.getFileStatus(String path) for an example.',NULL,3418,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOI3///RE='),(410,44,'2011-05-18 12:46:27','P',1,'There should be a finally block to unlock the DirCache in case of error:\n\ndirCache = repository.lockDirCache();\ntry {\n\n... work with dirCache\n} finally {\n     dirCache.unlock();\n}',NULL,3418,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOI3///Rs='),(435,44,'2011-05-18 12:46:27','P',1,'Does not work for the added use case. tw is null in this case.',NULL,3418,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOI3///Rw='),(48,208,'2011-05-15 05:05:30','P',1,'A maximum number of menu entries be shown similar to SwitchToMenu',NULL,3421,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWithMenu.java','AABOI3///kE='),(15,49,'2011-05-15 21:24:04','P',1,'Done','AABOI3///hY=',3421,3,'/COMMIT_MSG','AABOI3///hQ='),(15,208,'2011-05-15 21:19:12','P',1,'Should be \"a separate action\" instead of \"an\"',NULL,3421,3,'/COMMIT_MSG','AABOI3///hY='),(10,4,'2011-05-16 13:27:02','P',1,'typos: s/build/built/\ns/menu will contains/menu will contain/\ns/entry\'s/entries/',NULL,3421,4,'/COMMIT_MSG','AABOI3///gg='),(54,4,'2011-05-19 21:30:02','d',1,'missing javadoc',NULL,3421,9,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWithMenu.java','AABOI3///AA='),(11,210,'2011-05-16 19:42:10','P',1,'please add x-friend:=\"org.eclipse.mylyn.github.ui\"',NULL,3436,1,'org.eclipse.mylyn.github.core/META-INF/MANIFEST.MF','AABOI3///c0='),(9,210,'2011-05-16 19:42:10','P',1,'please add x-friend:=\"org.eclipse.mylyn.github.ui\"',NULL,3436,1,'org.eclipse.mylyn.github.core/META-INF/MANIFEST.MF','AABOI3///c4='),(149,4,'2011-05-18 23:05:50','P',1,'should be replaced by same property as above',NULL,3446,1,'org.eclipse.egit-updatesite/pom.xml','AABOI3///Lc='),(144,4,'2011-05-18 23:05:50','P',1,'this path should be injected by a property (which could default to nightly path) so that we can use it for both nightly and release builds without changing the pom.xml',NULL,3446,1,'org.eclipse.egit-updatesite/pom.xml','AABOI3///Lg='),(86,4,'2011-05-18 23:05:50','P',1,'plugin version shouldn\'t be specified here but in pluginManagement section in parent pom\n\nwith some additional properties we could parametrize this in a way so that this configuration could go into a common shared eclipse-tycho-parent pom so that projects using that would just have to use that parent and define some properties to configure it.',NULL,3446,1,'org.eclipse.egit-updatesite/pom.xml','AABOI3///LY='),(247,2,'2011-05-18 13:29:31','P',1,'I\'d call this addPath(String path) to mimic what we do elsewhere (e.g., CheckoutCommand)',NULL,3453,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/ResetCommand.java','AABOI3///RM='),(369,44,'2011-05-19 15:18:52','P',1,'Nearly same code in lines [369,386] and [320, 337].',NULL,3469,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOI3///E0='),(366,44,'2011-05-19 15:18:52','P',1,'CommandAction is an internal class.\n\n\n/**\n * Instantiate an action that will execute the command.\n * <p>\n * This is a legacy bridge class, and should not be used outside of the\n * framework. Please use menu contributions to display a command in a menu or\n * toolbar.',NULL,3469,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOI3///Ew='),(18,4,'2011-05-25 08:53:52','P',1,'typo: s/provide/provider/',NULL,3472,9,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/sharing/MoveProjectsLabelProvider.java','AABOJX///u8='),(772,49,'2011-05-19 19:52:35','P',1,'unnecessary brackets',NULL,3473,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java','AABOI3///Bg='),(570,49,'2011-05-19 19:52:35','P',1,'IMHO this string should be exported into UIPreferences class',NULL,3473,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java','AABOI3///Bs='),(736,49,'2011-05-19 19:52:35','P',1,'I can\'t find proper variable mapping in UIText class for 	CommitDialogPreferencePage_changeIdTooltip',NULL,3473,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOI3///BQ='),(10,5,'2011-05-30 05:32:17','P',1,'Great that this is clarified. I have a day off today but will propose a fix for this one this night.','AABOJX///a4=',3481,3,'/COMMIT_MSG','AABOJn///1M='),(10,1,'2011-05-27 17:03:17','P',1,'Oy. It was so similar to my own change that I assumed you had just cherry-picked mine, updated a few things, and pushed it back! I didn\'t realize it was actually a different change. I apologize for assuming this was based on my work. FWIW, my change was I1556b7e7ea21c31ff76bca930269e0cc7d55cd26\n\nI think its stupid to revert this. Lets just make a new commit that fixes some of the comments I made in the post-submit review.','AABOJX///cY=',3481,3,'/COMMIT_MSG','AABOJX///a4='),(10,5,'2011-05-27 15:54:14','P',1,'My fault, I overlooked this line. \n\nRegarding: \"RFC change of mine\". Really, I wrote this change completely on my own some days back. Only now I checked your open proposals and saw that you have a similar open change. I would hate if somebody hijacks my open proposals without telling me and therefore it\'s important for me to make clear that I haven\'t copied your work. The fact my change contains mistakes you wouldn\'t do gives some proof, or? \n\nHow to proceed? I have no problems if we just take your proposal and let this one overwrite my change. Or we revert mine before.','AABOJX///nA=',3481,3,'/COMMIT_MSG','AABOJX///cY='),(10,1,'2011-05-25 17:02:45','P',1,'Next time you take an RFC change of mine and drop the RFC from the commit subject... please re-read the commit message to make sure there aren\'t statements like this still in the body.  :-)',NULL,3481,3,'/COMMIT_MSG','AABOJX///nA='),(909,5,'2011-05-30 22:30:42','P',1,'Done','AABOJX///ms=',3481,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/RefDirectory.java','AABOJn///wg='),(1082,5,'2011-05-30 22:30:42','P',1,'Done','AABOJX///mo=',3481,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/RefDirectory.java','AABOJn///wM='),(888,5,'2011-05-30 22:30:42','P',1,'Done','AABOJX///m0=',3481,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/RefDirectory.java','AABOJn///wo='),(855,5,'2011-05-30 22:30:42','P',1,'Done','AABOJX///m4=',3481,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/RefDirectory.java','AABOJn///ws='),(888,1,'2011-05-25 17:10:39','P',1,'This is somehow wrong. The file may have been modified between the time we read the file above with IO.readSome() and now. We need to be capturing the lastModified() before IO.readSome().\n\nWe already have it, its in the otherSnapshot.',NULL,3481,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/RefDirectory.java','AABOJX///m0='),(855,1,'2011-05-25 17:10:39','P',1,'Drop this test and handle it through the FileNotFoundException below. We are unlikely to be here unless the caller received our path from a readdir() result, which means we are very likely to have exists() return true, making exists() pointless.\n\nIf the user application feeds us a file path explicitly (e.g. getRef(\"refs/heads/master\")) we should try the open call first, its again somewhat likely the reference actually exists and we need to read it from disk. If it doesn\'t exist, the exception is a bit more expensive than the stat(), but I think its a smaller percentage of requests that are doing getRef() for non-existing names.',NULL,3481,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/RefDirectory.java','AABOJX///m4='),(1082,1,'2011-05-25 17:10:39','P',1,'I think all of these constructors should change to take FileSnapshot instead of long mtime.',NULL,3481,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/RefDirectory.java','AABOJX///mo='),(909,1,'2011-05-25 17:10:39','P',1,'Again, wrong, same as above, we need to use otherSnapshot.',NULL,3481,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/RefDirectory.java','AABOJX///ms='),(50,4,'2011-05-20 19:14:04','P',1,'What does ret mean in this name ? We prefer readable names ...',NULL,3484,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java','AABOI3//+60='),(10,4,'2011-05-20 19:14:04','P',0,'style nit: we don\'t use author tags \n\nmissing javadoc for public class',NULL,3484,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java','AABOI3//+64='),(6,4,'2011-05-20 19:14:04','P',1,'Why do you push an unresolved conflict for code review ? This can\'t compile.',NULL,3484,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java','AABOI3//+68='),(58,4,'2011-05-20 19:14:04','P',1,'why is the constructor protected ?',NULL,3484,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java','AABOI3//+6g='),(71,4,'2011-05-20 19:14:04','P',1,'what is the purpose of this method ?',NULL,3484,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java','AABOI3//+6k='),(96,4,'2011-05-20 19:14:04','P',1,'println doesn\'t seem to be appropriate error handling',NULL,3484,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java','AABOI3//+6s='),(60,4,'2011-05-20 19:14:04','P',1,'workingTreeIt will be always null here',NULL,3484,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java','AABOI3//+6w='),(1,4,'2011-05-20 19:14:04','P',0,'missing license header',NULL,3484,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java','AABOI3//+7A='),(10,1,'2011-05-21 01:08:56','P',1,'Style-nit: Trailing space in the commit message. :-)',NULL,3486,1,'/COMMIT_MSG','AABOJH///+A='),(10,6,'2011-05-23 09:33:53','P',1,'Done','AABOJH///+A=',3486,1,'/COMMIT_MSG','AABOJH///2w='),(69,6,'2011-05-23 09:33:53','P',1,'Done','AABOJH///9o=',3486,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatchIdDiffFormatterTest.java','AABOJH///3c='),(2,6,'2011-05-23 09:33:53','P',1,'Done','AABOJH///9w=',3486,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatchIdDiffFormatterTest.java','AABOJH///3g='),(118,6,'2011-05-23 09:33:53','P',1,'Done','AABOJH///9c=',3486,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatchIdDiffFormatterTest.java','AABOJH///3Q='),(102,6,'2011-05-23 09:33:53','P',1,'Done','AABOJH///9g=',3486,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatchIdDiffFormatterTest.java','AABOJH///3U='),(78,6,'2011-05-23 09:33:53','P',1,'Done','AABOJH///9k=',3486,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatchIdDiffFormatterTest.java','AABOJH///3Y='),(118,1,'2011-05-21 01:08:56','P',1,'.name()',NULL,3486,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatchIdDiffFormatterTest.java','AABOJH///9c='),(102,1,'2011-05-21 01:08:56','P',1,'Again, use .name().',NULL,3486,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatchIdDiffFormatterTest.java','AABOJH///9g='),(78,1,'2011-05-21 01:08:56','P',1,'I would prefer using \"1ff..441\" and .name() instead of .toString().',NULL,3486,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatchIdDiffFormatterTest.java','AABOJH///9k='),(69,1,'2011-05-21 01:08:56','P',1,'Delete this line.',NULL,3486,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatchIdDiffFormatterTest.java','AABOJH///9o='),(2,1,'2011-05-21 01:08:56','P',1,'As we just discussed, check if the copyright line is correct.',NULL,3486,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/PatchIdDiffFormatterTest.java','AABOJH///9w='),(91,6,'2011-05-23 09:33:53','P',1,'Done','AABOJH///98=',3486,1,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///2o='),(82,6,'2011-05-23 09:33:53','P',1,'Done','AABOJH///94=',3486,1,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///2s='),(62,6,'2011-05-23 09:33:53','P',1,'Done','AABOJH///90=',3486,1,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///3A='),(2,6,'2011-05-23 09:33:53','P',1,'Done','AABOJH///9s=',3486,1,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///3I='),(62,1,'2011-05-21 01:08:56','P',1,'A quick note to state it sets up the class, e.g.:\n\n  /** Initialize a formatter to compute a patch id. */',NULL,3486,1,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///90='),(82,1,'2011-05-21 01:08:56','P',1,'Please document why these methods do not call super.',NULL,3486,1,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///94='),(91,1,'2011-05-21 01:08:56','P',1,'Please use java.security.DigestOutputStream instead. It will shave a few lines off the class. :-)',NULL,3486,1,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///98='),(2,1,'2011-05-21 01:08:56','P',1,'As we just discussed, check if the copyright line is correct.',NULL,3486,1,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///9s='),(1075,1,'2011-05-23 15:08:45','P',1,'s/ByteArray//',NULL,3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java','AABOJH///0c='),(1069,1,'2011-05-23 15:08:45','P',1,'Please fill in the Javadoc for this method. The other format helpers are already (at least partially) documented.',NULL,3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java','AABOJH///0g='),(1075,6,'2011-05-24 08:40:32','P',1,'Done','AABOJH///0c=',3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java','AABOJX///6U='),(1069,6,'2011-05-24 08:40:32','P',1,'Done\n\nWhile writing JavaDoc I realized that it is sufficient to pass the DiffEntry as parameter and therefore I removed oldMode and newmode.','AABOJH///0g=',3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java','AABOJX///6Y='),(59,1,'2011-05-23 15:08:45','P',1,'I usually declare fields that don\'t change final.',NULL,3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///0k='),(89,1,'2011-05-23 15:08:45','P',1,'Style-nit: Unnecessary blank line',NULL,3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///0o='),(77,1,'2011-05-23 15:08:45','P',1,'Style-nit: Unnecessary blank line',NULL,3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///0s='),(63,1,'2011-05-23 15:08:45','P',1,'Instead of buffering everything into a byte[], please create a NullOutputStream in org.eclipse.jgit/src/org/eclipse/jgit/util/io. I thought we had one already, but maybe I had created it for a change that was never applied.\n\nWhen you declare the class, be sure to override all 3 write methods:\n\n  @Override\n  public void write(int b) {\n    // Discard.\n  }\n\n  @Override\n  public void write(byte[] buf) {\n    // Discard.\n  }\n\n  @Override\n  public void write(byte[] buf, int pos, int cnt) {\n    // Discard.\n  }',NULL,3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJH///0w='),(89,6,'2011-05-24 08:40:32','P',1,'Done','AABOJH///0o=',3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJX///6E='),(77,6,'2011-05-24 08:40:32','P',1,'Done','AABOJH///0s=',3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJX///6I='),(63,6,'2011-05-24 08:40:32','P',1,'Done\n\nI wondered why there is no NullOutputStream in the JDK.','AABOJH///0w=',3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJX///6M='),(59,6,'2011-05-24 08:40:32','P',1,'Done','AABOJH///0k=',3486,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/PatchIdDiffFormatter.java','AABOJX///6Q='),(75,4,'2011-10-17 20:12:35','d',1,'good idea',NULL,3493,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReadTreeTest.java','AABOBn///18='),(247,5,'2011-05-23 14:12:55','P',1,'please remove the trailing blank',NULL,3500,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/Git.java','AABOJH///08='),(76,5,'2011-05-23 14:12:55','P',1,'I think we need some unit tests. Please check what happens on repos without any tags, that the sort order is as expected, ... . That\'s our official API and it should not contain code not covered by tests.',NULL,3500,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/ListTagCommand.java','AABOJH///04='),(58,5,'2011-05-23 14:12:55','P',1,'Branches? This command will return tags.',NULL,3500,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/ListTagCommand.java','AABOJH///1A='),(130,208,'2011-05-30 16:43:40','P',1,'Style nit: unneeded curlies',NULL,3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java','AABOJn///y4='),(130,44,'2011-05-30 19:45:25','P',1,'Done','AABOJn///y4=',3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java','AABOJn///yA='),(634,44,'2011-05-30 19:45:25','P',1,'Done','AABOJn///zI=',3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java','AABOJn///x0='),(354,44,'2011-05-30 19:45:25','P',1,'Done','AABOJn///zM=',3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java','AABOJn///x4='),(343,44,'2011-05-30 19:45:25','P',1,'Done','AABOJn///zQ=',3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java','AABOJn///x8='),(634,208,'2011-05-30 16:43:40','P',1,'Style nit: unneeded curlies',NULL,3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java','AABOJn///zI='),(354,208,'2011-05-30 16:43:40','P',1,'Style nit: unneeded curlies',NULL,3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java','AABOJn///zM='),(343,208,'2011-05-30 16:43:40','P',1,'Style nit: unneeded curlies',NULL,3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java','AABOJn///zQ='),(1,44,'2011-05-30 19:45:25','P',1,'Done','AABOJn///zE=',3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponentState.java','AABOJn///xw='),(1,208,'2011-05-30 16:43:40','P',1,'Missing license header',NULL,3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponentState.java','AABOJn///zE='),(1,44,'2011-05-30 19:45:25','P',1,'Done','AABOJn///zA=',3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponentStateManager.java','AABOJn///xs='),(1,208,'2011-05-30 16:43:40','P',1,'Missing license header',NULL,3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponentStateManager.java','AABOJn///zA='),(417,44,'2011-05-30 19:45:25','P',1,'Done','AABOJn///zU=',3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOJn///xo='),(417,208,'2011-05-30 16:43:40','P',1,'This should be removed',NULL,3503,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOJn///zU='),(1081,1,'2011-05-23 18:16:15','P',1,'I\'m slightly worried about doing the shorten here. It may start to come up ambiguous against other branches. We won\'t expand a shortened name like \"review\" to \"refs/notes/review\" because RefDatabase doesn\'t consider the \"refs/notes/\" namespace as one of the search prefixes.\n\nThis should be a different method, maybe in the NoteMap class?',NULL,3504,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java','AABOJX////M='),(1081,208,'2011-05-23 18:26:40','P',1,'Done','AABOJX////M=',3504,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java','AABOJX///+4='),(88,1,'2011-05-23 18:34:12','P',1,'Style-nit: Unnecessary blank line.',NULL,3504,2,'org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMap.java','AABOJX///+o='),(91,1,'2011-05-23 18:34:12','P',1,'Please add a unit test.',NULL,3504,2,'org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMap.java','AABOJX///+s='),(91,208,'2011-05-23 18:40:13','P',1,'Done','AABOJX///+s=',3504,2,'org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMap.java','AABOJX///+U='),(88,208,'2011-05-23 18:40:13','P',1,'Done','AABOJX///+o=',3504,2,'org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMap.java','AABOJX///+Y='),(31,4,'2011-05-23 23:10:13','d',1,'typo: s/display/displays/',NULL,3505,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/NoteDetailsPage.java','AABOJX///74='),(58,4,'2011-05-23 23:14:05','d',1,'typo: s/open and read/opens and reads/',NULL,3505,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/RepositoryCommitNote.java','AABOJX///70='),(537,4,'2011-05-24 21:07:57','d',1,'style nit: this line looks too wide',NULL,3510,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RepositorySelectionPage.java','AABOJX///z8='),(114,2,'2011-05-24 18:56:38','P',1,'you don\'t need this',NULL,3517,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CleanCommandTest.java','AABOJX///2c='),(107,2,'2011-05-24 18:56:38','P',1,'you don\'t need this',NULL,3517,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CleanCommandTest.java','AABOJX///2g='),(81,2,'2011-05-24 18:56:38','P',1,'rename to testClean, also add another method: testCleanWithPaths when you call setPaths() on CleanCommand',NULL,3517,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CleanCommandTest.java','AABOJX///2k='),(12,247,'2011-07-05 14:43:37','P',1,'Done','AABOAX///pw=',3518,3,'/COMMIT_MSG','AABOAX///pA='),(12,6,'2011-07-05 11:10:22','P',1,'Please state what\'s in here, e.g. \"Now JGit throws...\"',NULL,3518,3,'/COMMIT_MSG','AABOAX///pw='),(267,247,'2011-07-05 14:43:37','P',1,'Done. Did this uniformly on the other test methods as well.','AABOAX///p8=',3518,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CloneCommandTest.java','AABOAX///o4='),(267,6,'2011-07-05 11:10:22','P',1,'Please just throw the Exception.',NULL,3518,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CloneCommandTest.java','AABOAX///p8='),(93,247,'2011-07-05 14:43:37','P',1,'Done. Did this uniformly on the other test methods as well.','AABOAX///p4=',3518,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/InitCommandTest.java','AABOAX///o8='),(93,6,'2011-07-05 11:10:22','P',1,'Please just throw the Exception.',NULL,3518,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/InitCommandTest.java','AABOAX///p4='),(136,6,'2011-07-05 11:10:22','P',1,'you could add an else statement here - the check is not necessary if the directory was newly created',NULL,3518,3,'org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java','AABOAX///p0='),(139,247,'2011-07-06 21:07:42','P',1,'Done - fixed in patch set 7','AABOAX///gM=',3518,6,'org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java','AABOAX///fw='),(139,208,'2011-07-06 17:54:14','P',1,'I don\'t think these curlies are needed',NULL,3518,6,'org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java','AABOAX///gM='),(89,4,'2011-07-06 21:11:26','P',1,'Sentence should start in uppercase',NULL,3518,7,'org.eclipse.jgit/resources/org/eclipse/jgit/JGitText.properties','AABOAX///fY='),(671,44,'2011-05-25 15:05:21','P',1,'add repository name',NULL,3525,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOJX///pE='),(669,44,'2011-05-25 15:05:21','P',1,'AtomicReference<T> is easier to handle and thread safe.',NULL,3525,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOJX///pI='),(48,4,'2011-05-25 20:41:08','P',1,'Done','AABOJX///jc=',3534,1,'.eclipse_iplog','AABOJX///i4='),(48,2,'2011-05-25 19:37:20','P',1,'technically we don\'t use this library, this can be dropped',NULL,3534,1,'.eclipse_iplog','AABOJX///jc='),(297,4,'2011-05-29 21:35:42','P',1,'Done','AABOJX///f0=',3543,1,'pom.xml','AABOJn///6M='),(159,4,'2011-05-29 21:35:42','P',1,'Done','AABOJX///f4=',3543,1,'pom.xml','AABOJn///6Q='),(297,2,'2011-05-26 14:30:41','P',1,'1.0.0 instead of 1.0.0.0-SNAPSHOT',NULL,3543,1,'pom.xml','AABOJX///f0='),(159,2,'2011-05-26 14:30:41','P',1,'it should be milestone-indigo instead of nightly-indigo',NULL,3543,1,'pom.xml','AABOJX///f4='),(7,2,'2011-05-27 15:44:04','P',1,'Please draft a proper commit message',NULL,3553,1,'/COMMIT_MSG','AABOJX///co='),(106,2,'2011-05-27 15:44:04','P',1,'there should be a boolean setter called setDryRun(boolean)\n\nThen we can add a simple boolean logic check in call to see whether or not to do the actual delete.',NULL,3553,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java','AABOJX///ck='),(107,2,'2011-05-27 18:09:36','P',1,'-1\n\nhave a boolean attribute dryRun with a corresponding setter\n\nin call(), only delete the file if dryRun is false',NULL,3553,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java','AABOJX///Zw='),(66,2,'2011-05-31 14:11:04','d',1,'please be wary of whitespaces next time',NULL,3553,3,'org.eclipse.jgit/src/org/eclipse/jgit/api/CleanCommand.java','AABOJn///u0='),(7,1,'2011-05-27 16:41:19','P',1,'This should be the *last* line of the commit message. Not the first.',NULL,3554,1,'/COMMIT_MSG','AABOJX///cE='),(109,74,'2011-05-30 09:14:37','P',1,'We should externalize error messages too.',NULL,3559,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOJn///1A='),(97,74,'2011-05-30 09:14:37','P',1,'We should externalize error messages too.',NULL,3559,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOJn///1E='),(120,4,'2011-06-01 09:26:37','P',1,'better: Failed to refresh synchronize view',NULL,3559,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOJ3///8c='),(119,4,'2011-06-01 09:26:37','P',1,'typo: s/_FailedFetchRefs/_FailedUpdateRevs/\nas this is updating Revs not fetching refs',NULL,3559,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOJ3///8g='),(1,208,'2011-05-28 15:09:52','P',1,'This class should have a license header comment.',NULL,3560,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/BooleanPrefAction.java','AABOJn///9U='),(37,208,'2011-05-28 15:09:52','P',1,'These curlies are un-needed',NULL,3560,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/BooleanPrefAction.java','AABOJn///9Y='),(1,4,'2011-05-30 15:42:25','P',1,'missing license header, should also have the copyright of the original author as this class has been moved',NULL,3560,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/BooleanPrefAction.java','AABOJn///zs='),(42,208,'2011-05-28 15:15:57','P',1,'I would prefer having an input class over having an array with different object types inside it with both the view and the content provider having to know which indices are which.\n\nThen you can have:\n\nif (newInput instanceof StagingViewInput) {\n\nStagingViewInput sInput = (StagingViewInput)newInput;\n\nRepository repository = sInput.getRepository();\n\n...\n\n}',NULL,3562,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingViewContentProvider.java','AABOJn///9M='),(410,8,'2011-05-31 06:08:41','P',1,'Ack.','AABOJn///yU=',3572,1,'org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java','AABOJn///wU='),(410,1,'2011-05-30 18:17:51','P',1,'You should instead try to cache the TreeOptions object inside of the Config by using the SectionParser API (see CoreConfig as an example). That way we don\'t do a linear search through the variables every time we try to acquire the configuration. Instead we only trigger the linear search when there was a variable change and the cached objects had to be invalidated.',NULL,3572,1,'org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffFormatter.java','AABOJn///yU='),(444,1,'2011-05-31 14:13:22','P',1,'Yea, we can use TreeOptions here.\n\nPlease define the method above release().\n\nI wish we could define a reasonable default implementation. But its not possible because the class doesn\'t have any reference back to the Repository or ObjectDatabase.','AABOJn///wQ=',3572,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java','AABOJn///uw='),(444,8,'2011-05-31 06:08:41','P',1,'Would TreeOptions be ok? I\'m not sure about what kind of options would be a good long term fit.','AABOJn///yc=',3572,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java','AABOJn///wQ='),(444,1,'2011-05-30 18:17:51','P',1,'Wow. I don\'t really like the idea of the path encoding being on the ObjectReader. I would instead prefer exposing the repository configuration, or some other configuration source.\n\nThat may simplify some contexts because then you can get the CoreConfig or something similar from the ObjectReader.',NULL,3572,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java','AABOJn///yc='),(269,1,'2011-05-30 18:17:51','P',1,'I don\'t usually write asserts. :-)',NULL,3572,1,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/AbstractTreeIterator.java','AABOJn///yg='),(55,1,'2011-05-30 18:17:51','P',1,'Why can\'t this just be CoreConfig? I will admit I haven\'t read all of the code yet, but we should be setting the path encoding option in one location (e.g. CoreConfig) and have everyone try to use that whenever possible.\n\nOr... if CoreConfig is too heavy for some contexts, always use the TreeOptions object but put this in the .lib package rather than treewalk. (By too heavy, I mean its hard to create a one-off configuration that isn\'t connected to a specific Repository.)',NULL,3572,1,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/TreeOptions.java','AABOJn///yo='),(76,1,'2011-05-30 18:17:51','P',1,'I would like to see this at least more standardized into the \"core\" section for Git\'s configuration. Msysgit should use the same key we do.',NULL,3572,1,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/TreeOptions.java','AABOJn///ys='),(71,8,'2011-05-31 06:08:41','P',1,'That\'s the whole point of this patch.  The caveat is that there must exist a bidirectional translation for this to work, which I believe there is for most users.\n\nNot sure about what to do about HFS+ and repos generated with C Git (decomposed file names), yet. Java composes the names for us, with only a little loss (a few code points lose their identify be the decomposition process that HFS+ imposes). Maybe handling this as a case-insensivity problem is the way to go.','AABOJn///yM=',3572,1,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeOptions.java','AABOJn///wI='),(71,1,'2011-05-30 18:17:51','P',1,'Stupid question... can the working tree have a different encoding than the repository?\n\nWhat if my *NIX system thinks the correct encoding is UTF-8, but the repository maintainer has chosen to use ISO-8859-1? Can I set the path encoding within the repository to be ISO-8859-1 but my working tree to UTF-8 and have JGit perform automatic translation between the two?\n\nI think this works magically (*sigh*). In all of our working tree code we use String and File objects to point to the working tree. Java will handle the encoding/decoding to the filesystem itself. So within JGit we just need to encode/decode the String/File to the in-repository encoding. Am I understanding this right?',NULL,3572,1,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeOptions.java','AABOJn///yM='),(49,1,'2011-05-30 18:17:51','P',1,'Nit: private constructor.',NULL,3572,1,'org.eclipse.jgit/src/org/eclipse/jgit/util/ByteUtil.java','AABOJn///yk='),(97,1,'2011-05-31 17:11:14','P',1,'I almost made this change myself... but thought better of it.\n\nA passphrase isn\'t exactly a password. Its different because the passphrase is probably connected to a key or certificate file, while the password is connected to an account by a username.\n\nStringType is a generic item to hold any data. The \"true\" argument we pass to its constructor is to tell the UI to use a masked display when handling the input field (e.g. no echo, or display dots instead of characters).\n\nI would only suggest doing this if you also add a new CredentialItem.Passphrase type that is similar to the Password type. But that will require checking all implementations to ensure they will work with this new Passphrase type in a reasonable way.',NULL,3594,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/CredentialsProviderUserInfo.java','AABOJn///r8='),(124,208,'2011-06-12 21:58:05','P',1,'This service code needs to change based on changes I\'ve made since you originally posted this patch, I will update to the new service call format.',NULL,3603,1,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/service/RepositoryService.java','AABOKH///rc='),(15,208,'2011-06-12 21:58:05','P',0,'Can you remove this file from the patch?',NULL,3603,1,'org.eclipse.mylyn.github.ui/.settings/egit-github.launch','AABOKH///rg='),(183,208,'2011-06-12 21:58:05','P',1,'I would prefer we don\'t register the wizard until it is fully functional so users on the nightly aren\'t confused.',NULL,3603,1,'org.eclipse.mylyn.github.ui/plugin.xml','AABOKH///rY='),(233,208,'2011-11-22 02:32:26','P',1,'Done','AABOJ3///8o=',3607,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PullCommandTest.java','AABOCX///VI='),(233,5,'2011-06-01 07:28:15','P',1,'We should a a test for calling setRemote with a URL instead of remoteName.',NULL,3607,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PullCommandTest.java','AABOJ3///8o='),(137,208,'2011-11-22 17:33:45','P',1,'I think setRepository would be confusing since the commands already have a getRepository which would return a diferrent object (Repository) than the proposed setter','AABOCX///Uk=',3607,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOCX///Sc='),(137,5,'2011-11-22 15:35:17','P',1,'Ok for me. But some comments\n\nAs you can see in the man pages of all 4 git commands you mention they all call it \"repository\". The push command man page e.g. shows  that \"names of remotes\" and URLs are different things and both can go into this parameter. I guess that\'s why they didn\'t called it \"remote\".\n\nBut even if I could convince you: since the FetchCommand API is included in our released jgit version I can\'t change it anymore. And I agree: beeing consistent between Fetch and Pull is important.\n\nMaybe we could add additional setters for \"repository\" to all these commands just to be in sync with native git terminology.','AABOCX///VE=',3607,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOCX///Uk='),(137,208,'2011-11-22 02:32:26','P',1,'I also added support for setting the ref specs to pull as well and therefore it seems to make sense to have the setter method signatures for remote and ref specs mirror FetchCommand for consistency.\n\nPullCommand should not be an outlier, FetchCommand, PushCommand, and LsRemote command also use setRemote to mean a name or URI to use in the Transport operation.','AABOJ3///40=',3607,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOCX///VE='),(137,5,'2011-06-02 06:29:48','P',1,'then FetchCommand has the same issue. I would prefer \"repository\" because it:\n- matches the native git documentation\n- \"remote\" would make me think I have to specify the name of a remote. But that\'s not correct. I can specify remote names but I am also able to specify URLs.','AABOJ3///5k=',3607,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOJ3///40='),(137,208,'2011-06-01 17:14:08','P',1,'I was matching it to FetchCommand which uses setRemote','AABOJ3///8w=',3607,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOJ3///5k='),(134,5,'2011-06-01 07:28:15','P',1,'Is it really the name of a remote or is it also possible to specifiy the URL like \"git://myhost/myrepo.git\"?',NULL,3607,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOJ3///8s='),(137,5,'2011-06-01 07:28:15','P',1,'As this API should be as close to native-git as possible I would like to call this parameter \"repository\" instead of \"remote\". Have a look at http://www.kernel.org/pub/software/scm/git/docs/git-pull.html .',NULL,3607,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOJ3///8w='),(249,208,'2011-11-26 22:15:19','P',1,'So in the case you mention, foo is only fetched, not fetched and merged?\n\nI was trying to reproduce the behavior you mentioned and it looked like an octopus merge is always done when multiple refspecs are included on the command line.','AABOCX///L4=',3607,5,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOCX///HE='),(249,1,'2011-11-23 23:14:35','P',1,'git pull is weird. If I say `git pull URL foo:refs/heads/foo master` then master is merged but foo is stored as refs/heads/foo.\n\nI don\'t see you accounting for that f\'king odd behavior in this change. But you probably should be.',NULL,3607,5,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOCX///L4='),(103,1,'2011-11-23 23:14:35','P',1,'Why 3? Why not just allow the default size of 16?',NULL,3607,5,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOCX///L8='),(103,208,'2011-11-24 00:20:44','P',1,'I \"borrowed\" this from the PushCommand class','AABOCX///L8=',3607,5,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOCX///Lc='),(349,208,'2011-11-24 00:20:44','P',1,'I \"borrowed\" this from the PushCommand class','AABOCX///ME=',3607,5,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOCX///LY='),(371,1,'2011-11-23 23:14:35','P',1,'return setRefSpecs(Arrays.asList(specs)) is much shorter.',NULL,3607,5,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOCX///MA='),(349,1,'2011-11-23 23:14:35','P',1,'This seems wrong to me. Why are we asking the local repository  for a reference that exists on the remote side, and ignoring it if it does not exist locally?',NULL,3607,5,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOCX///ME='),(210,208,'2011-11-22 19:32:45','P',1,'The one change since the last patch was to use toString instead of toPrivateString when setting the remoteUri variable.\n\nThis seemed appropriate since the remoteUri is used in the commit message for the merge and the password shouldn\'t appear there if included in the URI.',NULL,3607,5,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOCX///Ro='),(11,4,'2011-06-06 09:11:19','d',1,'typo: s/consitent/consistent/\n\nstyle nit: trailing whitespace',NULL,3615,1,'/COMMIT_MSG','AABOJ3///wk='),(18,4,'2011-06-06 09:14:22','d',1,'style nit: trailing whitespace',NULL,3615,1,'org.eclipse.egit.ui.test/fragment.xml','AABOJ3///wc='),(6,4,'2011-06-06 09:14:29','d',1,'style nit: this looks funny, either remove one tab so that the line end aligns with the other comment lines or use one 3-line comment block instead of 3 1-liners',NULL,3615,1,'org.eclipse.egit.ui.test/fragment.xml','AABOJ3///wg='),(141,4,'2011-06-06 09:16:48','d',1,'style nit: trailing whitespace',NULL,3615,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOJ3///wQ='),(97,4,'2011-06-06 09:16:22','d',1,'remove commented out code',NULL,3615,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOJ3///wU='),(1,4,'2011-06-06 09:14:47','d',1,'missing license header',NULL,3615,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOJ3///wY='),(37,4,'2011-06-06 09:17:36','d',1,'style nit: inconsistent indentation',NULL,3615,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/AllLocalTests.java','AABOJ3///wM='),(54,4,'2011-06-06 09:21:16','d',1,'style nit: we don\'t use curly braces around single line blocks',NULL,3615,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperation.java','AABOJ3///wA='),(51,4,'2011-06-06 09:20:55','d',1,'what\'s the purpose of /*package*/ ?',NULL,3615,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperation.java','AABOJ3///wE='),(35,4,'2011-06-06 09:20:31','d',1,'what\'s the purpose of /*package*/ ?',NULL,3615,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperation.java','AABOJ3///wI='),(18,4,'2011-06-06 09:21:50','d',1,'missing javadoc',NULL,3615,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperationFactory.java','AABOJ3///v8='),(1034,4,'2011-06-06 09:25:14','d',1,'typo: s/occured/occurred/',NULL,3615,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///v4='),(18,4,'2011-07-31 13:52:33','P',1,'style nit: trailing whitespace',NULL,3615,6,'org.eclipse.egit.ui.test/fragment.xml','AABOAn///+s='),(18,74,'2011-08-01 17:10:33','P',1,'Done','AABOAn///+s=',3615,6,'org.eclipse.egit.ui.test/fragment.xml','AABOAn///8k='),(5,4,'2011-07-31 13:52:33','P',1,'this seems unrelated to this change',NULL,3615,6,'org.eclipse.egit.ui.test/META-INF/MANIFEST.MF','AABOAn///+w='),(5,74,'2011-08-01 17:10:33','P',1,'This is needed as we introduce a fragment.xml - bundles with extensions always need to be singletons as the extension registry is global','AABOAn///+w=',3615,6,'org.eclipse.egit.ui.test/META-INF/MANIFEST.MF','AABOAn///8o='),(152,4,'2011-07-31 13:52:33','P',1,'please remove dead code',NULL,3615,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOAn///+c='),(151,4,'2011-07-31 13:52:33','P',1,'trailing whitespace',NULL,3615,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOAn///+g='),(147,4,'2011-07-31 13:52:33','P',1,'please remove dead code',NULL,3615,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOAn///+k='),(142,4,'2011-07-31 13:52:33','P',1,'trailing whitespace',NULL,3615,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOAn///+o='),(178,4,'2011-07-31 13:52:33','P',1,'trailing whitespace',NULL,3615,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOAn///+Y='),(147,74,'2011-08-01 17:10:33','P',1,'Done','AABOAn///+k=',3615,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOAn///8c='),(142,74,'2011-08-01 17:10:33','P',1,'Done','AABOAn///+o=',3615,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOAn///8g='),(178,74,'2011-08-01 17:10:33','P',1,'Done','AABOAn///+Y=',3615,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOAn///8Q='),(152,74,'2011-08-01 17:10:33','P',1,'Done','AABOAn///+c=',3615,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOAn///8U='),(151,74,'2011-08-01 17:10:33','P',1,'Done','AABOAn///+g=',3615,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/operations/GitScopeUtilTest.java','AABOAn///8Y='),(9,4,'2011-07-31 13:52:33','P',1,'this seems to be unrelated to this change',NULL,3615,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOAn///+U='),(9,74,'2011-08-01 17:10:33','P',1,'Done','AABOAn///+U=',3615,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOAn///8M='),(7,4,'2011-07-31 13:52:33','P',1,'- we don\'t use author tags\n- missing javadoc for public class',NULL,3615,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperationFactory.java','AABOAn///+0='),(1,4,'2011-07-31 13:52:33','P',1,'missing license header',NULL,3615,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperationFactory.java','AABOAn///+4='),(7,74,'2011-08-01 17:10:33','P',1,'Done','AABOAn///+0=',3615,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperationFactory.java','AABOAn///8I='),(128,4,'2011-07-31 13:52:33','P',1,'style nit: we don\'t use braces around single line blocks',NULL,3615,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeUtil.java','AABOAn///+Q='),(1067,4,'2011-07-31 13:52:33','P',1,'key name is not understandable',NULL,3615,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOAn///+I='),(1066,4,'2011-07-31 13:52:33','P',1,'typos:\n\ns/occured/occurred/\n\ns/commit/committing/',NULL,3615,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOAn///+M='),(1067,74,'2011-08-01 17:10:33','P',1,'Done','AABOAn///+I=',3615,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOAn///8A='),(1066,74,'2011-08-01 17:10:33','P',1,'Done','AABOAn///+M=',3615,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOAn///8E='),(54,74,'2011-08-25 16:04:13','P',1,'Done','AABOAn//+sg=',3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperation.java','AABOAn//+bc='),(51,74,'2011-08-25 16:04:13','P',1,'Done','AABOAn//+so=',3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperation.java','AABOAn//+bg='),(35,74,'2011-08-25 16:04:13','P',1,'Done','AABOAn//+s0=',3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperation.java','AABOAn//+bk='),(35,4,'2011-08-20 23:26:06','P',1,'what\'s the purpose of this  /* package */ comment ?',NULL,3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperation.java','AABOAn//+s0='),(54,4,'2011-08-20 23:26:06','P',1,'style nit: no braces around single line block',NULL,3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperation.java','AABOAn//+sg='),(51,4,'2011-08-20 23:26:06','P',1,'I think the /*package*/ comment is unnecessary',NULL,3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperation.java','AABOAn//+so='),(42,74,'2011-08-25 16:04:13','P',1,'Done','AABOAn//+sQ=',3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperationFactory.java','AABOAn//+bY='),(42,4,'2011-08-20 23:26:06','P',1,'style nit: no braces around single line blocks',NULL,3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeOperationFactory.java','AABOAn//+sQ='),(128,74,'2011-08-25 16:04:13','P',1,'Done','AABOAn//+sA=',3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeUtil.java','AABOAn//+bM='),(113,74,'2011-08-25 16:04:13','P',1,'Done','AABOAn//+sE=',3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeUtil.java','AABOAn//+bQ='),(101,74,'2011-08-25 16:04:13','P',1,'Done','AABOAn//+sI=',3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeUtil.java','AABOAn//+bU='),(128,4,'2011-08-20 23:26:06','P',1,'style nit: no braces for single line block',NULL,3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeUtil.java','AABOAn//+sA='),(113,4,'2011-08-20 23:26:06','P',1,'style nit: no braces for single line block',NULL,3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeUtil.java','AABOAn//+sE='),(101,4,'2011-08-20 23:26:06','P',1,'style nit: no braces for single line block',NULL,3615,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/operations/GitScopeUtil.java','AABOAn//+sI='),(412,208,'2011-06-02 18:28:48','P',1,'Does this listener get removed on dispose?  I\'m not where it does, should be in removeListeners() correct?',NULL,3622,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOJ3///4k='),(414,208,'2011-06-02 18:35:54','P',1,'Could this be done with the variable declaration like the other listeners?',NULL,3622,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOJ3///4Y='),(74,49,'2011-08-23 15:30:48','P',1,'here same as above',NULL,3634,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABOAn//+mg='),(69,49,'2011-08-23 15:30:48','P',1,'you will get NPE if getRepository() return null (when given resource isn\'t in project shared by git).',NULL,3634,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABOAn//+mk='),(74,49,'2011-08-23 15:30:48','P',1,'we don\'t use curly brackets around one line statements',NULL,3634,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+mc='),(113,49,'2011-08-23 15:30:48','P',1,'remove TODO',NULL,3634,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+mE='),(110,49,'2011-08-23 15:30:48','P',1,'remove TODO',NULL,3634,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+mI='),(106,49,'2011-08-23 15:30:48','P',1,'remove TODO',NULL,3634,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+mM='),(102,49,'2011-08-23 15:30:48','P',1,'remove TODO',NULL,3634,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+mQ='),(99,49,'2011-08-23 15:30:48','P',1,'remove TODO',NULL,3634,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+mU='),(87,49,'2011-08-23 15:30:48','P',1,'you should at least log this exception',NULL,3634,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+mY='),(67,49,'2011-08-23 18:43:50','P',1,'actually I didn\'t think about this, I was rather thinking about situation when getRepository(res) == null, in such situation Git class constructor will thrown NPE.',NULL,3634,6,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABOAn//+lo='),(67,227,'2011-08-23 19:05:50','d',1,'fair enough.\nDo you think there should be another exception thrown if getRepository returns null?\nThe doc for RepositoryMapping.getMapping which essentially constitutes getRepository() says that it returns \'the RepositoryMapping for this resource, or null for non GitProvider.\'','AABOAn//+lo=',3634,6,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABOAn//+lY='),(91,227,'2011-08-23 18:52:31','d',1,'Done','AABOAn//+ls=',3634,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+lc='),(91,49,'2011-08-23 18:43:50','P',1,'we have specialized activator class in UI fragment; org.eclipse.egit.ui.Activator,',NULL,3634,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+ls='),(26,4,'2011-08-24 09:04:42','P',1,'egit core should not depend on egit ui',NULL,3634,7,'org.eclipse.egit.core/META-INF/MANIFEST.MF','AABOAn//+gc='),(26,49,'2011-08-23 19:40:47','P',1,'I\'m guessing that you add this import to use org.eclipse.egit.ui.Activator in core fragment. In org.eclipse.egit.core we have also specialized Activator, in egit.ui we use ui.Activator and in egit.core we use core.Activator ;)',NULL,3634,7,'org.eclipse.egit.core/META-INF/MANIFEST.MF','AABOAn//+lE='),(105,4,'2011-08-24 09:04:42','P',1,'why does this need to be static ?',NULL,3634,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABOAn//+gg='),(2,4,'2011-08-24 09:04:42','P',1,'chris moved to another company, so I suspect you need a different mail address here.',NULL,3634,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABOAn//+gk='),(79,49,'2011-08-23 19:40:47','P',1,'Here is what I was thinking about:\n\nRepository repo = getRepository(res);\nif (repo == null)\n    continue;\nRepoTree = new Git(repo);\n...\n\nsame in line 84',NULL,3634,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABOAn//+k0='),(76,49,'2011-08-23 19:40:47','P',1,'this is also already checked in CleanActionHandler.',NULL,3634,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABOAn//+k4='),(71,49,'2011-08-23 19:40:47','P',1,'this is already checked in CleanActionHandler (actually org.eclipse.egit.ui.internal.actions.RepositoryActionHandler.getSelectedResources(ExecutionEvent) will never return null)',NULL,3634,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABOAn//+k8='),(30,49,'2011-08-23 19:40:47','P',1,'here you should use org.eclipse.egit.core.Activator here ;)',NULL,3634,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABOAn//+lA='),(2,4,'2011-08-24 09:04:42','P',1,'I think Chris moved to another company, check with him which copyright notice to use.',NULL,3634,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+go='),(42,4,'2011-08-24 09:04:42','P',1,'why is this member public ?',NULL,3634,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+gs='),(100,4,'2011-08-24 09:04:42','P',1,'Why is this commented out ? We don\'t like dead code ending up in the repository.',NULL,3634,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+gw='),(87,49,'2011-08-23 19:40:47','P',1,'not really yet, but we are closer ... I would prefer that we reuse org.eclipse.egit.ui.Activator.logError(String, Throwable) static method. Or if you want to log it as a info I would suggest to add org.eclipse.egit.ui.Activator.logInfo(String, Throwable) method',NULL,3634,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABOAn//+lI='),(473,8,'2011-06-17 21:36:43','P',1,'trailing whitespace',NULL,3636,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/Git.java','AABOKH///T4='),(75,8,'2011-06-17 21:36:43','P',1,'ref used ?',NULL,3636,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/ReflogCommand.java','AABOKH///T8='),(77,8,'2011-06-17 21:36:43','P',1,'nit: trailing whitespace',NULL,3636,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/ReflogCommand.java','AABOKH///UA='),(2,8,'2011-06-17 21:36:43','P',1,'I think I am the primary author of this code.',NULL,3636,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/ReflogEntry.java','AABOKH///UE='),(879,214,'2011-06-04 01:55:45','P',1,'instead of the above;\n\nif (repositoryChnaged) clearCommitMessageToggles();\nupateCommitMessageComponent(true); (probably can just remove the argument!)\n\nthen remove the changes below.\n\nThe commit messages are updated correctly (although perhaps they\'re being refreshed too frequently this way?)',NULL,3639,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOJ3///1c='),(906,214,'2011-06-04 01:55:45','P',1,'this will always evaluate to true',NULL,3639,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOJ3///1g='),(924,214,'2011-06-04 01:43:48','P',1,'doReload is always called from the Job and the Job change listener should be doing this update.  The block there however is slightly different to this one.',NULL,3639,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOJ3///1o='),(97,79,'2011-06-04 12:00:16','P',1,'Done','AABOJ3///1I=',3641,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/CommonUtils.java','AABOJ3///04='),(44,79,'2011-06-04 12:00:16','P',1,'Done','AABOJ3///1M=',3641,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/CommonUtils.java','AABOJ3///08='),(97,49,'2011-06-04 11:12:12','P',1,'Code conventions: we don\'t use curly brackets around single line blocks',NULL,3641,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/CommonUtils.java','AABOJ3///1I='),(44,49,'2011-06-04 11:12:12','P',1,'Code conventions: we don\'t use curly brackets around single line blocks',NULL,3641,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/CommonUtils.java','AABOJ3///1M='),(38,208,'2011-06-10 15:14:08','P',1,'Could you use just one RevWalk instance for all selected commits?',NULL,3642,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/OpenInCommitViewerHandler.java','AABOKH///1A='),(38,79,'2011-06-11 09:59:21','P',1,'Done','AABOKH///1A=',3642,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/OpenInCommitViewerHandler.java','AABOKH///vY='),(548,49,'2011-06-04 22:17:22','P',1,'Is there any reason why not use here Text.DELIMITER instead of \"\\n\"?',NULL,3643,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java','AABOJ3///0U='),(548,4,'2011-06-04 23:40:42','P',1,'yes, there was a reason, but now I changed the other end so that we only need DELIMITER here','AABOJ3///0U=',3643,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java','AABOJ3///z4='),(211,79,'2011-06-06 10:47:07','P',1,'Done','AABOJ3///ww=',3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///v0='),(1162,79,'2011-06-06 10:47:07','P',1,'Radio button.','AABOJ3///yQ=',3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///vc='),(1161,79,'2011-06-06 10:47:07','P',1,'Radio button.','AABOJ3///yU=',3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///vg='),(957,79,'2011-06-06 10:47:07','P',1,'No, it\'s a radio \"button\" (see source).','AABOJ3///yY=',3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///vk='),(956,79,'2011-06-06 10:47:07','P',1,'No, it\'s a radio \"button\" (see source). Should we rename the label?','AABOJ3///yg=',3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///vo='),(805,79,'2011-06-06 10:47:07','P',1,'Done','AABOJ3///ws=',3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///vs='),(795,79,'2011-06-06 10:47:07','P',1,'Done','AABOJ3///w4=',3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///vw='),(1164,79,'2011-06-06 10:47:07','P',1,'Radio button.','AABOJ3///yM=',3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///vY='),(795,4,'2011-06-06 09:04:56','P',1,'style nit: trailing whitespace',NULL,3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///w4='),(805,4,'2011-06-06 09:04:56','P',1,'shouldn\'t head be all uppercase ?',NULL,3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///ws='),(211,4,'2011-06-06 09:04:56','P',1,'shouldn\'t this be header style as it\'s a dialog title ?',NULL,3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///ww='),(956,8,'2011-06-05 22:48:12','P',1,'Push button should be headline style?',NULL,3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///yg='),(1164,8,'2011-06-05 22:48:12','P',1,'Push button should be headline style?',NULL,3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///yM='),(1162,8,'2011-06-05 22:48:12','P',1,'Push button should be headline style?',NULL,3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///yQ='),(1161,8,'2011-06-05 22:48:12','P',1,'Push button should be headline style?',NULL,3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///yU='),(957,8,'2011-06-05 22:48:12','P',1,'Push button should be headline style?',NULL,3645,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOJ3///yY='),(223,4,'2011-07-04 22:29:38','P',1,'this seems unrelated',NULL,3646,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelCache.java','AABOAX///uA='),(195,4,'2011-06-11 22:57:29','P',1,'test is failing on Mac as some parts use \\n and other rely on Text.DELIMITER as line ending, instead always use the latter one like in CommitMessageComponent',NULL,3660,5,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/CommitActionTest.java','AABOKH///uo='),(157,4,'2011-06-11 22:57:29','P',1,'typo in method name :\n\ns/testLauched/testLaunched/',NULL,3660,5,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/CommitActionTest.java','AABOKH///wE='),(72,4,'2011-06-11 22:57:29','P',1,'same here',NULL,3660,5,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/CommitActionTest.java','AABOKH///wI='),(61,4,'2011-06-11 22:57:29','P',1,'these are pure formatting changes, do we need that ?',NULL,3660,5,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/CommitActionTest.java','AABOKH///wM='),(10,4,'2011-07-04 22:33:37','P',1,'typo: s/proper/properly/',NULL,3670,2,'/COMMIT_MSG','AABOAX///t0='),(7,4,'2011-07-04 22:33:37','P',1,'typo: Make cache and working file models public\n\nsame in next sentence',NULL,3670,2,'/COMMIT_MSG','AABOAX///t4='),(86,4,'2011-07-04 22:21:53','P',1,'did you mean \"cached/staged tree\" ?',NULL,3671,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelCacheTree.java','AABOAX///uQ='),(4,4,'2011-07-04 22:35:33','P',0,'Bernard\'s copyright should be added here as you are moving his code',NULL,3672,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/CommonUtils.java','AABOAX///ts='),(61,4,'2011-07-04 22:19:33','P',1,'this is unrelated',NULL,3672,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/CommonUtils.java','AABOAX///uc='),(85,4,'2011-07-04 22:19:33','P',1,'this is unrelated',NULL,3672,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/CommonUtils.java','AABOAX///uY='),(78,214,'2011-06-09 01:09:29','P',1,'just use ResetCommand?',NULL,3673,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/RemoveFromIndexOperation.java','AABOKH///6k='),(78,49,'2011-06-12 11:15:21','P',1,'You are right Chis, I\'ve already push a change I441db34f226be36548c61cef77958995971498de that adds support for dir reset. But in time when I was extracting this code from StageView class I didn\'t really think about fixing jgit','AABOKH///tE=',3673,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/RemoveFromIndexOperation.java','AABOKH///sk='),(78,5,'2011-06-12 07:47:03','P',1,'but then we should fix the resetcommand instead of writing a fixed version into egit. This is a functionality is needed by other jgit users\nalso and we should offer it in jgit.','AABOKH///xY=',3673,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/RemoveFromIndexOperation.java','AABOKH///tE='),(78,49,'2011-06-10 18:06:26','P',1,'because currently ResetCommand does not work on folders (it only works for files).','AABOKH///6k=',3673,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/RemoveFromIndexOperation.java','AABOKH///xY='),(43,6,'2011-07-22 15:15:48','P',1,'Please remove that line. It changes the tests.',NULL,3673,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/AddOperationTest.java','AABOAX//+q8='),(43,49,'2011-07-22 17:24:38','P',1,'Done','AABOAX//+q8=',3673,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/AddOperationTest.java','AABOAX//+qg='),(423,49,'2011-07-22 17:24:38','P',1,'Done','AABOAX//+rA=',3673,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestRepository.java','AABOAX//+qc='),(423,6,'2011-07-22 15:15:48','P',1,'You change the semantics of this method. Interestingly all test cases still work. But the implementation indeed did what the method name said. The index contains the whole repository tree and not only the staged files (http://book.git-scm.com/7_the_git_index.html).\n\nPlease introduce a new method, maybe isStaged, which returns true if the index content differs from the repo content.',NULL,3673,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/TestRepository.java','AABOAX//+rA='),(3355,6,'2011-07-22 15:15:48','P',1,'missing %',NULL,3673,5,'org.eclipse.egit.ui/plugin.xml','AABOAX//+q4='),(3355,49,'2011-07-22 17:24:38','P',1,'Done','AABOAX//+q4=',3673,5,'org.eclipse.egit.ui/plugin.xml','AABOAX//+qY='),(84,214,'2011-06-15 21:10:26','P',1,'import static this one too for consistency?',NULL,3674,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/mapping/GitChangeSetDropAdapterAssistant.java','AABOKH///cA='),(125,4,'2011-08-08 22:25:24','P',1,'typo: s/Taks/Task/',NULL,3674,8,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOAn///sI='),(40,4,'2011-08-08 22:25:24','P',0,'these are no longer paths, so better: list of resources that should be ...',NULL,3674,8,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/RemoveFromIndexOperation.java','AABOAn///sE='),(63,4,'2011-08-08 22:25:24','P',1,'for consistency this should go in another JobFamilies class in core bundle',NULL,3674,8,'org.eclipse.egit.core/src/org/eclipse/egit/core/project/GitProjectData.java','AABOAn///r0='),(3404,4,'2011-08-08 22:25:24','P',1,'typo: s/Assistan/Assistant/',NULL,3674,8,'org.eclipse.egit.ui/plugin.xml','AABOAn///r4='),(103,8,'2011-10-07 04:51:12','P',1,'Put return on a line of its own',NULL,3680,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/project/RepositoryFinder.java','AABOBX//+0k='),(58,8,'2011-10-07 04:51:12','P',1,'re-format',NULL,3680,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/AddToIndexActionHandler.java','AABOBX//+0g='),(43,8,'2011-10-07 04:51:12','P',1,'This is inconstent with other operations that accept linked resources, but ignore them when executing the operation.\n\nThe same pattern seems to apply to other operations and patterns.',NULL,3680,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/AssumeUnchangedActionHandler.java','AABOBX//+0c='),(39,8,'2011-10-07 04:51:12','P',1,'reformat',NULL,3680,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CommitActionHandler.java','AABOBX//+0Y='),(66,230,'2011-06-08 09:39:26','d',1,'You\'re certainly right to point this out. However I was trying for a first cut simple working command line. Please don\'t let this hold off this change request: it\'s a missing feature that does not invalidate what\'s there already. An even more important nice-to-have would be displaying the current branch.','AABOKH///+U=',3682,1,'org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Status.java','AABOKH///+M='),(66,214,'2011-06-08 06:34:28','P',1,'add status.getConflicting() as \'unmerged\'?',NULL,3682,1,'org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Status.java','AABOKH///+U='),(10,8,'2011-06-16 22:53:15','P',1,'Done. \nThe index_path was an idea that sounded better at the time. Dropped.','AABOKH///ZM=',3683,2,'/COMMIT_MSG','AABOKH///Yw='),(11,4,'2011-06-16 22:08:38','P',1,'where does this funny syntax come from : $|git_branch]\n\nI expected to see curly braces instead : ${git_branch}',NULL,3683,2,'/COMMIT_MSG','AABOKH///ZE='),(14,4,'2011-06-16 22:08:38','P',1,'typo: s/workbspace/workspace/',NULL,3683,2,'/COMMIT_MSG','AABOKH///ZI='),(10,4,'2011-06-16 22:08:38','P',1,'should also mention index_path\n\nDo you have a use case in mind why to expose index_path as a variable ?\n\ntypo: s/The all work/They all work/',NULL,3683,2,'/COMMIT_MSG','AABOKH///ZM='),(1299,8,'2011-06-16 22:53:15','P',1,'Yes, there should be a parameter here. Done.','AABOKH///ZQ=',3683,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOKH///Y8='),(1299,4,'2011-06-16 22:08:38','P',1,'is the trailing \":\" a typo ? \n${git_dir:\n\nShouldn\'t we better use a parameter here:\n... non-existing resource : {0}',NULL,3683,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOKH///ZQ='),(130,8,'2011-06-16 22:53:15','P',1,'Done','AABOKH///ZU=',3683,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/variables/GitVariableResolver.java','AABOKH///Y0='),(85,8,'2011-06-16 22:53:15','P',1,'Done','AABOKH///Zg=',3683,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/variables/GitVariableResolver.java','AABOKH///Y4='),(85,4,'2011-06-16 22:08:38','P',1,'style nit: no braces here',NULL,3683,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/variables/GitVariableResolver.java','AABOKH///Zg='),(130,4,'2011-06-16 22:08:38','P',1,'typo : s/selectd/selected resource/',NULL,3683,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/variables/GitVariableResolver.java','AABOKH///ZU='),(126,4,'2011-06-29 09:10:34','P',1,'style nit: remove the blanks :\n\ns/( repoUrl == null )/(repoUrl == null)',NULL,3692,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java','AABOAX///+U='),(126,15,'2011-06-29 20:09:28','P',1,'Done','AABOAX///+U=',3692,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java','AABOAX///84='),(13,4,'2011-06-09 22:28:54','P',0,'this drop doesn\'t exist anymore, replace it with the same one used in the maven build',NULL,3703,2,'org.eclipse.mylyn.github-feature/github.target','AABOKH///3Y='),(14,4,'2011-06-09 22:28:54','P',1,'in jgit and egit we use version ranges like [1.0.0,1.1.0) for all package dependencies inside jgit/egit projects instead',NULL,3703,2,'org.eclipse.mylyn.github.ui/META-INF/MANIFEST.MF','AABOKH///3c='),(24,4,'2011-06-10 18:43:22','P',1,'jgit/egit 1.0 are not yet available from http://download.eclipse.org/egit/updates',NULL,3703,4,'org.eclipse.mylyn.github-feature/github.target','AABOKH///wk='),(10,4,'2011-06-10 18:43:22','P',0,'The target definition doesn\'t seem to work for me from PDE, I am currently on 3.7 RC3:\n\nsome of the feature versions need to be updated since we moved to a newer Orbit drop:\n- <unit id=\"org.objenesis\" version=\"1.0.0.v201105211943\"/>\n- <unit id=\"org.junit\" version=\"4.8.2.v4_8_2_v20110321-1705\"/>\n- <unit id=\"org.apache.httpcomponents.httpclient\" version=\"4.1.0.v201103311320\"/>',NULL,3703,4,'org.eclipse.mylyn.github-feature/github.target','AABOKH///wo='),(21,4,'2011-06-10 18:43:22','P',1,'I think egit and jgit dependencies should also allow range [1.0,1.1) assuming we follow API rules all versions in this range should be compatible',NULL,3703,4,'org.eclipse.mylyn.github.ui/META-INF/MANIFEST.MF','AABOKH///wg='),(26,208,'2011-06-14 15:04:23','P',1,'I don\'t think egit.mylyn is needed to build the GitHub connector.',NULL,3703,5,'org.eclipse.mylyn.github-feature/github.target','AABOKH///jc='),(26,4,'2011-06-14 15:25:34','P',1,'Done','AABOKH///jc=',3703,5,'org.eclipse.mylyn.github-feature/github.target','AABOKH///jI='),(84,44,'2011-06-12 09:04:31','P',1,'changeId should be platform independent here. Patch Set 4 is working on my iMac.',NULL,3711,5,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/stagview/StagingViewTest.java','AABOKH///s4='),(25,44,'2011-06-12 21:28:52','P',1,'Done','AABOKH///sY=',3711,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/common/StagingViewTester.java','AABOKH///r8='),(25,49,'2011-06-12 14:48:46','P',1,'is this commented line really needed?',NULL,3711,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/common/StagingViewTester.java','AABOKH///sY='),(55,44,'2011-06-12 21:28:52','P',1,'I moved it from testAmend to the setup method, which is the better place. I did this in StagingViewTest and then remembered I should do it in the same way in CommitActionsTest.','AABOKH///sU=',3711,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/CommitActionTest.java','AABOKH///r0='),(55,49,'2011-06-12 14:48:46','P',1,'Is this change somehow connected with this commit?',NULL,3711,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/CommitActionTest.java','AABOKH///sU='),(102,4,'2011-07-04 16:33:04','P',1,'typo: s/nesterFileWriter/nestedFileWriter/',NULL,3713,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ResetCommandTest.java','AABOAX///vs='),(398,1,'2011-06-24 22:41:07','P',1,'Instead of all of these HashMap operations, why not:\n\n  for (int i = 0; i < entries.length) {\n    if (new File(dir, entries[i])).isDirectory())\n      entries[i] += \"/\";\n  }\n  Arrays.sort(entries);\n\nIts fewer object allocations. We don\'t have the hash operations. We can still use the natural comparator for Arrays.sort().\n\nAnd below in the scanTree routine, we already need name + \"/\" for a directory anyway. And we can decide to enter scanTree or scanOne using the suffix:\n\n  for (String name : entries) {\n    if (name.charAt(name.length() - 1) == \'/\')\n      scanTree(prefix + name, new File(dir, name);\n    else\n      scanOne(prefix + name);\n  }',NULL,3718,2,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/RefDirectory.java','AABOAH///1s='),(398,8,'2011-07-22 09:52:40','P',1,'Done','AABOAH///1s=',3718,2,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/RefDirectory.java','AABOAX//+rc='),(74,208,'2011-06-13 20:05:08','P',1,'Please use constants from JGit Constants class.',NULL,3721,1,'org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/RepositoryImportWizard.java','AABOKH///oc='),(82,210,'2011-06-16 07:27:22','P',1,'OK, a good idea ...','AABOKH///hE=',3721,2,'org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/RepositoryImportWizard.java','AABOKH///b4='),(82,208,'2011-06-14 16:48:38','P',1,'After further thought, I think that the clone should occur in a job so that the user can continue working while the repository is being cloned.  So the wizard should be closed on finish and the job should be launched.',NULL,3721,2,'org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/RepositoryImportWizard.java','AABOKH///hE='),(107,208,'2011-06-24 17:18:05','P',1,'Can you use IWorkbenchSiteProgressService instead of using schedule() directly?',NULL,3721,3,'org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/RepositoryImportWizard.java','AABOAH///3M='),(224,8,'2011-06-14 22:27:45','P',1,'We should disable amend for all kinds of conflicts and this\ndoes not \"scale\". The problem is common enough to warrant\na solution in RepositoryState.',NULL,3727,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitHelper.java','AABOKH///f8='),(31,49,'2011-06-14 19:25:41','P',1,'GitResourceVariantTreeSubscriber relay on data that are added into GitSynchronizeDateSet. Such data contains repository, destination and source rev\'s using with we can determinate differences in particular file.\n\nPassing empty GitSynchronizeDataSet will cause NPE in members() and getSyncInfo methods.\n\nIn case of git it is quite tricky to obtain subscriber because we don\'t have one main repository. Of course we can consider that in this case we\'ll be always comparing HEAD against HEAD (or origin/HEAD or maybe origin/master (?))\n\nI\'m not sure what the default behavior should be here :|',NULL,3734,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitRepositoryProviderType.java','AABOKH///g0='),(38,49,'2011-06-14 20:02:02','P',1,'style nit: missing tab',NULL,3734,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitRepositoryProviderType.java','AABOKH///gg='),(9,6,'2011-06-22 13:33:39','P',1,'The commit message header should fit on one line (please see http://wiki.eclipse.org/EGit/Contributor_Guide#Commit_message_guidelines)',NULL,3742,1,'/COMMIT_MSG','AABOAH///48='),(13,6,'2011-06-22 13:33:39','P',1,'Please add the Change-Id line to the commit message before you push a second patch set (http://wiki.eclipse.org/EGit/Contributor_Guide#To_update_an_existing_change_with_a_new_commit). The Change-Id can be found in the Gerrit header. In this case it is I2270ec8b68886b3715f2e07099d96486e5dcb504. It is best practice to include the Change-Id already in the first commit when working with Gerrit.',NULL,3742,1,'/COMMIT_MSG','AABOAH///4w='),(453,6,'2011-06-22 13:33:39','P',1,'Please also override hashCode (see e.g. http://stackoverflow.com/questions/27581/overriding-equals-and-hashcode-in-java)',NULL,3742,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOAH///40='),(444,6,'2011-06-22 13:33:39','P',1,'This method is never used. Please remove it and add it in the next commit, or add a test case that calls the method. In eclipse that does not even compile (org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error in org.eclipse.jdt.core.prefs)',NULL,3742,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOAH///44='),(19,4,'2011-10-19 18:54:01','d',1,'add a footer \n\nAlsoBy: Benjamin Gandon <benje@linkeo.com> \n\nto the last paragraph to give credit to Benjamin, see e.g. change I1500cc376961117b39b8760e6de675a4885e5f72',NULL,3742,2,'/COMMIT_MSG','AABOBn///xE='),(457,130,'2011-10-24 09:38:59','d',1,'I didn\'t write the code, but this code is using the Eclipse resource API for detecting the file type. So for the moment, symlinks are treated like their targets.','AABOBn///ek=',3742,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///dA='),(1659,8,'2011-10-23 21:40:44','P',1,'Style-nit: extra curly braces',NULL,3742,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///eg='),(457,8,'2011-10-23 21:40:44','P',1,'Shouldn\'t we call this methods isRegularFileOrDirectory then? I read this literally as \"@return whether the file is a regular file or a directory\", but my guess is it would be clearer without the parentheses. It would also be clearer if you state what is the meaning a \"true\" return value (by implication everything else is false). Say: @return true if the file is a regular file.\n\nDid you consider how gitlinks and symbolic links affect this method in the future? I assume this method would return false for directories and gitlinks, but how about symblic links?',NULL,3742,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///ek='),(468,8,'2011-10-23 21:40:44','P',1,'style-nit; we don\'t use braces for simple single stament constructs',NULL,3742,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///eo='),(472,8,'2011-10-23 21:40:44','P',1,'style-nit; we don\'t use braces for simple single stament constructs',NULL,3742,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///es='),(480,8,'2011-10-23 21:40:44','P',1,'style-nit; we don\'t use braces for simple single stament constructs',NULL,3742,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///ew='),(12,6,'2011-06-22 13:41:17','P',1,'Please add a line \"Bug: 302549\"\n\nPlease do not forget to add the Change-Id.',NULL,3743,1,'/COMMIT_MSG','AABOAH///4s='),(1625,6,'2011-06-22 13:41:17','P',1,'You did not specify a filter for the fileWalker. Now all the files are listed in the file list.\n\nI tried just to add the FollowFilter to the fileWalker like below. This however does not work, the fileWalker cannot handle the rename.  \n\nWe need somehow to set the correct file filter when the selection of the CommitGraphTable changes.',NULL,3743,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOAH///4o='),(19,4,'2011-10-20 07:26:54','P',1,'add an \"AlsoBy:\" footer to the last paragraph in order to give credit to Benjamin instead of this line.\n\n AlsoBy: Benjamin Gandon <benje@linkeo.com>\n Change-Id: Id810e22db3f415a8471a7c4c80d9abe9fcaeb21f',NULL,3743,2,'/COMMIT_MSG','AABOBn///vI='),(18,4,'2011-10-24 07:14:11','P',1,'add a hint that this change depends on change  I4761e9f5cfb4f0ef0b0e1e38991401a1d5003bea',NULL,3743,4,'/COMMIT_MSG','AABOBn///h4='),(1728,130,'2011-10-24 09:10:27','P',1,'I just lifted the restriction, but it doesn\'t change anything because of this code in GenericHistoryView:\n\nIStructuredSelection structSelection = (IStructuredSelection) selection;\n//Always take the first element - this is not intended to work with multiple selection\n//Also, hang on to this selection for future use in case the history view is not visible\nlastSelectedElement = structSelection.getFirstElement();\n\nIn other words: we never get more than a single element into the view anyway.','AABOBn///e0=',3743,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///dw='),(1728,8,'2011-10-23 21:53:52','P',1,'Why wouldn\'t we want to be able to follow renames for a pair of files? I might be able to live with the restriction if there is a good reason for this.',NULL,3743,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///e0='),(1668,8,'2011-10-23 21:53:52','P',1,'style-nit; surplus braces',NULL,3743,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///e4='),(1666,8,'2011-10-23 21:53:52','P',1,'style-nit; surplus braces',NULL,3743,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///e8='),(376,130,'2011-10-24 08:18:14','P',1,'I think Benjamin meant that it might be better performance-wise to not start a whole new job to calculate the history from scratch. Instead he would somehow adjust the already calculated history.\n\nI for one would remove that TODO for now.','AABOBn///fM=',3743,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///eM='),(1453,8,'2011-10-23 21:53:52','P',1,'style-nit; surplus braces',NULL,3743,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///fA='),(1450,8,'2011-10-23 21:53:52','P',1,'style-nit; surplus braces',NULL,3743,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///fE='),(1416,8,'2011-10-23 21:53:52','P',1,'style-nit; surplus braces',NULL,3743,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///fI='),(376,8,'2011-10-23 21:53:52','P',1,'?',NULL,3743,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///fM='),(1898,4,'2011-10-24 07:14:11','P',1,'style nit: we don\'t use curly braces around single line blocks',NULL,3743,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOBn///i0='),(45,4,'2011-10-24 07:14:11','P',1,'This preference should also show up under Preferences > Team > Git > View in the \"History View\" group \n(similar to \"Show Notes History\" option).',NULL,3743,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIPreferences.java','AABOBn///eU='),(13,8,'2011-06-17 22:30:10','P',1,'Include a Change-Id',NULL,3745,1,'/COMMIT_MSG','AABOKH///TA='),(63,1,'2011-06-17 20:29:33','d',1,'This may turn out to be a stupid idea, but any chance you can change the depth code to be +1 so the default value for depth here is 0?\n\nThat saves at least a few instructions when setting up the object, because the field will have already been zeroed out by the GC before the object was allocated to us.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthCommit.java','AABOKH///Vk='),(160,8,'2011-06-17 22:30:10','P',1,'appropriately',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthGenerator.java','AABOKH///To='),(220,8,'2011-06-17 22:30:10','P',1,'Can\'t this be have package access instead of public?',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///Tc='),(129,8,'2011-06-17 22:30:10','P',1,'style-nit; space both before and after \'?\'',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///TE='),(189,8,'2011-06-17 22:30:10','P',1,'s/shallow/shallow one|commit',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///Tg='),(139,8,'2011-06-17 22:30:10','P',1,'Add javadoc',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///TI='),(188,8,'2011-06-17 22:30:10','P',1,'Propagate',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///Tk='),(105,1,'2011-06-17 20:36:01','d',1,'You cannot use someone else\'s flag. The *ONLY* exception is that backdoor toObjectWalk method in RevWalk.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///Uc='),(80,1,'2011-06-17 20:35:31','d',1,'Style-nit: Please put blank lines between declarations.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///Ug='),(125,1,'2011-06-17 20:39:39','d',1,'Since we rely on contains, declare this as a Set rather than Collection to indicate that LinkedList or ArrayList isn\'t really a suitable type here. :-)',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///UI='),(71,1,'2011-06-17 20:35:29','d',1,'Style-nit: Please put blank lines between declarations.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///Uk='),(139,1,'2011-06-17 20:38:23','d',1,'Javadoc is required for public methods.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///UM='),(76,1,'2011-06-17 20:35:24','d',1,'Style-nit: Please put blank lines between declarations.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///Uo='),(220,1,'2011-06-17 20:36:45','d',1,'Unit testing methods should have package access.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///UQ='),(70,1,'2011-06-17 20:35:15','d',1,'Style-nit: We use tabs to indent, you used spaces here.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///Us='),(129,1,'2011-06-17 20:36:22','d',1,'You cannot use someone else\'s flag. The *ONLY* exception is that backdoor toObjectWalk method in RevWalk.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///UU='),(65,1,'2011-06-17 20:35:06','d',1,'You extend RevWalk indirectly through ObjectWalk. This shouldn\'t be necessary.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOKH///Uw='),(126,8,'2011-06-17 22:30:10','P',1,'Can\'t this be package level instead?',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///TM='),(121,8,'2011-06-17 22:30:10','P',1,'javadoc',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///TQ='),(107,8,'2011-06-17 22:30:10','P',1,'style-nit; space both before and after \'?\'',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///TU='),(88,8,'2011-06-17 22:30:10','P',1,'style-nit; space both before and after \'?\'',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///TY='),(132,1,'2011-06-17 20:33:59','d',1,'Declare the return type as DepthObjectWalk.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///U0='),(126,1,'2011-06-17 20:33:42','d',1,'Javadoc is required for public methods. If this is for testing only, make it package-protected instead of public.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///U4='),(122,1,'2011-06-17 20:33:22','d',1,'Javadoc is required for public methods.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///U8='),(107,1,'2011-06-17 20:33:04','d',1,'See above, you cannot use someone else\'s RevFlag.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///VE='),(88,1,'2011-06-17 20:32:55','d',1,'You cannot use someone else\'s RevFlag. It must be allocated by this RevWalk.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///VI='),(84,1,'2011-06-17 20:32:33','d',1,'Style-nit: This line is longer than 80 characters. Please line wrap it.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///VM='),(80,1,'2011-06-17 20:32:21','d',1,'I would add \"each branch of development\".',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///VQ='),(67,1,'2011-06-17 20:32:02','d',1,'Style-nit: We place a blank line between declarations of members, especially when they have Javadoc attached to them.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///VU='),(66,1,'2011-06-17 20:31:39','d',1,'Style-nit: We indent with tabs, you used spaces here.',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOKH///VY='),(94,8,'2011-06-17 22:30:10','P',1,'Add javadocs for protected variables. Our Eclipse setting are set to require javadocs or flag the declation as an error.\n\nThe reason is that protected is part of the interface, and thus should be documented',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/ObjectWalk.java','AABOKH///S8='),(173,8,'2011-06-17 22:30:10','P',1,'Add javadocs for protected variables. Our Eclipse setting are set to require javadocs or flag the declation as an error.\n\nThe reason is that protected is part of the interface, and thus should be documented',NULL,3745,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java','AABOKH///S4='),(59,1,'2011-06-27 18:54:19','P',1,'Please supply valid Javadoc, not empty placeholders.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthCommit.java','AABOAH///xc='),(54,1,'2011-06-27 18:54:19','P',1,'Style-nit: I prefer single line Javadoc when possible:\n\n  /** Depth of this commit in the graph. */\n  int depth;',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthCommit.java','AABOAH///xY='),(165,236,'2011-06-27 23:14:59','P',1,'DepthRevWalk is supposed to be too simple to deal with UNINTERESTING or BOUNDARY so yes, the check is never supposed to get that far. It\'s not pretty, but I\'ll add a defensive (BOUNDARY != null) condition.','AABOAH///w0=',3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthGenerator.java','AABOAH///tw='),(165,1,'2011-06-27 18:54:19','P',1,'Style-nit: Parens here around !p.has(BOUNDARY) are not necessary.\n\nDoesn\'t this NPE when BOUNDARY wasn\'t allocated by DepthRevWalk? I guess you assume it cannot since DepthRevWalk overrides markUninteresting() to do nothing and therefore you assume UNINTERESTING can never be set on a RevCommit?\n\nI\'m a little skeptical of using that as the method to determine if BOUNDARY is null or not.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthGenerator.java','AABOAH///w0='),(89,1,'2011-06-27 18:54:19','P',1,'This line is still over 80 characters, please line wrap.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthGenerator.java','AABOAH///w8='),(78,1,'2011-06-27 18:54:19','P',1,'Style-nit: This Javadoc is not formatted properly. All lines in the block should use a * lined up in the same column, and to the right of the * the Javadoc should use spaces to indent the description of the parameter.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthGenerator.java','AABOAH///xE='),(64,1,'2011-06-27 18:54:19','P',1,'Style-nit: Blank line between fields that have Javadoc, and try to use single line Javadoc when possible.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthGenerator.java','AABOAH///xI='),(58,1,'2011-06-27 18:54:19','P',1,'Use a static import rather than copying the field.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthGenerator.java','AABOAH///xQ='),(129,236,'2011-06-27 23:14:59','P',1,'Okay. I would still like a DepthRevWalk to pass its SHALLOW on to a DepthObjectWalk so I am keeping around a package level constructor.','AABOAH///wc=',3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOAH///sk='),(129,1,'2011-06-27 18:54:19','P',1,'Same as above, the flag should not be part of the public API.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOAH///wc='),(105,1,'2011-06-27 18:54:19','P',1,'These flags should be allocated only inside of the walker, and must not be part of the public API.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOAH///wg='),(71,1,'2011-06-27 18:54:19','P',1,'Style-nit: Blank line between fields that have Javadoc.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOAH///wk='),(65,1,'2011-06-27 18:54:19','P',1,'Use static import rather than copying the field.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOAH///wo='),(208,1,'2011-06-27 18:54:19','P',1,'The only reason you had to override next(), expose pendingObjects, and duplicate all of this code was for this r.has(BOUNDARY) test?\n\nAny way we can skip that flag test on the commit?',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOAH///wQ='),(67,1,'2011-06-27 18:54:19','P',1,'Style-nit: We prefer one-line Javadoc when possible /** ... */.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOAH///ws='),(222,1,'2011-06-27 18:54:19','P',1,'Javadoc isn\'t necessary on a package method.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOAH///wU='),(70,1,'2011-06-27 18:54:19','P',1,'Style-nit: We use tabs for indentation.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthObjectWalk.java','AABOAH///ww='),(122,1,'2011-06-27 18:54:19','P',1,'This Javadoc is not connected to any code.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOAH///x0='),(107,1,'2011-06-27 18:54:19','P',1,'I\'m still fairly certain we don\'t want to allow the caller to supply the SHALLOW flag to our public constructor. This needs to be built by the RevWalk instance itself to ensure the flags are allocated right.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOAH///x4='),(88,1,'2011-06-27 18:54:19','P',1,'I\'m still fairly certain we don\'t want to allow the caller to supply the SHALLOW flag to our public constructor. This needs to be built by the RevWalk instance itself to ensure the flags are allocated right.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOAH///x8='),(84,1,'2011-06-27 18:54:19','P',1,'Please wrap lines longer than 80 characters when possible.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOAH///yA='),(63,1,'2011-06-27 18:54:19','P',1,'Style-nit: I prefer to write short Javadoc all as one line:\n\n  /** The number of commits to walk down. */',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOAH///yE='),(66,1,'2011-06-27 18:54:19','P',1,'Style-nit: Please use tabs to indent, not spaces.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthRevWalk.java','AABOAH///yI='),(177,1,'2011-06-27 18:54:19','P',1,'Instead of exposing these fields as protected, lets make a different variant of toObjectWalkWithSameObjects available:\n\n  public ObjectWalk toObjectWalkWithSameObjects() {\n    return toObjectWalkWithSameObjects(new ObjectWalk(reader));\n  }\n\n  protected <T extends ObjectWalk> toObjectWalkWithSameObjects(T dst) {\n    RevWalk rw = dst;\n    rw.objects = objects;\n    rw.freeFlags = freeFlags;\n    return rw;\n  }\n\nThis way DepthRevWalk doesn\'t have to know what to copy over, or get to see these private state fields of the RevWalk.',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java','AABOAH///yc='),(145,1,'2011-06-27 18:54:19','P',1,'Style-nit: We put the else on the line with the closing curly brace:\n\n  } else {',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/StartGenerator.java','AABOAH///yM='),(138,1,'2011-06-27 18:54:19','P',1,'Style-nit: We put the else on the line with the closing curly brace:\n\n  } else {',NULL,3745,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/StartGenerator.java','AABOAH///yQ='),(168,1,'2011-08-13 20:58:19','P',1,'This condition is redundant, you can\'t enter this block without it being true.',NULL,3745,3,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/DepthGenerator.java','AABOAn///fE='),(25,208,'2011-06-20 16:12:58','P',1,'I think this can be removed and just have the parent version specified.',NULL,3752,2,'org.eclipse.egit.github.core/pom.xml','AABOAH////w='),(25,208,'2011-06-20 16:12:58','P',1,'I think this can be removed and just have the parent version specified.',NULL,3752,2,'org.eclipse.mylyn.github.core/pom.xml','AABOAH////s='),(407,118,'2011-07-14 09:04:06','P',1,'No worries. I\'m glad I could help.','AABOAX///E8=',3756,1,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOAX///E0='),(407,5,'2011-07-14 06:22:05','P',1,'Thanks Thomasz. That was a amazing bug: \n\n- Our unit tests covered every line here\n- we had succesfull unit tests which covered the functionality of deleting empty dir\'s (they worked because of the removedEmptyParents() call outside the loop)\n- the code went through multiple reviews\n\n... and still this bug managed to be undetected. Good job.',NULL,3756,1,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOAX///E8='),(9,1,'2011-06-24 22:47:31','P',1,'Given the IP process at Eclipse, we\'re already sort of tied anyway...',NULL,3758,1,'/COMMIT_MSG','AABOAH///1k='),(8,208,'2011-06-22 00:36:05','P',1,'Please add a signed-off-by line and reference the bug using the format \"Bug: 123456\"',NULL,3759,2,'/COMMIT_MSG','AABOAH///7s='),(58,208,'2011-06-22 00:36:05','P',1,'style-nit: curlies aren\'t needed for single-line statements',NULL,3759,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/EGitUI.java','AABOAH///70='),(40,208,'2011-06-22 00:36:05','P',1,'EGit doesn\'t use author tags',NULL,3759,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/EGitUI.java','AABOAH///74='),(98,208,'2011-06-22 00:36:05','P',1,'Please format these catch statements such as spaces after commas.',NULL,3759,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/EGitUI.java','AABOAH///7w='),(203,208,'2011-06-22 00:36:05','P',1,'Please use single-line comment ( /** */ )',NULL,3759,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java','AABOAH///78='),(10,208,'2011-06-22 02:49:42','P',1,'Please format according to http://wiki.eclipse.org/EGit/Contributor_Guide#Commit_message_guidelines',NULL,3759,3,'/COMMIT_MSG','AABOAH///6Q='),(40,239,'2011-06-22 03:16:29','d',1,'Done','AABOAH///6M=',3759,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/EGitUI.java','AABOAH///54='),(40,87,'2011-06-22 03:13:49','P',1,'I see your point re: class naming.  Do we anticipate lots of project-related API?  I\'m ok with UIProjectUtils if so.  If not we might end up with a class with only one or two methods.','AABOAH///6M=',3759,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/EGitUI.java','AABOAH///6A='),(40,208,'2011-06-22 02:49:42','P',1,'After some thought, I could see these utility classes being a bit more scoped so one class doesn\'t grow overly large.\n\nWhat do you think of a class name of \"UIProjectUtils\" ?',NULL,3759,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/EGitUI.java','AABOAH///6M='),(84,208,'2011-06-22 02:49:42','P',1,'style-nit: curlies not needed for single-line for loops',NULL,3759,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/EGitUI.java','AABOAH///6U='),(53,4,'2011-08-24 08:54:34','P',1,'no need for this anymore as http://egit.eclipse.org/r/#change,4058 has already been merged. Sorry, I wasn\'t aware that you are working on this.',NULL,3760,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/PasteCommand.java','AABOAn//+hA='),(32,208,'2011-11-26 21:05:06','P',1,'Extra whitespace here and many places below, please remove',NULL,3765,2,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/UIProjectUtilsTest.java','AABOCX///HQ='),(44,208,'2011-11-26 21:05:06','P',1,'\"Repositories\" should be singular since the method only takes a single repository',NULL,3765,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIProjectUtils.java','AABOCX///HU='),(38,208,'2011-11-26 21:05:06','P',1,'\"A\" should be capitablized',NULL,3765,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIProjectUtils.java','AABOCX///HY='),(10,4,'2011-11-30 22:21:17','P',1,'trailing whitespace',NULL,3765,3,'/COMMIT_MSG','AABOC3///xA='),(7,4,'2011-11-30 22:21:17','P',1,'Start the commit message header in uppercase',NULL,3765,3,'/COMMIT_MSG','AABOC3///xE='),(9,4,'2011-11-30 22:21:17','P',1,'superfluous empty line',NULL,3765,3,'/COMMIT_MSG','AABOC3///xI='),(30,4,'2011-11-30 22:21:17','P',1,'lots of trailing whitespace in this patch',NULL,3765,3,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/UIProjectUtilsTest.java','AABOC3///w8='),(83,2,'2011-06-27 18:19:11','d',1,'nit, whitespace',NULL,3790,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashCreateCommand.java','AABOAH///xM='),(110,8,'2011-08-23 21:33:36','P',1,'At least add an excuse for leaving things like this in an RFC',NULL,3790,5,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java','AABOAn//+kg='),(87,8,'2011-08-23 21:33:36','P',1,'Never catch exceptions in test code unless you actually want to do something use. Just declare that this method throws Exception',NULL,3790,5,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java','AABOAn//+kY='),(180,8,'2011-08-23 21:33:36','P',1,'Leave unreadable things out of the code. What is the purpose?',NULL,3790,5,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashCreateCommand.java','AABOAn//+kQ='),(168,8,'2011-08-23 21:33:36','P',1,'Don\'t format comments like this.',NULL,3790,5,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashCreateCommand.java','AABOAn//+kU='),(1,8,'2011-10-23 09:16:41','P',1,'What\'s this?',NULL,3790,8,'org.eclipse.jgit.test/NOW EDITED','AABOBn///gE='),(108,8,'2011-10-23 09:16:41','P',1,'You should test the index AND the files that we expect/do not expect',NULL,3790,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java','AABOBn///gc='),(59,8,'2011-10-23 09:16:41','P',1,'We usually invent names here. After all it is not you that create the commits when the test execute on somebody else\'s machine.',NULL,3790,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java','AABOBn///gg='),(149,8,'2011-10-23 09:16:41','P',1,'ouch',NULL,3790,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java','AABOBn///gI='),(147,8,'2011-10-23 09:16:41','P',1,'ouch',NULL,3790,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java','AABOBn///gM='),(137,8,'2011-10-23 09:16:41','P',1,'Doesn\'t writeTrashFile work?',NULL,3790,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java','AABOBn///gQ='),(133,8,'2011-10-23 09:16:41','P',1,'ouch',NULL,3790,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java','AABOBn///gU='),(131,8,'2011-10-23 09:16:41','P',1,'ouch',NULL,3790,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java','AABOBn///gY='),(482,8,'2011-10-23 09:16:41','P',1,'Missing stashPop',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/Git.java','AABOBn///hE='),(82,8,'2011-10-23 09:16:41','P',1,'There must be something useful we could return.\nOr you could state that, so far this method does not\nreturn anything. hmm  I wonder if it is possible to use Void (capital V) and then changing to something else without breaking the API',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java','AABOBn///go='),(69,8,'2011-10-23 09:16:41','P',1,'Javadoc for the return values',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java','AABOBn///gs='),(71,8,'2011-10-23 09:16:41','P',1,'object id or ObjectId',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java','AABOBn///gw='),(174,8,'2011-10-23 09:16:41','P',1,'and here',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashCreateCommand.java','AABOBn///hI='),(75,8,'2011-10-23 09:16:41','P',1,'\"the stash commit\" is more precise',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashCreateCommand.java','AABOBn///hk='),(173,8,'2011-10-23 09:16:41','P',1,'We should have a constant here',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashCreateCommand.java','AABOBn///hM='),(169,8,'2011-10-23 09:16:41','P',1,'R_STASH is \"refs/stash/\". Can this work?',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashCreateCommand.java','AABOBn///hQ='),(77,8,'2011-10-23 09:16:41','P',1,'Use a Constant. Is this needed?',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashListCommand.java','AABOBn///g0='),(72,8,'2011-10-23 09:16:41','P',1,'Tell us what the content is. \"string\" is just too general a description',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashListCommand.java','AABOBn///g4='),(66,8,'2011-10-23 09:16:41','P',1,'Good question. You could return\n\na string, e.g. \"stash@{38}\" (not the message)\n\nIterable<RevCommit>\n\nIterable<RefLogEntry> This is the most complete of all\nthe readily available types.\n\nNot sure. Chris?',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashListCommand.java','AABOBn///g8='),(67,8,'2011-10-23 09:16:41','P',1,'Use constant.\nIncomplete method.',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/api/StashListCommand.java','AABOBn///hA='),(238,8,'2011-10-23 09:16:41','P',1,'refs/stash should it be, not? and then the constant should be called just STASH',NULL,3790,8,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java','AABOBn///gk='),(255,245,'2011-06-27 22:12:58','d',1,'Repository.getGlobalListenerList().remove is protected. Do you know how to remove the listeners?','AABOAH///tI=',3792,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/ReflogView.java','AABOAH///s4='),(277,49,'2011-06-27 22:05:53','P',0,'Style nit we don\'t use brackets for single line blocks',NULL,3792,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/ReflogView.java','AABOAH///tE='),(255,49,'2011-06-27 22:05:53','P',1,'To prevent memory leaking you should also remove this change listener when view is destroyed',NULL,3792,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/ReflogView.java','AABOAH///tI='),(7,4,'2011-06-28 23:55:19','P',1,'Style nit: start commit message header with uppercase first character\n\ns/fix/Fix/',NULL,3795,1,'/COMMIT_MSG','AABOAX////4='),(48,4,'2011-06-28 23:55:19','P',1,'style nit: trailing whitespace',NULL,3795,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPackInternalServerErrorException.java','AABOAX////8='),(7,5,'2011-07-04 08:26:37','P',1,'Are you sure this is for ssh authentication? When I use EGit to push via ssh then your new dialogs don\'t pop up. SSH communication goes through the jsch component and their dialogs.\nI think this proposal fixes http pushes and https pushes where I am asked for http user/password or, during https communication, passphrases to access certificate stores',NULL,3796,1,'/COMMIT_MSG','AABOAX///xk='),(7,130,'2011-07-05 08:17:23','P',1,'This patch basically provides complete credential support for EGit and is similar to the AwtCredentialsProvider for the jgit commandline app. So it may indeed fix http authentication issues (of which I am not aware).\n\nIt does fix ssh authentication, at least for me. The point is EclipseSshSessionFactory.configure(), where this patch will not overwrite the existing UserInfo (for me always an instance of CredentialsProviderUserInfo) anymore. \n\nIf the session factory installs the UserInfoPrompter, the jsch authentication dialog will be used. And this is the cause for those many authentication dialogs, because username and password are not remembered anywhere.\n\n(And sorry for all that whitespace in the patch, I had disabled the save-actions in Eclipse because of some other problem I had with them).','AABOAX///xk=',3796,1,'/COMMIT_MSG','AABOAX///xY='),(61,5,'2011-07-04 08:26:37','P',1,'Style-nit: please remove the trailing whitespaces here and in 13 other places in this file. The gerrit web-ui tells you with red markers about trainling whitespaces.',NULL,3796,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/credentials/EGitCredentialsProvider.java','AABOAX///6k='),(38,5,'2011-07-04 08:26:37','P',1,'Style-nit: please remove the trailing whitespaces in this file',NULL,3796,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CustomPromptDialog.java','AABOAX///xg='),(148,6,'2011-07-01 13:39:17','P',1,'Done','AABOAX///4A=',3801,1,'org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java','AABOAX///3E='),(106,6,'2011-07-01 13:39:17','P',1,'Done','AABOAX///4E=',3801,1,'org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java','AABOAX///3I='),(148,4,'2011-07-01 10:50:46','P',1,'how is this related to this change ?',NULL,3801,1,'org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java','AABOAX///4A='),(106,4,'2011-07-01 10:50:46','P',1,'style nit: no braces around single line blocks',NULL,3801,1,'org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java','AABOAX///4E='),(103,6,'2011-07-01 15:39:19','P',1,'Done','AABOAX///10=',3801,2,'org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java','AABOAX///0o='),(103,1,'2011-07-01 14:58:19','P',1,'Why not just make this Iterable<Ref> and allow the caller to specify any refs they want, from any source?\n\nWe can add the method, but I just wonder if it isn\'t better to make it slightly more generic at the expense of callers needing to say .getRefDatabase().getAdditionalRefs() on their own.',NULL,3801,2,'org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java','AABOAX///10='),(1512,4,'2011-07-01 22:32:21','P',1,'redundant blank before \",\"',NULL,3802,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOAX///zw='),(140,4,'2011-07-01 22:32:21','P',1,'don\'t use abbreviation:\ns/repo/repository/',NULL,3802,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOAX///zs='),(13,4,'2011-07-01 09:23:53','P',1,'style nit: trailing whitespace, many more below',NULL,3804,2,'org.eclipse.egit.doc/customBuildCallbacks.xml','AABOAX///5s='),(18,4,'2011-07-01 08:34:56','P',1,'This is obvious from the diff so you don\'t need to mention this again in the commit message.\n\nThis is a lot of text to read for a small improvement, I think the commit message header is sufficient to explain the intention of this change.',NULL,3805,1,'/COMMIT_MSG','AABOAX///6A='),(7,4,'2011-07-01 08:34:56','P',1,'Don\'t put the bug id in the header instead add a footer in the last paragraph as a separate line:\n\nBug: 347073\n\nthis will ensure that gerrit renders a link\n\nAlso start the commit message header with an uppercase letter',NULL,3805,1,'/COMMIT_MSG','AABOAX///6I='),(285,4,'2011-07-01 08:35:52','P',1,'this modification is unrelated to this change',NULL,3805,1,'org.eclipse.egit.ui/plugin.properties','AABOAX///50='),(285,247,'2011-07-01 09:02:06','d',1,'The menu label were inconsitent before:\r\n\r\nFetch *f*rom Upstream \r\n\r\nbut \r\n\r\nFetch *F*rom Gerrit\r\n\r\nI could not do the rename to \"Remove Repository from View\" without being inconsistent with one of pre-existing lables. Therefore I changed this label.','AABOAX///50=',3805,1,'org.eclipse.egit.ui/plugin.properties','AABOAX///5M='),(10,4,'2011-07-01 09:30:20','P',1,'remove this empty line, all footers should go in the last paragraph',NULL,3805,3,'/COMMIT_MSG','AABOAX///4c='),(59,4,'2011-07-01 10:46:45','P',1,'what if why is null ?',NULL,3806,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPackInternalServerErrorException.java','AABOAX///4M='),(12,1,'2011-07-01 15:01:24','P',1,'This is *NOT* what the change does.\n\nWe don\'t have a way to do the default update-only-if-existing-on-remote-side logic inside of JGit. The Transport code doesn\'t have a mode to do this matching, and the matching needs to happen only after the advertisement has been received from the remote side.\n\nThe change you made to push refs/heads/*:refs/heads/* would cause JGit to also create any local branch that is not yet on the remote. That is different than the behavior you describe, as the push creates new branches... :-(\n\nI agree that fixing the code to use the remote\'s configuration is good, but getting that \"default only if matching\" rule is going to take more work in the transport package itself.',NULL,3808,1,'/COMMIT_MSG','AABOAX///1o='),(12,6,'2011-07-01 15:29:16','P',1,'Ah, I hadn\'t tested that.\n\nI first tried the default refSpec \":\", but that did not work. I had then added the refSpec refs/heads/*:refs/heads/* which is the current fallback in EGit. Do you think that that is problematic there, too?\n\nSo I would just like to add the lookup to the remote config with this change and leave the other issue to another change.','AABOAX///1o=',3808,1,'/COMMIT_MSG','AABOAX///1Q='),(139,6,'2011-07-01 15:29:16','P',1,'That\'s nonsense.\n\nI will undo this change.','AABOAX///1s=',3808,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java','AABOAX///1M='),(139,1,'2011-07-01 15:01:24','P',1,'Why is adding refs/heads/*:refs/heads/* conditional on HEAD being a symbolic reference?',NULL,3808,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java','AABOAX///1s='),(231,1,'2011-07-01 15:57:57','P',1,'This isn\'t really what we are testing; we are checking that HEAD is pushed if nothing else was given.\n\nGiven that I wonder if we should set the local HEAD name to something other than \"master\" and verify that is on the remote side, and and also have a \"not-pushed\" branch on the local side that we observe is not sent to the remote.',NULL,3808,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java','AABOAX///0Y='),(231,6,'2011-07-04 11:21:53','P',1,'Done','AABOAX///0Y=',3808,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java','AABOAX///xA='),(253,5,'2011-07-05 15:20:33','P',1,'Now we still have a Push command which potentially creates new branches on the remote although there is no explicit refspec. Local branch names are taken to create branches on the remote repo although the user has not explicitly requested that.\n\nIs this really what we want? Native git also doesn\'t do that and when I look at the bad names which I give to my local branches I can guess why. It should be an explicit operation to publish my local branch names.\n\nSince this behaviour is not introduced or touched by this change (but strangely it\'s tested here) I suggest to accept this change and to create a bug for the old behaviour.',NULL,3808,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java','AABOAX///ok='),(900,1,'2011-07-01 14:20:15','P',1,'This form should be public. Callers should always have their own ObjectReader, not be expecting them to be created/destroyed on the fly per file. As you have seen, per-file is not efficient.',NULL,3809,2,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOAX///2U='),(43,4,'2011-07-31 13:54:48','P',1,'typo s/not show add/not add/',NULL,3812,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/AddToIndexActionHandler.java','AABOAn///+A='),(43,74,'2011-08-01 17:12:11','P',1,'Done','AABOAn///+A=',3812,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/AddToIndexActionHandler.java','AABOAn///7w='),(11,4,'2011-07-31 13:55:24','d',1,'typo s/consitent/consistent/',NULL,3813,3,'/COMMIT_MSG','AABOAn///94='),(8,4,'2011-07-31 13:55:39','d',1,'style nit: trailing whitespace',NULL,3813,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/DiscardChangesActionHandler.java','AABOAn///90='),(8,4,'2011-08-20 23:26:34','P',1,'style nit: trailing whitespace',NULL,3813,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/DiscardChangesActionHandler.java','AABOAn//+s8='),(8,4,'2011-08-25 21:38:18','P',1,'style nit: trailing whitespace',NULL,3813,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/DiscardChangesActionHandler.java','AABOAn//+Z0='),(242,6,'2011-07-05 08:57:40','P',1,'The method you call is meant to create a folder containing the data of a repository. But here you just want to create a folder.\n\nYou could split the method createUniqueTestGitDir into two parts: \n- one which creates a folder\n- one which creates a git dir and which calls the other',NULL,3815,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CloneCommandTest.java','AABOAX///qM='),(444,247,'2011-07-06 08:17:45','P',1,'Done','AABOAX///mU=',3815,2,'org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java','AABOAX///lU='),(474,247,'2011-07-06 08:17:45','P',1,'Done','AABOAX///mQ=',3815,2,'org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java','AABOAX///lY='),(474,4,'2011-07-05 23:22:23','P',1,'style nit: we don\'t use braces around single line blocks',NULL,3815,2,'org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java','AABOAX///mQ='),(444,4,'2011-07-05 23:22:23','P',1,'typo: s/Prexif/Prefix/',NULL,3815,2,'org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java','AABOAX///mU='),(464,247,'2011-07-07 15:40:38','d',1,'Done. Fixed in patch set 4.','AABOAX///Xw=',3815,3,'org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java','AABOAX///WY='),(464,4,'2011-07-07 09:05:02','P',1,'why did you move these 2 methods ?',NULL,3815,3,'org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java','AABOAX///Xw='),(331,247,'2011-07-08 06:09:14','P',1,'Good catch. This indeed changed the test case.','AABOAX///Vw=',3815,4,'org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java','AABOAX///Ro='),(337,4,'2011-07-07 21:22:23','P',1,'trailing whitespace',NULL,3815,4,'org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java','AABOAX///Vo='),(322,4,'2011-07-07 21:22:23','P',1,'trailing whitespace',NULL,3815,4,'org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java','AABOAX///Vs='),(331,4,'2011-07-07 21:22:23','P',1,'other than the previous implementation in subclasses this doesn\'t create the directory anymore.',NULL,3815,4,'org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java','AABOAX///Vw='),(249,4,'2011-07-06 13:49:00','P',1,'This looks convoluted ... instead do\n\n String uriString;\n if (uri != null) {\n     operationResult.addOperationResult(uri, userMessage);\n     uriString = uri.toString();\n } else\n     uriString = \"retrieving URI failed\"; //$NON-NLS-1$',NULL,3817,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/PushOperation.java','AABOAX///hw='),(10,5,'2011-07-06 08:54:59','P',1,'You add an option which controls whehter trees are included, or?\n\ns/will include changed trees/allows to specify whether changed trees are included/',NULL,3819,1,'/COMMIT_MSG','AABOAX///k4='),(10,49,'2011-07-06 09:05:52','P',1,'Done','AABOAX///k4=',3819,1,'/COMMIT_MSG','AABOAX///kw='),(119,1,'2011-07-06 14:01:54','P',1,'You should add a comment here that explaining that walk.setRecursive(false) must be used if includeTrees is true.\n\nI wonder if we shouldn\'t add a check for this misuse:\n\n  if (includeTrees && walk.isRecursive())\n    throw new IllegalArgumentException(...);',NULL,3819,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffEntry.java','AABOAX///hc='),(119,49,'2011-07-06 14:04:37','P',1,'True, good point!\n\nI\'ll push next version soon','AABOAX///hc=',3819,2,'org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffEntry.java','AABOAX///hU='),(135,49,'2011-07-07 11:06:19','P',1,'Yes, in deed it should be IllegalArgumentException','AABOAX///Xk=',3819,3,'org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffEntry.java','AABOAX///Xc='),(135,15,'2011-07-07 11:01:42','P',1,'I don\'t think you meant IllegalAccessError here',NULL,3819,3,'org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffEntry.java','AABOAX///Xk='),(116,4,'2011-07-07 22:01:46','P',1,'typo: s/depends/depending/',NULL,3819,4,'org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffEntry.java','AABOAX///UQ='),(142,4,'2011-07-27 23:20:38','d',1,'typo: s/Deletation/Deletion/',NULL,3819,6,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffEntryTest.java','AABOAX//+kA='),(2,4,'2011-07-27 23:12:55','d',1,'typo: s/Daiusz/Dariusz/',NULL,3819,6,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffEntryTest.java','AABOAX//+kE='),(2,49,'2011-08-15 20:40:24','P',1,'Done','AABOAn///VI=',3819,7,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffEntryTest.java','AABOAn///Ro='),(2,6,'2011-08-15 12:29:12','P',1,'typo in your name',NULL,3819,7,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffEntryTest.java','AABOAn///VI='),(142,49,'2011-08-16 15:51:24','d',1,'Done','AABOAn///OM=',3819,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffEntryTest.java','AABOAn///LM='),(142,6,'2011-08-16 12:58:14','P',1,'s/Deletation/Deletion',NULL,3819,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffEntryTest.java','AABOAn///OM='),(392,4,'2011-08-14 20:56:51','P',1,'avoid mixing in pure formatting changes',NULL,3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///b0='),(355,4,'2011-08-14 20:56:51','P',1,'avoid mixing in pure formatting changes',NULL,3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///b4='),(311,4,'2011-08-14 20:56:51','P',1,'avoid mixing in pure formatting changes',NULL,3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///b8='),(682,4,'2011-08-14 20:56:51','P',1,'avoid mixing in pure formatting changes',NULL,3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///bo='),(639,4,'2011-08-14 20:56:51','P',1,'avoid mixing in pure formatting changes',NULL,3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///bs='),(433,4,'2011-08-14 20:56:51','P',1,'avoid mixing in pure formatting changes',NULL,3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///bw='),(271,4,'2011-08-14 20:56:51','P',1,'avoid mixing in pure formatting changes',NULL,3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///cA='),(233,4,'2011-08-14 20:56:51','P',1,'avoid mixing in pure formatting changes',NULL,3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///cE='),(311,49,'2011-08-15 15:08:27','d',1,'Done','AABOAn///b8=',3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///T0='),(271,49,'2011-08-15 15:08:21','d',1,'Done','AABOAn///cA=',3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///T4='),(233,49,'2011-08-15 15:08:10','d',1,'Done','AABOAn///cE=',3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///T8='),(682,49,'2011-08-15 15:10:43','d',1,'Done','AABOAn///bo=',3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///Tg='),(639,49,'2011-08-15 15:10:15','d',1,'Done','AABOAn///bs=',3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///Tk='),(433,49,'2011-08-15 15:09:21','d',1,'Done','AABOAn///bw=',3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///To='),(392,49,'2011-08-15 15:09:07','d',1,'Done','AABOAn///b0=',3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///Ts='),(355,49,'2011-08-15 15:08:52','d',1,'Done','AABOAn///b4=',3820,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantComparatorTest.java','AABOAn///Tw='),(170,4,'2011-08-14 20:56:51','P',1,'remove dead code which was commented out',NULL,3820,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTree.java','AABOAn///bk='),(170,49,'2011-08-15 15:11:14','d',1,'Done','AABOAn///bk=',3820,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTree.java','AABOAn///Tc='),(93,4,'2011-08-14 20:56:51','P',1,'typo: s/Symetric/Symmetric/',NULL,3820,5,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn///bc='),(79,4,'2011-08-14 20:56:51','P',1,'typo: s/Symetric/Symmetric/',NULL,3820,5,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn///bg='),(98,4,'2011-08-14 20:56:51','P',1,'remove dead code',NULL,3820,5,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn///bY='),(98,49,'2011-08-15 15:13:00','d',1,'Done','AABOAn///bY=',3820,5,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn///TQ='),(93,49,'2011-08-15 15:12:52','d',1,'Done','AABOAn///bc=',3820,5,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn///TU='),(79,49,'2011-08-15 15:12:46','d',1,'Done','AABOAn///bg=',3820,5,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn///TY='),(30,4,'2011-08-14 20:56:51','P',1,'remove TODOs (more below) ?',NULL,3820,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitChangeSetCapability.java','AABOAn///bM='),(1,4,'2011-08-14 20:56:51','P',1,'missing license header',NULL,3820,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitChangeSetCapability.java','AABOAn///bQ='),(11,4,'2011-08-14 20:56:51','P',1,'? we do not use author tags and your name isn\'t lock ...\n\nmissing javadoc for public class',NULL,3820,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitChangeSetCapability.java','AABOAn///bU='),(30,49,'2011-08-15 15:15:21','d',1,'Done','AABOAn///bM=',3820,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitChangeSetCapability.java','AABOAn///TE='),(11,49,'2011-08-15 15:15:05','d',1,'My unix user name is lock, therefore here \'lock\' is mentioned as author.\n\nDone.','AABOAn///bU=',3820,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitChangeSetCapability.java','AABOAn///TI='),(1,49,'2011-08-15 15:13:50','d',1,'Done','AABOAn///bQ=',3820,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitChangeSetCapability.java','AABOAn///TM='),(114,4,'2011-08-15 22:32:36','P',1,'formatting change',NULL,3821,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantTreeTest.java','AABOAn///a8='),(83,4,'2011-08-15 22:32:36','P',1,'formatting change',NULL,3821,5,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitResourceVariantTreeTest.java','AABOAn///bA='),(129,4,'2011-08-15 22:32:36','P',1,'style nit: trailing whitespace',NULL,3821,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOAn///a4='),(41,4,'2011-08-15 22:32:36','P',1,'why no error message ?',NULL,3821,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitRemoteFile.java','AABOAn///a0='),(51,4,'2011-08-15 22:32:36','P',1,'wouldn\'t it be better to throw an exception here if this shouldn\'t happen',NULL,3821,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitRemoteFolder.java','AABOAn///aw='),(1367,4,'2011-08-15 22:32:36','P',1,'typo: s/Synchonize/Synchronize/\n\ndo you mean fetching from a remote repository or something else ?',NULL,3821,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOAn///QQ='),(223,44,'2011-07-06 13:22:36','P',1,'Done','AABOAX///iQ=',3832,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitMoveDeleteHook.java','AABOAX///h0='),(223,15,'2011-07-06 12:46:13','P',1,'/SUECCESS/SUCCESS/',NULL,3832,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitMoveDeleteHook.java','AABOAX///iQ='),(14,6,'2011-07-08 08:51:40','P',1,'Done','AABOAX///Yw=',3836,1,'/COMMIT_MSG','AABOAX///RM='),(14,104,'2011-07-07 05:28:15','P',1,'s/now the only the name/now only the name',NULL,3836,1,'/COMMIT_MSG','AABOAX///Yw='),(1400,6,'2011-07-08 08:51:40','P',1,'Done','AABOAX///Ys=',3836,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefSpecPanel.java','AABOAX///RU='),(1386,6,'2011-07-08 08:51:40','P',1,'Done','AABOAX///Yo=',3836,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefSpecPanel.java','AABOAX///RY='),(1386,104,'2011-07-07 05:28:15','P',1,'[optional] my preference would be to inline this',NULL,3836,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefSpecPanel.java','AABOAX///Yo='),(1400,104,'2011-07-07 05:28:15','P',1,'Both the methods \'deleteTagPrefix(String newDst)\' and \'deleteHeadsPrefix(String newDst)\' are very similar. I think it would be better to just have one method for that: \'deletePrefix(String prefix, String newDst)\'. Even better would be if this method could remove several prefixes at once: \'deletePrefix(String prefix..., String newDst)\'',NULL,3836,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefSpecPanel.java','AABOAX///Ys='),(1390,6,'2011-07-13 14:04:56','P',1,'Done','AABOAX///Q0=',3836,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefSpecPanel.java','AABOAX///Ho='),(1388,6,'2011-07-13 14:04:56','P',1,'Done','AABOAX///Q8=',3836,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefSpecPanel.java','AABOAX///Hs='),(1386,6,'2011-07-13 14:04:56','P',1,'Done','AABOAX///RA=',3836,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefSpecPanel.java','AABOAX///Hw='),(1390,104,'2011-07-08 09:00:46','P',1,'[optional] this could be:\n return ref.substring(prefix.length());',NULL,3836,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefSpecPanel.java','AABOAX///Q0='),(1388,104,'2011-07-08 09:00:46','P',1,'[optional] this could be: \n ref.startsWith(prefix)',NULL,3836,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefSpecPanel.java','AABOAX///Q8='),(1386,104,'2011-07-08 09:00:46','P',1,'[optional] This variable is actually not really needed.',NULL,3836,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefSpecPanel.java','AABOAX///RA='),(577,208,'2011-07-06 23:42:43','P',1,'The link is on line 583, I switched to a CLabel for the text and icon so we don\'t need an extra control and so it could degrade gracefully when not enough space exists for both the icon and text.','AABOAX///cI=',3839,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOAX///cA='),(577,63,'2011-07-06 23:40:38','P',1,'CLabel doesn\'t render hyperlinks. Did you mean to use a Link control instead?',NULL,3839,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java','AABOAX///cI='),(82,4,'2011-07-07 21:47:37','P',1,'this concatenation could be language dependant so better use a template with parameters',NULL,3846,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CherryPickHandler.java','AABOAX///U8='),(97,4,'2011-07-07 21:41:17','P',1,'this text should be translatable as well as it is used to construct an error message displayed to the user',NULL,3846,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CherryPickHandler.java','AABOAX///VI='),(10,6,'2011-07-13 14:28:08','P',1,'s/user/use',NULL,3852,1,'/COMMIT_MSG','AABOAX///HA='),(10,49,'2011-07-08 07:06:59','d',1,'s/user/use/',NULL,3852,1,'/COMMIT_MSG','AABOAX///Rc='),(9,256,'2011-07-13 06:08:42','P',1,'Done','AABOAX///M0=',3860,1,'/COMMIT_MSG','AABOAX///Jo='),(9,9,'2011-07-12 08:22:05','P',1,'Typo. Should either be:\n\n Tests were added\n\nor:\n\n Test was added',NULL,3860,1,'/COMMIT_MSG','AABOAX///M0='),(180,256,'2011-07-13 06:08:42','P',1,'In my test case I have 3 commits and do actual merge. Tree looks like this\ninit - - - a  < - master\n   \\        \\\n    b - - - d  < - merge\n    |\n  side\n\nIn testFastForwardWithFiles there are 2 commits and no actual merge. Tree looks like this\n\n   a   - - -  b  <- master\n   |          |\nbranch1  branch1\nbefore    after\n      merge','AABOAX///M4=',3860,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/MergeCommandTest.java','AABOAX///KA='),(180,9,'2011-07-12 08:22:05','P',1,'Looks like this test is doing the same as the testFastForwardWithFiles test. Or?',NULL,3860,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/MergeCommandTest.java','AABOAX///M4='),(117,256,'2011-07-13 06:08:42','P',1,'Done','AABOAX///Mw=',3860,1,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOAX///J0='),(123,256,'2011-07-13 06:08:42','P',1,'Done','AABOAX///Ms=',3860,1,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOAX///J4='),(138,256,'2011-07-13 06:08:42','P',1,'Done','AABOAX///NA=',3860,1,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOAX///J8='),(123,9,'2011-07-12 08:22:05','P',1,'Style-nit: trailing whitespace.',NULL,3860,1,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOAX///Ms='),(117,9,'2011-07-12 08:22:05','P',1,'Style-nit: trailing whitespace.',NULL,3860,1,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOAX///Mw='),(138,247,'2011-07-12 06:52:24','P',1,'Instead of adding this method, you could make the >>merge(AnyObjectId[]  tips)<< method take varargs: >>merge(AnyObjectId ... tips)<<',NULL,3860,1,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOAX///NA='),(41,247,'2011-07-13 07:15:52','P',1,'I think theories were introduced in junit with 4.4. Hence the minimal requirement should be [4.4.0',NULL,3860,3,'org.eclipse.jgit.test/META-INF/MANIFEST.MF','AABOAX///JI='),(42,247,'2011-07-13 07:15:52','P',1,'see above',NULL,3860,3,'org.eclipse.jgit.test/META-INF/MANIFEST.MF','AABOAX///JM='),(43,247,'2011-07-13 07:15:52','P',1,'see above',NULL,3860,3,'org.eclipse.jgit.test/META-INF/MANIFEST.MF','AABOAX///JQ='),(43,256,'2011-07-18 05:39:57','P',1,'Done','AABOAX///JQ=',3860,3,'org.eclipse.jgit.test/META-INF/MANIFEST.MF','AABOAX//+xg='),(42,256,'2011-07-18 05:39:57','P',1,'Done','AABOAX///JM=',3860,3,'org.eclipse.jgit.test/META-INF/MANIFEST.MF','AABOAX//+xk='),(41,256,'2011-07-18 05:39:57','P',1,'Done','AABOAX///JI=',3860,3,'org.eclipse.jgit.test/META-INF/MANIFEST.MF','AABOAX//+xo='),(94,74,'2011-07-15 14:11:12','P',1,'For this case, there is no difference between a modified file with or without conflicts as the result is the same. Tried to make the testcase not too complex.','AABOAX///Io=',3866,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContextTest.java','AABOAX///A4='),(104,74,'2011-07-15 14:11:12','P',1,'Changed in the Status object means modified + added (bad working in my eyes, had the same problem at first)','AABOAX///Is=',3866,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContextTest.java','AABOAX///A8='),(68,74,'2011-07-15 14:11:12','P',1,'Done','AABOAX///I0=',3866,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContextTest.java','AABOAX///BI='),(68,49,'2011-07-13 07:35:15','P',1,'initial commit was already created in setUp() method',NULL,3866,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContextTest.java','AABOAX///I0='),(94,49,'2011-07-13 07:35:15','P',1,'This test checks mark-as-merge on modified file, shouldn\'t it simulate conflict and then test behavior of mark-as-merge action?',NULL,3866,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContextTest.java','AABOAX///Io='),(104,49,'2011-07-13 07:35:15','P',1,'I would rather say that \'marked as merged\' file should be in git index not in list of changed files.',NULL,3866,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContextTest.java','AABOAX///Is='),(482,15,'2011-07-15 06:37:05','P',1,'s/Expandsion/Expansion/',NULL,3870,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIUtils.java','AABOAX///B4='),(482,208,'2011-07-15 15:29:22','P',1,'Done','AABOAX///B4=',3870,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIUtils.java','AABOAX//+/U='),(342,5,'2011-10-19 09:43:39','P',1,'I think that casual users of our GitAPI will be a confused. Many people will have problems understanding the difference between MergeStrategies (Resolve, Recursive, Ours, Theirs, ...) and content-mergers. Even I would on the first look expect that \"mergeWith()\" expects a strategy. Also because native git only allows me to specify the merge strategy together with the \"git merge\" command.\n\nI suggest to name this \"contentMergeWith\" or \"setMergeTool()\" (to be consistent with how you set a content merger in native git).\n\nOf course the same argument goes for all commands you touched.',NULL,3874,3,'org.eclipse.jgit/src/org/eclipse/jgit/api/MergeCommand.java','AABOBn///xo='),(73,5,'2011-10-19 09:43:39','P',1,'Wouldn\'t it better to have a named class (instead of a anonymous one) for the Default content merger? The we could reuse the instances of  DefaultContentMerger. We would only need one DefaultContentMerger per repository.',NULL,3874,3,'org.eclipse.jgit/src/org/eclipse/jgit/merge/ContentMerger.java','AABOBn///xs='),(593,5,'2011-10-19 09:43:39','P',1,'Having one method \'mergeContent()\' and another one \'contentMerge()\' in this class is not nice. It\'s hard to find out which method is doing what. Therefore I refactored ResolveMerger so that there is only one method where we do content merge (see change #4366). I would suggest you rebase this change on top of 4366 and adapt it to the new structure. That will look much cleaner.',NULL,3874,3,'org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java','AABOBn///xw='),(39,49,'2011-07-14 11:57:58','P',1,'s/commit/merge/',NULL,3876,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/SupportedContextActionsHelper.java','AABOAX///EY='),(7,49,'2011-07-15 14:35:46','P',1,'I\'ve notice it on deleted file but didn\'t test it on other changes. But you have right it appears on all staged chagnes','AABOAX///Ao=',3877,1,'/COMMIT_MSG','AABOAX///AA='),(7,6,'2011-07-15 14:14:05','P',1,'Are you sure that the NullPointer is related to the fact that a file is deleted? I also get it in other cases.',NULL,3877,1,'/COMMIT_MSG','AABOAX///Ao='),(78,6,'2011-07-15 14:14:05','P',1,'Btw.: By using the parent here in the case of a change in the index the compare editor will show HEAD~1 on the right hand side instead of HEAD. I\'ll reopen Bug 326674 which had addressed this issue.',NULL,3877,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelObjectContainer.java','AABOAX///BE='),(77,6,'2011-07-15 14:14:05','P',1,'RevWalk would be sufficient here.',NULL,3877,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelObjectContainer.java','AABOAX///BU='),(78,49,'2011-07-15 14:35:46','P',1,'Done','AABOAX///BE=',3877,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelObjectContainer.java','AABOAX//+/4='),(77,49,'2011-07-15 14:35:46','P',1,'Done','AABOAX///BU=',3877,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelObjectContainer.java','AABOAX//+/8='),(170,5,'2011-08-16 13:18:24','P',1,'Done','AABOAX///Bo=',3879,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ResetCommandTest.java','AABOAn///M0='),(170,15,'2011-07-15 10:50:24','P',1,'s/Excpected/Expected/',NULL,3879,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ResetCommandTest.java','AABOAX///Bo='),(156,5,'2011-08-16 13:16:23','P',1,'Done','AABOAX//+iM=',3879,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ResetCommand.java','AABOAn///NE='),(156,6,'2011-07-28 11:16:54','P',1,'s/know/now',NULL,3879,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ResetCommand.java','AABOAX//+iM='),(11,208,'2011-07-15 17:04:03','P',1,'I suggest making the commit message more active:\n\nMove the repository to the right side and only show the commit id on the left. In addition, clicking a repository reveals it in the Git Repositories view.',NULL,3880,1,'/COMMIT_MSG','AABOAX//+9g='),(11,74,'2011-07-15 17:12:23','P',1,'Done','AABOAX//+9g=',3880,1,'/COMMIT_MSG','AABOAX//+9U='),(143,208,'2011-07-15 17:04:03','P',1,'\"Title\" is the id correct?  I would suggest making it \"repositoryName\" or something a bit more descriptive.',NULL,3880,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditor.java','AABOAX//+9k='),(143,74,'2011-07-15 17:12:23','P',1,'Done','AABOAX//+9k=',3880,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitEditor.java','AABOAX//+9Q='),(57,49,'2011-07-17 20:00:31','P',1,'please remove commented code',NULL,3883,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/ShowInReflogCommand.java','AABOAX//+04='),(26,208,'2011-07-17 20:05:39','P',1,'Should be: Implements \"Show in Ref Log\"',NULL,3883,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/ShowInReflogCommand.java','AABOAX//+0Y='),(132,208,'2011-07-17 20:20:55','P',1,'CommitEditor.openQuiet should not be called it getCommit returns null.',NULL,3886,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GitProjectPropertyPage.java','AABOAX//+z0='),(146,74,'2011-07-18 00:28:29','P',1,'Done','AABOAX//+zs=',3886,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GitProjectPropertyPage.java','AABOAX//+zI='),(132,74,'2011-07-18 00:28:29','P',1,'Done','AABOAX//+z0=',3886,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GitProjectPropertyPage.java','AABOAX//+zM='),(146,208,'2011-07-17 20:21:39','P',1,'This error should probably be logged.',NULL,3886,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GitProjectPropertyPage.java','AABOAX//+zs='),(135,74,'2011-07-19 11:54:04','P',1,'Done','AABOAX//+yE=',3886,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GitProjectPropertyPage.java','AABOAX//+ug='),(122,74,'2011-07-19 11:54:04','P',1,'Yes, that\'s a shortcoming of the Hyperlink widget. Replaced by original implementation (Text) in this case.','AABOAX//+w4=',3886,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GitProjectPropertyPage.java','AABOAX//+uk='),(122,208,'2011-07-18 16:33:52','P',1,'It looks like the link is still selectable even when these cases occur.',NULL,3886,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GitProjectPropertyPage.java','AABOAX//+w4='),(135,208,'2011-07-18 02:50:29','P',1,'Curlies not needed here',NULL,3886,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/GitProjectPropertyPage.java','AABOAX//+yE='),(159,208,'2011-07-17 20:01:12','P',1,'This should check for repository.isBare() and use the directory name on bare repositories.\n\nSee RepositoryCommit.getRepositoryName() for an example.',NULL,3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+00='),(168,208,'2011-07-17 20:02:43','P',1,'Should workbenchLabelProvider.dispose be called as well when non-null?',NULL,3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+0g='),(1,49,'2011-07-17 19:06:45','P',1,'add copyright header',NULL,3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+2w='),(146,49,'2011-07-17 13:13:43','P',1,'curly brackets can be removed',NULL,3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+4c='),(88,49,'2011-07-17 13:13:43','P',1,'one empty line is enough',NULL,3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+4g='),(52,49,'2011-07-17 13:13:43','P',1,'this tailing white space isn\'t needed here',NULL,3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+4k='),(43,49,'2011-07-17 13:13:43','P',1,'is this \'f\' prefix really needed ?',NULL,3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+4o='),(52,74,'2011-07-18 00:37:55','P',1,'Done','AABOAX//+4k=',3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+y4='),(43,74,'2011-07-18 00:37:55','P',1,'Done','AABOAX//+4o=',3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+y8='),(159,74,'2011-07-18 00:37:55','P',1,'Good catch, done!','AABOAX//+00=',3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+yk='),(168,74,'2011-07-18 00:37:55','P',1,'Good catch! Done','AABOAX//+0g=',3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+yo='),(146,74,'2011-07-18 00:37:55','P',1,'Done','AABOAX//+4c=',3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+ys='),(88,74,'2011-07-18 00:37:55','P',1,'Done','AABOAX//+4g=',3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+yw='),(1,74,'2011-07-18 00:37:55','P',1,'Done','AABOAX//+2w=',3890,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+zA='),(138,74,'2011-07-19 12:16:40','P',1,'Yep, like the idea, integrated your idea (with minor modifications). Normally we should do this in a separate commit as this commit was only meant for the whole refactoring.','AABOAX//+x4=',3890,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+uQ='),(118,74,'2011-07-19 12:16:40','P',1,'Yep, good idea!','AABOAX//+vs=',3890,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+uU='),(118,8,'2011-07-18 22:01:33','P',1,'Maybe we should add element.toString to the error',NULL,3890,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+vs='),(138,208,'2011-07-18 03:18:57','P',1,'What do you think about the following? It removes the branch string and the += performed on it which creates an unneeded extra string.\n\nstring.append(\' \');\n\nstring.append(\'[\', StyledString.DECORATIONS_STYLER);\n\nstring.append(repository.getBranch(), StyledString.DECORATIONS_STYLER);\n\nRepositoryState state = repository.getRepositoryState();\n\nif (state != RepositoryState.SAFE) {\n\nstring.append(\" - \", StyledString.DECORATIONS_STYLER);\n\nstring.append(state.getDescription(), StyledString.DECORATIONS_STYLER);\n\n}\n\nstring.append(\']\', StyledString.DECORATIONS_STYLER);',NULL,3890,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABOAX//+x4='),(355,44,'2011-07-29 18:45:08','P',1,'Should be super.getText',NULL,3890,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewLabelProvider.java','AABOAX//+dY='),(140,44,'2011-07-29 18:45:08','P',1,'Using GitLabelProvider does not work here because the Content Provider provides String objects and no Repository objects.',NULL,3890,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositorySearchDialog.java','AABOAX//+dc='),(27,4,'2011-08-16 23:33:14','P',1,'would it make sense to use null instead to save a couple of 40 byte SHA1 objects in memory (with large repos you\'ll create many ThreeWayDiffEntries). I analyzed a heap dump taken after running the example you described. I found that the ThreeWayDiffEntries weigh around 500 byte, many seem to have only one ID really set and two set to A_ZERO which eats 80 byte for every entry.',NULL,3891,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/ThreeWayDiffEntry.java','AABOAn///GI='),(27,49,'2011-08-17 23:35:39','d',1,'This SHA1 is used only once (in line 100) to check if given resource is missing in all revisions . It isn\'t stored in any instance of ThreeWayDiffEntry. For convenience I\'ll make it private.','AABOAn///GI=',3891,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/ThreeWayDiffEntry.java','AABOAn//+3w='),(1110,4,'2011-09-05 06:44:40','P',1,'Prepend \"Inconsistent merge state:\" to make clear which operation might have failed.\n\ntypo: s/File/file/',NULL,3897,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOBH///tk='),(3,4,'2011-08-13 23:56:18','P',1,'so far we still support JavaSE-1.5',NULL,3904,3,'org.eclipse.egit.mylyn.ui.test/.classpath','AABOAn///d4='),(3,74,'2011-08-16 23:57:20','P',1,'Done','AABOAn///d4=',3904,3,'org.eclipse.egit.mylyn.ui.test/.classpath','AABOAn///MY='),(4,4,'2011-08-13 23:56:18','P',1,'we still support Java 1.5\n\nI would recommend to copy all prefs from an already existing project (e.g. egit.ui.tests) to ensure consistent settings\n\nresources.prefs and runtime.prefs are required to enforce UTF-8 encoded source encoding and unix line endings',NULL,3904,3,'org.eclipse.egit.mylyn.ui.test/.settings/org.eclipse.jdt.core.prefs','AABOAn///d0='),(4,74,'2011-08-16 23:57:20','P',1,'Done','AABOAn///d0=',3904,3,'org.eclipse.egit.mylyn.ui.test/.settings/org.eclipse.jdt.core.prefs','AABOAn///MU='),(7,4,'2011-08-13 23:56:18','P',1,'should be JavaSE-1.5',NULL,3904,3,'org.eclipse.egit.mylyn.ui.test/META-INF/MANIFEST.MF','AABOAn///dw='),(7,74,'2011-08-16 23:57:20','P',1,'Done','AABOAn///dw=',3904,3,'org.eclipse.egit.mylyn.ui.test/META-INF/MANIFEST.MF','AABOAn///MQ='),(204,4,'2011-08-13 23:56:18','P',1,'style nit: no braces here',NULL,3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/CommitHyperlinkDetector.java','AABOAn///dg='),(169,4,'2011-08-13 23:56:18','P',1,'Should we also look for abbreviated commitIDs if they have a reasonable minimum length \nand can be resolved non-ambiguously, similar to what cgit also allows on the command line ? \nsee AbbreviatedObjectId.isId()',NULL,3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/CommitHyperlinkDetector.java','AABOAn///dk='),(144,4,'2011-08-13 23:56:18','P',1,'style nit: no braces around single line blocks',NULL,3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/CommitHyperlinkDetector.java','AABOAn///do='),(140,4,'2011-08-13 23:56:18','P',1,'missing javadoc',NULL,3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/CommitHyperlinkDetector.java','AABOAn///ds='),(169,74,'2011-08-16 23:57:20','P',1,'I\'d say we should no try to do this as the minimum length depends on the repository and we may end up parsing really everything in the incoming source viewer instead of failing earlier as we now do.','AABOAn///dk=',3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/CommitHyperlinkDetector.java','AABOAn///MA='),(204,74,'2011-08-16 23:57:20','P',1,'Done','AABOAn///dg=',3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/CommitHyperlinkDetector.java','AABOAn///ME='),(140,74,'2011-08-16 23:57:20','P',1,'Done','AABOAn///ds=',3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/CommitHyperlinkDetector.java','AABOAn///MI='),(144,74,'2011-08-16 23:57:20','P',1,'Done','AABOAn///do=',3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/CommitHyperlinkDetector.java','AABOAn///MM='),(22,4,'2011-08-13 23:56:18','P',1,'style nit: in similar classes we use a single blank instead of a tab between /** and */',NULL,3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/Messages.java','AABOAn///dc='),(26,4,'2011-08-13 23:56:18','P',1,'style nit: how about adding a blank line before the static initializer to increase readability ?',NULL,3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/Messages.java','AABOAn///dY='),(26,74,'2011-08-16 23:57:20','P',1,'Done','AABOAn///dY=',3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/Messages.java','AABOAn///L4='),(22,74,'2011-08-16 23:57:20','P',1,'Done','AABOAn///dc=',3904,3,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/Messages.java','AABOAn///L8='),(269,1,'2011-08-13 21:07:08','P',0,'You need to keep this translation for the WalkPushConnection.',NULL,3907,1,'org.eclipse.jgit/src/org/eclipse/jgit/JGitText.java','AABOAn///ek='),(153,1,'2011-08-13 21:07:08','P',1,'There is no message here, this class is the one executing the command. It wants to say funnyRefname as the message. So this one is correct in the old version.',NULL,3907,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkPushConnection.java','AABOAn///eo='),(208,74,'2011-07-24 22:06:45','P',1,'Done','AABOAX//+o4=',3908,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/SpellcheckableMessageArea.java','AABOAX//+nc='),(208,208,'2011-07-23 03:40:03','P',1,'Curlies not needed here.',NULL,3908,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/SpellcheckableMessageArea.java','AABOAX//+o4='),(13,74,'2011-08-10 10:51:46','P',1,'ha...there is a task for that :) Done','AABOAn///tk=',3909,1,'/COMMIT_MSG','AABOAn///m0='),(13,4,'2011-08-08 15:16:16','P',1,'add a link to the corresponding bug:\n\nBug: 337288',NULL,3909,1,'/COMMIT_MSG','AABOAn///tk='),(185,74,'2011-08-10 10:51:46','P',1,'Done','AABOAn///to=',3909,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushResultTable.java','AABOAn///m4='),(185,4,'2011-08-08 15:16:16','P',1,'style nit: unnecessary blank line, one should be sufficient',NULL,3909,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushResultTable.java','AABOAn///to='),(39,74,'2011-08-10 12:21:35','P',1,'Reimplemented the same strategy, had to move some util methods into core.','AABOAX//+js=',3914,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java','AABOAn///mQ='),(39,6,'2011-07-28 08:22:11','P',1,'This field was introduced in commit 0c90acfe in order to store the encoding of the currently processed file for use inside the DiffFormatter.\n\nI admit that there is no test for files with different encoding (or even no test at all), but I think that now it does not work anymore. Could you please check this?',NULL,3914,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java','AABOAX//+js='),(27,74,'2011-08-17 10:43:35','P',1,'Done','AABOAn///jw=',3914,2,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/CreatePatchOperationTest.java','AABOAn///EY='),(27,4,'2011-08-10 21:54:55','P',1,'style nit: unnecessary blank line',NULL,3914,2,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/op/CreatePatchOperationTest.java','AABOAn///jw='),(28,74,'2011-08-17 10:43:35','P',1,'Done','AABOAn///kM=',3914,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/CompareCoreUtils.java','AABOAn///EQ='),(2,74,'2011-08-17 10:43:35','P',1,'Done','AABOAn///kQ=',3914,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/CompareCoreUtils.java','AABOAn///EU='),(28,4,'2011-08-10 21:54:55','P',1,'style nit: unnecessary blank line',NULL,3914,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/CompareCoreUtils.java','AABOAn///kM='),(2,4,'2011-08-10 21:54:55','P',1,'you moved some code to this class, so you should also put the copyright of the original authors here\n\nlooks weird that you use different copyright style in different files of the same patch',NULL,3914,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/CompareCoreUtils.java','AABOAn///kQ='),(128,74,'2011-08-17 10:43:35','P',1,'Done','AABOAn///kU=',3914,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java','AABOAn///EI='),(3,74,'2011-08-17 10:43:35','P',1,'Done','AABOAn///j4=',3914,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java','AABOAn///EM='),(3,4,'2011-08-10 21:54:55','P',1,'add the copyright statements of the authors of the code you moved from other classes to this one',NULL,3914,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java','AABOAn///j4='),(128,4,'2011-08-10 21:54:55','P',1,'typo: s/contents/content/',NULL,3914,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java','AABOAn///kU='),(107,74,'2011-08-17 10:43:35','P',1,'Done','AABOAn///kI=',3914,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitCreatePatchWizard.java','AABOAn///D0='),(114,74,'2011-08-17 10:43:35','P',1,'Done','AABOAn///kE=',3914,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitCreatePatchWizard.java','AABOAn///Dw='),(114,4,'2011-08-10 21:54:55','P',1,'this formatting change looks unnecessary',NULL,3914,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitCreatePatchWizard.java','AABOAn///kE='),(107,4,'2011-08-10 21:54:55','P',1,'this formatting change looks unnecessary',NULL,3914,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitCreatePatchWizard.java','AABOAn///kI='),(611,74,'2011-08-17 14:41:55','P',1,'Not sure if a new preference would be overkill for this. I introduced a new default number for context lines for now. If we decide to introduce a pref for this, I\'d suggest to do this in an additional commit.','AABOAX//+jM=',3916,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitGraphTable.java','AABOAn///BM='),(611,6,'2011-07-28 09:27:11','P',1,'You now use the default 0 for the number of context lines. I would prefer that we also use the same default here as in the patch wizard.\n\nMaybe we could even make the default number of context lines configurable with a new preference?',NULL,3916,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitGraphTable.java','AABOAX//+jM='),(842,6,'2011-07-29 13:53:16','P',1,'What exactly happens if the repository does not contain any commit?\n\nPlease make that clearer, and better write the comment above the line to be commented.',NULL,3917,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOAX//+dk='),(118,118,'2011-08-16 09:54:20','P',1,'This part is copy-pasted from org.eclipse.jgit.pgm.Diff.run() but I agree we could be more careful here. Updated in the patch set #2, where both oldTree and newTree are set only when null.','AABOAn///Vk=',3919,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DiffCommand.java','AABOAn///N0='),(95,118,'2011-08-16 09:54:20','P',1,'Done','AABOAn///Vo=',3919,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DiffCommand.java','AABOAn///N8='),(118,5,'2011-08-15 09:35:34','P',1,'shouldn\'t we overwrite newtree only when it was checked that is was not explicitly set? If somebody sets newTree but not oldTree then we would ignore his newTree.',NULL,3919,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DiffCommand.java','AABOAn///Vk='),(95,5,'2011-08-15 09:35:34','P',1,'this method returns more than pathes. I would suggest:\ns/the paths that are/a DiffEntry for each path which is/',NULL,3919,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DiffCommand.java','AABOAn///Vo='),(486,118,'2011-08-16 09:54:20','P',1,'Done','AABOAn///Vs=',3919,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/Git.java','AABOAn///OA='),(486,5,'2011-08-15 09:35:34','P',1,'Style-nit: remove the trailing whitespace',NULL,3919,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/Git.java','AABOAn///Vs='),(174,1,'2011-07-28 17:01:49','P',1,'Oy. We don\'t have a test covering a delta and its base in the pack? Yikes. Yes, we absolutely need to add a test here.','AABOAX//+hs=',3925,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/ObjectToPack.java','AABOAX//+gA='),(174,4,'2011-07-28 12:45:20','P',1,'it seems there is no test case covering this (where deltaBase is an instance of ObjectToPack), maybe we should add a test here',NULL,3925,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/ObjectToPack.java','AABOAX//+hs='),(1090,1,'2011-08-08 05:03:27','P',1,'I think the second part of this conditional (otp.getDeltaBase() != null) is what causes the corruption. When there is a delta chain cycle (A->B->A) neither A nor B gets through this condition, so neither runs writeObjectAndDeltaChildren(), and neither appears in the pack output stream. This means the pack doesn\'t contain the number of objects declared in its header, causing IndexPack to abort with an early EOF error, and the index stores a bunch of objects with offset=0. Trying to read those back always fails, because the first byte of the pack (\'P\') appears to have object type code = 5, which is a currently invalid code.',NULL,3925,2,'org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackWriter.java','AABOAn///uY='),(412,4,'2011-07-28 09:29:02','P',1,'it seems we hit [1] on Hudson [2] when using the Java 6 Oracle compiler, compilation works fine when using Eclipse or Mac Java 6 compiler \n\n[1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954\n[2] https://hudson.eclipse.org/sandbox/job/jgit.gerrit/669/console',NULL,3930,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOAX//+jE='),(69,9,'2011-10-20 14:31:39','d',1,'s/hesistent/hesitant/ ?',NULL,3930,6,'/COMMIT_MSG','AABOBn///t8='),(1,4,'2011-10-08 23:11:10','d',1,'missing license header',NULL,3930,6,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/InMemoryRepository.java','AABOBX//+uQ='),(246,9,'2011-10-20 14:52:16','d',1,'Is it necessary to wrap for each loop iteration?\nJust reading the javadoc of ReadableByteChannel.read:\n\n Suppose that a byte sequence of length n is read ...\n ... Upon return the buffer\'s position will be equal to p + n; its limit will not have changed.',NULL,3930,6,'org.eclipse.jgit/src/org/eclipse/jgit/util/IO.java','AABOBn///ts='),(559,8,'2011-11-03 23:55:17','P',1,'You could have used just Object, but I actually like defining a class for this purpose.',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///1c='),(457,8,'2011-11-03 23:55:17','P',1,'I think  a little more code is easier to read for cases like this. It make it clearer, why, you are doing this.\n\nlong end = pos+ size;\nif (end > len)\n   end = len;',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///1g='),(324,8,'2011-11-03 23:55:17','P',1,'How about Exception, or even Throwable?\nWhy not just call creditSpace within a finally block ?\nOr, since you don\'t handle all exceptions, a short comment on why.',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///1k='),(239,8,'2011-11-03 23:55:17','P',1,'Is this an RFC patch?',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///1o='),(273,8,'2011-11-03 23:55:17','P',1,'Define a final static int BILLION = 1000*1000*1000;\nand say 2*BILLION so we don\'t have to count zeroes. \n\nEver used the old Turkish Lira, counting the zeroes to figure out whether it was a million or ten million? 1000000 vs 10000000.\n\nBtw, zeroes or zeros?',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///1s='),(559,1,'2011-11-04 18:17:53','P',1,'Replaced with ReentrantLock.','AABOCH///1c=',3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///vc='),(324,1,'2011-11-04 18:17:53','P',1,'Done','AABOCH///1k=',3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///vg='),(239,1,'2011-11-04 18:17:53','P',1,'Its not RFC anymore. But I\'m also not fixing this bug right now.','AABOCH///1o=',3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///vk='),(273,1,'2011-11-04 18:17:53','P',1,'Done. Defined as Integer.MAX_VALUE instead.','AABOCH///1s=',3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///vo='),(159,1,'2011-11-04 18:17:53','P',1,'Done','AABOCH///z4=',3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCacheConfig.java','AABOCH///vs='),(159,4,'2011-11-04 11:01:22','P',1,'how about moving these config keys to ConfigConstants ?',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCacheConfig.java','AABOCH///z4='),(59,8,'2011-11-03 23:55:17','P',1,'What TODO about this?',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsConfig.java','AABOCH///3E='),(59,1,'2011-11-04 18:17:53','P',1,'Storage of the configuration file is not currently specified. Hence it is not implemented.','AABOCH///3E=',3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsConfig.java','AABOCH///vM='),(377,8,'2011-11-03 23:55:17','P',1,'This ooks like a generally useful utility to me',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsInserter.java','AABOCH///2c='),(53,8,'2011-11-03 23:55:17','P',1,'Seems unnecessary. Why is the other value multiplied?',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsPackKey.java','AABOCH///2E='),(405,8,'2011-11-03 23:55:17','P',1,'Could we have less magic constants for these things',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsPackParser.java','AABOCH///18='),(319,4,'2011-11-04 21:45:22','d',1,'I am using Eclipse 3.7.1','AABOCH///vw=',3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsRefDatabase.java','AABOCH///tQ='),(319,1,'2011-11-04 18:17:53','P',1,'Depends on Eclipse version I think. But done.','AABOCH///z8=',3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsRefDatabase.java','AABOCH///vw='),(319,4,'2011-11-04 11:01:22','P',1,'Eclipse raises \"Javadoc: Invalid member type qualification\" here and wants fully qualified org.eclipse.jgit.lib.Ref.Storage#NEW instead',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsRefDatabase.java','AABOCH///z8='),(124,8,'2011-11-03 23:55:17','P',1,'Any particular reason for 8192 here?',NULL,3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/LargePackedWholeObject.java','AABOCH///1w='),(124,1,'2011-11-04 18:17:53','P',1,'Comment added.','AABOCH///1w=',3930,7,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/LargePackedWholeObject.java','AABOCH///vY='),(136,4,'2011-08-09 21:13:35','P',1,'style nit: we don\'t use braces for single line blocks',NULL,3950,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/pull/MultiPullResultDialog.java','AABOAn///oc='),(12,208,'2011-08-05 23:05:02','P',1,'Done','AABOAn///zI=',3968,1,'/COMMIT_MSG','AABOAn///y0='),(12,214,'2011-08-05 23:02:09','P',1,'Bug: 349763',NULL,3968,1,'/COMMIT_MSG','AABOAn///zI='),(9,8,'2011-08-07 13:46:04','P',1,'Sure about the -1 here?',NULL,3969,1,'/COMMIT_MSG','AABOAn///ws='),(101,8,'2011-08-07 13:44:42','P',1,'nit-pick:\nWouldn\'t it be better to change the writeOffset32 instead?\nIt looks funny when an offset of 0x7FFFFFFF requires a\n64-bit offset in JGit, but not in C Git.',NULL,3969,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexWriterV2.java','AABOAn///w0='),(101,1,'2011-08-07 19:18:12','P',1,'Ohh. I see what you are saying. Yes, I have this code wrong. I\'ll send a replacement patch in a minute.','AABOAn///w0=',3969,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexWriterV2.java','AABOAn///wg='),(59,8,'2011-08-08 21:39:12','P',1,'I think this needs to be a POSITIVE integer, make it a long.',NULL,3969,2,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexWriterV2.java','AABOAn///sA='),(250,208,'2011-11-22 19:51:14','P',1,'Do you think this should be configurable?\n\nSimilar to the dirty flag that defaults to \'>\' but can be changed?',NULL,3993,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java','AABOCX///Rc='),(248,208,'2011-11-22 19:51:14','P',1,'Should this return null instead of empty String to be consistent with other non-decorating return cases in this method?',NULL,3993,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java','AABOCX///RY='),(1262,1,'2011-08-16 17:08:36','P',1,'Christian is right, we can add a new method that accepts Set here, and keep the Collection version with this auto-convert-to-Set logic in it before invoking the new Set driven version, and mark that Collection version @Deprecated to be removed in 2.0.\n\nI\'ll try to rework the patch sometime today and get an updated version uploaded.','AABOAn///NY=',3999,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackWriter.java','AABOAn///J8='),(1262,4,'2011-08-16 13:53:51','P',1,'I think we should not go for 2.0 now as we want to ship the next release with Indigo SR1 (in mid September). Shipping a version in a SR which isn\'t compatible with the version in the base release seems wrong to me.','AABOAn///NY=',3999,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackWriter.java','AABOAn///Mo='),(1262,5,'2011-08-16 12:43:48','P',1,'We are not free anymore to jump to 2.0 anymore, right? But what we could do is to add a method which expects Set\'s and at least internally only call the new method. When we jump to 2.0 we remove the old  method which expects Collections.','AABOAn///Sg=',3999,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackWriter.java','AABOAn///NY='),(1262,1,'2011-08-15 17:18:09','P',1,'Ah, you are probably right. These could be changed to sets.\n\nThere aren\'t that many callers inside of JGit, but changing this type from Collection to Set will impact our public API and break it. Are we ready to go to JGit 2.0?','AABOAn///Uc=',3999,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackWriter.java','AABOAn///Sg='),(1262,5,'2011-08-15 13:53:36','P',1,'If we want to have Sets then we could also simply change the signature to accept \"Set<? extends ObjectID>\". This would put the burden of converting Lists to Sets to the caller. But the benefit would be that some callers can create Sets in the first place (instead of first creating Lists and then converting them to Sets). Is it because we have too many callers which have to be adapted or why don\'t you go this way',NULL,3999,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackWriter.java','AABOAn///Uc='),(237,63,'2011-08-15 12:58:35','P',1,'I don\'t think we need to externalize logged error messages. Or is this an EGit convention that I wasn\'t aware of?',NULL,4001,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/ReflogView.java','AABOAn///U4='),(237,4,'2011-08-15 14:17:44','P',1,'I just checked this by searching for Activator.logError() and it seems the majority of error messages has been externalized, also jgit is externalizing its error messages','AABOAn///U4=',4001,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/ReflogView.java','AABOAn///UI='),(400,4,'2011-08-17 09:40:07','P',1,'no, don\'t resolve the symbolic link here otherwise you get the reflog for the branch HEAD is pointing at, instead I would like to see the extra reflog maintained for HEAD which follows all updates of HEAD including branch switches with is not the case for git reflog for a branch.\n\nUse just \n\n refName = Constants.HEAD \n\ninstead of \n\n refName = ref.getTarget().getName() \n\nthen you\'ll see the difference, select master to see the difference. \n\nAlso the branch selection dialog of the reflog view needs to show HEAD otherwise this cannot be selected explicitly.',NULL,4011,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/ReflogView.java','AABOAn///FI='),(156,74,'2011-08-18 19:04:43','P',1,'I\'d use an ErrorDialog.openError and pass the status in there. This way people are not confronted with the JGit error message at first (only if they want to see the details) and they\'re able to copy the error message',NULL,4021,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/pull/PullOperationUI.java','AABOAn//+0w='),(156,74,'2011-08-18 21:37:52','d',1,'Yeah, you\'re right. Stacktrace (if available) is shown in the details','AABOAn//+zI=',4021,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/pull/PullOperationUI.java','AABOAn//+zA='),(156,4,'2011-08-18 21:34:03','P',1,'it seems ErrorDialog always displays the reason also in the dialog area, or did I miss anything ?','AABOAn//+0w=',4021,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/pull/PullOperationUI.java','AABOAn//+zI='),(534,74,'2011-08-18 19:04:43','P',1,'Wonder if we should use something like \"Connection problem\" instead of \"Git data transfer\"\n\nI\'d remove the reason, see ErrorDialog comment.',NULL,4021,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOAn//+0s='),(534,4,'2011-08-18 21:34:03','P',1,'Done','AABOAn//+0s=',4021,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOAn//+zM='),(77,2,'2011-08-17 15:43:03','P',1,'extra space',NULL,4023,3,'org.eclipse.jgit/src/org/eclipse/jgit/api/ReflogCommand.java','AABOAn//+/M='),(239,74,'2011-08-24 14:32:45','P',1,'Done','AABOAn//+xk=',4042,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn//+fc='),(237,74,'2011-08-24 14:32:45','P',1,'Same as above.','AABOAn//+xo=',4042,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn//+fg='),(233,74,'2011-08-24 14:32:45','P',1,'Sorry but this when/should pattern is something that doesn\'t match all test cases and makes them hard to read as you can\'t inline the assertion and loose the idea of assertEquals as you need to replace this with an assertTrue/False (which in fact looses the comparison feature when the assertion fails).\nWill not fix.','AABOAn//+xs=',4042,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn//+fk='),(239,49,'2011-08-18 23:39:27','P',1,'useless tailing white space',NULL,4042,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn//+xk='),(237,49,'2011-08-18 23:39:27','P',1,'before assert block should be \'should\' clause',NULL,4042,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn//+xo='),(233,49,'2011-08-18 23:39:27','P',1,'here should be \'when\' clause',NULL,4042,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn//+xs='),(239,4,'2011-08-24 20:32:18','P',1,'style nit: trailing whitespace',NULL,4042,3,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOAn//+d0='),(108,4,'2011-08-24 20:46:49','P',1,'style nit: missing blank s/if(/if (/',NULL,4043,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitCompareFileRevisionEditorInput.java','AABOAn//+d4='),(78,49,'2012-01-23 00:05:50','P',1,'Done','AABODX//+IQ=',4054,9,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/ChangeTest.java','AABODX//+IA='),(78,4,'2012-01-22 22:51:44','P',1,'I wouldn\'t use ZERO_ID here as it is a special ID',NULL,4054,9,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/ChangeTest.java','AABODX//+IQ='),(561,49,'2012-01-23 00:05:50','P',1,'Done','AABODX//+IM=',4054,9,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCacheTest.java','AABODX//+HE='),(561,4,'2012-01-22 22:51:44','P',1,'instead of copying you may consider to move the reusable stuff in RepositoryTestCase to the jgit.junit bundle',NULL,4054,9,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCacheTest.java','AABODX//+IM='),(269,49,'2012-01-23 00:05:50','P',1,'If you try replace one of markStart with markUniteresting you\'ll notice that all test cases will fail. AFAIR I was investigating markStart/markUninteresting combinations and only two markStart produces proper results','AABODX//+Ig=',4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+G8='),(35,49,'2012-01-23 00:05:50','P',1,'Done','AABODX//+Io=',4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+Gg='),(148,49,'2012-01-23 00:05:50','P',1,'Done','AABODX//+I4=',4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+H0='),(65,49,'2012-01-23 00:05:50','P',1,'Done','AABODX//+I8=',4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+H4='),(50,49,'2012-01-23 00:05:50','P',1,'According to AbbreviatedObjectId it should be unique within repository it was generated from','AABODX//+II=',4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+H8='),(291,49,'2012-01-23 00:05:50','P',1,'Done','AABODX//+I0=',4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+HA='),(283,49,'2012-01-23 00:05:50','P',1,'Good catch. I\'ll remove commitTime and use time from author ident as a commit time','AABODX//+IY=',4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+Hc='),(351,49,'2012-01-23 00:05:50','P',1,'yes, for now I would leave it as it is, in feature we could change this behavior','AABODX//+IU=',4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+HQ='),(319,49,'2012-01-23 00:05:50','P',1,'fixed typo, but I cannot remove \'Abb\' from this variable name since \'remoteCommit\' is already used','AABODX//+Iw=',4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+HU='),(241,49,'2012-01-23 00:05:50','P',1,'Done','AABODX//+Ic=',4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+Hw='),(294,49,'2012-01-23 00:05:50','P',1,'In such case you\'ll have doubled list of changes made by merged committs, IMHO this should lead to some misunderstanding (eg. why my changes was applied to times, ones with my commit and second time with \"merge commit\")','AABODX//+Is=',4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+HY='),(291,4,'2012-01-22 22:51:44','P',1,'if this should never happen you better throw an exception, right ?',NULL,4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+I0='),(148,4,'2012-01-22 22:51:44','P',1,'s/does this change in/if this change is/',NULL,4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+I4='),(65,4,'2012-01-22 22:51:44','P',1,'s/does/if/',NULL,4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+I8='),(241,4,'2012-01-22 22:51:44','P',1,'it\'s unclear what source and destination mean here',NULL,4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+Ic='),(269,4,'2012-01-22 22:51:44','P',1,'I would expect that one of these commits points at the end of what this call is interested in, so I would expect one call to rw.markUninteresting(RevCommit) or do I miss something here ?',NULL,4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+Ig='),(50,4,'2012-01-22 22:51:44','P',1,'can\'t this lead to wrong results if abbreviated IDs are ambiguous in a large repository ?',NULL,4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+II='),(35,4,'2012-01-22 22:51:44','P',1,'This looks strange, commits which are not checked in don\'t exist, right ?\n\nSo you also need a better class name.',NULL,4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+Io='),(294,4,'2012-01-22 22:51:44','P',1,'why is it ok to ignore changes in merge commits ?',NULL,4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+Is='),(351,4,'2012-01-22 22:51:44','P',1,'so CHANGE can be a content or a mode change, right ?',NULL,4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+IU='),(319,4,'2012-01-22 22:51:44','P',1,'typo in variable name s/remoteComitAbb/remoteCommitAbb/\n\nAlso naming is inconsistent here you mention that this is abbreviated for actualCommit you don\'t do that. As this has local scope only I would remove \"Abb\" from variable name.',NULL,4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+Iw='),(283,4,'2012-01-22 22:51:44','P',1,'why do we retreive author time as a Date and committer time as an int ?',NULL,4054,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCache.java','AABODX//+IY='),(549,4,'2012-01-25 23:07:02','P',1,'typo: s/Assertations/Assertions/',NULL,4054,10,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitCommitsModelCacheTest.java','AABODn///4c='),(474,4,'2012-01-25 23:07:02','P',1,'s/asserts/assertions/',NULL,4054,10,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitCommitsModelCacheTest.java','AABODn///4U='),(462,4,'2012-01-25 23:07:02','P',1,'s/asserts/assertions/\n\nthere are more occurrences of this typo in this class',NULL,4054,10,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/GitCommitsModelCacheTest.java','AABODn///4Y='),(35,4,'2012-01-25 23:07:02','P',1,'s/list of checked in commits/list of commits/',NULL,4054,10,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitCommitsModelCache.java','AABODn///4M='),(12,4,'2012-01-25 23:07:02','P',1,'s/Thrown when cannot determinate commit direction during/Thrown when commit direction cannot be determined in/',NULL,4054,10,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitCommitsModelDirectionException.java','AABODn///4Q='),(2,118,'2011-08-24 08:12:36','P',1,'Sorry, this what we do in Eclipse with every change. I thought that IBM is one of the \"other copyright owners\". I will leave it untouched in the next patch set.','AABOAn//+ks=',4057,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java','AABOAn//+hU='),(951,4,'2011-08-23 20:28:32','P',1,'please also fix the typo : s/refAlreadExists/refAlreadyExists/',NULL,4057,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java','AABOAn//+ko='),(2,4,'2011-08-23 20:28:32','P',1,'why do you change Google\'s copyright statement ? I think you are working for IBM',NULL,4057,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java','AABOAn//+ks='),(64,8,'2011-08-27 12:14:44','P',1,'nit-pick: should be DOT_GIT (the directory as opposed to a directory name extensions)',NULL,4058,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/PasteCommand.java','AABOAn//+Xc='),(20,1,'2011-08-23 22:48:46','P',1,'Did you consider adding a WindowCache.reconfigure() call in Main within the pgm package?\n\nYou could add a new command line flag to Main called --config-file that points to a user configuration file, then callers can set these settings in ~/.jgitconfig (for example) and call `jgit --config-file=$HOME/.jgitconfig log ...`.\n\nWe could also consider standardizing a ~/.jgitconfig file that is loaded by Main if present.\n\nFWIW, the reason Main doesn\'t support a config file is there is no way to have that config file also specify memory settings for the JVM. Setting too large of a value for core.packedGitLimit without also increasing the heap may cause performance problems in the application. Not entirely a problem you need to solve, but that\'s why I didn\'t added a reconfigure() call here.',NULL,4059,1,'/COMMIT_MSG','AABOAn//+jU='),(173,1,'2011-08-23 22:48:46','P',1,'What if we named the system properties:\n\n  org.eclipse.jgit.config.core.streamFileThreshold\n\n? Then you can write the conversion code for fromSystemProperties() as:\n\n  Config cfg = new Config();\n  ... loop through system properties\n  ... if name starts with \"org.eclipse.jgit.config.\"\n  ... split remainder on first dot, set string value\n  fromConfig(cfg);\n\nThat way the user can set any property using the -Dorg.eclipse.jgit.config.section.name=value flag syntax. FWIW I have a special version of Config that parses JSON and converts it to a Config object so I can configure JGit via JSON. Works nicely. I\'m thinking the same sort of idea here, construct a Config from a properties collection.',NULL,4059,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/WindowCache.java','AABOAn//+jc='),(156,1,'2011-08-23 22:48:46','P',1,'I would prefer to put this into WindowCacheConfig. We have a fromConfig() method. Lets also add fromSystemProperties(). Then this code here becomes:\n\n  reconfigure(new WindowCacheConfig().fromSystemProperties());',NULL,4059,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/WindowCache.java','AABOAn//+jg='),(145,1,'2011-08-23 22:48:46','P',1,'Style-nit: Trailing whitespace.',NULL,4059,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/WindowCache.java','AABOAn//+jk='),(185,1,'2011-08-23 22:48:46','P',1,'If you use the Config approach I suggest above, users can say -Dorg.eclipse.jgit.config.core.streamFileThreshold=200m rather than 200000000. Its cleaner.',NULL,4059,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/WindowCache.java','AABOAn//+jY='),(4,4,'2011-08-23 23:27:31','P',1,'is this a copy&paste mistake or did they write parts of this class ?',NULL,4060,1,'org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Describe.java','AABOAn//+hs='),(195,1,'2011-08-23 22:59:04','P',1,'You created a RevWalk above in call. Why not reuse it here?\n\nAlso, FWIW, you should release a RevWalk when you are done with it.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+i0='),(179,1,'2011-08-23 22:59:04','P',1,'s/REvCommit/RevCommit/',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+i4='),(220,1,'2011-08-23 22:59:04','P',1,'Return this',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+i8='),(116,1,'2011-08-23 22:59:04','P',1,'This walk should be released when you are done (use a try/finally).',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+ic='),(120,1,'2011-08-23 22:59:04','P',1,'As the author of much of `git describe` in C... this isn\'t the most optimal algorithm. A better approach is to allocate a RevFlag from the RevWalk. Loop through each tag. Parse the tag reference to a commit... if it is a commit, add the RevFlag to it.\n\nNow start from the starting point and walk backwards through history. When RevWalk.next() returns a commit that has your RevFlag, you have found a candidate. Mark the history behind that tag UNINTERESTING and keep going until the RevWalk stops.\n\nIf multiple candidates are found, I think you use the one with the largest distance (see below).\n\nI may be forgetting some other isoteric rules related to not picking up the release tag on a maint branch when this is the master branch and there is an -rc tag a further number of commits back, but that is \"version number wise\" more recent. I think this is why you use the largest distance between a commit and the tag.\n\nIIRC I managed to do the entire thing in just 1 reversion traversal in the C code, with a few commits extra being walked to finish up the counting.\n\nAlso as you mention on the commit message, there is a tendency to favor annotated tags over lightweight ones.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+iE='),(187,1,'2011-08-23 22:59:04','P',1,'I think you need a setRevSort(RevSort.TOPO) here to get the right count in all graphs.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+ig='),(202,1,'2011-08-23 22:59:04','P',1,'Style-nit: We don\'t put curly braces around single line blocks.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+ik='),(198,1,'2011-08-23 22:59:04','P',1,'This is the default.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+io='),(171,1,'2011-08-23 22:59:04','P',1,'The count should not appear if the tag is exactly found.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+iQ='),(197,1,'2011-08-23 22:59:04','P',1,'This is the default.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+is='),(161,1,'2011-08-23 22:59:04','P',1,'Don\'t print stack traces. These should be wrapped and thrown to the caller.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+iU='),(196,1,'2011-08-23 22:59:04','P',1,'This reset is not necessary unless you were reusing a RevWalk',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+iw='),(153,1,'2011-08-23 22:59:04','P',1,'Don\'t print stack traces. These should be wrapped and thrown to the caller.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+iY='),(100,1,'2011-08-23 22:59:04','P',1,'Don\'t we usually return the command type so its possible to chain calls?',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+jA='),(80,1,'2011-08-23 22:59:04','P',1,'s/seems//. It is the default.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+jE='),(2,1,'2011-08-23 22:59:04','P',1,'Please correct your copyright notice.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/DescribeCommand.java','AABOAn//+jI='),(278,1,'2011-08-23 22:59:04','P',1,'Style-nit: Trailing whitespace.',NULL,4060,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/Git.java','AABOAn//+jM='),(177,5,'2011-08-24 11:27:37','P',1,'to make it consistent with the other comments on other methods I agree.\n\nWhat\'s your opinion: wouldn\'t it be more precise if we would call it \"... the tree we want to checkout\"? In this case we should of course modifiy it in several places in this file.',NULL,4062,1,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOAn//+gE='),(309,208,'2011-08-25 14:45:55','P',1,'I think Show Annotations is correct over Show Annotation','AABOAn//+cA=',4067,1,'org.eclipse.egit.ui/plugin.properties','AABOAn//+b4='),(309,4,'2011-08-25 12:14:07','P',1,'any native speaker around ? I feel it should be plural as typically it\'s about many annotations.','AABOAn//+cI=',4067,1,'org.eclipse.egit.ui/plugin.properties','AABOAn//+cA='),(309,74,'2011-08-25 11:59:12','P',1,'We should be consistent and say \"Show Annotation\"',NULL,4067,1,'org.eclipse.egit.ui/plugin.properties','AABOAn//+cI='),(309,49,'2011-08-26 09:42:16','P',1,'CVS plugin uses \"Show Annotation\"',NULL,4067,1,'org.eclipse.egit.ui/plugin.properties','AABOAn//+Yc='),(448,79,'2011-09-06 08:00:19','P',1,'Robin R: What you\'re describing is similar to how it worked before, isn\'t it? Where there was a \"Team -> Branch...\" menu and then different Buttons (Checkout and Create Branch, IIRC). I agree that the \"New branch\" dialog is not very usable at the moment.','AABOBH///nQ=',4072,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchPage.java','AABOBH///m8='),(448,6,'2011-09-06 07:12:31','P',1,'Robin: No, I don\'t think it\'s obsolete. You can open the dialog from a remote branch node in the Repositories View by selecting \"Create Branch...\". Then the branch is preselected in the Combo Box.','AABOBH///nQ=',4072,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchPage.java','AABOBH///nI='),(448,8,'2011-09-06 01:13:15','P',1,'Stefan: That code is, I think obsolete since if you check out a remote branch/tag you\'ll get a detached head and that code only works from the \"current\" branch when the dialog is initialized.\n\nThe \"New branch\" dialog as I see it is pretty useless with many remote branches. It might be better to integrate the \"New\" option into the \"Other..\" menu which brings up a tree view, which is easier to browse and has some filtering capability.\n\nOther than that, I also thing the suggestion should only be present for remote branches and tags.','AABOBH///zM=',4072,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchPage.java','AABOBH///nQ='),(448,6,'2011-09-02 13:43:53','P',1,'There is already coding for that in line 311 ff which is used when the dialog is opened. There the suggestion is only made if the base ref starts with \"remotes\" or is a tag. I think it makes sense. E.g., I have a local branch created by the \"Fetch from Gerrit...\" funcionality called \"change/3435/1\" and the suggested name then is 1.\n\nI do not care much about this, but what I think is more important is that the behavior should be consistent for the two cases: opening the dialog on a branch and switching the \"Source ref\" in the dialog with the drop down. This should be reflected in the coding also.',NULL,4072,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchPage.java','AABOBH///zM='),(16,8,'2011-08-28 17:57:34','P',1,'Aah!','AABOAn//+WQ=',4073,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/NotifiableDiffNode.java','AABOAn//+WA='),(16,63,'2011-08-28 10:31:57','P',1,'The fireChange() method is protected and cannot be accessed from our GitCompareFileRevisionEditorInput. By extending the class and overriding the protected method, the method is now exposed to other classes of the same package.','AABOAn//+WY=',4073,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/NotifiableDiffNode.java','AABOAn//+WQ='),(16,8,'2011-08-28 09:50:35','P',1,'This is a new class,doing exactly the same thing as the superclass. Why?',NULL,4073,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/NotifiableDiffNode.java','AABOAn//+WY='),(105,4,'2011-08-28 23:53:56','P',1,'that\'s what I was looking for, would make sense to write JavaDoc for this public class ...','AABOAn//+Uo=',4075,1,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java','AABOAn//+UI='),(105,83,'2011-08-28 23:27:27','P',1,'LinkedTaskInfo does not have any JavaDoc but I can write some if it helps? \nThe timestamp is the posix time of the commit (in milli-seconds). It is used to match commits to comments on tasks.','AABOAn//+VA=',4075,1,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java','AABOAn//+Uo='),(105,4,'2011-08-28 23:15:48','P',1,'can you point me to javadoc for LinkedTaskInfo ?',NULL,4075,1,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java','AABOAn//+VA='),(120,5,'2011-08-29 07:38:58','P',1,'Isn\'t this check testing that we are on a unborn branch and complain only when we are on a unborn branch? Somehow the opposite of what you wanted to achive, or?',NULL,4079,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitDocument.java','AABOAn//+TY='),(120,8,'2011-08-30 21:13:15','P',1,'No. It is a normal, though unusual, case that HEAD exists, but it cannot be resolved.  The detection of the unresolved HEAD is at line 110.','AABOAn//+TY=',4079,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitDocument.java','AABOBH///+8='),(7,4,'2011-08-29 11:24:54','P',1,'style nit: commit message isn\'t formatted along the git convention mentioned in the contributor guide [1].\n\n[1] http://wiki.eclipse.org/EGit/Contributor_Guide#Commit_message_guidelines',NULL,4080,2,'/COMMIT_MSG','AABOAn//+S0='),(90,4,'2011-09-04 17:44:05','P',1,'Done','AABOBH///wI=',4081,1,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java','AABOBH///v8='),(90,8,'2011-09-04 10:50:05','P',1,'There are also a few cases of IllegalArguementException\'s that could be thrown by malformed encoding headers.',NULL,4081,1,'org.eclipse.egit.mylyn.ui/src/org/eclipse/egit/internal/mylyn/ui/commit/TaskReferenceFactory.java','AABOBH///wI='),(106,208,'2011-09-11 23:40:22','P',1,'Add a new line before the new  transportConfigCallback field',NULL,4082,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java','AABOBX///1c='),(360,208,'2011-09-11 23:40:22','P',1,'Add method comment with appropriate tags',NULL,4082,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java','AABOBX///1I='),(95,208,'2011-09-11 23:40:22','P',1,'Add a new line before the new  transportConfigCallback field',NULL,4082,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java','AABOBX///1Y='),(131,208,'2011-09-11 23:40:22','P',1,'Add method comment with appropriate tags',NULL,4082,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOBX///1Q='),(90,208,'2011-09-11 23:40:22','P',1,'Add a new line before the new  transportConfigCallback field',NULL,4082,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java','AABOBX///1U='),(97,208,'2011-09-11 23:40:22','P',1,'Add a new line before the new  transportConfigCallback field',NULL,4082,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java','AABOBX///1E='),(438,208,'2011-09-11 23:40:22','P',1,'Add method comment with appropriate tags',NULL,4082,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java','AABOBX///1M='),(49,208,'2011-09-11 23:40:22','P',1,'Please add a comment describing this method',NULL,4082,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/TransportConfigCallback.java','AABOBX///1g='),(48,208,'2011-09-11 23:40:22','P',1,'Please add a header comment to this interface describing how to use it and why it would be used.',NULL,4082,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/TransportConfigCallback.java','AABOBX///1k='),(46,208,'2011-09-11 23:40:22','P',1,'The license should be above the package declaration',NULL,4082,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/TransportConfigCallback.java','AABOBX///1o='),(48,1,'2011-10-27 14:25:18','P',1,'This is a good idea. If you find the time for it, I would be interested in this refactoring.',NULL,4082,2,'/COMMIT_MSG','AABOBn///NQ='),(69,79,'2011-08-29 21:28:10','P',1,'Should we refactor this to an equals method in ProjectReference (and hashCode of course)?\n\nIt would make its usage easier, you could just use a HashSet instead of having to remember to use this comparator.',NULL,4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitProjectSetCapability.java','AABOAn//+Rs='),(56,11,'2011-08-29 22:13:30','P',1,'Good catch, Robin. +1','AABOAn//+Rw=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitProjectSetCapability.java','AABOAn//+RU='),(56,79,'2011-08-29 21:28:10','P',1,'I\'d also move this to ProjectReference. This way, GitProjectSetCapability will only depend on ProjectReference and not vice versa.',NULL,4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitProjectSetCapability.java','AABOAn//+Rw='),(69,103,'2011-08-31 15:22:01','P',1,'Done','AABOAn//+Rs=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitProjectSetCapability.java','AABOBH///80='),(56,103,'2011-08-31 15:22:01','P',1,'Done','AABOAn//+RU=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitProjectSetCapability.java','AABOBH///84='),(101,103,'2011-08-30 22:33:41','P',1,'Ok, but that way i would have to delete version, because it would be an unused private member, which causes an error with the current JDT properties. But since it isn\'t used at the moment (and i don\'t plan it to use), that would be no further problem for me, and if we need it later, we still can add it.\nWhat do you suggest in that case?','AABOAn//+R8=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOAn//+Qc='),(96,103,'2011-08-30 22:33:41','P',1,'I\'m planning to use it, so i want to leave it there.','AABOAn//+Rg=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOAn//+Qg='),(101,11,'2011-08-29 21:03:50','P',1,'I\'m not sure about public modifier here as version field represents reference\'s implementation details. I doubt consumers would be really interested in it.\n\nI would leave it private (or even remove it) unless there is a real usecase that requires access to its value. Making it private later would be hard (due to API breakage), we can make it public later without any problems.',NULL,4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOAn//+R8='),(66,79,'2011-08-29 21:28:10','P',1,'Change the message key to ProjectReference_InvalidTokensCount.',NULL,4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOAn//+Rc='),(96,79,'2011-08-29 21:28:10','P',1,'getOrigin is not used in GitProjectSetCapability, it should be removed (unless you plan to use it). The same comments about API apply as with getVersion below.',NULL,4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOAn//+Rg='),(96,11,'2011-08-29 22:13:30','P',1,'+1 for removal','AABOAn//+Rg=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOAn//+RM='),(62,11,'2011-08-29 21:23:03','P',1,'Should anyone be able to create a new instance of reference instead of GitProjectSetCapability? I would rather make it package-level.',NULL,4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOAn//+Ro='),(56,11,'2011-08-29 21:03:50','P',1,'There is nothing to do here.',NULL,4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOAn//+SE='),(62,79,'2011-09-01 17:02:11','P',1,'If you want to create instances of this, is the String constructor really the right approach? Wouldn\'t you prefer an API like ProjectReference(String repository, String branch, String projectDir)?\n\nOr if you really want to use the serialized String approach, maybe there should be a method here that returns such a String from an existing ProjectReference (doing the inverse of the constructor).','AABOBH///9M=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOBH///28='),(101,103,'2011-08-31 15:22:01','P',1,'Done','AABOBH///9U=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOBH///9A='),(66,103,'2011-08-31 15:22:01','P',1,'Done','AABOAn//+Rc=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOBH///9E='),(56,103,'2011-08-31 15:22:01','P',1,'Done','AABOAn//+SE=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOBH///9I='),(62,103,'2011-08-31 15:22:01','P',1,'I want to create instances of ProjectReferences in the egit.mylyn.ui plugin, so i need it public (i guess using the package name org.eclipse.egit.core in the egit.mylyn.ui plugin wouldn\'t be ok?).','AABOAn//+Ro=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOBH///9M='),(101,11,'2011-08-31 15:05:39','P',1,'Use default level, so this method will be available from org.eclipse.egit.core package only, it\'s Ok.\n\nWhy not removing this field? In line #69 it\'s obvious what value we expect from the first token. Removing this field you have to document this explicitly somewhere, you have to keep it in sync etc. As there is no better documentation than code itself... please leave it inplace ;-)','AABOAn//+Qc=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOBH///9U='),(62,103,'2011-09-05 08:31:12','P',1,'At the moment i have the string from a project set file, so it\'s easy for me to call the constructor, because i don\'t need to split the string. With a method with separate arguments i would have to do it myself. So for me this constructor is the best and easiest way.','AABOBH///28=',4083,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOBH///rQ='),(71,11,'2011-08-31 16:14:06','P',1,'Why? It should be populated otherwise its getter is useless.',NULL,4083,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOBH///8c='),(71,11,'2011-08-31 16:18:54','P',1,'...also this change introduces FindBugs warning:\n\n    File: ProjectReference.java, Line: 108, Type: UWF_UNWRITTEN_FIELD, Priority: Normal','AABOBH///8c=',4083,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOBH///8Q='),(71,103,'2011-08-31 16:35:34','P',1,'Yes, it\'s a mistake. Will correct it.','AABOBH///8c=',4083,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReference.java','AABOBH///8U='),(122,79,'2011-09-01 17:02:30','P',1,'Could you use a LinkedHashSet, so that the order stays predictable? The HashMap above should probably also be a LinkedHashMap (sorry, it isn\'t related to your change per se).',NULL,4083,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitProjectSetCapability.java','AABOBH///3A='),(122,103,'2011-09-05 12:50:43','P',1,'Done','AABOBH///3A=',4083,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitProjectSetCapability.java','AABOBH///qg='),(140,11,'2011-09-06 16:51:11','P',1,'Style nitpick',NULL,4083,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOBH///lE='),(23,11,'2011-09-07 11:28:39','P',1,'I would also use single assert per test. This way it\'s clear - one problem is the cause for one and only one broken test.\n\nNow, if you have problems with asserts #1 and #4, test will break after #1 and you have to fix it first and only then you\'ll find out that there is another problem.',NULL,4083,7,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/ProjectReferenceTest.java','AABOBH///jg='),(14,11,'2011-09-07 11:28:39','P',1,'I would name it smth like createFromValidString, avoiding test* pattern.',NULL,4083,7,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/ProjectReferenceTest.java','AABOBH///jk='),(1,4,'2011-09-07 21:13:11','P',1,'missing license header',NULL,4083,8,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/ProjectReferenceTest.java','AABOBH///fc='),(1,11,'2011-09-08 17:48:57','d',1,'Done','AABOBH///fc=',4083,8,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/ProjectReferenceTest.java','AABOBX///+U='),(7,49,'2011-09-01 12:43:20','P',1,'Please keep with our commit message guide lines http://wiki.eclipse.org/EGit/Contributor_Guide#Commit_message_guidelines',NULL,4103,1,'/COMMIT_MSG','AABOBH///50='),(69,270,'2011-09-01 13:30:38','d',1,'Done','AABOBH///5s=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CommitActionHandler.java','AABOBH///4o='),(61,270,'2011-09-01 13:30:31','d',1,'Done','AABOBH///5w=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CommitActionHandler.java','AABOBH///4s='),(69,49,'2011-09-01 12:43:20','P',1,'same as above',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CommitActionHandler.java','AABOBH///5s='),(61,49,'2011-09-01 12:43:20','P',1,'we don\'t use curly brackets for single line bolocks',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CommitActionHandler.java','AABOBH///5w='),(77,270,'2011-09-01 13:32:44','d',1,'Done','AABOBH///5g=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/utils/CommandUtils.java','AABOBH///4c='),(48,270,'2011-09-01 13:32:42','d',1,'Done','AABOBH///5k=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/utils/CommandUtils.java','AABOBH///4g='),(25,270,'2011-09-01 13:32:05','d',1,'Done','AABOBH///5o=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/utils/CommandUtils.java','AABOBH///4k='),(77,49,'2011-09-01 12:43:20','P',1,'same issue with brackets as above',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/utils/CommandUtils.java','AABOBH///5g='),(48,49,'2011-09-01 12:43:20','P',1,'remove curly brackets',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/utils/CommandUtils.java','AABOBH///5k='),(25,49,'2011-09-01 12:43:20','P',1,'we don\'t use @author tag, please remove this and add proper java doc for this util class',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/utils/CommandUtils.java','AABOBH///5o='),(360,270,'2011-09-01 13:42:55','d',1,'Done','AABOBH///48=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///34='),(317,270,'2011-09-01 13:42:52','d',1,'Done','AABOBH///5A=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///38='),(360,49,'2011-09-01 12:43:20','P',1,'same as above',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///48='),(228,270,'2011-09-01 13:42:49','d',1,'Done','AABOBH///5E=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///4A='),(213,270,'2011-09-01 13:42:46','d',1,'Done','AABOBH///5I=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///4E='),(191,270,'2011-09-01 13:42:43','d',1,'Done','AABOBH///5M=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///4I='),(182,270,'2011-09-01 13:42:38','d',1,'Done','AABOBH///5Q=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///4M='),(154,270,'2011-09-01 13:42:32','d',1,'Done','AABOBH///5U=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///4Q='),(130,270,'2011-09-01 13:42:29','d',1,'Done','AABOBH///5Y=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///4U='),(125,270,'2011-09-01 13:42:27','d',1,'Done','AABOBH///5c=',4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///4Y='),(317,49,'2011-09-01 12:43:20','P',1,'same as above',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///5A='),(125,49,'2011-09-01 12:43:20','P',1,'this is unrelated change. please don\'t change code formatting',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///5c='),(228,49,'2011-09-01 12:43:20','P',1,'same as above',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///5E='),(213,49,'2011-09-01 12:43:20','P',1,'same as above',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///5I='),(191,49,'2011-09-01 12:43:20','P',1,'same as above',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///5M='),(182,49,'2011-09-01 12:43:20','P',1,'another unrelated code formatting change',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///5Q='),(154,49,'2011-09-01 12:43:20','P',1,'another unrelated code formatting change',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///5U='),(130,49,'2011-09-01 12:43:20','P',1,'same as above, don\'t change code formatting of existing code in repository',NULL,4103,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABOBH///5Y='),(8,4,'2011-09-01 21:26:31','P',1,'style nit: trailing whitespace',NULL,4103,2,'/COMMIT_MSG','AABOBH///1k='),(7,4,'2011-09-01 21:26:31','P',1,'style nit: commit header is too wide, follow recommendations in [1]\n\n[1] http://wiki.eclipse.org/EGit/Contributor_Guide#Commit_message_guidelines',NULL,4103,2,'/COMMIT_MSG','AABOBH///1o='),(61,4,'2011-09-01 21:26:31','P',1,'style nit: trailing whitespace',NULL,4103,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CommitActionHandler.java','AABOBH///1w='),(61,270,'2011-09-02 06:37:04','d',1,'Done','AABOBH///1w=',4103,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CommitActionHandler.java','AABOBH///zo='),(3160,4,'2011-09-01 21:26:31','P',1,'style nit: extra blank in front of tab',NULL,4103,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java','AABOBH///10='),(3160,270,'2011-09-02 06:36:13','d',1,'Done','AABOBH///10=',4103,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIText.java','AABOBH///zs='),(1090,4,'2011-09-01 21:26:31','P',1,'typo: s/actve/active/',NULL,4103,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOBH///1s='),(1090,270,'2011-09-02 06:38:02','d',1,'Done','AABOBH///1s=',4103,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOBH///zk='),(7,4,'2011-09-22 12:45:51','P',1,'the first line of the commit message is considered the commit message\'s header and is displayed e.g. by \n\n $git shortlog\n\nalso see http://wiki.eclipse.org/EGit/Contributor_Guide#Commit_message_guidelines','AABOBX///ew=',4103,5,'/COMMIT_MSG','AABOBX///eo='),(7,270,'2011-09-22 12:13:14','P',1,'afaik this is the commit message (and not the header)','AABOBX///fA=',4103,5,'/COMMIT_MSG','AABOBX///ew='),(7,4,'2011-09-22 11:34:30','P',1,'style nit: header is too long, find a shorter header and put the rest into the commit message body.',NULL,4103,5,'/COMMIT_MSG','AABOBX///fA='),(1038,270,'2011-09-22 12:13:14','P',1,'since we execute the push command when the user chooses to push (checkbox checked in commit dialog) we need the appropriate handler to be active at that point. You can commit while selecting a file, but in the original <activeWhen /> expression the simple push handler would be inactive in this particular case. We therefore have to make it active then, too\n(@see bug you reported in patch set 1)','AABOBX///e8=',4103,5,'org.eclipse.egit.ui/plugin.xml','AABOBX///e0='),(1038,4,'2011-09-22 11:34:30','P',1,'why is this required for this change ?',NULL,4103,5,'org.eclipse.egit.ui/plugin.xml','AABOBX///e8='),(42,4,'2012-01-26 00:42:19','P',1,'reuse the method you just moved to jgit.junit JGitTestUtil',NULL,4105,9,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/AbstractCacheTest.java','AABODn///xc='),(49,4,'2012-01-26 00:42:19','P',1,'same here',NULL,4105,9,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/AbstractCacheTest.java','AABODn///xY='),(1041,44,'2011-09-02 18:42:03','P',1,'Done','AABOBH///yU=',4126,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOBH///yM='),(1041,208,'2011-09-02 18:05:56','P',1,'curlies not needed',NULL,4126,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOBH///yU='),(1040,44,'2011-09-02 19:44:53','P',1,'Done','AABOBH///yA=',4126,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOBH///x4='),(1040,208,'2011-09-02 19:00:27','P',1,'Thinking about it more, this check could probably go in the done call directly so that the asyncExec is only scheduled if the result will actually be displayed.',NULL,4126,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOBH///yA='),(1274,8,'2011-09-08 00:46:57','P',1,'Removed','AABOBH///wY=',4133,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java','AABOBH///cQ='),(1274,4,'2011-09-03 23:46:37','P',1,'how is this new method related to this change ?',NULL,4133,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java','AABOBH///wY='),(116,4,'2011-09-04 21:07:50','P',0,'you already ensured this protection in lines 123 and 127 so this comment should be moved up or removed',NULL,4137,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java','AABOBH///v0='),(127,4,'2011-09-04 21:07:50','P',1,'should be < instead of <= otherwise you end up with 21 menu entries',NULL,4137,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java','AABOBH///vs='),(123,4,'2011-09-04 21:07:50','P',1,'should be < instead of <= otherwise you end up with 21 menu entries',NULL,4137,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java','AABOBH///vw='),(143,6,'2011-09-06 07:32:53','P',1,'Why do we need the condition\n\nitemCount > 0 && sortedRefs.size() > 0\n\nhere?\n\nI have created a new repo, made one commit and created a new branch \"b\", but did not check it out. When I now open \"Team -> Switch To\" I do not see branch \"b\".',NULL,4137,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java','AABOBH///ps='),(10,4,'2011-09-04 21:10:42','P',1,'typo: s/to-branch the reflog/to-branch in the reflog/',NULL,4139,1,'/COMMIT_MSG','AABOBH///vk='),(80,4,'2011-09-29 22:39:28','P',1,'typo s/relays/relies/',NULL,4145,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOBX///CA='),(61,4,'2011-09-29 22:39:28','P',1,'typo s/relays/relies/',NULL,4145,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOBX///CE='),(80,49,'2011-11-04 11:54:58','P',1,'Done','AABOBX///CA=',4145,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOCH///zM='),(61,49,'2011-11-04 11:54:58','P',1,'Done','AABOBX///CE=',4145,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelBlobTest.java','AABOCH///zQ='),(98,4,'2011-09-29 22:39:28','P',1,'typo s/relays/relies/',NULL,4145,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelCacheFileTest.java','AABOBX///B4='),(77,4,'2011-09-29 22:39:28','P',1,'typo s/relays/relies/',NULL,4145,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelCacheFileTest.java','AABOBX///B8='),(98,49,'2011-11-04 11:54:58','P',1,'Done','AABOBX///B4=',4145,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelCacheFileTest.java','AABOCH///y8='),(77,49,'2011-11-04 11:54:58','P',1,'Done','AABOBX///B8=',4145,6,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelCacheFileTest.java','AABOCH///zI='),(48,4,'2011-09-29 22:39:28','P',1,'nit: trailing whitespace, more below',NULL,4145,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelCache.java','AABOBX///B0='),(48,49,'2011-11-04 11:54:58','P',1,'Done','AABOBX///B0=',4145,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelCache.java','AABOCH///y4='),(34,4,'2011-11-04 22:31:57','d',0,'what is a non-checkedin commit ? Commits only exist when the change has been committed, right ?',NULL,4145,7,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/synchronize/CheckedInCommitsCacheTest.java','AABOCH///rs='),(27,4,'2012-01-26 22:10:01','P',1,'typo in method name s/cateCacheTree/createCacheTree/',NULL,4145,10,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelCacheTreeTest.java','AABODn///ss='),(177,4,'2012-01-26 22:10:01','P',1,'why does the assertion change ?',NULL,4145,10,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/SynchronizeViewGitChangeSetModelTest.java','AABODn///so='),(87,4,'2012-01-26 22:10:01','P',1,'style nit: remove unnecessary blank line',NULL,4145,10,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/mapping/GitObjectMapping.java','AABODn///sc='),(82,4,'2012-01-26 22:10:01','P',1,'style nit: remove unnecessary blank line',NULL,4145,10,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/mapping/GitObjectMapping.java','AABODn///sg='),(16,4,'2012-01-26 22:10:01','P',1,'this is a weird interface name',NULL,4145,10,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/HasProjects.java','AABODn///sY='),(1477,4,'2012-01-26 22:10:01','P',1,'typo: s/retrive/retrieve/',NULL,4145,10,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABODn///sU='),(124,4,'2011-09-07 08:06:57','P',1,'Chris mentioned we don\'t use these two CQs',NULL,4160,2,'.eclipse_iplog','AABOBH///kI='),(208,4,'2011-09-07 20:55:57','P',0,'better: Select a ref and choose action to execute',NULL,4165,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOBH///fk='),(210,4,'2011-09-07 20:55:57','P',1,'maybe shorter: Checkout a ref or work with branches',NULL,4165,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOBH///fo='),(210,49,'2011-09-09 07:37:50','P',1,'Done','AABOBH///fo=',4165,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOBX////0='),(208,49,'2011-09-09 07:37:50','P',0,'Done','AABOBH///fk=',4165,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOBX////w='),(156,8,'2011-09-06 12:58:38','P',0,'Ah, I had another idea, but then contracted the code into this crap.',NULL,4166,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java','AABOBH///mQ='),(160,4,'2011-09-06 21:09:36','P',1,'with this condition a separator is missing before \"Other...\" if the repo has a few branches and all of them were found in the reflog. \n\nI think instead the condition should be:\n\n if (itemCount > 0)',NULL,4166,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java','AABOBH///k8='),(177,8,'2011-09-07 06:01:06','P',1,'if (itemCount > 0) here?',NULL,4166,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java','AABOBH///ko='),(160,8,'2011-09-07 06:01:06','P',1,'maybe below instead. This is for the separator before the local branches.','AABOBH///k8=',4166,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java','AABOBH///ks='),(13,6,'2011-09-06 14:12:40','P',1,'Please add a Signed-off-by line.',NULL,4168,1,'/COMMIT_MSG','AABOBH///l8='),(9,6,'2011-09-12 14:52:36','P',1,'Please do not refer to a specific client here. JGit is used in many environments and it is not clear what \"the Create branch dialog\" means.\n\nMaybe write something like \"...can be used by tools to determine a default start-point...\"',NULL,4168,3,'/COMMIT_MSG','AABOBX///z0='),(10,6,'2011-09-12 14:52:36','P',1,'start-point',NULL,4168,3,'/COMMIT_MSG','AABOBX///z4='),(7,6,'2011-09-12 14:52:36','P',1,'Please use the term start-point here.',NULL,4168,3,'/COMMIT_MSG','AABOBX///z8='),(312,6,'2011-09-06 15:30:06','P',1,'Please check for null. myBaseRef is null if I create a new branch on a commit in history view.In that case myBaseCommit is different from null.',NULL,4169,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchPage.java','AABOBH///lc='),(322,6,'2011-09-06 15:30:06','P',1,'whitespace error',NULL,4169,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchPage.java','AABOBH///lY='),(10,4,'2011-09-07 21:24:14','P',1,'s/\"Switch\" to/\"Switch to\"/',NULL,4169,3,'/COMMIT_MSG','AABOBH///fI='),(9,4,'2011-09-07 21:24:14','P',1,'style nit:   s/Create branch dialog/\"Create Branch\" dialog/',NULL,4169,3,'/COMMIT_MSG','AABOBH///fM='),(114,103,'2011-09-07 22:16:04','P',1,'Because the IOException would be thrown by repository.getRef(sourceRef). So when there is an error, the operation would have the current behaviour.','AABOBH///fQ=',4169,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java','AABOBH///dg='),(114,4,'2011-09-07 21:24:14','P',1,'I would expect different error handling. Why do you expect starting BranchOperationUI again would work here if it failed earlier ?',NULL,4169,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java','AABOBH///fQ='),(310,4,'2011-09-07 21:24:14','P',1,'style nit: unmotivated whitespace change in an unrelated class',NULL,4169,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchPage.java','AABOBH///fU='),(107,6,'2011-09-09 08:10:01','P',1,'The constant has changed now in JGit (Change-Id: Iea944e11e80134fbafc4c47383457d5ed11a4164).',NULL,4169,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SwitchToMenu.java','AABOBX///8Q='),(7,6,'2011-09-12 14:48:12','P',1,'Please change the commit message to  the new name of the constant.',NULL,4169,6,'/COMMIT_MSG','AABOBX///0Q='),(77,4,'2011-11-02 17:08:20','P',1,'I think you should not resolve the commit since then the user doesn\'t see anymore that he is basing the new branch on a certain remote tracking branch, also setup of tracking relationship (used by pull) can\'t work with that. So instead use the remote tracking branch\'s ref',NULL,4169,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/CreateBranchCommand.java','AABOB3///YA='),(46,8,'2011-09-07 06:25:16','P',1,'You might want to add HTTP here',NULL,4174,1,'org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/UrlUtilsTest.java','AABOBH///kU='),(56,8,'2011-09-07 06:25:16','P',1,'You might want to add SSH here',NULL,4174,1,'org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/UrlUtilsTest.java','AABOBH///kY='),(15,8,'2011-09-07 06:25:16','P',1,'Avoid static import, especially from many different classes. \nIt makes it harder to see where the constants come from in the\ncode since they local local local constant.\n\nThat is my personal opinion....\n\nIt also has nothing to do with the subject in the commit.',NULL,4174,1,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/util/UrlUtils.java','AABOBH///kc='),(807,5,'2011-09-23 14:14:56','P',1,'please remote the empty line',NULL,4177,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReadTreeTest.java','AABOBX///aQ='),(190,5,'2011-09-23 14:14:56','P',1,'can\'t we expose our new knowledge about why checkout/merge failed to the user of MergeCommand, CheckoutCommand?',NULL,4177,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/MergeCommand.java','AABOBX///Z0='),(86,5,'2011-09-23 14:14:56','P',1,'is this really a MergeFailureReason? This class is used also during normal checkouts, resets, ...and it sounds strange to me that we have to import org.eclipse.jgit.merge.ResolveMerger when I want understand the exceptions thrown by a checkout.\n\nOne example: during the merge operation we don\'t like dirty indexes and publish MergeFailureReason.DIRTY_INDEX. But here, in the DirCacheCheckout, a dirty index alone is not a reason to fail. You can checkout succesfully although your index is dirty.\n\nMy suggestion: Let\'s introduce a CheckoutFailureReason located in org.eclipse.jgit.dircache.',NULL,4177,2,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOBX///aA='),(723,5,'2011-09-23 14:14:56','P',1,'these todos - they are there because it is not clear which MergeFailureReason should be choosen, or?',NULL,4177,2,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOBX///aE='),(8,118,'2011-09-08 09:54:21','P',1,'I didn\'t. This is how it\'s formatted in org.eclipse.jgit.errors.CheckoutConflictException, which I moved to org.eclipse.jgit.api.errors to replace deleted org.eclipse.jgit.api.errors.CheckoutConflictException. Then I added the line about Christian and the \'conflictingPaths\' list. But you\'re right, this is confusing, Patch Set 3 should be a cleaner cut.','AABOBH///fA=',4178,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/errors/CheckoutConflictException.java','AABOBH///bI='),(8,4,'2011-09-07 21:36:06','P',1,'Why do you re-format the license header ? I think we should stick to a fixed format of the license.',NULL,4178,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/errors/CheckoutConflictException.java','AABOBH///fA='),(93,4,'2011-09-08 14:44:21','d',1,'style nit: no curly brances around single line block',NULL,4179,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCache.java','AABOBX////M='),(59,4,'2011-09-08 14:46:19','d',1,'style nit: put the comment in a line above the member as this is easier to read',NULL,4179,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX////I='),(252,4,'2011-09-08 14:49:17','d',1,'style nit: reformat comment to avoid unmotivated line break',NULL,4179,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///+0='),(49,4,'2011-09-08 14:47:04','d',1,'style nit: couple of trailing whitespaces in this class',NULL,4179,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///+4='),(265,4,'2011-09-08 14:49:43','d',1,'style nit: reformat',NULL,4179,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///+w='),(28,49,'2011-09-09 12:05:01','P',1,'I would prefer that those fields wold be marked as final .. just in case ;)',NULL,4179,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffData.java','AABOBX///70='),(28,44,'2011-09-09 12:52:52','P',1,'Can\'t mark them as final because they are made immutable at the end of the construction.','AABOBX///70=',4179,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffData.java','AABOBX///7g='),(28,44,'2011-09-09 12:55:58','P',1,'Of course it\'s possible with some more effort :-)','AABOBX///7g=',4179,5,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffData.java','AABOBX///7U='),(56,49,'2011-09-09 13:07:29','P',1,'instead of all this code you can call just this(indexDiff, null, null); then marking all members as final should be relatively easy ;)',NULL,4179,6,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffData.java','AABOBX///7M='),(2,49,'2011-09-09 21:04:38','P',1,'I think you meant 2011 not 2010',NULL,4179,7,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/indexDiff/IndexDiffCacheTest.java','AABOBX///50='),(2,44,'2011-09-21 08:42:29','P',1,'Done','AABOBX///50=',4179,7,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/indexDiff/IndexDiffCacheTest.java','AABOBX///ko='),(78,49,'2011-09-09 21:04:38','P',1,'and here instead of lines 79-87:\n\nif (changedFileResources != null)\n	this.changedFileResources = Collections\n			.unmodifiableCollection(new HashSet<IFile>(changedFileResources));\nelse\n	this.changedFileResources = null;\n\nSet<String> added2, changed2, removed2, missing2, modified2, untracked2, conflicts2;\nif (baseDiff != null) {\n	added2 = new HashSet<String>(baseDiff.getAdded());\n	changed2 = new HashSet<String>(baseDiff.getChanged());\n	removed2 = new HashSet<String>(baseDiff.getRemoved());\n	missing2 = new HashSet<String>(baseDiff.getMissing());\n	modified2 = new HashSet<String>(baseDiff.getModified());\n	untracked2 = new HashSet<String>(baseDiff.getUntracked());\n	conflicts2 = new HashSet<String>(baseDiff.getConflicting());\n} else {\n	added2 = new HashSet<String>();\n	changed2 = new HashSet<String>();\n	removed2 = new HashSet<String>();\n	missing2 = new HashSet<String>();\n	modified2 = new HashSet<String>();\n	untracked2 = new HashSet<String>();\n	conflicts2 = new HashSet<String>();\n}',NULL,4179,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffData.java','AABOBX///5s='),(47,49,'2011-09-09 21:04:38','P',1,'personally I would prefer to have here something like this:\n\nthis(null, null, null, indexDiff);',NULL,4179,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffData.java','AABOBX///5w='),(78,44,'2011-09-21 08:42:29','P',1,'I prefer two constructors with simple coding instead of one with several ifs.','AABOBX///5s=',4179,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffData.java','AABOBX///kk='),(93,44,'2011-09-21 08:32:39','P',1,'Done','AABOBX///ms=',4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCache.java','AABOBX///kw='),(93,4,'2011-09-20 21:59:10','P',1,'style nit: no braces here',NULL,4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCache.java','AABOBX///ms='),(291,44,'2011-09-21 08:32:39','P',1,'Done','AABOBX///mY=',4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///k0='),(264,44,'2011-09-21 08:32:39','P',1,'Done','AABOBX///mg=',4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///k4='),(252,44,'2011-09-21 08:32:39','P',1,'Done','AABOBX///mc=',4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///k8='),(214,44,'2011-09-21 08:32:39','P',1,'Done','AABOBX///mk=',4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///lA='),(60,44,'2011-09-21 08:32:39','P',1,'Done','AABOBX///mo=',4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///lE='),(252,4,'2011-09-20 21:59:10','P',1,'style nit: comment needs reformatting',NULL,4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///mc='),(264,4,'2011-09-20 21:59:10','P',1,'style nit: comment needs reformatting',NULL,4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///mg='),(214,4,'2011-09-20 21:59:10','P',1,'style nit: no braces around single line blocks',NULL,4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///mk='),(60,4,'2011-09-20 21:59:10','P',1,'style nit: put comment on extra line before this member definition',NULL,4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///mo='),(291,4,'2011-09-20 21:59:10','P',1,'no braces here',NULL,4179,9,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBX///mY='),(14,4,'2011-10-17 22:36:49','P',1,'typo s/OpenInCompre/OpenInCompare/',NULL,4196,7,'/COMMIT_MSG','AABOBn///0c='),(9,4,'2011-10-17 22:36:49','P',1,'I guess you meant\n\ns/change/hunk/',NULL,4196,7,'/COMMIT_MSG','AABOBn///0g='),(16,4,'2011-10-17 22:36:49','P',1,'better:\n\nWe want this writable instead since we want to move ...',NULL,4196,7,'/COMMIT_MSG','AABOBn///0U='),(15,4,'2011-10-17 22:36:49','P',1,'typo: s/ours/our/',NULL,4196,7,'/COMMIT_MSG','AABOBn///0Y='),(16,49,'2011-10-18 06:59:04','P',1,'Done','AABOBn///0U=',4196,7,'/COMMIT_MSG','AABOBn///zc='),(15,49,'2011-10-18 06:59:04','P',1,'Done','AABOBn///0Y=',4196,7,'/COMMIT_MSG','AABOBn///zg='),(14,49,'2011-10-18 06:59:04','P',1,'Done','AABOBn///0c=',4196,7,'/COMMIT_MSG','AABOBn///zk='),(9,49,'2011-10-18 06:59:04','P',1,'Done','AABOBn///0g=',4196,7,'/COMMIT_MSG','AABOBn///zo='),(10,4,'2011-10-17 22:36:49','P',1,'I guess you borrowed this from Team ?',NULL,4196,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/action/GitOpenInCompareAction.java','AABOBn///0o='),(10,49,'2011-10-18 06:59:04','P',1,'Yes, initial implementation was copied from org.eclipse.team.internal.ui.synchronize.actions.OpenInCompareAction and then changed. Should I somehow change this contribution statement ?','AABOBn///0o=',4196,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/action/GitOpenInCompareAction.java','AABOBn///zY='),(559,49,'2011-11-18 19:57:29','P',1,'Done','AABOCX///vk=',4196,11,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/CompareUtils.java','AABOCX///ts='),(559,4,'2011-11-17 23:31:30','P',1,'typo in class name s/DirChacheEntryEditor/DirCacheEntryEditor/',NULL,4196,11,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/CompareUtils.java','AABOCX///vk='),(2,49,'2011-11-18 19:57:29','P',1,'Done','AABOCX///vg=',4196,11,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/action/GitOpenInCompareAction.java','AABOCX///to='),(2,4,'2011-11-17 23:31:30','P',1,'add \"and others\" as you mention a contribution from IBM',NULL,4196,11,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/action/GitOpenInCompareAction.java','AABOCX///vg='),(85,49,'2011-11-18 19:57:29','P',0,'It was move by mistake.','AABOCX///vU=',4196,11,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/compare/GitCompareInput.java','AABOCX///tk='),(85,4,'2011-11-17 23:31:30','P',0,'why are you moving this line ?',NULL,4196,11,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/compare/GitCompareInput.java','AABOCX///vU='),(40,49,'2011-11-18 19:57:29','P',1,'Done','AABOCX///vI=',4196,11,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelWorkingFile.java','AABOCX///tg='),(40,4,'2011-11-17 23:31:30','P',1,'shouldn\'t we then better throw an exception to signal this ?',NULL,4196,11,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelWorkingFile.java','AABOCX///vI='),(15,4,'2011-11-18 23:47:05','P',1,'typo in class name s/Comapre/Compare/',NULL,4196,13,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/ComapreEditorTitleMatcher.java','AABOCX///h0='),(15,49,'2011-11-23 17:11:03','P',1,'Done','AABOCX///h0=',4196,13,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/ComapreEditorTitleMatcher.java','AABOCX///Vk='),(41,4,'2011-11-18 23:47:05','P',1,'typo s/is should/should/',NULL,4196,13,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelWorkingFile.java','AABOCX///gA='),(41,49,'2011-11-23 17:11:03','P',1,'Done','AABOCX///gA=',4196,13,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelWorkingFile.java','AABOCX///Vg='),(24,49,'2011-11-29 23:46:41','P',1,'Done','AABOC3///4Q=',4196,16,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/CompareEditorTitleMatcher.java','AABOC3///3c='),(24,208,'2011-11-29 23:28:12','P',1,'Should be \'contains\'',NULL,4196,16,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/CompareEditorTitleMatcher.java','AABOC3///4Q='),(232,49,'2011-11-29 23:46:41','P',1,'Done','AABOC3///4E=',4196,16,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/RepositoryActionHandler.java','AABOC3///3Y='),(232,208,'2011-11-29 23:28:12','P',1,'Variable name should be \'resource\'',NULL,4196,16,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/RepositoryActionHandler.java','AABOC3///4E='),(41,49,'2011-11-29 23:46:41','P',1,'True, it isn\'t\n\nDone','AABOC3///4A=',4196,16,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelWorkingFile.java','AABOC3///3U='),(41,208,'2011-11-29 23:28:12','P',1,'Is this method still needed if it only throws an exception?',NULL,4196,16,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelWorkingFile.java','AABOC3///4A='),(32,5,'2011-09-09 16:01:50','P',1,'which whitespace error?','AABOBX///7A=',4200,2,'org.eclipse.egit.core/META-INF/MANIFEST.MF','AABOBX///58='),(32,44,'2011-09-09 15:01:19','P',1,'white space error',NULL,4200,2,'org.eclipse.egit.core/META-INF/MANIFEST.MF','AABOBX///7A='),(812,44,'2011-09-09 15:01:19','P',0,'What happens if just the branch changes? Don\'t we need refsChanged event in this case?',NULL,4200,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitLightweightDecorator.java','AABOBX///64='),(82,44,'2011-09-09 15:01:19','P',1,'Why do we need a resource change listener?\nThose changes should be covered by IndexDiffCache',NULL,4200,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitLightweightDecorator.java','AABOBX///68='),(82,5,'2011-09-09 16:01:50','P',1,'We removed the rescource change listener and it just works','AABOBX///68=',4200,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitLightweightDecorator.java','AABOBX///6E='),(102,4,'2011-09-23 21:36:28','P',1,'style nit: trailing whitespace',NULL,4200,8,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/nonswt/decoration/DecoratableResourceHelperTest.java','AABOBX///Yo='),(215,5,'2011-09-09 08:21:06','P',1,'I like that we come closer to what native git would write with this. I am wondering whether we should also mention the diff algorithm used, because this really influences the merge result.',NULL,4206,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/MergeCommand.java','AABOBX///8I='),(215,8,'2011-09-17 03:39:13','P',1,'This is mostly a compliance patch and I don\'t see C git writing the algorithm. For non-conflicting merge, the choice of algorithm rarely matters and the reflog is not long-term. \nRegardless, that would be a separate patch.','AABOBX///8I=',4206,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/MergeCommand.java','AABOBX///r0='),(209,44,'2011-09-26 16:08:26','P',1,'A bit ugly. Runtime exception could occur for other reasons. Define an own exception type or wait for flag.',NULL,4219,6,'org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheBuilderTest.java','AABOBX///Rs='),(244,44,'2011-09-26 16:08:26','P',1,'What about DirCache.read? Users could read the cache first and lock afterwards (perhaps this is exotic, I don\'t know).',NULL,4219,6,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCache.java','AABOBX///Ro='),(206,8,'2011-09-27 19:00:51','P',1,'Comment: \"old\" date in 2008',NULL,4219,7,'org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheBuilderTest.java','AABOBX///Lo='),(259,4,'2011-09-27 21:45:39','P',1,'Done','AABOBX///Ls=',4219,7,'org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheBuilderTest.java','AABOBX///LQ='),(259,8,'2011-09-27 19:00:51','P',1,'Write this as a comment and just let the exception escape the function. That would retain the stack trace.',NULL,4219,7,'org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheBuilderTest.java','AABOBX///Ls='),(206,4,'2011-09-27 21:45:39','P',1,'Done','AABOBX///Lo=',4219,7,'org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheBuilderTest.java','AABOBX///LU='),(9,4,'2011-09-29 22:03:05','P',1,'it didn\'t fire events anymore before this change so I think this is correct','AABOBX///JI=',4219,8,'/COMMIT_MSG','AABOBX///Cg='),(9,5,'2011-09-28 22:43:36','P',1,'not sure, but isn\'t it called \"doesn\'t\" instead of \"didn\'t\"',NULL,4219,8,'/COMMIT_MSG','AABOBX///JI='),(252,4,'2011-09-29 22:03:05','P',1,'Done','AABOBX///JE=',4219,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheBuilderTest.java','AABOBX///Cc='),(253,4,'2011-09-29 22:03:05','P',1,'removed this test which only proves DirCacheEditor\'s smartness','AABOBX///Is=',4219,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheBuilderTest.java','AABOBX///CY='),(253,5,'2011-09-28 22:50:14','P',1,'just found out: a DirCacheEditor with no edit\'s will not persist the index on commit(). It detects it has nothing to do and just unlocks the index. Therefore this test is no good.',NULL,4219,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheBuilderTest.java','AABOBX///Is='),(252,5,'2011-09-28 22:43:36','P',1,'For a full test that persisting an unchanged index doesn\'t fire an IndexChanged event I would also add a test which uses DirCacheBuilder. It is quite easy to detect that an DirCacheEditor with no edits will not change the index. But a builder which creates new DirCacheEntry instances which happen to have the same content as before - that\'s much more demanding.\nSuggestion: in the previous test testBuildOneFile_Commit_FiresIndexChangedEvent() just add some block to the end where you again create a builder, add a new DirCacheEntry with the same values as before and commit that. That should not throw an event.',NULL,4219,8,'org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheBuilderTest.java','AABOBX///JE='),(13,4,'2011-11-30 22:45:34','P',1,'typo: s/flowing/following/',NULL,4239,6,'/COMMIT_MSG','AABOC3///w0='),(18,4,'2011-11-30 22:45:34','P',1,'typo: s/width/with/',NULL,4239,6,'/COMMIT_MSG','AABOC3///ws='),(14,4,'2011-11-30 22:45:34','P',1,'typo: s/The/Then/',NULL,4239,6,'/COMMIT_MSG','AABOC3///ww='),(232,8,'2011-09-18 09:44:40','P',1,'Incorporate the do-nothing from the body here',NULL,4249,1,'org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/RevWalkTextBuiltin.java','AABOBX///rU='),(152,208,'2011-09-27 15:16:09','P',1,'Done','AABOBX///Pk=',4279,24,'org.eclipse.jgit/src/org/eclipse/jgit/submodule/SubmoduleGenerator.java','AABOBX///Ns='),(152,8,'2011-09-27 06:07:12','P',1,'Don\'t be \"nice\" to callers that try to call this and other similar methods once we have processed past the last entry.\nLet it crash somehow. In this case we\'d get an NPE \"for free\".\n\nIn general accessing data past the end of an iterator is undefined. Returning null obviously fits into this category, but if we want to be helpful, alter the caller to the error and crash instead (which is also undefined but easier to diagnostize). If we return null, that null will often be sent through one ore more layer and problem is now much harder to identify.',NULL,4279,24,'org.eclipse.jgit/src/org/eclipse/jgit/submodule/SubmoduleGenerator.java','AABOBX///Pk='),(70,8,'2011-12-02 17:02:08','P',1,'The problem with this kind of testing is that it accept any IllegalArgumentException, not just from the expected place and IllegalArgumentException is thrown from deep within Java.\n\nUnfortunately tests that pass for the wrong reason is not all that uncommon.',NULL,4279,31,'org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleAddTest.java','AABOBn///6k='),(70,208,'2011-12-03 18:55:52','P',1,'Done','AABOBn///6k=',4279,31,'org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleAddTest.java','AABOC3///kA='),(204,208,'2011-12-03 18:55:52','P',1,'Done','AABOC3///nM=',4279,31,'org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java','AABOC3///j8='),(204,8,'2011-12-02 17:02:08','P',1,'Why isn\'t this propagated?',NULL,4279,31,'org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java','AABOC3///nM='),(66,208,'2011-12-03 18:55:52','P',1,'Done','AABOC3///m0=',4279,31,'org.eclipse.jgit/src/org/eclipse/jgit/api/SubmoduleSyncCommand.java','AABOC3///j0='),(63,208,'2011-12-03 18:55:52','P',1,'Done','AABOC3///m4=',4279,31,'org.eclipse.jgit/src/org/eclipse/jgit/api/SubmoduleSyncCommand.java','AABOC3///j4='),(85,208,'2011-12-03 18:55:52','P',1,'Done','AABOC3///mw=',4279,31,'org.eclipse.jgit/src/org/eclipse/jgit/api/SubmoduleSyncCommand.java','AABOC3///js='),(96,208,'2011-12-03 18:55:52','P',1,'Done','AABOC3///ms=',4279,31,'org.eclipse.jgit/src/org/eclipse/jgit/api/SubmoduleSyncCommand.java','AABOC3///jw='),(66,8,'2011-12-02 17:02:08','P',1,'nit-pick: trailing whitespace',NULL,4279,31,'org.eclipse.jgit/src/org/eclipse/jgit/api/SubmoduleSyncCommand.java','AABOC3///m0='),(63,8,'2011-12-02 17:02:08','P',1,'nit-pick: trailing whitespace',NULL,4279,31,'org.eclipse.jgit/src/org/eclipse/jgit/api/SubmoduleSyncCommand.java','AABOC3///m4='),(96,8,'2011-12-02 17:02:08','P',1,'nit-pick: trailing whitespace',NULL,4279,31,'org.eclipse.jgit/src/org/eclipse/jgit/api/SubmoduleSyncCommand.java','AABOC3///ms='),(85,8,'2011-12-02 17:02:08','P',1,'nit-pick: trailing whitespace',NULL,4279,31,'org.eclipse.jgit/src/org/eclipse/jgit/api/SubmoduleSyncCommand.java','AABOC3///mw='),(49,4,'2011-09-30 22:42:49','P',1,'this will replace CRLF to 2 blanks, is this intended ?',NULL,4285,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitProposalProcessor.java','AABOBX//+7A='),(49,208,'2012-01-02 23:35:53','P',1,'Done','AABOBX//+7A=',4285,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitProposalProcessor.java','AABODX///t4='),(253,4,'2011-09-29 21:04:05','P',1,'Done','AABOBX///F0=',4287,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java','AABOBX///DM='),(250,4,'2011-09-29 21:04:05','P',1,'Done','AABOBX///F4=',4287,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java','AABOBX///DQ='),(249,4,'2011-09-29 21:04:05','P',1,'Done','AABOBX///F8=',4287,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java','AABOBX///DU='),(253,44,'2011-09-29 15:40:42','P',1,'The only Exception to catch here is the IllegalArgumentException (addConfiguredRepository).\nEclipse will not break if another Exception occurs in the listener.',NULL,4287,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java','AABOBX///F0='),(250,44,'2011-09-29 15:40:42','P',1,'Exception does not occur.',NULL,4287,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java','AABOBX///F4='),(249,44,'2011-09-29 15:40:42','P',1,'why catching Throwable here?',NULL,4287,7,'org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java','AABOBX///F8='),(215,44,'2011-09-30 07:33:04','P',1,'Check for isAccessible() to avoid exception (see comment patch set 7)',NULL,4287,8,'org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java','AABOBX//+/4='),(215,4,'2011-09-30 09:40:40','P',1,'Done','AABOBX//+/4=',4287,8,'org.eclipse.egit.core/src/org/eclipse/egit/core/Activator.java','AABOBX//+/M='),(7,4,'2011-09-30 22:05:33','P',1,'typo: s/DirCacheEdtor/DirCacheEditor/',NULL,4290,1,'/COMMIT_MSG','AABOBX//+90='),(52,4,'2011-09-30 22:05:33','P',1,'did you mean DirCachePathEditTest ?',NULL,4290,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCachePatEditTest.java','AABOBX//+7s='),(14,5,'2011-09-27 16:56:04','P',1,'Done','AABOBX///OA=',4296,1,'/COMMIT_MSG','AABOBX///Mc='),(12,5,'2011-09-27 16:56:04','P',1,'Done','AABOBX///OE=',4296,1,'/COMMIT_MSG','AABOBX///Mg='),(9,5,'2011-09-27 16:56:04','P',1,'Done','AABOBX///OI=',4296,1,'/COMMIT_MSG','AABOBX///Mk='),(7,5,'2011-09-27 16:56:04','P',1,'Done','AABOBX///Nc=',4296,1,'/COMMIT_MSG','AABOBX///Ms='),(15,4,'2011-09-27 14:58:42','P',1,'typo: s/doesn\'t/don\'t/',NULL,4296,1,'/COMMIT_MSG','AABOBX///N8='),(7,8,'2011-09-27 15:25:58','P',1,'spelling: paths.\n\nThis subject is very unclear regarding the problem.\nSuggestion: Fix status in index entries after checkout of paths',NULL,4296,1,'/COMMIT_MSG','AABOBX///Nc='),(14,4,'2011-09-27 14:58:42','P',1,'typo: s/a/an/',NULL,4296,1,'/COMMIT_MSG','AABOBX///OA='),(12,4,'2011-09-27 14:58:42','P',1,'typo: s/throught/through/',NULL,4296,1,'/COMMIT_MSG','AABOBX///OE='),(9,4,'2011-09-27 14:58:42','P',1,'typo: s/a/an/',NULL,4296,1,'/COMMIT_MSG','AABOBX///OI='),(275,5,'2011-09-27 16:56:04','P',1,'Done','AABOBX///NI=',4296,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java','AABOBX///MI='),(257,5,'2011-09-27 16:56:04','P',1,'Done','AABOBX///OM=',4296,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java','AABOBX///MQ='),(254,5,'2011-09-27 16:56:04','P',1,'Done','AABOBX///OQ=',4296,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java','AABOBX///MU='),(253,5,'2011-09-27 16:56:04','P',1,'Done','AABOBX///NM=',4296,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java','AABOBX///MY='),(275,208,'2011-09-27 15:29:28','P',1,'Would JGitInternalException be better to throw here instead of RuntimeException?',NULL,4296,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java','AABOBX///NI='),(253,208,'2011-09-27 15:29:28','P',1,'style nit: parentheses not needed on right side',NULL,4296,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java','AABOBX///NM='),(257,4,'2011-09-27 14:58:42','P',1,'style nit: no braces here',NULL,4296,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java','AABOBX///OM='),(254,4,'2011-09-27 14:58:42','P',1,'style nit: no braces around single line blocks',NULL,4296,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java','AABOBX///OQ='),(279,4,'2011-10-24 20:58:26','P',1,'Done','AABOBn///kE=',4300,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/ReflogView.java','AABOBn///bA='),(279,8,'2011-10-22 23:13:42','P',1,'Isn\'t this a bit boring? \n\nYou could display \"You\" when the entry matches the committer and the full name only when it it doesn\'t?\n\nI\'m not sure why you want this, though there are rare cases where you want the changer. \n\nThe timestamp I fully understand.',NULL,4300,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/ReflogView.java','AABOBn///kE='),(295,208,'2011-10-08 03:02:37','P',1,'Done','AABOBX//+wc=',4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+v0='),(292,208,'2011-10-08 03:02:37','P',1,'Done','AABOBX//+wg=',4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+v4='),(220,208,'2011-10-08 03:02:37','P',1,'Done','AABOBX//+wo=',4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+v8='),(375,208,'2011-10-08 03:02:37','P',1,'Done','AABOBX//+wU=',4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+vs='),(333,208,'2011-10-08 03:02:37','P',1,'Done','AABOBX//+wY=',4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+vw='),(219,208,'2011-10-08 03:02:37','P',1,'Done','AABOBX//+wk=',4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+wA='),(295,1,'2011-10-08 01:57:23','P',1,'You should also assert that workTreeIter has an id of zeroid.',NULL,4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+wc='),(292,1,'2011-10-08 01:57:23','P',1,'This delete shouldn\'t be necessary. You only created an empty \".git\" directory. That is not a valid Git repository. Because you have the setMustExist(true) on the RepositoryBuilder, the build() should fail and zeroid is what would be returned, even though the directory exists and is empty.',NULL,4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+wg='),(219,1,'2011-10-08 01:57:23','P',1,'style-nit: We prefer descriptive test method names, rather than Javadoc on the test method.',NULL,4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+wk='),(220,1,'2011-10-08 01:57:23','P',1,'style-nit: Please trim trailing whitespace.',NULL,4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+wo='),(375,1,'2011-10-08 01:57:23','P',1,'Please add a test for a submodule in a deep path, e.g. a module at \"a/b/c\" and not just at the top level.',NULL,4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+wU='),(333,1,'2011-10-08 01:57:23','P',1,'Also assert workTreeIter has zeroid.',NULL,4304,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java','AABOBX//+wY='),(292,208,'2011-10-08 03:02:37','P',1,'Done','AABOBX//+ww=',4304,9,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABOBX//+vc='),(290,208,'2011-10-08 03:02:37','P',1,'Done','AABOBX//+ws=',4304,9,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABOBX//+vg='),(288,208,'2011-10-08 03:02:37','P',1,'Done','AABOBX//+w0=',4304,9,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABOBX//+vk='),(262,208,'2011-10-08 03:02:37','P',1,'Done','AABOBX//+w4=',4304,9,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABOBX//+vo='),(288,1,'2011-10-08 01:57:23','P',1,'style-nit: You can chain this call:\n\n  Repository git = new FileRepositoryBuilder()\n    .setMustExist(true)\n    .setFS(getFS())\n    .setGitDir(submoduleGitDir)\n    .build();\n  try {\n    head = git.resolve(Constants.HEAD);\n  } finally {\n    git.close();\n  }',NULL,4304,9,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABOBX//+w0='),(262,1,'2011-10-08 01:57:23','P',1,'style-nit: Use \"if (\" instead.',NULL,4304,9,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABOBX//+w4='),(290,1,'2011-10-08 01:57:23','P',1,'Use the current FS, not the detected one.',NULL,4304,9,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABOBX//+ws='),(292,1,'2011-10-08 01:57:23','P',1,'The Repository object must be closed.',NULL,4304,9,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABOBX//+ww='),(290,208,'2011-11-04 07:15:35','P',1,'Done','AABOCH///7E=',4304,11,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABOCH///0Y='),(290,1,'2011-11-03 20:22:42','P',1,'You called setMustExist(true) twice here. At least one of those is unnecessary.',NULL,4304,11,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABOCH///7E='),(7,4,'2011-09-29 21:09:56','P',1,'Commit message header should give a short description of the change, the body should explain why this change is needed. Also see [1].\n\n[1] http://wiki.eclipse.org/EGit/Contributor_Guide#Commit_message_guidelines',NULL,4308,1,'/COMMIT_MSG','AABOBX///DA='),(7,44,'2011-09-29 15:56:02','P',1,'Please provide a meaningful commit message describing the change. You can find examples for the message format in other gerrit changes.',NULL,4308,1,'/COMMIT_MSG','AABOBX///Fo='),(146,4,'2011-09-29 21:09:56','P',1,'don\'t put this into a comment instead split this change into two changes, each one fixing a single bug',NULL,4308,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitProjectSetCapability.java','AABOBX///DE='),(59,44,'2011-09-29 15:56:02','P',1,'Deltas introduced by code formatting make it hard to review the actual change. Please only format the changed / added lines.',NULL,4308,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitProjectSetCapability.java','AABOBX///Fg='),(18,208,'2011-09-29 22:26:23','P',1,'Done','AABOBX///CM=',4310,1,'/COMMIT_MSG','AABOBX///BY='),(18,4,'2011-09-29 22:12:04','P',1,'the \'I\' is missing in front of the SHA-1 hence it\'s not rendered as a hyperlink\n\ns/17c1c67b79b44abd4ea00733d6137bfe48151777/I17c1c67b79b44abd4ea00733d6137bfe48151777/\n\ns/review/change/',NULL,4310,1,'/COMMIT_MSG','AABOBX///CM='),(279,4,'2011-12-30 00:57:05','P',1,'style nit: whitespace error before \"=\"',NULL,4310,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewLabelProvider.java','AABODX///30='),(260,44,'2011-09-30 13:58:26','P',1,'Style nit: unnecessary blanks',NULL,4312,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitProjectSetCapability.java','AABOBX//++o='),(405,44,'2011-10-05 11:31:00','P',1,'Done','AABOBX//+2I=',4320,2,'org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java','AABOBX//+1w='),(405,5,'2011-10-05 08:29:26','P',1,'Maybe add a comment here explaining that only the root folder of a ignored folder hierarchy is reported. If a/b/c is listed in the .gitignore then you should not expect a/b/c/d/e/f to be reported here. Only a/b/c will be reported.',NULL,4320,2,'org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java','AABOBX//+2I='),(139,44,'2011-10-05 11:31:00','P',1,'Good point. I changed the method documentation and also the method name of IndexDiff.getIgnored to getIgnoredNotInIndex.\nFor EGit decoration purposes the ignored state of files is not relevant if they are part of the index. These files get a \"+\" decoration stating that they have been added.','AABOBX//+2A=',4320,2,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/IndexDiffFilter.java','AABOBX//+1o='),(175,44,'2011-10-05 11:31:00','P',1,'Done','AABOBX//+2E=',4320,2,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/IndexDiffFilter.java','AABOBX//+1s='),(139,5,'2011-10-05 08:29:26','P',1,'The only place where you add stuff to \'ignoredPaths\' is inside a block which we enter only if we don\'t find an entry in the index. What is with files which are listed in .gitignore but which have been added to the index before?\n\ngit init\necho a > a\ngit add a\ngit commit -m initial\necho b > b\ngit add b\necho b > .gitignore\n\nWhen processing b dm would be different from 0 although b is ignored, or?',NULL,4320,2,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/IndexDiffFilter.java','AABOBX//+2A='),(175,5,'2011-10-05 08:29:26','P',1,'Why two local variables (wi and workingTreeIterator) both pointing to workingTree(tw). Let\'s use only  \'wi\' and move it\'s initialisation up the place where you first need it.',NULL,4320,2,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/IndexDiffFilter.java','AABOBX//+2E='),(276,8,'2011-10-23 10:57:18','P',1,'style-nit; no braces for simple single-statement constrcuts',NULL,4324,1,'org.eclipse.jgit/src/org/eclipse/jgit/fnmatch/FileNameMatcher.java','AABOBn///f0='),(281,8,'2011-10-23 10:57:18','P',1,'style-nit; no braces for simple single-statement constrcuts',NULL,4324,1,'org.eclipse.jgit/src/org/eclipse/jgit/fnmatch/FileNameMatcher.java','AABOBn///f4='),(266,8,'2011-10-23 10:57:18','P',1,'style-nit; no braces for simple single-statement constrcuts',NULL,4324,1,'org.eclipse.jgit/src/org/eclipse/jgit/fnmatch/FileNameMatcher.java','AABOBn///f8='),(339,8,'2011-10-23 10:57:18','P',1,'style-nit; no braces for simple single-statement constrcuts',NULL,4324,1,'org.eclipse.jgit/src/org/eclipse/jgit/fnmatch/FileNameMatcher.java','AABOBn///fs='),(297,8,'2011-10-23 10:57:18','P',1,'style-nit; badly indented comment',NULL,4324,1,'org.eclipse.jgit/src/org/eclipse/jgit/fnmatch/FileNameMatcher.java','AABOBn///fw='),(201,4,'2011-10-14 20:04:38','P',1,'typo: s/wordspace/workspace/',NULL,4338,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBn///+E='),(246,1,'2011-11-25 00:53:48','P',1,'The tagList() command is clearly broken. It assumes all objects under the refs/tags/ namespace are annotated tags. The Orion server repository uses lightweight non-annotated tags, which cannot be cast to a RevTag object, which is why the tagList() command fails.\n\nThe tagList() command needs to be rewritten to not return a RevTag, but instead return some new tag type that supports both annotated and lightweight tags.',NULL,4346,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/TagCommandTest.java','AABOCX///Kw='),(121,4,'2011-10-17 22:07:53','P',0,'aha, got it','AABOBn///3w=',4347,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/DiscardChangesOperation.java','AABOBn///00='),(121,44,'2011-10-17 07:57:26','P',0,'The purpose of this loop is checking for files that do not belong to a Git repository. The later called code ignores such files.','AABOBn///84=',4347,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/DiscardChangesOperation.java','AABOBn///3w='),(121,4,'2011-10-14 21:27:06','P',0,'What\'s the purpose of this loop ? \n\nI suspect it is no longer needed as you map resources to repositories using the new ResourceUtil class called from discardChanges().\n\nIf this is correct also method getRepository(IResource resource) can be removed.',NULL,4347,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/DiscardChangesOperation.java','AABOBn///84='),(64,5,'2011-10-17 14:15:52','P',0,'Why do you throw away these tests? Shouldn\'t we have the same tests for DirCacheCheckout?',NULL,4355,2,'org.eclipse.jgit.test/exttst/org/eclipse/jgit/lib/T0007_GitIndexTest.java','AABOBn///2g='),(820,8,'2011-10-17 21:22:12','P',0,'Again, not sure. Anyone using it now sees the deprecated warnings because you cannot use the method without using the deprecated type.','AABOBn///2c=',4355,2,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java','AABOBn///1Q='),(820,5,'2011-10-17 14:15:52','P',0,'Can we really do this? That\'s an severe API change and will break many users of Repository.java. I know, the class GitIndex is marked is deprecated for a long time now ... but can we remove deprecated code belonging to our API inside a release - or do we have to wait for the next major release.',NULL,4355,2,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java','AABOBn///2c='),(245,8,'2011-10-17 21:22:12','P',0,'Doubtful, but it depends on GitIndex so it cannot exist without it.','AABOBn///2Y=',4355,2,'org.eclipse.jgit/src/org/eclipse/jgit/lib/TreeEntry.java','AABOBn///1U='),(245,5,'2011-10-17 14:15:52','P',0,'Again: are we allowed to remove public methods inside a release?',NULL,4355,2,'org.eclipse.jgit/src/org/eclipse/jgit/lib/TreeEntry.java','AABOBn///2Y='),(248,5,'2011-10-17 14:49:44','P',1,'That code doesn\'t compile with JDK 1.5. String.getBytes(Charset) came with 1.6.\nI was wondering why Hudson was letting this through - but our hudson builds are also configured to run with 1.6',NULL,4356,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOBn///2Q='),(248,8,'2011-10-18 17:55:20','P',1,'Done','AABOBn///2Q=',4356,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOBn///y4='),(874,5,'2011-10-21 07:03:04','P',1,'I agree - it\'s currently correct.','AABOBn///vQ=',4356,4,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOBn///o0='),(874,5,'2011-10-19 22:46:51','P',1,'why did you change indention here? It was correct in your previous patchset.',NULL,4356,4,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOBn///v0='),(874,8,'2011-10-20 06:45:58','P',1,'It was not correct,  it was indented two tabs too much. The\nnew indentation is the correct one. Unfortunately I also\nre-formatted the wrongly indented part, hence the different\nline-breaks and whitespace changes.','AABOBn///v0=',4356,4,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOBn///vQ='),(432,8,'2011-11-04 00:16:36','P',1,'Pushed the cleanup as a separate patch','AABOB3///ys=',4356,5,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOB3///Ts='),(432,8,'2011-10-30 20:43:59','P',1,'According to blame I did not change anything here.','AABOBn///o4=',4356,5,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOB3///ys='),(432,5,'2011-10-21 07:02:56','P',1,'Half of the table is indented purely with spaces (up to case 10), cases 11-17 use tabs only, and 18-19 use a mixture. I sugguest to use pure spaces here.',NULL,4356,5,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOBn///o4='),(176,5,'2011-10-17 08:56:58','P',1,'I fully agree - if we reset hard to a commit which don\'t contains something for a path which was in index - then we should remove the index entry.',NULL,4357,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOBn///3k='),(161,5,'2011-10-17 08:56:58','P',1,'why testXXX...?  I would remove the 3 X.',NULL,4357,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOBn///3o='),(11,5,'2011-10-17 10:50:11','P',1,'I like this change. If you would change the commit message (remove RFC, better description) we can accept it.',NULL,4357,4,'/COMMIT_MSG','AABOBn///2w='),(358,5,'2011-10-17 09:01:43','P',1,'Good catch, I also think it\'s a bug to keep the index entry. I reproduced with native git and see that it removes index entries in such cases:\n\n>echo 1 > a\n>git add a\n>git commit -m first\n[master (root-commit) 90b3be1] first\n 1 files changed, 1 insertions(+), 0 deletions(-)\n create mode 100644 a\n>echo 2 > b\n>git add b\n>git commit -m second\n[master 67f8760] second\n 1 files changed, 1 insertions(+), 0 deletions(-)\n create mode 100644 b\n>git ls-files -s\n100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0       a\n100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0       b\n>echo 3 > b\n>git add b\n>git ls-files -s\n100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0       a\n100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0       b\n>rm b\n>git read-tree -m -u HEAD~\n>git ls-files -s\n100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0       a',NULL,4358,1,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOBn///3c='),(9,5,'2011-10-17 10:47:02','P',1,'This change is good. Robin, could you update the commit message (remove RFC, better description) so we can accept it.',NULL,4358,2,'/COMMIT_MSG','AABOBn///24='),(161,5,'2011-10-18 08:39:48','P',1,'good test, but why is it called testXXX... ?',NULL,4358,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOBn///zQ='),(1,4,'2011-10-18 21:24:55','d',1,'why do we need this change ?',NULL,4364,1,'org.eclipse.jgit.iplog/.settings/org.eclipse.jdt.core.prefs','AABOBn///yM='),(32,4,'2011-10-18 21:26:25','d',1,'strange only few lines changed but the diff shown in Gerrit is much bigger ??',NULL,4364,1,'org.eclipse.jgit.junit.http/.project','AABOBn///yI='),(9,8,'2011-10-19 21:51:25','P',1,'no hyphen',NULL,4366,1,'/COMMIT_MSG','AABOBn///wc='),(10,8,'2011-10-19 21:51:25','P',1,'The goal...',NULL,4366,1,'/COMMIT_MSG','AABOBn///wg='),(16,5,'2011-10-19 22:37:18','P',1,'removed it!','AABOBn///wo=',4366,1,'/COMMIT_MSG','AABOBn///wI='),(13,8,'2011-10-19 21:51:25','P',1,'Refererence it\'s change id',NULL,4366,1,'/COMMIT_MSG','AABOBn///wk='),(13,5,'2011-10-19 22:37:18','P',1,'Done','AABOBn///wk=',4366,1,'/COMMIT_MSG','AABOBn///wM='),(16,8,'2011-10-19 21:51:25','P',1,'Change: ??',NULL,4366,1,'/COMMIT_MSG','AABOBn///wo='),(10,5,'2011-10-19 22:37:18','P',1,'Done','AABOBn///wg=',4366,1,'/COMMIT_MSG','AABOBn///wQ='),(9,5,'2011-10-19 22:37:18','P',1,'Done','AABOBn///wc=',4366,1,'/COMMIT_MSG','AABOBn///wU='),(7,8,'2011-10-20 22:18:15','P',1,'Could you improve the subject line? Let\'s assume that if this passes code review, it\'s a proved typo.',NULL,4367,1,'/COMMIT_MSG','AABOBn///p4='),(270,8,'2011-10-20 22:13:34','P',1,'Seems plausible',NULL,4367,1,'org.eclipse.jgit/src/org/eclipse/jgit/diff/RenameDetector.java','AABOBn///qE='),(118,4,'2011-10-27 22:14:57','P',1,'remove commented out code',NULL,4368,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/blame/BlameGeneratorTest.java','AABOBn///JA='),(51,4,'2011-10-24 09:27:06','P',1,'style nit: trailing whitespace',NULL,4369,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RenameCallback.java','AABOBn///dM='),(2,4,'2011-10-24 20:15:02','P',1,'did you really want to include this comment ? \n\nInstead add the EDL license header with your copyright like you did in RenameCallback.java',NULL,4369,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevWalkFollowFilterTest.java','AABOBn///bg='),(2,130,'2011-10-25 07:24:11','d',1,'Ahem, of course not. Thanks for noticing this.','AABOBn///bg=',4369,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevWalkFollowFilterTest.java','AABOBn///Zw='),(413,8,'2011-12-17 23:41:25','P',1,'This method might be called a lot and \\r only occurs very rarely,\nso check whether it contains a \\r before invoking the whole regexp machinery.',NULL,4376,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevCommit.java','AABODH///jI='),(11,8,'2011-10-22 23:53:46','P',1,'Done.\n\nIf you have a better name than localelocal, plase share.','AABOBn///jg=',4381,2,'/COMMIT_MSG','AABOBn///ik='),(11,4,'2011-10-22 23:36:43','P',1,'I think you meant s/localelocale/localelocal/',NULL,4381,2,'/COMMIT_MSG','AABOBn///jg='),(1,8,'2011-10-22 23:53:46','P',1,'Done','AABOBn///jw=',4381,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/util/GitDateFormatterTest.java','AABOBn///iY='),(1,4,'2011-10-22 23:36:43','P',1,'missing license header',NULL,4381,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/util/GitDateFormatterTest.java','AABOBn///jw='),(1,8,'2011-10-22 23:53:46','P',1,'Done','AABOBn///j4=',4381,2,'org.eclipse.jgit/src/org/eclipse/jgit/util/GitDateFormatter.java','AABOBn///iU='),(1,4,'2011-10-22 23:36:43','P',1,'missing license header',NULL,4381,2,'org.eclipse.jgit/src/org/eclipse/jgit/util/GitDateFormatter.java','AABOBn///j4='),(38,4,'2011-10-22 23:36:43','P',1,'s/locale/local/',NULL,4381,2,'org.eclipse.jgit/src/org/eclipse/jgit/util/GitDateFormatter.java','AABOBn///jY='),(186,8,'2011-10-24 21:45:33','P',1,'yes','AABOBn///cU=',4382,4,'org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties','AABOBn///bU='),(186,5,'2011-10-24 12:54:42','P',1,'\"... or locale or localelocal ....\" - shouldn\'t the first \" or\" be a \", \"?',NULL,4382,4,'org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties','AABOBn///cU='),(186,4,'2011-10-24 22:19:30','P',1,'looks like there are 2 blanks in front of \"locale or localelocal\"',NULL,4382,5,'org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties','AABOBn///aA='),(440,5,'2011-10-24 08:54:28','P',1,'thanks, done','AABOBn///fk=',4385,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java','AABOBn///eE='),(440,63,'2011-10-23 12:48:23','P',1,'Using Collections.emptyList() will remove the need for the @SuppressWarnings annotation.',NULL,4385,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java','AABOBn///fk='),(13,44,'2011-10-25 15:48:40','P',1,'white space error',NULL,4385,2,'/COMMIT_MSG','AABOBn///Xw='),(438,44,'2011-10-25 08:57:18','P',1,'I think a Set should be returned here. This improves performance on clint side.',NULL,4385,2,'org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java','AABOBn///ZU='),(437,5,'2011-10-26 12:01:29','P',1,'Done','AABOBn///Vk=',4385,3,'org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java','AABOBn///VI='),(437,4,'2011-10-25 22:11:38','P',1,'this change breaks a couple of tests since they do not expect a set',NULL,4385,3,'org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java','AABOBn///Vk='),(152,4,'2011-10-29 22:11:10','P',1,'stlye nit: could be formatted more nicely',NULL,4385,4,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/IndexDiffFilter.java','AABOB3///2A='),(151,4,'2011-10-29 22:11:10','P',1,'typo: s/now/know/',NULL,4385,4,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/IndexDiffFilter.java','AABOB3///2E='),(152,5,'2011-11-09 07:44:18','P',1,'Done','AABOB3///2A=',4385,4,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/IndexDiffFilter.java','AABOCH///cM='),(151,5,'2011-11-09 07:44:18','P',1,'Done','AABOB3///2E=',4385,4,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/IndexDiffFilter.java','AABOCH///cQ='),(38,44,'2011-10-28 08:41:46','P',1,'I think we should do replaceAll(CR, LF) even if a single CR should not occur. Accidents can always happen that produce garbage.','AABOBn///KU=',4386,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/Utils.java','AABOB3////4='),(19,4,'2011-10-27 21:09:13','P',1,'yeah, you are right','AABOBn///MQ=',4386,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/Utils.java','AABOBn///Kg='),(38,4,'2011-10-27 21:09:13','P',1,'maybe we can ignore Mac OS 9, its latest version was published end of 2001, so probably the only chance to see this today is in some old repos (e.g. CVS) which have been migrated to git','AABOBn///MM=',4386,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/Utils.java','AABOBn///KU='),(38,8,'2011-10-27 19:28:37','P',1,'Who uses CR as a line delimiter nowadays?',NULL,4386,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/Utils.java','AABOBn///MM='),(19,8,'2011-10-27 19:28:37','P',1,'I agree with Jens. It would also create an unecessary dependency to the implementation. A test should not have a dependency on the implementation other than testing it.','AABOBn///NE=',4386,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/Utils.java','AABOBn///MQ='),(19,44,'2011-10-27 14:32:45','P',1,'What would be the benefit? It becomes harder to construct the test strings.','AABOBn///Qk=',4386,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/Utils.java','AABOBn///NE='),(19,4,'2011-10-26 22:15:14','P',1,'why don\'t you use these constants in UtilTest ?',NULL,4386,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/Utils.java','AABOBn///Qk='),(39,8,'2011-10-29 17:51:54','P',1,'Still, is CR (only) a real issue or not? I don\'t think it is possible\nto run any remotely recent java or Git on that old Macs.\n\nIf so, only one replace would do the job more efficiently. After all\nthis is a utility that may be called from anywhere. I\'m not sure having constants for CRLF helps readbility here,\n\ns.replaceAll(\"\\r\\n?\",\"\\n\"); // replace any CRLFs or CRs\n\nI\'d prefer the one blow because if someone actually do get CR only, into their messages I\'d like to know and understand. Fixing\nhypotetical errors are often a source of unnecessary bugs, hard-to-maintain code and bad performance.\n\ns.replaceAll(\"\\r\\n\",\"\\n\"); // replace any CRLFs',NULL,4386,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/Utils.java','AABOB3///10='),(39,4,'2011-10-29 22:36:13','P',1,'I agree to Robin\'s proposal','AABOB3///10=',4386,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/Utils.java','AABOB3///1M='),(39,44,'2011-11-25 15:26:27','P',1,'I re-implemeted normalizeLineEndings without using the slow replaceAll method (supports regular expressions).\nThe new implementation also cares for single \\r characters, but without additional cost. As you can see in the related bug it \"somehow\" happened that a single \\r made it into the commit message. So I\'d like to keep removing single \\r characters.','AABOB3///10=',4386,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/Utils.java','AABOCX///KA='),(16,4,'2011-10-28 08:47:21','P',1,'Helpers sounds a bit too generic. We already have  \n\n org.eclipse.egit.core.internal.util.ResourceUtil\n\nI think your helper method should be moved there.',NULL,4392,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/Helpers.java','AABOB3////8='),(29,49,'2011-10-28 09:38:22','P',1,'Done','AABOBn///Ic=',4392,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/Helpers.java','AABOB3///+g='),(23,49,'2011-10-28 09:38:22','P',1,'Done','AABOBn///Ig=',4392,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/Helpers.java','AABOB3///+k='),(16,49,'2011-10-28 09:38:22','P',1,'Done','AABOB3////8=',4392,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/Helpers.java','AABOB3///+o='),(29,4,'2011-10-28 08:47:21','P',1,'typo: s/isNonWorksapce/isNonWorkspace/',NULL,4392,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/Helpers.java','AABOBn///Ic='),(23,4,'2011-10-28 08:47:21','P',1,'better: Determine if given resource is imported into workspace or not',NULL,4392,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/Helpers.java','AABOBn///Ig='),(71,4,'2011-10-28 08:47:21','P',1,'typo: s/isNonWorksapce/isNonWorkspace/',NULL,4392,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTree.java','AABOB3////w='),(71,49,'2011-10-28 09:38:22','P',1,'Done','AABOB3////w=',4392,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTree.java','AABOB3///+c='),(84,4,'2011-10-28 08:47:21','P',1,'again same typo',NULL,4392,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/action/GitOpenInCompareAction.java','AABOB3////s='),(84,49,'2011-10-28 09:38:22','P',1,'Done','AABOB3////s=',4392,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/action/GitOpenInCompareAction.java','AABOB3///+Y='),(7,4,'2011-10-28 21:13:37','P',1,'this text doesn\'t fit anymore to what this commit is changing as you don\'t add the Helpers class anymore',NULL,4392,2,'/COMMIT_MSG','AABOB3///5o='),(359,4,'2011-11-20 23:13:05','P',1,'typo s/shouldn\'t been change/shouldn\'t be changed/\n\nor (maybe easier to understand): \"should be unchanged in working tree\"',NULL,4395,3,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/SynchronizeViewGitChangeSetModelTest.java','AABOCX///aQ='),(362,4,'2011-11-20 23:13:05','P',1,'I get a boxing warning here',NULL,4395,3,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/SynchronizeViewGitChangeSetModelTest.java','AABOCX///aU='),(336,4,'2011-11-20 23:13:05','P',1,'I get a boxing warning here',NULL,4395,3,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/SynchronizeViewGitChangeSetModelTest.java','AABOCX///aY='),(362,49,'2011-11-21 21:19:23','P',1,'Done','AABOCX///aU=',4395,3,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/SynchronizeViewGitChangeSetModelTest.java','AABOCX///Wc='),(336,49,'2011-11-21 21:19:23','P',1,'Done','AABOCX///aY=',4395,3,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/SynchronizeViewGitChangeSetModelTest.java','AABOCX///Wg='),(359,49,'2011-11-21 21:19:23','P',1,'Done','AABOCX///aQ=',4395,3,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/synchronize/SynchronizeViewGitChangeSetModelTest.java','AABOCX///WY='),(193,44,'2011-10-24 14:44:05','P',1,'Done','AABOBn///cc=',4400,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBn///cA='),(193,5,'2011-10-24 12:45:24','P',1,'I would use repository.getWorktree(). That leads you directly to the directory you want (without the getParentFile()). It would also throw an appropriate exception instead of displaying wrong data when called on a bare repo.',NULL,4400,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBn///cc='),(188,4,'2011-10-24 20:30:32','P',1,'could you prepend \\n so that the timing is not at the end of the line to avoid the need for horizontal scrolling when reading the trace output ?',NULL,4400,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBn///bQ='),(188,44,'2011-10-25 08:23:13','P',1,'Done','AABOBn///bQ=',4400,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOBn///Zg='),(1491,4,'2011-10-27 20:58:58','P',1,'Done','AABOBn///Nc=',4401,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java','AABOBn///Ko='),(1490,4,'2011-10-27 20:58:58','P',1,'Done','AABOBn///Ng=',4401,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java','AABOBn///Ks='),(1491,1,'2011-10-27 14:19:38','P',1,'(optional) i wouldn\'t bother with the [] around the section.',NULL,4401,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java','AABOBn///Nc='),(1490,1,'2011-10-27 14:19:38','P',1,'typo on empty.',NULL,4401,1,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java','AABOBn///Ng='),(50,4,'2011-11-05 22:36:18','P',1,'typo s/patter/pattern/',NULL,4402,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/dto/GitSynchronizeData.java','AABOBn///RU='),(50,49,'2011-11-06 13:56:47','P',1,'Done','AABOBn///RU=',4402,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/dto/GitSynchronizeData.java','AABOCH///qQ='),(50,49,'2011-11-06 13:56:47','P',1,'Done','AABOCH///rU=',4402,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/dto/GitSynchronizeData.java','AABOCH///qU='),(50,8,'2011-11-05 22:22:02','P',1,'spelling error. Don\'t repeat the code in comments. Explain what it\'s for.',NULL,4402,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/dto/GitSynchronizeData.java','AABOCH///rU='),(110,49,'2011-11-06 13:56:47','P',1,'Done','AABOCH///rc=',4402,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWorkspaceActionHandler.java','AABOCH///qE='),(107,49,'2011-11-06 13:56:47','P',1,'Done','AABOCH///rg=',4402,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWorkspaceActionHandler.java','AABOCH///qI='),(105,49,'2011-11-06 13:56:47','P',1,'Done','AABOCH///rk=',4402,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWorkspaceActionHandler.java','AABOCH///qM='),(110,63,'2011-11-05 11:09:31','P',1,'java.lang.NullPointerException\n    at org.eclipse.egit.ui.internal.actions.SynchronizeWorkspaceActionHandler.getDstRef(SynchronizeWorkspaceActionHandler.java:110)\n    at org.eclipse.egit.ui.internal.actions.SynchronizeWorkspaceActionHandler.execute(SynchronizeWorkspaceActionHandler.java:62)\n    at org.eclipse.egit.ui.internal.actions.RepositoryAction.run(RepositoryAction.java:86)',NULL,4402,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWorkspaceActionHandler.java','AABOCH///rc='),(107,63,'2011-11-05 11:09:31','P',1,'May be null if you create a branch with no merge strategy.',NULL,4402,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWorkspaceActionHandler.java','AABOCH///rg='),(105,63,'2011-11-05 11:09:31','P',1,'May be null if you create a branch with no merge strategy.',NULL,4402,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWorkspaceActionHandler.java','AABOCH///rk='),(49,49,'2011-11-07 17:05:08','P',1,'Done','AABOCH///oQ=',4402,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/dto/GitSynchronizeData.java','AABOCH///nQ='),(49,4,'2011-11-07 14:08:39','P',1,'typo(as \"strings\" is plural): s/starts/start/',NULL,4402,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/dto/GitSynchronizeData.java','AABOCH///oQ='),(114,49,'2011-11-21 21:14:28','P',1,'True, I\'ll just remove refs/heads/ prefix from mergeBranchName and it should work for all cases','AABOCX///Z8=',4402,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWorkspaceActionHandler.java','AABOCX///Ww='),(114,4,'2011-11-20 23:45:59','P',1,'I think this is only correct for branches with only one path segment, but for hierarchical branch names like \"refs/heads/feature/xyz\" it yields wrong results, for this example you would end up with mergeBranchName = \"/xyz\" instead of \"/feature/xyz\".\n\nAlso the variable name is a bit misleading as this always starts with a leading slash which isn\'t common for a branch name.',NULL,4402,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/SynchronizeWorkspaceActionHandler.java','AABOCX///Z8='),(74,63,'2011-10-25 13:49:13','P',1,'This assumption is invalid, resource change events can come from multiple projects spread across multiple repositories and also projects that aren\'t even under version control.',NULL,4403,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Y0='),(69,63,'2011-10-25 13:49:13','P',1,'IResourceDelta.CONTENT is not a kind constant, as illustrated by the value of ALL_WITH_PHANTOMS.',NULL,4403,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Y4='),(75,49,'2011-10-25 14:33:57','P',1,'Done','AABOBn///Yw=',4403,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Yc='),(74,49,'2011-10-25 14:33:57','P',1,'Done','AABOBn///Y0=',4403,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Yg='),(69,49,'2011-10-25 14:33:57','P',1,'Done','AABOBn///Y4=',4403,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Yk='),(75,63,'2011-10-25 13:49:13','P',1,'This means that the first repository of a valid resource that is encountered will be reused for all other resources iterated over afterwards even if the resource being iterated over is a) versioned under a different Git repository or b) not even under version control.',NULL,4403,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Yw='),(71,49,'2011-10-25 18:33:33','P',1,'No I don\'t intent to be more explicit here, just think that braeakpoint events will be filtered out by this mask.','AABOBn///YE=',4403,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///X0='),(71,63,'2011-10-25 15:15:25','P',1,'If you check the documentation of getAffectedChildren(), sending in a mask value of ADDED | CHANGED | REMOVED essentially makes a  call to getAffectedChildren() and getAffectedChildren(int) identical. Perhaps your intent was to make this more explicit to people reading the code?',NULL,4403,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///YE='),(147,49,'2011-10-26 15:01:02','P',1,'I can agree with this approach and will revert this change in new patch set','AABOBn///Us=',4403,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Ug='),(2,49,'2011-10-26 15:01:02','P',1,'Done','AABOBn///Uw=',4403,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Uk='),(147,63,'2011-10-26 13:28:06','P',1,'How can I test and verify that this is making a difference? If we are not sure this code change is gaining us anything then I don\'t think we should do anything.','AABOBn///Wg=',4403,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Us='),(2,63,'2011-10-26 13:28:06','P',1,'Please update the copyright header.',NULL,4403,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Uw='),(147,49,'2011-10-25 20:16:09','P',1,'I hope this will reduce number of traversals hat wee need to visit during refresh process','AABOBn///Wo=',4403,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Wg='),(147,63,'2011-10-25 20:06:50','P',1,'The original code didn\'t use resource mappings. What does this buy us?',NULL,4403,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOBn///Wo='),(247,44,'2011-11-08 16:38:59','P',1,'Done','AABOCH///rI=',4406,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOCH///g8='),(347,44,'2011-11-08 16:38:59','P',1,'Let\'s do this in a separate change.','AABOCH///rE=',4406,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOCH///hA='),(347,8,'2011-11-05 23:10:38','P',1,'Shouldn\'t this be fixed too? IsIgnored should not  be checked if the resource is tracked despite the ignore rules',NULL,4406,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOCH///rE='),(247,8,'2011-11-05 23:10:38','P',1,'Integer.valueOf is preferrable',NULL,4406,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOCH///rI='),(52,44,'2011-10-27 16:12:30','P',1,'The test failure occurs sometimes and is not related to this change.','AABOBn///N8=',4408,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/AdaptableFileTreeIterator.java','AABOBn///M8='),(52,5,'2011-10-27 13:14:36','P',1,'What could explain the failing test we currently have? One hint: your change of course adds the execution of workingTreeIterator.initRootIterator() - that\'s what we want. But It also changes that we use the use repo.getFS() instead of FS.DETECTED.',NULL,4408,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/AdaptableFileTreeIterator.java','AABOBn///N8='),(158,5,'2011-10-28 08:52:37','P',1,'I understand the first two paragraphs, tanks. What\'s not clear to me your idea in the third paragraph. ObjectInserter already writes to temp files and renames them. Your change aims at deferring the rename until flush() (or until we hit some limit on number of modified files). \nUntil we have mass-renames from the os or java this will not have a performance gain by that, or? Your proposed change increase the propability to have a consistent object store in case of buggy or crashing clients.','AABOBn///Ns=',4412,2,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOB3////Y='),(161,1,'2011-10-29 01:14:25','P',1,'Yes, good point about passing both inserter and reader by constructor. Not sure its worth that API change, we could also pass these by setters before they are used.','AABOBn///II=',4412,2,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOB3///28='),(158,1,'2011-10-29 01:14:25','P',1,'My third paragraph idea about deferring the renames was one suggestion on how to make it easier to find places like this, where the developer forgot the flush. You would quickly have a corrupt repository, either in a unit test, or on your workstation. :-)','AABOB3////Y=',4412,2,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOB3///3A='),(161,5,'2011-10-28 08:52:37','P',1,'Should be easy to pass an inserter to the Merger constructor. I propose to add the needed ObjectReader also.','AABOBn///No=',4412,2,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOBn///II='),(161,1,'2011-10-27 14:14:35','P',1,'I think making the inserter here in Merger was a mistake. We should try to share the inserter with the caller who wants to create a commit object. That way on the DFS system we write a single pack with the new blobs/trees/commits at once, rather than 2 packs (one with blobs/trees from merger, the other with a single commit by itself).\n\nThis would also give the ODI a chance to consider putting that commit into the pack if it chose to do the other inserts as part of a pack.',NULL,4412,2,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOBn///No='),(158,1,'2011-10-27 14:14:35','P',1,'True, the traditional ObjectDirectoryInserter flush() is currently a nop. This may not always hold.\n\nOne idea Junio Hamano has considered is writing objects directly to pack files, rather than loose to the filesystem. I\'m considering the same thing, if we are getting a bunch of smaller objects through the inserter, we may want to use an approach similar to the DFS code where its buffered in a 1 MB buffer in RAM and then flushed out to a pack file once they were all processed. On some filesystems this may be faster when there are more than say 4 objects coming through the inserter (since we have to make the pack-*.pack and pack-*.idx its at least as expensive as 2 objects). This is especially true if fsync is enabled and a lot of objects are being written, because we can stream all of the objects into the pack and defer the fsync calls until everything is written, rather than fsync on each new object. This gives the host OS a better chance to combine those writes together into fewer disk IO operations, and even when it can\'t, at least the data was given off to the host with fewer interleaved fsync calls, giving fewer stalls to the application.\n\nSo, long story short, ObjectDirectoryInserter reserves the right to make flush required for correct operation. Actually, I was considering this morning making a change to ODI to have it write the temporary files during insert(), but store a map of ObjectId to temporary file name inside of the ODI and defer the renames until flush. This way the local filesystem behaves similar to the DFS variant, where you must call flush or risk having your object disappear. This would make it easier for JGit developers to find broken code, as broken code would be more likely to cause Git repository corruption on the commonly supported storage.','AABOBn///OQ=',4412,2,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOBn///Ns='),(158,5,'2011-10-27 12:23:31','P',1,'Of course! A questions for my understanding: when we are running JGit on top of traditional filesystem we don\'t need this, right? For the only relevant inserter ObjectDirectoryInserter flush() is a nop.',NULL,4412,2,'org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java','AABOBn///OQ='),(163,63,'2011-10-28 21:55:33','d',1,'Good catch, Dariusz, thanks.','AABOB3///6Y=',4417,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTreeSubscriber.java','AABOB3///44='),(161,63,'2011-10-28 21:55:26','d',1,'Null check removed.','AABOB3///6w=',4417,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTreeSubscriber.java','AABOB3///48='),(143,63,'2011-10-28 21:55:17','d',1,'No, that was a mistake, thanks.','AABOB3///60=',4417,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTreeSubscriber.java','AABOB3///5A='),(143,49,'2011-10-28 20:52:21','P',1,'is this really needed here ?',NULL,4417,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTreeSubscriber.java','AABOB3///60='),(161,49,'2011-10-28 20:52:21','P',1,'IMHO this null check here isn\'t really needed\n\nstyle nit, you can remove here brackets',NULL,4417,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTreeSubscriber.java','AABOB3///6w='),(163,49,'2011-10-28 20:52:21','P',1,'getRepoRelativePath() can return an empty string, in such situation you\'ll get an \"IllegalArgumentException: Empty path not permitted\" from PathFilter.create()',NULL,4417,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTreeSubscriber.java','AABOB3///6Y='),(162,63,'2011-10-30 13:08:59','P',1,'Done','AABOB3///4k=',4417,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTreeSubscriber.java','AABOB3///0k='),(162,49,'2011-10-30 10:13:01','P',1,'why don\'t you use:\npath.length() == 0',NULL,4417,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitResourceVariantTreeSubscriber.java','AABOB3///4k='),(12,44,'2011-10-28 08:55:36','P',1,'Done','AABOBn///J8=',4418,1,'/COMMIT_MSG','AABOB3////U='),(12,4,'2011-10-27 21:27:27','P',1,'typo: s/gived/gives/',NULL,4418,1,'/COMMIT_MSG','AABOBn///J8='),(123,44,'2011-10-28 08:55:36','P',1,'Done','AABOBn///J0=',4418,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/FileChecker.java','AABOB3////I='),(96,44,'2011-10-28 08:55:36','P',1,'Done','AABOBn///J4=',4418,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/FileChecker.java','AABOB3////M='),(123,4,'2011-10-27 21:27:27','P',1,'typo: s/reposrted/reported/',NULL,4418,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/FileChecker.java','AABOBn///J0='),(96,4,'2011-10-27 21:27:27','P',1,'typo: s/described/describes/',NULL,4418,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/FileChecker.java','AABOBn///J4='),(273,44,'2011-10-28 08:55:36','P',1,'Done','AABOBn///Jw=',4418,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOB3////E='),(273,4,'2011-10-27 21:27:27','P',1,'typo: s/Plaese/Please/',NULL,4418,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOBn///Jw='),(7,4,'2011-10-28 21:10:01','P',1,'style nits: \n- trailing whitespace \n- we don\'t want the bug number in the commit message header but in a footer immediately preceding the Change-Id footer in the last paragraph of the commit message as specified in [1].\n\n[1] http://wiki.eclipse.org/EGit/Contributor_Guide#Commit_message_guidelines',NULL,4426,1,'/COMMIT_MSG','AABOB3///5w='),(36,4,'2011-10-29 22:19:21','P',1,'I tried to use getDateTimeInstance() instead, but I still get US date formatting and 12 hour time with AM/PM instead of 24 hour time format which I defined in system preference','AABOB3///1o=',4426,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GraphLabelProvider.java','AABOB3///1c='),(36,8,'2011-10-29 21:56:53','P',1,'I think it sort respect the settings, but it depends on the variant you request. getDateTimeInstance() is better.','AABOB3///54=',4426,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GraphLabelProvider.java','AABOB3///1o='),(36,4,'2011-10-28 21:10:01','P',1,'I tried this on Mac OS X 10.6.8 with Language set to English but German date format. It seems the German date format set in Mac System Preferences isn\'t respected in Eclipse, I always get short EN_us date format in the History View when this change is used.',NULL,4426,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GraphLabelProvider.java','AABOB3///54='),(36,8,'2011-10-31 21:35:12','P',1,'Seems java doesn\'t support en_DE either, stupid thing...','AABOB3///1c=',4426,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GraphLabelProvider.java','AABOB3///vU='),(9,208,'2011-10-28 20:23:26','P',1,'Also, this POM is for the plain Java jar build only which should be more specific about dependencies since we currently only test against the specific release of Gson and Apache HttpComponents available in Orbit.','AABOB3///7M=',4434,2,'/COMMIT_MSG','AABOB3///68='),(9,208,'2011-10-28 20:17:07','P',1,'I was under a different impression after reading this issue: http://jira.codehaus.org/browse/MNG-3092','AABOB3///7U=',4434,2,'/COMMIT_MSG','AABOB3///7M='),(9,4,'2011-10-28 20:09:43','P',1,'You will only get SNAPSHOT versions from remote repositories when you enabled them explicitly in the corresponding <repository> configuration [1].\n\n[1] see 3.3.1 in http://sonatype.com/books/mvnref-book/reference/pom-relationships-sect-pom-syntax.html\n\n\"As a default setting, Maven will not check for SNAPSHOT releases on remote repositories. To depend on SNAPSHOT releases, users must explicitly enable the ability to download snapshots using a repository or pluginRepository element in the POM.\"\n\n\n <repository>\n    <id>codehausSnapshots</id> \n    <name>Codehaus Snapshots</name>\n    <snapshots>\n       <enabled>true</enabled>\n    </snapshots>\n ...',NULL,4434,2,'/COMMIT_MSG','AABOB3///7U='),(9,11,'2011-10-30 16:19:20','P',1,'Yes, Maven will not download snapshots if you have no snapshots/enabled=true. But in Maven we have local repository that\'s shared between many different projects. If it has any -SNAPSHOTs that satisfy a given version range - Maven may pick such version up and voila, you have unreproducibe build.','AABOB3///7U=',4434,2,'/COMMIT_MSG','AABOB3///zI='),(104,63,'2011-10-30 23:02:58','P',1,'This seems to be causing NPEs on shutdown for me.',NULL,4444,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///x0='),(134,49,'2011-10-31 09:25:26','P',1,'Done','AABOB3///xw=',4444,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///xk='),(104,49,'2011-10-31 09:25:26','P',1,'Done','AABOB3///x0=',4444,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///xo='),(134,63,'2011-10-30 23:02:58','P',1,'Instead of using the array of ResourceTraversals, perhaps we could instead use the collection of changed file resources from the diff data if available (check for null return)? This would significantly reduce the number of resources that need to be iterated over.\n\nRight now the refresh operation for me takes about 200ms when saving a file in the JGit repository. If the refresh is only on the one target file then the time is reduced to less than 10ms.',NULL,4444,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///xw='),(141,63,'2011-10-31 10:43:52','P',1,'A null check is needed also. An NPE will be thrown if reopening a very large project.\n\njava.lang.NullPointerException\n	at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext.handleResourceChange(GitSubscriberMergeContext.java:141)\n	at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext.access$1(GitSubscriberMergeContext.java:137)\n	at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext$2.indexDiffChanged(GitSubscriberMergeContext.java:69)\n	at org.eclipse.egit.core.internal.indexdiff.IndexDiffCache.notifyListeners(IndexDiffCache.java:94)\n	at org.eclipse.egit.core.internal.indexdiff.IndexDiffCache.access$0(IndexDiffCache.java:86)\n	at org.eclipse.egit.core.internal.indexdiff.IndexDiffCache$1.indexDiffChanged(IndexDiffCache.java:81)\n	at org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry.notifyListeners(IndexDiffCacheEntry.java:313)\n	at org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry.access$6(IndexDiffCacheEntry.java:306)\n	at org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry$3.run(IndexDiffCacheEntry.java:171)\n	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)',NULL,4444,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///w0='),(110,63,'2011-10-31 10:43:52','P',1,'NPE is still possible if getDefault() returns null.\n\nCaused by: java.lang.NullPointerException\n	at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext.dispose(GitSubscriberMergeContext.java:110)\n	at org.eclipse.team.ui.synchronize.ModelSynchronizeParticipant.dispose(ModelSynchronizeParticipant.java:253)\n	at org.eclipse.team.internal.ui.synchronize.SynchronizeManager.dispose(SynchronizeManager.java:574)\n	at org.eclipse.team.internal.ui.TeamUIPlugin.stop(TeamUIPlugin.java:250)\n	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:771)\n	at java.security.AccessController.doPrivileged(Native Method)\n	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:764)',NULL,4444,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///wo='),(145,49,'2011-11-01 04:51:57','P',1,'Done','AABOB3///uw=',4444,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///tk='),(130,49,'2011-11-01 04:51:57','P',1,'Done','AABOB3///uo=',4444,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///to='),(70,49,'2011-11-01 04:51:57','P',1,'Done','AABOB3///u0=',4444,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///ts='),(68,49,'2011-11-01 04:51:57','P',1,'Done','AABOB3///u4=',4444,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///tw='),(70,63,'2011-10-31 23:23:16','P',1,'Need null check here. getMapping(IResource) can return null for inaccessible projects (closed).\n\njava.lang.NullPointerException\n	at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext$2.resourceChanged(GitSubscriberMergeContext.java:70)\n	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291)\n	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)\n	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)\n	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)\n	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:395)\n	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1530)\n	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:45)\n	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)',NULL,4444,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///u0='),(68,63,'2011-10-31 23:23:16','P',1,'Need null check here, getDelta() may return null per the API.\n\njava.lang.NullPointerException\n	at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext$2.resourceChanged(GitSubscriberMergeContext.java:68)\n	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291)\n	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)\n	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)\n	at org.eclipse.core.internal.events.NotificationManager.handleEvent(NotificationManager.java:249)\n	at org.eclipse.core.internal.resources.Workspace.broadcastEvent(Workspace.java:390)\n	at org.eclipse.core.internal.resources.Project.close(Project.java:199)\n	at org.eclipse.ui.actions.CloseResourceAction.invokeOperation(CloseResourceAction.java:129)\n	at org.eclipse.ui.actions.WorkspaceAction.execute(WorkspaceAction.java:164)\n	at org.eclipse.ui.actions.WorkspaceAction$2.runInWorkspace(WorkspaceAction.java:485)\n	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)\n	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)',NULL,4444,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///u4='),(130,63,'2011-10-31 23:23:16','P',1,'The error(String, Throwable) returns an IStatus. We should actually log the error.',NULL,4444,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///uo='),(159,63,'2011-10-31 23:23:16','P',1,'The error(String, Throwable) returns an IStatus. We should actually log the error.',NULL,4444,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///us='),(145,63,'2011-10-31 23:23:16','P',1,'No need to do a null check and isEmpty() every iteration. Should just do it once in the beginning of the method and then decide whether we need to iterate over the data or not.',NULL,4444,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///uw='),(156,49,'2011-11-02 07:07:16','P',1,'you are right ... this is how it is wen I work in a hurry ...','AABOB3///sY=',4444,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///sQ='),(156,63,'2011-11-02 03:03:32','P',1,'This means we return on non-empty collections. I think you mean to return for empty collections.',NULL,4444,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOB3///sY='),(8,208,'2011-11-03 11:56:26','P',1,'Could you use commit messages that describe the changes made?\n\nAn example for this change would be:\n\nDisplay navigation action set only in Git perspective\n\nThe navigation action set is no longer visible by default in all perspectives and is instead added explicitly to the Git Repository Exploring perspective layout.',NULL,4454,1,'/COMMIT_MSG','AABOCH////k='),(7,208,'2011-11-03 12:13:24','P',1,'Apologies if my first comment wasn\'t clear, but the first line of the commit message should be a concise summary of the changes made.\n\nIf you were fixing a freeze you wouldn\'t describe your fix as \"EGit must not must freeze\".  Instead you would write something like \"Remove deadlock during clones of multiple repositories\".\n\nI\'m really not trying to be picky about this, it is just about a general level of consistency and readability when other developers and users are looking at the changes being made.\n\nI do appreciate you contributing this change and I believe that the fix you submitted should be applied.',NULL,4454,3,'/COMMIT_MSG','AABOCH////Q='),(248,4,'2011-11-03 07:10:31','P',1,'style nit: we don\'t use curly braces around single line blocks',NULL,4528,1,'org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java','AABOB3///Sg='),(7,8,'2011-11-03 21:07:44','P',1,'Improve the spelling of checkout and maybe reprase a little\n\"Allow deletion of multiple branches in the checkout dialog\"',NULL,4533,1,'/COMMIT_MSG','AABOCH///6M='),(7,49,'2011-11-04 11:33:05','P',1,'Done','AABOCH///6M=',4533,1,'/COMMIT_MSG','AABOCH///zg='),(247,8,'2011-11-03 21:07:44','P',1,'else return false?',NULL,4533,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CheckoutDialog.java','AABOCH///6A='),(240,8,'2011-11-03 21:07:44','P',1,'Java has much nicer syntax for for.loops',NULL,4533,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CheckoutDialog.java','AABOCH///6E='),(101,8,'2011-11-03 21:07:44','P',1,'So if I select a tag and a branch I can rename?\n\nRename should be disabled unless we can rename all new/* to old/* or somethng like that. Anyway would be single selection in he dialog... I think\n\nAnd new should not be enabled at all for multiple selection.',NULL,4533,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CheckoutDialog.java','AABOCH///6I='),(247,49,'2011-11-04 11:33:05','P',1,'good catch','AABOCH///6A=',4533,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CheckoutDialog.java','AABOCH///zk='),(101,49,'2011-11-04 11:33:05','P',1,'Rename and new branch operations doesn\'t make sense for multiple selection','AABOCH///6I=',4533,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CheckoutDialog.java','AABOCH///zo='),(240,49,'2011-11-04 11:33:05','P',1,'Java\'s for-each (for with a colon) loop applies only fot Iterable, not Iterator. Therefore I used here this syntax','AABOCH///6E=',4533,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CheckoutDialog.java','AABOCH///zs='),(239,49,'2011-11-06 10:22:02','P',1,'Done','AABOCH///tE=',4533,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CheckoutDialog.java','AABOCH///qs='),(239,4,'2011-11-04 22:04:49','P',1,'how about the following ? I find this easier to read :\n\n while (selIterator.hasNext()) {\n     Object sel = selIterator.next();\n     ...\n }',NULL,4533,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CheckoutDialog.java','AABOCH///tE='),(116,4,'2011-11-03 18:04:51','d',1,'Done','AABOCH///8o=',4534,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitCreatePatchWizard.java','AABOCH///8c='),(116,4,'2011-11-03 18:04:06','P',1,'style nit: we don\'t use curly braces for single line blocks',NULL,4534,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitCreatePatchWizard.java','AABOCH///8o='),(7,8,'2011-11-03 21:31:56','P',1,'What queries will be sped up and how much?',NULL,4537,1,'/COMMIT_MSG','AABOCH///3U='),(7,8,'2011-11-03 21:31:13','P',1,'We don\'t use author tags',NULL,4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///34='),(138,8,'2011-11-03 21:31:13','P',1,'Odd indentation',NULL,4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///3k='),(152,1,'2011-11-03 20:45:04','P',1,'This set is always empty. What is it for?',NULL,4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///6c='),(160,1,'2011-11-03 20:45:04','P',1,'What is the purpose of this interface/method? Its a bit unclear to me why you want it.',NULL,4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///6g='),(108,1,'2011-11-03 20:45:04','P',1,'By the time you are dealing with a RevFlag object, it may just be worthwhile to use the normal RevFlag set and has methods instead of hand-coded bitmasking.',NULL,4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///6k='),(84,1,'2011-11-03 20:45:04','P',1,'startCommits could contain the same commit more than once, since its a List. Maybe you want to convert it over to a Set first to ensure its unique, or handle that case here specially when the commitToReachability map already contains the commit in it?\n\nOr if you use the RevCommit subclass approach, you can just test for the BitSet field being non-null and refuse to reassign it, instead setting the corresponding start bit.',NULL,4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///6s='),(47,1,'2011-11-03 20:45:04','P',1,'How is this better than making a special subclass of RevWalk that overrides createCommit() to provide its own subclass of RevCommit that carries BitSet member? That would use less memory, and make the whole thing slightly less awkward for the caller to work with as they don\'t have to try to register the CommonCommitLimitedRevQueue against an existing RevWalk they created. But it does mean you cannot convert an existing graph held by an existing RevWalk to perform this operation, the application author would need to decide which type of RevWalk to create and what type of graph they want to maintain in memory.',NULL,4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///6w='),(9,1,'2011-11-03 20:45:04','P',1,'How does this queue discard ancestors? It looks to me like it walks all commits in the queue in the next() method. Shouldn\'t it skip a commit if the reachability cardinality is the start size?',NULL,4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///6Y='),(108,51,'2011-11-14 18:59:24','P',1,'Done','AABOCH///6k=',4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///B0='),(84,51,'2011-11-14 18:59:24','P',1,'Done','AABOCH///6s=',4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///B4='),(47,51,'2011-11-14 18:59:24','P',1,'I have changed my mind on that:\n\n(1) as the MergeBaseWalk uses its own RevCommit class (and this is reasonable for mentioned memory issues), it couldn\'t be combined with other RevWalk derivates. So there would be restrictions on when stopOnMergeBase may be used which are less obvious to the user than when having a separate MergeBaseWalk class.\n\n(2) I didn\'t get the intention of MergeBaseGenerator right which actually only returns the merge base commit, but not all commits up to the merge base as MergeBaseWalk does. Still both problems are very similar and probably much code could be shared, but introducing some abstract class here serving both use cases would make the code even harder to understand.\n\n(3) to address \"reachability\" issues as they are e.g. necessary for \"git branch --contains\" and \"git branch --merge\" a separate MergeBaseWalk is sufficient.','AABOCH///to=',4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///B8='),(160,51,'2011-11-14 18:59:24','P',1,'Not necessary anymore when using MergeBaseWalk.','AABOCH///6g=',4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///Bo='),(152,51,'2011-11-14 18:59:24','P',1,'Bug; fixed.','AABOCH///6c=',4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///Bs='),(138,51,'2011-11-14 18:59:24','P',1,'Thanks to Eclipse\'s line wrapping; I\'ll fix indentation and code style issues, like single-{ for the final patch.','AABOCH///3k=',4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///Bw='),(9,51,'2011-11-14 18:59:24','P',1,'Commits are discarded in .add() -- this is true as well for the new MergeBaseWalk.','AABOCH///6Y=',4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///CU='),(7,51,'2011-11-14 18:59:24','P',1,'Done','AABOCH///34=',4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///CY='),(47,51,'2011-11-04 20:17:00','P',1,'I\'ve done that and I think it\'s acceptable for most use cases that one has to decide whether to use plain RevWalk or MergeBaseWalk.\n\nHowever now resulting code looks like it could be turned into a Generator as well: we could introduce RevWalk.stopOnMergeBase which would create a MergeBaseGenerator that will be put between PendingGenerator and sorting-dependent Generators in the Generator pipeline.\n\nThere will be two implementations of MergeBaseGenerator: the one which is already existing, working for a few start commits only and the new BitSet-based implementation. Depending on the implementation usual RevCommit or extended RevCommitWithBitSet will be created by RevWalk.\n\nThis approach will require that both MergeBaseGenerator implementations can be chained like the other generators. Why is this currently not possible for the already existing implementation: \"Computing for merge bases is a special case and does not use the bulk of the generator pipeline.\"?\n\nAnother issue: RevWalk.stopOnMergeBase must definitely be called before the Walk is started. What would happen, if there have been normal RevCommits created by a previous run, then reset() is called, stopOnMergeBase is set, and the RevWalk is started again and requires now RevCommitWithBitSet?','AABOCH///6w=',4537,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommonCommitLimitedRevQueue.java','AABOCH///to='),(1,208,'2011-12-20 19:54:59','d',1,'Please add copyright header',NULL,4537,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/MergeBaseWalk.java','AABODH///X0='),(4,208,'2011-12-20 19:55:12','d',1,'Use explicit imports (no .* )',NULL,4537,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/MergeBaseWalk.java','AABODH///Xw='),(7,8,'2011-11-04 00:10:50','P',1,'no author tags',NULL,4538,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommitReachability.java','AABOCH///50='),(1,8,'2011-11-04 00:10:50','P',1,'Add a license header',NULL,4538,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommitReachability.java','AABOCH///54='),(11,8,'2011-11-04 00:10:50','P',1,'Describe what you expect this method to return and the input',NULL,4538,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/CommitReachability.java','AABOCH///5w='),(41,208,'2011-11-07 17:03:31','P',1,'Done','AABOCH///xc=',4539,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/GitRepositoriesPerspectiveFactory.java','AABOCH///nY='),(41,4,'2011-11-04 13:58:02','P',1,'I think we should also add the synchronize view',NULL,4539,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/GitRepositoriesPerspectiveFactory.java','AABOCH///xc='),(73,383,'2011-11-03 21:26:06','P',1,'Done','AABOCH///5Q=',4541,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsRepositoryDescription.java','AABOCH///4g='),(43,383,'2011-11-03 21:26:06','P',1,'Done','AABOCH///5U=',4541,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsRepositoryDescription.java','AABOCH///4s='),(73,1,'2011-11-03 21:20:17','P',1,'Style-nit: This is hard to read. Maybe:\n\n  if (getRepositoryName() != null)\n    return getRepositoryName().hashCode();\n  return System.identityHashCode(this);',NULL,4541,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsRepositoryDescription.java','AABOCH///5Q='),(43,1,'2011-11-03 21:20:17','P',1,'Please delete this line.',NULL,4541,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsRepositoryDescription.java','AABOCH///5U='),(212,1,'2011-11-04 00:12:22','P',1,'I\'m not sure this comment actually provides any value.','AABOCH///1E=',4542,2,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///0s='),(212,8,'2011-11-04 00:05:11','P',1,'// We want to override the concurrencylevel only',NULL,4542,2,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///1E='),(121,1,'2011-11-03 21:21:34','P',1,'Style-nit: Curly braces on this loop are not necessary.',NULL,4543,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///48='),(121,383,'2011-11-03 21:25:46','P',1,'Done','AABOCH///48=',4543,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsBlockCache.java','AABOCH///4c='),(284,5,'2011-11-09 08:44:43','P',1,'I was confused by the name \'reserve\' (nothing is beeing reserved when this flag is true). Something like escapeReservedChars would be clearer',NULL,4550,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCH///nk='),(301,8,'2011-11-25 06:51:41','P',1,'Done','AABOCX///c0=',4550,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///aA='),(294,8,'2011-11-25 06:51:41','P',1,'Done','AABOCX///co=',4550,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///aE='),(284,8,'2011-11-25 06:51:41','P',1,'Done','AABOCH///nk=',4550,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///aI='),(228,8,'2011-11-25 06:51:41','P',1,'Can\'t explain what I though (or if I did) there...\nDone.','AABOCX///c8=',4550,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///bE='),(219,8,'2011-11-25 06:51:41','P',1,'C Git support escapes in ssh:// yes and this seems to apply for all scheme:// formats. I was a bit surprised when I\ndiscovered it because I deliberately skipped this when I wrote this class originally, just because C Git didn\'t (or I though it didn\'t). I\'ll change class comment too.\n\nI parse all fields so we can read them as clear text. Didn\'t think\nof HTTP though. If we create an HTTP URL from plain text, we need to escape it even if it wasn\'t escape at first, so this is consistent, I think. It may not be very efficient, but then how many times do we decode/encode? The constructor throws\nand exception if the string is not valid so we have to parse always. \n\nA bonus (or feature...) is that toString normlizes the encoding.','AABOCX///c4=',4550,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///bI='),(301,1,'2011-11-19 00:17:01','P',1,'This would encode %A not %0A. It should always be 2 digits.',NULL,4550,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///c0='),(219,1,'2011-11-19 00:17:01','P',1,'Does C Git support escaping the path in a ssh:// or git+ssh:// or ssh+git:// style URIish?\n\nAnd in an HTTP style URIish, we have to re-escape when we pass the URI to the remote HTTP server. So why are we bothering with the unescape here?',NULL,4550,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///c4='),(228,1,'2011-11-19 00:17:01','P',1,'I don\'t think C Git supports escaped paths in the SCP style URIish. I thought it passed the path through as-is to the remote host. So isn\'t it wrong for JGit to unescape %20 here?',NULL,4550,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///c8='),(276,1,'2011-11-19 00:17:01','P',1,'This set reference can be final.',NULL,4550,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///ck='),(294,1,'2011-11-19 00:17:01','P',1,'Instead of Error we throw RuntimeException when the encoding is not supported.',NULL,4550,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///co='),(265,8,'2011-11-27 10:20:46','P',1,'Done','AABOCX///Ik=',4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///F0='),(261,8,'2011-11-27 10:20:46','P',1,'ByteArrayOutputStream is slightly higher level. Do we need super-efficiency here?','AABOCX///Ic=',4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///F4='),(219,8,'2011-11-27 10:20:46','P',1,'Ouch. Back to the drawing board. This is quite bad. It seems the standard among web apps is to parse the path *before* decoding, hence a%2Fb is rarely the same as a/b. The former usually returns a 404.\n\nI\'ll add a getRawPath for this.','AABOCX///II=',4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///Fc='),(292,8,'2011-11-27 10:20:46','P',1,'Done','AABOCX///IM=',4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///Fg='),(279,8,'2011-11-27 10:20:46','P',1,'ok, using encodeASCII\nDone','AABOCX///IU=',4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///Fk='),(276,8,'2011-11-27 10:20:46','P',1,'Done','AABOCX///IQ=',4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///Fo='),(267,8,'2011-11-27 10:20:46','P',1,'RawparseUtils wouldn\'t assume that...!? Only ASCII digits are valid here and they are 1 to 1.','AABOCX///Ig=',4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///Fs='),(254,8,'2011-11-27 10:20:46','P',1,'I\'ll add  a blank, but before the declaration of bytes instead.','AABOCX///IY=',4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///Fw='),(261,1,'2011-11-26 07:26:17','P',1,'Instead of using ByteArrayOutputStream you can allocate a byte[bytes.length] and keep a running len counter. decode() below will take byte[],0,len to decode the buffer. We know we cannot exceed bytes.length as the loop either copies byte-for-byte or collapses 3 bytes to 1 (e.g. \"%2F\" to \"/\").',NULL,4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///Ic='),(267,1,'2011-11-26 07:26:17','P',1,'We shouldn\'t assume the UTF-8 encoding of the input string is the same length as the string is in UTF-16. Instead use the RawParseUtils class to parse a hex digit from the byte[] using our hex parser functions.\n\nStyle-nit here, we put spaces after commas in method calls.',NULL,4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///Ig='),(219,1,'2011-11-26 07:26:17','P',1,'Do we need to worry about the odd corner case of HTTP where \"http://HOST/a/b%2Fc/d\" decodes to \"a/b/c/d\" but may then fail on the remote server because the b%2Fc component was meant to be parsed as a single directory component of /a/ namespace and not as \"b\" by itself?\n\nI think this is pretty unlikely. But it can happen here. It may be worthwhile at least writing a test case that shows this happens with URIish so its documented as expected behavior.',NULL,4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///II='),(265,1,'2011-11-26 07:26:17','P',1,'Shouldn\'t this be i + 2? If the input is \"%2\" this isn\'t really a valid hex escape. But the substring for i + 3 should fail.',NULL,4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///Ik='),(292,1,'2011-11-26 07:26:17','P',1,'typo on escape in esacpeReservedChars',NULL,4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///IM='),(276,1,'2011-11-26 07:26:17','P',1,'private?',NULL,4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///IQ='),(279,1,'2011-11-26 07:26:17','P',1,'style-nit: curly braces not necessary. Should we be paranoid about the JVM platform encoding and specify Constants.CHARACTER_ENCODING here?',NULL,4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///IU='),(254,1,'2011-11-26 07:26:17','P',1,'(optional) I usually prefer to see a blank line before a long try/finally block like this that declares a new local variable.',NULL,4550,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///IY='),(623,8,'2011-11-29 00:08:25','P',1,'I\'ve considered it, but to be honest; I don\'t know which is best. From a pure cleanliness point of view, we should. From a practial.. This way we get the URI cleaned.\n\nFor reference java.net.URI does what you suggest.\n\nShould we, now that we know that git URI-encodes, use java.net.URI as much as possible and only wrap it to allow\nfor local name, scp and the broken file:(no extra slashes) syntax?','AABOCX///EM=',4550,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOC3////0='),(623,8,'2011-11-29 23:36:57','d',1,'I\'m using raw path now and added a method to get the encoded version (just like java.net.URI does). Unfortunatley that seems\nto require more logic in the formatting parts.','AABOC3///9o=',4550,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOC3///4M='),(623,1,'2011-11-29 02:58:45','P',1,'It may be worthwhile to use java.net.URI, but I\'m not sure how much that saves us. We get correct URI handling for http:// and https://. Yay. What about esoteric helper protocols that aren\'t http or https?\n\nFor example, I have two schemes that are internal to google like google:// and some-thing-name:// that don\'t use an http or https style string after the :// part.\n\nIn this current code, I think escape(getPath()) isn\'t right. It converts \"a/b%2Fc/d\" to \"a/b/c/d\" which may be wrong for the remote system. We should be using the raw path here, and require callers who set a raw path to URL escape in UTF-8 on their own, or to use our setPath() method which will URL escape consistently but then does not permit this corner case of \"a/b%2Fc/d\".','AABOC3////0=',4550,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOC3///9o='),(273,8,'2011-11-29 00:08:25','P',1,'Ah, didn\'t see that substring error... You\'re right.\nDone.\n\nThe reason I think we should not clean up is that users may\nwrite URL\'s \"manually\" and I think that should be ok. We do clean up when formatting. Besides, the java URI also accepts unclean input and Git URL parsing also does it.','AABOCX///EA=',4550,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCn////o='),(267,8,'2011-11-29 00:08:25','P',1,'Done','AABOCX///D8=',4550,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCn////s='),(267,1,'2011-11-27 22:19:58','P',1,'My suggestion to not use ByteArrayOutputStream is because it really adds little value here. The result cannot be longer than bytes.length. We copy the result twice right now, just because you are don\'t want to keep an output index counter.\n\nIf the loop was using a new-style for loop with an iterator, maybe it would make sense to try and use a result buffer type that hides the result buffer pointer. But its not, its heavily relying on the index and direct array access because this is more efficient than doing a new substring call on each character position as you walk down the string. At that point it can be easier to follow the code if both the source and destination buffers are using the same approach, a direct pointer into the array.\n\nWhatever, we can keep the ByteArrayOutputStream. I just think its silly to allocate that, and a temporary byte array, and copy the temporary byte array over to a real byte array, just so you can call RawParseUtils.decode(), which accepts an array, a starting position, and an ending position, and thus does not need the temporary array.',NULL,4550,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///D8='),(273,1,'2011-11-27 22:19:58','P',1,'You are still assuming the length in bytes in UTF-8 matches the length of chars in UTF-16. Consider this case:\n\n  new URIish(\"ssh://user@host/åpath%2Estring\")\n\nThis is a valid input. The å cannot be represented as a single byte in UTF-8, its a two-byte value. I think this loop will fail horribly on this input and not produce a reasonable result.\n\nI think we would prefer this loop to convert the bare å into its URL encoded version of its UTF-8 form, thus \"cleaning up the input\". If its not going to do that, we need to throw a URISyntaxException and refuse the input. But right now I think this method will mangle the input because the position of the % in the byte array is not the same position as the % in the String object, so you will try to perform parseInt against non-hex text.',NULL,4550,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///EA='),(623,1,'2011-11-27 22:19:58','P',1,'Shouldn\'t we use getRawPath() here so that the a/b%2Fc/d case  is preserved through into the formatted string?',NULL,4550,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOCX///EM='),(648,1,'2011-12-02 03:03:40','P',1,'Why do we need ASCII version?',NULL,4550,6,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOC3///qc='),(465,1,'2011-12-02 03:03:40','P',1,'shouldn\'t this be rawPath = escape(n)?',NULL,4550,6,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOC3///qg='),(320,1,'2011-12-02 03:03:40','P',1,'os.write(tmp, 0, 2)?\n\nAlternatively we could just do:\n\n  private static final byte[] hexchar = { \'0\', \'1\', \'2\', \'3\', \'4\', \'5\', \'6\',\n               \'7\', \'8\', \'9\', \'A\', \'B\', \'C\', \'D\', \'E\', \'F\' };\n\n    os.write(\'%\');\n    os.write(hexchar[(b >> 4) & 0xf]);\n    os.write(hexchar[b & 0xf]);',NULL,4550,6,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOC3///qk='),(272,1,'2011-12-02 03:03:40','P',1,'>=',NULL,4550,6,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOC3///qo='),(465,8,'2011-12-02 07:06:59','P',1,'Could be either way. Since we set the encododed path, we cannot know what the rawpath would have been. This way toString preserves the path. \n\ntoASCIIString will format an always-encoded path (see java.net.URI for inspiration).','AABOC3///qg=',4550,6,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOC3///qQ='),(648,8,'2011-12-02 07:06:59','P',1,'toString may contain non-ASCII characters and is therefore unsuitable when sent over the wire.','AABOC3///qc=',4550,6,'org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java','AABOC3///qU='),(279,8,'2011-11-08 21:15:46','P',1,'Uh, yes. It does not matter for the test, but it does look strange :)\nDone','AABOCH///ns=',4551,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOCH///fk='),(279,5,'2011-11-07 16:09:38','P',1,'a length of 1? That\'s wrong in most cases, or?',NULL,4551,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOCH///ns='),(255,208,'2011-11-11 23:43:05','P',1,'I updated the directory being searched.\n\nThe import is done in a subtask of the Clone progress monitor so it should show the project being imported in the Progress view.\n\nIt could be done as a separate job as well that runs after the clone completes, is that what you are suggesting?','AABOCH///LA=',4559,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/util/ProjectUtil.java','AABOCH///Kc='),(255,4,'2011-11-11 23:19:27','P',1,'this is one level too high, searching the parent of the working tree might also find projects not located in the working tree of the newly cloned repository, also this may run a long time if this parent directory is big\n\nalso the text displayed by the progress monitor is still \"Cloning ...\" instead of \"Searching projects to auto-import\"',NULL,4559,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/util/ProjectUtil.java','AABOCH///LA='),(88,4,'2011-11-11 23:19:27','P',1,'text needs to be externalized',NULL,4559,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/CloneDestinationPage.java','AABOCH///K8='),(88,208,'2011-11-11 23:43:05','P',1,'Done','AABOCH///K8=',4559,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/CloneDestinationPage.java','AABOCH///KY='),(398,4,'2011-11-18 14:17:25','P',1,'done in change I4a53c9fc45864644ea6572a5a2c2da9266391d9f','AABOCX///sk=',4559,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOCX///rw='),(398,46,'2011-11-18 08:06:49','P',1,'Maybe \"Import all existing projects...\" would be a little bit clearer...',NULL,4559,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOCX///sk='),(57,49,'2011-11-09 21:35:47','P',1,'style-nit: remove curly brackets around single line block',NULL,4563,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/command/AbstractReflogCommandHandler.java','AABOCH///X8='),(29,49,'2011-11-09 21:35:47','P',1,'personally I would prefer to have an empty line between class definition and first member/method',NULL,4563,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/command/AbstractReflogCommandHandler.java','AABOCH///YA='),(146,208,'2011-11-11 20:51:53','P',1,'Done','AABOCH///NU=',4568,5,'org.eclipse.egit.ui/plugin.properties','AABOCH///NE='),(146,4,'2011-11-11 20:48:51','P',1,'there is a confirmation dialog, hence \"Delete Tag...\"',NULL,4568,5,'org.eclipse.egit.ui/plugin.properties','AABOCH///NU='),(49,5,'2011-11-09 09:29:15','P',1,'I was struggeling a little bit to find out how a higher layer would make use of the Logger. I now know how they should do it, but i suggest that you at one small test where somebody registers his own Destination implementation. This would make it clear for potential users how they should use this class.',NULL,4574,1,'org.eclipse.jgit/src/org/eclipse/jgit/util/Logger.java','AABOCH///a4='),(71,4,'2011-11-12 12:55:04','P',1,'style nit: no braces around single line blocks',NULL,4574,1,'org.eclipse.jgit/src/org/eclipse/jgit/util/Logger.java','AABOCH///Go='),(1426,49,'2011-11-14 21:08:46','P',1,'Done','AABOCH///D4=',4583,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOCH///Ac='),(1426,6,'2011-11-14 14:02:34','P',1,'The last sentence is not complete.\n\nWhat so you think about:\n\nTo be able to fetch changes from Gerrit you need to select a project which is shared with a Git repository and which is configured with Gerrit as a remote repository.',NULL,4583,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABOCH///D4='),(10,4,'2011-11-12 00:26:03','P',1,'typo: s/movse/moves/',NULL,4602,2,'/COMMIT_MSG','AABOCH///Jc='),(10,49,'2011-11-18 07:46:33','P',1,'Done','AABOCX///uY=',4608,1,'/COMMIT_MSG','AABOCX///tY='),(10,4,'2011-11-17 23:59:17','P',1,'typo: s/as/is/',NULL,4608,1,'/COMMIT_MSG','AABOCX///uY='),(189,49,'2011-11-18 07:46:33','P',1,'Done','AABOCX///uc=',4608,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOCX///tQ='),(184,49,'2011-11-18 07:46:33','P',1,'Done','AABOCX///ug=',4608,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOCX///tU='),(189,4,'2011-11-17 23:59:17','P',1,'this looks inconsistent and also doesn\'t really simplify this, here you are extracting logging an exception, a few lines above (line 182) you inline a similar method call. I think you should rather stick with the inlined method call even if this is used twice.',NULL,4608,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOCX///uc='),(184,4,'2011-11-17 23:59:17','P',1,'style nit: unnecessary blank line',NULL,4608,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOCX///ug='),(178,4,'2011-11-17 23:59:17','P',1,'misleading method name, inside you are calling updateRevs() (not updateRefs())',NULL,4608,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/synchronize/GitSubscriberMergeContext.java','AABOCX///uk='),(42,8,'2011-11-15 23:18:04','d',1,'Done','AABOCX///7E=',4617,2,'org.eclipse.jgit.test/META-INF/MANIFEST.MF','AABOCX///64='),(42,4,'2011-11-15 22:31:31','P',1,'I think instead this should be the range [1.1.0,2.0.0)',NULL,4617,2,'org.eclipse.jgit.test/META-INF/MANIFEST.MF','AABOCX///7E='),(2,1,'2011-11-18 22:23:37','P',1,'I kind of doubt i have copyright on this class. :-)',NULL,4617,5,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/InvalidPathException.java','AABOCX///ms='),(664,1,'2011-11-18 22:23:37','P',1,'Why is this true by default?',NULL,4617,5,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/AbstractTreeIterator.java','AABOCX///mo='),(354,8,'2011-11-30 08:01:44','d',1,'Postponed to checkout time. Stll need to move the code.','AABOCX///Zo=',4617,5,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/CanonicalTreeParser.java','AABOC3///1c='),(354,1,'2011-11-18 22:23:37','P',1,'I strongly disagree with putting this code into the tree parser. We use this in so many places that are not connected with the local filesystem that are also performance critical that I am concerned about the running time impact this is going to have.\n\nI would instead put this stuff into the DirCacheCheckout code. Maybe you can have isInvalid() on AbstractTreeIterator check the path buffer when its invoked, and DirCacheCheckout calls it only once per path to check that the path buffer is sane before it hands the buffer over to the filesystem?\n\nBut don\'t check the path buffer every time we parse a record from a canonical tree.',NULL,4617,5,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/CanonicalTreeParser.java','AABOCX///js='),(354,5,'2011-11-21 09:23:35','P',1,'I also think it\'s better to trigger this path validation only when we want to touch the local filesystem. I checked DirCacheCheckout and found the following places which should be adapted:\n- checkoutEntry /* most important */\n- doCheckout()   /* when trying to delete files from \'removed\' set and when calling mkdirs() for parent-dirs of updated files */\n- removeEmptyParents()\n- cleanUpConflicts()','AABOCX///js=',4617,5,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/CanonicalTreeParser.java','AABOCX///Zo='),(458,8,'2011-12-02 14:25:07','d',1,'Is there a checkout during commit?\n\nI\'m less concerned about committers shooting themselves in the foot during commit and it\'s kind-of-hard to do anyway. My concern is with bad stuff coming in from the outside.\n\nOther than that: Done','AABOC3///zM=',4617,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOC3///yw='),(458,5,'2011-11-30 13:06:35','P',1,'that\'s a test for a checkout when HEAD is not yet set. That kind of checkouts we do e.g. during clone to do the very first checkout.\n\nYou should also add a test for standard DirCacheCheckout which happens e.g. during a commit. I would simply do a second commit on refs/heads/master which tries to add malicious pathes. It\'s completely different code in DirCacheCheckout which is executed then and which is worth to be tested.',NULL,4617,9,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABOC3///zM='),(496,8,'2011-12-02 14:24:05','d',1,'Done','AABOC3///zI=',4617,9,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOC3///pg='),(496,5,'2011-11-30 13:06:35','P',1,'We need a check for invalid pathes also here.',NULL,4617,9,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOC3///zI='),(214,11,'2011-11-15 17:29:16','P',1,'May be GitURI deserves for it\'s own test?',NULL,4618,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABOCX///+A='),(202,11,'2011-11-15 17:29:16','P',1,'Please reflect \' \" not allowed\' from the comment below in a method\'s name',NULL,4618,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABOCX///+o='),(236,11,'2011-11-15 17:29:16','P',1,'Should go into GitURI\'s test, no?',NULL,4618,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABOCX///98='),(236,118,'2011-11-18 10:07:51','P',1,'Done','AABOCX///98=',4618,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABOCX///sI='),(214,118,'2011-11-18 10:07:51','P',1,'Done','AABOCX///+A=',4618,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABOCX///sM='),(202,118,'2011-11-18 10:07:51','P',1,'Done','AABOCX///+o=',4618,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABOCX///sQ='),(47,118,'2011-11-17 13:03:42','P',1,'What if the URI is not valid? Do you think throwing IllegalArgExc is better?','AABOCX///9c=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///0M='),(29,118,'2011-11-17 13:03:42','P',1,'It\'s public so it\'s available in tests. Notice it\'s in an internal package.','AABOCX///9g=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///0Q='),(59,118,'2011-11-16 17:23:29','P',1,'Yes, that would require a new dep on org.eclipse.egit.fetchfactory, which is in egit-pde. How about opening a new bug for this particular issue? I agree with other comments, so I could prepare a new patch and move this forward.','AABOCX///4Q=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///3g='),(59,11,'2011-11-16 13:33:16','P',1,'Would using constants from GITFetchTaskFactory introduce a new dependency for EGit? Right now I\'m not sure if it a bad thing to add such dependency VS \'magic string\'.','AABOCX///5U=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///4Q='),(59,118,'2011-11-16 10:25:06','P',1,'Actually, they reside in GITFetchTaskFactory as private constants named KEY_PATH and KEY_ELEMENT_TAG. Only \"project\" doesn\'t seem to be extracted to a constant. \n\nGITFetchTaskFactory is in the egit-pde repo. I would need a separate (blocking) Change for it, wouldn\'t I?','AABOCX///9Y=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///5U='),(27,4,'2011-11-17 22:44:24','P',1,'missing javadoc for public class',NULL,4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///68='),(47,11,'2011-11-15 17:45:52','P',1,'Why not a constructor that accepts URI as a parameter?',NULL,4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///9c='),(29,11,'2011-11-15 17:45:52','P',1,'Does it make sense to create it public?',NULL,4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///9g='),(59,11,'2011-11-15 17:45:52','P',1,'Do you have constants in o.e.team.* to replace these path, tag and project \'magic strings\'?',NULL,4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///9Y='),(59,118,'2011-11-18 17:22:15','P',1,'Good point, agreed.','AABOCX///rM=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///p0='),(47,118,'2011-11-18 17:22:15','P',1,'Well, I would prefer to check for null rather than catch IAE to see if the given URI is valid. But I don\'t have strong feelings for the method, so the constructor is fine with me, if you insist ;)','AABOCX///rI=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///pw='),(47,11,'2011-11-18 16:13:48','P',1,'Return null and force user *always* check for null is not much better though...','AABOCX///0M=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///rI='),(59,11,'2011-11-18 16:13:48','P',1,'Could we change direction for this dependency: declare these constants here, in GitURI, and use them in GITFetchTaskFactory? In any case the intent of GitURI class is to make egit-pde happy, this very class has some logic dependent on these values.','AABOCX///sA=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///rM='),(59,118,'2011-11-18 10:07:51','P',1,'Makes sense to me, in the latest Patch Set I left the \"magic strings\" untouched.','AABOCX///wA=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///sA='),(27,118,'2011-11-18 10:07:51','P',1,'Done','AABOCX///68=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///sE='),(59,4,'2011-11-17 22:44:24','P',1,'I think we should not make egit.core depending on  org.eclipse.egit.fetchfactory as it requires a newer platform version compared to what egit currently can work on. Also I think introducing a dependency on a library dedicated for PDE build support isn\'t a good thing for egit.core as it pulls in transitive dependencies on pde.build we don\'t want for egit.','AABOCX///3g=',4618,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/GitURI.java','AABOCX///wA='),(110,118,'2011-11-18 17:08:41','P',1,'I\'ve rebased the patch with master, before submitting it. Is that something I shouldn\'t do?','AABOCX///rE=',4618,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOCX///p8='),(110,4,'2011-11-18 17:19:59','P',1,'that\'s fine, I usually do rebase when a proposal is close to be accepted to check if it applies cleanly to the current HEAD. Note that in theory any merge or rebase can introduce problems since these are text based algorithms which don\'t understand the semantics. But experience shows that this only happens rarely.','AABOCX///p8=',4618,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOCX///ps='),(110,11,'2011-11-18 16:13:04','P',1,'Do we mix fixes for different problems in a single commit?',NULL,4618,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOCX///rE='),(103,4,'2011-11-15 17:13:02','P',1,'I think this text should also be retrieved using getPluginLocalizedValue()',NULL,4620,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewRemoteHandlingTest.java','AABOCX///+k='),(103,208,'2011-11-15 17:17:59','P',1,'Done','AABOCX///+k=',4620,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewRemoteHandlingTest.java','AABOCX///+U='),(198,4,'2011-11-15 17:13:02','P',1,'same here',NULL,4620,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewTest.java','AABOCX///+g='),(198,208,'2011-11-15 17:17:59','P',1,'Done','AABOCX///+g=',4620,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewTest.java','AABOCX///+Q='),(41,49,'2011-11-29 20:44:24','P',1,'I was pretty sure that \"Snow Annotations\" will work for non-workspace files. But if it doesn\'t work then -1 isn\'t valid','AABOCX///Ek=',4622,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/ShowBlameActionHandler.java','AABOC3///5o='),(41,208,'2011-11-27 21:41:46','P',1,'Show Annotations prior to this change didn\'t work with non-workspace files either therefore I\'m not sure that is a valid reason to -1 this change.\n\nJust because a feature doesn\'t support non-workspace files doesn\'t mean it doesn\'t have value to the users of Eclipse that will be using repositories that are part of their workspace.','AABOCX///FY=',4622,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/ShowBlameActionHandler.java','AABOCX///Ek='),(41,49,'2011-11-27 10:13:15','P',1,'If selected resource is non-workspace, then you\'ll get first path element from getProject() method, and finally getMapping will return null. With change I929c3c32e getMapping for non-workspace files will return proper RepositoryMapping.',NULL,4622,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/ShowBlameActionHandler.java','AABOCX///FY='),(74,44,'2011-11-22 15:56:53','P',1,'Typo: Repisotry',NULL,4627,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingEntry.java','AABOCX///UQ='),(1052,208,'2011-11-21 17:32:57','P',1,'Done','AABOCX///YQ=',4631,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOCX///Xc='),(219,208,'2011-11-21 17:32:57','P',1,'Done','AABOCX///YM=',4631,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOCX///Xg='),(219,44,'2011-11-21 16:07:53','P',1,'asyncReload is not required if reload can be called from any thread (see comment below).',NULL,4631,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOCX///YM='),(1052,44,'2011-11-21 16:07:53','P',1,'I think reload should be callable from any thread.\nThis can be achieved by moving the repository == null block into an asyncExec.',NULL,4631,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOCX///YQ='),(300,11,'2011-11-17 07:49:48','P',1,'Does it make sense to extract all these if-else AKA shortening logic) into separate class and unit test it?',NULL,4632,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchPage.java','AABOCX///1k='),(300,208,'2011-11-21 18:52:23','P',1,'I extracted to a static method and added unit tests.','AABOCX///1k=',4632,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchPage.java','AABOCX///XM='),(7,208,'2011-11-17 17:24:06','P',1,'Please revert the changes to this file, it looks like only whitespace changes were made, these can be done in a separate commit.',NULL,4634,1,'org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/live/GistTest.java','AABOCX///y0='),(19,208,'2011-11-18 16:43:29','P',1,'Looks like a missing space between Serializable and {',NULL,4634,2,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/EventPayload.java','AABOCX///qw='),(97,208,'2011-11-18 16:43:29','P',1,'Could you use an IRepositoryProvider here instead of taking a user and repository?',NULL,4634,2,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/service/EventService.java','AABOCX///qo='),(74,208,'2011-11-18 16:43:29','P',1,'Should be \"all public events\" instead of \"all public gists\"',NULL,4634,2,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/service/EventService.java','AABOCX///qs='),(15,208,'2011-11-21 22:43:40','P',1,'I created bug 364424 to track this enhancement.\n\nPlease add:\n\nBug: 364424\n\nabove the Change-Id line',NULL,4634,3,'/COMMIT_MSG','AABOCX///V8='),(15,208,'2011-11-21 22:43:40','P',1,'I think it makes sense to name this class GollumPage.\n\nWhat do you think?',NULL,4634,3,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/Page.java','AABOCX///WA='),(420,208,'2011-11-21 22:43:40','P',1,'org parameter needs an @param tag',NULL,4634,3,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/service/EventService.java','AABOCX///WE='),(413,208,'2011-11-21 22:43:40','P',1,'This tag isn\'t needed',NULL,4634,3,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/service/EventService.java','AABOCX///WI='),(412,208,'2011-11-21 22:43:40','P',1,'This tag isn\'t needed',NULL,4634,3,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/service/EventService.java','AABOCX///WM='),(25,208,'2011-11-29 22:11:36','P',1,'Add class header comment',NULL,4634,4,'org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/EventTest.java','AABOC3///48='),(22,208,'2011-11-29 22:11:36','P',1,'This test does not appear to be referenced by any suites',NULL,4634,4,'org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/GollumPageTest.java','AABOC3///40='),(58,208,'2011-11-29 22:11:36','P',1,'Missing @throws tag in this comment',NULL,4634,4,'org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/live/EventTest.java','AABOC3///44='),(48,208,'2011-11-29 22:11:36','P',1,'This should be Class<? extends EventPayload> clazz to remove a compiler warning',NULL,4634,4,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/client/EventFormatter.java','AABOC3///5A='),(40,208,'2011-11-29 22:11:36','P',1,'Add class header comment',NULL,4634,4,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/client/EventFormatter.java','AABOC3///5E='),(49,208,'2011-11-29 22:11:36','P',1,'Small style issue, no curlies needed for single line if/else statements, here and below',NULL,4634,4,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/client/EventFormatter.java','AABOC3///5M='),(23,208,'2011-11-29 22:11:36','P',1,'Please revert the changed order of the gson.* imports',NULL,4634,4,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/client/GsonUtils.java','AABOC3///5I='),(24,208,'2011-11-29 22:11:36','P',1,'I think this class should go in the new event package',NULL,4634,4,'org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/Event.java','AABOC3///4w='),(10,4,'2011-11-20 22:54:38','P',1,'yes, please remove it. See my comment in change I893777e519d73f557e65cedad2c2f107a58270f5','AABOCX///s0=',4635,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOCX///ag='),(145,208,'2011-11-18 16:23:23','P',1,'You are right, I assumed Gerrit only highlighted new whitespace in red.\n\nCould you remove it?','AABOCX///sw=',4635,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOCX///q4='),(10,315,'2011-11-18 08:03:21','P',1,'Often people only have the source and then it is good if they can just open the bug from it. I don\'t see any value in suppresing that information.\n\nDo you still want me to remove the bug number?','AABOCX///ww=',4635,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOCX///s0='),(145,315,'2011-11-18 08:03:21','P',1,'Not really. If you look at the left side you will see that the trailing space was there before and is also in \'master\'.\n\nBut I can of course remove it for you if you want.','AABOCX///yM=',4635,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOCX///sw='),(10,4,'2011-11-17 21:49:13','P',1,'don\'t repeat the bug reference here, it\'s already available in the commit message',NULL,4635,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOCX///ww='),(145,208,'2011-11-17 18:12:10','P',1,'Looks like a trailing whitespace made it in here, could you remove it?',NULL,4635,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/coretext.properties','AABOCX///yM='),(7,8,'2011-11-19 03:56:00','P',1,'As I understand & can be faster sometimes since modern processors can evaluate both in parallell. But I think that in this case it can choose the right thing regardless of how it\'s written (there is no work involved in evaluating a simple boolean).\n\nI think we should use the short-circuit syntax unless we know the other is better in order to confuse people less and avoid strang messages from findbugs.','AABOCX///ns=',4637,1,'/COMMIT_MSG','AABOCX///bo='),(7,1,'2011-11-18 21:04:33','P',1,'Really? Is this always the case? I guess we can change the code to be && over &, I just find it interesting that findBugs is this insistent that && is faster.',NULL,4637,1,'/COMMIT_MSG','AABOCX///ns='),(9,315,'2011-11-18 07:50:29','P',1,'Indeed ;-)','AABOCX///wc=',4640,1,'/COMMIT_MSG','AABOCX///s8='),(9,4,'2011-11-17 22:05:23','P',1,'looks like there are two blanks between \"always\" and \"done\"',NULL,4640,1,'/COMMIT_MSG','AABOCX///wc='),(364,4,'2011-11-20 22:53:09','P',1,'you are right, this should be done in a separate patch. It just came across my mind when testing your change :-)','AABOCX///tA=',4640,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesView.java','AABOCX///ao='),(11,4,'2011-11-20 22:53:09','P',1,'yes, please remove it. You are the first contributor who wants that. If somebody wants to see which bugs have been fixed for a certain source he anyway needs to look at the history to find out what was changed to fix the bug. Also it\'s already a challenge to get this consistently maintained in the project\'s history, replicating this into the sources manually would most probably lead to inconsistent information. If you really want this we should generate a cross reference from the git history during the build which could be included into the source bundles. But I am not sure if this is worth the effort.','AABOCX///tc=',4640,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesView.java','AABOCX///as='),(364,315,'2011-11-18 07:50:29','P',1,'I agree with you but it is not related to the reported bug and in the EGit contributor guide it says to keep patches small and split work in smaller pieces.\n\nI have no problem adding it in my next patch though, if you want.','AABOCX///wg=',4640,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesView.java','AABOCX///tA='),(11,315,'2011-11-18 07:50:29','P',1,'Often people only have the source and then it is good if they can just open the bug from it. I don\'t see any value in suppresing that information.\n\nDo you still want me to remove the bug number?','AABOCX///wo=',4640,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesView.java','AABOCX///tc='),(364,4,'2011-11-17 22:05:23','P',1,'I think it would make sense to also enable this for additional refs like FETCH_HEAD (their context menu provides checkout command as well)',NULL,4640,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesView.java','AABOCX///wg='),(11,4,'2011-11-17 22:05:23','P',1,'don\'t repeat the bug number which is already available in the commit message',NULL,4640,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesView.java','AABOCX///wo='),(970,1,'2011-11-18 21:01:54','P',1,'Oh, good catch. I should restore that. I took it out thinking the BlockList would default to a directory of 256. But with this argument present the BlockList uses a smaller directory, between 1 and 4 entries.','AABOCX///xI=',4645,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackWriter.java','AABOCX///n8='),(970,4,'2011-11-17 21:27:09','P',1,'why do you no longer preset the capacity of the BlockList to the number of objects to be added ?',NULL,4645,1,'org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackWriter.java','AABOCX///xI='),(13,8,'2011-11-18 07:33:48','P',1,'s/appended',NULL,4646,1,'/COMMIT_MSG','AABOCX///t0='),(11,9,'2011-11-18 16:50:58','P',1,'Done','AABOCX///rc=',4650,1,'/COMMIT_MSG','AABOCX///qQ='),(11,4,'2011-11-18 15:24:09','P',1,'typo: s/too/to/',NULL,4650,1,'/COMMIT_MSG','AABOCX///rc='),(981,9,'2011-11-18 16:50:58','P',1,'Text is externalized in patch-set 2.\n\nOwn exception class could make sense.','AABOCX///rY=',4650,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///qY='),(981,4,'2011-11-18 15:24:09','P',1,'Maybe this deserves its own exception type to help applications which want to handle this case in a special way.\n\nText should be externalized and also using MessageFormat for proper formatting in case this gets translated.',NULL,4650,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///rY='),(13,1,'2011-11-18 19:33:37','P',1,'I would argue it is wrong to include the object header as part of the size of the object. Its never included in the size of an object when we talk about the size of an object in Git. So what you have done is correct.',NULL,4650,3,'/COMMIT_MSG','AABOCX///pI='),(899,1,'2011-11-19 00:25:00','d',1,'Yes, I think this change to check the size before the typeCode switch is a good idea. I say as much later in the whole() method. :-)','AABOCX///mU=',4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///b4='),(943,1,'2011-11-19 00:25:18','d',1,'Yea, I think it is too expensive to include the SHA-1 to the user too. Better to omit it.','AABOCX///mI=',4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///bw='),(980,9,'2011-11-18 22:26:48','P',1,'Done','AABOCX///pY=',4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///mA='),(955,9,'2011-11-18 22:26:48','P',1,'Gave up reporting SHA1','AABOCX///pM=',4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///mE='),(943,9,'2011-11-18 22:26:48','P',1,'I gave up reporting the SHA1 back to the user. It is too expensive.','AABOCX///pQ=',4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///mI='),(934,9,'2011-11-18 22:26:48','P',1,'Done','AABOCX///pU=',4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///mM='),(899,9,'2011-11-18 22:26:48','P',1,'done before the inflateAndSkip.\nIf I understood you right we should even try to avoid inflating a delta block whose inflated size exceeds the maxObjectSizeLimit.\n\nSince we are also adding the same check in OBJ_REF_DELTA and also at the beginning of the \"whole\" method I wonder if it is not even better to just check the \"sz\" before the switch statement:\n\n checkIfTooLarge(sz);\n switch (typeCode) {\n ...\n\nDoes it make sense?','AABOCX///pE=',4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///mU='),(604,9,'2011-11-18 22:26:48','P',1,'Done','AABOCX///pA=',4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///nE='),(604,1,'2011-11-18 19:33:37','P',1,'Take this 2nd argument and pull it into a new temporary byte[]. It is the inflated delta instruction sequence.\n\nUse BinaryDelta to get the size of the result. Test it against the max object limit, if the result is going to be too big, abort before you allocate the result or you apply the delta command sequence.\n\nAfter you get visit.data created by apply(), null out that temporary byte[] so its garbage and can be reclaimed.',NULL,4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///pA='),(899,1,'2011-11-18 19:33:37','P',1,'I would add a check here and in OBJ_REF_DELTA. If the delta instruction size \"sz\" is larger than maxObjectSizeLimit, I would abort. That is a massive instruction stream that you do not want the server to attempt to process. Unfortunately you cannot get a SHA-1 at this point in time, because the delta cannot be inflated. But this max object size limit is about protecting the server repository from large garbage sent by a user, so we should abort earlier rather than later on an input.',NULL,4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///pE='),(955,1,'2011-11-18 19:33:37','P',1,'Add after here:\n\n  if (0 < maxObjectSizeLimit && maxObjectSizeLimit < sz)\n    throw new ...object tempObjectId is huge',NULL,4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///pM='),(943,1,'2011-11-18 19:33:37','P',1,'If you still really want to tell the user what the SHA-1 is on a big object, do:\n\n  if (type == OBJ_BLOB || (0 < maxObjectSizeLimit && maxObjectSizeLimit < sz)) {',NULL,4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///pQ='),(934,1,'2011-11-18 19:33:37','P',1,'Put a max object size check at the start of this method, before we update objectDigest, using the sz parameter. This will allow you to catch any object that is in the pack file in \"whole\" representation before we commit to allocating the buffer for it, or even computing its SHA-1.\n\nThe downside is you cannot tell the user what the SHA-1 is of the huge object. I would argue we shouldn\'t try, its expensive to inflate and compute the SHA-1 of something that is really big and will be rejected by the server. But if you still really want to do that, you should instead do it with the type == BLOB case below.',NULL,4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///pU='),(980,1,'2011-11-18 19:33:37','P',1,'This is far too late to be performing the check. You have already committed JVM heap memory to hold the entire object in memory. It really decreases the value of this max size feature.',NULL,4650,3,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///pY='),(23,1,'2011-11-19 00:25:28','P',1,'Its not known for certain, but it is highly probable that a delta instruction sequence larger than the max size will result in an result object larger than the max size. An evil user could create a delta instruction sequence that produced a smaller result than the delta is, which is evil, but isn\'t that harmful to the server. A more typical user would only use a delta sequence if it was smaller than the result object, as generally a delta is only chosen if the delta can copy more data from the base object than the delta needs to insert or needs to represent the copy ranges.\n\nSo, yes, if a delta was bigger than your limit, its pretty certain the result will be too big to accept.',NULL,4650,4,'/COMMIT_MSG','AABOCX///cU='),(23,9,'2011-11-21 19:54:38','P',1,'copied a part of your comment into the commit message as it nicely summarized the reason behind checking the size of the delta instruction sequence :-)','AABOCX///cU=',4650,4,'/COMMIT_MSG','AABOCX///YE='),(362,1,'2011-11-19 00:25:28','P',1,'Or we should at least report the size the user gave us that we are refusing.','AABOCX///i4=',4650,4,'org.eclipse.jgit/resources/org/eclipse/jgit/JGitText.properties','AABOCX///cQ='),(362,4,'2011-11-18 22:37:26','P',1,'maybe we should report the max allowed length so that the user has an idea what size is accepted by the administrator',NULL,4650,4,'org.eclipse.jgit/resources/org/eclipse/jgit/JGitText.properties','AABOCX///i4='),(362,9,'2011-11-21 19:54:38','P',1,'I will provide two versions of the error message.\n\nOne will include the object size and the limit size. This one will be used when the object size is known i.e. whole object in the pack or when we inflate the delta block and read the result size.\n\nThe other one will be used when we find out that the delta size is already too big and we don\'t want to inflate it. In this case only the limit size will be included in the error message.','AABOCX///cQ=',4650,4,'org.eclipse.jgit/resources/org/eclipse/jgit/JGitText.properties','AABOCX///Y8='),(1,1,'2011-11-19 00:25:28','P',1,'Missing copyright header.',NULL,4650,4,'org.eclipse.jgit/src/org/eclipse/jgit/errors/TooLargeObjectInPackException.java','AABOCX///cI='),(10,4,'2011-11-18 22:37:26','P',1,'style nit: unnecessary second blank line',NULL,4650,4,'org.eclipse.jgit/src/org/eclipse/jgit/errors/TooLargeObjectInPackException.java','AABOCX///jA='),(10,9,'2011-11-21 19:54:38','P',1,'Done','AABOCX///jA=',4650,4,'org.eclipse.jgit/src/org/eclipse/jgit/errors/TooLargeObjectInPackException.java','AABOCX///Y0='),(1,9,'2011-11-21 19:54:38','P',1,'Done','AABOCX///cI=',4650,4,'org.eclipse.jgit/src/org/eclipse/jgit/errors/TooLargeObjectInPackException.java','AABOCX///Y4='),(948,1,'2011-11-19 00:25:28','P',1,'If we aren\'t going to compute the SHA-1, just do this when the object header is parsed and then its only 1 insertion, rather than 3 (whole, OBJ_OFS_DELTA, OBJ_REF_DELTA).',NULL,4650,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///b8='),(638,1,'2011-11-19 00:25:28','P',1,'Maybe include the size parameter in the exception?',NULL,4650,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///cA='),(637,4,'2011-11-18 22:37:26','P',1,'style nit: no braces around single line block',NULL,4650,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///i8='),(948,9,'2011-11-21 19:54:38','P',1,'Done.\nActually another insertion was needed when the delta is inflated and the result size is read.\nWe will have 2 instead of 4 insertions.','AABOCX///b8=',4650,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///Yc='),(638,9,'2011-11-21 19:54:38','P',1,'Done','AABOCX///cA=',4650,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///Ys='),(637,9,'2011-11-21 19:54:38','P',1,'Done','AABOCX///i8=',4650,4,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java','AABOCX///Yw='),(8,315,'2011-11-23 11:10:39','P',1,'Note that the properties file is a stored form of a Properties instance. If you look at its Javadoc one speaks of  \"entries\" and not \"messages\".\n\nAnyway, Kevin already merged the fix into \'master\'.','AABOCX///Yk=',4654,1,'/COMMIT_MSG','AABOCX///N0='),(8,44,'2011-11-21 15:45:09','P',1,'\"Removed unused message\" would be a better commit message',NULL,4654,1,'/COMMIT_MSG','AABOCX///Yk='),(1378,9,'2011-11-22 15:08:19','d',1,'dfdfrd',NULL,4660,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RefSpecPanel.java','AABOCX///Ug='),(850,208,'2011-11-23 16:50:28','P',1,'Yes, you are right, apologies for mixing these up.','AABOCX///OA=',4663,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOCX///NU='),(850,44,'2011-11-23 08:41:26','P',1,'The action \"Replace with file in Git Index\" does not perform an unstaging operation. It replaces the working tree version of a file with the version in the Git Index. Effect:\nFile is staged and modified => file is replaced with the staged version\nFile is modified and not staged: file is replaced with the HEAD version.','AABOCX///Sk=',4663,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOCX///OA='),(850,208,'2011-11-22 17:19:10','P',1,'Should this similarly call unstage instead of deferring to the action?\n\nThat way stage/unstage is consistent across drag and drop and menu actions',NULL,4663,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java','AABOCX///Sk='),(228,208,'2011-11-23 00:11:32','P',1,'I was mirroring git log --all but all refs seems to make sense as well','AABOCX///QU=',4665,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/LogCommand.java','AABOCX///QM='),(228,1,'2011-11-23 00:09:46','P',1,'Why under refs/? Why not just getAllRefs() and look at everything including HEAD?',NULL,4665,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/LogCommand.java','AABOCX///QU='),(126,383,'2011-11-23 00:43:08','P',1,'Huh, ISTR hearing from a reputable source that substring didn\'t return a view of the same backing array due to creating uncollectable garbage. But I just checked the relevant JRE bug[1] and it seems to be working-as-intended.\n\nI agree it is not an issue here due to the typically small number of trailing leading slashes.\n\n[1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4513622','AABOCX///PI=',4666,1,'org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/RepositoryFilter.java','AABOCX///O0='),(126,383,'2011-11-23 00:28:51','P',1,'I know it\'s not an issue in practice but I don\'t like seeing this kind of quadratic loop. It\'s barely longer to do with a single substring call:\n\nif (name != null) {\n  int notSlash;\n  while (notSlash <= name.length() && name.charAt(notSlash) == \'/\')\n    notSlash++;\n  name = name.substring(notSlash);\n}\n\n(or substitute your favorite for loop variant)',NULL,4666,1,'org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/RepositoryFilter.java','AABOCX///Pg='),(126,1,'2011-11-23 00:33:18','P',1,'Its not really quadratic in Java. substring(n) returns a new String object that uses the same underlying character array. The cost is just the new String object construction, its quite low.\n\nMost cases this loop runs at most once. Given both of these facts, it is more readable to use the shorter two-line version of the logic than to use the longer version that tries to avoid creating intermediate String objects in the case that additional unnecessary leading slashes are supplied.\n\nPremature optimization being evil and all of that... :-)','AABOCX///Pg=',4666,1,'org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/RepositoryFilter.java','AABOCX///PI='),(179,383,'2011-11-23 01:00:27','P',1,'This looks like it will fail if textForGit overruns the buffer, presumably with an IOException. At the very least can you document in the docstring that there is an implicit maximum length of textForGit?\n\nIt would be better to handle arbitrary length messages. ISTR at least one instance you wrote of a message much longer than 128 bytes.',NULL,4667,1,'org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitSmartHttpTools.java','AABOCX///Og='),(179,1,'2011-11-23 01:32:39','P',1,'Javadoc for ByteArrayOutputStream states this is the initial capacity of the buffer. The default is only 32 bytes. We probably need more than that for most messages so I set the default to 128 bytes for this usage. It will double in size until either JVM heap is exhausted, or the message is done being created.','AABOCX///Og=',4667,1,'org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitSmartHttpTools.java','AABOCX///OU='),(113,383,'2011-11-23 01:00:27','P',1,'This local variable has lost its final, if you care.',NULL,4667,1,'org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/RepositoryFilter.java','AABOCX///Oc='),(113,1,'2011-11-23 01:32:39','P',1,'Good catch, but yea, no, I don\'t care. :-)','AABOCX///Oc=',4667,1,'org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/RepositoryFilter.java','AABOCX///OQ='),(1,4,'2011-11-30 22:15:32','P',1,'missing license header',NULL,4672,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/IGitSelectRepositoryWizardPage.java','AABOC3///xQ='),(190,44,'2011-11-28 09:46:12','P',1,'Done','AABOCX///Is=',4674,2,'org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java','AABOCX///C0='),(63,44,'2011-11-28 09:46:12','P',1,'Done','AABOCX///Iw=',4674,2,'org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java','AABOCX///DA='),(190,1,'2011-11-26 06:58:09','P',1,'Why support amend during bisect?',NULL,4674,2,'org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java','AABOCX///Is='),(63,1,'2011-11-26 06:58:09','P',1,'style-nit: you used tab after { in every one of the enums, the other methods use a single space.',NULL,4674,2,'org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java','AABOCX///Iw='),(266,208,'2011-11-28 18:30:36','P',1,'I think \'master\' can\'t be expected here since the branch \'test\' is already ahead of master when this test case is run (see setUp method) and branch \'a\' is created off of \'test\' and not \'master\'.',NULL,4675,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CloneCommandTest.java','AABOCn////g='),(116,4,'2011-12-03 08:26:47','P',1,'I\'ll create the necessary CQs for that','AABOCX///GA=',4676,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/JschConfigSessionFactory.java','AABOC3///k4='),(116,1,'2011-11-27 00:28:11','P',1,'If we seek IP approval for Apache MINA SSHD, we should also switch our main SSH client over to use MINA SSHD client. It is probably better written.','AABOCX///GQ=',4676,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/JschConfigSessionFactory.java','AABOCX///GA='),(116,4,'2011-11-27 00:24:23','P',1,'without this I wasn\'t able to reconnect as connect() did hang when retrying. session.disconnect() has a guard internally already.\n\nCurrently I can\'t test anymore as Denis\' intrusion prevention heuristics locked my IP and he didn\'t yet manage to unlock me again.\n\nMaybe we should seek IP approval for apache sshd to implement a sshd for testing this properly.','AABOCX///I8=',4676,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/JschConfigSessionFactory.java','AABOCX///GQ='),(112,4,'2011-11-27 00:24:23','P',1,'fixed this to allow not more than 2 retries','AABOCX///I4=',4676,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/JschConfigSessionFactory.java','AABOCX///GY='),(112,1,'2011-11-26 06:53:56','P',1,'How does the caller break out of this loop when the reset() doesn\'t work?  The default reset() implementation does nothing, which means the retry attempt inside of the catch block will not change anything and the code will be stuck in a loop forever.',NULL,4676,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/JschConfigSessionFactory.java','AABOCX///I4='),(116,1,'2011-11-26 06:53:56','P',1,'Does disconnect() no-op if connect failed? Or do we need to guard this with if (session.isConnected()) session.disconnect()?',NULL,4676,1,'org.eclipse.jgit/src/org/eclipse/jgit/transport/JschConfigSessionFactory.java','AABOCX///I8='),(38,79,'2011-12-02 18:07:11','P',1,'Will do.','AABOCX///EE=',4678,1,'/COMMIT_MSG','AABOC3///mM='),(15,79,'2011-12-02 18:07:11','P',1,'I thought about this for some time, but decided that ? for ahead and ? for behind is more intuitive (the way it is in the patch).\n\nThe arrows point from the remote tracking (\"the original\"), to the current branch. It\'s the current branch\'s status we want to show. It says \"the current branch is up there, compared to the remote branch\". Flipping the arrows would reverse that, changing the meaning to \"the remote branch is down there\".\n\nI think it also corresponds better with the wording of \"git status\", which says:\n\n  Your branch is ahead of \'origin/master\' by 1 commit.\n\nAhead sounds more like ? than ?, no?\n\nMaybe we need to have a vote on that, maybe my thinking is non-intuitive here.','AABOCX///EI=',4678,1,'/COMMIT_MSG','AABOC3///mQ='),(38,4,'2011-11-27 22:38:31','P',1,'s/helps prevent/helps to prevent/',NULL,4678,1,'/COMMIT_MSG','AABOCX///EE='),(15,4,'2011-11-27 22:38:31','P',1,'I would tend to flip the arrows, this way the arrows would always point from the current branch in direction towards the corresponding remote tracking branch',NULL,4678,1,'/COMMIT_MSG','AABOCX///EI='),(290,79,'2011-12-02 18:07:11','P',1,'Will do.','AABOCX///EY=',4678,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java','AABOC3///mA='),(274,79,'2011-12-02 18:07:11','P',1,'Will do.','AABOCX///Ec=',4678,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java','AABOC3///mE='),(262,79,'2011-12-02 18:07:11','P',1,'Hm, the problem here is that, when I don\'t prepend a blank here, the default format would have to look like this (see GitLightweightDecorator):\n\nPROJECT_FORMAT_DEFAULT =\"{dirty:>} {name} [{repository} {branch} {branch_status}]\";\n\n(Notice the space between {branch} and {branch_status}.)\n\nWith this default format, there would always be a blank, even if the current branch isn\'t different from the remote tracking branch. It would then look like this:\n\nproject [repo branch ]\n\nIs that acceptable? Or is there a way to avoid this?','AABOCX///EQ=',4678,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java','AABOC3///mI='),(274,4,'2011-11-27 22:38:31','P',1,'yes, Repository looks like a better home for this method, would deserve some unit tests',NULL,4678,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java','AABOCX///Ec='),(262,4,'2011-11-27 22:38:31','P',1,'do not prepend a blank here, if I want to move this decoration e.g. to the beginning of the text decorator I wouldn\'t be able to remove it and would have to waste one blank worth of horizontal space',NULL,4678,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java','AABOCX///EQ='),(263,4,'2011-11-27 22:38:31','P',1,'I would tend to flip the arrows, this way the arrows would always point from the current branch in direction towards the corresponding remote tracking branch',NULL,4678,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java','AABOCX///EU='),(290,4,'2011-11-27 22:38:31','P',1,'maybe move this to RevWalk, also would deserve some unit tests',NULL,4678,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceHelper.java','AABOCX///EY='),(176,4,'2012-01-16 23:04:09','P',1,'style nit: this line seems to need reformatting',NULL,4678,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/GitLabelProvider.java','AABODX//+nc='),(258,4,'2011-11-30 21:47:42','P',1,'As the other exception we threw previously is a JGitInternalException applications couldn\'t really handle it (like the EGit code which revealed this problem I am trying to fix here)','AABOC3///y4=',4682,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/MergeCommand.java','AABOC3///x0='),(258,5,'2011-11-30 13:32:05','P',1,'Isn\'t this a little bit like a API change? Practically we will break applications which worked before and which catched org.eclipse.jgit.errors.CheckoutConflictException. Now we don\'t throw this exception anymore but a org.eclipse.jgit.api.errors.CheckoutConflictException. What you suggest is cleaner and it does what the method signature tells - but still we may break running applications.',NULL,4682,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/MergeCommand.java','AABOC3///y4='),(324,46,'2011-11-29 09:32:52','P',1,'Good point.','AABOCn////0=',4686,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/DeleteBranchOnCommitHandler.java','AABOC3///84='),(315,46,'2011-11-29 09:32:52','P',1,'Good point.','AABOCX///Bs=',4686,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/DeleteBranchOnCommitHandler.java','AABOC3///88='),(271,46,'2011-11-29 09:32:52','P',1,'The logic is stolen from the similar action implemented in the RepoView. You may be deleting a branch which is ahead of the currently checked out one or you may be headless. In both cases, when the branch is deleted, there is nothing left after deletion that would keep the garbage collector from gobbling up the commit.','AABOCn////4=',4686,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/DeleteBranchOnCommitHandler.java','AABOC3///9A='),(238,46,'2011-11-29 09:32:52','P',1,'Good point. In terms of usability, however, if there is only one (not-checked-out) branch which is merged, I think we shouldn\'t bother the user (similar to the logic when deleting branches from the RepoView)... So perhaps we should rather drop the ellipsis instead?','AABOCn////8=',4686,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/DeleteBranchOnCommitHandler.java','AABOC3///9I='),(324,44,'2011-11-28 16:43:26','P',1,'nearly the same as in lines 224-233',NULL,4686,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/DeleteBranchOnCommitHandler.java','AABOCn////0='),(271,44,'2011-11-28 16:43:26','P',1,'How can it happen that there are unmerged commits? The currently checked out branch is not deleted by the action. Thus commits will not be lost.',NULL,4686,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/DeleteBranchOnCommitHandler.java','AABOCn////4='),(238,44,'2011-11-28 16:43:26','P',1,'I think the dialog should be shown in any case because the user expects a dialog if the action label ends with ...',NULL,4686,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/DeleteBranchOnCommitHandler.java','AABOCn////8='),(315,44,'2011-11-28 16:43:26','P',1,'Does it make sense to continue here? Or just return false.',NULL,4686,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/DeleteBranchOnCommitHandler.java','AABOCX///Bs='),(714,4,'2011-11-28 15:33:16','d',1,'label should be externalized',NULL,4686,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitGraphTable.java','AABOCX///B8='),(105,46,'2011-11-30 08:19:26','d',1,'Done','AABOC3///7E=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/DeleteBranchDialog.java','AABOC3///1U='),(105,44,'2011-11-29 16:53:03','P',1,'Not required if you use UnmergedBranchDialog<RefNode>',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/DeleteBranchDialog.java','AABOC3///7E='),(2,46,'2011-11-30 08:19:50','d',1,'Done','AABOC3///64=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/UnmergedBranchDialog.java','AABOC3///1Q='),(2,44,'2011-11-29 16:53:03','P',1,'2011',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/UnmergedBranchDialog.java','AABOC3///64='),(13,46,'2011-11-30 08:21:56','d',1,'Done','AABOC3///68=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/BranchSelectionDialog.java','AABOC3///1E='),(208,46,'2011-11-30 08:21:22','d',1,'No, the super method is public.','AABOC3///6w=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/BranchSelectionDialog.java','AABOC3///1I='),(2,46,'2011-11-30 08:20:16','d',1,'Done','AABOC3///7A=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/BranchSelectionDialog.java','AABOC3///1M='),(13,44,'2011-11-29 16:53:03','P',1,'Would it make sense to move this class to package org.eclipse.egit.ui.internal.dialogs?',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/BranchSelectionDialog.java','AABOC3///68='),(208,44,'2011-11-29 16:53:03','P',1,'This method could be protected',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/BranchSelectionDialog.java','AABOC3///6w='),(2,44,'2011-11-29 16:53:03','P',1,'2011',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/BranchSelectionDialog.java','AABOC3///7A='),(43,46,'2011-11-30 08:26:07','d',1,'Done','AABOC3///7U=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CheckoutCommitHandler.java','AABOC3///08='),(32,46,'2011-11-30 08:26:05','d',1,'Done','AABOC3///7Y=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CheckoutCommitHandler.java','AABOC3///1A='),(43,4,'2011-11-29 16:49:50','P',1,'unrelated formatting change',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CheckoutCommitHandler.java','AABOC3///7U='),(32,4,'2011-11-29 16:49:50','P',1,'unrelated formatting change',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CheckoutCommitHandler.java','AABOC3///7Y='),(101,46,'2011-11-30 08:27:11','d',1,'Done','AABOC3///6k=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/DeleteBranchOnCommitHandler.java','AABOC3///04='),(101,44,'2011-11-29 16:53:03','P',1,'Not required if you use UnmergedBranchDialog<RefNode>',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/DeleteBranchOnCommitHandler.java','AABOC3///6k='),(52,46,'2011-11-30 08:29:44','d',1,'Done','AABOC3///7Q=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/MergeHandler.java','AABOC3///00='),(135,46,'2011-11-30 08:29:50','d',1,'Done','AABOC3///7M=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/MergeHandler.java','AABOC3///0s='),(130,46,'2011-11-30 08:29:48','d',1,'Done','AABOC3///7I=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/MergeHandler.java','AABOC3///0w='),(130,4,'2011-11-29 16:49:50','P',1,'unrelated formatting change',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/MergeHandler.java','AABOC3///7I='),(135,4,'2011-11-29 16:49:50','P',1,'unrelated formatting change',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/MergeHandler.java','AABOC3///7M='),(52,4,'2011-11-29 16:49:50','P',1,'unrelated formatting change',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/MergeHandler.java','AABOC3///7Q='),(68,46,'2011-11-30 09:03:38','d',1,'Done','AABOC3///6g=',4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/DeleteBranchCommand.java','AABOC3///0o='),(68,44,'2011-11-29 16:53:03','P',1,'Not required if you use UnmergedBranchDialog<RefNode>',NULL,4693,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/DeleteBranchCommand.java','AABOC3///6g='),(347,4,'2011-11-29 23:35:59','P',1,'style nit: trailing whitespace, more below',NULL,4695,3,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/history/HistoryViewTest.java','AABOC3///4g='),(47,4,'2011-11-29 23:35:59','P',1,'typo: s/when a revert failures/when a revert fails/',NULL,4695,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/RevertFailureDialog.java','AABOC3///4c='),(93,4,'2011-11-30 21:50:46','P',0,'I would tend to use braces here to make clear what\'s the scope of this loop',NULL,4699,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCache.java','AABOC3///xs='),(296,4,'2011-11-30 21:50:46','P',0,'I would tend to use braces here to make clear what\'s the scope of this loop',NULL,4699,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java','AABOC3///xo='),(1,5,'2011-12-02 22:19:03','P',1,'Done','AABOC3///uA=',4705,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/GCTest.java','AABOC3///l4='),(1,4,'2011-12-01 13:40:48','P',1,'missing license header',NULL,4705,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/GCTest.java','AABOC3///uA='),(218,1,'2011-12-09 15:25:34','P',1,'Correct, we want to keep the repository accessible during the repack phase with readers not seeing half-written files.\n\nRenaming the old files to temp files is a bad idea. I don\'t know what possessed me to suggest that to you earlier. Just rename the new temp files onto the real names, if the rename fails because the filesystem won\'t let you do that, try deleting the real name and then renaming. Yay windows with open files and all that. :-)','AABOC3///lU=',4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///J0='),(74,5,'2011-12-02 22:19:03','P',1,'Sure!','AABOC3///tY=',4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///l0='),(137,5,'2011-12-02 22:19:03','P',1,'Done','AABOC3///tI=',4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///lc='),(142,5,'2011-12-02 22:19:03','P',1,'Done','AABOC3///tE=',4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///lg='),(110,5,'2011-12-02 22:19:03','P',1,'Done','AABOC3///ss=',4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///lk='),(96,5,'2011-12-02 22:19:03','P',1,'Done','AABOC3///tQ=',4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///lo='),(95,5,'2011-12-02 22:19:03','P',1,'Done','AABOC3///tM=',4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///ls='),(218,5,'2011-12-02 22:19:03','P',1,'Got it. About renaming old files first to temp files first: I guess that while this long running gc works the repo should be accessible and consistent. If I would rename the old packs to temp files then they would vanish for other git processes leaving a repo which is not consistent (not all referenced objs can be found). I guess it\'s better to write into temp files and rename them to valid files in the end. After renaming we could delete uneeded pack files.','AABOC3///s0=',4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///lU='),(78,5,'2011-12-02 22:19:03','P',1,'No, I really thought that this should in the future become a complete GC. I was inspecting also native git implementation (saw you\'re name mentionend oft there) and based on that I came to the 5 steps of gc which I planned to implement here (ok, 4 steps, rerere_gc will not come soon). If this class grows big enough (or if reasons come up to have the steps beeing available as own classes) we can split it. If we split then there will be a repack class, of course!. But for now I wanted to stay in one class.','AABOC3///tU=',4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///lw='),(182,5,'2011-12-02 22:19:03','P',1,'yes, I also stumbled over that because my tests cases used bare repos in the beginning which led to an empty treewalk and AIOOB exceptions. Fixed it!','AABOC3///s8=',4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///lY='),(218,1,'2011-12-01 17:46:22','P',1,'Do not write directly to this pack\'s file. The pack name is the SHA-1 of the object names. If the repository is already full packed and we are doing a repack (such as to change compression settings), the output file name is also the input file. If you just write to it immediately we truncate the data and destroy the repository.\n\nInstead write both the pack and the idx file into temporary files and try to perform an atomic rename over onto the real names as close as possible. Yes when repacking an existing pack back onto itself there is a window of time where the pack would appear corrupt as the idx and pack don\'t match.\n\nYou could first rename away the old files to a temp name, then rename the new files over.\n\nThis problem does not arise on the DFS system because there we use unique file names that have nothing to do with the contents.',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///s0='),(193,1,'2011-12-01 17:46:22','P',1,'Doing a diff here isn\'t really useful. PackWriter can tell you if the objects were seen already elsewhere or not. So just have this method scan the DirCache and process any objects in it.',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///s4='),(182,1,'2011-12-01 17:46:22','P',1,'if the repo is bare, there is no index, so this method should produce an empty set.',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///s8='),(119,1,'2011-12-01 17:46:22','P',1,'Don\'t go about it this direction. Instead list all of the loose objects. Look at CachedObjectDirectory\'s constructor to build the set of what is loose, then scan the packs and ask \"do you contain this object?\" if so you can remove that loose object.\n\nFWIW in C Git the progress monitor here is over the 256 different loose object directories. We update it once per ?? top level directory examined.',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///so='),(110,1,'2011-12-01 17:46:22','P',1,'This takes a while, also pass a ProgressMonitor.',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///ss='),(236,1,'2011-12-01 17:46:22','P',1,'If the pack was just replaced, there is some danger that the existing PackIndex object in memory is out of date relative to the current file. We need to make sure we remove the old PackFile and its PackIndex from the ObjectDatabase implementation before we add the pack.',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///sw='),(183,1,'2011-12-01 17:46:22','P',1,'don\'t lock it, just read it.',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///tA='),(142,1,'2011-12-01 17:46:22','P',1,'This can all be removed. In the DFS storage system, objects can only be in packs. If the list of packs is empty, the repository is empty, and packing does not need to continue.  On a local filesystem there may be loose objects that have to be packed so this test is not enough.',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///tE='),(137,1,'2011-12-01 17:46:22','P',1,'Drop this assertion. It is legal for JGit to create a index version 1 on a FileRepository.',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///tI='),(95,1,'2011-12-01 17:46:22','P',1,'Should take a ProgressMonitor',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///tM='),(96,1,'2011-12-01 17:46:22','P',1,'Don\'t allow a null repository. :-)',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///tQ='),(78,1,'2011-12-01 17:46:22','P',1,'GarbageCollector or Repacker?',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///tU='),(74,1,'2011-12-01 17:46:22','P',1,'Move my name to be in the copyright header if its really derived?',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABOC3///tY='),(2,4,'2012-01-12 12:07:12','d',1,'date should be updated to 2012',NULL,4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODX///CU='),(119,5,'2012-01-26 21:09:54','P',1,'Done','AABOC3///so=',4705,3,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODX///DM='),(32,5,'2012-01-26 17:09:17','P',1,'I wanted to hide this functionality from normal usage until we have enough experience with it so we can trust it. By putting it to the debug package I wanted to express that this is not (yet) a command for everyday usage. When we have enough experience and trust it I planned to move it from debug to pgm.','AABODX//+/g=',4705,4,'org.eclipse.jgit.pgm/META-INF/services/org.eclipse.jgit.pgm.TextBuiltin','AABODX//+/E='),(32,4,'2012-01-13 00:35:45','P',1,'why is Gc a debug command ?',NULL,4705,4,'org.eclipse.jgit.pgm/META-INF/services/org.eclipse.jgit.pgm.TextBuiltin','AABODX//+/g='),(3,5,'2012-01-26 17:09:17','P',1,'Done','AABODX//+/k=',4705,4,'org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/Gc.java','AABODX//+/A='),(3,4,'2012-01-13 00:35:45','P',1,'shouldn\'t that be your copyright header instead ?',NULL,4705,4,'org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/Gc.java','AABODX//+/k='),(141,5,'2012-01-26 17:09:17','P',1,'Done','AABODX//++0=',4705,4,'org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/GCTest.java','AABODn///wE='),(2,5,'2012-01-26 17:09:17','P',1,'Done','AABODX//+/c=',4705,4,'org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/GCTest.java','AABODn///wg='),(125,5,'2012-01-26 17:09:17','P',1,'It should - but we don\'t care for reflogs currently. Reflog handling will come but until it\'s there we ignore reflogs when writing tests.','AABODX//++4=',4705,4,'org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/GCTest.java','AABODn///wI='),(2,4,'2012-01-13 00:35:45','P',1,'update date to 2012',NULL,4705,4,'org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/GCTest.java','AABODX//+/c='),(141,8,'2012-01-13 09:14:03','P',1,'fix indentation of comment',NULL,4705,4,'org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/GCTest.java','AABODX//++0='),(125,8,'2012-01-13 09:14:03','P',1,'Doesn\'t this write a reflog entry for the second commit, thus\nit would keep both commits if you read the reflogs',NULL,4705,4,'org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/GCTest.java','AABODX//++4='),(121,9,'2012-01-25 14:31:02','P',1,'This method prunes only loose objects.\n\nIf all reachable objects are written into the new pack file then\nwhy don\'t delete the old pack files too?',NULL,4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///10='),(140,9,'2012-01-25 14:31:02','P',1,'Looks like you want to test:\n\n ! objectsToKeep.contains(id)\n\ninstead of:\n\n objectsToKeep.contains(id)',NULL,4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///14='),(140,9,'2012-01-25 17:01:21','P',1,'If a loose object is not found in a pack it will not be deleted.\nAnd, if a loose object is not reachable then the repack method will not put it into the (new) pack.\nThis means that the \"prune\" method can never prune non-reachable loose objects. Right?\n\nSo, we either have a bug in this method or it should be named something like \"deletePackedLooseObjects\"',NULL,4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///1g='),(184,9,'2012-01-25 14:31:02','P',1,'Why do we need packHeads and packRest?\n\nIsn\'t it enough to pack all objects reachable from any (valid) reference as one step?',NULL,4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///1w='),(180,5,'2012-01-26 17:09:17','P',1,'Yes, of course. FETCH_HEAD will not come with repo.getAllRefs. But we have an utility method RefDatabase.getAdditionalRefs(). I\'ll use that also.','AABODX//+/Q=',4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///v0='),(142,5,'2012-01-26 17:09:17','P',1,'Done','AABODX//++8=',4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///v4='),(121,5,'2012-01-26 17:09:17','P',1,'yes, it prunes only loose objects ... just as \"git-prune\". If one wants to get rid of unreachable packed objects \"git-repack\" has to be used.\n\nBut you are right: in the end we want to get rid of the old pack files. This should maybe go into the repack method.','AABODn///10=',4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///v8='),(241,5,'2012-01-26 17:09:17','P',1,'for sure! But I don\'t think that is currently supported. That should be a feature of the PackWriter, or?','AABODX//+/I=',4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///vc='),(204,5,'2012-01-26 17:09:17','P',1,'yes, I\'ll change it that repo.getIndexFile() is asked. But currently we don\'t support this setup. repo.readDirCache() and repo.lockDirCache() will all throw exceptions on a bare repo, regardless whether we have a index file or not. I think that\'s a different bug.','AABODX//+/M=',4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///vo='),(184,5,'2012-01-26 17:09:17','P',1,'I agree that we could also pack everything in one pack. I just copied the strategy of the DfsGarbageCollector. Here we are splitting our objects into two packs. One with all objects reachable from branches and another one with the rest of the objects reachable from tags, reflog, . In case of gerrit servers there may be quite a lot in the second pack - all the old proposals which never got accepted. I can imagine (but I am not sure) that there is a certain performance benefit if you don\'t have to deal with packfiles which are huge and contain everything but if there is a packfile which very likely contains all the objects needed for operations like submit, merge.','AABODn///1w=',4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///vs='),(182,5,'2012-01-26 17:09:17','P',1,'Not sure whether I got that right: do you mean that allHeads will contain refs which only live in alternate-repos. And those heads we should not pack. Right?','AABODX//++s=',4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///vw='),(2,5,'2012-01-26 17:09:17','P',1,'Done','AABODX//+/Y=',4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///wA='),(140,5,'2012-01-26 17:09:17','P',1,'That\'s right. This method currently does what the native git command \"git-prune-packed\" [1] does. I\'ll propose in the nex propoasal a rename to prune_packed().\n\n[1] http://linux.die.net/man/1/git-prune-packed','AABODn///1g=',4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///wk='),(241,8,'2012-01-13 09:14:03','P',1,'pack.packSizeLimit might be relevant here.',NULL,4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODX//+/I='),(204,8,'2012-01-13 09:14:03','P',1,'Though not \"normal\", I think a bare repo can have an index,\nand vice verse C Git does not complain much if there is no\nindex in a non-bare repo. It\'s even possible to commit, so\nI the you should simply consider the non-precense of an index files as it being empty (EmptyTreeIterator).',NULL,4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODX//+/M='),(180,8,'2012-01-13 09:14:03','P',1,'Do you need to take care of all id\'s in FETCHHEAD?',NULL,4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODX//+/Q='),(2,4,'2012-01-13 00:35:45','P',1,'update date to 2012',NULL,4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODX//+/Y='),(142,8,'2012-01-13 09:14:03','P',1,'Only wrap the ObjectId.fromString with the try-catch',NULL,4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODX//++8='),(182,8,'2012-01-13 09:14:03','P',1,'C Git does not pack data located in alternate-repos. Packing to much is not dangerous, so fixing that is not a high-priority.',NULL,4705,4,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODX//++s='),(243,4,'2012-01-26 23:57:59','d',1,'s/index check/index hence check/',NULL,4705,5,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///rI='),(75,4,'2012-01-26 23:56:11','d',1,'I think the part about how this was created should rather go in the commit message as it is not important for users of the class.',NULL,4705,5,'org.eclipse.jgit/src/org/eclipse/jgit/storage/file/GC.java','AABODn///rM='),(8,44,'2011-12-01 12:32:40','P',1,'I have standard EGit project settings and I get a JavaDoc error. Other EGit classes have a tag for the type parameter in their JavaDoc','AABOC3///uk=',4706,1,'/COMMIT_MSG','AABOC3///uc='),(8,6,'2011-12-01 12:13:03','P',1,'Could you please describe why do we need this empty java doc entry?\n\nI do not get a compile error in Eclipse without it.',NULL,4706,1,'/COMMIT_MSG','AABOC3///uk='),(8,6,'2011-12-01 12:40:34','P',1,'I think the problem does not occur anymore in Indigo:\n\nhttp://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2FwhatsNew%2Fjdt_whatsnew.html:\n\n\"Missing Javadoc tags for method type parameters no longer reported by default\"\n\nI do not see why we should add empty Javadoc tags if not necessary.','AABOC3///uc=',4706,1,'/COMMIT_MSG','AABOC3///uU='),(115,118,'2011-12-06 11:59:29','P',1,'This is wrong! It should be \"apply(f, fh, r);\".',NULL,4717,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABOC3///eA='),(154,118,'2011-12-02 16:26:47','P',1,'no exception should be thrown, all errors should be reported in the ApplyResult',NULL,4717,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABOC3///n0='),(201,118,'2011-12-02 16:26:47','P',1,'get the line ending from the source file for MODIFY, but what about ADD?',NULL,4717,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABOC3///n4='),(97,118,'2011-12-02 16:26:47','P',1,'this is wrong, a leftover from a previous version',NULL,4717,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABOC3///n8='),(100,118,'2011-12-02 16:26:47','P',1,'no exception should be thrown, all errors should be reported in the ApplyResult',NULL,4717,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABOC3///nw='),(90,118,'2012-01-23 00:10:01','P',1,'I\'m reusing test cases from DiffFormatterReflowTest. E is for modifying an empty file; Y and Z are two different cases with the \"No newline at end of file\" info. X contains hunks adding, removing and replacing lines.','AABODX//+r8=',4717,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ApplyCommandTest.java','AABODX//+GY='),(58,4,'2012-01-16 00:34:58','P',1,'these tests only cover change type ADD, we also need tests for the other change types, also it would be good to have tests for error situations',NULL,4717,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ApplyCommandTest.java','AABODX//+r4='),(90,4,'2012-01-16 00:34:58','P',1,'why do you test this for E, X, Y, Z ? Somehow I feel I miss the point here...',NULL,4717,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ApplyCommandTest.java','AABODX//+r8='),(208,4,'2012-01-16 00:34:58','P',1,'fix TODO',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABODX//+sk='),(95,4,'2012-01-16 00:34:58','P',1,'add a technical check to prevent that the same command object can be run more than once, see e.g. AddComand.call()',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABODX//+sY='),(151,4,'2012-01-16 00:34:58','P',1,'use FileUtils.createNewFile() instead in order to check return value',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABODX//+t0='),(109,4,'2012-01-16 00:34:58','P',1,'why don\'t you throw a checked exception here ? I would expect something like a PatchFormatException extending GitAPIException and wrapping the format errors',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABODX//+t4='),(219,4,'2012-01-16 00:34:58','P',1,'style nit: no curly braces around single line blocks',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABODX//+tc='),(207,4,'2012-01-16 00:34:58','P',1,'style nit: no curly braces around single line blocks',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABODX//+tg='),(169,4,'2012-01-16 00:34:58','P',1,'style nit: no curly braces around single line blocks',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABODX//+tk='),(164,4,'2012-01-16 00:34:58','P',1,'style nit: no curly braces around single line blocks',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABODX//+to='),(158,4,'2012-01-16 00:34:58','P',1,'style nit: no curly braces around single line blocks',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABODX//+ts='),(99,4,'2012-01-16 00:34:58','P',1,'Commands should declare to throw GitAPIException for exceptions which are supposed to be handled by clients, specific exceptions should be subclasses of GitAPIException. \n\nJGitInternalException should wrap internal exception clients can\'t handle in a reasonable way.',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java','AABODX//+uM='),(89,4,'2012-01-16 00:34:58','P',1,'fix TODO',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/patch/HunkHeader.java','AABODX//+rw='),(95,4,'2012-01-16 00:34:58','P',1,'externalize the error message\n\nmaybe better use \"Illegal hunk control character\" ?',NULL,4717,2,'org.eclipse.jgit/src/org/eclipse/jgit/patch/HunkHeader.java','AABODX//+sE='),(43,118,'2011-12-08 21:29:02','P',1,'Done','AABOC3///oM=',4720,1,'org.eclipse.jgit.pgm/META-INF/MANIFEST.MF','AABOC3///Ok='),(43,1,'2011-12-02 15:08:39','P',1,'missing version tag',NULL,4720,1,'org.eclipse.jgit.pgm/META-INF/MANIFEST.MF','AABOC3///oM='),(31,118,'2011-12-08 21:29:02','P',1,'Done','AABOC3///oY=',4720,1,'org.eclipse.jgit.test/META-INF/MANIFEST.MF','AABOC3///Og='),(31,1,'2011-12-02 15:08:39','P',1,'missing version tag',NULL,4720,1,'org.eclipse.jgit.test/META-INF/MANIFEST.MF','AABOC3///oY='),(472,8,'2011-12-02 17:18:20','P',1,'\\r is for Windows only. Don\'t do that.',NULL,4720,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/BranchCommandTest.java','AABOC3///mc='),(472,118,'2011-12-08 21:29:02','P',1,'Done','AABOC3///mc=',4720,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/BranchCommandTest.java','AABOC3///Oc='),(74,8,'2011-12-09 12:22:56','P',1,'No. JGit doesn\'t care about arguement quoting. The arguments to main are already parsed according to the rules of the user\'s shell.','AABOC3///Z4=',4720,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/pgm/CLIGitCommand.java','AABOC3///K0='),(74,8,'2011-12-09 12:22:56','P',1,'That one we will not fix and I\'ll try to do what I can to prevent others from fixing it :)\n\n\nI think we should go with the sh style parsing here, if we decide this will be good. \n\nAnother option for exploring writing readable tests might be to use Groovy, but we\'d need a proof-of-concept even for that one.','AABOC3///U0=',4720,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/pgm/CLIGitCommand.java','AABOC3///K4='),(74,1,'2011-12-03 02:47:44','P',1,'If you want a function that can parse an sh style line, with quoting, we have logic for that in Gerrit Code Review. Its Apache License 2.0 but I/Google would be willing to relicense it under EDL for use in JGit since it depends on JGit\'s QuotedPath code to handle the sh quoting rules anyway. :-)',NULL,4720,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/pgm/CLIGitCommand.java','AABOC3///lE='),(74,8,'2011-12-02 17:18:20','P',1,'That won\'t handle arguments with spaces',NULL,4720,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/pgm/CLIGitCommand.java','AABOC3///mg='),(74,118,'2011-12-08 13:05:40','P',1,'I\'ve filed bug 366025 for that.','AABOC3///Z4=',4720,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/pgm/CLIGitCommand.java','AABOC3///U0='),(74,118,'2011-12-06 22:18:23','P',1,'Point taken, but isn\'t it true for org.eclipse.jgit.pgm.Main.main(String[]) as well? I would file a separate bug to fix here and there at the same time. Is it ok with you guys?','AABOC3///lE=',4720,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/pgm/CLIGitCommand.java','AABOC3///Z4='),(74,118,'2011-12-18 15:48:05','P',1,'Done with a copy of com.google.gerrit.sshd.CommandFactoryProvider#split(String) from Gerrit Code Review. Thanks for the tip.','AABOC3///K0=',4720,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/pgm/CLIGitCommand.java','AABODH///ig='),(89,8,'2011-12-09 12:27:49','d',1,'I think stderr is not handled here. It might not be necessary to start with.',NULL,4720,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/pgm/CLIGitCommand.java','AABOC3///Ko='),(302,8,'2011-12-09 12:25:14','d',1,'Whether \\r is handles must be platform dependent. On Unix a \\r should be treated like any character, on Windows it might be part of the end-of-line token.\n\nConsider using String.split here',NULL,4720,2,'org.eclipse.jgit/src/org/eclipse/jgit/util/IO.java','AABOC3///Ks='),(408,4,'2012-01-14 23:22:04','d',1,'style nit: no braces around single line blocks',NULL,4720,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryTestCase.java','AABODX//+yY='),(157,4,'2012-01-14 23:24:33','d',1,'style nit: no braces around single line blocks',NULL,4720,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/pgm/CLIGitCommand.java','AABODX//+yU='),(307,4,'2012-01-14 23:25:56','d',1,'style nit: no braces around single line blocks',NULL,4720,3,'org.eclipse.jgit/src/org/eclipse/jgit/util/IO.java','AABODX//+yM='),(107,100,'2011-12-09 16:49:03','P',1,'Done','AABOC3///KE=',4721,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/OpenSshConfig.java','AABOC3///Jo='),(2,100,'2011-12-09 16:49:03','P',1,'Done','AABOC3///KM=',4721,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/OpenSshConfig.java','AABOC3///Js='),(107,1,'2011-12-09 15:18:50','P',1,'This isn\'t really thread safe. The caller might see the wrong cache instance, or see a partially initialized one. Either cache must be volatile, or you need some synchronization around looking at the cache field and running the updateCache() method to replace its contents with a new map.\n\nThis used to work because everything was synchronized together inside of a single refresh() method.',NULL,4721,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/OpenSshConfig.java','AABOC3///KE='),(2,1,'2011-12-09 15:18:50','P',1,'Given how much of this file you moved to OpenSshConfigFile, you should also copy over this copyright notice to the new home.',NULL,4721,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/OpenSshConfig.java','AABOC3///KM='),(100,100,'2011-12-09 16:49:03','P',1,'Done','AABOC3///KI=',4721,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/OpenSshConfigFile.java','AABOC3///Jk='),(100,1,'2011-12-09 15:18:50','P',1,'either mark lastModified volatile, or make this method synchronized to ensure the caller sees the correct version of the lastModified value from the last read() call.',NULL,4721,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/OpenSshConfigFile.java','AABOC3///KI='),(370,208,'2011-12-02 16:35:27','P',1,'I think PlatformUI.getWorkbench().getDisplay() is better to use here',NULL,4722,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIIcons.java','AABOC3///no='),(370,130,'2011-12-02 16:43:51','P',1,'Done','AABOC3///no=',4722,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/UIIcons.java','AABOC3///nU='),(109,8,'2011-12-10 00:53:56','P',1,'This is already the second attempt. I think a Ref is good enough. It\'s easy to convert to an object once you get it, but\nit may be any object type actually. Once you resolve the Ref you get to see what it is and handle it, should you care. In\nmost cases I don\'t think you do, it\'s just a name. Whether we\nhave a special type here or not makes no difference in the\namount of work the caller has to do. The reality behind tags\naren\'t very complicated and abstracting things too much is\nnot very good and in this case doesn\'t simplify anything. It will just give us an extra object and class to handle.','AABOC3///UE=',4726,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/TagCommand.java','AABOC3///GY='),(109,1,'2011-12-08 16:26:14','P',1,'Yup, I agree with Christian here. We need a new tag object for both lightweight and annotated tag data to return in the API package.','AABOC3///UE=',4726,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/TagCommand.java','AABOC3///To='),(109,5,'2011-12-08 16:06:59','P',1,'Is Ref the right type here? Shouldn\'t we introduce a type which can hold lightweight and annotated tags. Like Shawn suggested in http://egit.eclipse.org/r/#patch,unified,4346,1,org.eclipse.jgit.test/tst/org/eclipse/jgit/api/TagCommandTest.java\nIf we don\'t introduce it then the user of this API has to care for the details (checking that the ref is under \'refs/tags\', differentiate between the different types of tags). Since this belongs to the public API we should get it right in the first shot.',NULL,4726,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/TagCommand.java','AABOC3///UE='),(109,5,'2011-12-12 22:42:07','P',1,'Annotated tags have special attributes (taggerIdents, message) which I may want to process. How would you write code which list\'s all annotated tags which are tagged by a person X? The TagCommand.call() method would instantiate all the RevTag objects I need to get to this data, but you throw that info away and give me refs instead. As a caller I have to use RevWalks now to distinguish which of the refs you gave me are annotated tags and then to recreate these RevTag objects, or?','AABOC3///GY=',4726,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/TagCommand.java','AABOC3//+9k='),(109,8,'2011-12-14 07:26:01','P',1,'Yes. Most listing of tags wants the names only, so should be parse the RevTag regardless? Isn\'t that the opposite of what we\nare trying to do elsewhere, i.e. don\'t do things the caller didn\'t ask for. An yes, you have to examine what you get so we don\'t have\nto do unnecessary work unless you really want the information and regardless of how we design this you have to check whether is an annotated tag and what kind of object it points to etc. If you try to abstract a type you\'ll wind up with something very close to a Ref anyway. \n\nI suppose we could play we subclasses of Ref, but I doubt that will help. \n\nAn option could be to the the command to preparse the objectId\nin the ref so you could cast, but you still need to check the type before casting since it could be any type.','AABOC3//+9k=',4726,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/TagCommand.java','AABODH///5A='),(109,5,'2011-12-20 10:00:45','P',1,'The GitAPI was meant as a high-level API. It is for developers willing to sacrifice performance in order to get an API which offers exactly the same methods as native-git commandline commands. Who don\'t want this penalty should use our tradiditional API (Repository, ..:Walk, DirCacheCheckout,....).\n\nFor such an API I find it ok that if I explicitly create a tag that I get back something tag specific. There are quite some use-cases where I have handle tags differently from other refs. Tags can point to other tags or even to other object types while e.g. branches always point to commits. If I want to know the commit a tag is pointing too (I very common use case I guess) I do that in a tag specific way. Reasons enough for me to introduce a type representing all our tags in our high-level API. Especially when I look at ListTagCommand.','AABODH///5A=',4726,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/TagCommand.java','AABODH///ow='),(109,8,'2011-12-21 06:49:29','P',1,'Be my guest. I don\'t see the need, so I\'m not qualified.','AABODH///ow=',4726,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/TagCommand.java','AABODH///Xs='),(422,79,'2011-12-05 17:26:33','P',1,'Ok, I\'ll move it into a new class RevWalkUtil (or RevWalkUtils? (both naming conventions seem to be used in jgit)).\n\nShould the new method then have the following signature?:\n\n  public static long count(final RevWalk walk, final RevCommit start, final RevCommit end)\n\nShould the caller be responsible for doing reset() or should that be done inside the method?','AABOC3///hk=',4731,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java','AABOC3///hc='),(422,1,'2011-12-05 16:36:00','P',1,'I\'m with Robin on this, I don\'t think we want to clutter up this class with this method.\n\nI might be open to the smaller definition of just long count(), where the caller sets up the start/uninteresting points first and then calls count() to run the iteration and increment the counter for it.',NULL,4731,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java','AABOC3///hk='),(422,1,'2011-12-09 15:22:01','P',1,'I think the method should do the reset() for the caller, given that it is acting as a small utility.\n\nMatch what we call our StringUtils class. Its either StringUtil or StringUtils, I don\'t remember which, but whatever it is use the same pluralization for the RevWalk utility.','AABOC3///hc=',4731,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java','AABOC3///J8='),(320,5,'2011-12-08 22:08:01','P',1,'Again I found the answer myself: If you have added multiple starting points and you do find the commit then you still don\'t know which of the starting points has led you to the commit. But that\'s exactly what you want to know: which of the starting refs lead me to the commit.','AABOC3///RI=',4738,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitInfoBuilder.java','AABOC3///OM='),(313,5,'2011-12-08 22:08:01','P',1,'Regarding marking direct parents as uninteristing I found the answer myself: This wouldn\'t help much. For 99% of the cases if you visit the direct parent of the commit X then you would have visited the commit X itself one step before. And you would have stopped your walk at commit X. Therefore you will nearly never reach the direct parents of commit X.','AABOC3///RM=',4738,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitInfoBuilder.java','AABOC3///OQ='),(320,5,'2011-12-08 17:07:37','P',1,'We are doing a depth first search here - one ref after the other. If I look the RevWalk API we could also mark all refs as starting refs. Why aren\'t we using that and do a breadth first search?',NULL,4738,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitInfoBuilder.java','AABOC3///RI='),(313,5,'2011-12-08 17:07:37','P',1,'On a repo with a long history this might cost a lot of memory. Wouldn\'t it make sense to limit the size of the cutOff list? Even a incomplete cutOff list helps.\n\nAnother idea: can\'t we mark the direct parents of commit as \"uninteresting\" in the RevWalk?',NULL,4738,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitInfoBuilder.java','AABOC3///RM='),(313,8,'2011-12-28 00:35:34','P',1,'I was thinking about making the cutoff list smaller, but I\'m not sure how to do it. One way is this: For most practical purposes we can exclude branches by looking at the tip, i.e. if the tip of  a branch is older than the commit we are looking at, it is very unlikely to be a candidate. Do I add some time skew to be sure?','AABOC3///RM=',4738,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitInfoBuilder.java','AABODX///7Q='),(68,49,'2011-12-05 23:56:29','P',1,'What ? Is there any reason for this if statement ?',NULL,4742,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitMoveDeleteHook.java','AABOC3///e4='),(68,8,'2011-12-06 07:21:21','P',1,'Oops. Done','AABOC3///e4=',4742,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/GitMoveDeleteHook.java','AABOC3///ek='),(90,4,'2011-12-08 22:35:01','P',1,'Done','AABOC3///UM=',4752,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/errors/CheckoutConflictException.java','AABOC3///Ng='),(90,5,'2011-12-08 15:54:44','P',1,'trailing whitespace',NULL,4752,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/errors/CheckoutConflictException.java','AABOC3///UM='),(90,49,'2011-12-07 22:29:39','d',1,'tailing white space',NULL,4752,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/errors/CheckoutConflictException.java','AABOC3///Wg='),(392,5,'2011-12-08 15:45:56','P',1,'Yes, of course. you are right. If we don\'t have conflicts because of the content (either because contents are equal or conflict-free mergeable) then we should avoid reporting a conflict for mode changes happening on one side only.\nAnd additionally: If we create new content through a content merge then we have to decide on a filemode for that new file revision. Also here we should do a better solution then just picking the first filemode we find as I do now in getFileMode():\nI\'ll propose a fix for that','AABOC3///VY=',4757,3,'org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java','AABOC3///U4='),(392,8,'2011-12-07 23:18:33','P',1,'If mode changed on only one branch shouldn\'t we pick the changed mode then, without conflict?, i.e. the conflict occurs\nwhen',NULL,4757,3,'org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java','AABOC3///VY='),(9,5,'2011-12-09 10:22:27','P',1,'Done','AABOC3///Nw=',4757,4,'/COMMIT_MSG','AABOC3///Lg='),(9,4,'2011-12-08 22:30:29','P',1,'typo s/he/it/',NULL,4757,4,'/COMMIT_MSG','AABOC3///Nw='),(644,5,'2011-12-09 10:22:27','P',1,'Done','AABOC3///N0=',4757,4,'org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java','AABOC3///LQ='),(644,4,'2011-12-08 22:30:29','P',1,'typo s/the choose/we choose/',NULL,4757,4,'org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java','AABOC3///N0='),(66,208,'2011-12-13 02:03:03','P',1,'Looks like the import was only moved, not changed',NULL,4762,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABODH///+E='),(66,8,'2011-12-14 00:21:02','P',1,'Done','AABODH///+E=',4762,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java','AABODH///5c='),(283,208,'2011-12-13 02:03:03','P',1,'style nit: trailing whitespace',NULL,4762,1,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/CanonicalTreeParser.java','AABODH///+I='),(271,208,'2011-12-13 02:03:03','P',1,'style nit: trailing whitespace',NULL,4762,1,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/CanonicalTreeParser.java','AABODH///+M='),(283,8,'2011-12-14 00:21:02','P',1,'Done','AABODH///+I=',4762,1,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/CanonicalTreeParser.java','AABODH///5U='),(271,8,'2011-12-14 00:21:02','P',1,'Done','AABODH///+M=',4762,1,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/CanonicalTreeParser.java','AABODH///5Y='),(700,208,'2011-12-15 19:05:57','P',1,'Should this use the same logic as in FS_Win32.isWin32() for the Windows check?',NULL,4762,2,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheEntry.java','AABODH///v0='),(700,208,'2011-12-15 21:37:56','P',1,'But what about doing an indexof/case-insensitive comparison here?\n\nI\'m just not sure what os.name returns across different windows versions and the FS_Win32 logic would seem to cover more cases','AABODH///vs=',4762,2,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheEntry.java','AABODH///vk='),(700,8,'2011-12-15 21:03:37','P',1,'Maybe, but then we git in trouble with the fact that it is static\nand I want to change \"os\" during tests.','AABODH///v0=',4762,2,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheEntry.java','AABODH///vs='),(7,8,'2011-12-07 23:47:12','d',1,'The subject gives no cluse as to what this might be about. Mention revert somehow.',NULL,4763,1,'/COMMIT_MSG','AABOC3///U8='),(410,118,'2011-12-08 17:13:17','P',1,'Done','AABOC3///Ss=',4766,1,'org.eclipse.jgit/src/org/eclipse/jgit/patch/HunkHeader.java','AABOC3///Q0='),(413,118,'2011-12-08 17:13:17','P',1,'Done','AABOC3///So=',4766,1,'org.eclipse.jgit/src/org/eclipse/jgit/patch/HunkHeader.java','AABOC3///Qs='),(412,118,'2011-12-08 17:13:17','P',1,'Done','AABOC3///Rs=',4766,1,'org.eclipse.jgit/src/org/eclipse/jgit/patch/HunkHeader.java','AABOC3///Qw='),(412,1,'2011-12-08 16:34:11','P',1,'also this should be 3 append calls. you can chain them:\n\n buf.append(getStartNewLine()).append(\',\').append(getNewLineCount());\n\nif that is cleaner than doing it on 3 separate lines and it doesn\'t line wrap.',NULL,4766,1,'org.eclipse.jgit/src/org/eclipse/jgit/patch/HunkHeader.java','AABOC3///Rs='),(413,208,'2011-12-08 16:31:18','P',1,'This could just be the character \']\'',NULL,4766,1,'org.eclipse.jgit/src/org/eclipse/jgit/patch/HunkHeader.java','AABOC3///So='),(410,208,'2011-12-08 16:31:18','P',1,'Perhaps break this up into 3 append calls, instead of creating an intermediate String.',NULL,4766,1,'org.eclipse.jgit/src/org/eclipse/jgit/patch/HunkHeader.java','AABOC3///Ss='),(7,4,'2011-12-14 22:46:52','P',1,'style nits: \n- start with an uppercase letter \n- use a shorter title (put the rest into the body of the commit message)\n- avoid trailing whitespace\n- title should rather explain what this change does instead of describing the problem symptom, e.g. Fix very slow typing ...',NULL,4767,1,'/COMMIT_MSG','AABODH///zA='),(365,4,'2011-12-14 22:46:52','P',1,'style nit: we don\'t use curly braces around single line blocks',NULL,4767,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/CreateBranchPage.java','AABODH///zE='),(80,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///TI=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PostReceiveHookChain.java','AABOC3///Io='),(79,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///TM=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PostReceiveHookChain.java','AABOC3///Is='),(68,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///ME=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PostReceiveHookChain.java','AABOC3///Iw='),(68,1,'2011-12-09 02:44:59','P',1,'Good point. Then go ahead and do the optimization to remove the NULL instance, but get the length of the final array correct. :-)','AABOC3///N8=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PostReceiveHookChain.java','AABOC3///ME='),(68,383,'2011-12-08 22:16:07','P',1,'But IMO the most common case (certainly at least one of the usages I\'ve written already) is going to be two elements where one is likely to be NULL:\n\n  void addMyHook(ReceivePack rp) {\n    List<PostReceiveHook> newHooks = new ArrayList<PostReceiveHook>();\n    newHooks.add(rp.getPostReceiveHook());\n    newHooks.add(new MyHook());\n    rp.setPostReceiveHook(PostReceiveHookChain.newChain(newHooks);\n  }\n\nIn this case, if no previous hook was set, then the 0- and 1-element optimizations don\'t apply unless you also collapse NULLs.','AABOC3///OE=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PostReceiveHookChain.java','AABOC3///N8='),(68,1,'2011-12-08 22:08:08','P',1,'It may be worth it for the empty and single element list case:\n\n  if (hooks.size() == 0)\n    return PostReceiveHook.NULL;\n  if (hooks.size() == 1)\n    return hooks.get(0);\n  return new PostReceiveHookChain(hooks.toArray(...));\n\nso keep the static factory method. But please fix the NPE. :-)','AABOC3///Ro=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PostReceiveHookChain.java','AABOC3///OE='),(68,383,'2011-12-08 16:34:07','P',1,'Well, this bug is easy to fix. You think it\'s just not worth it? What about the other cuteness, returning something that\'s not a chain if we don\'t have to? I can just go back to public constructors...','AABOC3///S8=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PostReceiveHookChain.java','AABOC3///Ro='),(68,1,'2011-12-08 16:31:38','P',1,'This fails when I pass in [hook1, NULL, NULL, hook2]. The result array will be [hook1, hook2, null, null] and the onPostReceive method will NPE when it tries to invoke the 3rd element.\n\nDon\'t try to be cute and filter out the NULL hook.',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PostReceiveHookChain.java','AABOC3///S8='),(80,1,'2011-12-08 16:31:38','P',1,'no curly braces',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PostReceiveHookChain.java','AABOC3///TI='),(79,1,'2011-12-08 16:31:38','P',1,'line-wrap? this seems pretty long.',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PostReceiveHookChain.java','AABOC3///TM='),(80,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///S0=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreReceiveHookChain.java','AABOC3///Ic='),(79,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///Sw=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreReceiveHookChain.java','AABOC3///Ig='),(68,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///S4=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreReceiveHookChain.java','AABOC3///Ik='),(80,1,'2011-12-08 16:31:38','P',1,'curly braces',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreReceiveHookChain.java','AABOC3///S0='),(68,1,'2011-12-08 16:31:38','P',1,'same bug',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreReceiveHookChain.java','AABOC3///S4='),(79,1,'2011-12-08 16:31:38','P',1,'maybe line wrap?',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreReceiveHookChain.java','AABOC3///Sw='),(110,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///SQ=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreUploadHookChain.java','AABOC3///II='),(101,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///SU=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreUploadHookChain.java','AABOC3///IM='),(92,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///SY=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreUploadHookChain.java','AABOC3///IQ='),(84,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///Sg=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreUploadHookChain.java','AABOC3///IU='),(71,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///Sk=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreUploadHookChain.java','AABOC3///IY='),(84,1,'2011-12-08 16:31:38','P',1,'curly braces',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreUploadHookChain.java','AABOC3///Sg='),(71,1,'2011-12-08 16:31:38','P',1,'same bug',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreUploadHookChain.java','AABOC3///Sk='),(110,1,'2011-12-08 16:31:38','P',1,'curly braces',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreUploadHookChain.java','AABOC3///SQ='),(101,1,'2011-12-08 16:31:38','P',1,'curly braces',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreUploadHookChain.java','AABOC3///SU='),(92,1,'2011-12-08 16:31:38','P',1,'curly braces',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/PreUploadHookChain.java','AABOC3///SY='),(81,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///SE=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPackLoggerChain.java','AABOC3///IA='),(69,383,'2011-12-09 17:06:45','P',1,'Done','AABOC3///SI=',4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPackLoggerChain.java','AABOC3///IE='),(81,1,'2011-12-08 16:31:38','P',1,'curly braces',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPackLoggerChain.java','AABOC3///SE='),(69,1,'2011-12-08 16:31:38','P',1,'same bug',NULL,4769,2,'org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPackLoggerChain.java','AABOC3///SI='),(9,208,'2011-12-08 18:07:29','P',1,'ObjectId implements Serializable','AABOC3///QA=',4770,1,'/COMMIT_MSG','AABOC3///P0='),(9,1,'2011-12-08 18:06:03','P',1,'We made PlotCommit serializable? If it has a long chain of parents, that could be a really big stream.',NULL,4770,1,'/COMMIT_MSG','AABOC3///QA='),(252,8,'2011-12-10 01:03:02','P',1,'I agree. Don\'t abstract things that are clear as a day already. The proposed change makes it much harder to understand the\ncode since you need to refer to look in one more place to\nfigure it out.','AABOC3///QI=',4771,2,'org.eclipse.jgit/src/org/eclipse/jgit/patch/HunkHeader.java','AABOC3///GQ='),(252,1,'2011-12-08 18:05:08','P',1,'I don\'t want to change the parser into this nasty for loop and switch.',NULL,4771,2,'org.eclipse.jgit/src/org/eclipse/jgit/patch/HunkHeader.java','AABOC3///QI='),(28,4,'2011-12-09 08:25:21','P',1,'Done','AABOC3///MU=',4773,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/command/OpenInCommitViewerHandler.java','AABOC3///L0='),(30,4,'2011-12-09 08:25:21','P',1,'Done','AABOC3///MQ=',4773,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/command/OpenInCommitViewerHandler.java','AABOC3///Lw='),(30,208,'2011-12-09 00:52:33','P',1,'You can just call CommitEditor.openQuiet which logs the PartInitException and doesn\'t throw it',NULL,4773,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/command/OpenInCommitViewerHandler.java','AABOC3///MQ='),(28,208,'2011-12-09 00:52:33','P',1,'Style nit: curlies not needed',NULL,4773,4,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/reflog/command/OpenInCommitViewerHandler.java','AABOC3///MU='),(67,79,'2011-12-10 17:02:29','P',1,'What are you referring to specifically? The lines above were already present.','AABOC3///GA=',4779,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReferenceImporter.java','AABOC3///Fc='),(9,79,'2011-12-10 17:02:29','P',1,'Done','AABOC3///GE=',4779,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReferenceImporter.java','AABOC3///Fg='),(67,11,'2011-12-10 15:17:39','P',1,'It\'s not a simple refactoring AKA extract class. It has logic that is different from original one and it changes original functionality.',NULL,4779,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReferenceImporter.java','AABOC3///GA='),(9,11,'2011-12-10 15:17:39','P',1,'Should it be .internal? The only usage for now is in GitProjectSetCapability. Yes, it has a default access level for class itself and its constructor but it would be better to express ths fact (it\'s for internal use and not an API) explicitly.',NULL,4779,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/ProjectReferenceImporter.java','AABOC3///GE='),(215,49,'2012-01-14 13:08:14','P',1,'style nit: remove curly brackets',NULL,4779,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/ProjectReferenceImporter.java','AABODX//+24='),(118,11,'2011-12-10 15:26:47','P',1,'See my last comment.',NULL,4780,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABOC3///F0='),(287,11,'2011-12-10 15:26:47','P',1,'+1 for such refactoring in general but it\'s unrelated to the main goal of current changeset. Could you move it in a separate independent changeset?',NULL,4780,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABOC3///F4='),(287,79,'2011-12-10 17:03:45','P',1,'Ok, I removed the changes to the existing tests, will push a separate change after this one.','AABOC3///F4=',4780,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABOC3///FU='),(168,11,'2011-12-10 15:26:47','P',1,'See my last comment.',NULL,4780,1,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABOC3///Fw='),(196,49,'2012-01-22 12:17:58','P',1,'True, in @Test(expected) you cannot assure that exception is thrown from given place in test case, so lets leave it how it is.','AABODX//+KM=',4780,3,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABODX//+J0='),(196,79,'2012-01-22 10:35:57','P',1,'I want to make sure that it\'s thrown for the last import, i.e. it shouldn\'t throw for the second import. Is there a way to make sure of that using @Test(expected)?','AABODX//+Ms=',4780,3,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABODX//+KM='),(196,49,'2012-01-21 14:08:29','P',1,'I would prefer annotate this test case with:\n\n@Test(expected = TeamException.class)\n\ninstead of having try-catch block in test logick',NULL,4780,3,'org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/GitProjectSetCapabilityTest.java','AABODX//+Ms='),(198,79,'2012-01-22 10:35:57','P',1,'Good idea, thanks. Done.','AABODX//+Mo=',4780,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/ProjectReferenceImporter.java','AABODX//+KA='),(198,49,'2012-01-21 14:08:29','P',1,'I would rather check all configured remotes not only default one.',NULL,4780,3,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/ProjectReferenceImporter.java','AABODX//+Mo='),(93,49,'2012-01-22 12:20:34','P',1,'style-nit: we don\'t use curly brackets around single line blocks',NULL,4780,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/ProjectReferenceImporter.java','AABODX//+Jo='),(218,49,'2012-01-22 12:20:34','P',1,'style-nit: we don\'t use curly brackets around single line blocks',NULL,4780,4,'org.eclipse.egit.core/src/org/eclipse/egit/core/internal/ProjectReferenceImporter.java','AABODX//+Js='),(35,4,'2011-12-12 16:08:35','P',1,'this shouldn\'t be updated',NULL,4784,2,'org.eclipse.egit.mylyn-feature/feature.xml','AABOC3///Bc='),(28,4,'2011-12-12 16:08:35','P',1,'mylyn version shouldn\'t be updated here',NULL,4784,2,'org.eclipse.egit.mylyn-feature/feature.xml','AABOC3///Bg='),(131,5,'2011-12-12 08:02:11','P',1,'I miss some test for binary data.',NULL,4786,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java','AABOC3///Cc='),(131,8,'2011-12-12 15:26:33','P',1,'Good heavens.','AABOC3///Cc=',4786,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java','AABOC3///CE='),(938,8,'2011-12-12 21:49:53','P',1,'Done','AABOC3///Cg=',4786,1,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOC3///Bk='),(965,8,'2011-12-12 21:49:53','P',1,'Done','AABOC3///Co=',4786,1,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOC3///BY='),(938,5,'2011-12-12 08:02:11','P',1,'Do we really always to CRLF conversion - even on binary files? Wouldn\'t this corrupt all checked-in jpegs? Even if the file contains e.g. a null byte in the first X bytes - something we used before to check for binary/non-binary files? Or have I overlooked a check here?\n\nI always felt that the lack of git attributes which we could use to specify what is binary and what is not is the biggest obstacle why we didn\'t have autocrlf.',NULL,4786,1,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOC3///Cg='),(965,5,'2011-12-12 08:02:11','P',1,'Why spent another filesystem call if autoCRLF was not true? We should only look into the fs if needed.',NULL,4786,1,'org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java','AABOC3///Co='),(264,5,'2011-12-12 08:02:11','P',1,'trailing whitespace!',NULL,4786,1,'org.eclipse.jgit/src/org/eclipse/jgit/util/IO.java','AABOC3///Ck='),(264,8,'2011-12-12 21:49:53','P',1,'Done','AABOC3///Ck=',4786,1,'org.eclipse.jgit/src/org/eclipse/jgit/util/IO.java','AABOC3//+/s='),(169,8,'2011-12-13 22:17:43','P',1,'We could, but I\'m not sure how much it buys us, considering possible future support for e.g. UTF-16 as text, but most importantly we also need to buffer data and this keeps our logic a tiny bit simpler, which usually translates to faster code, though I have no proof whatsoever that is the case here.','AABODH///98=',4786,2,'org.eclipse.jgit/src/org/eclipse/jgit/util/io/AutoCRLFOutputStream.java','AABODH///64='),(169,5,'2011-12-13 09:01:06','P',1,'It\'s a shame. We already processed every little byte of the content up to know. We should have enough info to decide whether the file is binary or not. But now we have to call RawText.isBinary() which will read all the bytes again. Ok, it will read from memory and it can stop on the first 0 byte. But isn\'t there a chance that we incrementally ask RawText about binary/not-binary when we are processing the bytes in write(int b)? Then we could also stop buffering when RawText tells us its binary.',NULL,4786,2,'org.eclipse.jgit/src/org/eclipse/jgit/util/io/AutoCRLFOutputStream.java','AABODH///98='),(169,5,'2011-12-20 10:01:54','P',1,'With your attempt you are always reading the first 8000 bytes in a buffer, even if the already the first byte is null. And then, after you have buffered the first 8000 bytes you again process them (up to the first null).\n\nI suggest a solution which buffers everything up to the first null byte or the 8000th byte - whatever comes first (so potentially we buffer much smaller amount of data). And whenever you detect the first binary artefact (a decision which should be taken by RawText) you can stop doing the buffering & conversion for the rest of the stream.\n\nBut I see one problem with what I suggest: We would have to have a method RawText.isBinary(byte) (so we can ask RawText for every single byte we get). Do you expect that (e.g. with UTF-16 support) we come into a situation where RawText can\'t decide on binary/not-binary by looking at a single byte? If yes, then I agree that it\'s better to stay with your approach.','AABODH///64=',4786,2,'org.eclipse.jgit/src/org/eclipse/jgit/util/io/AutoCRLFOutputStream.java','AABODH///pU='),(169,8,'2012-01-13 09:51:34','d',1,'With UTF-16 we should probably decide on that just by looking for a BOM, but aside from that I believe reading 8k is not a problem, we\'d need to allocate this buffer to 8k right away in\nany case to get good performance. For almost all files we have\nto check the first 8k bytes because nul-bytes are very rare and those with mostly-binary repos probably have autocrlf set to false anyway.','AABODH///pU=',4786,2,'org.eclipse.jgit/src/org/eclipse/jgit/util/io/AutoCRLFOutputStream.java','AABODX//++Y='),(78,8,'2011-12-18 12:11:34','P',1,'Add a test for renaming a directory too',NULL,4790,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/MvCommandTest.java','AABODH///jA='),(76,8,'2011-12-18 12:11:34','P',1,'Behavior is very different from C Git here.\n\nIf a flle affected by the source was tracked but not in the index C Git fals. \n\nMv\'ing a directory without tracked files fails in C Git.\n\nYou can mv a directory without some untracked files and the whole directory will be renamed.\n\nThe -f and -k options are quite important to handle here.',NULL,4790,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/MvCommand.java','AABODH///i8='),(331,4,'2011-12-13 22:51:32','d',1,'style nit: trailing whitespace',NULL,4809,1,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/IndexDiffTest.java','AABODH///5s='),(57,4,'2011-12-13 22:48:16','d',1,'style nit: trailing whitespace',NULL,4809,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/errors/UnsafeCRLFException.java','AABODH///50='),(48,4,'2011-12-13 22:48:00','d',1,'something is missing in this sentence:\n\nto add a ?',NULL,4809,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/errors/UnsafeCRLFException.java','AABODH///54='),(526,4,'2011-12-13 22:49:25','d',1,'style nit: trailing whitespace',NULL,4809,1,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABODH///5w='),(7,4,'2011-12-15 22:32:33','P',1,'we use [DRAFT] or [RFC] to mark unfinished changes',NULL,4811,2,'/COMMIT_MSG','AABODH///uc='),(73,8,'2011-12-15 00:27:47','P',1,'nit-pick: no braces for simple single-statement constructs',NULL,4811,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABODH///yI='),(70,8,'2011-12-15 00:27:47','P',1,'Not done yet?',NULL,4811,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CleanOperation.java','AABODH///yM='),(71,4,'2011-12-15 22:32:33','P',1,'I think this is obvious, I would consider removing this comment',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABODH///vM='),(34,4,'2011-12-15 22:32:33','P',1,'? this is an action handler, the operation is another class or do I miss something ?',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABODH///vQ='),(70,8,'2011-12-15 00:27:47','P',1,'The dialog is way to narrow, make it at least twice as wide. I hate horizontal scroll bars.\n\nEnable multi-selection, so I can mark a region and press space or whatever to select/deselect a range.',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABODH///xg='),(63,8,'2011-12-15 00:27:47','P',1,'Gosh, how much can one ident?',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CleanActionHandler.java','AABODH///xk='),(214,4,'2011-12-15 22:32:33','P',1,'? again why tags here ?',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///u0='),(125,4,'2011-12-15 22:32:33','P',1,'why do we need a tag list here ?',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///u4='),(86,4,'2011-12-15 22:32:33','P',1,'how does this relate to tags ?',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///u8='),(300,4,'2011-12-15 22:32:33','P',1,'again why tags here ?',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///uk='),(282,4,'2011-12-15 22:32:33','P',1,'better name this getRepository()',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///uo='),(275,4,'2011-12-15 22:32:33','P',1,'don\'t use slang, better use setRepository()',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///us='),(251,4,'2011-12-15 22:32:33','P',1,'tags ?',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///uw='),(70,4,'2011-12-15 22:32:33','P',1,'what the heck is this? We are not handling tags here ...',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///vA='),(57,4,'2011-12-15 22:32:33','P',1,'this comment seems unnecessary, this looks obvious',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///vE='),(2,4,'2011-12-15 22:32:33','P',1,'don\'t you want to use a consistent email address throughout this commit ?',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///vI='),(51,4,'2011-12-15 22:32:33','P',1,'we don\'t use author tags, but we want javadoc for non-trivial public stuff',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///vY='),(256,8,'2011-12-15 00:27:47','P',1,'Remove ///',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///x0='),(190,8,'2011-12-15 00:27:47','P',1,'nit-pick: add a space after //',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///x4='),(137,8,'2011-12-15 00:27:47','P',1,'Don\'t leave away-commented code',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///x8='),(2,8,'2011-12-15 00:27:47','P',1,'What does this have to do with anything?',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///xo='),(105,8,'2011-12-15 00:27:47','P',1,'Make the dialog much much wider.\nI hate horizontal scroll bars.',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///xs='),(99,8,'2011-12-15 00:27:47','P',1,'we don\'t do this either',NULL,4811,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CleanTreeDialog.java','AABODH///yA='),(30,4,'2011-12-15 22:32:33','P',1,'add the OSGi dependencies in the manifest, project dependencies only work in Eclipse but won\'t in the maven build',NULL,4811,2,'org.eclipse.egit/.project','AABODH///ug='),(30,8,'2011-12-15 00:27:47','P',1,'We declare dependencies via OSGI, not this way',NULL,4811,2,'org.eclipse.egit/.project','AABODH///xw='),(7,4,'2011-12-14 22:41:13','P',1,'- style nit: trailing whitespace\n- better explain what this change adds instead of explaining what\'s missing',NULL,4816,1,'/COMMIT_MSG','AABODH///zM='),(114,4,'2011-12-14 22:39:56','P',1,'externalize error messages',NULL,4816,1,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java','AABODH///zc='),(13,4,'2011-12-14 22:39:56','P',1,'style nit: unnecessary blank line',NULL,4816,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CreatePatchAction.java','AABODH///zU='),(134,118,'2011-12-19 11:39:53','P',1,'I agree that error handling can be improved but I don\'t think it should be part of this bug/change. I would like to keep it as small as possible. I\'m fine with filing a separate bug for what you suggested and moving the discussion there. However, I would deal with IOException as suggested in the change if this is how it\'s currently done in EGit.','AABODH///mA=',4816,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java','AABODH///hI='),(134,8,'2011-12-17 00:12:07','P',1,'I think we should start catching Exception here and similar places where we\'d otherwise just fall off the end. \n\nProgramming errors resulting in NPE or similar seems to be much more common than I/O exceptions.\n\nMajor rework like this constitutes a good time to improve error handling.',NULL,4816,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java','AABODH///mA='),(134,8,'2011-12-23 11:56:53','P',1,'It can be fixed separately,','AABODH///hI=',4816,2,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java','AABODH///U4='),(225,8,'2011-12-17 00:12:07','P',1,'Fix indentation.',NULL,4816,2,'org.eclipse.egit.ui/plugin.xml','AABODH///lM='),(21,8,'2011-12-17 00:12:07','P',1,'fix indentation',NULL,4816,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CreatePatchActionHandler.java','AABODH///l8='),(29,8,'2011-12-17 00:12:07','P',1,'fix indentation, includiing the line you didn\'t change',NULL,4816,2,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/command/CreatePatchHandler.java','AABODH///l4='),(120,208,'2011-12-17 01:06:58','P',1,'Done','AABODH///ks=',4819,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReflogResolveTest.java','AABODH///j4='),(106,208,'2011-12-17 01:06:58','P',1,'Done','AABODH///kw=',4819,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReflogResolveTest.java','AABODH///j8='),(120,8,'2011-12-17 00:33:03','P',1,'Only catch RevisionSyntaxException here. Other exceptions are real errors.',NULL,4819,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReflogResolveTest.java','AABODH///ks='),(106,8,'2011-12-17 00:33:03','P',1,'Only catch RevisionSyntaxException here. Other exceptions are real errors.',NULL,4819,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReflogResolveTest.java','AABODH///kw='),(630,208,'2011-12-17 01:06:58','P',1,'Done','AABODH///k0=',4819,3,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java','AABODH///j0='),(630,8,'2011-12-17 00:33:03','P',1,'I\'m not sure we need to be this specific about why. That we think it\'s not good is enough. We\'ll change the allowed values soon anyway.',NULL,4819,3,'org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java','AABODH///k0='),(57,5,'2011-12-22 09:49:28','P',1,'I would call this class only MaxCountRevFilter. It\'s implicitly clear that it works on commits (Similar to AuthorRevFilter)',NULL,4827,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/filter/CommitMaxCountRevFilter.java','AABODH///W4='),(57,118,'2011-12-22 11:36:08','P',1,'Done. Also, I renamed the test class to match this one.','AABODH///W4=',4827,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/filter/CommitMaxCountRevFilter.java','AABODH///Ws='),(851,208,'2011-12-16 23:41:00','P',1,'I update the patch to check core.filemode when considering when to ignore working tree file modes and use the index file mode','AABODH///mM=',4828,3,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABODH///lo='),(851,208,'2011-12-16 23:19:13','P',1,'Oh cool, thanks for pointing that out, didn\'t know about that setting.','AABODH///mU=',4828,3,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABODH///mM='),(851,8,'2011-12-16 23:15:21','P',1,'We should check the core.filemode setting for this.',NULL,4828,3,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABODH///mU='),(525,208,'2011-12-17 01:02:27','P',1,'I think believe is still needed so that the test consistently passes on run on both windows and linux and consistently fails when run without the change to AddCommand','AABODH///lA=',4828,6,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java','AABODH///kU='),(525,8,'2011-12-17 00:07:39','P',1,'spell executableFs.\n\nNow that you obey filemode, the FS shouldn\'t matter anymore?',NULL,4828,6,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java','AABODH///lA='),(185,208,'2011-12-17 01:02:27','P',1,'Done','AABODH///lE=',4828,6,'org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java','AABODH///kQ='),(185,8,'2011-12-17 00:07:39','P',1,'The only difference we want NOT to care about is\nthat of regilar file vs executable file.\n\nThe only important difference here is symbolic link. I think our previous behaviour was to change from link to file, though that was by-accident. However if we don\'t do that we\'ll mess upp even more by creatig a symlink where the target is the content of the linked-ot-file.',NULL,4828,6,'org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java','AABODH///lE='),(767,8,'2012-01-03 23:01:33','P',1,'I missed this the previous turn, I think; when filemode is false both changes from regular to executable and vice verse should be ignored.',NULL,4828,13,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABODX///n4='),(767,208,'2012-01-03 23:07:17','P',1,'Done','AABODX///n4=',4828,13,'org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java','AABODX///nk='),(266,208,'2011-12-15 23:37:46','P',1,'Looks like a tab snuck in here',NULL,4831,1,'pom.xml','AABODH///tI='),(14,8,'2012-01-15 11:35:25','P',1,'Yes, I know this breaks the API. On the other hand we have been breaking the API all the time. This is one of the very few\ncommits thats *says* it breaks the API.\n\nI think this is a serious API bug, but maybe we should really clean up and call it 2.0. This is just one of many serious issues with the API.','AABODX//+vM=',4834,4,'/COMMIT_MSG','AABODX//+vA='),(14,4,'2012-01-15 10:54:54','P',1,'following OSGi API rules [1] and Eclipse versioning rules [2] this would require that we bump the major version as this breaks compatibility for consumers of the API\n\n[1] http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf\n\n[2] http://wiki.eclipse.org/Version_Numbering#When_to_change_the_major_segment',NULL,4834,4,'/COMMIT_MSG','AABODX//+vM='),(17,4,'2012-01-15 10:54:54','P',1,'remove this blank line so that all footers are in the last paragraph',NULL,4834,4,'/COMMIT_MSG','AABODX//+vQ='),(98,4,'2012-01-15 10:54:54','P',1,'don\'t declare the same exception twice',NULL,4834,4,'org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java','AABODX//+vU='),(100,4,'2011-12-20 00:05:25','d',1,'s/can can/can/',NULL,4845,1,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODH///bc='),(87,4,'2011-12-20 00:05:06','d',1,'s/argumnents/arguments/',NULL,4845,1,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODH///bg='),(62,4,'2011-12-20 00:04:35','d',1,'s/servers which contains/git servers which contain/',NULL,4845,1,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODH///bk='),(9,4,'2011-12-20 00:07:43','d',1,'should we mention that this is provisional for now ?',NULL,4845,1,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODH///bM='),(28,4,'2011-12-20 00:03:51','d',1,'style nit: trailing whitespace, more below',NULL,4845,1,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODH///bo='),(146,4,'2011-12-20 00:07:07','d',1,'do you want to leave this in ?',NULL,4845,1,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODH///bQ='),(160,4,'2011-12-20 00:06:20','d',1,'style nit: trailing whitespace',NULL,4845,1,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODH///bU='),(107,4,'2011-12-20 00:05:39','d',1,'s/argumnents/arguments/',NULL,4845,1,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODH///bY='),(134,4,'2011-12-20 00:09:08','d',1,'s/can can/can/',NULL,4845,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODH///a8='),(147,4,'2011-12-20 00:08:52','d',1,'no braces around single line',NULL,4845,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODH///bA='),(127,4,'2011-12-20 00:08:38','d',1,'no braces around single line',NULL,4845,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODH///bE='),(41,4,'2011-12-20 00:08:08','d',1,'no braces around single line',NULL,4845,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODH///bI='),(20,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+i8=',4845,3,'org.eclipse.egit.ui/plugin.properties','AABODX//+cQ='),(20,49,'2012-01-17 10:54:05','P',1,'this property seams to be not used',NULL,4845,3,'org.eclipse.egit.ui/plugin.properties','AABODX//+i8='),(160,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+is=',4845,3,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+cA='),(42,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+iw=',4845,3,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+cE='),(35,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+i0=',4845,3,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+cI='),(28,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+i4=',4845,3,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+cM='),(35,49,'2012-01-17 10:54:05','P',1,'tyle nit: trailing whitespace',NULL,4845,3,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+i0='),(28,49,'2012-01-17 10:54:05','P',1,'tyle nit: trailing whitespace',NULL,4845,3,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+i4='),(160,49,'2012-01-17 10:54:05','P',1,'tyle nit: trailing whitespace',NULL,4845,3,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+is='),(42,49,'2012-01-17 10:54:05','P',1,'tyle nit: trailing whitespace',NULL,4845,3,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+iw='),(91,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+iU=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+b0='),(89,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+iY=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+b4='),(87,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+ic=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+b8='),(146,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+iM=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+bs='),(127,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+iQ=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+bw='),(87,49,'2012-01-17 10:54:05','P',1,'this can be final',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+ic='),(146,49,'2012-01-17 10:54:05','P',1,'style nit: curly brackets',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+iM='),(127,49,'2012-01-17 10:54:05','P',1,'style nit: we don\'t use curly brackets around single line blocks',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+iQ='),(91,49,'2012-01-17 10:54:05','P',1,'this can be final',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+iU='),(89,49,'2012-01-17 10:54:05','P',1,'this can be final',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+iY='),(41,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+h8=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+bc='),(39,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+iA=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+bg='),(78,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+ho=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+bI='),(36,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+iE=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+bk='),(63,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+hs=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+bM='),(34,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+iI=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+bo='),(61,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+hw=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+bQ='),(59,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+h0=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+bU='),(57,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+h4=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+bY='),(59,49,'2012-01-17 10:54:05','P',1,'same as aboce',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+h0='),(57,49,'2012-01-17 10:54:05','P',1,'same as above',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+h4='),(41,49,'2012-01-17 10:54:05','P',1,'same as above',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+h8='),(78,49,'2012-01-17 10:54:05','P',1,'can be marked as final',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+ho='),(63,49,'2012-01-17 10:54:05','P',1,'same as above',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+hs='),(61,49,'2012-01-17 10:54:05','P',1,'same as above',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+hw='),(39,49,'2012-01-17 10:54:05','P',1,'can be final, why it its publicly accessible and don\'t you use getters/setters ?',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+iA='),(36,49,'2012-01-17 10:54:05','P',1,'missing java doc',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+iE='),(34,49,'2012-01-17 10:54:05','P',1,'this can be final',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+iI='),(28,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+hk=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/IRepositorySearchResult.java','AABODX//+bE='),(28,49,'2012-01-17 10:54:05','P',1,'I would add empty line between method name and closing \"}\"',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/IRepositorySearchResult.java','AABODX//+hk='),(30,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+hg=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/IRepositoryServerProvider.java','AABODX//+bA='),(30,49,'2012-01-17 10:54:05','P',1,'I would add empty line between method and closing \"}\"',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/IRepositoryServerProvider.java','AABODX//+hg='),(31,6,'2012-01-19 12:48:10','P',1,'Done','AABODX//+hc=',4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/RepositoryServerInfo.java','AABODX//+a8='),(31,49,'2012-01-17 10:54:05','P',1,'uri and label fields can be marked as final',NULL,4845,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/RepositoryServerInfo.java','AABODX//+hc='),(143,6,'2012-01-24 13:39:14','P',1,'Deleted as there is no supplied implementation.','AABODX//+Uo=',4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+C8='),(9,6,'2012-01-24 13:39:14','P',1,'This is a no-op ;-)','AABODX//+U4=',4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+CU='),(104,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+Us=',4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+DA='),(84,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+VA=',4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+DE='),(59,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+Uw=',4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+DI='),(52,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+U0=',4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+DM='),(52,4,'2012-01-20 00:17:40','P',1,'incomplete sentence',NULL,4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+U0='),(9,4,'2012-01-20 00:17:40','P',1,'s/search for/search for/',NULL,4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+U4='),(143,4,'2012-01-20 00:17:40','P',1,'?',NULL,4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+Uo='),(104,4,'2012-01-20 00:17:40','P',1,'typo: s/argumnents/arguments/',NULL,4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+Us='),(59,4,'2012-01-20 00:17:40','P',1,'s/which contains/containing/',NULL,4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+Uw='),(84,4,'2012-01-20 00:17:40','P',1,'typo s/argumnents/arguments/',NULL,4845,5,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+VA='),(82,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+Ug=',4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+C0='),(41,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+Uk=',4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+C4='),(135,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+UM=',4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+Cg='),(133,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+UQ=',4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+Ck='),(116,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+UU=',4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+Co='),(114,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+UY=',4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+Cs='),(107,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+Uc=',4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+Cw='),(107,4,'2012-01-20 00:17:40','P',1,'typo s/contains/contain/',NULL,4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+Uc='),(82,4,'2012-01-20 00:17:40','P',1,'typo: s/for used/used/',NULL,4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+Ug='),(41,4,'2012-01-20 00:17:40','P',1,'style nit: no curlies here',NULL,4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+Uk='),(135,4,'2012-01-20 00:17:40','P',1,'see comment above',NULL,4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+UM='),(133,4,'2012-01-20 00:17:40','P',1,'typo s/can can/can/',NULL,4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+UQ='),(116,4,'2012-01-20 00:17:40','P',1,'s/A client is responsible of caching/Clients are responsible to cache/',NULL,4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+UU='),(114,4,'2012-01-20 00:17:40','P',1,'typo s/Provides/provides/',NULL,4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+UY='),(118,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+UI=',4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+Cc='),(118,4,'2012-01-20 00:17:40','P',1,'I would add a blank line above this one',NULL,4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/GitRepositoryInfo.java','AABODX//+UI='),(72,6,'2012-01-24 13:39:14','P',1,'Done','AABODX//+UE=',4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/RepositoryServerInfo.java','AABODX//+CY='),(72,4,'2012-01-20 00:17:40','P',1,'s/needed for/needed to/',NULL,4845,5,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/RepositoryServerInfo.java','AABODX//+UE='),(9,6,'2011-12-20 16:59:50','P',1,'Done','AABODH///bw=',4846,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/AbstractGitCloneWizard.java','AABODH///ac='),(9,4,'2011-12-20 00:01:06','P',1,'this isn\'t true, you are moving quite some code written by others, so also move their copyright',NULL,4846,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/AbstractGitCloneWizard.java','AABODH///bw='),(151,6,'2012-01-24 13:39:35','P',1,'Done','AABODX//+T4=',4846,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/AbstractGitCloneWizard.java','AABODX//+CM='),(82,6,'2012-01-24 13:39:35','P',1,'Done','AABODX//+T8=',4846,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/AbstractGitCloneWizard.java','AABODX//+CQ='),(151,4,'2012-01-20 00:22:20','P',1,'missing description what this method does',NULL,4846,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/AbstractGitCloneWizard.java','AABODX//+T4='),(82,4,'2012-01-20 00:22:20','P',1,'s/has been made to/has been created in/',NULL,4846,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/AbstractGitCloneWizard.java','AABODX//+T8='),(2,6,'2011-12-20 17:00:21','P',1,'I remove this class, it is not yet needed.','AABODH///co=',4847,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/common/RepositoryLocationPage.java','AABODH///aY='),(2,4,'2011-12-19 23:56:31','P',1,'we have 2011',NULL,4847,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/common/RepositoryLocationPage.java','AABODH///co='),(6,6,'2011-12-20 17:00:21','P',1,'I remove this class.','AABODH///ck=',4847,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/common/SelectImportWizardPage.java','AABODH///aE='),(1,6,'2011-12-20 17:00:21','P',1,'I remove this class.','AABODH///cg=',4847,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/common/SelectImportWizardPage.java','AABODH///aI='),(1,4,'2011-12-19 23:56:31','P',1,'missing license header',NULL,4847,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/common/SelectImportWizardPage.java','AABODH///cg='),(6,4,'2011-12-19 23:56:31','P',1,'dead code ?',NULL,4847,1,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/common/SelectImportWizardPage.java','AABODH///ck='),(2,6,'2011-12-20 17:00:21','P',0,'Done','AABODH///cc=',4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///aA='),(2,4,'2011-12-19 23:56:31','P',0,'should be 2010-2011 ?',NULL,4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///cc='),(143,4,'2011-12-19 23:56:31','P',1,'style nit: why these blank lines ?',NULL,4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///cI='),(119,4,'2011-12-19 23:56:31','P',1,'externalize string ?',NULL,4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///cM='),(111,4,'2011-12-19 23:56:31','P',1,'typo',NULL,4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///cQ='),(74,4,'2011-12-19 23:56:31','P',1,'exception handling ?',NULL,4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///cU='),(9,4,'2011-12-19 23:56:31','P',1,'why are you removing Mathias here ?\nyour contribution is obviously not initial',NULL,4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///cY='),(111,6,'2011-12-20 17:00:21','P',1,'Done','AABODH///cQ=',4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///Z0='),(74,6,'2011-12-20 17:00:21','P',1,'Done','AABODH///cU=',4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///Z4='),(9,6,'2011-12-20 17:00:21','P',1,'Done','AABODH///cY=',4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///Z8='),(143,6,'2011-12-20 17:00:21','P',1,'Done','AABODH///cI=',4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///Zs='),(119,6,'2011-12-20 17:00:21','P',1,'Done','AABODH///cM=',4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODH///Zw='),(102,4,'2011-12-19 23:56:31','P',1,'nit: no braces around single line block',NULL,4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/RepositoryLocationContentProvider.java','AABODH///b8='),(36,4,'2011-12-19 23:56:31','P',1,'same question here',NULL,4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/RepositoryLocationContentProvider.java','AABODH///cA='),(31,4,'2011-12-19 23:56:31','P',1,'so this is work in progress ?',NULL,4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/RepositoryLocationContentProvider.java','AABODH///cE='),(102,6,'2011-12-20 17:00:21','P',1,'Done','AABODH///b8=',4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/RepositoryLocationContentProvider.java','AABODH///Zg='),(36,6,'2011-12-20 17:00:21','P',1,'Done','AABODH///cA=',4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/RepositoryLocationContentProvider.java','AABODH///Zk='),(31,6,'2011-12-20 17:00:21','P',1,'Done','AABODH///cE=',4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/RepositoryLocationContentProvider.java','AABODH///Zo='),(30,4,'2011-12-19 23:56:31','P',1,'remove TODO ?',NULL,4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/RepositoryLocationLabelProvider.java','AABODH///b4='),(30,6,'2011-12-20 17:00:21','P',1,'Done','AABODH///b4=',4847,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/RepositoryLocationLabelProvider.java','AABODH///Zc='),(256,6,'2012-01-24 13:39:58','P',1,'On my machine the behavior of this and the following test is the same with and without this change. Therefore I remove my changes here.','AABODX//+Tw=',4847,7,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/wizards/clone/GitCloneWizardTest.java','AABODX//+CI='),(256,4,'2012-01-20 00:34:25','P',1,'if it\'s broken either remove, ignore or fix it',NULL,4847,7,'org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/wizards/clone/GitCloneWizardTest.java','AABODX//+Tw='),(283,6,'2012-01-24 13:39:58','P',1,'Done','AABODX//+Ts=',4847,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODX//+CE='),(283,4,'2012-01-20 00:34:25','P',1,'remove extra blank after =',NULL,4847,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitImportWizard.java','AABODX//+Ts='),(1045,6,'2012-01-24 13:39:58','P',1,'Done','AABODX//+To=',4847,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABODX//+CA='),(1045,4,'2012-01-20 00:34:25','P',1,'s/to clone/to be cloned/',NULL,4847,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/uitext.properties','AABODX//+To='),(21,6,'2012-01-24 13:40:07','P',1,'Done','AABODX//+TE=',4848,8,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/SetRepositoryConfigPropertyTask.java','AABODn////8='),(21,4,'2012-01-20 07:38:13','P',1,'typo: s/propertes/properties/',NULL,4848,8,'org.eclipse.egit.core/src/org/eclipse/egit/core/op/SetRepositoryConfigPropertyTask.java','AABODX//+TE='),(257,6,'2012-01-24 13:40:07','P',1,'Done','AABODX//+TA=',4848,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/AbstractGitCloneWizard.java','AABODn////4='),(257,4,'2012-01-20 07:38:13','P',1,'style nit: no curly braces around single line blocks',NULL,4848,8,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/AbstractGitCloneWizard.java','AABODX//+TA='),(8,44,'2011-12-19 16:48:46','P',1,'Please add signed-off tag.',NULL,4850,1,'/COMMIT_MSG','AABODH///fc='),(229,44,'2011-12-19 16:48:46','P',1,'Why is this done only for JGitInternalException? It would also make sense for e.g. GitAPIException. So perhaps we could always return the cause (if not null).',NULL,4850,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/CommitUI.java','AABODH///fg='),(281,5,'2012-01-09 10:09:22','P',1,'you can replace these 5 lines by \"writeTrashFile(\"a.txt\", \"content1\")\"',NULL,4851,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitAndLogCommandTests.java','AABODX///Pk='),(388,5,'2012-01-10 09:07:57','P',1,'now I got it. I overlooked this exit of the loop. We can leave it as it is - the comment is not required.','AABODX///Lo=',4851,3,'org.eclipse.jgit/src/org/eclipse/jgit/api/CommitCommand.java','AABODX///Lc='),(388,4,'2012-01-09 23:11:25','P',1,'yeah, see line 335:\n\n // check if entry refers to a tracked file\n boolean tracked = dcTree != null || hTree != null;\n if (!tracked)\n       break;\n\n-> if hTree == null && dcTree == null this is untracked and we break out of the loop. \n\nIn order to make this clear here without reevaluating that dcTree isn\'t null if hTree is null we could add a comment:\n\n if (emptyCommit\n    && ( (hTree == null /* && dcTree != null (see tracked check above) */ ) \n     || !hTree.idEqual(fTree) \n     || hTree.getEntryRawMode() != fTree.getEntryRawMode()))','AABODX///Pg=',4851,3,'org.eclipse.jgit/src/org/eclipse/jgit/api/CommitCommand.java','AABODX///Lo='),(388,5,'2012-01-09 10:09:22','P',1,'doesn\'t \n  \"htree == null ||\"\nmean that if htree is null (e.g. because we are in a new repo and trying to do the first commit on master) we will always believe that we are processing a non-empty commit? What is if htree is null and nothing has been added to the index. Then I would expect emptyCommit to be true.',NULL,4851,3,'org.eclipse.jgit/src/org/eclipse/jgit/api/CommitCommand.java','AABODX///Pg='),(11,4,'2011-12-19 22:02:53','P',1,'AFAIK we don\'t require sign-off as per the contributor guide','AABODH///fw=',4857,1,'/COMMIT_MSG','AABODH///c4='),(11,44,'2011-12-19 16:31:08','P',1,'please add signed-off tag',NULL,4857,1,'/COMMIT_MSG','AABODH///fw='),(504,44,'2011-12-19 16:31:08','P',1,'Listener should be unregistered in dispose method.',NULL,4857,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java','AABODH///f0='),(497,44,'2011-12-19 16:31:08','P',1,'The listener is registered multiple times. This happens after branchRefs.remove(repo) called below.',NULL,4857,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java','AABODH///f4='),(497,8,'2011-12-28 00:26:14','P',1,'Done','AABODH///f4=',4857,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java','AABODX///7c='),(504,8,'2011-12-28 00:26:14','P',1,'Done','AABODH///f0=',4857,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java','AABODX///7Y='),(510,8,'2012-01-11 22:40:41','P',1,'Done','AABODX///Fc=',4857,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java','AABODX///Ek='),(506,8,'2012-01-11 22:40:41','P',1,'Done','AABODX///FY=',4857,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java','AABODX///Eo='),(510,44,'2012-01-11 14:49:40','P',1,'I think there should be one refsChangedListener per repo.\nIf there are two repositories it can happen that one listener is not unregistered.',NULL,4857,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java','AABODX///Fc='),(506,44,'2012-01-11 14:49:40','P',1,'Listener may be triggered for repo A, but last assignment of refsChangedListener was related to repo B.',NULL,4857,3,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/RepositoriesViewContentProvider.java','AABODX///FY='),(7,4,'2011-12-19 21:49:37','P',1,'AFAIK this isn\'t required as per the contributor guide','AABODH///fo=',4858,1,'/COMMIT_MSG','AABODH///dE='),(7,44,'2011-12-19 16:39:51','P',1,'please add signed-off tag',NULL,4858,1,'/COMMIT_MSG','AABODH///fo='),(157,44,'2011-12-19 15:23:24','P',1,'I wonder if this is enough. E.G. method setContent also modifies object state and is not synchronized.',NULL,4860,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/compare/LocalNonWorkspaceTypedElement.java','AABODH///gA='),(88,63,'2011-12-20 14:58:48','P',1,'The user may have selected a project. It seems to me like this check should also consider that?',NULL,4862,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CompareIndexWithHeadActionHandler.java','AABODH///Y0='),(88,44,'2011-12-20 15:11:16','P',1,'Done','AABODH///Y0=',4862,1,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/CompareIndexWithHeadActionHandler.java','AABODH///Yk='),(75,6,'2012-01-24 13:40:17','P',1,'I think that this is a bug in the form based editor. When I indent it in the source, the editor will include all the spaces into the test box which looks ugly. What should we prefer?','AABODX//+Sw=',4864,7,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODn////0='),(75,4,'2012-01-20 07:41:33','P',1,'why isn\'t this line indented ?',NULL,4864,7,'org.eclipse.egit.ui/schema/cloneSourceProvider.exsd','AABODX//+Sw='),(65,6,'2012-01-24 13:40:17','P',1,'Done','AABODX//+S4=',4864,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODn////w='),(65,4,'2012-01-20 07:41:33','P',1,'this line looks a bit too wide',NULL,4864,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/GitCloneSourceProviderExtension.java','AABODX//+S4='),(51,6,'2012-01-24 13:40:17','P',1,'Done','AABODX//+S0=',4864,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/RepositoryLocationLabelProvider.java','AABODn////s='),(51,4,'2012-01-20 07:41:33','P',1,'style nit: no braces around single line blocks',NULL,4864,7,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/clone/RepositoryLocationLabelProvider.java','AABODX//+S0='),(14,6,'2012-01-24 13:40:26','P',1,'Done','AABODX//+So=',4867,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/NoRepositoryInfoException.java','AABODn////o='),(14,4,'2012-01-20 07:44:19','P',1,'remove extra blank before *',NULL,4867,6,'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/provisional/wizards/NoRepositoryInfoException.java','AABODX//+So='),(163,208,'2012-01-03 03:38:43','P',1,'Couldn\'t this be done outside the try block?\n\nThen you wouldn\'t need to check for null in the finally block.',NULL,4869,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java','AABODX///rk='),(10,89,'2011-12-28 08:46:41','P',1,'https://appharbor.com/ returns such header. Native git is able to clone from appharbor. As I understand, it decides what protocol to use inside process_connect_service of transport-helper.c, and it doesn\'t check headers of response. That why I thought I can fix it like that.','AABODX///88=',4878,3,'/COMMIT_MSG','AABODX///7I='),(10,1,'2011-12-27 21:25:57','P',1,'What server is emitting a Content-Type of \"application/x-git-upload-pack-advertisement; charset=...\"?\n\nThe server is wrong.',NULL,4878,3,'/COMMIT_MSG','AABODX///88='),(264,208,'2011-12-27 19:15:40','P',1,'Two occurrences of \'the\'',NULL,4884,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/LogCommand.java','AABODX///+E='),(264,118,'2011-12-27 21:19:56','P',1,'Oops. Done.','AABODX///+E=',4884,1,'org.eclipse.jgit/src/org/eclipse/jgit/api/LogCommand.java','AABODX///9g='),(334,208,'2011-12-27 19:15:40','P',1,'Looks like maxCountMustBeNonNegative was moved and a trailing whitespace was introduced.',NULL,4884,1,'org.eclipse.jgit/src/org/eclipse/jgit/JGitText.java','AABODX///94='),(334,118,'2011-12-27 21:19:56','P',1,'I moved it on purpose, to keep alphabetical order. The whitespace was unintentional. Fixed.','AABODX///94=',4884,1,'org.eclipse.jgit/src/org/eclipse/jgit/JGitText.java','AABODX///9o='),(56,208,'2011-12-27 19:15:40','P',1,'Perhaps a better comment would be something like:\n\n\"Filter that includes commits after a configured number are skipped\"\n\n\"...show the commit output\" is specific to the log command.',NULL,4884,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/filter/SkipRevFilter.java','AABODX///+A='),(56,118,'2011-12-27 21:19:56','P',1,'Done.','AABODX///+A=',4884,1,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/filter/SkipRevFilter.java','AABODX///9k='),(93,118,'2011-12-28 12:03:39','P',0,'Done','AABODX///8k=',4884,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/LogCommandTest.java','AABODX///7A='),(93,208,'2011-12-27 21:36:40','P',0,'I think this unit test should be left as-is and two new unit tests should be added, one for skip only, and one for using skip and max together',NULL,4884,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/LogCommandTest.java','AABODX///8k='),(50,118,'2011-12-28 12:03:39','P',1,'Done','AABODX///8s=',4884,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/SkipRevFilterTest.java','AABODX///68='),(50,208,'2011-12-27 21:31:53','P',1,'Could you add a unit test for creating filter with a negative skip value?',NULL,4884,2,'org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/SkipRevFilterTest.java','AABODX///8s='),(118,118,'2011-12-28 12:03:39','P',1,'Definitely! I spotted that when rewriting LogCommandTest. My bad. Done.','AABODX///8g=',4884,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/LogCommand.java','AABODX///64='),(118,208,'2011-12-27 21:36:40','P',1,'Shouldn\'t an AndRevFilter be used when both skip and maxCount are set?\n\nOr am I misunderstanding the combined usage of the two?',NULL,4884,2,'org.eclipse.jgit/src/org/eclipse/jgit/api/LogCommand.java','AABODX///8g='),(59,118,'2011-12-28 12:03:39','P',1,'Done','AABODX///80=',4884,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/filter/SkipRevFilter.java','AABODX///60='),(78,118,'2011-12-28 12:03:39','P',1,'Done','AABODX///8w=',4884,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/filter/SkipRevFilter.java','AABODX///6w='),(59,208,'2011-12-27 21:31:53','P',1,'This should be final',NULL,4884,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/filter/SkipRevFilter.java','AABODX///80='),(78,208,'2011-12-27 21:31:53','P',1,'Count doesn\'t need to be explicitly initialized since it is 0 by default',NULL,4884,2,'org.eclipse.jgit/src/org/eclipse/jgit/revwalk/filter/SkipRevFilter.java','AABODX///8w='),(122,208,'2011-12-29 16:52:42','P',1,'Missing @Test annotation',NULL,4884,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/LogCommandTest.java','AABODX///48='),(122,118,'2011-12-29 17:08:22','P',1,'Oops. Done.','AABODX///48=',4884,3,'org.eclipse.jgit.test/tst/org/eclipse/jgit/api/LogCommandTest.java','AABODX///4s='),(67,208,'2011-12-29 17:17:15','P',1,'I think here down in this test can be removed, it seems to test the same things as testSkipRevFilter0',NULL,4884,6,'org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/SkipRevFilterTest.java','AABODX///4I='),(7,208,'2012-01-11 00:10:20','P',1,'Should be [historyView]',NULL,4887,1,'/COMMIT_MSG','AABODX///Gg='),(7,208,'2012-01-10 23:55:43','P',1,'Which commit editor does this refer to?',NULL,4888,1,'/COMMIT_MSG','AABODX///Gw=');
