]> source.dussan.org Git - gitblit.git/commit
Preliminary implementation of server-side forking (issue 137)
authorJames Moger <james.moger@gitblit.com>
Sun, 30 Sep 2012 03:40:46 +0000 (23:40 -0400)
committerJames Moger <james.moger@gitblit.com>
Sun, 30 Sep 2012 03:40:46 +0000 (23:40 -0400)
commit1e1b85270f93b3bca624c99b478f3a9a23be2395
tree8dfcbd8ca4813d2a42455c62cae3b433d8c0c28a
parent0d531b187e123dea5e83b5b7d4749478f26254c1
Preliminary implementation of server-side forking (issue 137)

The fork mechanism clones the repository , access restrictions, and
other config options.  The app has been updated throughout to handle
personal repositories and to properly display origin/fork links.

In order to fork a repository the user account must have the #fork role,
the origin repository must permit forking, and the user account must
have standard clone permissions to the repository.

Because forking introduces a new user role no existing user accounts can
automatically begin forking a repository.  This is both a pro and a con.

Since the fork has the same access restrictions as the origin repository,
those who can access the origin may also access the fork.  This is intentional
to facilitate integration-manager workflow.  The fork owner does have the
power to completely change the access restrictions of his/her fork.
44 files changed:
.project
docs/04_releases.mkd
docs/05_roadmap.mkd
resources/gitblit.css
src/com/gitblit/ConfigUserService.java
src/com/gitblit/Constants.java
src/com/gitblit/FileUserService.java
src/com/gitblit/GitBlit.java
src/com/gitblit/SyndicationServlet.java
src/com/gitblit/models/ProjectModel.java
src/com/gitblit/models/RepositoryModel.java
src/com/gitblit/models/UserModel.java
src/com/gitblit/utils/ActivityUtils.java
src/com/gitblit/utils/JGitUtils.java
src/com/gitblit/utils/StringUtils.java
src/com/gitblit/wicket/GitBlitWebApp.java
src/com/gitblit/wicket/GitBlitWebApp.properties
src/com/gitblit/wicket/pages/BasePage.java
src/com/gitblit/wicket/pages/EditRepositoryPage.html
src/com/gitblit/wicket/pages/EditRepositoryPage.java
src/com/gitblit/wicket/pages/EditUserPage.html
src/com/gitblit/wicket/pages/EditUserPage.java
src/com/gitblit/wicket/pages/ForksPage.html [new file with mode: 0644]
src/com/gitblit/wicket/pages/ForksPage.java [new file with mode: 0644]
src/com/gitblit/wicket/pages/GitSearchPage.java
src/com/gitblit/wicket/pages/HistoryPage.java
src/com/gitblit/wicket/pages/LogPage.java
src/com/gitblit/wicket/pages/ProjectPage.html
src/com/gitblit/wicket/pages/ProjectPage.java
src/com/gitblit/wicket/pages/ProjectsPage.java
src/com/gitblit/wicket/pages/RepositoryPage.html
src/com/gitblit/wicket/pages/RepositoryPage.java
src/com/gitblit/wicket/pages/RootPage.java
src/com/gitblit/wicket/pages/SummaryPage.java
src/com/gitblit/wicket/pages/UserPage.html [new file with mode: 0644]
src/com/gitblit/wicket/pages/UserPage.java [new file with mode: 0644]
src/com/gitblit/wicket/panels/GravatarImage.java
src/com/gitblit/wicket/panels/HistoryPanel.java
src/com/gitblit/wicket/panels/LogPanel.java
src/com/gitblit/wicket/panels/ProjectRepositoryPanel.html [new file with mode: 0644]
src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java [new file with mode: 0644]
src/com/gitblit/wicket/panels/RepositoriesPanel.html
src/com/gitblit/wicket/panels/RepositoriesPanel.java
src/com/gitblit/wicket/panels/SearchPanel.java