wiki:UsingGitToMaintainGDALWorkflow

Version 1 (modified by Mateusz Łoskot, 14 years ago) ( diff )

Created page explaining basics of use of git-svn against GDAL SVN

Using Git to maintain GDAL workflow

This article describes how to maintain GDAL development workflow with Git against GDAL Subversion repository.

Note, this is not a complete guide of how to use git-svn, but a quick list of basic operations.

Requirements: git and git-svn

First, initialize local repository for copy of trunk form Subversion:

git svn init --trunk https://svn.osgeo.org/gdal/trunk/

The option --trunk explicitly specifies intention of this operation.

It is also possible to copy complete repository, including trunk, branches and tags modules. Learn about --stdlayout option dedicated for this purpose.

Next, fetch complete copy of GDAL trunk:

git svn --authors-file=/path/to/gdal-git-authors.txt fetch

The file gdal-git-authors.txt (attached) is used by Git to translate names of SVN committers to Git names which uses format "Full name <e-mail>".

You can bring your local Git repository up to date against GDAL trunk any time.

$ git svn rebase

The rebase command is equivalent to svn update. Learn more about rebase in git-svn manual.

After this step, you maintain your own local repository of GDAL trunk. You can proceed with your own development, make changes and commit them to your local repository.

$ git commit -m "my big feature"

If you are GDAL committer, you can push your changes to GDAL Subversion repository directly from your local Git repository of GDAL trunk:

$ git svn dcommit --dry-run
$ git svn dcommit

You can also push the local copy to your own Git remote repository to share your development experiments, then others will be able to clone it. For example, you can push it to Gitorious (yourproject and gdal-svn-trunk denote names of your own choice):

git push --all git@gitorious.org:yourproject/gdal-svn-trunk.git

Resources

Attachments (1)

  • gdal-git-authors.txt (4.6 KB ) - added by Even Rouault 6 years ago. Git authors file to use with git-svn option --authors-file. Note, if this option is specified and git svn encounters an SVN committer name that does not exist in the authors-file, git svn will abort operation. The user will then have to add the appropriate entry. Re-running the previous git svn command after the authors-file is modified should continue operation.

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.