Re: Migrating existing git repos to git.gnome.org



On Fri, 2009-04-17 at 09:45 +0100, Richard Hughes wrote:
> gnome-packagekit is currently hosted in git on packagekit.org. We used
> to accept translations from svn.gnome.org, which were added by doing
> "svn up" and then adding the commit manually to git. The code changes in
> git was then pushed back to svn using:
> 
> svn commit -m "from git"
> 
> Not ideal, but it worked for the translators and coders at the time. Now
> GNOME is a git shop (yay!), we'll obviously just switch to developing on
> git.gnome.org. This means the gnome-packagekit git.gnome.org repo now
> contains hundreds of fake "from git" commits after the svn conversion,
> while packagekit.org has the complete data with all the useful history.
> 
> Naively, I thought I could do this:
> 
> git push --all --force ssh://rhughes git gnome org/git/gnome-packagekit
> 
> which gave me this:
> 
> Counting objects: 12443, done.
> Delta compression using 2 threads.
> Compressing objects: 100% (3751/3751), done.
> Writing objects: 100% (12443/12443), 7.80 MiB | 115 KiB/s, done.
> Total 12443 (delta 9511), reused 11319 (delta 8658)
> /home/admin/gitadmin-bin/pre-receive-check-policy: line 116: [: !=: unary operator expected

OK, looks like I didn't handle the case of completely disjoint histories
properly. I'll have to figure out how to make the script handle that.
But it wasn't suppose to allow it - what it should have said was:

---                                                                                                            
You are trying to update the branch '$branchname' in a way that is not 
a fast-forward update. Please see:

  http://live.gnome.org/Git/Help/NonFastForward
---                       

(Yes, that page doesn't exist either. If someone wants to help writing
these, find me on IRC and I can point you to a complete list.)

> ---
> The commit:
> 
> commit 7e6f8e7d73d9c8f9a79048b6e8186c078b285280
> Merge: 72be4b6... ef63d48...
> Author: Ken VanDine <ken vandine org>
> Date:   Mon Sep 3 00:41:37 2007 -0400
> 
>     Merge branch 'master' of ssh://kvandine hughsient no-ip org/srv/git/gnome-packagekit
> 
> Looks like it was produced by typing 'git pull' without the --rebase
> option when you had local changes. Running 'git  pull --rebase' now
> will fix the problem. Then please try, 'git push' again. Please see:
> 
>   http://live.gnome.org/Git/Help/ExtraMergeCommits
> ---
> error: hooks/pre-receive exited with error code 1
> To ssh://rhughes git gnome org/git/gnome-packagekit
>  ! [remote rejected] master -> master (pre-receive hook declined)
>  ! [remote rejected] GNOME_PACKAGEKIT_0_3_X -> GNOME_PACKAGEKIT_0_3_X (pre-receive hook declined)
> 
> So I now have the following problems:
> 
> * /home/admin/gitadmin-bin/pre-receive-check-policy: line 116
> * A missing http://live.gnome.org/Git/Help/ExtraMergeCommits page
> * And both branches being rejected
> 
> Suggestions welcome. If "git init" on git.gnome.org in gnome-packagekit
> is the best plan, this works for me, as I have the full translation and
> code history in git on packagekit.org, although I think it will still
> fail the pre-receive-check-policy checks.

Does it work if we just delete the svn => gimp import and you follow the
new module import procedure described in:

http://mail.gnome.org/archives/gnome-infrastructure/2009-March/msg00074.html

The check for extra merges is bypassed on initial import. We'd like to
have people avoid creating such merges accidentally, but we can't do
that retrospectively for an old module.

- Owen




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]