{"thread":{"id":"30525","subject":"Some help on gitweb project.","startedAt":"2012-05-13T17:41:12Z","lastAt":"2012-05-15T00:17:50Z","messageCount":4,"participants":["jaseem abid","Andrew Sayers","Jakub Narebski"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"191469","messageId":"CAH-tXsAFMyrkAD1FWZKimbJt-gzmcyyXqt7gymtKozwfFt_aSA@mail.gmail.com","threadId":"30525","inReplyTo":null,"subject":"Some help on gitweb project.","fromName":"jaseem abid","fromEmail":"jaseemabid@gmail.com","sentAt":"2012-05-13T17:41:12Z","receivedAt":"2012-05-13T17:41:12Z","isPatch":false,"sender":{"key":"jaseemabid@gmail.com","avatar":"https://gravatar.com/avatar/8b0432c96e4d3c8a9a96c9961ee842df7b7a869744da9c25187a51a992eabd81?d=mp&s=160"},"body":"Dear all,\n\nCC : Andrew Sayers, Jakub Narębski\n\nI have been working on gitweb for a couple of days as part of a\nrejected GSoC proposal. I would love to get some help on this and if\nsomebody can, that would be thankful.\n\n1. How is code tested after some change? I am not talking about unit\ntesting but about making sure that application is doing what it is\nactually intended to do. Do you have to re - install git/gitweb with\nevery version of code you commit and make sure that it works well and\nas expected? Or, is there some other way? Sorry but I am a newbie when\nit comes to FOSS contribution and as well working on a project of this\nmagnitude.\n\nAs far as I understand, gitweb by default is looking for files from\n`/usr/share/gitweb/` (I work on Debian Sid if that helps). If I edit\nthe perl or some JavaScript code, how should I test it? *Install* my\nversion from source as mentioned in \"gitweb/INSTALL\" ?\n\n2. How I should be committing ?\n\nPersonally I commit on *very* small changes, so that I can easily get\nback to any point and do bisects well and good, but I see the patches\nin the mailing list to be polished and fine tuned. Commit somehow\ncomfortably and then polish it in another branch with rebase and\nsquashes and then submit it for comments on mailing list?\n\nRefer please: http://sethrobertson.github.com/GitBestPractices/#sausage\n\n3. How will I submit a commit like \"Adding jQuery library\"? Mail a\nwhole minimized JavaScript library to the mailing list? How can\nsomebody crosscheck the contents of a minimized JavaScript library ?\n\nEarlier Jakub mentioned about adding CDN support for the library,\nwhich I think is a very good feature. How should I do this? Add an\nextra config/build variable to select b/w local and CDN version ?\n\n4. At what stage is code to be submitted? After the full project is\ndone or in a modular manner? Can I ask for some review and help from\nif I push the code to github and share the link, or do I have to mail\nthat also? I don't want to repeat this :\nhttps://github.com/torvalds/linux/pull/17\n\n5. What should be my base commit/branch for starting the work ?\n\nV/r,\n\nJaseem Abid\nhttp://jaseemabid.github.com\n"},{"id":"191470","messageId":"CAH-tXsB06e9BfzxjFhbwMSx3Xb9TAy=qekSstqWcqkWt_PGWbg@mail.gmail.com","threadId":"30525","inReplyTo":"CAH-tXsAFMyrkAD1FWZKimbJt-gzmcyyXqt7gymtKozwfFt_aSA@mail.gmail.com","subject":"Re: Some help on gitweb project.","fromName":"jaseem abid","fromEmail":"jaseemabid@gmail.com","sentAt":"2012-05-13T18:11:02Z","receivedAt":"2012-05-13T18:11:02Z","isPatch":false,"sender":{"key":"jaseemabid@gmail.com","avatar":"https://gravatar.com/avatar/8b0432c96e4d3c8a9a96c9961ee842df7b7a869744da9c25187a51a992eabd81?d=mp&s=160"},"body":"On Sun, May 13, 2012 at 11:11 PM, jaseem abid <jaseemabid@gmail.com> wrote:\n>\n> Dear all,\n>\n> CC : Andrew Sayers, Jakub Narębski\n>\n> I have been working on gitweb for a couple of days as part of a\n> rejected GSoC proposal. I would love to get some help on this and if\n> somebody can, that would be thankful.\n>\n> 1. How is code tested after some change? I am not talking about unit\n> testing but about making sure that application is doing what it is\n> actually intended to do. Do you have to re - install git/gitweb with\n> every version of code you commit and make sure that it works well and\n> as expected? Or, is there some other way? Sorry but I am a newbie when\n> it comes to FOSS contribution and as well working on a project of this\n> magnitude.\n>\n> As far as I understand, gitweb by default is looking for files from\n> `/usr/share/gitweb/` (I work on Debian Sid if that helps). If I edit\n> the perl or some JavaScript code, how should I test it? *Install* my\n> version from source as mentioned in \"gitweb/INSTALL\" ?\n\n\nAdding a bit more to the last mail. In the specific case of gitweb, I\ncan sym link files from `/usr/share/giweb` or any installation folder\nto the working directory for testing. Then all I have to do is to\nrebuild the files and forget about moving the files to right place. Is\nit ok to develop this way? I am looking for some good practices here\non this.\n\n--\nJaseem Abid\nhttp://jaseemabid.github.com\n"},{"id":"191471","messageId":"4FB0032E.9060302@pileofstuff.org","threadId":"30525","inReplyTo":"CAH-tXsAFMyrkAD1FWZKimbJt-gzmcyyXqt7gymtKozwfFt_aSA@mail.gmail.com","subject":"Re: Some help on gitweb project.","fromName":"Andrew Sayers","fromEmail":"andrew-git@pileofstuff.org","sentAt":"2012-05-13T18:53:34Z","receivedAt":"2012-05-13T18:53:34Z","isPatch":false,"sender":{"key":"andrew-git@pileofstuff.org","avatar":null},"body":"Jaseem and I discussed this in IRC.  You can see the log here:\nhttp://colabti.org/irclogger/irclogger_log/git-devel?date=2012-05-13\n\nOr see the (roughly) equivalent text below.\n\nOn 13/05/12 18:41, jaseem abid wrote:\n> Dear all,\n> \n> CC : Andrew Sayers, Jakub Narębski\n> \n> I have been working on gitweb for a couple of days as part of a\n> rejected GSoC proposal. I would love to get some help on this and if\n> somebody can, that would be thankful.\n> \n> 1. How is code tested after some change? I am not talking about unit\n> testing but about making sure that application is doing what it is\n> actually intended to do. Do you have to re - install git/gitweb with\n> every version of code you commit and make sure that it works well and\n> as expected? Or, is there some other way? Sorry but I am a newbie when\n> it comes to FOSS contribution and as well working on a project of this\n> magnitude.\n\nYour later suggestion of symlinking /usr/share/giweb seems like it\nshould work.  Alternatively, you could point Apache straight at your\nrepo.  I don't think this is a situation where subtle issues creep up on\nyou - if it looks like it works, it probably does.\n\n> 2. How I should be committing ?\n\nPrivate commits are your own business.  When it comes time to push work\nout for public consumption, I like to think of it as telling a story -\nstart at the beginning and concisely explain what happened.\n\n> 3. How will I submit a commit like \"Adding jQuery library\"? Mail a\n> whole minimized JavaScript library to the mailing list? How can\n> somebody crosscheck the contents of a minimized JavaScript library ?\n\nProbably best not to include jQuery in git itself - aside from anything\nelse, it will be a big hassle to maintain.  Better to have a variable\nlike \"jquery_url\" with a default like\n\"https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js\" (i.e.\nGoogle's CDN).  That avoids the need to include jQuery in git, and lets\npeople e.g. link different gitweb instances to a single library on their\nlocal network.\n\n> 4. At what stage is code to be submitted? After the full project is\n> done or in a modular manner? Can I ask for some review and help from\n> if I push the code to github and share the link, or do I have to mail\n> that also? I don't want to repeat this :\n> https://github.com/torvalds/linux/pull/17\n\nI expect it will become obvious when to submit code as your work\ncontinues.  For example, if you get into TDD and write a bunch of unit\ntests before anything else, you might want to send them in their own\npatch series.  I guess it's more likely you'll end up with one big patch\nseries though.\n\nSpeaking for myself, I'm happy to look at code either here or on github.\n\n> 5. What should be my base commit/branch for starting the work ?\n\nDocumentation/SubmittingPatches says:\n\n - A new feature should be based on 'master' in general.\n\n\t- Andrew\n"},{"id":"191535","messageId":"201205150217.51844.jnareb@gmail.com","threadId":"30525","inReplyTo":"CAH-tXsAFMyrkAD1FWZKimbJt-gzmcyyXqt7gymtKozwfFt_aSA@mail.gmail.com","subject":"Re: Some help on gitweb project.","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2012-05-15T00:17:50Z","receivedAt":"2012-05-15T00:17:50Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On Sun, 13 May 2012, jaseem abid wrote:\n\n> Dear all,\n> \n> I have been working on gitweb for a couple of days as part of a\n> rejected GSoC proposal. I would love to get some help on this and if\n> somebody can, that would be thankful.\n> \n> 1. How is code tested after some change? I am not talking about unit\n> testing but about making sure that application is doing what it is\n> actually intended to do. Do you have to re - install git/gitweb with\n> every version of code you commit and make sure that it works well and\n> as expected? Or, is there some other way? Sorry but I am a newbie when\n> it comes to FOSS contribution and as well working on a project of this\n> magnitude.\n> \n> As far as I understand, gitweb by default is looking for files from\n> `/usr/share/gitweb/` (I work on Debian Sid if that helps). If I edit\n> the perl or some JavaScript code, how should I test it? *Install* my\n> version from source as mentioned in \"gitweb/INSTALL\" ?\n\nOne possibility is to install gitweb with \"make -C gitweb install\"\nor \"make install-gitweb\".\n\nThe other is to set up config file in such way that gitweb.perl\nwould work with it; see the config file for t950x tests, the one\ninside t/gitweb-lib.sh.\n\nThough in latter case you can miss some errors...\n \n> 2. How I should be committing ?\n> \n> Personally I commit on *very* small changes, so that I can easily get\n> back to any point and do bisects well and good, but I see the patches\n> in the mailing list to be polished and fine tuned. Commit somehow\n> comfortably and then polish it in another branch with rebase and\n> squashes and then submit it for comments on mailing list?\n> \n> Refer please: \nhttp://sethrobertson.github.com/GitBestPractices/#sausage\n\nFirst, I alway use [interactive] rebase or equivalen (like patch \nmanagement interfaces: StGit, Guilt, TopGit) to clean up patches\nprior to submission.\n\nSecond, please do not think that the first attemt must be perfect.\nThe usual workflow is that one send RFC patches, people comment,\ncorrected version is sent, etc., etc... until the patch series is\npolished to first get out RFC status then (if possible) get accepted.\n\n> 3. How will I submit a commit like \"Adding jQuery library\"? Mail a\n> whole minimized JavaScript library to the mailing list? How can\n> somebody crosscheck the contents of a minimized JavaScript library ?\n> \n> Earlier Jakub mentioned about adding CDN support for the library,\n> which I think is a very good feature. How should I do this? Add an\n> extra config/build variable to select b/w local and CDN version ?\n\nI think that it would be simpler to start with CDN support in the form\nof (for example) $jquery_url gitweb config variable and JQUERY_LINK\nbuild-time configuration variable.\n\nIn the case the Internet access is lacking or intermittent, $jquery_url\nmight be to static file not to CDN.\n\nAnd of course if ultimately we decide that we need to support providing \nout own work-tested version of gitweb, it can be done iff $jquery_url\nis undefined or empty string -- fallback to in-repo copy, perhaps \noutdated but tested that it works.\n\n> 4. At what stage is code to be submitted? After the full project is\n> done or in a modular manner? Can I ask for some review and help from\n> if I push the code to github and share the link, or do I have to mail\n> that also? I don't want to repeat this :\n> https://github.com/torvalds/linux/pull/17\n\nGit development is based on git mailing list, not GitHub web interface.\nIn early stages you can send pull requests by private email (to mentors)\nor to git mailing list; in final stages you better send patch series,\nunless series is long and with large patches -- then pull request via \nemail would be suitable.\n \n> 5. What should be my base commit/branch for starting the work ?\n\nAdd include for jQuery (Makefile, gitweb.cgi, gitweb.txt) and check it.\n\n-- \nJakub Narebski\nPoland\n"}]}