Questions tagged [reposurgeon]

A tool by Eric S. Raymond for surgical operations on repositories during conversion

A tool by Eric S. Raymond for surgical operations on various types of repositories during conversion from one into another or automated synchronization between two formats.

It uses the git-fast-export format that is understood by or for which tools are available in most modern distributed version control systems (DVCS) as an intermediate format common to all the target version control systems.

The tool is able to read Subversion dumps natively and uses cvs-fast-export by the same author for CVS and RCS interoperability. It is written in Python and can be sped up by running it via PyPy.

The accompanying tool repopuller is a frontend to cvs-fast-export and svnsync respectively and can be used do incremental updates to the mirror of a source repository.

The tool is able to manipulate the relationship between commits as well as other meta-data such as author, tag and branch. It can synthesize branches, tags, merges and also remove them both interactively and via a script.

See the official page for more info and follow the DVCS migration HOWTO for migrations from Subversion or CVS to Bazaar, Git or Mercurial.

Interoperability as of version 3:

  • Git
  • Mercurial (hg)
  • Bazaar (bzr)
  • Darcs
  • Subversion (svn)
  • CVS
  • RCS
20 questions
0
votes
1 answer

Migrating a svn repository without trunk to git using reposurgeon

I'm trying to convert an old svn repository to git. After reading a couple of posts describing the disadvantages of using git-svn for this task, especially for repositories with a non-standard layout, I decided to give reposurgeon a go. After…
0
votes
2 answers

Reposurgeon creates branches instead of tags

I'm trying to convert CVS to GIT by following this tutorial: http://www.catb.org/~esr/reposurgeon/dvcs-migration-guide.html It looks OK overall, however for some CVS tags (and it looks like it starts at some point of time in the repository and then…
levant pied
  • 3,886
  • 5
  • 37
  • 56
0
votes
1 answer

How to add a new function to RepoSurgeon (just like dsc or amp or min)

This is a specialized version of: How to replace existing Python class methods of (or otherwise extend) RepoSurgeon by means of 'exec' and 'eval'? How can one add a new function to RepoSurgeon using the exec facility (i.e. without editing the…
0xC0000022L
  • 20,597
  • 9
  • 86
  • 152
0
votes
1 answer

How to replace existing Python class methods of (or otherwise extend) RepoSurgeon by means of 'exec' and 'eval'?

The documentation (at the time of this writing) on the topic is scarce. How can I extend reposurgeon functionality if the use of macros (define) isn't sufficient for my purposes? The only clues it gives is that: The code has full access to all…
0xC0000022L
  • 20,597
  • 9
  • 86
  • 152
0
votes
2 answers

When I write out a repository state with `--fossilize` in reposurgeon, does 'read' restore those markers?

When converting a repository using reposurgeon and I write a state into the git-fast-export by doing: prefer git write --fossilize >nameofdump.fi will a subsequent: read
0xC0000022L
  • 20,597
  • 9
  • 86
  • 152
1
2