Вы находитесь на странице: 1из 13

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

GLUG Meerut

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

narendra sisodiya <narendra.sisod...@gmail.com>

---------- Forwarded message ----------


From: narendra sisodiya <narendra.sisod...@gmail.com>
Date: Thu, Nov 5, 2009 at 12:46 AM
Subject: "Quick Start Chat" to Google Code Hosting for newbies {#qsc #google}
To: IITDLUG <iitdlug@googlegroups.com>
Cc: p...@lug-iitd.posterous.com

Hi, I normally avoid chatting on Linux topic. and I hate when


someone ask his/her problem on chat. I hate because It is one to one
communication. I redirect such newbies to mailing list so that other
can participate into it. Google index mailing list thread so that
other can read such thread after google search. But I found one useful
thing in one to one chat system. one of one chat system can be useful
for guiding the procedure to newbies.
Today when Abhishek Indoria (A 14 year old school boy, OLPC
contributor) asked me how he can put his source code to some hosting
site, I immediately got idea of "Quick Start Chat". In this system I
have explained him each and every steps and he followed all steps. I
always wanted to make a tutorial on how to get started with google
code 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" as
tutorial.

11:22 AM Abhishek: Dude, I know you may be busy...erm..do you know


about GIT? or subversion?
11:23 AM me: I have used only svn
but git is something which is better to learn
Abhishek: 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 hosting
google code hosting use SVG
you can use github too
github 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 editing
version like GIT or SVN?
me: no no ,, do not upload tar or zip file
11:26 AM first create a project on these site
and then make a checkout
Abhishek: I have created the project...Checkout?
me: yes,,, checkout the empty project
Abhishek: You know, I feel like stupid as I am only 14 and have loads

1 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

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 it
then add files using
11:28 AM svn add filename.cpp
after that you need to comit the files
using "svn ci" command
Abhishek: 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 to
Zero by Ken Follet?
11:29 AM me: I suggest to use google code hosting,,
I have used it ,, and it has cool features
Abhishek: 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 hosting
and create a new project
Abhishek: okay...
me: http://code.google.com/hosting/createProject
do 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 link
Abhishek: 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: yup
you can see checkout command
Abhishek: yes...
11:37 AM me: send me
11:38 AM Abhishek: eh.. svn checkout
https://boomingbang.googlecode.com/svn/trunk/ boomingbang --username
hackerboymayabhi
when I do that...it says
svn: URL 'https://boomingbang.googlecode.com/svn/trunk' doesn't exist
me: see,, you have deleted the trunk
11:39 AM When you create the new project it make 4 directory
1) trunk
2) wiki
3) branch
4) tag

2 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

Abhishek: oh..
me: you it will suggest you to make new project
11:40 AM just delete it and create new project
Abhishek: okay..
11:42 AM http://code.google.com/p/imperius/
11:43 AM me: Now go to source code and give me the checkout command
11: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 terminal
Abhishek: done
me: and create a directory where you want to create code
11:45 AM ex
mkdir MyProject
cd MyProject
now apply same command by remove trunk out of it
11:46 AM svn checkout https://imperius.googlecode.com/svn/ imperius
--username hackerboymayabhi
11:47 AM Abhishek: kay
me: show me the output
It will ask for password, it is there at google code website
11:48 AM Abhishek: A imperius/trunk
A imperius/branches
A imperius/tags
Checked out revision 1.
me: fine
now you can see 3 directory
which you have checked out
Abhishek: okay...
11:49 AM me: see trunk will be needed for your code
so now cd trunk
Abhishek: okay.
11:50 AM me: send me output of these 3 command - pwd, ls -l. svn status
Abhishek: wait, please.
pwd -- /media/Disk 3/BoomingBang/codenamei/imperius/trunk
11:51 AM ls -l : total 0
svn status ... Nothing.
me: ok,
now create a new file
or you can directly paste your code file here
11: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 file
Abhishek: okay.
done
11:54 AM me: give me "svn status"

3 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

Abhishek: ? configure
thats the status ^^
11:55 AM me: yes, it is saying, It is that configure is a new file
now you need to add this file to svn system
apply
"svn add configure" command
11:56 AM Abhishek: saying: A configure
I think done.
me: yes,, but change are local
you need to comit the change to mail project
use
"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 configure
There is NANO
text editor
11:58 AM okay...
me: yes,, while commiting the files you need to write comments
11:59 AM and then save it
Abhishek: after the saving of file, though I entered it empty;)
...Its saying...Adding configure
Transmitting file data .
Committed revision 2.
me: Wow,,,
check the code,,
google url
http://code.google.com/p/imperius/updates/list
12:00 PM It is listing your changes
can you add me in your project for a moment so that I will show
something more,,,
Abhishek: wow:) Excellent...thanks..okay, I can add you...
me: this is just 30%
12:01 PM tutorial
see your files at
http://code.google.com/p/imperius/source/browse/#svn/trunk
Abhishek: commitors or owners or contributors?
12:02 PM me: commiter
just add me as commiter
12:03 PM Abhishek: okay.
12:04 PM done
12:05 PM me: just a secound
12:06 PM checking out code now
12:08 PM I have added a new test file,,
12:09 PM just apply svn status command
send me the output
Abhishek: nothing.
12:11 PM me: svn status --show-updates --verbose
try this

