How To Migrate A SVN Repository To Github - Bonita Documentation

Bonita

    • What’s new in Bonita 2022.1
    • What is Bonita?
      • Bonita’s purpose
      • Bonita Project structure
      • Bonita Components
        • Bonita Studio
          • Using Bonita Studio
          • Managing Extensions
          • Bonita UI Designer
        • Bonita Runtime
        • Bonita Continuous Delivery
    • Studio installation
    • Getting Started Tutorial
      • Draw a BPMN diagram
      • Define a Business Data Model
      • Declare business variables
      • Declare contracts
      • Create forms
      • Define who can do what
      • Configure an email connector
      • Design an application page
      • Create an application
    • Project best practices
      • Teamwork
      • Project phases
    • Development environment setup
      • Bonita Studio configuration
      • How to configure Maven
      • Workspaces and projects
      • Set up Bonita Studio with GitHub
      • How to migrate an SVN repository into a Git repository
      • Log files
      • Logs
    • Processes
      • Process Diagrams
        • Overview
        • Pools and lanes
        • Tasks
        • Iteration
        • Gateways
        • Expressions and scripts
        • Groovy usage
        • Events
        • Transitions
        • Called processes
        • Event subprocesses
        • Text annotations
        • Operations
        • Refactoring
        • Case-specific task names
      • Actors
        • Actors of processes
        • Actor filters
        • Create an actor filter
      • Connectors
        • Overview
        • Connector creation concepts
        • Connector creation example
        • Migrate an old connector
        • Bonita official connectors
          • CMIS
          • Database
            • List of database connectors
            • Database connector configuration
            • Graphical query builder
            • Initialize a variable from a database without coding
          • Document templating
          • Google Calendar
          • LDAP
          • Messaging
          • Document converter
          • REST
            • Connecting to Sharepoint with REST
          • Salesforce
          • SAP
          • Script
          • Twitter
          • UiPath
          • Web service
            • Connector web service
            • Web service tutorial
      • Process configuration
        • Environments
        • Configure a process
        • Manage process dependencies
      • Deployment in Bonita Studio
      • Process testing
        • Log files
        • Logs
    • Data
      • Business data
        • Business Data Model
        • Multiple references in Business Objects
        • Data in the UI Designer
      • Process data
        • Process variables
        • Parameters
        • Contracts and contexts
        • Search keys
        • Documents
          • Document in processes
          • List of documents
    • Pages and forms
      • Create or modify UI elements
      • Forms overview
      • Forms development
      • Pages overview
      • Pages development
      • Variables in the UI Designer
      • Widgets
      • Widget properties
      • Repeatable container
      • Create a custom widget
      • Fragments
      • Assets
      • How-tos
        • How to control and validate forms in the UI Designer
        • How to customize the case overview page
        • How to manage dates and times in BDM and User Interfaces
        • How to use the rich text area widget in a mail template
    • Applications
      • Application descriptor
      • Layout
        • Bonita Layout
        • Customize layouts
        • How to create a vertical tabs container for all devices
      • Appearance
        • Theme
        • Theme customization
      • Navigation between applications
      • Translation
        • Multi-language applications
        • Multi-language pages
        • Languages
      • Adaptive Case Management example
        • Enable Adaptive Case Management with Bonita
    • Extensions
      • Bonita Artifact Repository Access
      • Extension SDKs
      • Custom library development
    • Integration
      • Event handler
    • API
      • REST API
        • Overview
        • API glossary
        • REST API extensions
        • Create a REST API extension
        • How to manage BDM in REST API extensions
      • Java API
        • Overview
        • Create your first project with the Java APIs and Maven
        • Configure connection to Bonita Engine
        • Javadoc
        • Examples
          • Managing a process
          • Handling a failed activity
          • Managing an organization
          • Managing users
          • Handling documents
          • Creating administration tools
          • Managing the platform
        • List and search methods
        • Queriable logger
    • Identity Management
      • Authorization
        • Organization
          • Approaches to managing organizations and actor mapping
          • Organization management in Bonita Studio
          • Custom User Information in Bonita Studio
        • Profiles
          • Profile editor
        • Special users
        • REST API authorization
          • API permissions overview
        • Authorization rules
        • BDM access control
      • Authentication
        • Overview
        • Active Directory or LDAP authentication
        • LDAP synchronizer
        • SSO
          • CAS
            • Log in with CAS
          • SAML
          • OIDC
          • Kerberos
        • Enforce password policy
        • SSL
        • Tenant administrator credentials
        • Guest user access
    • Deployment
    • Runtime
      • Bonita Engine deep dive
        • Architecture overview
        • Works
          • Work execution
          • Work locking
        • BPM execution details
          • Flow nodes
          • Processes
          • Call activities
          • Connectors
          • Timers
          • Events
        • BDM technical handling
        • Fault tolerance mechanisms
      • Applications deep dive
        • Overview
        • Cache configuration and policy
        • Log in and log out
        • Application Directory
        • Bonita Super Administrator application
          • Overview
          • Put Runtime in maintenance mode
          • BDM
          • Organization
            • Install/export an organization
            • Manage groups
            • Manage roles
            • Users
              • Manage users
              • Custom User Information
            • User profiles
              • Overview
              • Profiles
          • Resources
          • Applications
        • Bonita Administrator application
          • Overview
          • Process Management
            • Create a process manager application
            • Monitoring
            • Process list
            • Import and export a process
            • Case list
            • Task list
        • Bonita User Application
          • Overview
          • Process list
          • Case list
          • Task list
        • Bonita Reporting App
      • Installation
        • Hardware and software requirements
        • Bonita bundle
        • Docker image
          • Installation
          • Healthcheck mechanism
        • Bonita in a cluster
          • Overview
          • Install a Bonita cluster
        • Specific installations
          • In a custom Tomcat
            • Convert a WildFly bundle into a Tomcat
          • Behind a reverse-proxy
          • As a service
          • Embed engine - Lab
          • On Kubernetes
      • Configuration
        • Setup tool
        • Database configuration
        • First steps after setup
        • Licenses
        • Recording levels
        • Archives
      • Administration
        • Cluster
        • Live update
        • Runtime backups
      • Optimization
        • Monitoring
        • Work execution audit
        • Performance troubleshooting
        • Performance tuning
        • Tomcat gzip compression
        • Bonita Runtime maintenance operations
        • Purging unnecessary archive data
          • Purge tool changelog
    • Security
      • Input Validation (Requests Sanitizer)
      • CSRF security
      • Enable CORS in Tomcat bundle
    • Bonita update and upgrade
      • Bonita versions
      • Update Bonita Studio
      • Update Bonita Runtime
        • Bonita Migration Tool
        • Bonita Update Tool
        • Update tools changelog
      • Migrate a form from 6.x
      • Upgrade from Community to Enterprise
    • Contributing to Bonita
      • Report a vulnerability
      • Build Bonita Community edition from the source
