You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Kyle Stemen <c8...@sneakemail.com> on 2005/07/25 21:49:59 UTC
Possible open source project
I wrote a program to do better merges as a replacement for diff3. I'd
like to hear some advice on whether to release it GPL and find out if
anyone would like to work on it. I know this isn't exactly the right
place to ask, but my program would be most likely used with svn.
Suggestions on other places to ask are welcome.
The merge algorithm can do things like correctly merge the renaming of
a class and adding a function in C++, so that the added function has
the new class name for the classname:: . Also, if one branch has coded
added, and the other branch renames a veriable, when the added code is
merged it will use the renamed variable. If you create clones of
functions, changes to the original will be merged into both.
The algorithm has no semantic or syntactic knowledge of C++ or any
other language. Even newlines have no special meaning to it. That
means that I didn't specifically program in how to rename a class or a
variable. The program just looks at how the text changes and
propogates those changes to the other branch.
I am considering making this project open source. I've never really
worked on an open source project before. The determining factor for
whether I release my program under the GPL is whether I get anything
from it. I would be pleased if I could even get some other developers
to work on it. As it is now, I'll barely use it, and I doubt anyone
else will either. Ideally releasing it under the GPL would fix that.
Right now the program compiles and runs in Windows (through VC++ 7)
and Linux (through g++). It takes 3 arguments similar to diff3, myfile
oldfile yourfile. I have a test suite of 11 exampe merges it performs.
You can see a couple of them on my blog, bluelightning32.blogspot.com.
The program needs more testing and some optimization. It should
probably be ported away from some of my personalized classes and
coding style.
I wrote a short design doc before I started writing the program. It's
a little out-dated, but anyone who reads it will quickly get an idea
of how it works. The program can output graphs in Graphviz format of
how it's interpretting a set of versions and their merged result. This
is very helpful for debugging.
If it helps to make a decision, I can send out the design doc, test
cases, graphs, and code.
--
http://bluelightning32.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Possible open source project
Posted by Toby Johnson <to...@etjohnson.us>.
Kyle Stemen wrote:
>The determining factor for
>whether I release my program under the GPL is whether I get anything
>from it.
>
I'm sure Richard Stallman would bristle at such a statement. :)
Karl is right, there's no way of knowing who would find a project useful
until you release it and see if anyone bites. But ask yourself this: why
/not/ open source it?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Possible open source project
Posted by kf...@collab.net.
"Kyle Stemen" <c8...@sneakemail.com> writes:
> I wrote a program to do better merges as a replacement for diff3. I'd
> like to hear some advice on whether to release it GPL and find out if
> anyone would like to work on it. I know this isn't exactly the right
> place to ask, but my program would be most likely used with svn.
> Suggestions on other places to ask are welcome.
>
> The merge algorithm can do things like correctly merge the renaming of
> a class and adding a function in C++, so that the added function has
> the new class name for the classname:: . Also, if one branch has coded
> added, and the other branch renames a veriable, when the added code is
> merged it will use the renamed variable. If you create clones of
> functions, changes to the original will be merged into both.
>
> The algorithm has no semantic or syntactic knowledge of C++ or any
> other language. Even newlines have no special meaning to it. That
> means that I didn't specifically program in how to rename a class or a
> variable. The program just looks at how the text changes and
> propogates those changes to the other branch.
>
> I am considering making this project open source. I've never really
> worked on an open source project before. The determining factor for
> whether I release my program under the GPL is whether I get anything
> from it. I would be pleased if I could even get some other developers
> to work on it. As it is now, I'll barely use it, and I doubt anyone
> else will either. Ideally releasing it under the GPL would fix that.
I wouldn't open source it expecting developers to jump in and help --
sometimes that happens, sometimes it doesn't. But why not open source
it and post it just so that the *possibility* is there? Even if it
doesn't happen today, someone might pick it up later and run with it.
(Subversion was a vaporous idea in the mind of a couple of CVS
developers for a long time, then CollabNet picked it up and ran with
it.)
As for how: find a friend who's done some open source development, get
her or him to guide you through it, I think that'll be easiest.
There's too much to list it all here.
-Karl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org