4 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

give me output
12:12 PM Abhishek: * test.cpp
2 2 hackerboymayabhi configure
*11?.
Status against revision: 3
12:13 PM messed up:)
me: try "svn st -u"
12:14 PM Abhishek: * test.cpp
*1.
Status against revision: 3
me: yes,
12:15 PM it means,, your files are not uptodated,,
just apply "svn update" command
to get latest code by other developers
Abhishek: okay..done that.
me: always send output of each command
12:16 PM Abhishek: A test.cpp
Updated to revision 4.
me: see, I have made 2 rivision,,
so now our code is at revision number 4
12:17 PM everytime you update change to trunk, It will make a new
revision number
Abhishek: okay
me: anytime you can switch to old revision number too
now 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 something
add a line
done??
12:20 PM Abhishek: yeah.
me: apply,, svn st
svn status
both are same command
apply anyone
Abhishek: nothing...
12:21 PM me: if you apply svn st command , It will give you something
like - "M test.cpp"
give me output of ls, cat test.cpp
12:22 PM Abhishek: ls : configure test.cpp
cat:::::::: test.cpp#include <iostream>
using namespace std;
int main(){
//hello , code is still incomplete ;
cout<<"Hello world\n";
return 0;
}
// I know that code is incomplete
12:23 PM me: apply command "svn status"

5 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

Abhishek: nothing:(
me: I think you can not saved your changes
12:24 PM what editor you are using?
Abhishek: gedit
me: Oppps
12:25 PM Abhishek: it says..at revision 5
me: 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 status
Abhishek: M test.cpp
me: yes,, This mean,, test.cpp is modified by you,,
12:28 PM you can check the differece
also
apply "svn diff 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 what
you have added and deleted
but I will suggest to use
GUI diff tool
Abhishek: okay...
12:31 PM me: I saw your comit,, you are now sending log message while comitting
see this url,,
http://code.google.com/p/imperius/source/list
you can see differece b/w comit by you are me
12:32 PM apply command
Abhishek: got that..list
me: 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 command
Abhishek: yes
me: now appy "svn ci" command to comit your changes
12:36 PM press "i" in vi editor to write comment (log message), them
use Esp + ":wq" + "Enter" to save log

6 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

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 revision
12:40 PM Abhishek: okay...what about folders? when I have to upload them?
12:41 PM me: just paste folder(directory) into trunk
then add folder and files
using
svn add command
paste folder
Abhishek: okay. thanks
me: now
lets 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 changes
12:47 PM ??
Abhishek: installing
done.
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" command
12:50 PM Abhishek: A 0 build/m4
A 0 build/m4/sdl.m4
A 0 build/m4/ax_cflags_warn_all.m4
A 0 build/m4/libcurl.m4
A 0 build/m4/po.m4
A 0 build
Status against revision: 6
me: ok,,
you have added correctly,
now comit
12:51 PM Abhishek: okay...
done Adding trunk/build
Adding trunk/build/m4
Adding trunk/build/m4/ax_cflags_warn_all.m4
Adding trunk/build/m4/libcurl.m4
Adding trunk/build/m4/po.m4
Adding trunk/build/m4/sdl.m4
Transmitting file data ....
Committed revision 7.
12:52 PM me: Wow,,...

7 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

this is simply great


12: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 code
that is why the branch folder exist
you need to make a new directory into branch folder
12:55 PM mkdir branches/v0.001
Abhishek: 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 folder
Abhishek: okay...
me: BUT remember you should not use copy command of linux
you need to use svn copy command
12:57 PM you can read tutorial also , how to make branch using svn
let 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/imperius
me: ok,, great,,
now apply this command
1:01 PM svn copy trunk branches/v0.1
Abhishek: A branches/v0.1
me: apply "svn st" now,,
send me output
Abhishek: A + branches/v0.1
1:02 PM me: wow,,, it means you have added a new branch,,,
now comit it
you know how to comit
1:03 PM and send me the output
Abhishek: yes..done...Adding branches/v0.1
Adding branches/v0.1/build
Adding branches/v0.1/test.cpp

Committed revision 8.
me: just check the url
http://code.google.com/p/imperius/source/browse/#svn/branches
now,, it is showing your branch
1:04 PM Abhishek: yes

8 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

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 url
open a new terminal
with another location
fresh location may be home folder
1:07 PM Abhishek: okay
me: send me pwd
Abhishek: /home/abhishek/
me: ok,,
now apply this command
svn checkout http://imperius.googlecode.com/svn/branches/v0.1
1:08 PM Abhishek: A v0.1/build
A v0.1/build/m4
A v0.1/build/m4/sdl.m4
A v0.1/build/m4/ax_cflags_warn_all.m4
A v0.1/build/m4/libcurl.m4
A v0.1/build/m4/po.m4
A v0.1/test.cpp
A v0.1/configure
U v0.1
Checked out revision 8.
Whats this?
me: You have checkout the branch v0.1
you can check
home folder
there will be new directory
called v0.1
1:09 PM Abhishek: yeah..there is:)
me: we have done a small mistake while creating our branch
Abhishek: what mistake?
1:10 PM me: we would have applied this command --- "svn copy trunk
branches/imperius-v0.1
if you would have applied this command
our 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 named
as "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 download
Abhishek: 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,, but
Let suppose we are a team of 100 developers

