Git Migration: github with svn access

John Ralls jralls at ceridwen.us
Wed Dec 28 20:08:13 EST 2011


On Dec 28, 2011, at 6:45 AM, Geert Janssens wrote:

> Op zondag 25 december 2011 10:26:34 schreef John Ralls:
>> On Dec 25, 2011, at 9:13 AM, John Ralls wrote:
>>> On Nov 28, 2011, at 3:07 PM, John Ralls wrote:
>>>> On Nov 28, 2011, at 9:37 AM, Geert Janssens wrote:
>>>>> On maandag 28 november 2011, John Ralls wrote:
>>>>>> On Nov 27, 2011, at 2:32 PM, Geert Janssens wrote:
>>>>>>> On woensdag 23 november 2011, John Ralls wrote:
>>>>>>>> On Nov 11, 2011, at 10:22 AM, Geert Janssens wrote:
>>>>>>>>> On vrijdag 11 november 2011, Yawar Amin wrote:
>>>>>>>>>> Hi Geert,
>>>>>>>>>> 
>>>>>>>>>> On 2011-11-11, at 11:47, Geert Janssens wrote:
>>>>>>>>>>>> […]
>>>>>>>>>>> 
>>>>>>>>>>> Is there a way to create a branch via the github
>>>>>>>>>>> interface ? Or do I have to create one on my local repo
>>>>>>>>>>> and push it ? I didn't seem to find a feature on the
>>>>>>>>>>> website, but perhaps I missed it. I'm not very
>>>>>>>>>>> comfortable yet with te remote repo handling in git, so
>>>>>>>>>>> I prefer to ask before messing things up.
>>>>>>>>>> 
>>>>>>>>>> You can do the latter.
>>>>>>>>>> 
>>>>>>>>>> # In your local repo
>>>>>>>>>> git branch master remotes/origin/trunk
>>>>>>>>>> git push origin master
>>>>>>>>> 
>>>>>>>>> Ok, I created a master branch, but svn checkout still fails
>>>>>>>>> with the same error. I guess we'll have to wait for
>>>>>>>>> github's response to John's comment on the blog.
>>>>>>>> 
>>>>>>>> Well, there was never an answer to the blog post. But I tried
>>>>>>>> it just now and it checks out OK. Someone else has complained
>>>>>>>> about an authentication problem trying to commit, but we
>>>>>>>> can't test that, it would break the mirror with gnucash.org.
>>>>>>> 
>>>>>>> I have been trying this for a couple of days now, but I still
>>>>>>> can't
>>>>>>> checkout. What command did you use ?
>>>>>> 
>>>>>> svn checkout https://svn.github.com/Gnucash/gnucash
>>>>>> 
>>>>>> Tried it just now and it worked.
>>>>> 
>>>>> Indeed, that incantation does work. It seems to check out the
>>>>> current trunk branch. I can't figure out how to check out the 2.4
>>>>> branch though, or the 2.4.x tag.
>>>>> 
>>>>> Did you have more luck ?
>>>> 
>>>> I have to admit that I didn't try... so I looked at the blog post
>>>> again and I see that that was the old URL that they're supposed to be
>>>> taking down. The correct URL doesn't work.
>>>> 
>>>> The right one fails. I had a thought that it might be the presence of
>>>> a "trunk" branch, so I changed "trunk" to "master" in my own Github
>>>> repo (github.com/Gnucash/gnucash). No joy.
>>>> 
>>>> I've sent a support request.
>>> 
>>> Which they finally got around to handling (Tuesday, but I didn't test it
>>> until today). It works. Yay!
>> There's a catch, though: The numbers don't match up. To begin with, the
>> first number is 89:
>> ------------------------------------------------------------------------
>> r89 | unknown | 1997-10-31 09:39:32 -0800 (Fri, 31 Oct 1997) | 3 lines
>> 
>> New repository initialized by cvs2svn.
>> 
>> git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/gnucash/trunk@3
>> 57a11ea4-9604-0410-9ed3-97b8803252fd
>> 
>> Notice that it's r3 in our svn numbering.
>> The numbers diverge even more later, because we have a single repo with
>> multiple datasets (gnucash, gnucash-htdocs, gnucash-docs, and
>> gnucash-meta), but those are separate repos in git -- and gnucash-meta
>> isn't exported to git yet. So every revision in one of the "other" datasets
>> creates a discrepancy. The HEAD of the 2.4 branch is
>> ------------------------------------------------------------------------
>> r17583 | john.ralls | 2011-12-24 08:58:55 -0800 (Sat, 24 Dec 2011) | 3
>> lines
>> 
>> Add gdk_pixbuf to the distribution
>> 
>> git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/2.4@21777
>> 57a11ea4-9604-0410-9ed3-97b8803252fd
>> 
>> and of Trunk:
>> ------------------------------------------------------------------------
>> r17581 | geert.janssens | 2011-12-23 21:27:56 -0800 (Fri, 23 Dec 2011) | 4
>> lines
>> 
>> Win32 build: abort build process if install.sh step failed.
>> BP
>> 
>> git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@21775
>> 57a11ea4-9604-0410-9ed3-97b8803252fd
>> 
>> The only time this is likely to be a problem is if someone does a build from
>> an SVN checkout: It will look like they've used a really old version.
>> 
> Heh, don't underestimate the configuration of our Windows build server.
> 
> It checks every night if it has to (re)build some tagged versions. It does 
> this by making a list of all tags (and their associated revision) and 
> comparing this with yesterday's list. If there is any tag/revision combination 
> that doesn't exist yet, it will rebuild this tag.
> 
> So if the revision numbers in git don't match those in our own svn tree, that 
> means that the server will attempt to rebuild every tag that is present in the 
> tags directory (well to be precise each tag of the format x.y.z). That will 
> cause a lot of (useless) rebuilds for one night.So before we switch the tag 
> builds to use git, we better
> 1. be very sure the git created revision numbers never change
> 2. manually recreate the tag history file based on git's revision information.
> 
> But other than that I don't consider this a big issue. Assuming the svn access 
> github provides will be stable, and is meant to replace our own internally 
> managed svn tree, the numbering mismatch is only a temporary inconvenience.
> 

ISTM it would be better to have the release script look at the SHA reference in the tag using git
rather than to depend upon Github's subversion gateway. We probably want a bit more sophistication
in the check than just a tag; with git people make tags (and delete)  tags for all sorts of things besides
releases... so maybe a keyword ("RELEASE"?) in the log summary, or a particular format for the tag
("GnuCash-Release-2.5.1"?). That would also save us the trouble of backfilling the history file (not that
that's hard) since none of the existing tags are likely to meet the new criteria.

No, not an issue at all, just something to be aware of because we'll periodically get panicky emails on
the lists ("OMG I just built trunk and the splash screen says it's r17123 and I know that the real number is
much higher!!!! What went wrong??? PLEASE HELP!!!").

Regards,
John Ralls




More information about the gnucash-devel mailing list