On Tue, Jun 12, 2012 at 10:02 AM, Kirti Bodhmage <k.bodhm...@qmul.ac.uk> wrote:
> I meant subversion code control at my University.
> I want to keep my live code in my local subversion repository so that I can 
> keep track of changes and development  in Dspace code.
>
> Dspace out of box means Dspace without much customisation.
> Hope this will clarify my previous email.

OK, thanks for clarification.

First, I really recommend you to try Git instead of Subversion,
because DSpace recently moved to Git and is hosted at GitHub. Git
allows you to work with branches significantly more easily. You don't
have to publish your changes on GitHub, a local repository would work
just fine.

I'll describe workflows I'd use in both Git and SVN, maybe you'll see
that in Git you can keep things separated more cleanly and merge more
often because Git helps you with that.

Subversion:
1) Check out the source code corresponding to the exact version that
you're already running and commit that.
2) Commit your patches on top of that. You'll be able to do "svn diff"
between the first revision and any later revision with local
modifications.
Moving to a new version:
3) Do a svn diff between the first and last revision, which will yield
all local modifications.
4) Get the new version from dspace.org or Github and commit it
_without your local changes_.
5) Apply the patch with you modifications, resolve any conflicts (this
can get hairy).

Git:
1) Clone the repository and switch to a branch corresponding to the
exact version that you're already running.
2) Create a separate branch (let's call it "local" here) and always
commit your local customizations there. You can always do "git diff"
between these two branches to see your modifications. (I also
recommend creating a separate branch for the "config" directory and
after you commit to the "local" branch, check out its code to this
branch, copy your "config" directory over it and commit into this
"config" branch. Watch out for any new parameters added to the config
files using git diff on the "origin" or "local" branch.)
Moving to a new version:
3) You can pull changes to the branch you're running as often as you
want (usually after minor releases) and merge the changes into your
"local" branch. This will often be a "fast-forward" merge (depending
on whether you decide to keep the "config" directory in the same
branch).

These workflows are just one possibility and they are what I would
use. Hope that helps.

Regards,
~~helix84

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to