Options to validate history

Hi,

We are doing SVN to Bitbucket migration and there are a lot of repositories that we have to work on. Everytime after migration to bitbuket, we have to validate the history manually and see if all the commits done on SVN are present on bitbucket repository as well.
Is there any way we can validate the history while migrating from SVN to BItbucket?
This is to make sure that the history for the svn repository has all the commits intact in bitbucket as well.

Thanks

Hi,

I’m afraid the SVN Mirror add-on doesn’t provide any features that could automatically compare history in SVN and Git and neither I’m aware of any third-party tools that could do it.
There’s a couple of features that may be helpful for the history checking, I suppose. First, the add-on adds git notes during the translation; those notes contain revisions numbers. The notes can be added to the ‘git log’ output in the following ways:

  • in the working copy add the fetch configuration for notes in Git configuration file:

      [remote "origin"]
      ...
      fetch = +refs/svn/map:refs/notes/commits
    
  • in the bare repository (on Bitbucket server) use the following command:

     git update-ref refs/notes/commits refs/svn/map
    

Also, the add-on allows adding revision numbers right into commit messages during the translation. It can be done by the svn.gitCommitMessage – this setting allows to add the revision number (along with other information) in the Git commit message, which can also be useful for history comparison.

Hi,

Thank you for the suggestion.

  1. What would be the growth rate of log file after this configuration change?
  2. Will this configuration change require Bitbucket services restart?

Thanks

Hi.

  • The Bitbucket service restart is not needed, the configuration change should only be applied in the repository UI.

  • it’s not about logs files, it is about repository’s git log – that is, git repository history. The svn.gitCommitMessage setting adds information right into the git commit message, so it will be displayed in the ‘git log’ output, find more details and examples here:

    https://subgit.com/documentation/config-options.html#svn.gitCommitMessage