{"thread":{"id":"11809","subject":"git-p4 runs out of memory","startedAt":"2008-02-01T01:18:53Z","lastAt":"2008-02-01T01:18:53Z","messageCount":1,"participants":["Tommy Thorn"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"67001","messageId":"565265.29093.qm@web39507.mail.mud.yahoo.com","threadId":"11809","inReplyTo":null,"subject":"git-p4 runs out of memory","fromName":"Tommy Thorn","fromEmail":"tt1729@yahoo.com","sentAt":"2008-02-01T01:18:53Z","receivedAt":"2008-02-01T01:18:53Z","isPatch":false,"sender":{"key":"tommy-git@thorn.ws","avatar":null},"body":"Trying to survive in a heavily Perforce dominated \nworld, git-p4 looked like the perfect antidote. \nUnfortunately I have a few problems:\n\n0. git-p4 swells until it runs out of virtual space!\nIt\n   appears that the scripts tries to read everything \n   into memory:\n\n filedata = p4CmdList('-x - print',\n                      stdin='\\n'.join(['%s#%s' %\n(f['path'], f['rev'])\n                                       for f in\nfiles]),\n                      stdin_mode='w+')\n\n  Short of rewriting git-p4, is it possible to clone\nin\n  multiple steps?\n\n1. Short of full Perforce client support, support of \n   exclusion would have helped. Dmitry Kakurin\nprovided\n   a good start. I'll try to generalize it such that\n   multiple exclusion can be specified as \n\n     -//branch/file/blah\n\n2. Having \"git p4 commit\" be an alias of \n   \"git p4 submit\" seems a mistake - this is not a \n   commit like a git commit, but more like a git push.\n\nThanks\nTommy\n\n\n\n      ____________________________________________________________________________________\nBe a better friend, newshound, and \nknow-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ \n"}]}