git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git-svn, git-submodule, and svn externals

From
CFChris Frey <cdfrey@foursquare.net>
Date
Sep 17, 2010, 05:28 UTC
Message-ID
<20100917052844.GA13321@foursquare.net>
Hi,

I'm struggling to find a clean way to manage a SVN project in git. This SVN project consists of a library, an app, and numerous plugins. Each of these has its own svn repo. Each repo has an external with common build checks.

1) I'd like to find a way to track one svn project, including its
	external, and be able to dcommit to it without worrying about
	the submodule commit.
	Right now I have a git repo that tracks the svn external
	and a repo that tracks, for example, the library.
	I combine them with git-submodule, and therefore have a
	commit in the tree for the .gitmodule file and submodule
	directory.
	Each time I want to git svn dcommit, I create a new branch,
	rebase it onto master without the .gitmodule commit, and
	dcommit.  There's gotta be a better way.
2) Ideally, I would like to combine the library and all the modules
	in a single git repo that I can type 'make' at the root and
	build everything.  It would be nice if I could do development
	in this meta tree, and commit to each various separate repo.
	The commits eventually have to make their way back to their
	separate SVN repos.
3) I'd like to share my git repo, so that people who want to use git,
	can use git, and not have to futz about with tracking SVN.
What technology springs to mind when you read these requirements? :-)
Thanks in advance,
- Chris
Message 1 of 1 in “git-svn, git-submodule, and svn externals”
  1. Chris FreySep 17, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.