...
Proposal
A proposal to see uPortal's
...
source
...
code
...
moved
...
to
...
git
...
and
...
hosted
...
on
...
GitHub.
...
There
...
have
...
been
...
quite
...
a
...
few
...
folks
...
that
...
have
...
been
...
working
...
on
...
uPortal
...
4,
...
uMobile
...
or
...
are
...
otherwise
...
interested
...
that
...
have
...
asked
...
about
...
using
...
git.
...
After
...
looking
...
into
...
it
...
a
...
bit
...
more
...
I
...
think
...
it
...
would
...
be
...
a
...
very
...
valuable
...
change
...
for
...
uPortal.
...
For
...
those
...
not
...
familiar
...
Git
...
is
...
a
...
distributed
...
source
...
control
...
tool.
...
What
...
that
...
means
...
is
...
there
...
is
...
no
...
true
...
central
...
repository
...
like
...
there
...
is
...
with
...
SVN.
...
Developers
...
don't
...
really
...
checkout
...
some
...
version
...
of
...
the
...
code,
...
they
...
clone
...
the
...
entire
...
project
...
when
...
doing
...
work.
...
That
...
doesn't
...
prevent
...
the
...
convention
...
of
...
a
...
central
...
repository
...
which
...
is
...
what
...
a
...
site
...
like
...
GitHub
...
provides.
...
A
...
place
...
to
...
host
...
a
...
clone
...
of
...
the
...
project
...
that
...
by
...
convention
...
we
...
agree
...
is
...
the
...
master
...
copy
...
of
...
the
...
project.
...
GitHub
...
adds
...
some
...
very
...
nice
...
social-coding
...
aspects
...
to
...
git.
...
Primarily
...
it
...
provides
...
a
...
VERY
...
easy
...
interface
...
that
...
allows
...
anyone
...
to
...
clone
...
a
...
project,
...
make
...
changes
...
and
...
commit
...
them
...
to
...
their
...
clone,
...
then
...
make
...
a
...
pull
...
request
...
on
...
the
...
master
...
project.
...
Once
...
that
...
has
...
happened
...
a
...
simple
...
click
...
of
...
a
...
button
...
is
...
all
...
it
...
takes
...
for
...
any
...
developer
...
with
...
commit
...
access
...
on
...
the
...
master
...
to
...
accept
...
the
...
changes
...
and
...
merge
...
them
...
in.
...
This
...
process
...
makes
...
it
...
very
...
easy
...
for
...
people
...
without
...
direct
...
commit
...
access
...
to
...
commit
...
changes
...
that
...
are
...
reviewed
...
by
...
a
...
core
...
developer
...
before
...
merging
...
in
...
and
...
significantly
...
simplifies
...
the
...
work
...
of
...
the
...
core
...
developers.
...
When
...
there
...
was
...
first
...
talk
...
among
...
about
...
switching
...
I
...
solicited
...
feedback
...
from
...
the
...
Fluid
...
project
...
which
...
recently
...
moved
...
from
...
SVN
...
to
...
Git.
...
I
...
highly
...
recommend
...
reading
...
the
...
resulting
...
thread
...
which
...
highlights
...
a
...
lot
...
of
...
the
...
pros
...
and
...
cons
...
http://old.nabble.com/Perspectives-on-Git-td31852449.html
...
There
...
is
...
an
...
eclipse
...
Git
...
Plugin,
...
a
...
TortiseGit
...
client
...
which
...
is
...
a
...
clone
...
of
...
TortiseSVN
...
and
...
I
...
believe
...
most
...
other
...
IDEs
...
have
...
either
...
built
...
in
...
or
...
plugin
...
support
...
for
...
git.
...
Related Links
- A Git Workflow
- Git for those without Version Control background
- GitHub's wonderful help documentation
- TortiseGit
Migration Details
- The entire history of uPortal including all maintenance branches would be copied to GitHub, all new development and maintenance would take place via git.
- The uPortal code in subversion at source.jasig.org would be left in place. The entire /uPortal directory would be made read-only. There would be a process that mirrored all post-migration commits to the git repository to the uPortal directory in Subversion allowing deployers using SVN specific integrations to continue using those processes.
Test Migration
A test migration of the uPortal source code has been completed and is available: https://github.com/edalquist/uPortal-GitTest
...
If
...
anyone
...
would
...
like
...
access
...
to
...
play
...
with
...
this
...
throw-away
...
repository
...
...
...
...
.
Concerns
- Developer Familiarity
- Primary concern with speed for applying critical fixes for a 4.0.1
...
- release
...
- svn:externals
...
- Used
...
- by
...
- some
...
- deployers
...
- as
...
- an
...
- alternative
...
- to
...
- a
...
- vendor
...
- drop
...
- import
- This should be addressed by the read-only SVN mirroring that will be maintained
- Local deployments using Subversion (if Subversion is their institutional repository)
- Process to merge fixes into local repository directly from the uPortal repository?
- This should be addressed by the read-only SVN mirroring that will be maintained
- Sakai-Jasig merger
- How will this relate to the merger and any broader SCM/Release management strategy? (http://groups.google.com/group/jasig-sakai-collaboration)
- Projects under a merged Jasig/Sakai Collaboration will still be responsible for setting their own SCM and release management strategies just as it is now under Jasig
Audiences
Active Committers
The folks that have had a commit to uPortal in the last 6 months.
Non-Committers Contributors
Folks that are providing patches but don't have commit access.
uPortal Deployers
People that use the uPortal SVN repository as a source for local deployments.
Username Mapping
For the final migration a mapping of Subversion usernames to GitHub usernames is needed to retain as much history as possible. Please add your GitHub account information to: https://github.com/Jasig/svn2git-migration/blob/master/mappedAuthors.txt