Skip to content

Simple shell script to import svn:externals into a local git-svn repository

Notifications You must be signed in to change notification settings

wberrier/git-svn-ext

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

git-svn-ext
===========

This work is based on git-svn-clone-externals and the associated
scripts written by Andre Pang.

The methodology remains the same.  Put git-svn-ext in your path and
run it from the top-level tree checked out with git-svn.  git-svn-ext
will detect and git-svn clone the externals using the following
method:

* git svn clone each external into a .git_externals/ directory.
* symlink the cloned repository in .git_externals/ to the proper directory
  name.
* add the symlink and .git_externals/ to the .git/info/excludes/ file, so that
  you're not pestered about it when performing a git status.

but the code has been converted to python as one script with
sub-commands, supports newer subversion urls, and adds a few new
features.

From the usage output:

Usage: ./git-svn-ext <sub command> [sub command args]

  sub commmands:
    clone          : clone all svn externals into .git_externals
      (warning: removes local changes and commits on subsequent runs)
    update         : Updates all svn externals (git svn fetch[ --revision]/rebase --local)
    check-unpushed : Check if local git-svn checkout has unpushed commits
    check          : run 'git status' and 'check-unpushed' for all externals
    for-all        : run a command against all externals
      (ie: git svn-ext for-all git grep 'whatever')

  Notes:
    externals may be ignored if listed in .git_external_excludes

Authors
=======
- Andre Pang <[email protected]>
- Mark van Lent <[email protected]>
- Alexander Artemenko <[email protected]>
- Wade Berrier <[email protected]>

TODO
====
- make clone not blow stuff away
- handle the case when externals are removed or altered

About

Simple shell script to import svn:externals into a local git-svn repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%