9 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

1:14 PM Abhishek: okay


me: and if everybody work in trunk, It will get many problem;s
because not everybody work on same feature
Abhishek: hmm...
1:15 PM me: may be if 2 developer want to work on special feature
which 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 then
just 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 trunk
Abhishek: yes...
1:17 PM me: using same procude you can now comit in branch too
cd branches/v0.1
Abhishek: got it:) thank
me: 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 code
1:20 PM you want use to try it,,,
Abhishek: hmm...
me: but by this way they will execute the current trunk code
which may be unstalbe
Abhishek: yeah...
1:21 PM me: so,, during the time of developemt you felt like this can
be 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 as
1:23 PM svn checkout http://imperius.googlecode.com/svn/tags/stable
Abhishek: hmm..got it
me: now user will download stable code that that moment
Abhishek: okay...
me: now you can add new code to main trunk
this will not go to "stable" folder
1:24 PM after some time when you feel, that you are ready to make a
new stable point, just move the "stable" tag
to current one
Abhishek: 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

10 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

me: Have you go the idea of all these thing


Abhishek: yeah..I got it:) thanks
1:27 PM me: See Google code hosting also provide Bug Tacker
do you about it ??
Abhishek: I didn't know...
me: click it,, http://code.google.com/p/imperius/issues/list you will
see the issue/bugs
Abhishek: oh...right:) thanks
1:28 PM me: currently there are not bug there,,
when user will see any bug , they will file bug here
1:29 PM anyone can enter new bug here
Abhishek: hmm...
me: developer will get to know about bugs and they can assign bug to
other developer
1: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/list
Abhishek: okay...
1:31 PM there are loads:)
me: this bug tracker need to track,, new feature requests and new
defects in code
It 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 bug
let me send you sample
Abhishek: okay...
1:34 PM me: http://code.google.com/p/svg-edit/source/detail?r=895
click it
this 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 issue
just write as,,
Fixing Issue 289 by soso changes
1:36 PM this will automatically make link to issue/bug 289
Abhishek: Okay...its pretty good:)
1:37 PM me: You can setup developer mailing list too
Abhishek: using google groups?
me: and set some setting so that all changes will goes to developer list
by this you can track who is check-in-ing (svn ci) what
yup,,,
1:38 PM Abhishek: okay..cool:)
me: this is not needed for small project,,where developer are less then 1-2
Abhishek: we have 21 developers:)

11 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

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 17
or less
1: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 documentation
too
for 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 make
foss adaptation in india and develop Eduvid project
1:43 PM Abhishek: whats Eduvid?
me: do you have any question regarding svn
and google code
Abhishek: Nope..svn is clear..as well as google code...thanks to
you...we are a group..named FOSSFY stands for
me: 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..we
just 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 way
to thanks in Free Culture ??
Abhishek: Contributing software?
1:47 PM me: If you get problem while learning something Or you
something new knowledge , Always blog / write tutorial so that other
can 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 tool
Abhishek: 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 started
with 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

12 of 13 06/29/2010 11:15 PM
GLUG Meerut | Google Groups http://groups.google.com/group/glug-meerut/msg/5...

chat...
This chat will be useful to new users who want to quick start on google code
1:50 PM Abhishek: Okay, cool :D
me: this is the reason I was asking pwd and other output time to time
Abhishek: right :)
me: so that other user can read this chat as tutorial, :)

--
┌─────────────────────────┐
│ Narendra Sisodiya ( नरे�� �ससोिदया )
│ Web : http://narendra.techfandu.org
│ Twitter : http://tinyurl.com/dz7e4a
└─────────────────────────┘

13 of 13 06/29/2010 11:15 PM

Вам также может понравиться