Bonita 2022.1
  • Bonita
    • 2025.2
    • 2025.1
    • 2024.3
    • 2024.2
    • 2024.1
    • 2023.2
    • 2023.1
    • 2022.2
    • 2022.1
    • 2021.2
    • 2021.1
    • Archives
    • 2026.1-alpha
  • Central
    • 1.0
  • Cloud
    • latest
  • Continuous Delivery
    • 4.0
    • 3.6
  • Labs
    • latest
  • Process Insights
    • latest
  • Test Toolkit
    • 3.1
    • 3.0
    • 2.0
    • 1.0
  • Bonita
  • Development environment setup
  • How to migrate an SVN repository into a Git repository
2022.1 2025.2 2025.1 2024.3 2024.2 2024.1 2023.2 2023.1 2022.2 2022.1 2021.2 2021.1 Archives 2026.1-alpha

This documentation is for a version that is out of support.

You may want to view the same page for the latest version, or for any of the versions available in the drop-down menu in the top-right corner.

How to migrate a SVN repository to Github

For Subscription editions only.

This page explains how to migrate a SVN repository and its history to a Git repository on GitHub.

Prerequisites

  • Ubuntu

  • awk : sudo apt install awk

  • subversion: sudo apt install subversion

  • git: sudo apt install git (tested with git 2.17.1)

  • git-svn: sudo apt install git-svn

Migration steps

Retrieve the list of all Subversion committers

A first step will be to retrieve the committers list of the repository. Checkout a copy of the repository to migrate in a location of your choice: svn checkout <svn-repository-url> Then run the following command from the locally checkouted repository to retrieve the svn committers: svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > authors-transform.txt

In Git, the commit author needs to have a name and email listed. So update authors-transform.txt accordingly.

eg: wbates = wbates <wbates> into wbates = Walter Bates <[email protected]>

Clone the Subversion repository using git-svn

git svn clone <svn-repository-url>/<bonita-repo-name> --no-metadata --stdlayout --no-minimize-url -A authors-transform.txt ~/temp

This will do the standard git-svn transformation (using the authors-transform.txt file you created in the step above) and place the git repository in the ~/temp folder inside your home directory. Note: <bonita-repo-name> should have trunk, branches, tags children folder.

Create a .gitignore

Add a .gitignore in ~/temp with the following content

bin .classpath /src-providedGroovy /template /h2_database /process_configurations /META-INF .settings target/ /build.properties #provided web widgets /web_widgets/pb*/ #web component preferenes /web_widgets/.metadata /web_fragments/.metadata /web_page/.metadata /web_page/*/js /web_fragments/*/*.js /web_widgets/*/*.js #bdm jar dependency is regenerate from bom.xml file /lib/bdm-client-pojo.jar #only used as user preferences /database_connectors_properties

Double check that all files listed in the .gitignore are not present in ~/temp folder. Remove them otherwise.

Then add all the changes and commit: git add -A git commit -m 'Add .gitignore.'

Push repository to GitHub

Create a new empty repository on GitHub. Configure the upstream git remote add origin <github-repo-url> git push --set-upstream origin master

You can now clone this git repository in Bonita Studio.

References

For a more advanced migration read the following article

  • https://john.albin.net/git/convert-subversion-to-git

Previous Set up Bonita Studio with GitHub Next Log files

Từ khóa » Svn Github