Google Code shutting down

Do not post support requests, bug reports or feature requests. Discuss CEF here. Non-CEF related discussion goes in General Discussion!

Google Code shutting down

Postby magreenblatt » Thu Mar 12, 2015 9:45 pm

Hi All,

As many of you have likely heard by now Google Code is shutting down. This means that CEF, JCEF and other open source projects currently hosted on Google Code will need to find a new home. This is not an emergency situation -- the current Google Code hosting will continue to function as-is until August 24, 2015. Between now and August I will be evaluating the available hosting options and implementing an orderly transition to a new host for the CEF and JCEF projects. I will update this thread with additional details as they become available.

Best Regards,
Marshall Greenblatt
CEF Founder
magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm

Re: Google Code shutting down

Postby Czarek » Fri Mar 13, 2015 4:41 am

I've already been thinking for some time on moving the cefpython project to Github. Looks like I have no choice now. However it's now easier, a new button appeared "Export to github" that should take care of everything.
Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am

Re: Google Code shutting down

Postby magreenblatt » Fri Mar 13, 2015 8:56 am

It looks like there are good transitional tools for GitHub, Bitbucket and a few other hosts so the choice will come down to:

  • Usability of the interface (issue tracker, pull requests, etc).
  • Developer community preference (GitHub likely wins here).
  • Potential costs.
The bigger issue for CEF will be converting from SVN to Git. This step will likely be done first with associated script and documentation updates before the rest of the project (issue tracker and wiki) is moved to a new host.

The current CEF SVN directory structure looks like this:
Code: Select all
svn/
  branches/
    963/
      .... complete source tree for 963 branch (cef1 only)
    ...
    1364/
      cef1/
        .... complete source tree for 1364 branch (cef1)
      cef3/
        .... complete source tree for 1364 branch (cef3)
    ...
    2062/
       cef3/
          .... complete source tree for 2062 branch (cef3)
    2171/
       cef3/
          .... complete source tree for 2171 branch (cef3)
    ...
  trunk/
    cef3/
      .... complete source tree for trunk

When converting to Git using the `git svn` tool this would normally look like:
Code: Select all
svn/trunk/ => master
svn/branches/XXXX/ => refs/branches/XXXX

This isn't ideal for CEF because when checking out a branch you would still have the "cefX" top-level folder. When checking out CEF inside of a Chromium checkout the CEF source code needs to be in the top-level folder (e.g. /path/to/chromium/src/cef). To make this work without losing history or requiring problematic hacks (like symlinks) the "svn/branches/XXXX/cefX" folders will need to become something like "refs/branches/XXXX-cefX" in Git.
magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm

Re: Google Code shutting down

Postby magreenblatt » Fri Mar 13, 2015 7:02 pm

magreenblatt wrote:The bigger issue for CEF will be converting from SVN to Git. This step will likely be done first with associated script and documentation updates before the rest of the project (issue tracker and wiki) is moved to a new host.

I ended up with a slightly different structure for the Git repo, mostly following the instructions from here. SVN trunk maps to master in the Git repo. SVN branches map to a branch with the same name. The "cef3/" path component is removed from the repo for newer CEF3 branches (>= 1547) while the directory structure remains unchanged for older branches. Consequently older branches (<= 1453) will no longer be supported by the automated build tools.

Branch mapping:
Code: Select all
/svn/trunk/cef3 => master
/svn/branches/XXXX/cef3 => XXXX

Here are the commands that I used to create the new Git repo:
Code: Select all
# Create a git svn clone of the SVN repo. This will take a while.
git svn clone -A authors.txt -b branches -T trunk --prefix=svn/ https://chromiumembedded.googlecode.com/svn/ cef

cd cef

# Download all branches locally.
# Edit the .git/config file and add a "tags =" line to avoid errors.
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar clean-git --force

# Remove unused remote refs.
git update-ref -d refs/remotes/svn/cef2
git update-ref -d refs/remotes/svn/cef3

# Remove "cef3/" from the directory structure for newer branches.
# Execute the following commands for each branch including master:
git checkout 2272
git filter-branch -f --tree-filter 'test -d cef3 && mv cef3/* . || echo "Nothing to do"' HEAD
magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm

Re: Google Code shutting down

Postby magreenblatt » Sat Mar 14, 2015 1:41 am

CEF will be moving to Bitbucket over the next few days/weeks. The reasons for choosing Bitbucket over GitHub were as follows:

- GitHub only supports image attachments in their issue tracker. This would cause important history to be lost.
- GitHub does not allow private repos for free accounts whereas Bitbucket does.
- Bitbucket's issue tracker has somewhat better look/feel (my opinion).
- CEF is already using Bitbucket to host read-only Git mirrors.

Note that people can still fork CEF repos using the host of their choice and submit patch files if they prefer not to create a Bitbucket account.

The transition will proceed as follows:

1. Create a new chromiumembedded/cef repository (cef: done, jcef: done).
2. Create the new Git repo as described above (cef: done, jcef: done).
3. Move over the issue tracker (cef: done, jcef: done). Old issue tracker becomes read-only.
4. Update automate-git.py and BranchesAndBuilding Wiki (cef: done, jcef: done).
5. Deprecate SVN and old branch-specific Git repos currently hosted on Bitbucket (cef: done, jcef: done).
6. Move over remaining Wiki pages (cef: done, jcef: done).
7. Update all Google Code pages/screens to link the new host (cef: done, jcef: done).

On or after April 15, 2015:
8. Delete old branch-specific Git repos (done).

The same process will be applied to JCEF in the near future (moving to chromiumembedded/java-cef repository).

Once these changes are complete through step #5 above the recommended workflow for CEF/JCEF contributors becomes:

1. Create an issue in the issue tracker.
2. Fork the Git repository.
3. Make your changes in personal branch or master of the fork.
4. When your changes are complete submit a pull request to master.
5. Pull request gets reviewed, resolve any issues, etc.
6. Pull request gets merged.
7. Optionally request a merge to a release branch.
magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm

Re: Google Code shutting down

Postby Czarek » Sun Mar 15, 2015 3:43 am

Google Code developers didn't think it thorough. The "Export to Github" button is available for any visitor and with two clicks anyone can duplicate all project content including all issues and wikis (it's a lot more than just clone). There will be so much duplicated content on the net. And you can't disable this button, just great.
Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am

Re: Google Code shutting down

Postby magreenblatt » Sun Mar 15, 2015 5:41 pm

Czarek wrote:Google Code developers didn't think it thorough. The "Export to Github" button is available for any visitor and with two clicks anyone can duplicate all project content including all issues and wikis (it's a lot more than just clone). There will be so much duplicated content on the net. And you can't disable this button, just great.

Yeah, it's not great, but I can understand Google's motivation. It seems that there are quite a few projects on Google Code that have been abandoned and this is an easy mechanism for people to make a copy of that project's content before it disappears.

For CEF/JCEF this is what I'm doing to document the project's move to a new "official" location:

1. Project main page -- Add a message explaining that the project is moving with a link to this forum post and the new host location.
2. Source -- Create a "Source" Wiki page that links to the new host location and use it to replace the default tab destination via Administer > Tabs.
2. Issue Tracker -- (a) For each open issue add a comment linking to the same issue in the new issue tracker with instructions to Watch that issue for further updates; and (b) Create an "Issues" Wiki page that links to the new host location and use it to replace the default tab destination via Administer > Tabs.
4. Wiki -- (a) For each document replace the content with a link to the new Wiki document location; and (b) Create a "Wiki" Wiki page that links to the new host location and use it to replace the default tab destination via Administer > Tabs.
5. Project main page -- After everything else has moved replace the main page content with a short description of the project (for search engines) and a link to the new host location.

If someone uses the "Export to Github" button after the above process is complete they'll get content which is mostly just links to the new host location.
magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm

Re: Google Code shutting down

Postby magreenblatt » Mon Mar 16, 2015 2:42 pm

The transition to Bitbucket hosting is now complete for the CEF project.
magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm

Re: Google Code shutting down

Postby Czarek » Mon Mar 16, 2015 2:50 pm

magreenblatt wrote:The transition to Bitbucket hosting is now complete for the CEF project.

Nice work! :D

I see that bitbucket has a few advantages over github. The most interesting I've discovered just now are the "Recent activity" tab on main page and the [TOC] tag. On github you still can't have table of contents on wikis. The downside I've noticed in the past weeks, is that the bitbucket service was lagging and I couldn't access it sometimes because of 500 or similar errors. Github seems to be more stable.
Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am

Re: Google Code shutting down

Postby alexeibs » Tue Mar 17, 2015 2:18 am

Have you considered to setup something like Travis CI? Many Github projects do this.
alexeibs
Techie
 
Posts: 12
Joined: Tue Dec 02, 2014 4:07 pm

Next

Return to CEF Discussion

Who is online

Users browsing this forum: No registered users and 24 guests