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 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...
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
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.
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"
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.
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.
Transmitting file data .
Committed revision 2.
me: Wow,,,
check the code,,
google url
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
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
give me output
12:12 PM Abhishek: * test.cpp
2 2 hackerboymayabhi configure
* 1 1 ? .
Status against revision: 3
2 2 hackerboymayabhi configure
* 1 1 ? .
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
* 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.
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
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"
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++
===================================================================
- 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,,
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??
Due to rescriction by posterous, I am uanble to post full chat -- read full chat from here - http://groups.google.com/group/iitdlug/browse_thread/thread/bc2439a58381b9f1
2 comments:
Hi
This chat helped me a lot to put my project in google code via svn
Thanks
Welcome Raji, Send this chat to other student too
Post a Comment