On Wed, 13 Feb 2013 20:26:32 +0100
Andreas Volz <li...@brachttal.net> wrote:

> Am Wed, 13 Feb 2013 12:47:55 +0000 schrieb Daniel Willmann:
> 
> > Hello,
> > 
> > this Friday (15/02/2013) libefl will be moving from SVN to Git.
> > 
> > Timeframe is as follows:
> > 
> > 09:00 UTC: Final warning mail. You should stop committing
> > to /trunk/efl in SVN
> > 10:00 UTC: Raster will lock the directory /trunk/efl so nobody
> > accidentally commits there. When that is done I will update the Git
> > repository for efl and verify that everything is working.
> > 
> > ??:00 UTC: Access will be restored to Git and I'll send an
> > announcement that the migration is done.
> > This shouldn't take too long. I updated the repository yesterday and
> > have the whole work flow figured out. Keep your fingers crossed.
> > 
> > 
> > The new web frontend is here (phabricator is there as well, but
> > requires login):
> > https://git.enlightenment.org/core/efl.git/
> > 
> > Read-only git access:
> > git clone git://git.enlightenment.org/core/efl.git
> > 
> > Or for developers (not available at the moment):
> > git clone ssh://g...@git.enlightenment.org/core/efl.git
> 
> I've many pending changes in efl that I couldn't commit until this
> time.
> 
> If you say "move" does this include to remove it in SVN? Even for
> reading operations (e.g. svn diff)?

Reading will be allowed for the foreseeable future. From Friday on you
shouldn't commit to the repository any more.

> Should I get a diff with latest freeze and then apply it to my local
> GIT branch after the change?

Ah, I was wondering if it made sense to explain this - but that answers
my question!

Here is how you could do it depending on whether you have pure svn or
git-svn:

Pure SVN
--------
* Update SVN and note the current revision:
$ svn up
$ svn info |grep Revision
-> Let's say it's svn rev 83335

* Clone the new repo with git clone

* Find the matching commit in git
$ git log --grep "SVN revision: 83335"
-> This will show you commit 3fe5d4d

* Reset your working directory to this commit (in a new branch)
$ git checkout -b svn-import 3fe5d4d

* Copy your files over from SVN. You can just copy everything (do omit
  the .svn directories, though) as the repositories will be in the same
  state now.

* Check that the changes make sense - git diff should now provide the
  same output as svn diff

* Save the changes temporarily
$ git stash

* Checkout master
$ git checkout master

* Apply the changes again
$ git stash pop


git svn
-------
* Export all your commits that are not upstream yet
$ git format-patch git-svn..HEAD
-> Creates numbered patch files

* Clone the new repository with git clone somewhere

* Apply the patches to the new repository
$ git am 00*.patch

* For the last command - depending on your checkout - you will probably
  need to add the option -p to adjust the location of the patches.
  So if you did a checkout of the complete trunk/ you'll need to pass
  (I think) -p2 to git am.


I hope this makes sense.


Regards,
Daniel

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to