Skip to content

scribusproject/scribus_svn_git

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

README

This repository contains the meta-data used to convert the Scribus SVN (svn://scribus.net) repository to Git.

The trunk and all branches and tags are imported from SVN into Git.

The SVN repository contains an additional folder "Scribus" at the project root. This folder is skipped during conversion, so that the programm sources appear in the repository root.

The git_repo_init.sh script configures an empty Git repository to receive the SVN commits.

The update_from_svn.sh script pulls new commits from SVN, creates Git tags from SVN tags and pushes the result to the configured "origin" Git remote repository. (To congigure this origin Git remote repo, just do a "git remote add repo_name repo_url" in the shell).

Requirements

  • bash
  • git
  • subversion
  • git-svn
  • whitail or dialog

How to setup

First, you will have to clone this repository. We suppose you are cloning it into ~/src, but you can pick any directory you prefer.

cd ~/src
git clone https://github.com/scribusproject/scribus_svn_git.git

Then create a local repository called scribus-github-sync (or any other name you see fit) that you will use to contain the sync.

cd ~/src
git init scribus-github-sync

Finally, use the scripts from the scribus_svn_git repository to setup the local repository so that it can be used for syncing the Scribus repositories. (it will take some time)

cd ~/src/scribus-github-sync
~/src/scribus_svn_git/git_repo_init.sh
git remote add origin https://github.com/scribusproject/scribus.git

How to sync

Now, each time you want to update the scribusproject/scribus you go into the scribus_svn_git repository and run the update script:

cd ~/src/scribus-github-sync
~/src/scribus_svn_git/update_from_svn.sh

Caveat

All SVN commiters need to be listed in svn_authors.txt. A missing author will lead to an error:

Author: <username> not defined in /path/to/svn_authors.txt file

In this case, add the new commiter to the svn_authors.txt file with the following format:

username = Full Name <[email protected]>

and re-run the import.

Trouble shooting

Pushed a non svn commit

If you have pushed a commit that does not come from SVN and it's still the latest commit:

From an up to date (with the wrong commit) local copy of the Scribus Github code::

git reset --keep HEAD~
git log
git push --force-with-lease upstream master

External references

About

meta-data to clone Scribus SVN into a git repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%