Foss lect 8 1 11.txt

FOSS Lecture: (notes taken on the fly by Nishchay Mhatre; nishchaymhatre@gmail.com)

Sat Jan 8 09:54:14 IST 2011

Version Control session by Abhijit Sir:

gcc 4.4.3 first 4 is major number second 4 is minor number

'Dated directory' system: Wasteful,manual,time consuming, hard to document, cannot leverage the power of distributed development.

Linux kernel is maintained with git.

What do we want from git? - Naming of versions - Save the state of the development : remember the changes - Let us use an older version - Ease of porting changes

Mainline of development is the 'Trunk' or master. Branching is more for bug fixing.

Git can merge from different sources.

What security measures and administration in git?

Commit-Pull problem: After pull, the log is not showing the change but the file is getting added without the add file command being used.

In git you cannot recover an older version unless it is branched out. If the reversion is done on the trunk, the new stuff is lost. No version numbers in git.

Upstream/downstream concept: A developer who fixes a bug in a software obtained from the community has to send the bug 'upstream' to the maintainers of the project. The original maintainers of the code can fix the bug and send it 'downstream' to those who have obtained the code from them.

Bug-tracking system: on every project website.

Code Browsing tips by Abhijit Sir:
 * READIT (Go through the README file).
 * Use tools like cscope and ctags.
 * Read and understand the data structure.
 * Find the mainline.
 * 30-50% is error checking code. Ignore it for initial study.
 * Many header files in large C code, often nested.
 * C is being used in object oriented programming, with functions pointers heavily used.
 * What you cant find with an automated tool, might be in a library. Try to avoid reading those internals. Go for library documentation. Or it may be in a different language.
 * Keep writing notes and draw diagrams of data structures.

Hyphenation Session by Shravan: Hyphenation dictionary has all the rules. To install it, the file has to be properly named and then added to the open office repository.

Homework for the week
 * Compile gnash
 * Compile kde svn trunk version on gnome.
 * Compile gnome (long term)
 * Signup on foss community wiki and update user page
 * Create makefile for hyphenation
 * Setup your own debian-testing virtualbox image. On PD
 * How to report a bug?
 * Start on Debian new maintainters guide, see hyphenation wiki.

Thursday 1730 Revolution OS Film Screening; Seminar Hall.