{"thread":{"id":"26847","subject":"git2 cli (GSOC)","startedAt":"2011-03-24T02:02:32Z","lastAt":"2011-03-25T13:00:38Z","messageCount":2,"participants":["Motiejus Jakštys","Vicent Marti"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"164197","messageId":"20110324020232.GA10441@jakstys.lt","threadId":"26847","inReplyTo":null,"subject":"git2 cli (GSOC)","fromName":"Motiejus Jakštys","fromEmail":"desired.mta@gmail.com","sentAt":"2011-03-24T02:02:32Z","receivedAt":"2011-03-24T02:02:32Z","isPatch":false,"sender":{"key":"desired.mta@gmail.com","avatar":"https://gravatar.com/avatar/5d7d88e7b672acebe3472e92baccb5f933fbd282b6131e22e32d96e5818b5b38?d=mp&s=160"},"body":"Hello folks,\n\nIMHO libgit2 is the best thing happening in Git world. Why? In world of\ngood software:\n\n1) You implement a prototype of a thing (e83c516 probably)\n2) See it's cool\n3) Make it work and and all others start using it\n4) Clean it up\n5) Make it run on your watch.\n\nlibgit started git's way to (4). Note: I'm not saying git is \"bad\". It\nhas just hell too many dependencies for a watch.  When libgit2 and git2\nare mature enough, it will run on Android and my watch.\n\nThere were some ideas in this mailing list about merging libgit2 to git\na couple of days ago. I think that's pointless, it should be the other\nway around. Git features should get to libgit2 and git2.\n\nWorking is better than talking, so I created a git2 cli prototype[1]. It\nhas one feature, which is (should be?) equivalent to:\n    $ git rev-list HEAD\n\nYou can run it like this:\n    $ git2 rev-list <anything>\n\nI created a very, very rough draft of git2.c. Thanks Jeff King for\nadvise[3] starting with a basic plumbing command. Those couple of hours\nwere quite interesting, because none of the human-readable API\ndocumentation examples[4] I've tried actually worked. :)\n\nWe have some architecture questions to answer before getting started.\nAre we aiming for a distributed 100s of executables architecture\n(current git), or single huge binary (linux/busybox)? I would count for\nsingle executable due to higher portability. However, plugging git2 for\ngit unit tests should require more thought.\n\nBuild configuration. Git-send-email is not really a must-have for an\nembedded device, so we should be able to specify these features in\nconfigure-time. How do you think it should be taken care of?\n1) <buildtool> configure  --disable-everything --enable-email\n2) make menuconfig and enjoy the blue screen of choice\n3) ?\n\nBuild tool. I am not against waf (I've chosen waf for SoundPatty), I've\nbeen using it, but it's too clumsy for me. Is it me that lacks\nexperience and it's a great tool, or am I not the only one who sometimes\nfeels confused and pissed off when trying to do some really simple\nthings? Should I stick to waf because libgit2 uses waf?\n\nI want to do this hell a lot. I'm a student and I have C++\nexperience[2]. Actually I think it's not really my taste, since it is\ntoo high-level for me. I love C and currently I am a full-time Python\nweb developer (django/friends)... I couldn't sleep for the last two\nnights because libgit2 peaked my interest and my performance at work was\nquite terrible. I see you are + for this tool as I am, so we might have\nsome great work together. Anyone would like to be a mentor?\n\nAbout me.. I already told quite a lot, but you can find more info\n(probably that means only CV) in my personal websites[5][6].\n\n[1] https://github.com/Motiejus/git2/\n[2] https://github.com/Motiejus/SoundPatty/\n[3] http://marc.info/?l=git&m=130081966214059&w=4\n[4] http://libgit2.github.com/api.html\n[5] http://m.jakstys.lt/\n[6] https://github.com/Motiejus/ :-)\n\nRegards,\nMotiejus Jakštys\n"},{"id":"164294","messageId":"AANLkTimHpRFSYTgiqiPonQGiEVZtkCeX_tJcVjjnNSaX@mail.gmail.com","threadId":"26847","inReplyTo":"20110324020232.GA10441@jakstys.lt","subject":"Re: git2 cli (GSOC)","fromName":"Vicent Marti","fromEmail":"vicent@github.com","sentAt":"2011-03-25T13:00:38Z","receivedAt":"2011-03-25T13:00:38Z","isPatch":false,"sender":{"key":"vicent@github.com","avatar":"https://gravatar.com/avatar/9d57a2b1e3137bf84342ac1dfdf1cde409b86e8fda5397d05f40f17fa5b84a63?d=mp&s=160"},"body":"Yo Motiejus,\n\nsorry I missed this. That's quite the headstart you got going here\n(although maybe a little bit too ambitious). Of course there's people\ninterested on mentoring this -- make sure you submit a proper\napplication on Melange when the application period opens, and we'll\nlook into it with more detail.\n\nCheers,\nVicent Marti\n\n\n\n2011/3/24 Motiejus Jakštys <desired.mta@gmail.com>:\n> Hello folks,\n>\n> IMHO libgit2 is the best thing happening in Git world. Why? In world of\n> good software:\n>\n> 1) You implement a prototype of a thing (e83c516 probably)\n> 2) See it's cool\n> 3) Make it work and and all others start using it\n> 4) Clean it up\n> 5) Make it run on your watch.\n>\n> libgit started git's way to (4). Note: I'm not saying git is \"bad\". It\n> has just hell too many dependencies for a watch.  When libgit2 and git2\n> are mature enough, it will run on Android and my watch.\n>\n> There were some ideas in this mailing list about merging libgit2 to git\n> a couple of days ago. I think that's pointless, it should be the other\n> way around. Git features should get to libgit2 and git2.\n>\n> Working is better than talking, so I created a git2 cli prototype[1]. It\n> has one feature, which is (should be?) equivalent to:\n>    $ git rev-list HEAD\n>\n> You can run it like this:\n>    $ git2 rev-list <anything>\n>\n> I created a very, very rough draft of git2.c. Thanks Jeff King for\n> advise[3] starting with a basic plumbing command. Those couple of hours\n> were quite interesting, because none of the human-readable API\n> documentation examples[4] I've tried actually worked. :)\n>\n> We have some architecture questions to answer before getting started.\n> Are we aiming for a distributed 100s of executables architecture\n> (current git), or single huge binary (linux/busybox)? I would count for\n> single executable due to higher portability. However, plugging git2 for\n> git unit tests should require more thought.\n>\n> Build configuration. Git-send-email is not really a must-have for an\n> embedded device, so we should be able to specify these features in\n> configure-time. How do you think it should be taken care of?\n> 1) <buildtool> configure  --disable-everything --enable-email\n> 2) make menuconfig and enjoy the blue screen of choice\n> 3) ?\n>\n> Build tool. I am not against waf (I've chosen waf for SoundPatty), I've\n> been using it, but it's too clumsy for me. Is it me that lacks\n> experience and it's a great tool, or am I not the only one who sometimes\n> feels confused and pissed off when trying to do some really simple\n> things? Should I stick to waf because libgit2 uses waf?\n>\n> I want to do this hell a lot. I'm a student and I have C++\n> experience[2]. Actually I think it's not really my taste, since it is\n> too high-level for me. I love C and currently I am a full-time Python\n> web developer (django/friends)... I couldn't sleep for the last two\n> nights because libgit2 peaked my interest and my performance at work was\n> quite terrible. I see you are + for this tool as I am, so we might have\n> some great work together. Anyone would like to be a mentor?\n>\n> About me.. I already told quite a lot, but you can find more info\n> (probably that means only CV) in my personal websites[5][6].\n>\n> [1] https://github.com/Motiejus/git2/\n> [2] https://github.com/Motiejus/SoundPatty/\n> [3] http://marc.info/?l=git&m=130081966214059&w=4\n> [4] http://libgit2.github.com/api.html\n> [5] http://m.jakstys.lt/\n> [6] https://github.com/Motiejus/ :-)\n>\n> Regards,\n> Motiejus Jakštys\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n>\n"}]}