Skip to content
This repository has been archived by the owner on Oct 24, 2018. It is now read-only.
peterdietz edited this page Apr 6, 2011 · 8 revisions

#Getting Started with DSpace + Git

Clone the repository. (The git repo is ~65MB)

git clone git://github.com/DSpace/DSpace.git

Go to the project space.

cd DSpace

Thus far, you are checked out to the branch "master", which is equivalent to "trunk" in SVN. If you wish to work from a specific branch, you can switch to a specific branch by typing.

git checkout dspace-1_7_x

Make a few empty directories. (Git can't track empty directories, so we have to manually create them).

mkdir -p dspace/modules/jspui/src/main/webapp  
mkdir -p dspace/modules/lni/src/main/webapp  
mkdir -p dspace/modules/oai/src/main/webapp  
mkdir -p dspace/modules/solr/src/main/webapp  
mkdir -p dspace/modules/sword/src/main/webapp  
mkdir -p dspace/modules/xmlui/src/main/webapp

And put a place-holder file that can be ignored, so that Git tracks the directory.

touch dspace/modules/jspui/src/main/webapp/.gitignore
touch dspace/modules/lni/src/main/webapp/.gitignore  
touch dspace/modules/oai/src/main/webapp/.gitignore  
touch dspace/modules/solr/src/main/webapp/.gitignore  
touch dspace/modules/sword/src/main/webapp/.gitignore  
touch dspace/modules/xmlui/src/main/webapp/.gitignore

From there, the build process continues similarly to the regular DSpace build instructions.

No modifications have been made to the DSpace repository to improve its interaction with Git, so you will want to create a gitignore file that will ignore certain file name patterns from version control. A perfect candidate for this is the compiled output directories, which are dynamically generated from each rebuild.

echo "target/" > .gitignore

The workflow for code changes for the Git repository is that it is only setup for one-way directional sync with the official SVN repository. Officially contributed code is commited to the SVN repository, and nightly the changes will sync and be pushed to this Git repository. Changes will not be made directly in Git, and committed to this repository. If you prefer to develop DSpace for your local purposes, you are encouraged to fork this repository, and commit your changes to your personal/organizational repository.

Clone this wiki locally