google code tutorial via chat

Upload: vinnipogo

Post on 30-May-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 Google Code Tutorial via Chat

    1/13

    GLUG Meerut

    Fwd: "Quick Start Chat" to Google Code Hosting for newbies {#qsc

    #google}

    narendra sisodiya

    ---------- Forwarded message ----------From: narendra sisodiya Date: Thu, Nov 5, 2009 at 12:46 AMSubject: "Quick Start Chat" to Google Code Hosting for newbies {#qsc #google}To: IITDLUG Cc: [email protected]

    Hi, I normally avoid chatting on Linux topic. and I hate whensomeone ask his/her problem on chat. I hate because It is one to onecommunication. I redirect such newbies to mailing list so that other

    can participate into it. Google index mailing list thread so thatother can read such thread after google search. But I found one usefulthing in one to one chat system. one of one chat system can be usefulfor guiding the procedure to newbies.

    Today when Abhishek Indoria (A 14 year old school boy, OLPCcontributor) asked me how he can put his source code to some hostingsite, I immediately got idea of "Quick Start Chat". In this system Ihave explained him each and every steps and he followed all steps. Ialways wanted to make a tutorial on how to get started with googlecode hosting but now I have spent 2-3 hour teaching on chat to produce"quick start chat". You can also blog such "quick start chat" astutorial.

    11:22 AM Abhishek: Dude, I know you may be busy...erm..do you knowabout GIT? or subversion?11:23 AM me: I have used only svn

    but git is something which is better to learnAbhishek: erm...I need to set up my whole project source code online...how do I do that?

    11:24 AM me: you can do it using sourceforge or Google code hostinggoogle code hosting use SVGyou can use github toogithub use GIT

    11:25 AM Abhishek: Sourceforge.net seems good...But, I need to upload

    the Source in zip or rar or .tar format instead of erm...open editingversion like GIT or SVN?me: no no ,, do not upload tar or zip file

    11:26 AM first create a project on these siteand then make a checkout

    Abhishek: I have created the project...Checkout?me: yes,,, checkout the empty projectAbhishek: You know, I feel like stupid as I am only 14 and have loads

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    of 13 06/29/2010 11:15

  • 8/9/2019 Google Code Tutorial via Chat

    2/13

    to learn;)me: then put your files into it

    11:27 AM seee, I learn these things at the age of 24,,,after making a empty checkout ,, you need to paste files into itthen add files using

    11:28 AM svn add filename.cppafter that you need to comit the files

    using "svn ci" commandAbhishek: Ohh..Okay, I am logging into sourceforge...I'll see what I

    can do, thanks;) Did you read The Lost Symbol by Dan Brown or Code toZero by Ken Follet?11:29 AM me: I suggest to use google code hosting,,

    I have used it ,, and it has cool featuresAbhishek: Erm.. The thing is...whenever I try Google Code, I can't upload a damn single file.. Dunno why:(

    11:30 AM me: Let me guide you,,Do you have svn installed ??

    Abhishek: yup.wait...

    11:31 AM I reinstalled Ubuntu yesterday,,, SVN Not installed...me: ok,, just install svn command,,it wont take much time

    11:32 AM mean while go to google code hostingand create a new project

    Abhishek: okay...me: http://code.google.com/hosting/createProjectdo you have google wave account ?

    11:33 AM Abhishek: No..but I have already created a project..whats google wave?11:34 AM me: leave google wave,,, Give me link to google project

    your project linkAbhishek: wait please.

    11:35 AM code.google.com/p/boomingbang/me: click it,, and go to source tab

    11:36 AM Abhishek: okay..now?

    me: yupyou can see checkout command

    Abhishek: yes...11:37 AM me: send me11:38 AM Abhishek: eh.. svn checkouthttps://boomingbang.googlecode.com/svn/trunk/boomingbang --usernamehackerboymayabhi

    when I do that...it sayssvn: URL 'https://boomingbang.googlecode.com/svn/trunk'doesn't existme: see,, you have deleted the trunk

    11:39 AM When you create the new project it make 4 directory1) trunk2) wiki3) branch4) tag

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    2 of 13 06/29/2010 11:15

  • 8/9/2019 Google Code Tutorial via Chat

    3/13

    Abhishek: oh..me: you it will suggest you to make new project

    11:40 AM just delete it and create new projectAbhishek: okay..

    11:42 AM http://code.google.com/p/imperius/11:43 AM me: Now go to source code and give me the checkout command11:44 AM Abhishek: now. it says CHECKED OUT REVISION 1...wait... svn

    checkout https://imperius.googlecode.com/svn/trunk/ imperius--username hackerboymayabhi ...DO you need the password?me: Nope,never share password

    Abhishek: okay.me: now open a terminalAbhishek: doneme: and create a directory where you want to create code

    11:45 AM exmkdir MyProjectcd MyProjectnow apply same command by remove trunk out of it

    11:46 AM svn checkout https://imperius.googlecode.com/svn/ imperius--username hackerboymayabhi11:47 AM Abhishek: kayme: show me the outputIt will ask for password, it is there at google code website

    11:48 AM Abhishek: A imperius/trunkA imperius/branchesA imperius/tagsChecked out revision 1.me: finenow you can see 3 directorywhich you have checked out

    Abhishek: okay...11:49 AM me: see trunk will be needed for your code

    so now cd trunkAbhishek: okay.

    11:50 AM me: send me output of these 3 command - pwd, ls -l. svn statusAbhishek: wait, please.pwd -- /media/Disk 3/BoomingBang/codenamei/imperius/trunk

    11:51 AM ls -l : total 0svn status ... Nothing.

    me: ok,now create a new file

    or you can directly paste your code file here11:52 AM Abhishek: I have folders too...me: I will show you how to add commit using one file,,you can do that later

    11:53 AM just paste one fileAbhishek: okay.done

    11:54 AM me: give me "svn status"

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    3 of 13 06/29/2010 11:15

  • 8/9/2019 Google Code Tutorial via Chat

    4/13

    Abhishek: ? configurethats the status ^^

    11:55 AM me: yes, it is saying, It is that configure is a new filenow you need to add this file to svn systemapply"svn add configure" command

    11:56 AM Abhishek: saying: A configure

    I think done.me: yes,, but change are localyou need to comit the change to mail projectuse"svn ci filenames" to comit

    11:57 AM now use "svn ci configure"give me the output

    Abhishek: --This line, and those below, will be ignored--

    AM configureThere is NANOtext editor

    11:58 AM okay...me: yes,, while commiting the files you need to write comments

    11:59 AM and then save itAbhishek: after the saving of file, though I entered it empty;)

    ...Its saying...Adding configureTransmitting file data .Committed revision 2.me: Wow,,,check the code,,google url

    http://code.google.com/p/imperius/updates/list12:00 PM It is listing your changes

    can you add me in your project for a moment so that I will showsomething more,,,Abhishek: wow:) Excellent...thanks..okay, I can add you...me: this is just 30%

    12:01 PM tutorialsee your files at

    http://code.google.com/p/imperius/source/browse/#svn/trunkAbhishek: commitors or owners or contributors?

    12:02 PM me: commiterjust add me as commiter

    12:03 PM Abhishek: okay.12:04 PM done12:05 PM me: just a secound12:06 PM checking out code now12:08 PM I have added a new test file,,12:09 PM just apply svn status command

    send me the outputAbhishek: nothing.

    12:11 PM me: svn status --show-updates --verbosetry this

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    4 of 13 06/29/2010 11:15

  • 8/9/2019 Google Code Tutorial via Chat

    5/13

    give me output12:12 PM Abhishek: * test.cpp2 2 hackerboymayabhi configure* 1 1 ? .Status against revision: 312:13 PM messed up:)me: try "svn st -u"

    12:14 PM Abhishek: * test.cpp* 1 .Status against revision: 3me: yes,

    12:15 PM it means,, your files are not uptodated,,just apply "svn update" commandto get latest code by other developers

    Abhishek: okay..done that.me: always send output of each command

    12:16 PM Abhishek: A test.cppUpdated to revision 4.me: see, I have made 2 rivision,,

    so now our code is at revision number 412:17 PM everytime you update change to trunk, It will make a newrevision numberAbhishek: okayme: anytime you can switch to old revision number toonow you modify test.cpp

    12:18 PM Abhishek: how? ci is not working.me: you have test.cpp file?Abhishek: yup!

    12:19 PM me: just open with any editor and add somethingadd a linedone??

    12:20 PM Abhishek: yeah.me: apply,, svn stsvn statusboth are same commandapply anyone

    Abhishek: nothing...12:21 PM me: if you apply svn st command , It will give you somethinglike - "M test.cpp"

    give me output of ls, cat test.cpp12:22 PM Abhishek: ls : configure test.cpp

    cat:::::::: test.cpp#include

    using namespace std;int main(){//hello , code is still incomplete ;cout

  • 8/9/2019 Google Code Tutorial via Chat

    6/13

    Abhishek: nothing:(me: I think you can not saved your changes

    12:24 PM what editor you are using?Abhishek: geditme: Oppps

    12:25 PM Abhishek: it says..at revision 5me: you can commit your changes,, It wont show,,,

    why you commited your changes,, :( I didn't told you,,now modifiy the file again using gedit

    Abhishek: sorry:(12:26 PM done.me: now apply svn st

    12:27 PM or svn statusAbhishek: M test.cppme: yes,, This mean,, test.cpp is modified by you,,

    12:28 PM you can check the d ifferecealsoapply "svn d iff test.cpp"send output

    Abhishek: Index: test.cpp===================================================================- test.cpp (revision 5)+++ test.cpp (working copy)@@ -6,4 +6,5 @@return 0;}// I know that code is incomplete+// I know I am a jerk and I don't like C++12:29 PM me: this is a text based +/- line which will tell you whatyou have added and de leted

    but I will suggest to useGUI diff tool

    Abhishek: okay...12:31 PM me: I saw your comit,, you are now sending log message while comitting

    see th is url,, http://code.google.com/p/imperius/source/list

    you can see differece b/w comit by you are me12:32 PM apply commandAbhishek: got that..listme: export SVN_EDITOR="vi"you need to set environment variable,,have you used vi edut???

    12:33 PM ever??Abhishek: I used vi edit...nor edut;)me: ever was mispelt as edut

    12:34 PM have you appled that export commandAbhishek: yesme: now appy "svn ci" command to comit your changes

    12:36 PM press "i" in vi editor to write comment (log message), themuse Esp + ":wq" + "Enter" to save log

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    6 of 13 06/29/2010 11:15

  • 8/9/2019 Google Code Tutorial via Chat

    7/13

    Abhishek: done.me: ok,,

    12:37 PM so you have lean ,,, adding files and commiting files*learn

    Abhishek: yup!12:39 PM me: you can anytime compare the changes in two revision12:40 PM Abhishek: okay...what about folders? when I have to upload them?

    12:41 PM me: just paste folder(directory) into trunkthen add folder and filesusingsvn add commandpaste folder

    Abhishek: okay. thanksme: nowlets do it

    12:42 PM Abhishek: okay...should I update?12:43 PM me: let me send "svn st -u"12:44 PM Abhishek: ?12:45 PM should I commit?

    me: no,, first send me out of "svn st"also install "diffuse" in other tab,,,

    12:46 PM this will needed to view the source code changes12:47 PM ??Abhishek: installingdone.

    12:48 PM now what?me: have you added the folder??to svn ??locally

    12:49 PM plz send me output of "svn st -u" command12:50 PM Abhishek: A 0 build/m4A 0 build/m4/sdl.m4A 0 build/m4/ax_cflags_warn_all.m4A 0 build/m4/libcurl.m4A 0 build/m4/po.m4A 0 bu ildStatus against revision: 6me: ok,,you have added correctly,now comit

    12:51 PM Abhishek: okay...done Adding trunk/build

    Adding trunk/build/m4Adding trunk/build/m4/ax_cflags_warn_all.m4Adding trunk/build/m4/libcurl.m4Adding trunk/build/m4/po.m4Adding trunk/build/m4/sdl.m4Transmitting file data ....Committed revision 7.12:52 PM me: Wow,,...

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    7 of 13 06/29/2010 11:15

  • 8/9/2019 Google Code Tutorial via Chat

    8/13

    this is simply great12:53 PM see,,, you are committing the files and folders inside trunk,,Abhishek: hmm..got it... and, if I want to release a software, then?me: trunk is used for development purpose,,

    12:54 PM after making sufficient revision, you can branch out the codethat is why the branch folder existyou need to make a new directory into branch folder

    12:55 PM mkdir branches/v0.001Abhishek: okay...me: now,, let support you are at revision 567 in trunk

    12:56 PM Abhishek: hmm...me: now you can use copy command to transfer the CURRENT code from

    trunk code to branch folderAbhishek: okay...me: BUT remember you should not use copy command of linuxyou need to use svn copy command

    12:57 PM you can read tutorial also , how to make branch using svnlet me search

    Abhishek: okay..thanks buddy;)

    me: Let try out now,,12:58 PM Hope you are now getting bore !! or late

    ?Let try out now,, Hope you are now getting bore !! or late

    Abhishek: nothing...We can try:)me: so,, send me "pwd"Abhishek: /media/Disk 3/BoomingBang/codenamei/imperius/trunk

    12:59 PM me: apply cd ..it means go back one directory uop

    Abhishek: i know;) okay, what now, please?1:00 PM me: no no ,, send me output of pwd now,,,Abhishek: /media/Disk 3/BoomingBang/codenamei/imperiusme: ok,, great,,now apply this command

    1:01 PM svn copy trunk branches/v0.1Abhishek: A branches/v0.1me: apply "svn st" now,,send me output

    Abhishek: A + branches/v0.11:02 PM me: wow,,, it means you have added a new branch,,,

    now comit ityou know how to comit

    1:03 PM and send me the output

    Abhishek: yes..done...Adding branches/v0.1Adding branches/v0.1/buildAdding branches/v0.1/test.cpp

    Committed revision 8.me: just check the url

    http://code.google.com/p/imperius/source/browse/#svn/branchesnow,, it is showing your branch

    1:04 PM Abhishek: yes

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    8 of 13 06/29/2010 11:15

  • 8/9/2019 Google Code Tutorial via Chat

    9/13

    me: Ok,,1:05 PM now suppose your friend want v0.1 version

    how you will send him??1:06 PM Abhishek: erm...update it?me: Nope ..... In such case you need to send him the readonly mode

    source checkout urlopen a new terminal

    with another locationfresh location may be home folder

    1:07 PM Abhishek: okayme: send me pwdAbhishek: /home/abhishek/me: ok,,now apply this commandsvn checkout http://imperius.googlecode.com/svn/branches/v0.1

    1:08 PM Abhishek: A v0.1/buildA v0.1/build/m4A v0.1/build/m4/sdl.m4A v0.1/build/m4/ax_cflags_warn_all.m4

    A v0.1/bu ild/m4/libcurl.m4A v0.1/build/m4/po.m4A v0.1/test.cppA v0.1/configureU v0.1Checked out revision 8.Whats this?me: You have checkout the branch v0.1you can checkhome folderthere will be new directorycalled v0.1

    1:09 PM Abhishek: yeah..there is:)me: we have done a small mistake while creating our branchAbhishek: what mistake?

    1:10 PM me: we would have applied this command --- "svn copy trunkbranches/imperius-v0.1

    if you would have applied this commandour branch name would be "imperius-v0.1"

    1:11 PM Abhishek: hmm...right

    me: and new folder created in your friend's directory will be namedas "imperius-v0.1" and not "v0.1"

    it was my mistake...Abhishek: hey..don't worry..we are just practicing.1:12 PM me: using this you can send new branch to your friends to downloadAbhishek: okay...great:)me: Do you know why branch;s are needed ??

    1:13 PM Abhishek: erm..not sure...But for releases?me: Yes,, release can be one advantage,, butLet suppose we are a team of 100 developers

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    9 of 13 06/29/2010 11:15

  • 8/9/2019 Google Code Tutorial via Chat

    10/13

    1:14 PM Abhishek: okayme: and if everybody work in trunk, It will get many problem;s

    because not everybody work on same featureAbhishek: hmm...

    1:15 PM me: may be if 2 developer want to work on special featurewhich you do not want to be part of trunk now ,,

    Abhishek: I can put it in branch...?

    me: then you can branch out the code to new unstable branch and thenjust use branch

    In my company ,, I am working on separate branch ,,1:16 PM of main project,,

    after a month, we use to merge chnages,,Abhishek: got it:)me: You have just committed some code in main trunkAbhishek: yes...

    1:17 PM me: using same procude you can now comit in branch toocd branches/v0.1

    Abhishek: got it:) thankme: and then start editing code and comit it,,

    Abhishek: what is Tags?me: Well I have not used tage much,, but let me try to explain it,,

    1:18 PM Abhishek: okay...1:19 PM me: Let assume you are working in trunk code

    and everyday you will modify the code1:20 PM you want use to try it,,,Abhishek: hmm...me: but by this way they will execute the current trunk codewhich may be unstalbe

    Abhishek: yeah...1:21 PM me: so,, during the time of developemt you felt like this canbe good tryout demo,,

    then you can put the tag "stable"1:22 PM now you have a "stable" tag into tag folder

    now you can give link to stable code as1:23 PM svn checkout http://imperius.googlecode.com/svn/tags/stableAbhishek: hmm..got itme: now user will download stable code that that momentAbhishek: okay...me: now you can add new code to main trunkthis will not go to "stable" folder

    1:24 PM after some time when you feel, that you are ready to make anew stable point, just move the "stable" tag

    to current oneAbhishek: okay...1:25 PM me: "tags" demote the stage of code at perticular instance of time

    it is almost similar to "branches"Abhishek: hmm...now our team can upload our work;)

    1:26 PM me: but in branch you can comit but in "tags" you cannot comit(in my knowledge)Abhishek: okay

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    0 of 13 06/29/2010 11:15

  • 8/9/2019 Google Code Tutorial via Chat

    11/13

    me: Have you go the idea of a ll these thingAbhishek: yeah..I got it:) thanks

    1:27 PM me: See Google code hosting also provide Bug Tackerdo you about it ??

    Abhishek: I d idn't know...me: click it,, http://code.google.com/p/imperius/issues/list you will

    see the issue/bugs

    Abhishek: oh...right:) thanks1:28 PM me: currently there are not bug there,,

    when user will see any bug , they will file bug here1:29 PM anyone can enter new bug hereAbhishek: hmm...me: developer will get to know about bugs and they can assign bug to

    other developer1:30 PM after fixing bug they can close the bug....Abhishek: Wow! This is far better than I thought.me: see this project -- you can see bugs

    http://code.google.com/p/svg-edit/issues/listAbhishek: okay...

    1:31 PM there are loads:)me: this bug tracker need to track,, new feature requests and new

    defects in codeIt is recommended that always make checkin (svn ci) against bug

    1:32 PM it means , whenever you want to added anything new to code,,first create bug and then make changes in code

    comit the changes ,,1:33 PM while committing source code,, you mention which bug you are solving,,Abhishek: Okay...cool

    me: and after committing it , just close the buglet me send you sample

    Abhishek: okay...1:34 PM me: http://code.google.com/p/svg-edit/source/detail?r=895

    click itthis revision is made against bug 289

    Abhishek: yeah...excellent.1:35 PM me: you can see the url to bug also,,

    while making log file you need to make a url to issuejust write as,,Fixing Issue 289 by soso changes

    1:36 PM this will automatically make link to issue/bug 289Abhishek: Okay...its pretty good:)

    1:37 PM me: You can setup developer mailing list tooAbhishek: using google groups?me: and set some setting so that all changes will goes to developer listby this you can track who is check-in-ing (svn ci) whatyup,,,

    1:38 PM Abhishek: okay..cool:)me: this is not needed for small project,,where developer are less then 1-2Abhishek: we have 21 developers:)

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    1 of 13 06/29/2010 11:15

  • 8/9/2019 Google Code Tutorial via Chat

    12/13

    me: wow,,How 21 developer made this code

    1:39 PM your age is 14,, are other developer are same age group,,Abhishek: pretty nasty...and I was angered...we mailed it to each

    other ...None of us knew about google code or same...Yup! all are 17or less1:40 PM me: wow,, I will love to meet you guys,, you are future of

    india,, are you all in jaipur??Abhishek: Hehe...four of us are from india...rest, Russia, France,

    UK, Bulgaria, Latvia,and ya de ya de ya!1:41 PM me: So,, you all would have used google code,, It have wiki too,,

    you can make documentationtoofor code

    Abhishek: Yeah..thats what I am thinking...you are doing any new dev?

    1:42 PM me: I am doing a hell of activity ,, my prime goal is makefoss adaptation in india and develop Eduvid project1:43 PM Abhishek: whats Eduvid?

    me: do you have any question regarding svnand google code

    Abhishek: Nope..svn is clear..as well as google code...thanks toyou...we are a group..named FOSSFY stands forme: send me url --Abhishek: Free & Open Source Software For Youth (Foundation)me: wow,,

    1:44 PM Abhishek: Okay... http://fossfy.co.cc --site's pretty new..wejust created it yesterday:) and http://phoenix-team.tk

    me: have you joined LUG@IITD mailing lsit ??Abhishek: NONE of them are updated... yeah... I think so;)

    1:45 PM me: http://groups.google.com/group/iitdlug/do join,,

    Abhishek: okay, thanks..1:46 PM me: Do you really want to thanks,, ?? Do you what is the wayto thanks in Free Culture ??Abhishek: Contributing software?

    1:47 PM me: If you get problem while learning something Or yousomething new knowledge , Always blog / write tutorial so that othercan work on it,,

    write software is not a contribution]Abhishek: okay...me: see,, google has written google code hosting ,, but you was not

    aware of this toolAbhishek: yeah.1:48 PM me: advocating good tools and software is more important then

    writing software itself,,Abhishek: hmm...right

    1:49 PM me: It will be good if you make a good tutorial on get startedwith google code,,, I wanted to do it,, but never get time for it,,,So I spent my time with you on chat,, so that now I will blog out

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    2 of 13 06/29/2010 11:15

  • 8/9/2019 Google Code Tutorial via Chat

    13/13

    chat...This chat will be useful to new users who want to quick start on google code

    1:50 PM Abhishek: Okay, cool :Dme: this is the reason I was asking pwd and other output time to timeAbhishek: right :)me: so that other user can read this chat as tutorial, :)

    -- Narendra Sisodiya ( )

    Web : http://narendra.techfandu.org Twitter : http://tinyurl.com/dz7e4a

    GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg

    3 of 13 06/29/2010 11:15