[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Work Report on GSOC

From: Yunal Li <yunal.bj_at_gmail.com>
Date: Fri, 2 Mar 2012 21:29:30 +0800

Hi, all. Thanks to Stefan's valuable advice, I have get more clear
idea on my GSOC on Subversion.

After browsing the information, I focused on the interesting project
"Show progress output'[1.].

I've noticed that, there is a svn_ra_progress_notify_func_t in
svn_client_ctx_t and svn_ra_neon__session_t, and it's used to report
the progress. However, it's not enough, it can just report progress in
terms of bytes but not in terms of file, and it can not even to report
the total size to be transferred so far.

The problem focuses on how to compute the total data (total bytes and
total file num) to transfered. The second is how to present this
information to users.

Without knowledge about the internals of Subversion, I think it's hard
to make some progress. So I turn to read the document. Below are what
I've read in the last two weeks:

1."Subversion's delta editor interface"[2.]. I have studied the
well-bounded interface of delta editor, and guess maybe the progress
function can be wrapped into existing editors. Certainly, I need more
knowledge to decide whether it's feasible.

2."subversion-design"[3.]. I have covered the whole design spec, and
gotten a clearer idea on Subversion's 3-layers Architecture,
Versioning Model and Delta Format. It seems we can get data
transferred already from libsvn-ra-*.

3."subversion/libsvn_wc/README" and
"subversion/libsvn_fs_fs/structure". They gave me knowledge about file
layout in client and server. I also created a repo on my PC and done
some experiments. I saw the sharded files under ".svn/pristine/" (it's
really different for SVN 1.7), and looked closely into various kind of
data in the Revision files under "myrepos/db/revs".

In the following days, I plan to cover
"svn/notes/http-and-webdav/webdav-usage.html",
"libsvn_ra_svn/protocal", "libsvn_ra_neon/README" and
"libsvn_ra_serf/README" to understand how the libsvn_ra_* works. Then,
I will read the code within 'subversion/include/' advised by [4.].
Before late of March, I hope to launch a discussion about this project
in develop mailing list to collect ideas on it.

Wish for your advice!

[1.]http://subversion.tigris.org/issues/show_bug.cgi?id=901
[2.]http://www.red-bean.com/kfogel/beautiful-code/bc-chapter-02.html
[3.]http://svn.apache.org/repos/asf/subversion/trunk/notes/subversion-design.html
[4.]http://subversion.apache.org/docs/community-guide/general.html
---------- Forwarded message ----------
From: Stefan Sperling <stsp_at_elego.de>
Date: Sun, Feb 19, 2012 at 8:29 PM
Subject: Re: GSOC 2012
To: Yunal Li <yunal.bj_at_gmail.com>
Cc: dev_at_subversion.apache.org

On Sun, Feb 19, 2012 at 07:59:09PM +0800, Yunal Li wrote:
> Hi, all.

Hi!

> GSOC 2012 was announced[1]. Could anybody tell me, whether
> SVN join this GSOC and which project ideas will be work on please?

The Apache Software Foundation (ASF) as a whole is taking part in GSOC.
Students wishing to work on Subversion must apply to the ASF.

However, we should also make sure that there is someone in the
Subversion project who will review student applications this year
and mentor a student during GSOC. Else, applications for Subversion
made via the ASF will probably be disregarded.

I would suggest starting a separate mailing-list thread asking
Subversion committers to consider registering as GSOC 2012 mentors.

>  As a student developing with SVN for several years,  I would love to
> work on subversion for this GSOC. So far, I have set up the build
> environment on Ubuntu and "make install" successfully. These days I'm
> reading documents on http://subversion.apache.org%a0to get more
> knowledge about development about SVN, and also read source code in
> subversion/tests/. However, in my opinion, subversion is a big system,
> I think maybe it's better to focus on one part related to the GSOC
> project idea.

You can study the roadmap to get a high-level overview of things
that need to be done: http://subversion.apache.org/roadmap.html
If one of the planned features sparks your interest, you could ask
more specific questions about the topic on this list. Most of these
tasks are way too huge for a GSOC project. But it should always be
possible to carve out tasks that lie on the way towards a big new
feature but have the right size for a GSOC project.

Here are some more ideas I found by searching the mailing list archives:
http://svn.haxx.se/dev/archive-2011-03/0576.shtml
http://svn.haxx.se/dev/archive-2011-03/0575.shtml

This page is old and some items are out of date. But it is still
relevant: http://svn.apache.org/repos/asf/subversion/trunk/www/tasks.html?p=876756

You might find more ideas by searching for issues in the issue tracker
marked 'bite-sized':
http://subversion.tigris.org/issues/buglist.cgi?component=subversion&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&email1=&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=exact&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=fulltext&long_desc=&long_desc_type=fulltext&issue_file_loc=&issue_file_loc_type=fulltext&status_whiteboard=&status_whiteboard_type=fulltext&keywords=bite-sized&keywords_type=anytokens&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Issue+Number&Submit+query=Submit+query

I hope these links help you with finding a nice idea for a GSOC project.

-- 
Yunal
Received on 2012-03-02 14:30:02 CET

This is an archived mail posted to the Subversion Dev mailing list.