{"thread":{"id":"27123","subject":"History for Strbuf and ParseOpts?","startedAt":"2011-04-17T15:13:45Z","lastAt":"2011-04-17T18:51:08Z","messageCount":3,"participants":["David Chanters","Jakub Narebski","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"166011","messageId":"BANLkTimg-a-k8wR-gotEYUQ+C3LcwsBGuw@mail.gmail.com","threadId":"27123","inReplyTo":null,"subject":"History for Strbuf and ParseOpts?","fromName":"David Chanters","fromEmail":"david.chanters@googlemail.com","sentAt":"2011-04-17T15:13:45Z","receivedAt":"2011-04-17T15:13:45Z","isPatch":false,"sender":{"key":"david.chanters@googlemail.com","avatar":null},"body":"[ Please CC me on replies.  Thanks! ]i,\n\nHi,\n\nI shouldn't conflate to two (parseopts and strbuf) but can someone\ntell me how these two things came about -- that is, when/why/how?  If\nI understand strbuf correctly, it's a transparent and dynamic way of\nhandling strings?  If so, how useful would it be as a separate\nproject?\n\nTIA!\n\nDavid\n"},{"id":"166014","messageId":"m3wriswxku.fsf@localhost.localdomain","threadId":"27123","inReplyTo":"BANLkTimg-a-k8wR-gotEYUQ+C3LcwsBGuw@mail.gmail.com","subject":"Re: History for Strbuf and ParseOpts?","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2011-04-17T18:19:31Z","receivedAt":"2011-04-17T18:19:31Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"David Chanters <david.chanters@googlemail.com> writes:\n\n> I shouldn't conflate to two (parseopts and strbuf) but can someone\n> tell me how these two things came about -- that is, when/why/how?  If\n> I understand strbuf correctly, it's a transparent and dynamic way of\n> handling strings?  If so, how useful would it be as a separate\n> project?\n\nI don't have a pointers to exchange of emails that started the road to\nstrbuf and parseopt, but both are described in the techical\ndocumentation (GIT API Documents):\n\n  Documentation/techical/*\n  http://www.kernel.org/pub/software/scm/git/docs/technical/api-index.html\n  \n  http://www.kernel.org/pub/software/scm/git/docs/technical/api-strbuf.html\n  http://www.kernel.org/pub/software/scm/git/docs/technical/api-parse-options.html\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"166017","messageId":"7vtydwaezn.fsf@alter.siamese.dyndns.org","threadId":"27123","inReplyTo":"BANLkTimg-a-k8wR-gotEYUQ+C3LcwsBGuw@mail.gmail.com","subject":"Re: History for Strbuf and ParseOpts?","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-04-17T18:51:08Z","receivedAt":"2011-04-17T18:51:08Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"David Chanters <david.chanters@googlemail.com> writes:\n\n> I shouldn't conflate to two (parseopts and strbuf) but can someone\n> tell me how these two things came about -- that is, when/why/how?\n\nI do this sort of digging fairly often.\n\nI am not going to do this particular one myself, but the general procedure\nis to first run \"git log --diff-filter=A strbuf.[ch] parse-options.[ch]\"\nto find which commits introduced them (hence, learn who did it, when and\nwhy), then go back to the list archive to find the discussions that lead\nto these changes.\n"}]}