Git Migration: github with svn access

Geert Janssens janssens-geert at telenet.be
Sat Aug 11 05:24:39 EDT 2012


On 11-08-12 10:32, Reuben Cummings wrote:
> On Sat, Aug 11, 2012 at 11:08 AM, Frank H. Ellenberger
> <frank.h.ellenberger at gmail.com> wrote:
>> Hi Reuben,
>>
>> Am 11.08.2012 09:55, schrieb Reuben Cummings:
>>> On Sat, Aug 11, 2012 at 10:49 AM, Frank H. Ellenberger
>>> <frank.h.ellenberger at gmail.com> wrote:
>> :
>>>> http://wiki.gnucash.org/wiki/Git
>>>> Where is the Problem? ;-)
>>>>
>>>> Frank
>>> Yes, I have read that. Look at the directions for sending a patch and
>>> notice the comment that forking github projects doesn't work. Compare
>>> that to the widespread github work-flow of forking a repo, committing
>>> changes, and then submitting a pull request. The latter is *much* more
>>> user friendly than manually creating patches, logging into bugzilla,
>>> filling a bug, submitting a patch...
>>>
>> Because of http://wiki.gnucash.org/wiki/Subversion#SVN_write_access the
>> first time you should send your patches via bugzilla.
> Yes, I figured the round-a-bout patch submission method is due to
> maintain svn compatibility. But that still doesn't answer my original
> question of a "time-frame for full github integration". A perfectly
> acceptable answer is "No, gnucash will never be fully integrated with
> github because we want to maintain svn access." If that is the case,
> then so be it.
Many things have been said already about migrating from svn to git on 
the lists. I'll try to summarize what has been mostly agreed upon and 
the current status (as I remember it). Others can voice their opinion if 
they don't agree with me here:

I think most of the currently active developers more or less agree that 
full git integration is where GnuCash is heading. Regarding timing, I 
think most agree this would be good to get ready before the 2.6 release.

The reason it hasn't happened yet is mostly our support for a Windows 
version of GnuCash.

There are currently two problems still with the Windows version of 
GnuCash that have to be resolved:
1. To build GnuCash on Windows, the developers have written a number of 
scripts [1] to (mostly) automate the build on that platform. These 
scripts still need some tweaks to work properly with git [2]
2. We have an automated build server that builds Windows versions of 
GnuCash every night. This is driven by an additional set of scripts [3]. 
These scripts currently still rely heavily on svn and should be 
modified/extended to also work with git. [4]

To avoid destabilizing the Windows build, and since it is the Windows 
build system that is most affected by a full git migration, it was also 
said that the 2.4 branch should remain maintained in svn for its 
lifetime if possible. Only trunk (and hence 2.6) would migrate.

There has also been talk of github's svn bridge and use that as a 
fallback. I have played with it a couple of times, but it had some 
drawbacks, so I personally wouldn't depend on it for the Windows 
automated build. It's been a while since I tested so perhaps it works 
better now.

If I remembered something incorrectly here, please voice it. Other than 
that, if you like to see this happen soon you are invited to jump in and 
fill the gaps as described below in the notes.

Geert

[1] The scripts can be found in 
http://svn.gnucash.org/trac/browser/gnucash/trunk/packaging/win32
[2] The only thing currently missing is the equivalent of running svn 
update (found in install-impl.sh) when the user has set the option 
"UPDATE_SOURCES". It was agreed that our custom git-update script could 
be used, but no one so far made the actual code changes required for this.
[3] The scripts can also be found in 
http://svn.gnucash.org/trac/browser/gnucash/trunk/packaging/win32
[4] Starting with daily_build.bat it calls a whole series of scripts, 
which involve svn checkouts, reading tag commits, and so on. For all 
this, equivalent features using git have to be written still.


More information about the gnucash-devel mailing list