Page History
...
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Updating / Upgrading DSpace installation
To ensure we are consistently updating DSpace in the same manner, please perform the following steps when updating any configuration
or making any customization to DSpace.
(If you have updates/suggestions, please let us know – we can change these processes, but we just need to make sure we are all consistently following the same general steps)
Make all Configuration/File Changes in '~/dspace-src/' FIRST
The ~/dspace-src/
folder is a Git clone of the DSpace GitHub Repository: https://github.com/DSpace/DSpace/
In this local Git repository, we are running off of a local branch named "demo". You can see all the branches by running
Code Block |
---|
git branch |
Changes that you wish to keep should be committed to this local "demo" branch.
At any one time, you can compare this 'demo' branch to any version of DSpace. For example, to compare 'demo' to DSpace 1.8.2 run:
Code Block |
---|
cd ~/dspace-src
git checkout demo
git diff dspace-1.8.2
|
Warning |
---|
WARNING: If you make direct config edits to ~/dspace/config/ you can expect that they may be overwritten in future (unless you also copy them to ~/dspace-src/dspace/config/) |
Upgrade DSpace Source
If you are upgrading to the next stable version of DSpace, you can use git merge
to help you merge all changes.
WARNING THE FOLLOWING IS UNTESTED! PLEASE UPDATE WHEN WE UPGRADE TO 3.0-RC1!!
For Example:
Code Block |
---|
cd ~/dspace-src
git checkout demo
git merge dspace-3.0-rc1 (or 'git merge master')
|
NOTE: You should make sure to pay close attention to whether any Conflicts occurred. If so, you will need to resolve them manually.
Resolving Conflicts: Here are some hints on how to resolve / manage conflicts encountered during a merge:
If there were a lot of conflicts and you just want to accept the "master" or tagged version (and overwrite any local changes), you can use:
Code Block git checkout --theirs [full-path-to-file] git add [full-path-to-file]
If you need to completely delete a file that caused conflict, just use:
Code Block git rm [full-path-to-file]
If you need to abort an in-process merge that had conflicts, just run:
Code Block git merge --abort
Rebuild DSpace
Code Block |
---|
cd ~/dspace-src
mvn clean package
|
Push out Updates
WARNING: this overwrites existing configs in ~/dspace/config/
Code Block |
---|
sudo service tomcat stop
cd ~/dspace-src/dspace/target/dspace-[version]-build/
ant update
sudo service tomcat start
|
Double check everything still looks to be working.
Also make sure your changes made it to ~/dspace/
(and that you didn't remove previous settings, especially configs)
An easy way to double check config changes is to do a 'diff' of the latest dspace.cfg with the most recent '.old' one.
Recommended to commit your changes to "demo" local branch
Assuming your changes are already over in ~/dspace-src/
this is easy...
Code Block |
---|
cd ~/dspace-src/
git commit [file]
# OR, to commit all changed files
git commit -a |
General Server Setup
Here's an overview of how everything is setup on the 'demo.dspace.org' server:
...
This functionality is just a simple set of SQL UPDATE commands that are run via the ~/bin/reset-demo-passwords
script.
Updating / Upgrading DSpace installation
To ensure we are consistently updating DSpace in the same manner, please perform the following steps when updating any configuration
or making any customization to DSpace.
(If you have updates/suggestions, please let us know – we can change these processes, but we just need to make sure we are all consistently following the same general steps)
Make all Configuration/File Changes in '~/dspace-src/' FIRST
The ~/dspace-src/
folder is a Git clone of the DSpace GitHub Repository: https://github.com/DSpace/DSpace/
In this local Git repository, we are running off of a local branch named "demo". You can see all the branches by running
Code Block |
---|
git branch |
Changes that you wish to keep should be committed to this local "demo" branch.
At any one time, you can compare this 'demo' branch to any version of DSpace. For example, to compare 'demo' to DSpace 1.8.2 run:
Code Block |
---|
cd ~/dspace-src
git checkout demo
git diff dspace-1.8.2
|
Warning |
---|
WARNING: If you make direct config edits to ~/dspace/config/ you can expect that they may be overwritten in future (unless you also copy them to ~/dspace-src/dspace/config/) |
Upgrade DSpace Source
If you are upgrading to the next stable version of DSpace, you can use git merge
to help you merge all changes.
WARNING THE FOLLOWING IS UNTESTED! PLEASE UPDATE WHEN WE UPGRADE TO 3.0-RC1!!
For Example:
Code Block |
---|
cd ~/dspace-src
git checkout demo
git merge dspace-3.0-rc1 (or 'git merge master')
|
NOTE: You should make sure to pay close attention to whether any Conflicts occurred. If so, you will need to resolve them manually.
Resolving Conflicts: Here are some hints on how to resolve / manage conflicts encountered during a merge:
If there were a lot of conflicts and you just want to accept the "master" or tagged version (and overwrite any local changes), you can use:
Code Block git checkout --theirs [full-path-to-file] git add [full-path-to-file]
If you need to completely delete a file that caused conflict, just use:
Code Block git rm [full-path-to-file]
If you need to abort an in-process merge that had conflicts, just run:
Code Block git merge --abort
Rebuild DSpace
Code Block |
---|
cd ~/dspace-src
mvn clean package
|
Push out Updates
WARNING: this overwrites existing configs in ~/dspace/config/
Code Block |
---|
sudo service tomcat stop
cd ~/dspace-src/dspace/target/dspace-[version]-build/
ant update
sudo service tomcat start
|
Double check everything still looks to be working.
Also make sure your changes made it to ~/dspace/
(and that you didn't remove previous settings, especially configs)
An easy way to double check config changes is to do a 'diff' of the latest dspace.cfg with the most recent '.old' one.
Recommended to commit your changes to "demo" local branch
Assuming your changes are already over in ~/dspace-src/
this is easy...
...
kompewter IRC bot
The kompewter IRC bot is on the server at ~/kompewter
.
...