Skip to content

Home

vitoshka edited this page · 2 revisions
Clone this wiki locally

ESS-mirror is an exact replica of ESS svn trunk.

To be used by ess-core developers only. Please don't push anything to this repository, it is synchronized automatically. To avoid accidental push, please clone read-only.

Instructions:

# 1) clone read only:
git clone git://github.com/emacs-ess/ESS-mirror.git 
cd ESS-mirror

# 2) initialize svn metadata:
git svn init -s --prefix=origin/  https://svn.r-project.org/ESS

# 3) you don't want to fetch our old  branches and tags:
git config --unset svn-remote.svn.branches
git config --unset svn-remote.svn.tags

# 4) optional to remind you what instead of pushing you should dcommit instead
git config remote.origin.pushurl WARNING_USE_SVN_DCOMMIT_INSTEAD_OF_PUSH 

# 5) complete svn initialization
git svn rebase

Now you must be able to pull from git mirror or from the svn directly:

git pull --rebase        
##or
git svn rebase


You should always rebase you````r current work agings the fetched history in
order to linearize your local git work.

## The usual workflow:
git svn rebase           

## do usual git stuff - modify files, manage remotes, merge contributed branches etc

git svn dcommit                # finally push changes back to subversion

## For example suppose you are working on a branch "feature"
git checkout feature           # switch to feature
git rebase trunk               # replay branch changes on top of trunk
git checkout trunk             # switch back to the main branch trunk
git merge feature              # merge feature branch
git svn dcommit                # push changes back to subversion
Something went wrong with that request. Please try again.