Compare commits

...

1775 Commits

Author SHA1 Message Date
Dmitriy Zaporozhets 7af16bbb0f Merge branch 'advanced-notes' of /home/git/repositories/gitlab/gitlabhq 2013-04-02 11:35:46 +00:00
Dmitriy Zaporozhets b641cdd183 fix test 2013-04-02 14:30:32 +03:00
Dmitriy Zaporozhets af657b0509 reset st_commits before setting new value to prevent error when old st_commits is broken 2013-04-02 11:32:41 +03:00
Dmitriy Zaporozhets d3559e2556 fix tabs features 2013-04-02 11:23:06 +03:00
Sytse Sijbrandij 08c6f5f604 Adding special cases to the advanced setup notes. 2013-04-02 07:52:47 +02:00
Dmitriy Zaporozhets 8465238899 fix long names on wall 2013-04-01 22:53:07 +03:00
Dmitriy Zaporozhets 8cadeb6750 nav views refactoring 2013-04-01 22:30:48 +03:00
Dmitriy Zaporozhets 19ab03f461 minor design improvements 2013-04-01 21:37:39 +03:00
Dmitriy Zaporozhets 0e9080e3dd Fixed bug with non-displayed download button 2013-04-01 21:25:50 +03:00
Dmitriy Zaporozhets 65d9f8c16c Fix notification issue 2013-04-01 21:16:52 +03:00
Dmitriy Zaporozhets 76a4cbe464 Merge branch 'refactor/gitlab_git' 2013-04-01 20:53:00 +03:00
Dmitriy Zaporozhets 8a6bf09ad0 Pass project into factory for teams tests 2013-04-01 20:35:41 +03:00
Dmitriy Zaporozhets f536c13355 fixed test using repo with commits but old factory 2013-04-01 19:06:47 +03:00
Dmitriy Zaporozhets 3b88636d3c fix tests 2013-04-01 18:35:29 +03:00
Dmitriy Zaporozhets adccf3b499 fix facotries 2013-04-01 18:24:05 +03:00
Dmitriy Zaporozhets f5dec306fd Use project_with_code factory where necessary 2013-04-01 18:16:08 +03:00
Dmitriy Zaporozhets 9a26e9a0d6 Dont init repo on every create(:repo) 2013-04-01 17:27:44 +03:00
Dmitriy Zaporozhets 273741fbde Merge pull request #3462 from tsl0922/fix-reassign-error
fix: wrong number of arguments
2013-04-01 07:26:04 -07:00
Dmitriy Zaporozhets 541d899410 Project.repository should never be nil so you can call repository.exists? or repository.empty?
Also specify separate project factory for project with filled repo
2013-04-01 16:56:25 +03:00
Dmitriy Zaporozhets 49b024f5f5 Use Gitlab::Git:: for git features across application 2013-04-01 16:04:35 +03:00
Dmitriy Zaporozhets bb06e905ef added Gitlab::Git::Compare for git compare feature 2013-04-01 16:03:11 +03:00
Dmitriy Zaporozhets 51c167554c added Gitlab::Git::Blame for git blame feature 2013-04-01 16:02:54 +03:00
Dmitriy Zaporozhets 22817398e6 define TestEnv and keep all global stubs in one place 2013-04-01 14:39:19 +03:00
tsl0922 45c4804c8e fix: wrong argument number 2013-04-01 17:25:31 +08:00
Dmitriy Zaporozhets 7bb71bb088 Fix stubbed repo 2013-04-01 09:21:31 +03:00
Dmitriy Zaporozhets 458631c5ba remove unnecessary Commit.new 2013-03-31 23:58:17 +03:00
Dmitriy Zaporozhets bbfbff3add Extend models functionality with old decorator methods. Use Repository model 2013-03-31 23:48:12 +03:00
Dmitriy Zaporozhets b53557aca6 Remove decorator calls and methods from views. Repalace with helper calls when needed 2013-03-31 23:47:26 +03:00
Dmitriy Zaporozhets da5b0c91dc Move some decorator logic to helpers 2013-03-31 23:46:54 +03:00
Dmitriy Zaporozhets 685681e28a remove Tree/Commit decorator usage from controllers 2013-03-31 23:46:25 +03:00
Dmitriy Zaporozhets 2a6b4f965e rake task to clear redis cache 2013-03-31 23:45:58 +03:00
Dmitriy Zaporozhets a0bca5b71d Add Repository model to proxy request to Gitlab::Git::Repositoty and decorate commits with Commit model 2013-03-31 23:45:38 +03:00
Dmitriy Zaporozhets 1ea385625b Remove Commit & Tree decorators 2013-03-31 23:44:59 +03:00
Dmitriy Zaporozhets 26323046fd Decorate Gitlab::Git::Commit with Commit 2013-03-31 19:00:45 +03:00
Dmitriy Zaporozhets 9dc644635f Fix tests and remove app/models/repository.rb 2013-03-31 18:50:17 +03:00
Dmitriy Zaporozhets 154e54b46e Remove grit logic from app/ 2013-03-31 18:49:58 +03:00
Dmitriy Zaporozhets d444a23ad6 specs for Gitlab::Git::Repository and Gitlab::Git::Commit 2013-03-31 18:49:31 +03:00
Dmitriy Zaporozhets 676bce2ab9 Move Commit and Repository logic to lib/gitlab/git 2013-03-31 18:49:06 +03:00
Dmitriy Zaporozhets 71b0f8ea0b Use existing methods for branch names: Ex use @repository.branch_names instead of @repository.heads.map(&:name) 2013-03-31 17:08:10 +03:00
Dmitriy Zaporozhets 025e41576e Merge branch 'header-in-contributing-guide' of /home/git/repositories/gitlab/gitlabhq 2013-03-31 12:06:48 +00:00
Dmitriy Zaporozhets a1b76c6c0a Merge branch 'notes-in-installation-guide' of /home/git/repositories/gitlab/gitlabhq 2013-03-31 12:06:24 +00:00
Dmitriy Zaporozhets ddaedaef1a Fix therubyracer dependencies 2013-03-31 15:04:08 +03:00
Sytse Sijbrandij 8fcdbaea71 Section for important notes. 2013-03-31 13:54:46 +02:00
Sytse Sijbrandij 15143a3b7b Improve header and wording. 2013-03-31 13:48:49 +02:00
Dmitriy Zaporozhets ea7e163660 Merge pull request #3457 from jrmithdobbs/fix-freebsd-bundle-install
Update deps for therubyracer and libv8 resolve build issues on FreeBSD...
2013-03-31 01:32:33 -07:00
Douglas Huff abc47852a9 Update deps for therubyracer and libv8 to resolve build issues on FreeBSD. Resolves Iussue#3446 . 2013-03-30 18:54:12 -07:00
Dmitriy Zaporozhets 188e6a7a3f Merge pull request #3369 from hiroponz/display-note-count
Display note count on network graph.
2013-03-30 15:10:26 -07:00
Dmitriy Zaporozhets c918000bc2 Merge pull request #3396 from Andrew8xx8/issue-button-fix
New issue button was not follows to external tracker if it is selected. ...
2013-03-30 15:10:08 -07:00
Dmitriy Zaporozhets 6005ec894a Merge pull request #3392 from hiroponz/fix-non-ascii-char-username
Fix RoutingError when changing username to non ascii char.
2013-03-30 15:07:11 -07:00
Dmitriy Zaporozhets 4449ac3ad1 Merge pull request #3430 from logorrhea/master
Changed the word 'authentification' to 'authentication'
2013-03-30 15:05:29 -07:00
Dmitriy Zaporozhets 69e5a4bbeb Merge pull request #3428 from colindean/bug/assigned-team-typo
fix typo: shure -> sure
2013-03-30 15:04:32 -07:00
Dmitriy Zaporozhets 1c5a393c95 Merge pull request #3406 from docwhat/in_projects
Fixed UsersProject.in_projects
2013-03-30 15:03:44 -07:00
Dmitriy Zaporozhets 52ae054447 prevent exception when trying to edit empty project 2013-03-30 16:46:56 +02:00
Dmitriy Zaporozhets 11b89eb381 Merge branch 'master' of github.com:gitlabhq/gitlabhq 2013-03-30 16:36:15 +02:00
Dmitriy Zaporozhets e998257dcf use rollbacked version of grit to make gollum works 2013-03-30 16:35:19 +02:00
Dmitriy Zaporozhets e29c9b7932 slower animation for tree browsing 2013-03-30 16:35:19 +02:00
Dmitriy Zaporozhets 52b0ceb87a Merge branch 'accepting-mr-in-uservoice' of /home/git/repositories/gitlab/gitlabhq 2013-03-30 11:15:55 +00:00
Dmitriy Zaporozhets 214768d3c5 Merge pull request #3440 from evanwon/patch-2
Fixed: gitlab-shell version check error message
2013-03-30 04:06:06 -07:00
Dmitriy Zaporozhets 66a1b88393 Update a grit to newer version 2013-03-30 12:50:44 +02:00
Sytse Sijbrandij d8eefdccfc Removing duplication by putting everything in the readme. Allow us to close issues that deviate from the guidelines. 2013-03-30 11:35:35 +01:00
Dmitriy Zaporozhets 49f14f057d Prevent gollum to overrride gitlab-grit gem. Use grit as instead so gollum uses it too. Fixes things with gpg singatured commits, etc. 2013-03-29 08:47:14 +02:00
Dmitriy Zaporozhets a18ce40943 Revert "First step with rugged"
This reverts commit 4524ba20b8.
2013-03-28 23:01:42 +02:00
Dmitriy Zaporozhets 4524ba20b8 First step with rugged 2013-03-28 21:57:38 +02:00
Evan Wondrasek f1b369b57d Fixed: gitlab-shell version check error message 2013-03-28 11:03:00 -05:00
Dmitriy Zaporozhets 21191318ae refactor wall.js. style wall page a bit 2013-03-28 16:41:29 +02:00
Dmitriy Zaporozhets 583bfac5f5 Fix Note notification for entities without assignee 2013-03-28 16:00:19 +02:00
Dmitriy Zaporozhets 5ad4be295f remove notify checkboxes from note forms 2013-03-28 15:39:18 +02:00
Dmitriy Zaporozhets 70947fedda inslude author & assignee to note notification recipients 2013-03-28 14:51:25 +02:00
Dmitriy Zaporozhets 618249734b rebuild notification on notes logic 2013-03-28 14:39:59 +02:00
Dmitriy Zaporozhets 63e6f055f1 Fix notify specs. Fix merge request close via api 2013-03-28 13:24:01 +02:00
Dmitriy Zaporozhets 2f585840db Fixed new mr/issue emails 2013-03-28 12:52:44 +02:00
Dmitriy Zaporozhets ecf3b2e471 add text templates to new emails 2013-03-28 12:33:54 +02:00
Dmitriy Zaporozhets c04120c1c5 Improve notification service tests 2013-03-28 12:24:04 +02:00
Dmitriy Zaporozhets f49a2ac0df Add close issue/mr methods to Notify. Refactored Notificationservice 2013-03-28 12:14:53 +02:00
Dmitriy Zaporozhets 9e616459e0 add watchers to email recipients list. Add emails for close/merge MR 2013-03-28 11:59:06 +02:00
Tyler Funk 26bd6acadb Changed the word 'authentification' to 'authentication' 2013-03-27 22:03:54 -05:00
Dmitriy Zaporozhets 11d52a1553 Fix NotificationService reassign_email method 2013-03-27 22:33:59 +02:00
Dmitriy Zaporozhets 2b2d43ed2a Update develoment dependencies 2013-03-27 22:21:32 +02:00
Colin Dean 9e24929f16 fix typo: shure -> sure 2013-03-27 15:55:10 -04:00
Dmitriy Zaporozhets ed7a2136dd update sidekiq 2013-03-27 21:51:40 +02:00
Dmitriy Zaporozhets f230fe3dda Fix NotificationService NameError for new issue 2013-03-27 21:42:01 +02:00
Dmitriy Zaporozhets 0a044c7318 NotificationService respects disabled notifications now 2013-03-27 20:28:00 +02:00
Dmitriy Zaporozhets ba59912072 Prepare UI for notification settings 2013-03-27 20:07:52 +02:00
Dmitriy Zaporozhets d55ade1686 notification scaffold 2013-03-27 19:04:29 +02:00
Dmitriy Zaporozhets 5f14a6bcf8 annotated 2013-03-27 18:26:37 +02:00
Sytse Sijbrandij 3392f6c1f0 Link to accepting issues on feedback forum. 2013-03-27 10:15:12 +01:00
Dmitriy Zaporozhets a31fe1a63f Merge pull request #3407 from NARKOZ/patch-1
use convenient method to check for empty project repo
2013-03-26 23:28:07 -07:00
Dmitriy Zaporozhets e3f1164248 stub notification in event model 2013-03-26 19:27:39 +02:00
Andrew8xx8 5e6f45b07f Settings replaced by Gitlab.config 2013-03-26 21:04:00 +04:00
Dmitriy Zaporozhets 3728c4904e refactor observers test since email logic moved to service 2013-03-26 19:00:54 +02:00
Dmitriy Zaporozhets ce0945efcd refactor observers. Added BaseObserver with helper methods 2013-03-26 18:11:38 +02:00
Dmitriy Zaporozhets 6abf58466f Move new_note email logic to NotificationService 2013-03-26 17:51:06 +02:00
Dmitriy Zaporozhets f93c4dc0d8 Use notificationService for MR reassigned 2013-03-26 17:23:28 +02:00
Dmitriy Zaporozhets 38ffb8220c use NotificationService for handle notify logic when MR created 2013-03-26 17:16:06 +02:00
Christian Höltje b8502cbaee Fixed UsersProject.in_projects
I discovered while trying to use UserTeam#remove_member() that
UsersProject.in_projects was broken.  So I wrote test cases to test what
I was trying to do and fixed the underlying problem.
2013-03-26 10:19:55 -04:00
Nihad Abbasov 7ed0dc0185 use convenient method to check for empty project repo 2013-03-26 07:14:57 -07:00
Dmitriy Zaporozhets 58a1ed6dd3 Merge pull request #3398 from Andrew8xx8/spork
Spork support added
2013-03-26 06:44:52 -07:00
Dmitriy Zaporozhets da1cf5b9e7 enable callbacks for specs after notification 2013-03-26 15:16:06 +02:00
Dmitriy Zaporozhets c7bd99b040 refactor issue observer spec 2013-03-26 14:41:57 +02:00
Andrew8xx8 5949e30243 Spork support added 2013-03-26 13:38:42 +04:00
Dmitriy Zaporozhets e3e8b9fcb9 fixed tests 2013-03-26 11:17:49 +02:00
Dmitriy Zaporozhets bfebf10850 reject current_user from close issue emails 2013-03-26 11:06:24 +02:00
Dmitriy Zaporozhets 4b3950456d notification level for user 2013-03-26 10:48:07 +02:00
Dmitriy Zaporozhets cf6d4dc10c NotificationService for resolving email notification logic 2013-03-26 10:48:06 +02:00
Dmitriy Zaporozhets 448152ab94 Use NotificationService for observers pt1 2013-03-26 10:48:06 +02:00
Sytse Sijbrandij f7e630c452 Updating based on Dmitriy his comments. 2013-03-26 10:46:53 +02:00
Sytse Sijbrandij 83d3f7e052 Better header and detail why you need two times the storage. Also moving memory and storage to the bottom, OS is more important. 2013-03-26 10:46:53 +02:00
Sytse Sijbrandij 7e93aaa6e6 Corrected mistake, added hint for windows users. 2013-03-26 10:46:53 +02:00
Sytse Sijbrandij 77c802a4fe Combine it with the memory requirements that where already there. 2013-03-26 10:46:53 +02:00
Sytse Sijbrandij ec1a37875d Added memory requirements based on https://news.ycombinator.com/item?id=5423851 2013-03-26 10:46:53 +02:00
Andrew8xx8 242f6aa218 New issue button was not follows to external tracker if it is selected. fixed #3386 2013-03-26 12:28:26 +04:00
Sato Hiroyuki 33e236c631 Fix RoutingError when changing username to non ascii char. 2013-03-26 14:47:11 +09:00
Sato Hiroyuki b49c1cb161 Display note count on network graph. 2013-03-26 09:51:39 +09:00
Sato Hiroyuki 62ef763a80 Refector: clean up code. 2013-03-26 09:46:10 +09:00
Dmitriy Zaporozhets 90db28d6d0 Merge pull request #3377 from SaitoWu/grit_ext
bump version of grit_ext
2013-03-25 11:55:20 -07:00
Saito 7a4f70d79b bump version of grit_ext 2013-03-26 01:12:29 +08:00
Dmitriy Zaporozhets 8c9123943f Update changelog 2013-03-25 16:12:12 +02:00
Dmitriy Zaporozhets 795bb9cf65 Merge branch 'feature/login_with_username' 2013-03-25 16:10:30 +02:00
Dmitriy Zaporozhets 9d92433a7c login with both email or username 2013-03-25 16:10:14 +02:00
Dmitriy Zaporozhets 1496c01521 try to move wiki if it does not exist 2013-03-25 15:52:54 +02:00
Dmitriy Zaporozhets 6752968bb5 Updated changelog with transfer & security changes 2013-03-25 15:27:09 +02:00
Dmitriy Zaporozhets 6e78a1d7c8 Merge branch 'improve/project_transfer' 2013-03-25 15:20:42 +02:00
Dmitriy Zaporozhets 53e54ddf8a require gitlab-shell v1.2.0 now 2013-03-25 15:19:06 +02:00
Dmitriy Zaporozhets d6ac38133c Admin.projects: remove views and route specs 2013-03-25 14:58:43 +02:00
Dmitriy Zaporozhets 98bea4b1ff Updatev security tests since admin is a superuser now. Has access to any project 2013-03-25 13:40:08 +02:00
Dmitriy Zaporozhets c610347cc1 Removed not relevant tests for admin.projects 2013-03-25 13:36:08 +02:00
Dmitriy Zaporozhets d0df8a6ff8 remove project edit from admin area. Redesigned project page in admin area 2013-03-25 11:07:11 +02:00
Dmitriy Zaporozhets e292d7c17b Make transfer action in project controller 2013-03-25 10:48:30 +02:00
Dmitriy Zaporozhets ff35b37fd2 transfer also wiki repository when transfer a project 2013-03-25 10:47:47 +02:00
Dmitriy Zaporozhets 1fb99264a9 Use TransferContext for project 2013-03-25 10:47:22 +02:00
Dmitriy Zaporozhets 850881a2ef add admin ability to edit project settings from project area 2013-03-25 10:46:57 +02:00
Riyad Preukschas 6e15284844 Merge pull request #3354 from vinodc/install-docs-typo-fix
Fixing a minor typo in the installation docs
2013-03-25 00:49:19 -07:00
Dmitriy Zaporozhets afa9f6045a Merge branch 'more-links-in-readme' of /home/git/repositories/gitlab/gitlabhq 2013-03-25 07:39:23 +00:00
Vinod Chandru df46903dbe Fixing a minor typo in the installation docs 2013-03-24 20:23:02 -07:00
Dmitriy Zaporozhets 5f159d4bc0 Merge pull request #3335 from zzet/patch-4
Update databases.md
2013-03-24 03:44:14 -07:00
Andrew Kumanyaev 4cc27fd9e1 Update database.yml.postgresql 2013-03-24 14:10:32 +04:00
Dmitriy Zaporozhets 38ea3939b2 Merge branch 'hiroponz-fix-404-json-file' 2013-03-24 12:01:56 +02:00
Dmitriy Zaporozhets 29b0ac489b move edit to separate controller. This fixes #3265 2013-03-24 11:57:44 +02:00
Andrew Kumanyaev 159cd0d742 Update databases.md 2013-03-24 13:48:23 +04:00
Dmitriy Zaporozhets b6641d6932 Merge branch 'fix-404-json-file' of https://github.com/hiroponz/gitlabhq into hiroponz-fix-404-json-file 2013-03-24 11:26:57 +02:00
Dmitriy Zaporozhets 979dcdba95 security update of crack gem 2013-03-24 11:24:26 +02:00
Sytse Sijbrandij 0d56b1b07f Updated links to gitlab.com and added the last doc files. 2013-03-23 21:20:09 +01:00
Sytse Sijbrandij c4f8d34b7d spelling error 2013-03-23 21:06:00 +01:00
Sytse Sijbrandij de3b181a69 5.0 should no longer be on the roadmap 2013-03-23 21:05:42 +01:00
Dmitriy Zaporozhets 77faffbda3 Merge pull request #3305 from dosire/update-ruby
Update ruby to latest version.
2013-03-22 11:04:00 -07:00
Sytse Sijbrandij 5cc5b74e8e Update ruby to latest version. 2013-03-22 18:34:59 +01:00
Dmitriy Zaporozhets e48fdde4f8 Merge pull request #3300 from aus/patch-1
Change gollum repo to use https:// instead of git://
2013-03-22 10:11:15 -07:00
Dmitriy Zaporozhets 747706a83a Merge pull request #3303 from dosire/attribute
Attribution as mentioned in https://news.ycombinator.com/item?id=5423635
2013-03-22 10:10:07 -07:00
Sytse Sijbrandij 78dd9a1481 All involved are mentioned. https://news.ycombinator.com/item?id=5424050 2013-03-22 17:54:42 +01:00
Dmitriy Zaporozhets c0da61c6d8 fix xss issue in blame 2013-03-22 18:52:25 +02:00
Sytse Sijbrandij 3869cfecc1 Use real name. 2013-03-22 17:42:31 +01:00
Sytse Sijbrandij ccc8806758 Attribution as mentioned in https://news.ycombinator.com/item?id=5423635 2013-03-22 17:39:22 +01:00
Austin Robertson ba1dbd39fb Change Gemfile.lock repo to use https:// 2013-03-22 10:38:27 -05:00
Austin Robertson 693dcce6bc Change gollum repo to use https:// instead of git://
A lot of people might have firewalls blocking the git:// protocol. Using https:// makes this easier and matches the other git repositories in the Gemfile.
2013-03-22 10:31:19 -05:00
Dmitriy Zaporozhets de2c189ec1 fix blame view head nav 2013-03-22 15:11:16 +02:00
Dmitriy Zaporozhets 84043e8e44 Fix lines and line numbers being squashed in File -> blame 2013-03-22 15:08:02 +02:00
Dmitriy Zaporozhets 235605fc6d Merge pull request #3288 from hiroponz/fix-style-network-graph
Fix style of network graph.
2013-03-22 00:43:26 -07:00
Sato Hiroyuki f5e001bd8c Using arrowed line only if it connects to not first parent.
It is easy to see which branch is merged.
2013-03-22 16:09:21 +09:00
Sato Hiroyuki 26606aa2ec Fix style of network graph.
refs #3258
2013-03-22 10:11:53 +09:00
Dmitriy Zaporozhets 5f9d654939 Dont show '0 additions and 0 deletions' message for commit 2013-03-21 22:50:18 +02:00
Dmitriy Zaporozhets ad5ea14210 Move commit.show partial from commits/ to commit/ 2013-03-21 22:22:54 +02:00
Dmitriy Zaporozhets fec283889b fix commit-description css on commit.show 2013-03-21 22:22:21 +02:00
Dmitriy Zaporozhets c4299bb45a Move directory logic out of model. Use Gitlab:Shell class to interact with file system 2013-03-21 22:11:08 +02:00
Dmitriy Zaporozhets 0103363191 replace Gitolited mixin with Gitlab::ShellAdapter 2013-03-21 21:01:14 +02:00
Dmitriy Zaporozhets d6338a8482 Merge pull request #3258 from hiroponz/display-commit-msg
Display commit message on network graph.
2013-03-21 09:58:57 -07:00
Sato Hiroyuki 06c5389780 Fix travis failure randomly, because Capybara.default_wait_time is too short. 2013-03-21 15:24:06 +00:00
Sato Hiroyuki a1fe375e44 Fix 404 error while displaying json files.
It uses params[:id] instead of request.fullpath.
It should fix #3132.
2013-03-21 15:10:14 +00:00
Dmitriy Zaporozhets 02f70851e4 Update readme to match 5-0-stable 2013-03-21 16:29:53 +02:00
GitLab f7ca6c5079 Version up to 5.0.0 2013-03-21 15:20:17 +02:00
Sato Hiroyuki a19e3d898d Display icon and commit message on network graph. 2013-03-21 13:08:54 +00:00
Sato Hiroyuki 916c61fc64 Refactor: clean up code. 2013-03-21 12:34:15 +00:00
Dmitriy Zaporozhets 0df01283b0 Merge pull request #3276 from DarthJDG/fix-group-typo
Fix column heading order in group admin view
2013-03-21 00:15:57 -07:00
Robert Biro f39d3b9a09 Fix column heading order in group admin view 2013-03-20 22:15:42 +00:00
Dmitriy Zaporozhets 3cdac0b934 Use Api.js to handle api calls to gitlab 2013-03-20 21:55:25 +02:00
Dmitriy Zaporozhets a163135cb5 Intead of showing 404 give users ability to close MR with missing branches 2013-03-20 20:22:29 +02:00
Dmitriy Zaporozhets a0cc38827f remove db:setup & seed_fu from install docs. gitlab:setup does it 2013-03-20 19:30:59 +02:00
Dmitriy Zaporozhets c71a7896b1 fix test button functionality for project -> service -> gitlab ci 2013-03-20 16:41:59 +02:00
Sato Hiroyuki 1f6b6b6c62 Rotating graph orientation. 2013-03-20 12:28:22 +00:00
Dmitriy Zaporozhets 9d06074409 gitlab 5.0 rc1 2013-03-20 13:49:32 +02:00
Dmitriy Zaporozhets 3d9bd6e3e7 fix gfm helper test 2013-03-20 13:41:18 +02:00
Dmitriy Zaporozhets 51b1859e49 fix key observer test 2013-03-20 10:25:11 +02:00
Dmitriy Zaporozhets 6347e9a60b Dont load diff in compare over 100 commits 2013-03-20 10:19:00 +02:00
Dmitriy Zaporozhets 72db22d385 send wall message with crtl+enter 2013-03-20 09:53:39 +02:00
Dmitriy Zaporozhets 316cf61965 Merge pull request #3247 from Undev/feature/fix_bug_in_team_assigment
Fix bug with downgrade permissions on first project assigment to team
2013-03-20 00:35:24 -07:00
Dmitriy Zaporozhets d2ca549f41 Merge pull request #3264 from yuters/patch-2
Fix user path in markdown
2013-03-20 00:32:45 -07:00
Dmitriy Zaporozhets 67bda08cbe Merge pull request #3266 from DanKnox/fix_wiki_cancel_edit_button
Fix the Cancel button on the Edit Wiki page.
2013-03-20 00:29:05 -07:00
Dan Knox 8300ae366c Fix the Cancel button on the Edit Wiki page.
The Cancel button on the Edit Wiki page was still redirecting back
to the "Index" page which is no longer the default Wiki page.

This commit changes the Cancel button in the following ways:

  * Pressing Cancel while editing an existing Wiki page will now
    redirect you back to the latest version of that page.
  * Pressing Cancel while editing a brand new Wiki home page that
    does not yet exist will redirect you to back to the same Edit
    Wiki Home page.
2013-03-19 21:36:09 -07:00
Martin Bastien 397c3da975 Fix user path in markdown 2013-03-19 21:29:59 -03:00
Dmitriy Zaporozhets 6880ace1fe Fix bug showing merge MR in milestone open list 2013-03-19 20:11:47 +02:00
Dmitriy Zaporozhets a3cdaeef66 refactor emails a bit. Add email on ssh key creation 2013-03-19 20:00:41 +02:00
Dmitriy Zaporozhets 52d3fa191f 5.0 beta2 2013-03-19 19:17:59 +02:00
Dmitriy Zaporozhets fb4f171587 rails up to 3.2.13 2013-03-19 18:52:17 +02:00
Dmitriy Zaporozhets 8ec01e0ba9 remove ajax loader from wall 2013-03-19 18:14:59 +02:00
Dmitriy Zaporozhets 3b42c267a6 Dont show blocked users in autocomplete 2013-03-19 18:07:14 +02:00
Dmitriy Zaporozhets 07a88d6699 Merge pull request #3255 from michelsalib/patch-1
Gitlab does not use gitolite anymore.
2013-03-19 08:59:10 -07:00
Dmitriy Zaporozhets 0cbb235c3e fix incorrectly moved spinach step 2013-03-19 17:53:21 +02:00
Dmitriy Zaporozhets 4403f71f45 added sanitize and linkify functions. Moved some js to lib/ 2013-03-19 15:54:58 +02:00
Dmitriy Zaporozhets 2465a4fdb2 removed few outdated tests 2013-03-19 15:37:11 +02:00
Dmitriy Zaporozhets 70af962963 Comment external issue tracker by default in gitlab.yml.example 2013-03-19 15:11:31 +02:00
Dmitriy Zaporozhets e6c2080214 use scrollTop solution for both chrome & firefox 2013-03-19 15:04:58 +02:00
Dmitriy Zaporozhets 063c4a069c fix wall feature. removed duplicated test 2013-03-19 14:58:58 +02:00
Dmitriy Zaporozhets ba4f0abf47 wall comment does not create an event on dashboard any more 2013-03-19 14:50:26 +02:00
Dmitriy Zaporozhets b1bd3f1252 fix tests. added jquery.timeago.js 2013-03-19 14:39:32 +02:00
Dmitriy Zaporozhets 124a5e270e add attachemnts support for wall 2013-03-19 13:28:29 +02:00
Michel Salib e2ddf03c7e Gitlab does not use gitolite anymore. 2013-03-19 11:52:59 +01:00
Dmitriy Zaporozhets 4d378f3c9a load notes for wall via api 2013-03-19 12:35:55 +02:00
Dmitriy Zaporozhets 57f3409bcc move Wall to own resource 2013-03-19 12:35:42 +02:00
Dmitriy Zaporozhets f3dfd22993 add wall.scss 2013-03-19 12:34:59 +02:00
Dmitriy Zaporozhets 5bf3a898ed Remove wall from basic notes logic 2013-03-19 12:34:14 +02:00
Sato Hiroyuki 175e09f167 Change graph element size. 2013-03-19 19:27:15 +09:00
Sato Hiroyuki 351c952192 Refactor: extract method. 2013-03-19 18:42:46 +09:00
Sato Hiroyuki 96a584211b Refactor: Clean up code. 2013-03-19 18:08:27 +09:00
Dmitriy Zaporozhets 1752c6dc8b Uncheck notify team checkbox by default 2013-03-19 09:38:33 +02:00
Dmitriy Zaporozhets e68955b4fc add permission messages to project edit 2013-03-19 09:27:12 +02:00
Dmitriy Zaporozhets fb1c85061e remove unused spec 2013-03-19 08:40:32 +02:00
Dmitriy Zaporozhets 54f40301ff fixed form input overflow on 1024px res 2013-03-19 08:39:26 +02:00
Dmitriy Zaporozhets 306ea84e85 Merge pull request #3251 from AlexDenisov/api_additional_user_fields
Abilities added to /user and /sign_in requests
2013-03-18 23:20:11 -07:00
Dmitriy Zaporozhets 924643198c Merge pull request #3252 from hiroponz/fix-timeout-large-repository
Fix timeout error while showing the network graph.
2013-03-18 23:17:52 -07:00
Sato Hiroyuki 92de0faf6e Fix spec errors. 2013-03-19 14:21:00 +09:00
Alex Denisov a15fe61fb0 API docs updated 2013-03-19 04:47:08 +00:00
Sato Hiroyuki fc66c18349 Fix travis failed randomly by timeout. 2013-03-19 12:53:12 +09:00
Sato Hiroyuki e00e54b69c Fix timeout error while showing the very large repo like git repo. 2013-03-19 10:36:40 +09:00
Sato Hiroyuki 46fa92187d Refactor: removing duplicate code. 2013-03-19 10:00:29 +09:00
Dmitriy Zaporozhets 7587a3b2fc fixed check for snippets module enabled 2013-03-18 23:44:57 +02:00
Dmitriy Zaporozhets 747292e2d3 reorder features list in project -> edit page 2013-03-18 23:38:16 +02:00
Dmitriy Zaporozhets b765a7958d Move snippets to own tab as feature. Make it disabled for new projects by default 2013-03-18 23:33:41 +02:00
Dmitriy Zaporozhets 112dc875ba feature: wiki -> new page 2013-03-18 23:08:54 +02:00
Dmitriy Zaporozhets ae06a0aab8 Return own tab for wall. Improve Wiki nav. Removed attachments listing page 2013-03-18 22:43:14 +02:00
Alex Denisov 28e7d1a8bf Abilities added to /user and /sign_in requests 2013-03-18 20:11:28 +00:00
Dmitriy Zaporozhets 6956f1f6e1 Improve usability of project edit page 2013-03-18 20:50:41 +02:00
Dmitriy Zaporozhets 0c884498d2 Rename project_head partial to settings_nav 2013-03-18 19:35:27 +02:00
Dmitriy Zaporozhets 0eccc08015 show project description in project listing on dashboard 2013-03-18 19:22:15 +02:00
Andrey Kumanyaev 0f39610532 Add control of action in project to team assigment 2013-03-18 16:07:04 +04:00
Andrey Kumanyaev a0f2fbc250 Fix bug with downgrade permissions on first project assigment to team 2013-03-18 15:44:26 +04:00
Dmitriy Zaporozhets aa5327a565 Fix project_limit being ignored on signup 2013-03-18 13:22:41 +02:00
Dmitriy Zaporozhets 3513902396 Merge pull request #3242 from murank/fix_failure_of_checking_merge_requests
Fix failure of cheking a merge request after conflict.
2013-03-18 03:39:51 -07:00
Dmitriy Zaporozhets d8ad01bb6e Merge pull request #3243 from lyda/misspellings
Result of misspellings run.
2013-03-18 03:37:37 -07:00
Kevin Lyda 415bade302 Result of misspellings run.
Most of these are comments but a few are strings for users.

Might be an idea to run this from time to time:
https://github.com/lyda/misspell-check

It runs mostly clean now.
2013-03-17 19:46:54 +00:00
murank 77295b00b8 Fix the order of clearing a satellite 2013-03-17 23:50:20 +09:00
Dmitriy Zaporozhets a96e0ec57e Merge pull request #3240 from DanKnox/fix_wiki_migrator
Fix Wiki migration task and add more test coverage.
2013-03-17 04:48:27 -07:00
Dan Knox 330fe4162e Fix Wiki migration task and add more test coverage.
There was an error in the #extract_attributes_from_page method that
caused an exception when checking to see if a page named "Home"
already exists.

The check occurs to handle the renaming of the main index page to
"Home" to match the Gollum standard. If there is already a page
called "Home" then the migrator will leave that page and create
the Index page as usual. Users will need to manually rename their
old "Home" page to something else then rename their "Index" page
to "Home". Fortunately, I would be highly surprised if this case
ever comes up.

I also added more verbosity to the logging so if an error does
occur, it will be easier to track down which Wiki page is causing
the problem.
2013-03-16 18:01:48 -07:00
Dmitriy Zaporozhets c367cc5ca6 Show projet name with namespace on team _projects widget 2013-03-16 14:40:16 +02:00
Dmitriy Zaporozhets cf848fd06d Merge pull request #3217 from chrislawlor/2437
Adds DB-sensitive tablename escape for backup task.
2013-03-16 02:26:01 -07:00
Dmitriy Zaporozhets 699c9cd499 Gemfile.lock with gollum 2013-03-15 18:50:45 +02:00
Dmitriy Zaporozhets 9f3a593092 Merge pull request #3230 from DanKnox/update_gollum_repo_location
Update gollum repository location in the Gemfile.
2013-03-15 09:46:23 -07:00
Sytse Sijbrandij 50c05b71b7 Update links to GitLab.com after renaming of GitLab cloud. 2013-03-15 17:33:43 +01:00
Dan Knox 8403e99f28 Update gollum repository location in the Gemfile.
Github just moved the Gollum repository to it's own organization.
This commit updates the Gemfile to point to the new repo location.

I also added a specific ref pointer to a version that is known to
work well just in case they slip up and break their master branch
right at the same time someone happens to be installing or updating
Gitlab. This is about the safest we can get until they put out the
next release that resolves the Pygments dependency issue.
2013-03-15 09:05:02 -07:00
Dmitriy Zaporozhets fdfc408d87 version up to beta1 2013-03-15 18:01:03 +02:00
Dmitriy Zaporozhets d75cb57f9c remove separator between search & icons in header 2013-03-15 17:35:54 +02:00
Dmitriy Zaporozhets 3c050a29a7 Merge branch 'DanKnox-use_gollum_wikis' 2013-03-15 17:21:13 +02:00
Dmitriy Zaporozhets 94f0493999 few fixes afte merge gollum wiki 2013-03-15 17:21:01 +02:00
Dmitriy Zaporozhets 71ab011a17 Merge branch 'use_gollum_wikis' of https://github.com/DanKnox/gitlabhq into DanKnox-use_gollum_wikis
Conflicts:
	app/views/layouts/project_resource.html.haml
	app/views/wikis/edit.html.haml
	app/views/wikis/pages.html.haml
	app/views/wikis/show.html.haml
	spec/features/gitlab_flavored_markdown_spec.rb
2013-03-15 16:55:07 +02:00
Dmitriy Zaporozhets 4f23c30ace Fix highlight line for solarized theme 2013-03-15 16:20:40 +02:00
Dmitriy Zaporozhets 86e23a584a spianch -> profile -> specify within block 2013-03-15 16:05:07 +02:00
Dmitriy Zaporozhets 2449bea2c4 restyle header a bit 2013-03-15 15:39:47 +02:00
Dmitriy Zaporozhets 21b1fee92c reannotated 2013-03-15 15:16:02 +02:00
Dmitriy Zaporozhets 2a04341fba finish up with solarized dark 2013-03-15 15:14:56 +02:00
Dmitriy Zaporozhets 8cad1c9f4c add dark solarized theme for code preview 2013-03-15 15:09:34 +02:00
Dmitriy Zaporozhets 7799b5bda6 Merge branch 'feature/writeboard' 2013-03-15 14:22:49 +02:00
Dmitriy Zaporozhets 35ad4fe7db Use wiki tab for wiki, wall, snippets 2013-03-15 14:20:03 +02:00
Dmitriy Zaporozhets 39bbdc468f on wall subpage active tab should be wiki too 2013-03-15 09:39:50 +02:00
Dmitriy Zaporozhets 5bf88506ec rename writeboards to wiki 2013-03-15 09:39:07 +02:00
Dmitriy Zaporozhets 2681a01bcf add resize button for better wiki reading 2013-03-14 22:57:38 +02:00
Dmitriy Zaporozhets a685624d27 Merge wiki, wall & snippets under one tab - writeboards 2013-03-14 22:24:27 +02:00
Dmitriy Zaporozhets 753ecbdcec Change spinach tab tests to fit new tabs navigation 2013-03-14 21:51:44 +02:00
Dmitriy Zaporozhets 38ecec4472 Remove tree single-tab panel 2013-03-14 19:50:57 +02:00
Chris Lawlor 3df5253cc3 Adds DB-sensitive tablename escape for backup task.
Uses ActiveRecord::Base.connection.quote_table_name.
Fixes issue 2437.
2013-03-14 13:30:25 -04:00
Dmitriy Zaporozhets 5c4e74acc3 Add settings tab to project. Move all project administration there 2013-03-14 19:28:29 +02:00
Dmitriy Zaporozhets d2b882fae5 Fix spinach tests 2013-03-14 17:13:00 +02:00
Dmitriy Zaporozhets da3bc14d80 removed mistype 2013-03-14 14:02:56 +02:00
Dmitriy Zaporozhets a8b1f8c0e5 use refresh icon instead loader gif 2013-03-14 14:02:24 +02:00
Dmitriy Zaporozhets 88d42c2e1c Replace projects_box with ui-box. Fixed team spinach test 2013-03-14 13:12:11 +02:00
Dmitriy Zaporozhets e84df44ea0 Redesign search filters 2013-03-14 13:11:20 +02:00
Dmitriy Zaporozhets 4673c85379 add teams to search autocomplete 2013-03-14 12:43:08 +02:00
Dmitriy Zaporozhets 441d256188 Rebuild team area 2013-03-14 12:38:43 +02:00
Dmitriy Zaporozhets f4f36f78dd Remove separate search page from group 2013-03-14 12:37:28 +02:00
Dmitriy Zaporozhets cc1dd624aa Restyled group -> edit area. Use select2 for transfer autocomplete 2013-03-14 11:31:33 +02:00
Dmitriy Zaporozhets 2f6d289f32 style select2-searching too 2013-03-14 10:20:45 +02:00
Dmitriy Zaporozhets 0e57085795 Merge branch 'feature/select2-user-ajax' 2013-03-14 10:20:25 +02:00
Dmitriy Zaporozhets ef05423f47 Finish select2-ajax for users. Added Select2Helper for tests 2013-03-14 10:16:27 +02:00
Dan Knox d69a37e0b7 Fix whitespace on MARKUPS constant in GollumWiki class. 2013-03-14 00:07:01 -07:00
Dan Knox 6d25484417 Limit available Wiki formats to Markdown and RDoc. 2013-03-13 23:34:50 -07:00
Dan Knox 7665b1de7e Use Gitlab Markdown for Markdown files and Gollum to render the rest.
This commit enables the usage of the Gitlab Markdown post processing
on all Markdown formatted files. For file types that do not contain
Markdown, it defaults to the Gollum native renderer to process the
content.
2013-03-13 23:31:08 -07:00
Dmitriy Zaporozhets 10f14136f5 fix setting gon.api_token 2013-03-13 23:45:47 +02:00
Dmitriy Zaporozhets bdcaf21ea7 Allow single/multiple user select 2013-03-13 23:19:09 +02:00
Dmitriy Zaporozhets 7316055ac8 multiselect for ajax-users-select2 2013-03-13 23:19:09 +02:00
Dmitriy Zaporozhets bf17d976a7 add api users filter and integrate users select2 2013-03-13 23:19:09 +02:00
Dmitriy Zaporozhets 163908b393 user select2 javascript 2013-03-13 23:19:09 +02:00
Dmitriy Zaporozhets 1bba46d661 md5 and utf_encode js libraries 2013-03-13 23:19:09 +02:00
Dmitriy Zaporozhets 67e2cf8864 select2-rails gem added 2013-03-13 23:19:09 +02:00
Dmitriy Zaporozhets d1a5e370f3 show mail-to and block buttons on /admin/users/:id page 2013-03-13 23:15:39 +02:00
Dmitriy Zaporozhets 963c212b68 UserTeam spinach fixed 2013-03-13 22:30:33 +02:00
Dmitriy Zaporozhets 496b7da7a0 Fix spinach tests 2013-03-13 21:58:32 +02:00
Dmitriy Zaporozhets 1587caa3e4 Use name+username in team -> new 2013-03-13 19:24:30 +02:00
Dmitriy Zaporozhets fa9a8c3847 Remove team_member show page -> use user_path instead 2013-03-13 19:16:36 +02:00
Dmitriy Zaporozhets 366bc32013 stub git shell mv_repository 2013-03-12 18:59:25 +02:00
Dmitriy Zaporozhets aecb37623e ask users to use ruby 1.9.3 for now 2013-03-12 14:16:55 +02:00
Dmitriy Zaporozhets 70fc1c5021 cleanup ProjectMover 2013-03-12 14:13:25 +02:00
Dmitriy Zaporozhets f1c24f40f9 fix spinach after #3196 2013-03-12 14:10:20 +02:00
Dmitriy Zaporozhets 6755d9908f Merge pull request #3196 from Undev/feature/broken-projects-search-23049
Broken projects search on dashboard
2013-03-12 04:31:57 -07:00
Andrew8xx8 fce22dfa2f Tests for dashboard projects fixed 2013-03-12 15:15:14 +04:00
Dmitriy Zaporozhets 147b93ee3e check gitlab-shell version in gitlab:check 2013-03-12 12:53:07 +02:00
Dmitriy Zaporozhets 102695530b fix project move email 2013-03-12 12:40:49 +02:00
Dmitriy Zaporozhets 59b36f2032 Use gitlab-shell to move repos. Requires gitlab-shell v1.1.0 2013-03-12 12:37:53 +02:00
Andrew8xx8 804ae05c58 Tests improved 2013-03-12 13:41:23 +04:00
Andrew8xx8 23f8f13ea4 Search fields were have same id's. Fixed 2013-03-12 13:41:23 +04:00
Andrew8xx8 072883fd08 Search projects on dashboard was not worked. Fixed 2013-03-12 13:26:45 +04:00
Dmitriy Zaporozhets b1e425511f restyle and cleanup emails 2013-03-12 10:46:04 +02:00
Dmitriy Zaporozhets 7367f1cfd8 Merge pull request #3192 from hiroponz/convert-to-coffee
Convert branch-graph.js to branch-graph.js.coffee
2013-03-11 06:48:16 -07:00
Dmitriy Zaporozhets dc3590d619 fix api internal test 2013-03-11 15:47:44 +02:00
Sato Hiroyuki 197f9abedf Covert to coffee. 2013-03-11 21:41:24 +09:00
Dmitriy Zaporozhets 11b57d979c Reduce amount of user info provided with internal api 2013-03-11 14:35:00 +02:00
Sato Hiroyuki b8f070f0d1 Rename to coffee. 2013-03-11 21:32:44 +09:00
Dmitriy Zaporozhets a29c883b5b Merge pull request #3170 from Asquera/api/system_hooks_adjustments
API: system hook request functions and documentation updated
2013-03-10 23:56:29 -07:00
Dan Knox f0aa54e0fb Create Wiki migration task.
This commit adds a new Rake task for migrating all of your existing
Wiki content from your database into new Gollum repositories.

The bulk of the logic happens within the `WikiToGollumMigrator`
class which is decently test covered and located in the lib directory.

The new Rake task can be executed by running:

   `bundle exec rake gitlab:wiki:migrate`

It will output a nice log of every project that it migrates along
with success or failure messages.

I have used it on my own installation to migrate my Wikis successfully.
2013-03-10 19:10:44 -07:00
Dan Knox 1479f17227 Add Spinach coverage for Gollum Wiki system and correct the Delete link.
The previously failing Spinach steps have been fixed with this commit.
I have also added new steps that cover the entire usage of the Wiki
system.

The new Spinach steps revealed a minor bug in the Delete page process.
The path for the "Delete this page" button was previously set to
`project_wikis_page(@project, @wiki)` when it should have been
using the singular `project_wiki_page(@project, @wiki)` path helper.

The link has been corrected and all steps are now passing.
2013-03-10 14:59:20 -07:00
Dmitriy Zaporozhets 269a985948 fixed travis env, added coverage badge 2013-03-10 20:29:34 +02:00
Dmitriy Zaporozhets 96fbef60f9 add coveralls.io to travis builds 2013-03-10 20:26:27 +02:00
Dmitriy Zaporozhets 473efc82b6 Group and team rss is valid now 2013-03-10 12:16:57 +02:00
Dmitriy Zaporozhets 8812d9dee2 Move groups and teams to tabs on dashboard. Remember tab with cookie 2013-03-10 11:57:14 +02:00
Dmitriy Zaporozhets 96c627edd8 Merge pull request #3169 from hiroponz/refactor-network-graph
Refactor network graph
2013-03-10 01:00:14 -08:00
Dan Knox ea9b3687db Replace current Wiki system with Gollum Wikis.
This commit replaces the old database backed Wiki system with the
excellent Gollum git based Wiki system.

The UI has been updated to allow for utilizing the extra features
that Gollum provides. Specifically:

* Edit page now allows you to choose the content format.
* Edit page allows you to provide a commit message for the change.
* History page now shows Format, Commit Message, and Commit Hash.
* A new Git Access page has been added with the Wiki Repo URL.
* The default page has been changed to Home from Index to match
the Gollum standard.

The old Wiki model has been left in tact to provide for the
development of a migration script that will move all content stored
in the old Wiki system into new Gollum Wikis.
2013-03-09 16:39:51 -08:00
Dmitriy Zaporozhets 8e8372d5ce better logo images for header 2013-03-10 00:12:25 +02:00
Dmitriy Zaporozhets 9c709be335 fix event relative date being cached 2013-03-08 13:14:47 +02:00
Dmitriy Zaporozhets bc15713569 Merge pull request #3173 from m4tthumphrey/patch-1
Added system hooks link to doc index
2013-03-08 02:08:09 -08:00
Matt Humphrey 7fb2999c60 Added system hooks link to doc index 2013-03-08 09:37:00 +00:00
Sebastian Ziebell 562de2a438 Merge branch 'master' into api/system_hooks_adjustments 2013-03-07 17:59:27 +01:00
Sebastian Ziebell 32f1eaaf0f API: system hooks API functions and documentation updated
* updated system hooks documentation and code comments
* fixed access to system hooks if no user given resulting in a `500 Server Error`
* added tests
2013-03-07 17:56:11 +01:00
Dmitriy Zaporozhets a7055be1fd Merge pull request #2835 from Asquera/fixes/api
Fix API return codes
2013-03-07 08:33:34 -08:00
Sebastian Ziebell ecf53bb9e6 API: fixes project creation and removed redundant info 2013-03-07 15:11:33 +01:00
Sebastian Ziebell 3374027e3a Merge branch 'master' into fixes/api, code clean up and tests fixed
Conflicts:
	doc/api/projects.md
	spec/requests/api/projects_spec.rb
2013-03-07 14:51:56 +01:00
Dmitriy Zaporozhets d2cec12632 block user should not be able to push 2013-03-07 14:18:30 +02:00
Sato Hiroyuki c0d312bebe Refactor: Removing a if statement, because the nil value is already removed in the view template. 2013-03-07 21:10:40 +09:00
Sato Hiroyuki b7e5f4556b Refactor: Removing the duplicated code. 2013-03-07 21:10:27 +09:00
Sato Hiroyuki 79cd1ca304 Refactor: change the map hash from a local variable to private variable. 2013-03-07 19:52:46 +09:00
Sato Hiroyuki ccc712b198 Refacor: removing the times array, because that is same with @commits array. 2013-03-07 19:16:51 +09:00
Dmitriy Zaporozhets 9c2a6e2013 Merge pull request #3047 from mikew/capistrano-deploy-example
Capistrano deploy example
2013-03-07 02:08:11 -08:00
Dmitriy Zaporozhets a32f85ac76 Merge pull request #3139 from rapofran/auto_focus_ldap_login
Autofocus to username input (LDAP login).
2013-03-07 01:55:19 -08:00
Dmitriy Zaporozhets 0d66fa89fc fix stubbed repo 2013-03-07 11:45:44 +02:00
Dmitriy Zaporozhets ca9098d898 remove last commit widget, added repo size and owner info on project home page 2013-03-07 11:14:19 +02:00
Sato Hiroyuki 8c5003cf75 Refactor: clean up models.
* Network::Commit
** Removing unnecessary accessors.
** Removing add_refs methods.
* Network::Graph
** Removing unnecessary accessors.
** The 3 times loop of commits don't need.
2013-03-07 17:56:01 +09:00
Dmitriy Zaporozhets e90277f9b5 show project description on public area 2013-03-07 10:08:43 +02:00
Dmitriy Zaporozhets 7c408960ce Merge pull request #3146 from amacarthur/AdminAPIs
Additional Admin APIs
2013-03-06 22:57:24 -08:00
Dmitriy Zaporozhets 52bf5b0e78 Merge pull request #3159 from peikk0/allow-redis-via-socket
Allow connection to Redis via unix socket
2013-03-06 22:43:13 -08:00
Sato Hiroyuki e03a018d28 Refactor: rename module and class names.
* Module: Graph -> Network
* Class: JsonBuilder -> Graph
2013-03-07 15:42:30 +09:00
Dmitriy Zaporozhets 1c2a7bc3cd Merge pull request #3161 from cabello/patch-1
Refactor README to split production/development environments
2013-03-06 22:31:25 -08:00
Sato Hiroyuki 784aa266bd Refactor: grouping parent and their space by including array. 2013-03-07 15:19:42 +09:00
Sato Hiroyuki 2f7f46b256 Refactor: replace "render :json = graph.to_json" to view template(show.json.erb).
Because model shouldn't know about view logic.
2013-03-07 15:19:32 +09:00
Danilo Cabello 3d662e5ccf Refactor README to split production/development environments 2013-03-06 20:06:56 -05:00
Sebastian Ziebell 39114d259c API: documentation contains infos to status codes in README file.
All the info to return codes from the API functions are available in the `README.md` file as suggested.
2013-03-07 00:15:57 +01:00
Pierre GUINOISEAU 67a61c80d1 Allow connection to Redis via unix socket
Allow connection to Redis via unix socket, using
unix:/var/run/redis/redis.sock for example.

Default behaviour does not change, except that the full Redis URL must
be configured, with redis:// for tcp or unix: for unix socket.
2013-03-06 22:06:12 +01:00
Dmitriy Zaporozhets 9dc46eee8e Return project description back 2013-03-06 22:56:48 +02:00
Dmitriy Zaporozhets 7b38a0de98 show highlighted code correctly inside issue body 2013-03-06 21:48:15 +02:00
Dmitriy Zaporozhets 872cf404eb fix js syntax error 2013-03-06 21:39:10 +02:00
Dmitriy Zaporozhets 19e9c736e7 add system hooks api docs to help content 2013-03-06 21:12:47 +02:00
Dmitriy Zaporozhets 08f29c322e update Gemfile.lock with https rubygems 2013-03-06 21:10:01 +02:00
Dmitriy Zaporozhets 89ce02ea5d Merge pull request #3158 from dosire/master
Use secure protocol
2013-03-06 10:22:45 -08:00
Sytse Sijbrandij bcaf3c2c3e Use secure protocol 2013-03-06 17:55:11 +01:00
Dmitriy Zaporozhets afee5303ff Merge pull request #3149 from m4tthumphrey/api-deploy-keys
Added methods to manage project deploy keys via API
2013-03-06 07:43:45 -08:00
Dmitriy Zaporozhets 65d78253cb Merge pull request #3156 from m4tthumphrey/api-system-hooks
Added methods to manage system hooks from API
2013-03-06 07:42:43 -08:00
Dmitriy Zaporozhets 0384ef46b8 Merge pull request #3157 from cabello/patch-1
Update README with references to versions.
2013-03-06 07:37:07 -08:00
Dmitriy Zaporozhets 4c1538a946 Use redis as cache storage. cache events 2013-03-06 17:30:48 +02:00
Danilo Cabello 4db5ec281e Update README with references to versions. 2013-03-06 10:20:46 -05:00
Matt Humphrey 1dd712ddc2 System hooks API. 2013-03-06 15:15:26 +00:00
Dmitriy Zaporozhets 40f1868194 Fix loading animation while browsing tree 2013-03-06 17:12:28 +02:00
Dmitriy Zaporozhets e38e2ce29a Merge pull request #3154 from hiroponz/fix-routing-error
Fix routing error
2013-03-06 05:08:09 -08:00
Sato Hiroyuki 83435e3d46 Adding sleep statements to allow sufficient time for the page to settle. 2013-03-06 16:36:11 +09:00
Sato Hiroyuki e7a67a5583 Don't set format manually, bacause set in routing. 2013-03-06 16:36:10 +09:00
Sato Hiroyuki bb63459d53 Fix routing errors.
It should fix #2598.
2013-03-06 16:36:10 +09:00
Sato Hiroyuki 6224ac0647 Add and fix some tests for routing.
It is linked to #2598.
2013-03-06 16:36:01 +09:00
Dmitriy Zaporozhets d03af842c5 fix public projects identations 2013-03-06 09:12:14 +02:00
Angus MacArthur 47abdc10ca Updated documentation for added Admin APIs 2013-03-05 23:48:40 -05:00
Sebastian Ziebell b5ef6d2268 API: refactored and simplified error handling in merge requests API 2013-03-05 23:43:05 +01:00
Sebastian Ziebell cce35b6d05 Fixes api 2013-03-05 22:33:45 +01:00
Sebastian Ziebell 61cfa2a7a6 Merge branch 'master' into fixes/api
Conflicts:
	lib/api/projects.rb
2013-03-05 22:29:49 +01:00
Matt Humphrey f411772e33 Project deploy keys API 2013-03-05 21:23:29 +00:00
Angus MacArthur 61ffcab60f Additional Admin APIs 2013-03-05 10:38:43 -05:00
Dmitriy Zaporozhets 6beae84ea3 reduce letter-spacing for top nav 2013-03-05 17:28:13 +02:00
Dmitriy Zaporozhets a99ad3d355 tree_heleper: concat html only if present. Avoid nil exception 2013-03-05 17:15:20 +02:00
Dmitriy Zaporozhets 9ba21dd0c4 better solution for #3027 2013-03-05 17:07:12 +02:00
Dmitriy Zaporozhets d5663e148f Merge pull request #2870 from mikew/relative-url-root-default
default gitlab.relative_url_root to ENV['RAILS_RELATIVE_URL_ROOT']
2013-03-05 06:54:31 -08:00
Dmitriy Zaporozhets 0c06b7fe20 Merge pull request #3106 from davidosomething/patch-1
Update doc/install/databases.md
2013-03-05 06:52:41 -08:00
Dmitriy Zaporozhets 3d45d300d8 Merge branch 'gliptak-omniauth_no_email_1' 2013-03-05 16:50:46 +02:00
Dmitriy Zaporozhets 2d2a235c06 fixed omniauth email spec 2013-03-05 16:50:37 +02:00
Dmitriy Zaporozhets da6b53a80e Merge branch 'omniauth_no_email_1' of https://github.com/gliptak/gitlabhq into gliptak-omniauth_no_email_1
Conflicts:
	app/observers/user_observer.rb
	spec/observers/user_observer_spec.rb
2013-03-05 16:48:18 +02:00
Dmitriy Zaporozhets d5d9f1c515 Merge pull request #2015 from elvanja/commits-group-and-sort-by-date-desc
fix: grouping commits by date desc doesn't sort the groups too
2013-03-05 06:40:13 -08:00
Dmitriy Zaporozhets c2ba868c9b Merge pull request #2954 from cabeca/fix-image-url-emoji
Fix image url for emoji.
2013-03-05 05:52:01 -08:00
Dmitriy Zaporozhets f22488f726 Merge pull request #3143 from Undev/state-machine-3
State machine 3
2013-03-05 05:38:16 -08:00
Dmitriy Zaporozhets f9200e118c remove custom font 2013-03-05 13:16:56 +02:00
Andrew8xx8 c6d6bd6ab4 Typo fixed 2013-03-05 14:29:44 +04:00
Dmitriy Zaporozhets 9bb35e7e59 Prevent app crash if team owner removed 2013-03-05 09:27:06 +02:00
Dmitriy Zaporozhets 3a09f02e11 Merge pull request #3109 from hiroponz/improve-network-graph
Improve network graph
2013-03-04 23:02:27 -08:00
J. Francisco Raposerias a40541c42d add autofocus to username input 2013-03-04 17:54:26 -03:00
Dmitriy Zaporozhets bf06b3196d Make clone widget read-only 2013-03-04 22:18:53 +02:00
Dmitriy Zaporozhets 730e79e787 better event-notes typography 2013-03-04 22:00:51 +02:00
Dmitriy Zaporozhets d54845a16a use md-typography for note content 2013-03-04 21:34:26 +02:00
Dmitriy Zaporozhets dc7507cfe7 = preserve do was ignored for empty project page so was replaced with filter 2013-03-04 21:12:36 +02:00
Dmitriy Zaporozhets 533693ab41 Fix dark color bg for wiki 2013-03-04 21:11:03 +02:00
Dmitriy Zaporozhets 24cc0faf2c add link ti public area 2013-03-04 20:11:23 +02:00
Dmitriy Zaporozhets c2082f4d78 Fix edit team page 2013-03-04 19:47:20 +02:00
Andrew8xx8 0d9a6fe7b1 User's blocked field refactored to use state machine 2013-03-04 18:52:30 +04:00
Andrew8xx8 9a06dd4aa1 Migrations added 2013-03-04 18:51:00 +04:00
Sato Hiroyuki 95b826071f Add some tests for network graph 2013-03-04 17:50:42 +09:00
Dmitriy Zaporozhets 152c6018b3 use grit_ext gem instead of fork 2013-03-04 08:56:54 +02:00
Dmitriy Zaporozhets d199de0444 Use gitlab-pygments gem 2013-03-04 08:54:00 +02:00
Dmitriy Zaporozhets 282b804556 use gitlab-grack gem 2013-03-03 22:08:04 +02:00
Dmitriy Zaporozhets 512ab1b61a Use gem for gitlab grit 2013-03-03 22:01:20 +02:00
Dmitriy Zaporozhets 4635ad83e6 Merge pull request #3126 from dosire/refer-to-vagrant-vm
Refer to virtual machine from the installation document.
2013-03-03 08:36:26 -08:00
Dmitriy Zaporozhets 5a80a28a18 Merge pull request #3123 from wtw/patch-1
Corrected some typos in gitlab.yml.example comments
2013-03-03 08:35:27 -08:00
Dmitriy Zaporozhets 891dc550e0 README code in lists 2013-03-03 18:22:56 +02:00
Dmitriy Zaporozhets 06807885cf fix readme code nesting 2013-03-03 18:21:36 +02:00
Dmitriy Zaporozhets bb7490771e Use proper markdown syntax for code in README.md 2013-03-03 17:51:24 +02:00
Dmitriy Zaporozhets 69159634d6 Merge pull request #3125 from dosire/development-doc-in-repo
Development doc in repo
2013-03-03 07:48:25 -08:00
Sytse Sijbrandij 50620b7df8 Refer to virtual machine from the installation document. 2013-03-03 12:38:01 +01:00
Sytse Sijbrandij 6e908f1a36 Sidekiq replaced resque. 2013-03-03 12:29:57 +01:00
Sytse Sijbrandij 5421f6b239 Small fixes and better quoting. 2013-03-02 23:38:48 +01:00
Sytse Sijbrandij 56d1cc5be5 Replacing the development guide. 2013-03-02 23:27:52 +01:00
Dmitriy Zaporozhets 5b4032d175 Merge pull request #3118 from 2called-chaos/dont_send_mails_twice
Do not send issue status mail twice if author = assignee
2013-03-02 10:48:22 -08:00
Dmitriy Zaporozhets 62562e4d0d Merge pull request #3119 from m4tthumphrey/patch-1
Add namespace_id to project creation via API
2013-03-02 10:47:19 -08:00
Dmitriy Zaporozhets bd3848c05b Merge pull request #3124 from dosire/comprehensive-readme
Cleaned up and enhanced readme.
2013-03-02 10:45:38 -08:00
Sytse Sijbrandij 737a449795 Cleaned up and enhanced readme.
Finishing touches.

Make the layout more consistent.
2013-03-02 13:04:57 +01:00
Dmitriy Zaporozhets 907c334fe0 fix decorate call for milestone users 2013-03-02 13:23:30 +02:00
Dmitriy Zaporozhets 86da625f1d Updated gems: omniauth, sinatra, foreman 2013-03-02 12:58:47 +02:00
wtw 1c8c5c76b6 Corrected some typos in gitlab.yml.example comments 2013-03-01 23:53:37 +01:00
Matt Humphrey 1c0c7bd6e3 Missed comma. 2013-03-01 16:36:19 +00:00
Matt Humphrey dd653f62f3 Added namespace_id to project creation via API
This allows you to set the namespace ID for projects via the the API. By default it is created for the current user. You can assign it to the global namespace by passing `GLN` which translates to 'Global Namespace'.
2013-03-01 16:34:11 +00:00
Dmitriy Zaporozhets 1cfc2b6fc7 Merge branch 'Undev-team-and-group-descriptions' 2013-03-01 16:26:39 +02:00
Dmitriy Zaporozhets ef646928e4 better presenting for group description 2013-03-01 16:26:26 +02:00
Sven Pachnit c280c3ce6d Do not send issue status mail twice if author = assignee 2013-03-01 15:09:14 +01:00
Dmitriy Zaporozhets 87f555e1ef fixed db/schema 2013-03-01 16:07:55 +02:00
Dmitriy Zaporozhets 5c3cb47c16 Merge branch 'team-and-group-descriptions' of https://github.com/Undev/gitlabhq into Undev-team-and-group-descriptions
Conflicts:
	db/schema.rb
2013-03-01 16:05:51 +02:00
Dmitriy Zaporozhets a73e58f70b draper raise now RuntimeError instead of NoMethodError 2013-03-01 15:59:43 +02:00
Dmitriy Zaporozhets dbcf4144ee use simple decorate on single commits 2013-03-01 15:35:22 +02:00
Dmitriy Zaporozhets 6aead7991f fix decorate calls on collections after draper update 2013-03-01 15:24:59 +02:00
Dmitriy Zaporozhets 520f02259c gems updated: unicorn, draper, github-markup 2013-03-01 15:15:29 +02:00
Dmitriy Zaporozhets 153a4c142d updated gems: haml-rails, carrierwave 2013-03-01 15:09:11 +02:00
Dmitriy Zaporozhets 5da7424f8d Gem updated: devise, grape, sidekiq, settingslogic 2013-03-01 14:36:12 +02:00
Sato Hiroyuki f8009a4858 Fix spinach errors. 2013-03-01 17:28:29 +09:00
Dmitriy Zaporozhets 22d6ce9873 Merge pull request #3082 from devote/patch-1
Distorted lines in `diff`
2013-02-28 23:46:07 -08:00
Dmitriy Zaporozhets 0b52c461da use grit_ext 0.6.2 2013-03-01 09:23:18 +02:00
Dmitriy Zaporozhets 7a0af60b51 update stamp 2013-02-28 21:14:00 +02:00
Dmitriy Zaporozhets 547ae558d7 update httparty 2013-02-28 21:11:12 +02:00
Dmitriy Zaporozhets ed9543ff5d update devise gem 2013-02-28 21:06:16 +02:00
Dmitriy Zaporozhets 00ae65b108 try to use stable version for database cleaner 2013-02-28 21:02:41 +02:00
Dmitriy Zaporozhets 1c517153a8 fix admin users tests 2013-02-28 19:56:36 +02:00
Dmitriy Zaporozhets 9a5c152c0e Merge pull request #3114 from Un1matr1x/docs
docs improvement
2013-02-28 09:48:34 -08:00
Un1matr1x 9c40002625 docs improvement 2013-02-28 18:30:07 +01:00
Dmitriy Zaporozhets b1f58fcaea allow any attachment filenames 2013-02-28 19:29:21 +02:00
Dmitriy Zaporozhets 115454f3ed created-by-me filter for issues inside project. Fixed global project.issues order 2013-02-28 17:46:28 +02:00
Dmitriy Zaporozhets 15b121d603 Merge branch 'master' of github.com:gitlabhq/gitlabhq 2013-02-28 17:10:06 +02:00
Dmitriy Zaporozhets afed5cb614 Merge branch 'Undev-link-to-issue-tracker' 2013-02-28 17:08:58 +02:00
Dmitriy Zaporozhets e1f77b9be0 Merge branch 'link-to-issue-tracker' of https://github.com/Undev/gitlabhq into Undev-link-to-issue-tracker
Conflicts:
	Gemfile.lock
2013-02-28 17:02:20 +02:00
Andrew8xx8 2f1f05d431 Fixed notes from randx 2013-02-28 18:55:35 +04:00
Dmitriy Zaporozhets e8ff9ad2f2 Merge pull request #2249 from jouve/fix_possible_spec_failure
fix one of the possible causes of build failures
2013-02-28 06:45:16 -08:00
Dmitriy Zaporozhets d452ffc2d0 Merge branch 'features/text_mail_templates' 2013-02-28 16:43:15 +02:00
Thomas Berger 7ed0878654 added text-templates for mail notification 2013-02-28 16:39:58 +02:00
Dmitriy Zaporozhets 6682689ab2 Merge pull request #3103 from ezkl/binding-of-caller-bump
Update binding_of_caller to v0.7.1
2013-02-28 06:36:11 -08:00
Andrew8xx8 d3f042a6f2 Css classes improved 2013-02-28 18:35:27 +04:00
Dmitriy Zaporozhets 6393ed6a41 add description what is gitlab-shell 2013-02-28 16:21:58 +02:00
Dmitriy Zaporozhets dec15a4142 Add instruction to edit gitlab-shell config 2013-02-28 16:13:24 +02:00
Andrew8xx8 9c747fbb95 Missing descriptions added 2013-02-28 17:37:02 +04:00
Andrew8xx8 cf6d9a2222 Tests for team and group descriptions added 2013-02-28 17:15:22 +04:00
Andrew8xx8 9959669f1c Desctiptions removed from dashboard 2013-02-28 17:15:22 +04:00
Andrew8xx8 3d4e32457b Table description indentation fixed 2013-02-28 17:15:22 +04:00
Andrew8xx8 ba5373805a Description added to user temas factory 2013-02-28 17:15:22 +04:00
Andrew8xx8 b4648c3b52 Spinach tests fixed 2013-02-28 17:15:22 +04:00
Andrew8xx8 5f657203a1 Description added to temas 2013-02-28 17:15:22 +04:00
Andrew8xx8 9f45e01e84 Description to groups added 2013-02-28 17:14:21 +04:00
Andrew8xx8 1dab19d0d7 DB schema updated 2013-02-28 16:30:47 +04:00
Andrew8xx8 cff845784e Show Issues tracker select only if one or more remote issue trackers available 2013-02-28 16:11:14 +04:00
Andrew8xx8 8caccae454 Issue helper tests improved 2013-02-28 16:11:14 +04:00
Andrew8xx8 b6d0f2852d Issues link from project page follows on remote bug tracker if it selected now 2013-02-28 16:11:14 +04:00
Andrew8xx8 ab98db73a3 Issues tracker settings enableds/disableds without page reloading now 2013-02-28 16:11:14 +04:00
Andrew8xx8 bca72eac74 Default issue tracker name added to gon variables 2013-02-28 16:11:14 +04:00
Andrew8xx8 cf3cf3750e Gem gon added. It produces server-side variable values in javascript 2013-02-28 16:11:14 +04:00
Andrew8xx8 c6385e4135 Section name returned back to base 2013-02-28 16:11:13 +04:00
Andrew8xx8 c643b50dbd Default value for issues_tracker setting added 2013-02-28 16:11:13 +04:00
Andrew8xx8 9b606ede00 Wrong default section in config. Fixed. 2013-02-28 16:11:13 +04:00
Andrew8xx8 9e8a818696 Issues helper included to markdown helper 2013-02-28 16:11:13 +04:00
Andrew8xx8 16c720fd96 Issues helper improved 2013-02-28 16:11:13 +04:00
Andrew8xx8 f13600845d Migration added 2013-02-28 16:11:13 +04:00
Andrew8xx8 0afdf39dbc New field added 2013-02-28 16:11:13 +04:00
Andrew8xx8 62de22c142 External issue tracker params added to config 2013-02-28 16:10:01 +04:00
Andrew8xx8 68a7ecdaaf Project issue tracker functions refactored 2013-02-28 16:10:00 +04:00
Andrew8xx8 999fc2391b Issue tracker added to edit project form in admin area 2013-02-28 16:10:00 +04:00
Andrew8xx8 e6d2e56961 Issue tracker field added to projects 2013-02-28 16:10:00 +04:00
Andrew8xx8 8f621c9e06 Enumerize gem added 2013-02-28 15:15:53 +04:00
Dmitriy Zaporozhets fa6bf2c0f5 remove unnecessary center tag in devise layout 2013-02-28 12:08:25 +02:00
Dmitriy Zaporozhets 54d95f5897 Restyle flash message. Not it does not overflow head panel 2013-02-28 11:06:52 +02:00
Dmitriy Zaporozhets e6b5f4ade9 refactor finders in spianch:merge_request.feature 2013-02-28 09:43:48 +02:00
Dmitriy Zaporozhets 51b547f842 Commenting a failing test 2013-02-28 09:25:23 +02:00
Dmitriy Zaporozhets aa3109b84a Merge pull request #3104 from gitlabhq/contributing-file
Update contributing file with latest insights.
2013-02-27 23:11:06 -08:00
Sato Hiroyuki 2a687dd562 Show gravatar icon on tooltip. 2013-02-28 14:56:27 +09:00
Sato Hiroyuki 00d0e57e85 Commits are arranged below their first parent. 2013-02-28 11:46:17 +09:00
Sato Hiroyuki 14c2a37da2 A tip is made slanting. 2013-02-28 11:44:52 +09:00
Sato Hiroyuki 38fce3deb0 It improves detecting an overlap of a line 2013-02-28 11:44:40 +09:00
David c13f9adab8 Update doc/install/databases.md
Remove prompt $ from code line for uniformity
2013-02-27 17:09:14 -05:00
Sytse Sijbrandij 46bbeabcde Link to new contributing file and the requirements doc. 2013-02-27 22:17:46 +01:00
Sytse Sijbrandij 5f9bc743f5 Update contributing file with latest insights. 2013-02-27 21:51:46 +01:00
Ezekiel Templin 70e1b3b1cb Update `binding_of_caller` version
Updating this dependency fixed my Ruby 2.0 installation issues.
2013-02-27 14:32:36 -05:00
Dmitriy Zaporozhets 863d297ede reduce fonts size for wiki render 2013-02-27 21:10:23 +02:00
Dmitriy Zaporozhets 2c71c2e1df trying new readme 2013-02-27 21:05:57 +02:00
Dmitriy Zaporozhets 60fdc04d03 Merge pull request #3098 from Undev/important-migrations-fix
IMPORTANT! Data converting in migrations was wrong. Fixed
2013-02-27 10:52:42 -08:00
Dmitriy Zaporozhets b2a69262e1 Merge pull request #3101 from tsl0922/master
Fix project transfer error
2013-02-27 10:48:14 -08:00
Dmitriy Zaporozhets aceb747bb8 use system call to start sidekiq 2013-02-27 20:40:01 +02:00
Dmitriy Zaporozhets 92039dd677 Developers can merge MR if target branch is not protected 2013-02-27 20:20:31 +02:00
Sebastian Ziebell d269d107d8 API: fixed adding a note
Now the correct attribute is checked if it's available or not. Also fixed a test.
2013-02-27 18:12:02 +01:00
Sebastian Ziebell 3bb342b961 Merge branch 'master' into fixes/api 2013-02-27 17:52:59 +01:00
Sebastian Ziebell 7499f65014 API: extracted helper method to validate required parameters, code clean up
Added a helper method to check if required parameters are given in an API call. Can be used
to return a `400 Bad Request` return code if a required attribute is missing.
Code clean up and fixed tests.
2013-02-27 17:50:30 +01:00
Dmitriy Zaporozhets 33cd1ae9dc Update README 2013-02-27 18:09:48 +02:00
Sebastian Ziebell 43d7596030 Merge branch 'feature/api-documentation-fixes' of github.com:Xylakant/gitlabhq into fixes/api
Conflicts:
	doc/api/projects.md
2013-02-27 16:49:45 +01:00
Dmitriy Zaporozhets b3d648b4e8 Prevent duplicate merge events 2013-02-27 17:48:51 +02:00
Nihad Abbasov 3c5954b8c8 proper fix for #2300 2013-02-27 06:47:04 -08:00
Sebastian Ziebell 07f306d8af Merge branch 'master' into fixes/api 2013-02-27 15:15:47 +01:00
Sebastian Ziebell 3b3add35fb API: merge request documentation updated, added return codes to functions
The API documentation of merge requests contains info to status codes for all functions.
Required arguments are now checked in the merge requests API functions and a `400 Bad Request` error is
returned if they are not given.
2013-02-27 15:07:42 +01:00
Nihad Abbasov e4b67d3b18 Merge pull request #3095 from fdiary/update-grape-for-ruby2.0
update grape to 0.3.1 for ruby 2.0 support.
2013-02-27 06:06:02 -08:00
Nihad Abbasov 8d847b89d2 API: fix commits pagination
closes #2300
2013-02-27 06:00:33 -08:00
Sebastian Ziebell e96d77d3db API: issues documentation and API functions updated
The issues documentation is updated with infos to status codes and the deprecated `DELETE` function and
how to close an issue. A few more tests added to check status codes of API functions.
2013-02-27 14:36:20 +01:00
Sato Hiroyuki f11e855bdb Finding free space from the way near commit which is downward 2013-02-27 21:49:53 +09:00
Sebastian Ziebell dffc2b8a8b API: session documentation updated and test added 2013-02-27 12:58:06 +01:00
Sebastian Ziebell 873db06255 API: groups documentation updated, functions return different status codes
Updates the API documentation of groups with infos to return codes. The function calls
in the groups API have updated documentation and return `400 Bad Request` status code
if a required attribute is missing.
2013-02-27 12:34:45 +01:00
tsl0922 df63ab78a8 Fix project transfer error 2013-02-27 18:27:10 +08:00
Sebastian Ziebell e119b0a0cb API repository documentation updated, includes infos to return codes
The API documentation of repository is updated and now contains infos to status codes.
Code documentation is also adjusted for `GET /projects/:id/repository/commits` and includes infos to
pagination attributes. Tests are updated.
2013-02-27 11:24:12 +01:00
Sebastian Ziebell ac4a09e9cc Merge branch 'master' into fixes/api 2013-02-27 10:16:48 +01:00
Andrew8xx8 4a55c69877 Data converting migrations was wrong. Fixed 2013-02-27 12:53:36 +04:00
Dmitriy Zaporozhets 135418dcbf fixed popen test 2013-02-27 08:24:12 +02:00
Dmitriy Zaporozhets cba6e92436 move transfer logic out of project to service 2013-02-26 23:14:32 +02:00
Dmitriy Zaporozhets 0cf0487d65 Fix TestHookContext 2013-02-26 23:04:14 +02:00
Dmitriy Zaporozhets 4e5164338a specs for api/internal 2013-02-26 22:53:59 +02:00
Dmitriy Zaporozhets 2c5e4955c0 specs for Gitlab::Popen 2013-02-26 22:53:46 +02:00
Kazuhiko 3b548d9251 update grape to 0.3.1 for ruby 2.0 support.
add grape-entity, that is split from grape 0.3.0.
remove usage of deprecated error_format, that is removed in grape 0.2.3.
2013-02-26 21:31:45 +01:00
Sato Hiroyuki aa36f07a02 Fix the commits are not ordered commiter date.
It is fixed that the date label of network graph is broken.
2013-02-26 21:20:14 +09:00
Sato Hiroyuki d8a40d8c93 Move graph module from lib or vendor directory to app directory.
Because not autoloading lib directory at development mode.
2013-02-26 20:31:39 +09:00
Dmitriy Zaporozhets 9c252a60c1 remove tests for unexisting methods 2013-02-26 11:17:02 +02:00
Dmitriy Zaporozhets 15c0e58a49 remove unused code related to gitolite 2013-02-26 11:11:43 +02:00
Dmitriy Zaporozhets c08f19f275 email validation added 2013-02-26 11:09:32 +02:00
Dmitriy Zaporozhets f2cac135d5 Merge branch 'Undev-state-machine-stage-2' 2013-02-26 10:48:30 +02:00
Dmitriy Zaporozhets 5ac5510fd6 Fix automerge detection client-side since #3056 2013-02-26 10:47:27 +02:00
Dmitriy Zaporozhets d7b667fee2 Merge branch 'state-machine-stage-2' of https://github.com/Undev/gitlabhq into Undev-state-machine-stage-2
Conflicts:
	app/models/merge_request.rb
2013-02-26 10:38:40 +02:00
Dmitriy Zaporozhets 0cc95ef2f5 Merge pull request #2889 from kennytm/master
Show only ≤16 lines of codes in a discussion in a MR (issue #2860).
2013-02-26 00:32:02 -08:00
Dmitriy Zaporozhets 573942263a Fix issue edit button showup 2013-02-26 10:17:09 +02:00
Dmitriy Zaporozhets c9b1df1201 Fixing tests 2013-02-25 23:16:34 +02:00
Dmitriy Zaporozhets 39fe9b644f Add close issue to note actions bar 2013-02-25 23:10:50 +02:00
Dmitriy Zaporozhets 8de19b259e proper name for issue partial 2013-02-25 22:56:10 +02:00
Dmitriy Zaporozhets 5e69ad2cea Sanitize user profile input 2013-02-25 22:51:15 +02:00
Dmitriy Zaporozhets db8baf2895 Since search_autocomplete_source rendered with raw all human input should be sanitized to prevent XSS 2013-02-25 22:12:11 +02:00
Dmitriy Zaporozhets d0646babdb Remove gitolite mention from docs 2013-02-25 21:45:33 +02:00
Dmitriy Zaporozhets f17fe7fff2 correct indentation in activity observer 2013-02-25 21:26:15 +02:00
Dmitriy Zaporozhets 7bab81b199 Move git post push logic to service 2013-02-25 21:21:38 +02:00
Dmitriy Zaporozhets 9611640e38 Merge pull request #3052 from Undev/system-hook-observer-improves
System hooks code & logic refactoring
2013-02-25 10:15:23 -08:00
Dmitriy Zaporozhets 72d48376ab Merge pull request #3057 from axilleas/master
Remove function 'check_issue_1059_shell_profile_error' from check.rake as it is not needed anymore
2013-02-25 10:11:52 -08:00
Dmitriy Zaporozhets 580a56b6ff Update grit to handle symlinks 2013-02-25 19:44:37 +02:00
Dmitriy Zaporozhets 262f80a68a Update grit for ruby 2.0 support 2013-02-25 19:22:46 +02:00
Dmitriy Zaporozhets 3cf814ff9d remove duplicate finder in features/steps/path 2013-02-25 10:28:59 +02:00
Dmitrii Pakhtinov e975ed836d Distorted lines in `diff`
Distorted lines in `diff` when viewing files `windows-style-line-separator: \r\n`
2013-02-25 12:21:38 +04:00
Dmitriy Zaporozhets c3659ef2e5 Fix merge request migration for postgres 2013-02-25 08:53:49 +02:00
Dmitriy Zaporozhets ed60b6fc90 Merge pull request #3071 from dmedvinsky/fix-webhook-auth
Fix WebHook and special symbols in credentials
2013-02-24 04:13:15 -08:00
Dmitriy Zaporozhets 3432c9aed7 Merge pull request #3072 from dmedvinsky/add-title-remove-member
Add title for "Remove from team" button
2013-02-24 04:04:58 -08:00
Dmitriy Zaporozhets 46d353304a Merge pull request #3073 from dmedvinsky/cosmetic-search-transition
Add transition on search box
2013-02-24 04:03:16 -08:00
Dmitry Medvinsky b0fb68c191 Add transition on search box
It's kind of cool trend to use animated-expanding search box nowadays.
E.g. see Github.
2013-02-22 20:50:17 +04:00
Dmitry Medvinsky 30180ed82e Add title for "Remove from team" button 2013-02-22 20:29:03 +04:00
Dmitry Medvinsky dbd9d8d4c3 Fix WebHook and special symbols in credentials
When using web hook with credentials secured web resource, one needs to
put the credentials in the hook URL.

If the credentials contain special symbols (e.g. @ or #), it should be
URL-quoted (e.g. %40 instead of @).

But when Gitlab is making a request, it should unquote the symbols
before base64-encoding them.
2013-02-22 20:10:25 +04:00
Sebastian Ziebell 9ee6c58acc API documentation updated for project snippets.
The API Documentation for project snippets got infos to return codes. Tests are added
to check status codes when handling project snippets.
2013-02-21 21:13:46 +01:00
Sebastian Ziebell ce9e35c295 API: Fixes tests for changed hook deletion 2013-02-21 21:04:16 +01:00
Dmitriy Zaporozhets 292dffc228 Add new entries to CHANGELOG 2013-02-21 17:01:02 +02:00
Dmitriy Zaporozhets 99b6750e15 Restore old order for MR lists. Fix failing tests 2013-02-21 16:26:09 +02:00
Dmitriy Zaporozhets 4a137651ec Fix merge request closed filter. Fixed one more test 2013-02-21 14:11:24 +02:00
Dmitriy Zaporozhets be817c53c6 Update database cleaner. Remove postgres from travis build list since it gives us deadlocks always 2013-02-21 14:11:04 +02:00
Dmitriy Zaporozhets cce14e0b01 Removing ambiguity and non-working selectors 2013-02-21 13:28:05 +02:00
Dmitriy Zaporozhets 5aeaf248f1 Fixing rspec after upgrade to capybara pt1 2013-02-21 13:09:47 +02:00
Dmitriy Zaporozhets 2d5096b678 Fix ambiguity for member link in test 2013-02-21 12:39:09 +02:00
Dmitriy Zaporozhets 37187336b1 Team features are green now 2013-02-21 12:27:52 +02:00
Andrew8xx8 c77730dd71 An Id must be sended to queue 2013-02-21 14:04:06 +04:00
Dmitriy Zaporozhets 28da2a8bdc Monkeypatch satellite call for merge request in tests 2013-02-21 11:44:33 +02:00
Dmitriy Zaporozhets 42ce2c1080 improve selectors to pass capybara 2.0 2013-02-21 11:27:22 +02:00
Dmitriy Zaporozhets 03f6a28ec0 move capybara scenarios to spec/features 2013-02-21 10:41:37 +02:00
Dmitriy Zaporozhets 9f722427e5 Add LoginHelpers to feature type 2013-02-21 10:41:13 +02:00
Dmitriy Zaporozhets 830da0c218 Update capybara, poltergeist, spinach, rspec-rails 2013-02-21 10:28:13 +02:00
Dmitriy Zaporozhets af3138e801 Update sidekiq 2013-02-21 10:00:18 +02:00
Dmitriy Zaporozhets 585259b837 Fix merge state detection 2013-02-21 09:25:07 +02:00
Sebastian Ziebell 4a60c377b8 API documentation update for milestones
Updated the milestones API documentation and added return codes descriptions.
2013-02-20 22:51:59 +01:00
mikew 4243105eb5 deploys under git user 2013-02-20 17:11:41 -04:30
Sebastian Ziebell 33c1463645 API: fixes return codes for notes, documentation updated
The notes API documentation updated with return codes. API now returns `400 Bad Request` if
required attributes are not present. Return codes are documented now, also tested in added tests.
The documentation now reflects the current state of the API.
2013-02-20 22:17:05 +01:00
Axilleas Pipinellis a3bbc5956b We don't need to check .profile now that gitolite is replaced by gitlab-shell 2013-02-20 17:36:09 +02:00
Andrew8xx8 6d68923edc human_merge_status replaced by human_merge_status_name 2013-02-20 17:50:29 +04:00
Andrew8xx8 52e0df5c23 class.self methods moved to scopes 2013-02-20 17:50:24 +04:00
Andrew8xx8 e2d94e0719 State machine added for merge_status field 2013-02-20 17:49:48 +04:00
Andrew8xx8 1b7b17d12a Database schema updated 2013-02-20 17:49:40 +04:00
Andrew8xx8 8ba27b7b46 Migrations for convertion merge_status added 2013-02-20 17:49:33 +04:00
Sebastian Ziebell f0e417091c Merge branch 'master' into fixes/api
Conflicts:
	spec/requests/api/projects_spec.rb
2013-02-20 14:30:11 +01:00
Dmitriy Zaporozhets ba1a453ef3 Merge pull request #3053 from m4tthumphrey/api-delete-hook-by-id
Fix RESTfulness of project hook deletions by API
2013-02-20 05:22:38 -08:00
Sebastian Ziebell 512d826cc3 API: fixes test if project limit is reached
Fixes a test that checks if the project limit is reached.
2013-02-20 14:15:04 +01:00
Matt Humphrey dddf6eab2d Removed unnecessary paramter hash. Also tidied up hash format in hook creation spec 2013-02-20 11:45:54 +00:00
Sebastian Ziebell eefb27f5ae Merge branch 'master' into fixes/api
Conflicts:
	spec/requests/api/projects_spec.rb
2013-02-20 12:43:32 +01:00
Matt Humphrey 33c513274d Fix RESTfulness of project hook deletions by API 2013-02-20 11:35:36 +00:00
Andrew8xx8 99760edc75 Method moved to service 2013-02-20 15:33:03 +04:00
Sebastian Ziebell 1b97a2eee8 API: fixes return codes, documentation updated with status codes, tests added
The users API updated with return codes, e.g. if required parameters are missing
a `400 Bad Request` error is returned instead of `404`. Fixes return codes of functions,
e.g. deletion of a ssh key is an idempotent function now.
The API documentation is updated to reflect the current status of the API. Descriptions
are more detailed and complete, infos to return values are added to all functions.
2013-02-20 12:23:56 +01:00
Andrew8xx8 aa1780d03c System hooks execution moved to System hook service 2013-02-20 14:53:15 +04:00
Dmitriy Zaporozhets b7ac654b88 Merge pull request #2988 from Asquera/error_project_limit
API: creating last project before limit returns 404
2013-02-20 02:47:30 -08:00
Dmitriy Zaporozhets 25e4c512d4 Merge pull request #3011 from Asquera/fix_access_to_nonvisible_hook
API: fixes visibility of project hook
2013-02-20 02:45:07 -08:00
Dmitriy Zaporozhets c56d32c73e Merge pull request #3038 from dmedvinsky/commit-time
Add commit full time tooltip to `commited_ago`
2013-02-20 02:41:35 -08:00
Dmitriy Zaporozhets 36ea32162d Merge pull request #3045 from eldios/patch-1
Update doc/install/installation.md
2013-02-20 02:29:16 -08:00
Dmitriy Zaporozhets e7a5ec3376 Merge pull request #3043 from sjmulder/state-seed
Update seeds for state columns
2013-02-20 02:28:44 -08:00
Andrew8xx8 468c8c5f0a A little bit of codestyle improvments 2013-02-20 13:15:56 +04:00
Nihad Abbasov 08f665cf28 API docs: fix new milestone parameters 2013-02-20 11:41:32 +04:00
Mike Wyatt c6f5b96ba8 allow force=yes rake gitlab:setup for capistrano deploy:cold 2013-02-20 00:14:03 -03:30
Mike Wyatt bed500090e Capistrano deployment example scripts 2013-02-20 00:13:18 -03:30
Lele 49a46d6ca9 Update doc/install/installation.md
changed installation overview list step #4
Gitolite -> GitLab shell
2013-02-20 02:01:39 +01:00
Sijmen Mulder 3a45e6010f Update seeds for state columns 2013-02-19 22:14:28 +01:00
Dmitry Medvinsky eb58529757 Add commit full time tooltip to `commited_ago` 2013-02-19 19:56:43 +04:00
Dmitriy Zaporozhets 6bc9249b38 Merge pull request #3034 from Andrew8xx8/patch-2
Event already has author relation
2013-02-19 03:27:42 -08:00
Andrew Kulakov 303fb06c96 Event already has author relation 2013-02-19 15:22:29 +04:00
Dmitriy Zaporozhets 401041cfd6 Merge pull request #3032 from raphendyr/fix_development_environment
Fix development fixture for gitlab_shell
2013-02-19 01:49:36 -08:00
Dmitriy Zaporozhets 67465dc5ef Fix private flag for project 2013-02-19 11:45:49 +02:00
Jaakko Kantojärvi fab586bc87 Fix development fixture for gitlab_shell 2013-02-19 11:17:59 +02:00
Dmitriy Zaporozhets 5d72a3e133 Merge branch 'Undev-state-machine' 2013-02-19 11:04:54 +02:00
Dmitriy Zaporozhets 155703c613 Merge branch 'state-machine' of https://github.com/Undev/gitlabhq into Undev-state-machine
Conflicts:
	app/models/issue.rb
	app/models/merge_request.rb
2013-02-19 11:01:19 +02:00
Andrew8xx8 6e333d5075 Javascript widget fixed 2013-02-19 12:57:09 +04:00
Dmitriy Zaporozhets 52028dcd2d Merge pull request #3013 from crystax/master
Sort groups alphabetically on dashboard page
2013-02-19 00:51:08 -08:00
Dmitriy Zaporozhets bfc359ca61 Fix project filter for MR on dashboard 2013-02-19 09:43:41 +02:00
Andrew8xx8 d58eb62d68 Migrations iproved 2013-02-19 11:32:10 +04:00
Dmitry Moskalchuk f7ae1bce25 Syntax fix of sorting groups/users 2013-02-19 11:13:19 +04:00
Dmitriy Zaporozhets ba937b2b3d Dont show assigned_teams block unless any. Show count in filter 2013-02-18 21:21:24 +02:00
Dmitriy Zaporozhets a29db26cc9 Refactor and restyle team page for project 2013-02-18 21:10:49 +02:00
Dmitriy Zaporozhets e9d8d074a1 no projects message in group area 2013-02-18 20:31:43 +02:00
Dmitriy Zaporozhets 655e68a0ad Merge pull request #2998 from axilleas/master
Minor changes to installation and databases docs.
2013-02-18 10:02:32 -08:00
Dmitriy Zaporozhets b87ef427e9 Merge pull request #2990 from raphendyr/gitignore_and_logrotate
Change .gitignore to ignore logrotated log files.
2013-02-18 10:01:09 -08:00
Dmitriy Zaporozhets e049e18780 Merge pull request #2991 from raphendyr/username_change_disablation
Add option to disable username changing
2013-02-18 09:59:24 -08:00
Dmitriy Zaporozhets ea28519f57 Merge pull request #2996 from raphendyr/ssh_fingerprint_fix
Ssh fingerprint fix
2013-02-18 09:56:35 -08:00
Andrew8xx8 e5f048f44d Migrations refactored ro support data convertion 2013-02-18 18:54:30 +04:00
Dmitriy Zaporozhets 97de6f851b Fix not-working team memebership permissions change 2013-02-18 16:40:11 +02:00
Andrew8xx8 41e97a766b Creating test values moved to before 2013-02-18 17:52:39 +04:00
Andrew8xx8 d27ed43daa Hash syntax improved 2013-02-18 17:22:18 +04:00
Andrew8xx8 557a9fa321 Debug remomved 2013-02-18 17:16:29 +04:00
Andrew8xx8 ff94f29be5 States events fixed 2013-02-18 16:49:56 +04:00
Andrew8xx8 231d9e0426 Observer refactored to use StateMachine events 2013-02-18 16:49:17 +04:00
Dmitriy Zaporozhets 1481d1cfe0 Merge branch 'count_user_owned_projects' of /home/git/repositories/gitlab/gitlabhq 2013-02-18 12:46:45 +00:00
Dmitriy Zaporozhets 01a7250ba5 Add user to team he creates 2013-02-18 14:35:38 +02:00
Marin Jankovski 1734611181 Count owned projects, not just personal 2013-02-18 13:15:35 +01:00
Andrew8xx8 6074896cbf Spinach tests fixed 2013-02-18 14:43:50 +04:00
Andrew8xx8 69698aacbc Additional tests added to Issue 2013-02-18 14:43:50 +04:00
Andrew8xx8 b607c70e8f Additional tests added to Milestone 2013-02-18 14:43:50 +04:00
Andrew8xx8 0b4f4fe157 Migrations for StateMachine refactoring added 2013-02-18 14:43:50 +04:00
Andrew8xx8 1644117a1a Issue uses StateMachine now 2013-02-18 14:43:50 +04:00
Andrew8xx8 0b512af803 Milestone uses StateMachine now 2013-02-18 14:43:50 +04:00
Andrew8xx8 29f70acc98 Merge Request uses StateMachine now 2013-02-18 14:43:50 +04:00
Andrew8xx8 b45e9aefd3 Merge Request uses StateMachine now 2013-02-18 14:43:50 +04:00
Andrew8xx8 f97296597c Issuable consern uses StateMachine now 2013-02-18 14:43:49 +04:00
Andrew8xx8 8db3920c01 State renamed to merge_status 2013-02-18 14:43:49 +04:00
Andrew8xx8 26d4574ada State machine gem added 2013-02-18 14:43:49 +04:00
Sebastian Ziebell da040fc134 API documentation expanded with status code information
Information to return codes added to projects and users documentation.
2013-02-18 11:15:26 +01:00
Dmitriy Zaporozhets 020078663e Prevent xss attack over group name. Added regex validation for group and team name 2013-02-18 09:28:18 +02:00
Jaakko Kantojärvi c20be05a80 Fix ssh key test by adding valid ssh key 2013-02-17 21:31:48 +02:00
Jaakko Kantojärvi 27f4cf7542 Tests to validate that invalid keys are rejected 2013-02-17 21:31:20 +02:00
Dmitriy Zaporozhets cfdf94fc27 use attachment secure_url for Attachemnt page 2013-02-17 16:18:42 +02:00
Dmitriy Zaporozhets 0d3b75845a Merge pull request #3017 from jojosch/owner-link-admin
Fix link to owner of group and team in admin interface
2013-02-17 06:15:33 -08:00
Miguel Cabeça 157b038661 Include Riyad Preukschas suggestions. 2013-02-17 13:02:22 +00:00
Dmitriy Zaporozhets 1efeb1b562 redesign mars theme a bit. Better border color for search-input for dark theme 2013-02-17 12:16:19 +02:00
Dmitriy Zaporozhets 32a5548c41 Fix link color for dark theme 2013-02-17 12:05:26 +02:00
Johannes Schleifenbaum 3ae7a45d5a Fix link to owner of group and team in admin interface 2013-02-17 11:00:02 +01:00
Dmitriy Zaporozhets 9764ba6df2 create satellite for imported repo 2013-02-16 21:47:43 +02:00
Dmitriy Zaporozhets 42ffbea8e0 Fix logo alignment for default theme 2013-02-16 21:37:06 +02:00
Dmitriy Zaporozhets f45f033199 Add logo to deploy.html 2013-02-16 21:35:11 +02:00
Dmitriy Zaporozhets 18a496142b Reduce size of nav panel. Fixed nav background for IE. Refactored mars theme 2013-02-16 21:24:51 +02:00
Dmitry Moskalchuk a9c1b85e08 Sort groups/namespaces by human name 2013-02-16 19:40:33 +04:00
Dmitry Moskalchuk 2a4ef0fe49 Sort groups alphabetically on dashboard page 2013-02-16 19:11:36 +04:00
Sebastian Ziebell e9d3b96595 API: fixes visibility of project hook
When a user is not authorized to see the list of hooks for a project, he is
still able to access the hooks separately. For example if access to
`GET /projects/:id/hooks` fails and returns a `403 Unauthorized` error it is
still possible to access a hook directly via `GET /projects/:id/hooks/:hook_id`.

Fixes access, also added tests to check access and status codes of hooks.
2013-02-16 14:42:49 +01:00
Dmitriy Zaporozhets fa3cc1dd24 Merge branch 'features/attachment_server' of /home/git/repositories/gitlab/gitlabhq 2013-02-16 12:45:20 +00:00
Dmitriy Zaporozhets b729728536 uppercase Gitlab version and revision constants. check api return gitlab version now 2013-02-16 14:42:22 +02:00
Dmitriy Zaporozhets e65cc4f849 Merge pull request #2994 from dasbh/master
Fix gitlab:setup task on fresh installation
2013-02-16 01:10:36 -08:00
Dmitriy Zaporozhets d6394a00f3 Merge pull request #3002 from nafu/repo_patch
Fix file_name for archive
2013-02-16 01:09:45 -08:00
Dmitriy Zaporozhets c3a5aa159a Merge pull request #3003 from livedata/patch-1
fixed API access to the project
2013-02-16 01:08:33 -08:00
Axilleas Pipinellis a53f687fe6 Added creation of pids directory to fix #2995, replaced deprecated nginx init.d command with service one, some more clean-up 2013-02-16 08:24:36 +02:00
Axilleas Pipinellis b65e5b1e96 Nginx: edit actual file instead of symlink 2013-02-16 07:50:41 +02:00
Sebastian Ziebell beb00af0c1 API documentation extended with snippets, tags and commits
Documentation is updated with information how to handle snippets or how to access tags
and commits. Nearly all project specific functions are now described in the documentation.
A few previous entries have been updated with status codes, e.g. `401 Unauthorized`.
2013-02-15 18:50:52 +01:00
livedata bbd1bfd155 fixed API access to the project 2013-02-15 15:37:06 +01:00
Fumiya Nakamura 20868acc96 Fix file_path to correspond with the name 2013-02-15 05:50:42 -08:00
Fumiya Nakamura a1d106110d Fix file_name for archive 2013-02-15 05:00:15 -08:00
Sebastian Ziebell 99739a58c3 API documentation extended with infos to project branches 2013-02-15 13:54:26 +01:00
Axilleas Pipinellis cdf95f1ce6 Added relative urls to other documentation files, removed duplicate debian update commands 2013-02-15 12:20:50 +02:00
Axilleas Pipinellis 46f7b7c1f2 Run db:setup and db:seed_fu before gitlab:setup 2013-02-15 11:53:35 +02:00
Axilleas Pipinellis 6178964929 Connect to database with git user, not gitlab 2013-02-15 11:52:10 +02:00
Jaakko Kantojärvi 6fd88b8cbb Fix ssh key fingerprinting test to use exitcode 2013-02-15 11:16:21 +02:00
Dmitriy Zaporozhets f6cc71bc36 Per project protection 2013-02-15 09:51:21 +02:00
Dmitriy Zaporozhets 4821aa6c25 skip protection to aws3 2013-02-15 09:49:35 +02:00
Dmitriy Zaporozhets f9dd547aa7 remove commented code 2013-02-15 09:16:46 +02:00
Bhagavan Das 4bc7d98d65 Remove hardcoded refernce to gitlab-shell home. so that gitlab can be installed on any unix account other than git 2013-02-14 23:10:18 +00:00
Bhagavan Das 08dfbc962b rename setup to setup_db so that it does not collide with gitlab🐚setup task 2013-02-14 21:39:48 +00:00
Sebastian Ziebell 5417fbfecd Test to check 404 error when project id not found 2013-02-14 21:00:05 +01:00
Sebastian Ziebell 12a1f73b61 API projects documentation grouped into sections & updated with status codes
The API documentation for projects now is structured into major sections that describe
the different aspects when dealing with projects, e.g. hooks, branches, team members etc.
All described methods now contain a list of possible status codes the method can return. A few
methods have extra sample JSON responses and a description if a method is idempotent.
Idempotent methods can be called multiple times while returning the same status code.
2013-02-14 20:43:48 +01:00
Riyad Preukschas 428af5ea62 Merge pull request #2890 from cameronyule/support_osx_groups
OS X support for gitlab:check rake tasks
2013-02-14 11:07:46 -08:00
Sebastian Ziebell c8b92a4be2 Merge branch 'master' into fixes/api 2013-02-14 17:02:16 +01:00
Jaakko Kantojärvi ba65f2910b Add option to disable username changing
This option allows to disable users from changing their username.

This is very usefull in environments using strong internal authentication methods like ldap, pam or shibboleth.

You can allow users to change theyr username in these environments, but then new users (users loging in first time) is blocked from gitlab is her username exists.
2013-02-14 17:58:56 +02:00
Sebastian Ziebell c305eb31aa API: tests that check status codes for project branches and hooks
Status code 422 (Unprocessable Entity) returned if invalid url is given when creating
or updating a project hook.
2013-02-14 16:55:33 +01:00
Jaakko Kantojärvi 1bf79f2443 Change .gitignore to ignore logrotated log files. 2013-02-14 17:43:20 +02:00
Sebastian Ziebell 6df02adc7a API: status code 403 returned if new project would exceed limit
When the project limit is reached the user is not allowed to create new ones.
Instead of error code 404 the status code 403 (Forbidden) is returned with error
message via API.
2013-02-14 15:51:56 +01:00
Dmitriy Zaporozhets 04186e9797 Merge pull request #2987 from Undev/support_env_in_settings
Environments support added to Gitlab config
2013-02-14 06:00:40 -08:00
Dmitriy Zaporozhets 7fad4a9636 Merge pull request #2989 from PierreGambarotto/master
archive download : namespace directory not created
2013-02-14 05:53:07 -08:00
Pierre Gambarotto b6b6b640b1 fix archive download : not creating namespace directory 2013-02-14 14:29:24 +01:00
Dmitriy Zaporozhets c9ca15e8d6 require missing lib 2013-02-14 15:25:55 +02:00
Dmitriy Zaporozhets 49cf9badbc Gitlab::ShellEnv added 2013-02-14 15:17:43 +02:00
Dmitriy Zaporozhets b698094d4d Update post-receive worker to use correct identifier 2013-02-14 14:00:02 +02:00
Sebastian Ziebell 3025824415 API: refactored last fix, project limit in web client is fixed too
The previous call `saved?` is restored in the `POST /projects` method in the API.
It is refactored to check if the record is persisted. This is useful to not validate
the record again after saving. This fixes the returned status code in the web client
too. If the last project is created via web client instead of error notification
the project page is shown.
2013-02-14 12:58:33 +01:00
Sebastian Ziebell 7e45ba7004 API: fixes return code when creating last project before reaching limit
When creating the last project via API when reaching the project limit a status code
of 404 (Not found) is returned instead of 201 (Created). The fix checks now correctly if
the project could be saved.
2013-02-14 11:14:52 +01:00
Sebastian Ziebell 1a01fc0c96 API: tests to show incorrect behavior when reaching project limit
When reaching the project limit the API returns an error code 404 on the last possible
project. The project itself is created and is available in the database (seems valid).
A similar behavior can be observed when reaching the project limit via web client, but
in this case the user is notified that the maximum number of projects is reached. The project
itself is still created and can be accessed.

Tests are added to check the behavior when reaching the project limit or one tries
to exceed it via the API.
2013-02-14 11:13:25 +01:00
Andrew8xx8 77a3bfe1de Environments support added to Gitlab config 2013-02-14 11:44:34 +04:00
Dmitriy Zaporozhets ed3f44085e Redesign Admin -> user -> show page 2013-02-13 19:14:35 +02:00
Dmitriy Zaporozhets 6b24c375cb style admin -> users page. Search by username too 2013-02-13 17:28:28 +02:00
Sebastian Ziebell 6fc3263e15 API: extracted helper method to provide 400 bad request error with description
Extracted a method for 400 error (Bad request) and adjusted code accordingly. The name of
the missing attribute is used to show which one was missing from the request. It is used to
give an appropriate message in the json response.
2013-02-13 15:48:52 +01:00
Sebastian Ziebell 54ab9bb6df API: return status code 400 if filepath of raw file blob not given 2013-02-13 14:47:59 +01:00
Dmitriy Zaporozhets fd5dc597ed Add placeholder for project import 2013-02-13 15:27:18 +02:00
Dmitriy Zaporozhets f4c8df897d Merge branch 'mikew-unicorn-app-dir-fix' 2013-02-13 15:11:37 +02:00
Dmitriy Zaporozhets 2ea12ff663 Merge branch 'unicorn-app-dir-fix' of https://github.com/mikew/gitlabhq into mikew-unicorn-app-dir-fix
Conflicts:
	config/unicorn.rb.example
2013-02-13 15:11:26 +02:00
Dmitriy Zaporozhets 95e4217a2b Merge pull request #2979 from Undev/fix_naming
Constants in Events looks good now
2013-02-13 04:33:01 -08:00
Andrew8xx8 839957cf56 Constants in Events looks good now 2013-02-13 15:48:16 +04:00
Sebastian Ziebell fd01f3aacd API: fixes a few return codes for project snippets
When using project snippets via API the functions now provide status codes for
different situations other then only returning 404 error. If required parameters are missing,
e.g. `title` when creating a project snippet a 400 (Bad request) error is returned. The snippet
delete function now is idempotent and returns a 200 (Ok) regardless if the snippet with the
given id is available or not. Changing return codes of these functions has the advantage that
the 404 error is used only for resources, which are not available.

Tests added to check these status codes when handling project snippets.
2013-02-13 12:09:16 +01:00
Sebastian Ziebell 375caeefcf Merge branch 'master' into fixes/api 2013-02-13 10:31:06 +01:00
Sebastian Ziebell ae40e855ef API: test checks a 400 code is returned if snippet title not given 2013-02-13 10:29:42 +01:00
Sebastian Ziebell 82bd0904ff API: test checks a 404 error is returned if snippet id not found 2013-02-13 10:25:13 +01:00
Dmitriy Zaporozhets b9f8b40190 Merge pull request #2971 from yuters/patch-1
Some fix for gitlab:gitlab_shell:check
2013-02-12 22:17:24 -08:00
Martin Bastien 8353bd8ee3 Forgot gitlab-shell folder 2013-02-12 12:49:11 -05:00
Martin Bastien 6b96ca47e0 Some fix for gitlab:gitlab_shell:check
Fixing issue #2970
2013-02-12 12:42:36 -05:00
Dmitriy Zaporozhets 37a5ac4271 Merge pull request #2969 from zerustech/patch-1
Update lib/tasks/sidekiq.rake
2013-02-12 09:25:53 -08:00
Dmitriy Zaporozhets 8f9c01feed Merge pull request #2946 from Asquera/fix/access_to_non_existent_branch
API: Fixes return code when accessing non existent branch (#2922)
2013-02-12 09:24:54 -08:00
Dmitriy Zaporozhets 452adb7bcc Merge branch 'hiroponz-easy-to-find-commit-on-network-graph' 2013-02-12 19:22:49 +02:00
Dmitriy Zaporozhets 622dae76cc style network graph form a bit 2013-02-12 19:22:40 +02:00
Dmitriy Zaporozhets ddea7d1689 Merge branch 'easy-to-find-commit-on-network-graph' of https://github.com/hiroponz/gitlabhq into hiroponz-easy-to-find-commit-on-network-graph 2013-02-12 19:02:05 +02:00
Dmitriy Zaporozhets d6513b5153 Merge pull request #2924 from cdawzrd/patch-2
Disable autocomplete for admin/users form
2013-02-12 08:45:07 -08:00
Sebastian Ziebell 7cc4339f71 API: changed status codes for project hooks functions
Different status codes in the API lib are returned on hook creation, update or deletion.
If a required parameter is not given (e.g. `url` in `/projects/:id/hooks/:hook_id`) status
code 400 (Bad request) is returned. On hook deletion a 200 status code is returned, regardless if
the hook is present or not. This makes the DELETE function an idempotent operation. Appropriate tests
are added to check these status codes.
2013-02-12 17:44:42 +01:00
Michael Lee 4c0c908655 Update lib/tasks/sidekiq.rake
Mac OS uses launchd instead of /etc/init.d to start daemons and tasks to be started by launchd MUST NOT daemon itself. So "nohup" here won't work for Mac OS. 

Can we add a "launchd" task to the rake file so that we can start sidekiq as "bundle exec rake sidekiq:launchd" ?
2013-02-12 23:01:55 +08:00
Dmitriy Zaporozhets 06dd530ede Merge branch 'user_delete_account' of /home/git/repositories/gitlab/gitlabhq 2013-02-12 10:53:51 +00:00
Dmitriy Zaporozhets 9f2041ad0e Merge pull request #2965 from yurifury/fix-blob-route
Gitlab incorrectly routes blobs to the compare controller depending on filename.
2013-02-12 01:50:03 -08:00
Dmitriy Zaporozhets bf908989d0 Merge branch 'Undev-fix-db-after-updating-rails' 2013-02-12 11:47:02 +02:00
Dmitriy Zaporozhets 806b76a168 rename scope to prevent name collision 2013-02-12 11:46:50 +02:00
Sebastian Ziebell 449380265a Merge branch 'master' into fixes/api 2013-02-12 10:17:57 +01:00
Dmitriy Zaporozhets 4bf63212d7 Merge branch 'fix-db-after-updating-rails' of https://github.com/Undev/gitlabhq into Undev-fix-db-after-updating-rails 2013-02-12 11:13:25 +02:00
Dmitriy Zaporozhets 644f8819af restore handling exception for project creation 2013-02-12 10:41:21 +02:00
Yuri Feldman 2d0c3e4c6d Fix for incorrect routing to the Compare controller 2013-02-12 19:28:48 +11:00
Yuri Feldman 918e2213e7 Test to show incorrect routing to Compare controller 2013-02-12 19:28:37 +11:00
Andrew8xx8 b5db541338 All scopes must be in lambdas 2013-02-12 11:16:45 +04:00
Andrew8xx8 9a22ac63ec Dynamic values must be in blocks if FG 2013-02-12 10:54:56 +04:00
Dmitriy Zaporozhets d138b3de4b Render events for team dashboard 2013-02-11 23:23:38 +02:00
Dmitriy Zaporozhets 06d9ccf484 Rails up to 3.2.12 2013-02-11 23:17:34 +02:00
Dmitriy Zaporozhets 68aa88c9bd Fix project creation without import 2013-02-11 23:13:21 +02:00
Dmitriy Zaporozhets 8bf8c70c4b Import repo feature 2013-02-11 23:00:12 +02:00
Dmitriy Zaporozhets a699ebdbcc handle attahcment with send_file 2013-02-11 21:31:19 +02:00
Dmitriy Zaporozhets ab0cfc0036 fixing tests after refactoring 2013-02-11 20:28:27 +02:00
Dmitriy Zaporozhets 2a1fac9e4f add import repo gitlab_shell call 2013-02-11 19:41:02 +02:00
Dmitriy Zaporozhets ea0cb39d63 use proper name for gitlabshell worker 2013-02-11 19:27:26 +02:00
Dmitriy Zaporozhets dd8d0a659d Fix procfile and attachment in event nore 2013-02-11 19:25:06 +02:00
Dmitriy Zaporozhets d64090b8a9 No gitolite in project any more 2013-02-11 19:16:59 +02:00
Dmitriy Zaporozhets 8e0b58d7e7 render note with attachment for event 2013-02-11 15:47:01 +02:00
Miguel Cabeça f6957f7658 Fix image url for emoji. 2013-02-11 12:22:06 +00:00
Marin Jankovski 483f720861 UPdate field name. 2013-02-11 13:12:41 +01:00
Marin Jankovski f339af858b Test the delete acount option. 2013-02-11 13:06:37 +01:00
Dmitriy Zaporozhets ab19196391 fix attachment uploader for aws 2013-02-11 10:14:32 +02:00
Dmitriy Zaporozhets 2d83e43db0 FIx gitlab:env:info 2013-02-11 10:02:52 +02:00
Dmitriy Zaporozhets 7a88bf0978 Fix gitlab:check 2013-02-11 09:58:02 +02:00
Dmitriy Zaporozhets fcfb6d8438 Since gitlab-shell no sense to check hooks 2013-02-11 09:15:42 +02:00
Sebastian Ziebell 2bd955961c Changed function to `not_found`.
Instead of using funtion `error!` the function `not_found!` is used to return 404 error. Adjusted documentation accordingly.
2013-02-09 21:01:17 +01:00
Dmitriy Zaporozhets a404c43805 removing outdated checks 2013-02-09 15:34:04 +02:00
Dmitriy Zaporozhets 38737079b6 ignore docs by git 2013-02-09 15:26:47 +02:00
Dmitriy Zaporozhets 2f019b2b4c cleanup rake tasks since no gitolite required 2013-02-09 15:21:19 +02:00
Dmitriy Zaporozhets ff76e05271 show project head for empty project 2013-02-09 15:16:33 +02:00
Dmitriy Zaporozhets 38985390b0 Refactored and fixed seeds to work with gitlab-shell 2013-02-09 15:13:56 +02:00
Dmitriy Zaporozhets 152f87864c remove useless warning 2013-02-09 12:32:24 +02:00
Dmitriy Zaporozhets 433f2dbcef task to build missing projects with gitlab-shell 2013-02-09 12:30:49 +02:00
Sebastian Ziebell 56b3223945 Fixes test that checks status code of hook creation 2013-02-08 18:19:59 +01:00
Sebastian Ziebell 40e7846f3e Status code 404 returned when retrieving non existent branch (issue #2922)
Accessing a repository branch that does not exist returns a 404 error instead
of 200 now. Added a test.
2013-02-08 17:04:08 +01:00
Sebastian Ziebell 9544f90389 Adding a project hook returns status code 400 if url is not given
When adding a project hook a url must be specified or a 400 error code is returned

* Specs added to check status code on handling project hooks
* refactored code, extracted a method
2013-02-08 16:48:05 +01:00
Sebastian Ziebell 818caf0b5d API: refined status code handling when adding or updating a project member
When a user is added to a project that is already a member of, a status code 201 is now returned to
signal an idempotent operation. If something fails then instead of returning error code 404 different
more specific error codes are returned. Status code 400 (Bad request) is returned when a required
attribute, e.g. `access_level` is not given or 422 if there is a semantic error, e.g. should
the `access_level` have an unsupported value.

Specs are added to check these status codes.
2013-02-08 14:33:29 +01:00
Sebastian Ziebell 8045a81bcf Merge branch 'master' into fixes/api 2013-02-08 10:32:42 +01:00
Dmitriy Zaporozhets 2f0a75ab77 GitLab meta to 5.0 2013-02-08 08:55:39 +02:00
Dmitriy Zaporozhets 4b58030207 Merge pull request #2936 from jameswritescode/fix_installation_doc_typo
fix the gitlab-shell clone url in master installation doc
2013-02-07 22:41:19 -08:00
James Newton d4c24b990f fix the gitlab-shell clone url 2013-02-07 11:53:37 -06:00
Dmitriy Zaporozhets 66121d6caa Improve devise views 2013-02-07 13:20:33 +02:00
Dmitriy Zaporozhets 210e9cd489 It should be 5.0.0pre 2013-02-07 13:05:30 +02:00
Dmitriy Zaporozhets 4e1757bfda Merge branch 'gitlab-shell' of dev.gitlabhq.com:gitlab/gitlabhq 2013-02-07 08:26:39 +00:00
Dmitriy Zaporozhets d09d87e3b0 fix deploy key spec 2013-02-07 10:25:47 +02:00
Dmitriy Zaporozhets cdcf69d0d9 gitlab;shell init script 2013-02-07 10:06:39 +02:00
Dmitriy Zaporozhets 8ae1d812dc deploy keys support for gitlab-shell api 2013-02-07 09:56:13 +02:00
Dmitriy Zaporozhets 48628d31d5 dont allow duplicates in ssh keys 2013-02-07 09:42:22 +02:00
Sebastian Ziebell 5d8a99f104 Test to check a user must be part of the team to see project.
A user must be part of the team to see a protected project. A test is given
to check that a 404 error is returned if the user can not see the project.
2013-02-06 17:11:01 +01:00
Sebastian Ziebell a534c9b72d A few fixes in documentation to notes, updates infos on status codes
A few fixes in the notes URI pattern (`notes` instead of `:notes`), also updated
the information to status codes. If `body` attribute is missing from a POST request
a status code 400 (Bad request) is returned. This reflects the code changes from
the previous commit.
2013-02-06 17:11:00 +01:00
Sebastian Ziebell bb24275f8d Status code 400 is returned if body is missing on note creation.
If a note is created with a POST request via API (`/projects/:id/notes`) status
code 400 is returned instead of 404. The resource itself exists but the request
is incomplete. Specs added to check different status codes when accessing, creating
and updating notes.
2013-02-06 17:11:00 +01:00
Sebastian Ziebell b9d40d2524 Tests added to check status codes when handling milestone via API
A few more tests added to check status code when creating or updating milestones.
2013-02-06 17:11:00 +01:00
Sebastian Ziebell 5be0265fe7 Status code 400 returned if title not given in a milestone (via API)
If a milestone is created via API but no title given then status code 400 (Bad request)
is returned instead of 404. A small helper method handles the errors collection of a
milestone.
2013-02-06 17:10:29 +01:00
Sebastian Ziebell 41e93bbfe2 Test added to check creation of note to a non-existent MR via API 2013-02-06 17:05:55 +01:00
Sebastian Ziebell f978a71f41 Creating MR comment without a note returns status code 400 (Bad request)
Creating a comment to an existing merge request via API without providing a note
returns a status code 400 now, suggesting a bad request. The reason for this
is the resource itself (MR) exists but the required property is not set.
2013-02-06 17:02:30 +01:00
Sebastian Ziebell 3f4e215c80 Extracted helper method to avoid code duplication 2013-02-06 17:02:30 +01:00
Sebastian Ziebell 413952ff94 Creating or updating a MR returns more informative status codes.
Using the API library to create or update a merge request at the moment a 404 error is returned.
This is fine when the merge request in question does not exist, but does not provide good
information that for example a required attribute is missing.
A status code of 400 (Bad request) is returned when creating or updating a merge request
when either `source_branch` or `target_branch` is missing. A status code of 409 is returned
when `source_branch` and `target_branch` are the same. Tests are added for these cases.
2013-02-06 16:57:00 +01:00
Jon Evans 6474797d1c Update app/views/admin/users/_form.html.haml 2013-02-06 09:27:09 -05:00
Jon Evans c9777518e3 Ruby 1.9 hash syntax 2013-02-06 09:26:46 -05:00
Jon Evans 4ce3ef41de Disable autocomplete for admin/users form
Fixes #2796
2013-02-06 08:50:35 -05:00
Marin Jankovski 1b4ba3eb99 Add user delete option. 2013-02-06 12:44:09 +01:00
Dmitriy Zaporozhets 4bfb98ddc9 Merge pull request #2877 from former03/feature_groups_api
Add groups api
2013-02-06 03:19:29 -08:00
Dmitriy Zaporozhets 18fc090052 remove hooks and support scripts from main repo. Moved to gitlab-shell 2013-02-05 15:59:40 +02:00
Dmitriy Zaporozhets bd3288e320 api check call 2013-02-05 15:55:49 +02:00
Dmitriy Zaporozhets 0a20f7e75e Merge pull request #2906 from redorkulated/patch-4
Update step 5 "database" (Issue #2894)
2013-02-05 04:10:28 -08:00
Dmitriy Zaporozhets 478570dc32 fix move repository 2013-02-05 13:43:25 +02:00
Dmitriy Zaporozhets adfd36f26a no need to run gitolite for enable_automerge 2013-02-05 13:30:56 +02:00
Dmitriy Zaporozhets 867945d193 Improving installation docs 2013-02-05 13:02:58 +02:00
Sato Hiroyuki 9dccecc9b5 Sort the commits on network graph by commiter date.
Author date is not updated, if the commits is rebased.
So the network graph having many rebased commit turns round and round,
that it is very difficult to undarstand history.
2013-02-05 19:58:49 +09:00
Dmitriy Zaporozhets 70e3bffd95 Fixed: post-receive, project remove, tests 2013-02-05 12:47:50 +02:00
Sato Hiroyuki df85c9c06a Fix bug when it has been switched to tag. 2013-02-05 19:08:25 +09:00
Sato Hiroyuki 8ff5cf9cd5 Add search box for the commit. 2013-02-05 19:08:09 +09:00
Dmitriy Zaporozhets 39e37677f2 add remove keys from gitlab-shell by id 2013-02-05 11:12:15 +02:00
Dmitriy Zaporozhets 081c272b85 Remove outdated specs and fixed key remove 2013-02-05 10:15:49 +02:00
Dmitriy Zaporozhets 12198bee2f update structure 2013-02-05 09:17:45 +02:00
Dmitriy Zaporozhets f385c7212e remove unexisting stubs 2013-02-05 09:14:35 +02:00
Dmitriy Zaporozhets 0d5a098c19 updated 2013-02-05 09:01:29 +02:00
Sato Hiroyuki 81cc1cb87b Enable to display the commit older than 650th commit. 2013-02-05 12:42:30 +09:00
Sato Hiroyuki 1e907498a9 The commit is marked and displayed in the center. 2013-02-05 12:34:35 +09:00
Sato Hiroyuki 7812cb77c8 Fix typo. 2013-02-05 12:20:04 +09:00
Dmitriy Zaporozhets c75fc9c7a6 remove gitolite stub 2013-02-04 18:18:36 +02:00
Dmitriy Zaporozhets 935b6ae653 Internal API 2013-02-04 17:53:43 +02:00
Dmitriy Zaporozhets 6f7ccea668 Fix satellites to use filesystem. Correct post-receive user finder 2013-02-04 16:19:37 +02:00
Dmitriy Zaporozhets 896c3a0a9d remove update_repository calls 2013-02-04 15:24:16 +02:00
Dmitriy Zaporozhets 5c6492662e update installation docs 2013-02-04 15:18:20 +02:00
Dmitriy Zaporozhets 27d9ac0fe8 Make gitlab works with gitlab-shell 2013-02-04 15:07:56 +02:00
Dmitriy Zaporozhets 6b9a609044 preparing for gitlab-shell 2013-02-04 14:28:10 +02:00
Michael d223cddc78 Update step 5 "database" (Issue #2894)
Made it a bit clearer what step 5 is for to stop people skipping it. This time with a relative link.
2013-02-04 11:36:05 +00:00
Christian Simon 33c48ecd35 Code deduplication using inheritance for GroupDetail 2013-02-03 19:38:33 +01:00
Cameron Yule e0d62d9c5f Replacing the manual parsing of the /etc/group file with the equivalent call from the Etc class in the Ruby standard library. This has the benefit of supporting additional platforms (e.g. OS X). 2013-02-02 20:04:07 +00:00
KennyTM~ e565be241f Show only ≤16 lines of code in a discussion (fix issue #2860). 2013-02-03 03:33:42 +08:00
Dmitriy Zaporozhets 85de55a120 Dont allow gitlab be loaded in iframe 2013-02-02 20:32:13 +02:00
Riyad Preukschas fac503877d Port changes from #2803 2013-02-01 21:22:40 +01:00
Riyad Preukschas 42dd006dfc Small fixes to the installation guide and check task 2013-02-01 21:06:44 +01:00
Riyad Preukschas 003c312104 Merge pull request #2440 from klamontagne/master
Don't setuid the repositories on installation
2013-02-01 20:56:03 +01:00
Christian Simon 6dba727cb2 Add test for duplicate group paths 2013-02-01 18:58:53 +01:00
Dmitriy Zaporozhets 0965aeb2ea Fix crash on team update 2013-02-01 19:07:54 +02:00
Dmitriy Zaporozhets e6002bdaff Ability to manage and remove group as owner outside of admin area 2013-02-01 19:04:11 +02:00
Dmitriy Zaporozhets 591e094e06 Add a delay for sending emails 2013-02-01 17:04:41 +02:00
Felix Gilcher 566de5ab06 update api documentation for delete team member
correctly describes the new behavior
2013-02-01 14:20:51 +00:00
Christian Simon 149ccd5d91 Fix groups api: differ between users and admin 2013-02-01 15:00:12 +01:00
Christian Simon fc0c692870 Add docs/tests for groups api 2013-02-01 14:59:22 +01:00
Felix Gilcher ce6436b98a Don't crash when removing a user that's not project member
The attempt to revoke project access for a user that was not member of the
project results in a 500 Internal Server error where it actually should
result in a 200 OK since after the operation, the user is not member of
the project. This turns the operation into an idempotent call that can
be repeated with no ill effects.

Updated the spec and changed the code accordingly. However, the result differs
slightly, as we can't return the users project access level if the user was not
member. I'm not aware if anybody relies on the result of this call.

Fixes #2832
2013-02-01 13:53:35 +00:00
Dmitriy Zaporozhets d53befb0d1 Fix mailer tests 2013-02-01 15:37:21 +02:00
Christian Simon 8edc6b6a8c Add api for creating/listing/viewing groups 2013-02-01 12:11:19 +01:00
Felix Gilcher c72910a8bf log fatal errors that we catch
In case we rescue from a fatal error, we want the error and the backtrace to
the error logged, so we can debug later on. This change injects the configured
logger from the rails app to the grape API and logs error as well as backtrace
in a rails-like fashion.
2013-02-01 10:23:23 +00:00
Dmitriy Zaporozhets 61833bcb74 fix app crash if author is missing 2013-02-01 09:33:12 +02:00
Dmitriy Zaporozhets cc2484c3e6 Fix sending commit note email to id instead email 2013-02-01 08:59:30 +02:00
Mike Wyatt 5e28710692 remove hardcoded app_dir from unicorn.rb.example 2013-01-31 18:33:11 -03:30
Mike Wyatt 7225c06934 default gitlab.relative_url_root to ENV['RAILS_RELATIVE_URL_ROOT'] 2013-01-31 18:28:03 -03:30
Dmitriy Zaporozhets 5857a7a9ce Merge pull request #2839 from m4tthumphrey/protected-branches-api
Added methods to protect and unprotect branches in from the API
2013-01-31 10:44:20 -08:00
Dmitriy Zaporozhets dfe2a742c2 fix notes specs 2013-01-31 13:13:17 +02:00
Dmitriy Zaporozhets fd1b9fdc12 Merge branch 'extend_user_api' of https://github.com/bladealslayer/gitlabhq into bladealslayer-extend_user_api
Conflicts:
	spec/requests/api/users_spec.rb
2013-01-31 13:00:50 +02:00
Dmitriy Zaporozhets afdb09de80 Merge pull request #2711 from fbehrens/patch-1
Update config/database.yml.postgresql
2013-01-31 02:54:48 -08:00
Dmitriy Zaporozhets 56000aea22 Merge pull request #2855 from hiroponz/fix-bug-of-network-graph
Fix bug of network graph(#2847) and trivial code clean up.
2013-01-31 02:33:59 -08:00
Dmitriy Zaporozhets 2af323bbd1 fix active tabs tests 2013-01-31 12:08:56 +02:00
Matt Humphrey 2c7554e897 Added methods to protect and unprotect branches 2013-01-31 09:26:03 +00:00
Dmitriy Zaporozhets 130f60d55b a bit of restyling. Replace some images with icons. Simplify note form 2013-01-31 11:22:06 +02:00
Sato Hiroyuki 4133221200 Fix bug of network graph(#2847) and trivial code clean up. 2013-01-31 17:48:51 +09:00
Dmitriy Zaporozhets 315fd7d746 fix routing specs 2013-01-31 10:08:20 +02:00
Dmitriy Zaporozhets 193a5624b2 add path and path_with_namespace to api project entity 2013-01-31 09:11:35 +02:00
Dmitriy Zaporozhets 563c55eb7e fix pagination issue 2013-01-31 08:55:31 +02:00
Dmitriy Zaporozhets bcc0eed3e4 missing doc for api 2013-01-31 08:46:59 +02:00
Dmitriy Zaporozhets 9da7b2e8d8 add specs for api -> merge request notes 2013-01-31 08:42:11 +02:00
Dmitriy Zaporozhets a037c9c249 Merge pull request #2842 from inome/ExposeMergeRequestAsNotable
Expose MergeRequest object as a notable in the API to allow for easy ret...
2013-01-30 22:25:02 -08:00
Dmitriy Zaporozhets 6dff742b66 Merge pull request #2852 from hiroponz/displaying-commit-on-new-window
Displaying commit on a new window, when clicking commit on network graph.
2013-01-30 22:23:33 -08:00
Dmitriy Zaporozhets d46cb3fd1c Merge pull request #2847 from hiroponz/improve-overlap-lines
Improve overlap of lines in network graph
2013-01-30 22:22:37 -08:00
Dmitriy Zaporozhets 8c50707dd4 Merge pull request #2823 from hiroponz/switchable-branch-on-network-graph
Switchable the main branch on network graph
2013-01-30 22:21:19 -08:00
Sato Hiroyuki ad33c39800 Fix wrong path of features. 2013-01-31 13:22:08 +09:00
Sato Hiroyuki f8a2db5341 Displaying commit on a new window, when clicking commit on network graph. 2013-01-31 10:43:57 +09:00
Dmitriy Zaporozhets 1fdeb9e030 Merge branch 'refactor/css' of dev.gitlabhq.com:gitlab/gitlabhq 2013-01-30 17:28:48 +00:00
Dmitriy Zaporozhets bfd00caff3 Few usability improvments 2013-01-30 17:13:05 +02:00
Dmitriy Zaporozhets 560985b0f6 Fixed link_to_member 2013-01-30 17:07:44 +02:00
Dmitriy Zaporozhets b096ee3275 a bit of split up for gitlab-bootstrap 2013-01-30 17:01:58 +02:00
Dmitriy Zaporozhets b742f47e89 remove old alert messages 2013-01-30 16:53:18 +02:00
Sato Hiroyuki 59b6de93ce Improve overlap of lines in network graph 2013-01-30 23:48:00 +09:00
Dmitriy Zaporozhets e2fb18a3ec replace right with pull-right 2013-01-30 16:40:43 +02:00
Dmitriy Zaporozhets 7d593c5446 Merge pull request #2837 from xudiera/master
Fixed a grammar mistake in alert-message.block-message
2013-01-30 06:32:02 -08:00
Micah Huff 1694dc8fe2 Expose MergeRequest object as a notable in the API to allow for easy retrieval of comments 2013-01-29 21:15:13 -08:00
Sato Hiroyuki 525a8cd3e9 Switchable the main branch on network graph 2013-01-30 09:12:03 +09:00
Dmitriy Zaporozhets 7ba4f2dcfa few styling for buttons 2013-01-29 22:57:15 +02:00
Dmitriy Zaporozhets fb617c61b9 refactor buttons pt2 2013-01-29 22:29:21 +02:00
Dmitriy Zaporozhets 033aa1a885 refactor buttons pt1 2013-01-29 22:18:19 +02:00
Carlos Xudiera cdd5543173 Fixed a grammar mistake in alert-message.block-message 2013-01-29 12:58:34 -05:00
Felix Gilcher 2a669fc899 rescue all errors and return the proper format
This rescues all errors and returns a proper JSON response. Fixes #2833.
2013-01-29 18:20:59 +01:00
Dmitriy Zaporozhets 9fdbdc662a set link to gitlab-ci 2013-01-29 14:49:10 +02:00
Dmitriy Zaporozhets c84675ee06 satellites logs 2013-01-29 12:12:24 +02:00
Dmitriy Zaporozhets 7121a58eb9 Advanced logging for post-receive worker 2013-01-29 11:32:05 +02:00
Dmitriy Zaporozhets f72dc7f779 dont escape images inside links for gfm. Fixes #2701 2013-01-29 11:00:56 +02:00
Felix Gilcher e76215a395 Update docs to reflect that project names are allowed as ID
The API accepts project names in all places where project IDs are expected. Updated the docs to
reflect that.
2013-01-28 23:51:45 +01:00
Dmitriy Zaporozhets 1c931fb814 fix key observer tests 2013-01-28 23:03:38 +02:00
Dmitriy Zaporozhets 299a9a1040 keys to gitolite via sidekiq now 2013-01-28 21:02:10 +02:00
Dmitriy Zaporozhets 944b2450b1 Merge pull request #2801 from Takuto88/master
Fix #2790
2013-01-28 10:33:59 -08:00
Dmitriy Zaporozhets df6db81e2a Merge branch 'features/async_gitolite' of dev.gitlabhq.com:gitlab/gitlabhq 2013-01-28 15:54:31 +00:00
Dmitriy Zaporozhets f7ade3b682 fix tests 2013-01-28 17:53:01 +02:00
Felix Gilcher a90d5c21b5 describe the project access level
the documentation mentions access_level as required parameter, but fails to list
accepted values.
2013-01-28 16:46:58 +01:00
Dmitriy Zaporozhets 9ad5fbb416 user factory username over sequence 2013-01-28 17:46:24 +02:00
Dmitriy Zaporozhets 8b54b7233e Async perform for add/remove team members 2013-01-28 17:39:02 +02:00
Dmitriy Zaporozhets 1c5876eb7b Do gitolite calls async. Remove satellite with project remove 2013-01-28 17:22:45 +02:00
Felix Gilcher 2ddaf00387 Added documentation for passing the token as header
The documentation was unclear about how to pass the api private token as
header. Updated the doc to include the nessesary information bits and
added an example using the curl command line client.
2013-01-28 14:49:27 +01:00
Lennart Rosam f9a48f72d4 Fix issue #2790 2013-01-28 13:52:30 +01:00
Riyad Preukschas b4f16faafd Merge pull request #2798 from Xylakant/patch-2
remove incorrect information about the api version
2013-01-28 04:47:00 -08:00
Lennart Rosam 66ebf8d83f Merge remote-tracking branch 'github/master' 2013-01-28 13:04:23 +01:00
Lennart Rosam dc13af90b1 Fix rake task - Update method name 2013-01-28 12:54:07 +01:00
Felix Gilcher 3c47e6248a remove incorrect information about the api version
The API version is currently not equal to the gitlab major version number. Gitlab 4.1 
still uses API version 3. Point to the lib/api.rb file instead which contains the
autoritative information.
2013-01-28 10:59:39 +01:00
Dmitriy Zaporozhets bd94854929 fix tests 2013-01-28 08:59:34 +02:00
Dmitriy Zaporozhets e0b5e26035 Merge pull request #2153 from koenpunt/commit-diff-views
Added swipe view for image diff
2013-01-27 11:41:23 -08:00
Koen Punt e33debc214 Updated commit diff view with some minor visual modifications
Prepared diff view for multiple view modes

Converted commits.js to coffeescript
image info in separate coffeescript file

Added swipe view mode

Added onion skin viewMode
2013-01-27 18:27:32 +01:00
Dmitriy Zaporozhets 558369731f Add deploy.html for symlink if maintaince 2013-01-27 19:09:40 +02:00
Dmitriy Zaporozhets 552e42f634 Merge pull request #2768 from rlaneve/feature/queued-web-hooks
Updates web hooks to process via queue
2013-01-27 08:52:37 -08:00
Dmitriy Zaporozhets ce0ec05c63 Pager.js to coffee 2013-01-27 18:47:19 +02:00
Dmitriy Zaporozhets e3c3c67b25 Merge pull request #2787 from gitlabhq/features/projects_page
Feature: Projects page
2013-01-27 05:55:22 -08:00
Dmitriy Zaporozhets d24fd32aa5 feature tests 2013-01-27 15:41:35 +02:00
Dmitriy Zaporozhets cd47e625f0 Fix features 2013-01-27 14:10:42 +02:00
Dmitriy Zaporozhets 7175b6a769 Fixed dashboard show specs 2013-01-27 13:20:23 +02:00
Dmitriy Zaporozhets 070f49fdc5 Make group name a link at header 2013-01-27 13:12:30 +02:00
Dmitriy Zaporozhets 6b01196fb2 Dashboard to resource 2013-01-27 12:56:20 +02:00
Dmitriy Zaporozhets bd3b677b86 Add projects page to dashboard. Remove projects pagination on dashboard 2013-01-27 12:34:27 +02:00
Riyad Preukschas 596442f71f Merge pull request #2784 from AlexDenisov/gitlab_check_environment
Missing environment added to 'Try fixing it' block
2013-01-26 11:51:17 -08:00
Alex Denisov 6ab6c55de5 Missed environment added to 'Try fixing it' block 2013-01-26 14:22:48 +00:00
Dmitriy Zaporozhets b68bba441e Fix projects in admin -> user -> show 2013-01-26 12:15:38 +02:00
Dmitriy Zaporozhets 0125b74b3c Fix application crashes after #2772 2013-01-26 12:08:34 +02:00
Dmitriy Zaporozhets 71e89df5e0 Merge pull request #2772 from zzet/bugfix/path_and_page-project-member-access-#2745
fix edit project members access link and page fixes refs #2745
2013-01-25 13:45:08 -08:00
Dmitriy Zaporozhets 439229efa3 Merge pull request #2777 from zzet/add_project_button
Add assign project to team button on team page
2013-01-25 13:42:52 -08:00
Andrey Kumanyaev 890e774ddc Display actual user role (admin or not) in team members list 2013-01-26 01:14:36 +04:00
Andrey Kumanyaev b280c2f361 Edit create new team text 2013-01-26 00:38:21 +04:00
Andrey Kumanyaev 45917935ef fix copied code. Add assign projects button. 2013-01-26 00:37:55 +04:00
Andrey Kumanyaev 75a02e090a simple cleanup code %) 2013-01-25 23:19:31 +04:00
Andrey Kumanyaev c5cbbea82e rewrite admin users controller (use 1 variable and find by username) 2013-01-25 22:38:24 +04:00
Andrey Kumanyaev ef85202f71 fix links in admin group view page (user links) 2013-01-25 22:37:38 +04:00
Andrey Kumanyaev 916165dfc4 username is default param to User 2013-01-25 22:35:58 +04:00
Andrey Kumanyaev df64bdffdf Update user finding (by username) in teams members (team of users) controller 2013-01-25 22:35:31 +04:00
Andrey Kumanyaev e1679d20c7 Update user finding (by username) in teams_members (project team) controller 2013-01-25 22:34:49 +04:00
Andrey Kumanyaev f225ff8674 Update user finding (by username) in admin teams members controller 2013-01-25 22:33:49 +04:00
Andrey Kumanyaev 6efda51cc5 fix edit project members access link and page fixes refs #2745 2013-01-25 21:20:15 +04:00
Dmitriy Zaporozhets 5ee8c132a5 Merge pull request #2769 from hiroponz/fix-not-showing-tooltip
Fix not showing tooltip on network graph
2013-01-25 08:24:22 -08:00
Sato Hiroyuki 561a0e3a4a Fix not showing tooltip on network graph 2013-01-26 01:05:17 +09:00
Ryan LaNeve 8a65229b35 Updates project to process web hooks async via sidekiq.
A new queue of "project_web_hook" is used to process web hooks asynchronously, allowing each to succeed/fail (and be retried) independently.

(Basically, project web hooks now process the same as system hooks.)
2013-01-25 10:42:57 -05:00
Dmitriy Zaporozhets 639b0a8715 refactor add to team 2013-01-25 17:26:00 +02:00
Dmitriy Zaporozhets 5f3df89c64 Fix teams + gitolite access 2013-01-25 17:18:27 +02:00
Dmitriy Zaporozhets 74e329064a teams refactoring and cleanup pt.1 2013-01-25 16:36:14 +02:00
Dmitriy Zaporozhets 1c88fbb391 show new group, new team links in profile 2013-01-25 16:25:43 +02:00
Dmitriy Zaporozhets 6743ecec59 Fix redirects. Add link to new team and new group 2013-01-25 16:18:37 +02:00
Dmitriy Zaporozhets 6350b32a3d Fix security issues with teams 2013-01-25 15:51:45 +02:00
Dmitriy Zaporozhets 3ddd9f753c Fix mass-assignment. Dont allow users w/o access to create team 2013-01-25 15:42:41 +02:00
Dmitriy Zaporozhets 70e05801b1 fix User.potential_team_members 2013-01-25 15:36:10 +02:00
Dmitriy Zaporozhets 8016a7bd33 fix 1145 2013-01-25 14:18:23 +02:00
Dmitriy Zaporozhets 5aca1d64e0 Fix project adding to team 2013-01-25 13:56:04 +02:00
Dmitriy Zaporozhets 2812e6f1f5 Fix removeing project if repo not exists 2013-01-25 13:47:54 +02:00
Dmitriy Zaporozhets 20a4742efd Fixing team tests 2013-01-25 11:36:15 +02:00
Dmitriy Zaporozhets 00e4a479d3 allow/deny user to create group/team 2013-01-25 11:30:49 +02:00
Dmitriy Zaporozhets 585a53c415 can_create_group, can_create_team boolean fields for user 2013-01-25 11:08:22 +02:00
Dmitriy Zaporozhets aa1f1eb680 Merge pull request #2746 from gitlabhq/features/teams
New feature: Teams
2013-01-25 00:46:20 -08:00
Dmitriy Zaporozhets 097e6053ef Fix for broken commit_url in graph 2013-01-25 10:16:20 +02:00
Dmitriy Zaporozhets 3ce79e0658 fix spec 2013-01-25 10:10:12 +02:00
Dmitriy Zaporozhets ac8247b46d Improved search. added filters 2013-01-25 10:07:21 +02:00
Andrey Kumanyaev d839f6c525 Remove simple code duplication in members controllers 2013-01-24 22:31:49 +02:00
Andrey Kumanyaev e52fec9cd9 Update check If user can assign project to team 2013-01-24 22:31:49 +02:00
Andrey Kumanyaev 6d713e84e1 remove unused code 2013-01-24 22:31:49 +02:00
Dmitriy Zaporozhets 7403afea97 Reject non-owned projects to assign to teams 2013-01-24 22:31:49 +02:00
Dmitriy Zaporozhets b4967b3703 Dont allow to select a project you have no right to assign 2013-01-24 22:31:49 +02:00
Dmitriy Zaporozhets 11b7b93cf7 move team navs to upper nav 2013-01-24 22:31:49 +02:00
Dmitriy Zaporozhets b5dd9e6775 Make a team and group boxes smaller on dashboard 2013-01-24 22:31:49 +02:00
Dmitriy Zaporozhets ca752e64fb Fix mispelling and ambiguous id in UserTeam.without_project 2013-01-24 22:31:49 +02:00
Dmitriy Zaporozhets ca105d0462 Show only teams we have access to 2013-01-24 22:31:49 +02:00
Dmitriy Zaporozhets 645f960475 Few UI improvements 2013-01-24 22:31:49 +02:00
Andrey Kumanyaev 1a917bc954 fix scope to empty relation 2013-01-24 22:31:49 +02:00
Andrey Kumanyaev 2befa8fe30 Switch user link to profile link 2013-01-24 22:31:49 +02:00
Andrey Kumanyaev b695db4af4 Remove save files with failed test %) 2013-01-24 22:31:49 +02:00
Andrey Kumanyaev 9a604eb679 Remove pending steps (no functional - no tests) 2013-01-24 22:31:48 +02:00
Andrey Kumanyaev 690db9693f fix tests 2013-01-24 22:31:48 +02:00
Andrey Kumanyaev eb99feb4a7 simple refactoring 2013-01-24 22:31:48 +02:00
Andrey Kumanyaev a5ce8696a6 remove unused autogenerated files 2013-01-24 22:31:48 +02:00
Andrey Kumanyaev d721863382 Fix little bugs 2013-01-24 22:31:48 +02:00
Andrey Kumanyaev 31d84d71d3 assign team to project from project page in public section 2013-01-24 22:31:48 +02:00
Andrey Kumanyaev 18bd1c9d30 update all teams code. refactoring and some corrections 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev 7658f8c151 update routes 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev 7534154b44 Add access control in public section to users teams 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev dcea52203d remove before_filter from controllers 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev f87b76a805 refactoring user team in public section 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev f6f414ce3b refactoring project team members controller (corresponding mental model) 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev ccf8fa4fa2 if project creator was remowed from Gitlab - creator is next admin, who edit this project 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev 4ce715a360 Fix using context of Projects::UpdateContext (in admin section error, in public section - to next step if moving controlers) 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev 1dd0feacc7 move Team_members controller into project (conflicts with team/members controller) 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev 497f7ab5ba save autogenerated files 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev b8dadd6427 repair rspec (remove and rename files) 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev 13fb3fdcf2 Repair admin section tests 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev 17a8ee57fe Remove old data 2013-01-24 22:31:25 +02:00
Andrey Kumanyaev a7667ffc14 Repair members management of teams 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev b7470440ff Move team project management to own controller 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev cca9935970 save generated files 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 9804b7df68 Move admin team members management to own controller 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 9d318db48f Added the correct hierarchy of controllers for the administrative part 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 2984716870 Admin rename team page is fixed 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 845f146518 fix simples errors in tests 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 6d1c566ec9 Rename Team class to ProjectTeam 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev c5f427b0a4 save commit 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev a987f1469e commit user team helper 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 17e9207dff add user team factories 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 3a0d4865f6 update projects show css selector 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev b6458ae3b3 add into user decorator (presenter) to full user name 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev c098ac6430 update stylesheets (for teams block) 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev b9a7bcb6a4 add teams application controller 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 3c6e144608 add dashboard teams block 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev a96cf3ad09 Team projects public section 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev ea6f46cb87 Team members public section 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 360aa1b407 Team core management 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 911f6eb106 merge into public 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 7d3efec7d1 Add ability to teams 2013-01-24 22:31:24 +02:00
Andrey Kumanyaev 695becc4cb Add teams into Public sections 2013-01-24 22:31:23 +02:00
Andrey Kumanyaev 82499a4cbf Admin teams section added 2013-01-24 22:31:23 +02:00
Andrey Kumanyaev 8a86fe7bb0 Added UserTeam core models (team and m-t-m relationships) and updated other models 2013-01-24 22:31:23 +02:00
Dmitriy Zaporozhets f6c482c06f User can create group 2013-01-24 17:47:09 +02:00
Dmitriy Zaporozhets d9027df5b5 Merge pull request #2706 from jfut/gh-issue-2602
Remove relative_url_root from path. Fixes #2602
2013-01-23 10:14:28 -08:00
Dmitriy Zaporozhets aa99660fe1 Merge pull request #2709 from hiroponz/improve-network-graph-2
Improve network graph
2013-01-23 10:13:40 -08:00
Dmitriy Zaporozhets 62cb514070 Merge pull request #2712 from aus/patch-1
Revise projects/new text
2013-01-23 10:12:28 -08:00
Dmitriy Zaporozhets 50fb4d6a2c Merge pull request #2715 from cjwprostar/help-fix
Update Markdown example to use username
2013-01-23 10:11:29 -08:00
Chris Waguespack 8ec36ca056 Update Markdown example to use username
Update the Markdown example in the Help pages to use username instead of user.
2013-01-23 09:58:38 -06:00
Austin Robertson d3c34ef8af Revise projects/new text
The previous text implied projects can only be private. Projects can now be private or public.
2013-01-23 08:47:19 -06:00
fbehrens b614e3b5cb Update config/database.yml.postgresql
This was necessary following the installation guide for ubuntu 10.4 with postgres
2013-01-23 15:32:31 +01:00
Sato Hiroyuki 70687cd581 Improve network graph 2013-01-23 21:39:29 +09:00
Jun Futagawa 79b9249ff4 Remove relative_url_root from path. Fixes #2602
Files and Commits render a 404 when running with relative_url_root.
2013-01-23 17:29:46 +09:00
Dmitriy Zaporozhets 65737bd5bd Merge pull request #2695 from earzur/hotfix/fix_import_refactoring
[import] - fix project import after refactoring
2013-01-22 22:38:59 -08:00
Erwan Arzur 621ca86b9e [import] - fix project import after refactoring 2013-01-22 19:07:11 +01:00
Dmitriy Zaporozhets efe2f5f8c7 Merge branch 'features/profile_page' 2013-01-22 19:55:01 +02:00
Dmitriy Zaporozhets 0ed7f32db3 changelog 2013-01-22 19:54:45 +02:00
Dmitriy Zaporozhets 96d97c4857 Fix routing. Finalize user show page 2013-01-22 19:45:13 +02:00
Dmitriy Zaporozhets 70690e1971 base implementation 2013-01-22 19:05:01 +02:00
Dmitriy Zaporozhets e0fb0703c4 Merge branch 'features/help_with_index' 2013-01-22 17:58:40 +02:00
Dmitriy Zaporozhets 2be107d0d9 Help with index 2013-01-22 17:58:09 +02:00
Valeriy Sizov e982a9512e fix tests 2013-01-22 17:25:35 +02:00
Valeriy Sizov 745c0dfa57 remove length of issue content
according to #2677
2013-01-22 17:15:22 +02:00
Valeriy Sizov 69ec189ad2 remove length of snippet content 2013-01-22 17:10:00 +02:00
Riyad Preukschas f70f7d0709 Merge pull request #2684 from rk4an/patch-1
Fix typo in gitlab.yml.example
2013-01-22 04:36:18 -08:00
Erkan 0ab906d5de Update config/gitlab.yml.example 2013-01-22 10:04:02 +01:00
Dmitriy Zaporozhets d770714578 Use subproccess instead subshell for git calls 2013-01-22 10:35:58 +02:00
Dmitriy Zaporozhets 68fa988219 done with 4.1. Version to 4.2.0pre :) 2013-01-21 16:36:55 +02:00
Dmitriy Zaporozhets ee43e9248c Add warning if user own projet but not in team. Also show loading when merge MR 2013-01-21 15:05:18 +02:00
Dmitriy Zaporozhets d1e63c7df2 Reporter cant create MR. Show user authorized projects in Admin area 2013-01-21 14:16:48 +02:00
Dmitriy Zaporozhets 96ba1708ac Merge pull request #2673 from AlexDenisov/submodule_rendering_bug
Render submodule bugfix
2013-01-21 02:23:23 -08:00
Alex Denisov e78e067204 Render empty string instead of nil 2013-01-21 09:48:25 +00:00
Dmitriy Zaporozhets 820e84662f gitlab 4.1rc 2013-01-21 09:06:25 +02:00
Dmitriy Zaporozhets cd8a302997 Fix application crash on help page 2013-01-20 14:17:56 +02:00
Riyad Preukschas d9270337c1 Update text on help#public_access page 2013-01-19 15:27:03 +01:00
Riyad Preukschas 607a38dd00 Fix public/projects#index page 2013-01-19 15:27:00 +01:00
Riyad Preukschas 47e510e14f Small fixes 2013-01-19 15:26:55 +01:00
Riyad Preukschas 75447fb044 Redo help#help_pages partial 2013-01-19 15:26:40 +01:00
Riyad Preukschas 8a5b770c36 Reorder help routes 2013-01-19 15:26:23 +01:00
Riyad Preukschas bba88e84a9 Fix public layout 2013-01-19 15:24:56 +01:00
Riyad Preukschas 8db80f1f6d Rename help#public_area to help#public_access 2013-01-19 15:24:51 +01:00
Riyad Preukschas 359703c696 Fix public cloning option text on projects#edit page 2013-01-19 15:24:37 +01:00
Riyad Preukschas 7e6a5800b6 Fix text on groups#show page 2013-01-19 15:24:07 +01:00
Riyad Preukschas fa46fc94a7 Fix common mixup when instlling gems from the installation guide 2013-01-19 14:52:25 +01:00
Dmitriy Zaporozhets cb96cc030a Uncomment forgotten code 2013-01-19 13:57:50 +02:00
Dmitriy Zaporozhets 54a24608a2 Remove chdir inside runtime. Improved gitolite shell commands 2013-01-19 13:56:55 +02:00
Dmitriy Zaporozhets cfe8983272 Remove link to non-existing page. Fixes #2620 2013-01-19 12:50:44 +02:00
Dmitriy Zaporozhets 3a1022e381 Increase Issue description size to 10k. Fixes #2545 2013-01-19 12:09:23 +02:00
Dmitriy Zaporozhets 569a88a456 raise exception if gitolite is broken 2013-01-19 11:58:36 +02:00
Dmitriy Zaporozhets 5c3fdfaacb Fixed developer push to protected branch. Closes #2647 2013-01-19 11:11:25 +02:00
Dmitriy Zaporozhets af7dcda1cb Fix project creation 2013-01-18 22:23:11 +02:00
Kevin Lamontagne f4175219fb Fix gitlab:check recommendation
Running the recommendation would give out:
GNU find: paths must precede expression
2013-01-18 14:14:32 -05:00
Dmitriy Zaporozhets 6f05ea4f6e Improve CreateContext call. Fixed test 2013-01-18 20:21:13 +02:00
GitLab 232d61d598 Refactor project creation. Added logout link to profile page 2013-01-17 17:35:57 +02:00
Dmitriy Zaporozhets c7c1a97c2f Merge pull request #2050 from dosire/allow_self_signup
Add optional signup
2013-01-18 05:18:06 -08:00
Marin Jankovski 296cdd591f Add optional signup. 2013-01-18 11:57:31 +01:00
Riyad Preukschas b07e1b3aed Merge pull request #2653 from jouve/fix_default_settings
Fix default settings when they are boolean.
2013-01-17 18:57:49 -08:00
Cyril 9db7c16a1e Fix default settings when they are boolean.
error is that ```enabled ||= true``` always evaluates to true.
Change all initialization of bool settings to use the same syntax:
```setting = true if setting.nil?```
2013-01-18 00:00:02 +01:00
Dmitriy Zaporozhets bf753e99e7 Improve link to comment targets on dashboard 2013-01-17 22:54:02 +02:00
Dmitriy Zaporozhets 309e2ceaf8 Merge pull request #2650 from riyad/setup-task-warning
Improve setup task, by making it less dangerous
2013-01-17 12:40:56 -08:00
Dmitriy Zaporozhets 4bb1664aae Merge pull request #2649 from tjeezy/patch-1
Eliminate horizontal shifting on diff body heights
2013-01-17 12:38:58 -08:00
Dmitriy Zaporozhets 2e9c0e2b47 switch to use link_to_member to prevent 500 if user is a project owner but does not have membership and leave comment 2013-01-17 22:35:45 +02:00
Riyad Preukschas 65c35466b6 Rename gitlab:app:setup task to gitlab:setup 2013-01-17 21:26:22 +01:00
Riyad Preukschas b7457f39b4 Remove the setup task from the maintenance docs 2013-01-17 21:20:18 +01:00
Riyad Preukschas bc59fd046f Add a warning prompt to the setup task 2013-01-17 21:19:36 +01:00
TJ Koblentz f65713dfa6 Eliminate horizontal shifting on diff body heights 2013-01-17 11:35:35 -08:00
Riyad Preukschas 843ea5bf22 Update custom SSH connection section in installation guide 2013-01-17 19:58:29 +01:00
Riyad Preukschas 5c504ed863 Merge pull request #2632 from yin8086/SSHPort
Add SSH custom port support for install/installation.md
2013-01-17 10:47:17 -08:00
Dmitriy Zaporozhets 48a5012b21 Updated CHANGELOG 2013-01-17 15:59:05 +02:00
Riyad Preukschas bddead9eff Update doc/install/structure.md 2013-01-17 13:19:40 +01:00
Cyril 4d19a4fbeb fix build failure
(https://travis-ci.org/gitlabhq/gitlabhq/builds/3593153)
2013-01-17 12:24:26 +01:00
Dmitriy Zaporozhets b08bb20979 Fix assign-to-me filter for project issues 2013-01-17 13:11:53 +02:00
GitLab 9115a4f92f Remove satellites when moving namespace 2013-01-17 12:21:52 +02:00
Dmitriy Zaporozhets b53ca0bcfe Fix branch remove on automerge 2013-01-17 12:07:01 +02:00
Dmitriy Zaporozhets 7e40684b47 Better solution for strict key check 2013-01-17 11:57:47 +02:00
Stardrad Yin 6b78053d75 Add SSH custom port support for install/installation.md 2013-01-17 15:11:00 +08:00
Riyad Preukschas 886cf2f5be Fix GFM specs 2013-01-17 02:00:09 +01:00
Riyad Preukschas 9f1e9f11f1 Merge pull request #2346 from sodabrew/omniauth_configs
Allow the OmniAuth provider args parameter to be passed through
2013-01-16 15:58:53 -08:00
Riyad Preukschas 9cab79cbe6 Fix gitolite config checks for old Gitolite versions
Fixes #2608
2013-01-17 00:43:35 +01:00
Riyad Preukschas 8f9dec2883 Fix check.rake to use the new user and group settings 2013-01-17 00:09:08 +01:00
Riyad Preukschas 76329a46a3 Fix settings 2013-01-16 23:54:48 +01:00
Riyad Preukschas eea43c9412 Merge branch 'check_gitlab_in_git_group' of https://github.com/VonC/gitlabhq into VonC-check_gitlab_in_git_group 2013-01-16 23:20:47 +01:00
Riyad Preukschas 9bc829d397 Fix markdown for note events 2013-01-16 23:03:21 +01:00
Riyad Preukschas 2bc78739a7 Fix parsing of ref-like Urls in links and images in GFM
Fixes #2166
2013-01-16 22:39:56 +01:00
Riyad Preukschas 16b5417842 Use image Urls for Emoji in GFM
Fixes #2617
2013-01-16 22:39:45 +01:00
Riyad Preukschas 7635afd0c4 Use Urls for references in GFM 2013-01-16 22:08:01 +01:00
Riyad Preukschas 640d51f4b6 Fix GFM in events
Fixes #2563
2013-01-16 18:09:49 +01:00
Riyad Preukschas 592d626dad Fix #2576 2013-01-16 17:31:11 +01:00
Riyad Preukschas 0dd8a26a3a Fix satellite path settings 2013-01-16 17:00:38 +01:00
Dmitriy Zaporozhets 3f252ed194 Merge pull request #2621 from jouve/default_setting
add default for Settings['satellites']
2013-01-16 07:42:46 -08:00
Cyril 31e338b8fd add default for Settings['satellites'] 2013-01-16 16:11:40 +01:00
Dmitriy Zaporozhets 729088a7af Owner can enable public mode for project 2013-01-16 16:54:01 +02:00
Dmitriy Zaporozhets a39c910619 added sctructure.md 2013-01-16 16:17:21 +02:00
Dmitriy Zaporozhets 13978f33d8 Merge pull request #2420 from koenpunt/patch-1
Remove wget dependency, now all curl
2013-01-16 05:20:24 -08:00
Dmitriy Zaporozhets 4c93d77f24 Merge pull request #2460 from calmh/expose-namespace
'namespace' should be exposed via the API
2013-01-16 05:05:45 -08:00
Dmitriy Zaporozhets 08426d336d Merge pull request #2538 from jouve/app_helper
clean application_helper a bit
2013-01-16 04:59:29 -08:00
Dmitriy Zaporozhets 369dbaf396 Merge pull request #1586 from Bregor/ber_to_string
Auth: Net::BER::BerIdentifiedStrings to Strings
2013-01-16 04:55:52 -08:00
Dmitriy Zaporozhets c9e6818ab6 Store repo satellites outside of tmp directory 2013-01-16 13:30:31 +02:00
Dmitriy Zaporozhets 3d57755b70 change roadmap 2013-01-15 22:54:03 +02:00
Dmitriy Zaporozhets fd522b3257 should be green build now :) 2013-01-15 19:18:52 +02:00
Dmitriy Zaporozhets cc54c66fd0 Fix spec/requests/notes_on_merge_requests_spec.r 2013-01-15 18:20:58 +02:00
Dmitriy Zaporozhets cf353bd34f Fixed spinach test 2013-01-15 17:12:53 +02:00
Dmitriy Zaporozhets 752eb2c11d more tests fixed 2013-01-15 16:36:35 +02:00
Dmitriy Zaporozhets b059de2ac7 Fix notes model specs 2013-01-15 15:19:14 +02:00
Dmitriy Zaporozhets 2191efd8ec fix notes_on_wall specs 2013-01-15 15:04:22 +02:00
Dmitriy Zaporozhets 953db8477e More fixes for test 2013-01-15 14:28:04 +02:00
Dmitriy Zaporozhets 211c06e419 Fix few test and notify for commit author 2013-01-15 13:37:20 +02:00
Dmitriy Zaporozhets 6ddacaf9bf Merge branch 'riyad-discussions' 2013-01-15 12:43:09 +02:00
Dmitriy Zaporozhets ac983319d3 fixing some test 2013-01-15 12:42:54 +02:00
Dmitriy Zaporozhets f598cc7897 change logic on line_code 2013-01-15 11:12:17 +02:00
Riyad Preukschas bda7fe38d0 Merge branch 'master' into discussions 2013-01-15 00:53:00 +01:00
Riyad Preukschas d28176b132 Replace commit diff note request specs with spinach features 2013-01-15 00:52:57 +01:00
Riyad Preukschas f8e1f4a7c9 Replace commit note request specs with spinach features 2013-01-15 00:52:55 +01:00
Riyad Preukschas 3022786948 Merge commit 'master' into discussions
Conflicts:
	app/assets/stylesheets/sections/notes.scss
	app/contexts/notes/load_context.rb
	app/models/project.rb
	app/observers/note_observer.rb
	app/roles/votes.rb
	app/views/commit/show.html.haml
	app/views/merge_requests/_show.html.haml
	app/views/merge_requests/diffs.js.haml
	app/views/merge_requests/show.js.haml
	app/views/notes/_note.html.haml
	features/steps/project/project_merge_requests.rb
	spec/models/note_spec.rb
2013-01-15 00:52:25 +01:00
Riyad Preukschas 8ee5fce9d6 Add preliminary specs for notes on merge requests 2013-01-15 00:27:59 +01:00
Riyad Preukschas 74e48f070f Smaller fixes 2013-01-15 00:27:26 +01:00
Riyad Preukschas d8e697ac68 Merge pull request #2585 from timl/patch-1
Fix typo in installation guide.
2013-01-14 13:21:26 -08:00
Dmitriy Zaporozhets a36926216f line numbers for blame 2013-01-14 20:55:57 +02:00
Dmitriy Zaporozhets e98d478085 remove thin from production env. Use unicorn for foreman 2013-01-14 20:21:04 +02:00
Dmitriy Zaporozhets b6da734824 Merge pull request #2584 from jasl8r/public-grack-clone
Public HTTP clones and remove auth request for public projects
2013-01-14 10:13:02 -08:00
Tim Laszlo ba24e242d7 Update doc/install/installation.md
Change "th" to "the"
2013-01-14 09:28:33 -06:00
Jeremy Slater 80b8921a9a Public HTTP clones and remove auth request for public projects 2013-01-14 09:46:55 -05:00
VonC 471b5910a6 Fix git group detection for gitolite ssh user.
The tasks gitlab:env:info mixes user and group, and presume as a group 'git'.
However, gitolite group name can be anything.

That patch add the git group name in the config,
and check gitolite.ssh_user group against git.group
(which defaults to 'git', as before this patch, if undefined).

M config/gitlab.yml.example:
  Add 'group' in 'git' section
  Mention default value for the two extra settings
M lib/tasks/gitlab/check.rake:
  Check that gitolite.ssh_user *group* is the one defined in git.group.
  Make sure to default to 'git' as the expected group
    if said group is undefined in the config.
  Note: uses a more complete regexp for the group detection
        (the group can start, end or be in the middle or the list of groups
         of gitolite.ssh_user)
M: config/initializers/1_settings.rb:
  Add default values for gitolite.group and gitlab.user
2013-01-14 11:44:27 +00:00
Dmitriy Zaporozhets eff6d3c12b CHANGELOG for 4.1 2013-01-14 13:39:09 +02:00
Dmitriy Zaporozhets 23e338852c Dont set @project variable in list. Remove a bit of duplication in dash and group 2013-01-14 10:09:01 +02:00
Dmitriy Zaporozhets f716c0a1dd profjects filter with_push to project model 2013-01-14 09:44:27 +02:00
Dmitriy Zaporozhets 8543313bf5 Few more filters for admin / projects 2013-01-14 09:37:29 +02:00
Dmitriy Zaporozhets 68bfcd0521 Add public filter to admin projects 2013-01-13 17:25:18 +02:00
Dmitriy Zaporozhets 122acb2254 fix unauth for public 2013-01-13 17:25:18 +02:00
Dmitriy Zaporozhets 4c6224aad1 Public git read-only access via http 2013-01-13 17:25:18 +02:00
Riyad Preukschas eb626edd3f Replace all stat command line calls with ruby equivalents 2013-01-12 01:25:01 +01:00
Riyad Preukschas 4d0af232da Make method names clearer in check.rake 2013-01-12 01:24:57 +01:00
Riyad Preukschas a213d4b9e8 Move OS detection to task helpers and add detection of OS X 2013-01-12 01:24:51 +01:00
Riyad Preukschas fd836f5490 Update empty error messages and warn if not viewing the most recent wiki page 2013-01-11 21:04:21 +01:00
Riyad Preukschas b55ed840e6 Update wiki pages
* Properly name columns in Pages and History views
* Link to Authors
* Make views more consistent
2013-01-11 20:20:11 +01:00
Riyad Preukschas b3bfb75252 Fix link_to_member to not be bold by default 2013-01-11 20:16:37 +01:00
Riyad Preukschas 167f26b90d Add an ordering scope to Wiki 2013-01-11 20:04:14 +01:00
Riyad Preukschas 5aada8cc2a Move wiki delete button to the edit page 2013-01-11 20:03:43 +01:00
Riyad Preukschas e54246d310 Merge pull request #2561 from MrHammy/master
Fix to pages links
2013-01-11 10:20:23 -08:00
Riyad Preukschas f0c4e94d74 Move checks after init script installation in docs 2013-01-11 18:59:06 +01:00
David Southard 97a4e1b86a update grammar in check application status section 2013-01-11 17:23:35 +01:00
MrHammy c913f40ca4 Update app/views/wikis/pages.html.haml
Changed the link in the pages of the wiki to the direct link instead of the first created page
2013-01-11 13:40:29 +01:00
Dmitriy Zaporozhets 32dadb46fa Merge pull request #2555 from studiofrenetic/master
Fix for archive download (method path missing)
2013-01-10 13:02:15 -08:00
Martin Bastien f97ae2ff85 Fix for archive download (method path missing) 2013-01-10 15:55:34 -05:00
Dmitriy Zaporozhets 9152ab7955 Fix missing image for last push 2013-01-10 20:20:56 +02:00
Dmitriy Zaporozhets 0bd3c195a5 Merge branch 'improve/wiki_typography' of dev.gitlabhq.com:gitlab/gitlabhq 2013-01-10 16:59:36 +00:00
Dmitriy Zaporozhets 37771eb4cc Merge branch 'bug/pager_load' of dev.gitlabhq.com:gitlab/gitlabhq 2013-01-10 16:59:27 +00:00
Dmitriy Zaporozhets eadad85561 Merge branch 'improve/filter_icons' of dev.gitlabhq.com:gitlab/gitlabhq 2013-01-10 16:59:12 +00:00
Dmitriy Zaporozhets 50b172530c Merge branch 'improve/admin' of dev.gitlabhq.com:gitlab/gitlabhq 2013-01-10 16:59:01 +00:00
Dmitriy Zaporozhets e25656d09b Improve wiki typography 2013-01-10 18:09:12 +02:00
Dmitriy Zaporozhets dd20da1bff Fix pager loading on every page in application 2013-01-10 17:38:37 +02:00
Dmitriy Zaporozhets abc2bdc3aa Remove unused images. More use of font-awesome icons 2013-01-10 08:43:25 +02:00
Dmitriy Zaporozhets c2982c9a31 sidekiq.log in admin area. Improved admin dashboard 2013-01-10 08:43:25 +02:00
Dmitriy Zaporozhets 78698698dc Merge pull request #2539 from jameswritescode/remove_passenger_fix
remove passenger_fix
2013-01-09 22:35:10 -08:00
James Newton 2b38c8a156 remove passenger_fix.rb, which due to the recent removal of Resque in favor of sidekiq breaks gitlab in passenger 2013-01-09 22:17:03 -06:00
Cyril 8a3bbbdb88 clean app helper
* remove unused method
* simplify gravatar_icon
2013-01-10 01:46:23 +01:00
Riyad Preukschas 7cd03836e5 Fix sidekiq check task 2013-01-10 00:09:09 +01:00
Riyad Preukschas 4eac403e3b Fix sidekiq task to use Rails 2013-01-10 00:09:09 +01:00
Dmitriy Zaporozhets 6ea7bc27e4 Merge pull request #2533 from gliptak/master
Use ruby 1.9.3-p327 on travis-ci
2013-01-09 14:33:18 -08:00
Dmitriy Zaporozhets aca0caa8cc Merge pull request #2534 from AlexDenisov/ajax_activities
Reload activities/events on the dashboard page via ajax
2013-01-09 13:26:54 -08:00
Alex Denisov d7bc121474 replace javascript:void with preventDefault 2013-01-09 21:02:41 +00:00
gliptak e47104bd7a Use ruby 1.9.3-p327 on travis-ci 2013-01-09 14:43:49 -05:00
Alex Denisov 5133fe8efb dashboard js -> coffee 2013-01-09 19:30:20 +00:00
Alex Denisov 3cc0458312 Reloading of events via ajax instead of page reloading. 2013-01-09 19:30:20 +00:00
AlexDenisov 0d9f73fa1e JavaScript removed from dashboard#index template. 2013-01-09 19:30:20 +00:00
Alex Denisov f038057b9d Typo fixed 2013-01-09 19:30:20 +00:00
Alex Denisov 97d17cf835 Event filters stores at cookies. 2013-01-09 19:30:20 +00:00
Alex Denisov b255c3c44b Tests on events filtering added 2013-01-09 19:30:20 +00:00
Alex Denisov 2b93201533 Tests on EventFilters added 2013-01-09 19:30:19 +00:00
Riyad Preukschas d27cc91ee9 Merge pull request #2527 from VonC/gitignore
Update .gitignore
2013-01-09 10:34:13 -08:00
Dmitriy Zaporozhets 6869a56403 Fix sidekiq chech and added script/check 2013-01-09 20:31:05 +02:00
Dmitriy Zaporozhets 16b61590ab Spinach: admin logs, admin users 2013-01-09 19:38:27 +02:00
VonC 3aa5daf696 gitignore updates.
Most yml files are ignored in gitlab/config/, except resque.yml
=> add it to the list of ignored files.
2013-01-09 16:39:43 +00:00
Dmitriy Zaporozhets 66ecfa77e5 Merge branch 'sidekiq' 2013-01-09 18:21:49 +02:00
Dmitriy Zaporozhets ab344f31b6 Rails upto 3.2.11 2013-01-09 11:07:55 +02:00
Dmitriy Zaporozhets 0d5c6a48be Merge pull request #2484 from netdata/fix_url_encode
Fixing request.fullpath URL encoding
2013-01-09 00:35:32 -08:00
Dmitriy Zaporozhets 31e3dc600a Fix routing specs 2013-01-09 09:47:25 +02:00
Dmitriy Zaporozhets 80e79f33af Merge pull request #2516 from jouve/fix_json_exemples_in_help
fix exemple js data in help/web_hook
2013-01-08 23:43:43 -08:00
Dmitriy Zaporozhets aa97ff7fde Fixed tree logs for branches with slash. Fixed remember of path when switch branch 2013-01-09 09:34:26 +02:00
Dmitriy Zaporozhets 7bfd38eaa9 spinach test: project services 2013-01-09 09:14:05 +03:00
Dmitriy Zaporozhets 9b22f41e54 set undefined features 2013-01-09 12:04:55 +02:00
Dmitriy Zaporozhets 9773ccc451 sidekiq with green tests 2013-01-09 09:14:05 +03:00
Dmitriy Zaporozhets 71bd956866 email via sidekiq. start and stop rake tasks 2013-01-09 08:44:05 +03:00
Dmitriy Zaporozhets 2f6603e581 A bit of spinach tests 2013-01-09 08:14:05 +03:00
Dmitriy Zaporozhets c7bb3a1f72 sidekiq 2013-01-09 08:14:05 +03:00
Cyril 0a0d2ecf85 fix exemple js data in help/web_hook 2013-01-08 15:34:15 +01:00
Dmitriy Zaporozhets b6568db1bc Fix minor style issue for compare 2013-01-08 12:23:33 +02:00
Dmitriy Zaporozhets f9528bfb86 a bit of restyling for issues and merge request lists 2013-01-08 08:14:05 +03:00
Dmitriy Zaporozhets 92a619ad28 organize simplecov 2013-01-07 22:23:13 +02:00
Riyad Preukschas 71c8801eef Fix checking for the recommended Gitolite version
Fixes #2475
2013-01-07 21:20:20 +01:00
Riyad Preukschas ea8cd13f79 Fix check for outdated config file 2013-01-07 21:20:20 +01:00
Riyad Preukschas b5f116f08b Add a check whether repos_path is a symlink 2013-01-07 21:20:20 +01:00
Riyad Preukschas b7314a1687 Fix bug in OS detection in check task 2013-01-07 21:20:20 +01:00
Riyad Preukschas 11e28aff7d Fix accessing the project repository path in check task
Fixes #2496
2013-01-07 21:20:19 +01:00
Dmitriy Zaporozhets b6ac9b4334 Fix group test after ajax activity 2013-01-07 22:05:21 +02:00
Dmitriy Zaporozhets cc64f2a814 Common filtering for dashboard and group. Share partial search result partial 2013-01-07 20:52:43 +02:00
Riyad Preukschas 0a16039924 Merge pull request #2504 from mitchty/sles_changes
Update info.rake to be able to run successfully on SuSE.
2013-01-07 10:15:27 -08:00
Riyad Preukschas 9be4c5558f Merge pull request #2485 from gliptak/patch-2
Renaming check function from 1056 to 1059
2013-01-07 09:41:27 -08:00
Mitch Tishmack 3e89244e08 Update info.rake to be able to run successfully on SuSE. 2013-01-07 11:21:35 -06:00
Dmitriy Zaporozhets fb470e8e2a Validate username uniq in scope of namespace 2013-01-07 17:36:24 +02:00
Dmitriy Zaporozhets a0bd09ab83 Fixed tests 2013-01-07 14:44:57 +02:00
Dmitriy Zaporozhets 8d8c161a7f Speedup dashboard via loading events with ajax 2013-01-07 14:36:01 +02:00
Dmitriy Zaporozhets 6c777ff823 Improve milestone show page 2013-01-07 14:08:03 +02:00
Dmitriy Zaporozhets 676a9a7e28 Fix xss vulnerability 2013-01-07 11:32:12 +02:00
Dmitriy Zaporozhets 1665a06fdd Added cleanup to help rake 2013-01-06 00:30:38 +02:00
Dmitriy Zaporozhets 68eb394824 Green button when we create new item, blue when save or some primary action 2013-01-06 00:08:02 +02:00
Riyad Preukschas 8c604c9d31 Add specs for notes on wall 2013-01-05 22:58:36 +01:00
Riyad Preukschas 1883e0830c Add specs for notes on commits 2013-01-05 22:58:27 +01:00
Dmitriy Zaporozhets baf591cc27 Fix network test and snippets expired 2013-01-05 23:49:01 +02:00
Dmitriy Zaporozhets 031008648f Add RAILS_ENV to rake docs 2013-01-05 23:36:04 +02:00
Dmitriy Zaporozhets 2c8a46e0fe Fix backup/restore path_to_repo 2013-01-05 23:29:48 +02:00
Dmitriy Zaporozhets 891bc414b1 Fix merge_request js -> ci_path 2013-01-05 23:26:14 +02:00
Dmitriy Zaporozhets fed9a3d5c8 Merge branch 'koenpunt-raphael-update' 2013-01-05 23:18:05 +02:00
Dmitriy Zaporozhets 47dd9e42f7 Merge branch 'raphael-update' of https://github.com/koenpunt/gitlabhq into koenpunt-raphael-update
Conflicts:
	Gemfile.lock
2013-01-05 23:17:50 +02:00
Dmitriy Zaporozhets e142ebde5c Merge branch 'koenpunt-mergerequest-to-coffee' 2013-01-05 23:09:38 +02:00
Dmitriy Zaporozhets eded4bfa95 Raise exception and show message to user if repo missing satellite 2013-01-05 23:09:26 +02:00
Dmitriy Zaporozhets eaa8cd28d0 Merge branch 'mergerequest-to-coffee' of https://github.com/koenpunt/gitlabhq into koenpunt-mergerequest-to-coffee 2013-01-05 22:54:48 +02:00
Dmitriy Zaporozhets d5642d3098 Fix project fixtures 2013-01-05 22:50:12 +02:00
Dmitriy Zaporozhets f33ada855c Merge pull request #2226 from jouve/username
add username to team_member page
2013-01-05 12:33:39 -08:00
Dmitriy Zaporozhets 9f1a4acf62 Merge pull request #2207 from koenpunt/system-to-fileutils
replaced system() calls with FileUtils.* methods
2013-01-05 10:03:13 -08:00
Dmitriy Zaporozhets 546dd4c2b6 Merge pull request #2487 from koenpunt/patch-2
Fixed typo of recipes (recipres) in development fixtures
2013-01-05 10:01:10 -08:00
Dmitriy Zaporozhets 1724f45f46 Remove unused styles. Restyled Issues a bit 2013-01-05 14:49:08 +02:00
Dmitriy Zaporozhets de05a598b3 Update to rails 3.2.10. Use simplercov in spinach too 2013-01-05 13:30:42 +02:00
Dmitriy Zaporozhets 2f5a733346 Add ci.gitlab.org badge 2013-01-05 13:12:31 +02:00
Dmitriy Zaporozhets 5a214ee6f1 Remove unused methods 2013-01-05 13:11:15 +02:00
Dmitriy Zaporozhets e3d7ce2cc4 Tests are fixed now 2013-01-05 12:12:02 +02:00
Koen Punt a1566a9c86 Converted merge_requests.js to coffeescript and updated code 2013-01-05 02:53:34 +01:00
Dmitriy Zaporozhets 0a94640e32 Merge branch 'refactoring/backend' 2013-01-05 00:49:58 +02:00
Dmitriy Zaporozhets de6fa5dd52 Fix security spec 2013-01-05 00:49:43 +02:00
Dmitriy Zaporozhets 9a88e4d184 Fix some tests. Use travis-ci 1.9.2 2013-01-05 00:43:32 +02:00
Dmitriy Zaporozhets e16cebac3e Fixed styles, ProjectHook specs etc 2013-01-05 00:35:38 +02:00
Dmitriy Zaporozhets c6298678f5 use ui-box as for all 2013-01-04 23:35:31 +02:00
Dmitriy Zaporozhets 14d0ef8f37 Show images preview in notes. Show line additions/deletions for commit 2013-01-04 22:13:32 +02:00
Dmitriy Zaporozhets ef5b36eaaf Fixed protected branches and file edit 2013-01-04 21:45:30 +02:00
Dmitriy Zaporozhets afbdbb0c95 Rspec fixes 2013-01-04 18:50:31 +02:00
Koen Punt eab1e6cea1 Fixed typo of recipes (recipres) 2013-01-04 17:43:41 +01:00
gliptak 29623d77e4 Renaming check function from 1056 to 1059 2013-01-04 10:14:55 -05:00
Wouter D'Haeseleer fd4bcd9f09 Fixing request.fullpath URL encoding
Let's assume your path is = "project/tree/master/This%20Is%20valid"
In this case gitlab renders a 404.

To fix this we should decode the path so that it looks like
"project/tree/master/This Is valid"
2013-01-04 15:05:00 +01:00
Koen Punt 47bb945caf raphael from gitlabhq 2013-01-04 13:59:08 +01:00
Koen Punt 1b96ca348f updated g.raphael 2013-01-04 13:59:08 +01:00
Koen Punt 90cba379a4 Updated graph tooltips and labels 2013-01-04 13:59:08 +01:00
Koen Punt f04597d918 updated raphael
better labels
2013-01-04 13:59:08 +01:00
Dmitriy Zaporozhets dccd8b6eaa Continue refactoring. Use repostory and team 2013-01-04 08:43:25 +02:00
Dmitriy Zaporozhets 39ba934c0a REpostiry, Team models 2013-01-03 21:09:18 +02:00
Dmitriy Zaporozhets e6c0673ef1 Rspec models Milestone, Commit, UsersProject 2013-01-03 19:11:14 +02:00
Koen Punt 6b9177ca02 replaced system() calls with FileUtils.* method
This also makes that 'mv: cannot stat `/ho..' is not shown in the test :)

consistent spacing

require fileutils

Revert "require fileutils"

This reverts commit 54313d3bbaa60cfc5b405be50cc00b7f6b0cb715.

new hash notation

FileUtils.mv in begin/rescue block
2013-01-03 15:36:50 +01:00
Dmitriy Zaporozhets 2095780f24 fix tests 2013-01-03 12:37:12 +02:00
Dmitriy Zaporozhets d6036f08aa move activated? method to service 2013-01-03 09:52:14 +02:00
Dmitriy Zaporozhets ce84e3f440 Fixed tests. added test for gitlab_ci_service model 2013-01-03 09:37:13 +02:00
Dmitriy Zaporozhets e65731bb7e Add concerns to autoload 2013-01-03 09:12:24 +02:00
Dmitriy Zaporozhets a1999955eb Merge pull request #2461 from gitlabhq/remove_roles
Remove models/roles and return to fat models
2013-01-02 23:07:32 -08:00
Dmitriy Zaporozhets da03a5c7e2 more refactoring using models/concerns 2013-01-03 09:06:07 +02:00
Dmitriy Zaporozhets 40a956eb68 Few more fixes after removing roles 2013-01-03 00:01:08 +02:00
Dmitriy Zaporozhets cac7723451 Get rid of roles 2013-01-02 23:35:11 +02:00
Dmitriy Zaporozhets 1b25a8f437 Improve Extract path 2013-01-02 22:39:02 +02:00
Riyad Preukschas 6c724ed96c Fix factories 2013-01-02 21:31:48 +01:00
Jakob Borg 0f07922f19 'namespace' should be exposed via the API
Since it's now an integral part of the project name, it should be
visible via the API.
2013-01-02 21:31:20 +01:00
Riyad Preukschas e29687552e Fix link titles 2013-01-02 21:07:02 +01:00
Dmitriy Zaporozhets 07a5cb2ef8 More readable Title for tab 2013-01-02 21:52:03 +02:00
Riyad Preukschas 621c6b8533 Fix commit note notification 2013-01-02 20:50:24 +01:00
Riyad Preukschas 7335f366dc Fix comment and reply buttons 2013-01-02 20:49:27 +01:00
Dmitriy Zaporozhets 642e64034c Fix crash on group => show 2013-01-02 20:59:47 +02:00
Dmitriy Zaporozhets ce484fa9da Fixed admin -> group -> show 2013-01-02 20:45:11 +02:00
Dmitriy Zaporozhets 67896ea9a2 Fixed missing current user for issue observer 2013-01-02 20:25:25 +02:00
Dmitriy Zaporozhets 6a9e7dc55b Fixed spinach 2013-01-02 19:56:22 +02:00
Dmitriy Zaporozhets ccf0686b01 Fix api specs. Use id instead path 2013-01-02 19:46:06 +02:00
Dmitriy Zaporozhets d431e43392 Fix few bugs and tests after refactoring ownership logic 2013-01-02 19:32:34 +02:00
Dmitriy Zaporozhets 00a1f5bc2c Project has now correct owner and creator. Increased test coverage 2013-01-02 19:00:00 +02:00
Dmitriy Zaporozhets 91995909d9 Fix #2375. Admin and owner can manage groups 2013-01-02 18:57:02 +02:00
Saito 0bda2d5d2b Merge pull request #2450 from jojosch/fix-grack-gitignore
fix grack accessing files beginning with .git
2012-12-31 22:51:31 -08:00
Johannes Schleifenbaum ff976bc86c fix grack accessing files beginning with .git 2012-12-31 23:33:00 +01:00
Dmitriy Zaporozhets ffe064a2c1 Bit of cleanup and improving mailer 2012-12-31 19:46:40 +02:00
Dmitriy Zaporozhets cf3f22cc99 Corrent link for MR diff note in email 2012-12-31 19:06:49 +02:00
Dmitriy Zaporozhets 22ec3fa14c Fix MR css for accept MR block 2012-12-31 18:35:38 +02:00
Dmitriy Zaporozhets e5ff5c2869 Use project with namespace in email subject 2012-12-31 18:22:44 +02:00
Dmitriy Zaporozhets 30d6370719 Add subdir support for rewrite-hooks script 2012-12-31 17:46:40 +02:00
Dmitriy Zaporozhets 8392449599 Fix backup/restore of repos 2012-12-31 12:01:05 +02:00
Dmitriy Zaporozhets 9df17fa4c5 Merge pull request #2438 from cvut/query-perf
Optimize query for keys of repository members
2012-12-31 00:15:19 -08:00
Kevin Lamontagne c816dcc105 Don't setuid the repositories (Rake checks) 2012-12-30 21:46:28 -05:00
Kevin Lamontagne 29baadf0c7 Don't setuid the repositories on installation 2012-12-30 21:15:31 -05:00
Dmitriy Zaporozhets 0a2ac8371d Add missing subject for wall comment 2012-12-30 20:26:09 +02:00
Jakub Jirutka a54b2e80f8 Optimize query for keys of repository members
…to load them at once and then use query cache.
2012-12-30 18:54:02 +01:00
Dmitriy Zaporozhets 82ae973a99 Describe for Roles 2012-12-30 16:19:31 +02:00
Dmitriy Zaporozhets 64db5f808b use gitlab omniauth-ldap gem instead of fork 2012-12-30 15:15:56 +02:00
Dmitriy Zaporozhets d863fa6283 Replace yaml_db fork with gem 2012-12-30 14:54:08 +02:00
Dmitriy Zaporozhets 96d49bf04c Use sdoc to generate application code documentation 2012-12-30 14:43:00 +02:00
Dmitriy Zaporozhets d075df56d3 Improve perfomance of removeing group 2012-12-30 14:26:19 +02:00
Dmitriy Zaporozhets f45345edb3 Fix project destroy timeout from admin area. Added 30 ssh keys to dev seeds 2012-12-30 14:09:43 +02:00
Dmitriy Zaporozhets a16533a04a Add groups to search autocomplete. Use alphabetically scope for users order 2012-12-30 13:50:23 +02:00
Dmitriy Zaporozhets e37a043df7 Get rid of skipping callbacks in production code. Dont trigger gitolite more than once on import in group 2012-12-30 13:37:33 +02:00
Saito 151ada7645 Merge pull request #2162 from frohoff/config-improvements
support for running in non-root directory/path (RAILS_RELATIVE_URL_ROOT)
2012-12-29 12:19:07 -08:00
Riyad Preukschas cfca11f2bc Merge pull request #2423 from hopson/master
Spelling error in merge request email
2012-12-28 14:44:55 -08:00
Robert Hopson 32be082055 Update app/views/notify/new_merge_request_email.html.haml
Fix spelling of 'assignee'
2012-12-28 10:56:48 -08:00
Chris Frohoff 21e55ca318 added RAILS_RELATIVE_URL_ROOT support 2012-12-28 18:11:28 +00:00
Koen Punt b822efb9d1 Remove wget dependency, now all curl 2012-12-28 13:38:43 +01:00
Dmitriy Zaporozhets e9394c48ca Fix dir_exists? 2012-12-28 06:24:05 +03:00
Dmitriy Zaporozhets d03964d6ec Fixed and improved enable_naamespace migration task 2012-12-28 06:14:05 +03:00
Dmitriy Zaporozhets d991ce636b Merge pull request #2390 from simi/master
No need to install custom phantomjs for travis.
2012-12-28 01:02:43 -08:00
Dmitriy Zaporozhets 1f3bdd453e Allow spaces in project name 2012-12-28 09:29:57 +02:00
Dmitriy Zaporozhets 3de4271846 Merge branch 'feature/add_user_to_projects_in_group-2298' of https://github.com/zzet/gitlabhq into zzet-feature/add_user_to_projects_in_group-2298 2012-12-28 09:14:28 +02:00
Dmitriy Zaporozhets c29457a396 Merge pull request #2394 from troyanov/master
fix warning 'nohup: redirecting stderr to stdout' for resque.sh
2012-12-27 06:59:52 -08:00
Dmitriy Zaporozhets 4cbb29cfad Fix not_in_project scope. Added counters in admin -> users. Improved seeds 2012-12-27 06:14:05 +03:00
Dmitriy Zaporozhets e56a47ab19 Dev fixtures: Add sample ssh key to admin 2012-12-27 12:13:18 +02:00
Dmitriy Zaporozhets dae56806df Merge pull request #2386 from cvut/fix-passenger
Fix shared Redis connection issue on Passenger
2012-12-27 01:23:17 -08:00
Andrey Kumanyaev 655b836b2a test reanimated 2012-12-26 20:31:47 +04:00
Andrey Kumanyaev c8bf5905bf Fix form url and routes path 2012-12-26 20:31:18 +04:00
Andrey Kumanyaev 98044f0f14 Code duplication removed from controllers 2012-12-26 20:30:11 +04:00
Andrey Kumanyaev 39e7a0eafe Rewrite rendering rows with users projects access in Users table in Admin group section 2012-12-26 19:52:16 +04:00
Andrey Kumanyaev 634783feb0 Rename scope "in_group" to "in_namespace" 2012-12-26 19:52:16 +04:00
Andrey Kumanyaev 1e3d238910 Replace short loop variable from "p" to "project" 2012-12-26 19:52:15 +04:00
Andrey Kumanyaev 2753cea75a Add variable form in user section 2012-12-26 19:52:15 +04:00
Andrey Kumanyaev 25c5763780 Add functional in user section 2012-12-26 19:52:15 +04:00
Andrey Kumanyaev 9c574464a6 Add functional in admin section 2012-12-26 19:52:15 +04:00
Andrey Kumanyaev 17ea019f4e Add Project name validation 2012-12-26 19:52:15 +04:00
Valeriy Sizov c4536ae587 Merge pull request #2376 from sriharshav/fixed
Fix replace return with next in rake rask
2012-12-26 05:02:56 -08:00
anton troyanov a934bafd9f fix warning 'nohup: redirecting stderr to stdout'
related issue https://github.com/gitlabhq/gitlabhq/issues/2045
2012-12-26 16:36:40 +04:00
Riyad Preukschas 70ebcf250a Merge pull request #2381 from Razer6/update-develop-guide
Fixed broken link to developer guide, fixes #2380
2012-12-26 03:15:10 -08:00
Riyad Preukschas d803eed264 Merge pull request #2378 from PaulWagener/patch-1
Update doc/install/installation.md
2012-12-26 03:12:07 -08:00
Dmitriy Zaporozhets 5cd823847b Use gitlab resque fork. Added rake task to stop all workers 2012-12-26 11:23:43 +02:00
Dmitriy Zaporozhets 3b1519da47 Merge pull request #2388 from zzet/feature/add_errors_henlder_into_dev
Better support for error handling in dev environment
2012-12-26 00:55:08 -08:00
Josef Šimánek 103bb239e5 Update .travis.yml 2012-12-26 00:29:28 +01:00
Andrey Kumanyaev 9ff1ec7d8e Added gems better_errors and binding_of_caller 2012-12-26 02:42:53 +04:00
Jakub Jirutka a1434ff50b Fix shared Redis connection issue on Passenger 2012-12-25 23:14:00 +01:00
Dmitriy Zaporozhets 4c800342af Fix routing by priority 2012-12-25 16:24:44 +02:00
Dmitriy Zaporozhets 3c1022f9b1 No resque errors 2012-12-25 16:18:22 +02:00
Robert Schilling 1be3941f7d Fixed broken link to developer guide, fixes #2380 2012-12-25 15:04:58 +01:00
Dmitriy Zaporozhets 64db738f9d Trying to fix resque issue 2012-12-25 15:53:50 +02:00
PaulWagener 80f75b8174 Update doc/install/installation.md
'th -> the' typo
2012-12-25 12:25:44 +01:00
Sriharsha Vardhan d41aac629b Fix replace return with next in rake rask 2012-12-25 12:13:50 +05:30
Dmitriy Zaporozhets c5eba169cd Cleanup service tasks 2012-12-25 07:14:05 +03:00
Dmitriy Zaporozhets c8ba5c2d58 Fix routing issues when navigating over tree, commits etc 2012-12-25 06:14:05 +03:00
Dmitriy Zaporozhets 49e73f8ac1 Fixed syntax error in config -> settings 2012-12-24 21:29:53 +02:00
Dmitriy Zaporozhets 6570843f84 Fix MR count for group scope 2012-12-24 21:27:12 +02:00
Dmitriy Zaporozhets 0dbb369ace Cleanup deprecated configs 2012-12-24 21:25:33 +02:00
Dmitriy Zaporozhets 8419740778 Starting 4.1.0pre 2012-12-24 21:24:53 +02:00
Dmitriy Zaporozhets 4ba24596d3 Make the logo icon more awesome 2012-12-24 21:18:23 +02:00
Dmitriy Zaporozhets a87fccc083 Update projects in gitolite after namespace moved. Added rake task to cleanup garbage from gitolite 2012-12-24 20:02:08 +02:00
Riyad Preukschas dea8628171 Merge branch 'stable' 2012-12-24 16:48:32 +01:00
Riyad Preukschas 8ef7b9b6d1 Make SQLite check in gitlab:check more robust 2012-12-24 16:45:10 +01:00
Riyad Preukschas 0e15270b75 Fix crash in gitlab:check while checking hooks 2012-12-24 16:45:08 +01:00
Riyad Preukschas d9ca1bce7a Fix paths in gitlab:check 2012-12-24 16:45:03 +01:00
Dmitriy Zaporozhets c49a3106ff Merge pull request #2350 from Razer6/milestone-expiration-date
Changed wording if milestone already expired
2012-12-24 05:58:28 -08:00
Dmitriy Zaporozhets efc4cae1b7 Add License 2012-12-24 14:33:16 +02:00
Dmitriy Zaporozhets 2937f35f9a Replace Wire font with Yanone. Show only icon as link to dashboard 2012-12-24 14:24:45 +02:00
Dmitriy Zaporozhets d80d4cd92b Replace font with free one 2012-12-24 12:37:28 +02:00
Aaron Stone aec1a84042 Allow the OmniAuth provider args parameter to pass through as either an Array or a Hash. 2012-12-23 16:12:53 -08:00
Robert Schilling d62a8a4d50 Changed wording if milestone already expired, using Date#past 2012-12-23 21:16:51 +00:00
Riyad Preukschas 2462949fd5 Update output of gitlab:gitolite:update_* 2012-12-23 21:16:26 +01:00
Riyad Preukschas 31e0fa6572 Update output of gitlab:enable_namespaces 2012-12-23 21:16:08 +01:00
Riyad Preukschas 1b6c28b976 Update output of gitlab:backup:resore 2012-12-23 21:15:25 +01:00
Riyad Preukschas 430d3ad45b Update output of gitlab:enable_automerge 2012-12-23 21:14:30 +01:00
Riyad Preukschas 224da71177 Extract task helper methods 2012-12-23 21:13:57 +01:00
Riyad Preukschas 9655350c79 Fix check.rake 2012-12-23 21:13:57 +01:00
Riyad Preukschas ece30f53ee Merge branch 'stable' 2012-12-23 20:58:01 +01:00
Riyad Preukschas a9e2fa4c35 Fix output of gitlab:check 2012-12-23 20:51:27 +01:00
Riyad Preukschas 3bf0b4e25b Fix satellite check for projects with empty repo
Fixes #2349
2012-12-23 20:51:27 +01:00
Dmitriy Zaporozhets 2a390f5dc1 Merge pull request #2348 from koenpunt/graph-contrast
Skipping colors to get more contrast between colors
2012-12-23 11:08:05 -08:00
Dmitriy Zaporozhets a5d7a95893 Merge pull request #2260 from hiroponz/improve-network-graph
Improve network-graph
2012-12-23 10:24:43 -08:00
Koen Punt 4ebee56acc Skipping colors to get more contrast between colors 2012-12-23 17:00:26 +01:00
Dmitriy Zaporozhets 02a29d1db4 Merge branch '4-0-stable' into stable 2012-12-23 14:02:47 +02:00
Dmitriy Zaporozhets 6a932d0af5 Add missing cd 2012-12-23 13:58:41 +02:00
Dmitriy Zaporozhets f314d3e68f Fix installation docs 2012-12-23 13:57:40 +02:00
Dmitriy Zaporozhets e440da62b8 Let it be v4.0.0 2012-12-23 12:12:31 +02:00
Riyad Preukschas db2c15369c Merge branch 'master' into discussions
Conflicts:
	app/assets/stylesheets/main.scss
	app/models/project.rb
	app/views/notes/_common_form.html.haml
	app/views/notes/_per_line_form.html.haml
	lib/gitlab/markdown.rb
	spec/models/note_spec.rb
2012-12-23 01:03:57 +01:00
Dmitriy Zaporozhets 25c33ca3d0 Fix webhook data sample 2012-12-23 01:14:04 +02:00
Dmitriy Zaporozhets 3ff131a747 Improve web hook data. Use clonable url in repo info 2012-12-23 01:10:57 +02:00
Dmitriy Zaporozhets 0af5884bcd gitlab.yml how to use section 2012-12-23 00:49:46 +02:00
Dmitriy Zaporozhets 86ed2e8f17 Fixed MR count on dashboard 2012-12-23 00:39:42 +02:00
Dmitriy Zaporozhets 3933930538 Sctrict host instructions 2012-12-23 00:35:52 +02:00
Dmitriy Zaporozhets 60038a99ca Import: Skip if not git repo 2012-12-23 00:18:39 +02:00
Dmitriy Zaporozhets fa8f834374 Fix import rake task and tests 2012-12-23 00:15:48 +02:00
Dmitriy Zaporozhets 9f595aa42f Merge branch 'master' of github.com:gitlabhq/gitlabhq 2012-12-22 23:45:37 +02:00
Dmitriy Zaporozhets 328e0d80ca Log if satellite creation failed 2012-12-22 23:45:22 +02:00
Riyad Preukschas 68c43d59f0 Add instructions to fix permissions for /home/git/.gitolite/ 2012-12-22 22:22:51 +01:00
Riyad Preukschas 5d1044c335 Fix Commit#to_diff 2012-12-22 20:36:33 +01:00
Riyad Preukschas 056fa05b86 Remove path parameter from projects API 2012-12-22 20:06:18 +01:00
Dmitriy Zaporozhets 1ba28aaef8 Implement UsersProject project_access validation 2012-12-22 19:52:28 +02:00
Riyad Preukschas 640018ba55 Fix docs to download and compile Ruby in /tmp/ruby 2012-12-22 15:52:42 +01:00
Riyad Preukschas c926a2b6ee Remove bundler calls from databases.md
GitLab is not yet downloaded at this point in the installation guide.
2012-12-22 15:33:22 +01:00
Riyad Preukschas cc42bf784e Fix sudo install command in installation guide
Fixes #2334
2012-12-22 15:16:16 +01:00
Dmitriy Zaporozhets 988e6ac205 Fix #2220 2012-12-22 14:34:38 +02:00
Dmitriy Zaporozhets 2398af9ab0 Fixed wierd gitlab markdown issue 2012-12-22 14:18:40 +02:00
Dmitriy Zaporozhets cec866a7ce Improve wiki rendering. Fix pygemnt + markdown invalid html 2012-12-22 13:01:15 +02:00
Dmitriy Zaporozhets ed35ea703c Fix order of db setup in installation docs 2012-12-22 12:01:54 +02:00
Dmitriy Zaporozhets a7b572d0ab Fixed #2333 2012-12-22 11:59:05 +02:00
Dmitriy Zaporozhets 8fe58ed541 Merge pull request #2330 from gitlabhq/v4.0-api-fixes
V4.0 API fixes
2012-12-22 00:43:17 -08:00
Dmitriy Zaporozhets 86673a66b7 Fix fark background highlight 2012-12-21 23:22:52 +02:00
Riyad Preukschas eaa99478a7 Up API version to v3 2012-12-21 18:55:39 +01:00
Riyad Preukschas 8f01190eb5 Remove all references tp the project code parameter from the API 2012-12-21 18:47:04 +01:00
Riyad Preukschas 931ec399bd Remove the code parameter from the projects API 2012-12-21 18:43:46 +01:00
Dmitriy Zaporozhets b510f8c496 Fixed tests 2012-12-21 13:37:44 +02:00
Dmitriy Zaporozhets 4398bdf2c9 Merge branch 'koenpunt-gh-issue-1509' 2012-12-21 13:07:47 +02:00
Dmitriy Zaporozhets a47032bc29 Merge branch 'gh-issue-1509' of https://github.com/koenpunt/gitlabhq into koenpunt-gh-issue-1509
Conflicts:
	vendor/assets/javascripts/branch-graph.js
2012-12-21 13:07:34 +02:00
Dmitriy Zaporozhets a567d596f8 Merge pull request #2305 from gitlabhq/fix_gfm_auto_complete
Fix and refactoring gfm_autocomplete
2012-12-21 02:47:55 -08:00
Riyad Preukschas 0efc903eef Fix text in project move mail 2012-12-20 22:25:42 +01:00
Dmitriy Zaporozhets 4b649c2f4d Release candidate 1 2012-12-20 23:12:38 +02:00
Dmitriy Zaporozhets 9b07ed0690 Merge pull request #2323 from riyad/rename-tasks
Rename tasks
2012-12-20 13:06:14 -08:00
Dmitriy Zaporozhets 2a3f5dae0f Fix email send on close/reopen issue. Display project name with namespace. remove css style 2012-12-20 23:04:27 +02:00
Riyad Preukschas 1acff973c8 Rename add_user_to_project_teams to gitlab:import:user_to_projects
Rename add_users_to_project_teams to gitlab:import:all_users_to_all_projects
2012-12-20 21:52:37 +01:00
Riyad Preukschas c9bf2bb288 Rename gitlab:app:backup_* to gitlab:backup:*
Rename gitlab:app:db_* to gitlab:backup:db:*
Rename gitlab:app:repo_* to gitlab:backup:repo:*
Rename *_dump to *_create
2012-12-20 21:52:35 +01:00
Riyad Preukschas 56f9a674a6 Add gitlab:satellites:create as an alias for gitlab:enable_automerge 2012-12-20 21:52:26 +01:00
Dmitriy Zaporozhets 75dd704294 Send update instructions after project namespace id changed or namespace path changed 2012-12-20 22:16:51 +02:00
Riyad Preukschas 501f048846 Rename gitlab:app:enable_automerge to gitlab:enable_automerge 2012-12-20 20:22:25 +01:00
Riyad Preukschas e3a7e43ff4 Rename gitlab:activate_namespaces to gitlab:enable_namespaces 2012-12-20 20:22:25 +01:00
Dmitriy Zaporozhets d188adfd97 Changelog updated. Added warnings to username form 2012-12-20 21:16:42 +02:00
Valeriy Sizov 77d632890b refactoring gfm_autocomplete 2012-12-20 20:52:12 +02:00
Dmitriy Zaporozhets d8d95c85ae Merge pull request #2321 from riyad/update-contrib-docs
Update Contribution Guide
2012-12-20 10:46:57 -08:00
Riyad Preukschas 691799a3fe Update CONTRIBUTING.md 2012-12-20 18:53:23 +01:00
Riyad Preukschas 27ff15ad3e Remove development.md 2012-12-20 18:53:07 +01:00
Dmitriy Zaporozhets 1dcf19c924 Merge pull request #2247 from riyad/update-settings
Reorganize settings
2012-12-20 08:47:38 -08:00
Riyad Preukschas 4c8ac320dd Updated gitlab:check task 2012-12-20 16:54:28 +01:00
Riyad Preukschas 757c7a5291 Fix gravatar and ldap config 2012-12-20 16:54:28 +01:00
Riyad Preukschas 19eb637419 Update uses of Gitolite.config.foo settings 2012-12-20 16:54:28 +01:00
Riyad Preukschas b2e46f44ce Refactor Settings initializer
All overrides are marked as deprecated.
Default settings are at the bottom.
2012-12-20 16:54:28 +01:00
Riyad Preukschas 4496903950 Rename config options 2012-12-20 16:54:28 +01:00
Dmitriy Zaporozhets 9bc315bb25 Merge pull request #2211 from jojosch/fix-dark-code-preview
fix dark code preview background when displaying long lines
2012-12-20 07:46:59 -08:00
Dmitriy Zaporozhets b772c2c3f0 Fix issue update.js 2012-12-20 16:42:13 +02:00
Dmitriy Zaporozhets a7aee9d1ee Pretty compare mode 2012-12-19 20:14:05 +03:00
Dmitriy Zaporozhets 40c6d87175 Merge pull request #2315 from koenpunt/gh-issue-513
Added compare switch
2012-12-20 06:15:39 -08:00
Koen Punt b2e31692a5 Added icon 2012-12-20 14:58:07 +01:00
Koen Punt d11f9a632c only show switch if from and to are set 2012-12-20 14:42:05 +01:00
Koen Punt 9916e8d6dc Updated test to match with switched commits
Added compare switch
2012-12-20 14:39:39 +01:00
Koen Punt 6d93eafa6a disabled sorting of commits before compare 2012-12-20 13:50:43 +01:00
Koen Punt a09d938215 Flipping commit ids in commits_between, fixes #513 2012-12-20 13:31:09 +01:00
Dmitriy Zaporozhets 4b02f4a22d show production.log, show only active milestone for issue filter 2012-12-19 07:14:05 +03:00
Dmitriy Zaporozhets e9c6d4adfa Merge branch 'refactor_issues' of dev.gitlabhq.com:gitlab/gitlabhq 2012-12-20 13:50:42 +00:00
Dmitriy Zaporozhets adb17d6052 Cleanup after issues refactor and fix test 2012-12-20 15:39:54 +02:00
Dmitriy Zaporozhets 450c434ac2 Merge pull request #2314 from koenpunt/gh-issue-513
Disabled sorting commit ids
2012-12-20 05:14:14 -08:00
Dmitriy Zaporozhets 2f7effe804 Refactor issues, Remove ajax 2012-12-19 06:14:05 +03:00
Boyan Tabakov e954438a1d Extended users API to support updating and deleting users.
Also added tests.
2012-12-18 21:24:31 +02:00
Dmitriy Zaporozhets aa8d4d9fea Return postgres to travis 2012-12-18 18:39:35 +02:00
Dmitriy Zaporozhets 8826077471 Refactor css lists. Use well-list class 2012-12-18 06:14:05 +03:00
Dmitriy Zaporozhets 85d5f606f6 Labels autocomplete 2012-12-18 06:14:05 +03:00
Dmitriy Zaporozhets 2b921a6c72 Few icons for services list 2012-12-20 11:52:42 +02:00
Dmitriy Zaporozhets 9826db17e7 Merge pull request #2311 from gitlabhq/refactor_scss
Better organization of styles
2012-12-19 11:04:39 -08:00
Dmitriy Zaporozhets 9b57bf7811 Remove main. Use application.scss instead 2012-12-19 20:57:41 +02:00
Dmitriy Zaporozhets 4ea9b3331f Change travis rake task 2012-12-19 19:44:15 +02:00
Dmitriy Zaporozhets 965102b3f6 Move mixins and variables under gitlab bootstrap 2012-12-19 19:02:12 +02:00
Dmitriy Zaporozhets 52fbcd45a4 Better organization of styles 2012-12-19 18:34:24 +02:00
Dmitriy Zaporozhets c0160d008c Merge pull request #2304 from gitlabhq/fix_postgres_notes
Split commit_id and noteable_id for Note
2012-12-19 02:28:35 -08:00
Dmitriy Zaporozhets 69c8231b49 index for commit_id. Schema rebuiled. Non rollback migration exception added 2012-12-19 12:08:27 +02:00
Dmitriy Zaporozhets 96af55bb85 if for migration 2012-12-18 21:06:29 +02:00
Dmitriy Zaporozhets 552c6d4598 Make tests green for postgres 2012-12-18 20:43:44 +02:00
Dmitriy Zaporozhets 9ada678819 Split commit_id and noteable_id for Note 2012-12-18 20:02:00 +02:00
Dmitriy Zaporozhets f4a6f1fd5a Fix admin paging gap issue 2012-12-17 15:57:10 +02:00
Dmitriy Zaporozhets e7abd35f73 gitolite fork up to v320 2012-12-17 15:11:33 +02:00
Dmitriy Zaporozhets 5058c4fdcf Fix wall notes event trying to render target 2012-12-16 19:52:39 +02:00
Dmitriy Zaporozhets 592412992d Account role spec 2012-12-16 18:27:16 +02:00
Dmitriy Zaporozhets 26afde94fd Merge pull request #2250 from jouve/fix_missing_tr_in_thead
add missing mandatory tr in thead
2012-12-16 08:16:42 -08:00
Dmitriy Zaporozhets 45e208cb19 Merge pull request #2287 from Partugal/patch-add-more-restricts-to-project-name
added more denied project names
2012-12-16 08:15:57 -08:00
Johannes Schleifenbaum d3b3810928 fix dark code preview background when displaying long lines 2012-12-15 11:44:30 +01:00
Sergey Linnik f7e934696c added more denied project names 2012-12-15 14:33:45 +04:00
Dmitriy Zaporozhets 0f7d3f591c Moving repositories spec to roles. Added missing spec for project 2012-12-15 12:32:09 +02:00
Dmitriy Zaporozhets 120f50cff4 Merge pull request #2286 from nuecho/fix-doc-api-issues
Removed delete section in issues API documentation
2012-12-15 01:29:43 -08:00
Riyad Preukschas d2be7577c1 Merge pull request #2243 from jouve/fix_gfm_username_autocomplete
fix gfm autocomplete for usernames
2012-12-14 13:56:06 -08:00
Matthieu Vachon 40c11a3663 Removed delete section in issues API documentation 2012-12-14 16:06:02 -05:00
Riyad Preukschas 645afc384a Display namespace for projects in gitlab:check task. 2012-12-14 21:13:07 +01:00
Dmitriy Zaporozhets 9cf1f69cfa Merge branch 'feature/note_milestone_events' 2012-12-14 22:10:02 +02:00
Dmitriy Zaporozhets b79e00881e Uncommented test observing comment event 2012-12-14 22:05:10 +02:00
Dmitriy Zaporozhets 0ff468160e Fixed event.allowed? with event.proper? 2012-12-14 21:54:49 +02:00
Dmitriy Zaporozhets f03dc8716d Fix author_id_of_changes mass assignment 2012-12-14 21:48:16 +02:00
Dmitriy Zaporozhets f2db188dbe Processing with note events. reformated dashboard for more events to handle 2012-12-14 21:39:55 +02:00
Riyad Preukschas 69c18903e7 Update gitlab:check task to use the Gitlab.config.ssh_user setting 2012-12-14 20:22:34 +01:00
Dmitriy Zaporozhets 678e5355a3 Create events on comments and milestone 2012-12-14 19:33:33 +02:00
Dmitriy Zaporozhets 190e483fb4 Rework of milestones 2012-12-14 08:34:05 +03:00
Dmitriy Zaporozhets b01f8b63c2 added NamespacedProject role. Extended project info displayed for admin. Fixed project limit 2012-12-14 08:14:05 +03:00
Dmitriy Zaporozhets 44209861e8 Allow group path renaming. Dont show project transfer if no permissions. More danger messages :) 2012-12-14 06:14:05 +03:00
Dmitriy Zaporozhets a8fbda945e bit reordering and cleanup unused styles 2012-12-13 21:44:55 +02:00
Dmitriy Zaporozhets e228dae876 Fix spec/workers/post_receive_spec.rb 2012-12-13 19:20:37 +02:00
Dmitriy Zaporozhets 1d156c9c8e Fix project lookup. Show error if project transfer fails 2012-12-13 19:20:37 +02:00
Dmitriy Zaporozhets d09873018a Merge pull request #2278 from gravis/patch-1
Update README.md
2012-12-13 07:57:13 -08:00
Philippe Lafoucrière d41175cf21 Update README.md
Add dependencies status badge
2012-12-13 16:55:38 +01:00
Dmitriy Zaporozhets 03369a9165 Use one helper for linking to team member. More clear title for Issue and MR 2012-12-13 06:14:05 +03:00
Dmitriy Zaporozhets 57e210f6e5 Merge pull request #2266 from riyad/improve-status-checks
Improve status checks
2012-12-13 03:14:41 -08:00
Riyad Preukschas fe608f3039 Update gitlab:check task docs 2012-12-13 12:11:49 +01:00
Riyad Preukschas 1309a40b5e Update installation guide 2012-12-13 12:11:47 +01:00
Riyad Preukschas c3b9774f4b Update and add checks 2012-12-13 12:11:41 +01:00
Riyad Preukschas 71266ad28f Split and renamed check tasks 2012-12-13 12:09:48 +01:00
Riyad Preukschas 0236b3d17e Rename status rake task to check 2012-12-13 12:09:48 +01:00
Sato Hiroyuki 5fd830f01c Improve network-graph 2012-12-13 10:10:10 +09:00
Cyril a5861b8ff3 fix gfm autocomplete for usernames 2012-12-13 01:44:25 +01:00
Riyad Preukschas fa203e8b67 Update installation docs to reduce the amount of possible errors
Closes #2080
Fixes #2264
2012-12-13 00:46:38 +01:00
Cyril d3b8952f8f Add username to User and UserBasic entities in API and in examples in doc. 2012-12-12 18:51:20 +01:00
Valeriy Sizov b48852e789 Merge pull request #2261 from jouve/fix_user_validation
Validates presence of User#name
2012-12-12 09:47:56 -08:00
Dmitriy Zaporozhets bca7bddd3d Add ace editor to snippets 2012-12-12 19:42:08 +02:00
Cyril 63d9373aa8 Validates presence of User#name
The 2 reasons are :
- creation of user fail if name is empty : in after_save, it tries to create a
namespace with namespace.name = user.name and namespece validates presence
Namespace#name
- in the web app links to team members are broken with empty User#name because
they are of the form <a href'...'> user.name </a>
2012-12-12 17:53:43 +01:00
Dmitriy Zaporozhets 273c0d2aa3 Merge pull request #2253 from alexleutgoeb/patch-1
Minor: Change html input type to "email" on sign-in view
2012-12-12 04:17:14 -08:00
Dmitriy Zaporozhets e9bef9c007 Merge pull request #2258 from jasl8r/issue-2193-grack-read-only-access
Support read-only access for git over HTTP
2012-12-12 04:16:39 -08:00
Dmitriy Zaporozhets 439d03bbed Fix namespace api autocomplete 2012-12-12 12:54:28 +02:00
Dmitriy Zaporozhets 105f5ba3c9 Reduce header font a bit. Moved to mixin header font styles 2012-12-12 12:30:19 +02:00
Dmitriy Zaporozhets d7eb314553 Project titles with namespaces 2012-12-12 12:02:29 +02:00
Jeremy Slater 6cf5d7c96d Support read-only access for git over HTTP 2012-12-11 15:28:40 -05:00
Dmitriy Zaporozhets 743073ce5f pretty gl icon for dark themes. Removed old gl icons 2012-12-11 21:11:29 +02:00
Dmitriy Zaporozhets 7f636b1306 Fix project namespaces for web hooks data 2012-12-11 19:16:56 +02:00
Dmitriy Zaporozhets 59a86e4229 Fix resque exception 2012-12-11 18:46:58 +02:00
Dmitriy Zaporozhets 95af2baa37 Fix commit links in network graph 2012-12-11 18:14:18 +02:00
Alex Leutgöb f2bf05066d Add autofocus attribute to sign-in email field 2012-12-11 11:57:25 +01:00
Alex Leutgöb 8738eb2369 Change html input type to "email" on sign-in view
As long as the username is the user's email address it makes sense to use input="email" helper for the email field. This allows HTML5 capable (mobile) devices to bring up an email input keyboard instead of the default one.
2012-12-11 11:25:55 +01:00
Dmitriy Zaporozhets 5d219bd5f0 Fix gitolite error instructions 2012-12-11 09:22:14 +02:00
Dmitriy Zaporozhets ca936d2784 Improve CI integration for merge requests 2012-12-11 06:14:05 +03:00
Dmitriy Zaporozhets c92726e6c8 Reordered developers seeds a bit. Now seeds faster and has valid post-receive files 2012-12-11 13:44:36 +02:00
Cyril c76764b7dc add missing mandatory tr in thead 2012-12-11 02:39:05 +01:00
Cyril 7d3ee2baa6 add username to team_member page 2012-12-11 02:17:09 +01:00
Riyad Preukschas 9f940aeaf4 Fix detecting Ruby version and Omniauth providers in gitlab:env:info task
Fixes #2245
2012-12-10 22:53:33 +01:00
Riyad Preukschas 8918d11379 Fix project hook spec 2012-12-10 21:00:10 +01:00
Riyad Preukschas a5243178ed Fix commit url in PushObserver#post_receive_data
Fixes #2246
2012-12-10 20:28:18 +01:00
Dmitriy Zaporozhets b1437d4c8d use link_to_project for Dashboard: Issues, MR 2012-12-10 15:39:10 +02:00
Riyad Preukschas 20c8d6e644 Merge pull request #2222 from jojosch/add-test-help-raketasks
add help/raketasks to routing spec and search autocomplete
2012-12-10 05:38:14 -08:00
Riyad Preukschas d476bc01ee Merge pull request #2240 from koenpunt/patch-1
Added link to support forum
2012-12-10 05:31:27 -08:00
Koen Punt f6fd2e309f Added link to support forum 2012-12-10 12:15:51 +01:00
Dmitriy Zaporozhets bf13579b92 Make admin sorting more obvious 2012-12-10 06:14:05 +03:00
Riyad Preukschas 2b79706d6d Fix spelling and wording in installation.md 2012-12-10 01:08:34 +01:00
Dmitriy Zaporozhets a76a34dd1d Fix installatiion doc 2012-12-09 16:05:24 +02:00
Dmitriy Zaporozhets f1dfc27c5d Replace project with namespace for events 2012-12-09 16:03:24 +02:00
Dmitriy Zaporozhets f4d9059b7e Show project with namespace in feeds 2012-12-09 10:56:15 +02:00
Dmitriy Zaporozhets 8a08fdcd32 Fix worker specs to parse namespaces 2012-12-09 10:34:46 +02:00
Dmitriy Zaporozhets 80e984ee5e Fix project lookup in post receive 2012-12-08 20:48:33 +02:00
Johannes Schleifenbaum 3a48177762 add help raketasks to search autocomplete 2012-12-08 17:35:10 +01:00
Johannes Schleifenbaum f8144bd377 add help/raketasks to routing spec 2012-12-08 11:42:38 +01:00
Koen Punt 4b2ecbc420 Updated branch-graph, abstracted some code in seperate functions
Removed unused Raphael.fn.popup
2012-12-07 22:05:17 +01:00
Dmitriy Zaporozhets db7e0bf88d Merge pull request #2215 from jojosch/fix-notify-notes
fix notify_team on wall
2012-12-07 12:52:22 -08:00
Dmitriy Zaporozhets dfc5adfc23 Merge pull request #2188 from riyad/update-installation-docs
Update installation docs
2012-12-07 12:43:25 -08:00
Johannes Schleifenbaum eededdd4be fix notify_team on wall 2012-12-07 19:36:12 +01:00
Koen Punt e1282d507f BranchGraph now loads async
Centralized keyboard and drag events for BranchGraph
2012-12-07 19:06:46 +01:00
Koen Punt 40576b8709 Fixed #1509 by converting the entities in js
Converted BranchGraph to some sort of Class
2012-12-07 17:39:40 +01:00
Riyad Preukschas d8a239e4b1 Add instructions for dealing with the Python 2 vs 3 mess 2012-12-07 17:32:38 +01:00
Riyad Preukschas f127382be3 Add checking installtion with gitlab:env:info task 2012-12-07 17:28:47 +01:00
Riyad Preukschas 0c59de2e71 Make sure the user edits gitlab.yml 2012-12-07 17:28:05 +01:00
Riyad Preukschas 12b4bb5946 Make gitlab:env:info task more robust
Closes #2213
2012-12-07 16:42:09 +01:00
Dmitriy Zaporozhets 84465576d7 Dont show remove project button if you have no permission 2012-12-07 15:53:04 +02:00
Ariejan de Vroom 3d9ba7b76c Merge pull request #2202 from gitlabhq/ui/tiny_nav
Redesign for navigation bar.
2012-12-07 01:35:48 -08:00
Ariejan de Vroom 85db534afc Merge pull request #2208 from jouve/username2
Allow proper use of @username in Git(lab|hub) Flavored Markdown.
2012-12-07 01:30:36 -08:00
Ariejan de Vroom 945fe846a1 Merge pull request #2007 from Partugal/patch-custom-gravatar
Allow using a custom Gravatar URL.

Default is still set to the Gravatar.com service, but allows override
for a custom gravatar-ish service.
2012-12-07 01:19:25 -08:00
Cyril 045b4c8fcd replace user.name by user.username in GFM 2012-12-07 04:46:29 +01:00
Sergey Linnik 0aa7f79ca4 allow customize gravatar url 2012-12-07 00:44:22 +04:00
Riyad Preukschas 23a8e59938 Improve gitlab:env:info task
Renamed from gitlab:app:info
Add several extra info points
2012-12-06 21:16:48 +01:00
Sergey Linnik 2c37fa381e fix some glitches in gravatar image url generation
always use proper size value
do not show alt text when avatar image not loaded
2012-12-07 00:03:13 +04:00
Riyad Preukschas 552c2d665b Merge pull request #2205 from Partugal/patch-fix-spec
fix failing spec
2012-12-06 12:00:45 -08:00
Sergey Linnik 07e4a12a09 fix failing spec 2012-12-06 23:38:38 +04:00
Riyad Preukschas ab77ceca53 Merge pull request #2204 from cdawzrd/patch-1
Spelling fix to rake info task
2012-12-06 11:24:23 -08:00
Jon Evans 32d9c223a5 Spelling fix to rake info task 2012-12-06 14:10:42 -05:00
Riyad Preukschas f2c89c7c90 Merge pull request #2194 from jojosch/rake-info-task
add rake task to gather system information
2012-12-06 07:39:42 -08:00
Dmitriy Zaporozhets 55f776f095 Tiny nav 2012-12-06 16:54:53 +02:00
Riyad Preukschas c338321695 Update jquery-atwho-rails gem
Fixes #1860
2012-12-06 15:42:08 +01:00
Riyad Preukschas 9b96509899 Fix broken styling after #2176
Closes #2196
2012-12-06 11:08:51 +01:00
Johannes Schleifenbaum b39aba73d5 add rake task to gather system information 2012-12-05 22:06:47 +01:00
Riyad Preukschas 8022628f70 Add more indexes (see #2159) 2012-12-05 21:50:20 +01:00
Riyad Preukschas 4af26f66f8 Update installation guide 2012-12-05 20:34:11 +01:00
Riyad Preukschas 198e93ccf2 Update hardware and platform requirements guide 2012-12-05 19:31:08 +01:00
Riyad Preukschas 7591718ef2 Consistently use sudo -u foo -H 2012-12-05 18:21:28 +01:00
Riyad Preukschas 78d3611eba Remove redundant packages and move database specific ones to the db setup
* build-essential requires make, gcc
* remove libmysql++-dev: the mysql2 gem only requires libmysqlclient-dev
* remove postgresql-server-dev-9.1: the pg gem only requires libpq-dev
* replace python-dev, python-pip with python2.7: the pygments.rb gem only requires python2.7
2012-12-05 18:18:09 +01:00
Riyad Preukschas 95ffe08674 Update database setup instructions to be more consistent 2012-12-05 17:53:24 +01:00
Riyad Preukschas d1e31bfce9 Remove generic database.yml.example 2012-12-05 17:38:54 +01:00
Dmitriy Zaporozhets 4c3cdfa4ff Make profile dropbown a bit bigger 2012-12-05 17:08:24 +02:00
Dmitriy Zaporozhets a350b52c9b Rewrite project security model tests 2012-12-05 17:06:15 +02:00
Dmitriy Zaporozhets 674efd38d8 Fix 500 error on services page. Fixed active project tab when on services 2012-12-05 14:17:40 +02:00
Dmitriy Zaporozhets cc0295b789 Only owner can remove project 2012-12-05 06:14:05 +03:00
Riyad Preukschas b47173da6a Revamped note form options. 2012-12-03 22:51:57 +01:00
Riyad Preukschas 4ed8278870 Fix a bunch of smaller glitches. 2012-12-03 22:51:57 +01:00
Riyad Preukschas 7978f8dd2b Fix handling form errors. 2012-12-03 22:51:57 +01:00
Riyad Preukschas c1ffee4e65 Fix dicussion headers 2012-12-03 22:51:57 +01:00
Riyad Preukschas c20af32ae4 Pull together and rename Notes partials 2012-12-03 22:51:57 +01:00
Riyad Preukschas 6fc10fa256 Unify forms for discussions and main target.
Allows previews and uploads in all forms.
Also fixes #1730
2012-12-03 22:51:56 +01:00
Riyad Preukschas fbd345ea20 Make attachments more obvious 2012-12-03 22:51:56 +01:00
Riyad Preukschas c4a7824a8c Fix wall notes 2012-12-03 22:51:56 +01:00
Riyad Preukschas 140652e9b0 Fix common form and note preview 2012-12-03 22:51:56 +01:00
Riyad Preukschas 5d3fb35cd1 Rename JS behaviors 2012-12-03 22:51:56 +01:00
Riyad Preukschas 918dc87376 Move code for appending a discussion note to notes JS 2012-12-03 22:51:56 +01:00
Riyad Preukschas fac4e3f2e5 Reformat notes JS 2012-12-03 22:51:56 +01:00
Riyad Preukschas d9b15fc17d Crop and rename the add diff note image 2012-12-03 22:51:56 +01:00
Riyad Preukschas 494ae87840 Refactor discussion reply 2012-12-03 22:51:56 +01:00
Riyad Preukschas 1319373d58 Fix loading notes with empty line_code in Project#commit_notes 2012-12-03 22:51:56 +01:00
Riyad Preukschas e8f10f317f Fix Note validation
* remove length restriction on note
* add format validation for line_code
2012-12-03 22:51:56 +01:00
Riyad Preukschas 654f10102e Remove paging from all notes except the wall 2012-12-03 22:51:56 +01:00
Riyad Preukschas 06ea122840 Refactor diff notes creation 2012-12-03 22:51:56 +01:00
Riyad Preukschas 39834ec640 Move diff notes into the actual diff content column 2012-12-03 22:51:56 +01:00
Riyad Preukschas 4d2278e7c6 Rename commits/text_file partial to text_diff 2012-12-03 22:51:56 +01:00
Riyad Preukschas 6d5c29dc2b Inline diff_notes_reply_button partial 2012-12-03 22:51:56 +01:00
Riyad Preukschas 3bc507e5c5 Rename diff note partials 2012-12-03 22:51:56 +01:00
Riyad Preukschas 534bd5a268 Fix emoji generation and styling 2012-12-03 22:51:56 +01:00
Riyad Preukschas bd60a4ed40 Make notes JS know which notes are new in a request 2012-12-03 22:51:56 +01:00
Riyad Preukschas ae067ee322 Fix vote counting 2012-12-03 22:51:56 +01:00
Riyad Preukschas 6c6f415cae Fix appending diff line notes 2012-12-03 22:51:55 +01:00
Riyad Preukschas 5c2f6d7f05 Update notes views to support discussions 2012-12-03 22:51:55 +01:00
Riyad Preukschas 0b3df2f128 Add merge request note feature 2012-12-03 22:51:55 +01:00
Riyad Preukschas 7971383d53 Rename the "Comments" tab for merge requests "Discussion" 2012-12-03 22:51:55 +01:00
Riyad Preukschas a048c955fd Add JS behaviors 2012-12-03 22:51:55 +01:00
Riyad Preukschas a58385247d Add discussions for merge requests to notes controller 2012-12-03 22:51:55 +01:00
Riyad Preukschas 9b919939a3 Fix parameter passing and wording for per line notes 2012-12-03 22:51:55 +01:00
Riyad Preukschas b91d680257 Fix notes helper 2012-12-03 22:51:55 +01:00
Riyad Preukschas fc1c250d40 Reorder Note methods and add helpers 2012-12-03 22:51:55 +01:00
Dmitriy Zaporozhets 63dac843fd Merge pull request #2149 from jojosch/help-rake-tasks
add help page for gitlab specific rake tasks
2012-12-03 09:07:37 -08:00
Johannes Schleifenbaum fddc0c29aa add help page for gitlab specific rake tasks 2012-12-03 17:19:33 +01:00
Dmitriy Zaporozhets 7b97e30449 More indices for asscociations. related to #2159 2012-12-03 18:11:47 +02:00
Dmitriy Zaporozhets 8dec24a33c Event indices related to #2159 2012-12-03 17:50:33 +02:00
Dmitriy Zaporozhets 05820516f1 Remove annoying failing spec 2012-12-03 17:38:35 +02:00
Dmitriy Zaporozhets a5105ddf13 Fix broken CSS 2012-12-03 14:39:13 +02:00
Dmitriy Zaporozhets 6ea6ab7c8d Restyled services page in order to make it more usable 2012-12-02 08:41:06 +03:00
Dmitriy Zaporozhets c0c5d94b2b Merge pull request #2177 from riyad/update-pygments.rb
Update pygments.rb
2012-12-05 02:45:22 -08:00
Riyad Preukschas 2519fd8376 Update pygments.rb
Fixes #1774
2012-12-05 02:14:08 +01:00
Riyad Preukschas 005f2eb9f0 Merge pull request #2176 from koenpunt/gh-issue-1612
Fix for #1612 `overflow: auto` so content won't break layout
2012-12-04 16:40:08 -08:00
Koen Punt 61140b71cd overflow: auto so content won't break layout #1612 2012-12-05 01:22:30 +01:00
Dmitriy Zaporozhets e376f31507 Admin can move project to ANY namespace. Updated permissions page 2012-12-04 22:48:24 +02:00
Dmitriy Zaporozhets 2a1c5cdf99 Only owner of current namespace can change project namespace 2012-12-04 22:06:55 +02:00
Riyad Preukschas f6bfa095bf Merge pull request #2172 from skarphet/patch-1
Devise locale updated to stay consistent with GitLab
2012-12-04 11:17:56 -08:00
skarphet 107a4e386a Devise locale updated to stay consistent with GitLab 2012-12-04 19:19:26 +01:00
Dmitriy Zaporozhets 9acd7cf1bd Show namespaces when adding projects to user in admin area 2012-12-04 15:26:12 +02:00
Dmitriy Zaporozhets d8398921eb Dont allow select block user as new team member 2012-12-04 15:22:22 +02:00
Dmitriy Zaporozhets ba74fa1413 Remove some bugs. Add warnings for renaming group. Add ability to cahnge group owner. 2012-12-03 21:14:05 +03:00
Dmitriy Zaporozhets 7f6bbf06f8 Fix bug getting started message when navigate to personal projects w/o them exist 2012-12-04 11:18:41 +02:00
Nihad Abbasov 87e0429fb1 update link to travis-ci 2012-12-04 12:39:09 +04:00
Dmitriy Zaporozhets f2a76228f2 Remove unsued css styles. Fixed Milestone preselected date. 2012-12-01 09:14:05 +03:00
Dmitriy Zaporozhets 2d076394aa Fix github issue #967 2012-12-03 13:22:28 +02:00
Dmitriy Zaporozhets 0530e5baae Add description to project features on edit project page 2012-12-02 19:28:23 +02:00
Dmitriy Zaporozhets e117414e44 Merge pull request #2124 from NARKOZ/api
remove unnecessary API::VERSION constant
2012-12-02 03:30:30 -08:00
Dmitriy Zaporozhets 46bf3a0949 Refactored profile to resource. Added missing flash notice on successfull updated. Update username via ajax 2012-12-02 13:29:24 +02:00
Dmitriy Zaporozhets 2be5e6d443 Merge branch 'master' of github.com:gitlabhq/gitlabhq 2012-12-02 12:18:48 +02:00
Dmitriy Zaporozhets f2e1c8b709 Merge pull request #2138 from jouve/refactor_flash
refactor flash
2012-12-02 02:18:34 -08:00
Valeriy Sizov 1dfbce20d1 Merge pull request #2148 from jojosch/fix-2147
commit diff - check if prev_commit is not nil
2012-12-01 14:02:53 -08:00
Johannes Schleifenbaum 0323610b72 commit diff - check if prev_commit is not nil 2012-12-01 19:31:39 +01:00
Dmitriy Zaporozhets e9212b0aa2 Merge pull request #2141 from NARKOZ/notes-text-limit
remove length limit from notes
2012-12-01 10:30:10 -08:00
Cyril a9a5497915 refactor flash
* make unobtrusive js
* convert js to coffee
2012-12-01 18:40:47 +01:00
Nihad Abbasov 24e172597a remove length limit from notes 2012-12-01 03:19:16 -08:00
Nihad Abbasov 270a43370a API: get a single wall note 2012-12-01 02:20:45 -08:00
Nihad Abbasov b17e94c37b update contents of API README 2012-12-01 02:07:57 -08:00
Nihad Abbasov 42ef89c98a API: expose created date for project hooks and user SSH keys 2012-12-01 02:04:44 -08:00
Nihad Abbasov 968c09ae91 API version returns last version set
* fixed in grape v0.2.2
2012-12-01 02:03:51 -08:00
Dmitriy Zaporozhets 35f0566e08 gitlab meta to 4.0 2012-11-30 23:08:08 +02:00
Dmitriy Zaporozhets c177593e2c Merge pull request #2059 from dolanor/feature-rewording-blocked-users
Rewording for the account being blocked
2012-11-30 12:50:06 -08:00
Dmitriy Zaporozhets 10ec9b2293 Merge pull request #2017 from duksis/backup_restore
bugfix: backup data retrieved with the same type keys as saved
2012-11-30 12:48:27 -08:00
Dmitriy Zaporozhets c19e766f1e Added vendor/bundle to gitignore. Removed project js slugify 2012-11-30 19:49:51 +02:00
Dmitriy Zaporozhets eb3e07a509 Use project owner if no namespace. Restyled team page 2012-11-30 18:26:17 +02:00
Dmitriy Zaporozhets 8bf340f568 change version to 4.0.0pre 2012-11-30 16:47:04 +02:00
Dmitriy Zaporozhets 3c13ef648b Fix MR comments 2012-11-30 16:03:10 +02:00
Dmitriy Zaporozhets c38b9a2f80 Filter projects on dashboard 2012-11-30 13:40:34 +02:00
Valeriy Sizov a03f318964 Merge pull request #2119 from erroric/fix_issue2118
issue #2118: fix undefined method  for nil:NilClass exception
2012-11-30 01:19:29 -08:00
Valeriy Sizov cf12763d5b Merge pull request #2127 from NARKOZ/notes-api
API: don't expose 'updated_at' for notes
2012-11-30 01:09:49 -08:00
Nihad Abbasov ee6187bd55 API: ability to create a wall note 2012-11-29 15:52:56 -08:00
Nihad Abbasov 2a98a060ca API: don't expose 'updated_at' for notes 2012-11-29 14:41:24 -08:00
Nihad Abbasov eb061b9b06 fix label name 2012-11-29 14:26:18 -08:00
Dmitriy Zaporozhets 2d17d6f1bc Merge pull request #2123 from NARKOZ/notes-api
Notes API
2012-11-29 13:05:57 -08:00
Nihad Abbasov 24047e1e8d update CHANGELOG 2012-11-29 12:35:16 -08:00
Nihad Abbasov 658f260e98 add docs for notes API 2012-11-29 12:32:05 -08:00
Nihad Abbasov 961cb285b0 API: restore broken merge request commenting 2012-11-29 12:11:01 -08:00
Nihad Abbasov c946bf886c API: create new notes 2012-11-29 12:11:00 -08:00
Nihad Abbasov 1c5aa848ce API: get a single note 2012-11-29 12:11:00 -08:00
Nihad Abbasov 9a4974b760 correct example 2012-11-29 12:11:00 -08:00
Nihad Abbasov 01eab583d0 API: list wall, snippet and issue notes 2012-11-29 12:11:00 -08:00
Dmitriy Zaporozhets aaa1c94239 Manage team from groups page. Phase 1 2012-11-29 20:14:05 +03:00
Dmitriy Zaporozhets 08fded3fac Minor improvments to UI 2012-11-29 18:09:27 +02:00
Alexey Loktionov c954f2d982 issue #2118: fix undefined method for nil:NilClass exception 2012-11-29 19:39:30 +04:00
Dmitriy Zaporozhets 9df6f7bfad authorized_projects and authorized_groups methods for user 2012-11-29 17:17:01 +02:00
Dmitriy Zaporozhets 83f2a387d6 Merge pull request #2117 from koenpunt/scss-cleanup
Scss cleanup
2012-11-29 06:51:27 -08:00
Dmitriy Zaporozhets 1d889a79fb Fix group duplication on dashboard and project order in group 2012-11-29 16:43:09 +02:00
Koen Punt 1481bae559 Selective responsive bootstrap 2012-11-29 15:37:28 +01:00
Koen Punt 0f31392712 Mixins are now all with dashes instead of underscores
(there really should be some convention for all gitlab css)
2012-11-29 12:18:44 +01:00
Koen Punt d7e9eda24d renamed blue_link var to primary_color 2012-11-29 12:18:44 +01:00
Koen Punt df0bd0c212 Removed bg-gradient, now directly using linear-gradient 2012-11-29 12:18:44 +01:00
Koen Punt 81175073a0 removed overqualified mixins round-borders-* 2012-11-29 12:18:44 +01:00
Koen Punt 238c214ac9 Forgot to rename var 2012-11-29 12:18:44 +01:00
Koen Punt b825582eb1 replaced redundant -*-border-radius box-shadows and others with corresponding mixins 2012-11-29 12:18:44 +01:00
Koen Punt 84de1b71d1 Added some uniformity, all css properties and values are separated by a colon and a space `: ` 2012-11-29 12:18:44 +01:00
Koen Punt 755e4a4700 Removed css declarations out of main.scss, so main is only a collector
Fonts, variables and mixins are now all in their own stylesheets
2012-11-29 12:18:44 +01:00
Dmitriy Zaporozhets eb1004f789 Refactor abilities. Added ProjectUpdate context. Fixed few bugs with namespaces 2012-11-29 12:39:03 +02:00
Saito a1ffc673b9 Merge pull request #2096 from panxiaoming/master
can't open a chinese file name doc
2012-11-29 02:02:22 -08:00
Dmitriy Zaporozhets cf8b3692cd Merge pull request #2105 from jouve/improve_admin_views
Improve admin section
2012-11-29 00:39:50 -08:00
Dmitriy Zaporozhets ff9a2e2a93 Improve admin logs 2012-11-29 07:49:11 +03:00
Dmitriy Zaporozhets a0aa0212a9 Removed feature: comments on wiki 2012-11-29 06:14:05 +03:00
Dmitriy Zaporozhets df03275eaa Merge pull request #1655 from zzet/feature/resque_fix
fix resque start
2012-11-28 10:35:32 -08:00
Dmitriy Zaporozhets f064459086 Merge pull request #2107 from AlexDenisov/projects_count_at_dashboard
Projects count at dashboard
2012-11-28 10:34:13 -08:00
Alex Denisov 34c2d8e82e authorized_for scope added to project 2012-11-28 20:09:13 +02:00
Alex Denisov 15a72a3b87 Spinach test added 2012-11-28 19:59:19 +02:00
Dmitriy Zaporozhets c873cf81f6 Restyled error messages in common way. Added title to head partial 2012-11-28 19:40:54 +02:00
Cyril e0a9ffcdaa Improve admin views for project and groups
* layout: add 'Groups' item to main_menu
* admin/dashboard: add a ui-box for groups
* projects and groups: remove nav tabs
2012-11-28 18:04:28 +01:00
Dmitriy Zaporozhets d8f825ef00 Merge pull request #2103 from tsigo/issue_project_link_rebase
Add a link to each project on the Issues dashboard
2012-11-28 08:39:44 -08:00
Robert Speicher 4db362f519 Add a link to each project on the Issues dashboard 2012-11-28 11:00:02 -05:00
Riyad Preukschas 3d242a3154 Fix GitLab Markdown helper spec 2012-11-28 16:05:58 +01:00
panxiaoming e2b73513f4 fixed the bug of URIDECODE error
if link to a chinese file name, it will jump to error page;
for example, the chinese file name called "消息文档.md", when after urlencode, it will be "%E6%B6%88%E6%81%AF%E6%96%87%E6%A1%A3.md", but after use History.pushState, will jump to a bad decode link.
2012-11-28 10:09:55 +08:00
Dmitriy Zaporozhets 7acd060400 Merge pull request #2095 from riyad/fix-code-highlighting
Fix code highlighting
2012-11-27 14:17:32 -08:00
Riyad Preukschas dc99b19af7 Fix CSS for code highlighting 2012-11-27 22:51:10 +01:00
Riyad Preukschas d2767221a5 Fix code blocks in Markdown not knowing about the user's color scheme 2012-11-27 22:51:07 +01:00
Riyad Preukschas 184a9ecaf6 Add user_color_scheme_class helper 2012-11-27 22:51:05 +01:00
Valeriy Sizov 99e1d9d8b9 Merge pull request #2093 from riyad/remove-sqlite
Remove SQLite support
2012-11-27 13:41:07 -08:00
Riyad Preukschas 0fbd9ac748 Remove SQLite support 2012-11-27 21:36:09 +01:00
Dmitriy Zaporozhets c4f3c54ecb Fix group spinach feature 2012-11-27 21:33:56 +02:00
Dmitriy Zaporozhets 4340112398 Remove unused responsive formats 2012-11-27 21:30:39 +02:00
Dmitriy Zaporozhets cfeddb554e Fix user creation cause of dual namespace build 2012-11-27 18:27:13 +00:00
Dmitriy Zaporozhets 81f8114f24 NamespacesHelper 2012-11-27 17:48:25 +02:00
Dmitriy Zaporozhets 039996bd0a Fix invalid method call for gitolite 2012-11-27 16:35:00 +02:00
Dmitriy Zaporozhets f5551efdfd Rewrite and improve git backend logic. Fix project movind. Raise exception to prevent unexpected issues 2012-11-27 09:31:15 +03:00
Tanguy Herrmann 70ef433e09 Rewording for the account being blocked
When signing in with SSO, if the default behaviour of gitlab is to block SSO user, the only message the people will get is 'Your account was blocked'

They should get the idea this might be only temporary and not because of a technical problem
2012-11-24 18:21:57 +01:00
Dmitriy Zaporozhets 5f7dc99a62 Remove postrgres from travis.yml cause it fails 1week+ 2012-11-23 17:39:36 +02:00
Dmitriy Zaporozhets 319f0c3057 Merge branch 'master' into stable
Conflicts:
	doc/install/installation.md
2012-11-22 12:52:08 +02:00
Dmitriy Zaporozhets 70bf7f6e19 Project -> update repo only on create and destroy. Fixtures Updated with namespaces. Fixed moving repo 2012-11-21 08:54:05 +03:00
Dmitriy Zaporozhets cc52eed981 Show namespace in search autocomplete 2012-11-27 07:29:11 +03:00
Dmitriy Zaporozhets 285743eee1 Merge pull request #2070 from jouve/fix_destroy_project
fix destroy project from admin
2012-11-27 01:53:24 -08:00
Dmitriy Zaporozhets d7c5885c3d Improved Issues and MR filters 2012-11-27 07:29:11 +03:00
Dmitriy Zaporozhets ade80e5c4d Update version and changelog 2012-11-27 06:14:05 +03:00
Cyril b382ce4d91 fix destroy project from admin 2012-11-26 01:22:44 +01:00
Dmitriy Zaporozhets 1d857aae17 project admin area - show project name with namespace 2012-11-25 18:52:12 +02:00
Dmitriy Zaporozhets ae282f6326 remove invalid condition 2012-11-25 18:29:18 +02:00
Dmitriy Zaporozhets 04b51a2b89 Improve activate_namespace task to build missing dirs and moving repos correctly 2012-11-25 18:24:27 +02:00
Dmitriy Zaporozhets fbe03c506f Improved namespace activation task 2012-11-25 17:58:06 +02:00
Dmitriy Zaporozhets be942d74af Merge pull request #2051 from gitlabhq/namespaces
User/Group namespaces for projects
2012-11-25 07:07:01 -08:00
Dmitriy Zaporozhets 1d7fdf45ff Removed unused spec 2012-11-25 16:53:49 +02:00
Dmitriy Zaporozhets 97a92f8ae7 Fixed user.namespace_id exception if namespace is nil 2012-11-25 12:26:34 +02:00
Dmitriy Zaporozhets c31d48dd25 Allow project creation in scope of group for non-admin but group owners 2012-11-25 11:57:01 +02:00
Dmitriy Zaporozhets 2f22874ba6 Fix group assoc. Show namespace in project list 2012-11-24 22:39:51 +02:00
Dmitriy Zaporozhets 65c470e843 Reannotated 2012-11-24 22:16:51 +02:00
Dmitriy Zaporozhets 3f1d6d6ab3 move namespace dir after path changed 2012-11-24 22:11:46 +02:00
Dmitriy Zaporozhets f37fa968b2 add ability to change namespace from project edit page 2012-11-24 22:00:30 +02:00
Dmitriy Zaporozhets f997947664 Project can be transfered to namespace and out now 2012-11-24 12:37:30 +02:00
Dmitriy Zaporozhets d405c8fc60 Create namespace on username init. Raise exception if project cannot be moved 2012-11-24 12:25:04 +02:00
Dmitriy Zaporozhets 4023d9f852 class for moving project 2012-11-24 11:46:19 +02:00
Dmitriy Zaporozhets d71a68af41 Fxied seeds 2012-11-23 23:10:59 +02:00
Dmitriy Zaporozhets 0693215c30 Fixed spinach and tests. Build should pass now 2012-11-23 22:55:38 +02:00
Dmitriy Zaporozhets 0e1635a68a Fixing requests after namespaces. Fixed admin bug with access to project 2012-11-23 22:25:28 +02:00
Dmitriy Zaporozhets e92b563acf Fix model tests 2012-11-23 20:53:24 +02:00
Dmitriy Zaporozhets 9304d049de Fixed some tests and snippet colorize 2012-11-23 22:31:09 +03:00
Dmitriy Zaporozhets 470aa7675e Fix project.code-related functionality 2012-11-23 21:31:09 +03:00
Dmitriy Zaporozhets c50ec72b52 Deprecate code for Project. Use title and path 2012-11-23 21:11:09 +03:00
Dmitriy Zaporozhets ab9d023651 Create dir with namespace. Create namespace with user 2012-11-23 09:11:09 +03:00
Dmitriy Zaporozhets f17ddeb394 Make admin project list more useful 2012-11-23 07:24:09 +03:00
Dmitriy Zaporozhets 552b3105fb Fixed admin area. Create project only from one place 2012-11-23 07:31:09 +03:00
Dmitriy Zaporozhets 2b683b0d0b Ability to create project with namespace 2012-11-23 07:11:09 +03:00
Dmitriy Zaporozhets 96105e214f Update namespace if user changed username. Dont move project if new record 2012-11-23 06:39:09 +03:00
Dmitriy Zaporozhets 5ca1772385 Init username migration and rake task for create appropriate namespace 2012-11-23 06:34:09 +03:00
Dmitriy Zaporozhets 26622f4c8f Improve routing. Project access via namespace 2012-11-22 23:34:06 +03:00
Dmitriy Zaporozhets a4d1bc1791 Use namespace in gitolite config 2012-11-22 22:51:26 +03:00
Dmitriy Zaporozhets 71214bee75 Move directory with project. Fixed all related path methods to use namespace 2012-11-22 22:41:26 +03:00
Dmitriy Zaporozhets e29ccece33 Namespace model added. Migration to convert exit project/groups 2012-11-22 21:34:26 +03:00
Dmitriy Zaporozhets ab42370af0 Fix sattellites 2012-11-21 09:14:05 +03:00
Dmitriy Zaporozhets 23734a715e Dashboard filters for events 2012-11-21 08:24:05 +03:00
Dmitriy Zaporozhets 899afd0067 Fix snippet render issue cause of haml preserve 2012-11-26 07:14:05 +03:00
Dmitriy Zaporozhets 29636d4dab Fix snippet render error 2012-11-26 06:14:05 +03:00
Dmitriy Zaporozhets a4e6ab0a29 Fixing and commenting tests 2012-11-26 14:44:29 +02:00
Dmitriy Zaporozhets e750efd9fc Merge pull request #2067 from riyad/diff-and-patch-for-commits-and-merge-requests
Diff and patch for commits and merge requests
2012-11-26 04:40:49 -08:00
Dmitriy Zaporozhets 2d5a6fc850 Fix dir permission on creation 2012-11-26 13:07:16 +02:00
Dmitriy Zaporozhets ca8bb9dff8 Fix projectmover dir permission 2012-11-26 12:52:49 +02:00
Dmitriy Zaporozhets 7ae851f642 Fix critical issue with dir permission for namespaces 2012-11-26 12:43:32 +02:00
Dmitriy Zaporozhets 585eb70588 Fix http push with namespaces. Allow use of username as login 2012-11-26 11:23:08 +02:00
Riyad Preukschas 79a4ed15ce Change "Get Patch" buttons to dropdowns orffering patches and diffs 2012-11-25 00:36:19 +01:00
Riyad Preukschas 267b18dead Add specs for exporting merge requests as diff or patch 2012-11-25 00:06:53 +01:00
Riyad Preukschas b3834bc9b0 Remove MergeRequest#to_raw and replace it with #to_diff and #to_patch 2012-11-25 00:05:47 +01:00
Riyad Preukschas 2b1afa0e62 Remove merge_request#raw and replace it with formats to #show
Needed to add a constraint on the id. Otherwise the format was parsed as part of the id.
2012-11-25 00:05:44 +01:00
Riyad Preukschas ddb7399ac4 Add specs for exporting commits as diff or patch 2012-11-25 00:05:11 +01:00
Riyad Preukschas 3b7c2adf0a Add diff format to commit#show 2012-11-22 20:49:44 +01:00
Riyad Preukschas 246faa3d7a Add Commit#to_diff for raw diff 2012-11-22 20:49:01 +01:00
Riyad Preukschas 8b4010397c Register diff mime type 2012-11-22 20:22:44 +01:00
Riyad Preukschas 6ddf4567f4 Don't escape Html in patches
Fixes #2036
2012-11-22 12:45:39 +01:00
Dmitriy Zaporozhets f614ae8ef7 Increased test coverage 2012-11-21 07:14:05 +03:00
Dmitriy Zaporozhets e9be4b375b Cover ProjectMover with tests 2012-11-21 06:18:05 +03:00
Dmitriy Zaporozhets 47234ab367 Validate username. Gitlab::Regex added 2012-11-28 06:14:05 +03:00
Dmitriy Zaporozhets 5ed4e7e216 Revert raphael-rails in order to make network work correctly 2012-11-28 11:45:33 +02:00
Dmitriy Zaporozhets 0bec49ebc1 Merge pull request #2100 from hiroponz/fix_non_utf8_file_encoding
Fix #2058 diff problem of non ascii paths and non utf-8 file encoding
2012-11-28 01:39:52 -08:00
satoh 001729bb40 Fix #2058 diff problem of non ascii paths and non utf-8 file encoding 2012-11-28 18:32:06 +09:00
Hugo Duksis a9c2500a55 Stub for Dir.chdir as it is not needed 2012-11-20 16:34:58 +02:00
Hugo Duksis e7e1e99e92 retrieve settings with symbols 2012-11-19 22:42:58 +02:00
Hugo Duksis a8eb3fe1d2 tests for issue #1984 2012-11-19 22:42:58 +02:00
Vanja Radovanović 333f7372c5 fix: grouping by date desc doesn't sort it too 2012-11-19 11:44:28 +01:00
randx e469084ccc Fix installation docs 2012-10-29 21:34:16 +02:00
Dmitriy Zaporozhets 7ecfaccf14 Merge branch 'master' into stable 2012-10-24 16:14:03 +03:00
Dmitriy Zaporozhets 3fa6ed8eb2 Merge branch 'master' into stable 2012-10-24 12:43:00 +03:00
Dmitriy Zaporozhets 8e7230fd99 Merge branch 'master' into stable 2012-10-22 19:02:02 +03:00
Dmitriy Zaporozhets d15643705b Merge branch 'master' into stable 2012-10-22 16:08:18 +03:00
Andrey Kumanyaev 03836cc591 fix resque start 2012-10-09 00:19:07 +04:00
Maxim Filatov 93cb01ea9b Auth: Net::BER::BerIdentifiedStrings to Strings 2012-09-28 18:08:13 +04:00
Dmitriy Zaporozhets fa1f8513d9 Merge branch 'master' into stable 2012-09-24 10:46:38 +03:00
Dmitriy Zaporozhets 1c5cb538f2 Merge branch 'master' into stable 2012-09-24 10:35:59 +03:00
Dmitriy Zaporozhets 6dd47c5905 Merge branch 'master' into stable 2012-09-21 15:47:07 +03:00
Gabor Liptak cb2be3ce0a Don't email omniauth created users 2012-09-19 13:36:00 -05:00
randx 4a1b42d26c update install to use recipes
Conflicts:

	doc/installation.md

Signed-off-by: Nihad Abbasov <narkoz.2008@gmail.com>
2012-09-11 07:35:36 +05:00
1167 changed files with 28499 additions and 114129 deletions

7
.gitignore vendored
View File

@ -2,7 +2,7 @@
.rbx/
db/*.sqlite3
db/*.sqlite3-journal
log/*.log
log/*.log*
tmp/
.sass-cache/
coverage/*
@ -19,7 +19,12 @@ config/gitlab.yml
config/database.yml
config/initializers/omniauth.rb
config/unicorn.rb
config/resque.yml
config/aws.yml
db/data.yml
.idea
.DS_Store
.chef
vendor/bundle/*
rails_best_practices_output.html
doc/code/*

2
.rspec
View File

@ -1 +1 @@
--colour
--colour --drb

4
.simplecov Normal file
View File

@ -0,0 +1,4 @@
# .simplecov
SimpleCov.start 'rails' do
merge_timeout 3600
end

View File

@ -1,26 +1,21 @@
language: ruby
env:
- DB=postgresql
- DB=mysql
- DB=mysql TRAVIS=true
before_install:
- sudo apt-get install libicu-dev -y
- wget -P /tmp http://phantomjs.googlecode.com/files/phantomjs-1.7.0-linux-i686.tar.bz2
- tar -xf /tmp/phantomjs-1.7.0-linux-i686.tar.bz2 -C /tmp/
- sudo rm -rf /usr/local/phantomjs
- sudo mv /tmp/phantomjs-1.7.0-linux-i686 /usr/local/phantomjs
- gem install charlock_holmes -v="0.6.9"
branches:
only:
- 'master'
rvm:
- 1.9.3
- 1.9.3-p392
services:
- mysql
- postgresql
before_script:
- "cp config/database.yml.$DB config/database.yml"
- "cp config/gitlab.yml.example config/gitlab.yml"
- "bundle exec rake db:create RAILS_ENV=test"
- "bundle exec rake db:migrate RAILS_ENV=test"
- "bundle exec rake db:setup RAILS_ENV=test"
- "bundle exec rake db:seed_fu RAILS_ENV=test"
- "sh -e /etc/init.d/xvfb start"
script: "bundle exec rake travis --trace"

110
CHANGELOG
View File

@ -1,3 +1,111 @@
v 5.1.0
- You can login with email or username now
- Corrected project transfer rollback when repository cannot be moved
- Move both repo and wiki when project transfer requrested
- Admin area: project editing was removed from admin namespace
- Access: admin user has now access to any project.
v 5.0.0
- Replaced gitolite with gitlab-shell
- Removed gitolite-related libraries
- State machine added
- Setup gitlab as git user
- Internal API
- Show team tab for empty projects
- Import repository feature
- Updated rails
- Use lambda for scopes
- Redesign admin area -> users
- Redesign admin area -> user
- Secure link to file attachments
- Add validations for Group and Team names
- Restyle team page for project
- Update capybara, rspec-rails, poltergeist to recent versions
- Wiki on git using Gollum
- Added Solarized Dark theme for code review
- Dont show user emails in autocomplete lists, profile pages
- Added settings tab for group, team, project
- Replace user popup with icons in header
- Handle project moving with gitlab-shell
- Added select2-rails for selectboxes with ajax data load
- Fixed search field on projects page
- Added teams to search autocomplete
- Move groups and teams on dashboard sidebar to sub-tabs
- API: improved return codes and docs. (Felix Gilcher, Sebastian Ziebell)
- Redesign wall to be more like chat
- Snippets, Wall features are disabled by default for new projects
v 4.2.0
- Teams
- User show page. Via /u/username
- Show help contents on pages for better navigation
- Async gitolite calls
- added satellites logs
- can_create_group, can_create_team booleans for User
- Process web hooks async
- GFM: Fix images escaped inside links
- Network graph improved
- Switchable branches for network graph
- API: Groups
- Fixed project download
v 4.1.0
- Optional Sign-Up
- Discussions
- Satellites outside of tmp
- Line numbers for blame
- Project public mode
- Public area with unauthorized access
- Load dashboard events with ajax
- remember dashboard filter in cookies
- replace resque with sidekiq
- fix routing issues
- cleanup rake tasks
- fix backup/restore
- scss cleanup
- show preview for note images
- improved network-graph
- get rid of app/roles/
- added new classes Team, Repository
- Reduce amount of gitolite calls
- Ability to add user in all group projects
- remove deprecated configs
- replaced Korolev font with open font
- restyled admin/dashboard page
- restyled admin/projects page
v 4.0.0
- Remove project code and path from API. Use id instead
- Return valid clonable url to repo for web hook
- Fixed backup issue
- Reorganized settings
- Fixed commits compare
- Refactored scss
- Improve status checks
- Validates presence of User#name
- Fixed postgres support
- Removed sqlite support
- Modified post-receive hook
- Milestones can be closed now
- Show comment events on dashboard
- Quick add team members via group#people page
- [API] expose created date for hooks and SSH keys
- [API] list, create issue notes
- [API] list, create snippet notes
- [API] list, create wall notes
- Remove project code - use path instead
- added username field to user
- rake task to fill usernames based on emails create namespaces for users
- STI Group < Namespace
- Project has namespace_id
- Projects with namespaces also namespaced in gitolite and stored in subdir
- Moving project to group will move it under group namespace
- Ability to move project from namespaces to another
- Fixes commit patches getting escaped (see #2036)
- Support diff and patch generation for commits and merge request
- MergeReqest doesn't generate a temporary file for the patch any more
- Update the UI to allow downloading Patch or Diff
v 3.1.0
- Updated gems
- Services: Gitlab CI integration
@ -34,7 +142,7 @@ v 3.0.0
- Fixed bug with gitolite keys
- UI improved
- Increased perfomance of application
- Show user avatar in last commit when browsing Files
- Show user avatar in last commit when browsing Files
- Refactored Gitlab::Merge
- Use Font Awsome for icons
- Separate observing of Note and MergeRequestsa

View File

@ -1,26 +1,53 @@
## Contribute to GitLab
# Contribute to GitLab
If you want to contribute to GitLab, follow this process:
This guide details how to use pull requests and the issues to improve GitLab.
1. Fork the project
2. Create a feature branch
3. Code
4. Create a pull request
## Closing policy for pull requests and issues
We will only accept pull requests if:
Pull requests and issues not in line with the guidelines listed in this document will be closed with just a link to this paragraph. GitLab is a popular open source project and the capacity to deal with issues and pull requests is limited. To get support for your problems please use other channels as detailed in [the getting help section of the readme](https://github.com/gitlabhq/gitlabhq#getting-help). Professional [support subscriptions](http://www.gitlab.com/subscription/) and [consulting services](http://www.gitlab.com/consultancy/) are available from [GitLab.com](http://www.gitlab.com/).
* Your code has proper tests and all tests pass
* Your code can be merged w/o problems
* It won't break existing functionality
* It's quality code
* We like it :)
## Pull requests
For examples of feedback on pull requests please look at the [closed pull requests](https://github.com/gitlabhq/gitlabhq/pulls?direction=desc&page=1&sort=created&state=closed).
We welcome pull request with improvements to GitLab code and/or documentation. The issues we would really like a pull request for are listed with the [status 'accepting merge/pull requests' on our feedback forum](http://feedback.gitlab.com/forums/176466-general/status/796455) but other improvements are also welcome.
## Installation
### Pull request guidelines
Install the Gitlab development in a virtual machine with the [Gitlab Vagrant virtual machine](https://github.com/gitlabhq/gitlab-vagrant-vm). Installing it in a virtual machine makes it much easier to set up all the dependencies for integration testing.
If you can please submit a pull request with the fix including tests. The workflow to make a pull request is as follows:
## Running tests
1. Fork the project on GitHub
1. Create a feature branch
1. Write tests and code
1. If you have multiple commits please combine them into one commit by [squashing them](http://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
1. Push the commit to your fork
1. Submit a pull request
For more information on running the tests please read the [development tips](https://github.com/gitlabhq/gitlabhq/blob/master/doc/development.md)
We will accept pull requests if:
* The code has proper tests and all tests pass
* It can be merged without problems (if not please use: git rebase master)
* It doesn't break any existing functionality
* It's quality code that conforms to the [Rails style guide](https://github.com/bbatsov/rails-style-guide) and best practices
* The description includes a motive for your change and the method you used to achieve it
* It keeps the GitLab code base clean and well structured
* We think other users will need the same functionality
* If it makes changes to the UI the pull request should include screenshots
For examples of feedback on pull requests please look at already [closed pull requests](https://github.com/gitlabhq/gitlabhq/pulls?direction=desc&page=1&sort=created&state=closed).
## Issue tracker
The [issue tracker](https://github.com/gitlabhq/gitlabhq/issues) is only for obvious bugs or misbehavior in the master branch of GitLab. When submitting an issue please conform to the issue submission guidelines listed below.
Please send a pull request with a tested solution or a pull request with a failing test instead of opening an issue if you can. If you're unsure where to post, post to the [Support Forum](https://groups.google.com/forum/#!forum/gitlabhq) first. There are a lot of helpful GitLab users there who may be able to help you quickly. If your particular issue turns out to be a bug, it will find its way from there.
### Issue tracker guidelines
**Search** for similar entries before submitting your own, there's a good chance somebody else had the same issue or idea. Show your support with `:+1:` and/or join the discussion.
* Summarize your issue in one sentence (what goes wrong, what did you expect to happen)
* Describe your issue in detail
* How can we reproduce the issue on the [GitLab Vagrant virtual machine](https://github.com/gitlabhq/gitlab-vagrant-vm) (start with: vagrant destroy && vagrant up && vagrant ssh)
* Add the last commit sha1 of the GitLab version you used to replicate the issue
* Add logs or screen shots when possible
* Link to the line of code that might be responsible for the problem
* Describe your setup (use relevant parts from `sudo -u gitlab -H bundle exec rake gitlab:env:info`)

4
Capfile.example Normal file
View File

@ -0,0 +1,4 @@
load 'deploy'
load 'deploy/assets'
require 'bundler/capistrano'
load 'config/deploy'

91
Gemfile
View File

@ -1,4 +1,4 @@
source "http://rubygems.org"
source "https://rubygems.org"
def darwin_only(require_as)
RUBY_PLATFORM.include?('darwin') && require_as
@ -8,51 +8,58 @@ def linux_only(require_as)
RUBY_PLATFORM.include?('linux') && require_as
end
gem "rails", "3.2.9"
gem "rails", "3.2.13"
# Supported DBs
gem "sqlite3", group: :sqlite
gem "mysql2", group: :mysql
gem "pg", group: :postgres
# Auth
gem "devise", "~> 2.1.0"
gem 'omniauth', "~> 1.1.1"
gem "devise"
gem 'omniauth', "~> 1.1.3"
gem 'omniauth-google-oauth2'
gem 'omniauth-twitter'
gem 'omniauth-github'
# GITLAB patched libs
gem "grit", git: "https://github.com/gitlabhq/grit.git", ref: '7f35cb98ff17d534a07e3ce6ec3d580f67402837'
gem "omniauth-ldap", git: "https://github.com/gitlabhq/omniauth-ldap.git", ref: 'f038dd852d7bd473a557e385d5d7c2fd5dc1dc2e'
gem 'yaml_db', git: "https://github.com/gitlabhq/yaml_db.git", ref: '98e9a5dca43e3fedd3268c76a73af40d1bdf1dfd'
gem 'grack', git: "https://github.com/gitlabhq/grack.git", ref: 'ba46f3b0845c6a09d488ae6abdce6ede37e227e8'
gem 'grit_ext', git: "https://github.com/gitlabhq/grit_ext.git", ref: '212fd40bea61f3c6a167223768e7295dc32bbc10'
# Extracting information from a git repository
# Since gollum requires grit we cannot use gitlab-grit gem name any more. Use grit instead
gem "grit", '~> 2.5.0', git: 'https://github.com/gitlabhq/grit.git', ref: '42297cdcee16284d2e4eff23d41377f52fc28b9d'
gem 'grit_ext', '~> 0.8.1'
# Gitolite client (for work with gitolite-admin repo)
gem "gitolite", '1.1.0'
# Ruby/Rack Git Smart-HTTP Server Handler
gem 'gitlab-grack', '~> 1.0.0', require: 'grack'
# LDAP Auth
gem 'gitlab_omniauth-ldap', '1.0.2', require: "omniauth-ldap"
# Dump db to yml file. Mostly used to migrate from sqlite to mysql
gem 'gitlab_yaml_db', '1.0.0', require: "yaml_db"
# Syntax highlighter
gem "pygments.rb", git: "https://github.com/gitlabhq/pygments.rb.git", ref: '4db80c599067e2d5f23c5c243bf85b8ca0368ad4'
gem "gitlab-pygments.rb", '~> 0.3.2', require: 'pygments.rb'
# Language detection
gem "github-linguist", "~> 2.3.4" , require: "linguist"
# API
gem "grape", "~> 0.2.1"
gem "grape", "~> 0.3.1"
gem "grape-entity", "~> 0.2.0"
# Format dates and times
# based on human-friendly examples
gem "stamp"
# Enumeration fields
gem 'enumerize'
# Pagination
gem "kaminari", "~> 0.14.1"
# HAML
gem "haml-rails", "~> 0.3.5"
gem "haml-rails"
# Files attachments
gem "carrierwave", "~> 0.7.1"
gem "carrierwave"
# Authorization
gem "six"
@ -68,18 +75,21 @@ gem "redcarpet", "~> 2.2.2"
gem "github-markup", "~> 0.7.4", require: 'github/markup'
# Servers
gem "thin", '~> 1.5.0'
gem "unicorn", "~> 4.4.0"
gem "unicorn"
# State machine
gem "state_machine"
# Issue tags
gem "acts-as-taggable-on", "2.3.3"
# Decorators
gem "draper", "~> 0.18.0"
gem "draper"
# Background jobs
gem "resque", "~> 1.23.0"
gem 'resque_mailer'
gem 'slim'
gem 'sinatra', require: nil
gem 'sidekiq'
# HTTP requests
gem "httparty"
@ -90,10 +100,20 @@ gem "colored"
# GitLab settings
gem 'settingslogic'
# Wiki
# - Use latest master to resolve Gem dependency with Pygemnts
# github-linquist needs pygments 0.4.2 but Gollum 2.4.11
# requires pygments 0.3.2. The latest master Gollum has been updated
# to use pygments 0.4.2. Change this after next Gollum release.
gem "gollum", "~> 2.4.0", git: "https://github.com/gollum/gollum.git", ref: "5dcd3c8c8f"
# Misc
gem "foreman"
gem "git"
# Cache
gem "redis-rails"
group :assets do
gem "sass-rails", "~> 3.2.5"
gem "coffee-rails", "~> 3.2.2"
@ -101,14 +121,16 @@ group :assets do
gem "therubyracer"
gem 'chosen-rails', "0.9.8"
gem 'jquery-atwho-rails', "0.1.6"
gem 'select2-rails'
gem 'jquery-atwho-rails', "0.1.7"
gem "jquery-rails", "2.1.3"
gem "jquery-ui-rails", "2.0.2"
gem "modernizr", "2.6.2"
gem "raphael-rails", "2.1.0"
gem "raphael-rails", git: "https://github.com/gitlabhq/raphael-rails.git"
gem 'bootstrap-sass', "2.2.1.1"
gem "font-awesome-sass-rails", "~> 2.0.0"
gem "font-awesome-sass-rails", "~> 3.0.0"
gem "gemoji", "~> 1.2.1", require: 'emoji/railtie'
gem "gon"
end
group :development do
@ -116,9 +138,21 @@ group :development do
gem "letter_opener"
gem 'quiet_assets', '~> 1.0.1'
gem 'rack-mini-profiler'
# Better errors handler
gem 'better_errors'
gem 'binding_of_caller'
gem 'rails_best_practices'
# Docs generator
gem "sdoc"
# thin instead webrick
gem 'thin'
end
group :development, :test do
gem 'coveralls', require: false
gem 'rails-dev-tweaks'
gem 'spinach-rails'
gem "rspec-rails"
@ -139,18 +173,19 @@ group :development, :test do
gem 'rb-inotify', require: linux_only('rb-inotify')
# PhantomJS driver for Capybara
gem 'poltergeist'
gem 'poltergeist', '1.1.0'
gem 'spork', '~> 1.0rc'
end
group :test do
gem "simplecov", require: false
gem "shoulda-matchers", "1.3.0"
gem 'email_spec'
gem 'resque_spec'
gem "webmock"
gem 'test_after_commit'
end
group :production do
gem "gitlab_meta", '3.1'
gem "gitlab_meta", '5.0'
end

View File

@ -6,18 +6,10 @@ GIT
activerecord (>= 2.3.0)
rake (>= 0.8.7)
GIT
remote: https://github.com/gitlabhq/grack.git
revision: ba46f3b0845c6a09d488ae6abdce6ede37e227e8
ref: ba46f3b0845c6a09d488ae6abdce6ede37e227e8
specs:
grack (1.0.0)
rack (~> 1.4.1)
GIT
remote: https://github.com/gitlabhq/grit.git
revision: 7f35cb98ff17d534a07e3ce6ec3d580f67402837
ref: 7f35cb98ff17d534a07e3ce6ec3d580f67402837
revision: 42297cdcee16284d2e4eff23d41377f52fc28b9d
ref: 42297cdcee16284d2e4eff23d41377f52fc28b9d
specs:
grit (2.5.0)
diff-lcs (~> 1.1)
@ -25,98 +17,95 @@ GIT
posix-spawn (~> 0.3.6)
GIT
remote: https://github.com/gitlabhq/grit_ext.git
revision: 212fd40bea61f3c6a167223768e7295dc32bbc10
ref: 212fd40bea61f3c6a167223768e7295dc32bbc10
remote: https://github.com/gitlabhq/raphael-rails.git
revision: cb2c92a040b9b941a5f1aa1ea866cc26e944fe58
specs:
grit_ext (0.6.0)
charlock_holmes (~> 0.6.9)
raphael-rails (2.1.0)
GIT
remote: https://github.com/gitlabhq/omniauth-ldap.git
revision: f038dd852d7bd473a557e385d5d7c2fd5dc1dc2e
ref: f038dd852d7bd473a557e385d5d7c2fd5dc1dc2e
remote: https://github.com/gollum/gollum.git
revision: 5dcd3c8c8f68158e43ff79861279088ee56d0ebe
ref: 5dcd3c8c8f
specs:
omniauth-ldap (1.0.2)
net-ldap (~> 0.2.2)
omniauth (~> 1.0)
pyu-ruby-sasl (~> 0.0.3.1)
rubyntlm (~> 0.1.1)
GIT
remote: https://github.com/gitlabhq/pygments.rb.git
revision: 4db80c599067e2d5f23c5c243bf85b8ca0368ad4
ref: 4db80c599067e2d5f23c5c243bf85b8ca0368ad4
specs:
pygments.rb (0.3.2)
posix-spawn (~> 0.3.6)
yajl-ruby (~> 1.1.0)
GIT
remote: https://github.com/gitlabhq/yaml_db.git
revision: 98e9a5dca43e3fedd3268c76a73af40d1bdf1dfd
ref: 98e9a5dca43e3fedd3268c76a73af40d1bdf1dfd
specs:
yaml_db (0.2.2)
gollum (2.4.11)
github-markdown (~> 0.5.3)
github-markup (>= 0.7.5, < 1.0.0)
grit (~> 2.5.0)
mustache (>= 0.99.4, < 1.0.0)
nokogiri (~> 1.5.6)
pygments.rb (~> 0.4.2)
sanitize (~> 2.0.3)
sinatra (~> 1.3.5)
stringex (~> 1.5.1)
useragent (~> 0.4.16)
GEM
remote: http://rubygems.org/
remote: https://rubygems.org/
specs:
actionmailer (3.2.9)
actionpack (= 3.2.9)
mail (~> 2.4.4)
actionpack (3.2.9)
activemodel (= 3.2.9)
activesupport (= 3.2.9)
actionmailer (3.2.13)
actionpack (= 3.2.13)
mail (~> 2.5.3)
actionpack (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
builder (~> 3.0.0)
erubis (~> 2.7.0)
journey (~> 1.0.4)
rack (~> 1.4.0)
rack (~> 1.4.5)
rack-cache (~> 1.2)
rack-test (~> 0.6.1)
sprockets (~> 2.2.1)
activemodel (3.2.9)
activesupport (= 3.2.9)
activemodel (3.2.13)
activesupport (= 3.2.13)
builder (~> 3.0.0)
activerecord (3.2.9)
activemodel (= 3.2.9)
activesupport (= 3.2.9)
activerecord (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
arel (~> 3.0.2)
tzinfo (~> 0.3.29)
activeresource (3.2.9)
activemodel (= 3.2.9)
activesupport (= 3.2.9)
activesupport (3.2.9)
i18n (~> 0.6)
activeresource (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
activesupport (3.2.13)
i18n (= 0.6.1)
multi_json (~> 1.0)
acts-as-taggable-on (2.3.3)
rails (~> 3.0)
addressable (2.3.2)
arel (3.0.2)
awesome_print (1.1.0)
backports (2.6.5)
backports (2.6.7)
bcrypt-ruby (3.0.1)
blankslate (3.1.2)
better_errors (0.3.2)
coderay (>= 1.0.0)
erubis (>= 2.7.0)
binding_of_caller (0.7.1)
debug_inspector (>= 0.0.1)
bootstrap-sass (2.2.1.1)
sass (~> 3.2)
builder (3.0.4)
capybara (1.1.3)
capybara (2.0.2)
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
selenium-webdriver (~> 2.0)
xpath (~> 0.1.4)
carrierwave (0.7.1)
xpath (~> 1.0.0)
carrierwave (0.8.0)
activemodel (>= 3.2.0)
activesupport (>= 3.2.0)
celluloid (0.12.4)
facter (>= 1.6.12)
timers (>= 1.0.0)
charlock_holmes (0.6.9)
childprocess (0.3.6)
ffi (~> 1.0, >= 1.0.6)
childprocess (0.3.8)
ffi (~> 1.0, >= 1.0.11)
chosen-rails (0.9.8)
railties (~> 3.0)
thor (~> 0.14)
coderay (1.0.8)
code_analyzer (0.3.1)
sexp_processor
coderay (1.0.9)
coffee-rails (3.2.2)
coffee-script (>= 2.2.0)
railties (~> 3.2.0)
@ -126,41 +115,54 @@ GEM
coffee-script-source (1.4.0)
colored (1.2)
colorize (0.5.8)
crack (0.3.1)
connection_pool (1.0.0)
coveralls (0.6.2)
colorize
multi_json (~> 1.3)
rest-client
simplecov (>= 0.7)
thor
crack (0.3.2)
daemons (1.1.9)
database_cleaner (0.9.1)
devise (2.1.2)
debug_inspector (0.0.2)
descendants_tracker (0.0.1)
devise (2.2.3)
bcrypt-ruby (~> 3.0)
orm_adapter (~> 0.1)
railties (~> 3.1)
warden (~> 1.2.1)
diff-lcs (1.1.3)
draper (0.18.0)
actionpack (~> 3.2)
activesupport (~> 3.2)
diff-lcs (1.2.1)
draper (1.1.0)
actionpack (>= 3.0)
activesupport (>= 3.0)
request_store (~> 1.0.3)
email_spec (1.4.0)
launchy (~> 2.1)
mail (~> 2.2)
enumerize (0.5.1)
activesupport (>= 3.2)
erubis (2.7.0)
escape_utils (0.2.4)
eventmachine (1.0.0)
execjs (1.4.0)
multi_json (~> 1.0)
facter (1.6.18)
factory_girl (4.1.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.1.0)
factory_girl (~> 4.1.0)
railties (>= 3.0.0)
faraday (0.8.4)
faraday (0.8.6)
multipart-post (~> 1.1)
faye-websocket (0.4.6)
faye-websocket (0.4.7)
eventmachine (>= 0.12.0)
ffaker (1.15.0)
ffi (1.1.5)
font-awesome-sass-rails (2.0.0.0)
ffi (1.4.0)
font-awesome-sass-rails (3.0.0.1)
railties (>= 3.1.1)
sass-rails (>= 3.1.1)
foreman (0.60.2)
foreman (0.61.0)
thor (>= 0.13.6)
gemoji (1.2.1)
gherkin-ruby (0.2.1)
@ -170,99 +172,112 @@ GEM
escape_utils (~> 0.2.3)
mime-types (~> 1.19)
pygments.rb (>= 0.2.13)
github-markup (0.7.4)
gitlab_meta (3.1)
gitolite (1.1.0)
gratr19 (~> 0.4.4.1)
grit (~> 2.5.0)
hashery (~> 1.5.0)
grape (0.2.2)
github-markdown (0.5.3)
github-markup (0.7.5)
gitlab-grack (1.0.0)
rack (~> 1.4.1)
gitlab-pygments.rb (0.3.2)
posix-spawn (~> 0.3.6)
yajl-ruby (~> 1.1.0)
gitlab_meta (5.0)
gitlab_omniauth-ldap (1.0.2)
net-ldap (~> 0.2.2)
omniauth (~> 1.0)
pyu-ruby-sasl (~> 0.0.3.1)
rubyntlm (~> 0.1.1)
gitlab_yaml_db (1.0.0)
gon (4.0.2)
grape (0.3.2)
activesupport
hashie (~> 1.2)
builder
hashie (>= 1.2.0)
multi_json (>= 1.3.2)
multi_xml
multi_xml (>= 0.5.2)
rack
rack-accept
rack-mount
virtus
gratr19 (0.4.4.1)
grape-entity (0.2.0)
activesupport
multi_json (>= 1.3.2)
grit_ext (0.8.1)
charlock_holmes (~> 0.6.9)
growl (1.0.3)
guard (1.5.4)
listen (>= 0.4.2)
guard (1.6.2)
listen (>= 0.6.0)
lumberjack (>= 1.0.2)
pry (>= 0.9.10)
terminal-table (>= 1.4.3)
thor (>= 0.14.6)
guard-rspec (2.1.2)
guard-rspec (2.5.1)
guard (>= 1.1)
rspec (~> 2.11)
guard-spinach (0.0.2)
guard (>= 1.1)
spinach
haml (3.1.7)
haml-rails (0.3.5)
haml (4.0.0)
tilt
haml-rails (0.4)
actionpack (>= 3.1, < 4.1)
activesupport (>= 3.1, < 4.1)
haml (~> 3.1)
haml (>= 3.1, < 4.1)
railties (>= 3.1, < 4.1)
hashery (1.5.0)
blankslate
hashie (1.2.0)
hike (1.2.1)
http_parser.rb (0.5.3)
httparty (0.9.0)
httparty (0.10.2)
multi_json (~> 1.0)
multi_xml
multi_xml (>= 0.5.2)
httpauth (0.2.0)
i18n (0.6.1)
journey (1.0.4)
jquery-atwho-rails (0.1.6)
jquery-atwho-rails (0.1.7)
jquery-rails (2.1.3)
railties (>= 3.1.0, < 5.0)
thor (~> 0.14)
jquery-ui-rails (2.0.2)
jquery-rails
railties (>= 3.1.0)
json (1.7.5)
json (1.7.7)
jwt (0.1.5)
multi_json (>= 1.0)
kaminari (0.14.1)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
kgio (2.7.4)
kgio (2.8.0)
launchy (2.1.2)
addressable (~> 2.3)
letter_opener (1.0.0)
launchy (>= 2.0.4)
libv8 (3.3.10.4)
libwebsocket (0.1.6)
websocket
listen (0.5.3)
lumberjack (1.0.2)
mail (2.4.4)
libv8 (3.11.8.17)
listen (0.7.3)
lumberjack (1.0.3)
mail (2.5.3)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
method_source (0.8.1)
mime-types (1.19)
mime-types (1.21)
modernizr (2.6.2)
sprockets (~> 2.0)
multi_json (1.3.7)
multi_xml (0.5.1)
multi_json (1.7.2)
multi_xml (0.5.3)
multipart-post (1.1.5)
mustache (0.99.4)
mysql2 (0.3.11)
net-ldap (0.2.2)
nokogiri (1.5.5)
nokogiri (1.5.6)
oauth (0.4.7)
oauth2 (0.8.0)
oauth2 (0.8.1)
faraday (~> 0.8)
httpauth (~> 0.1)
jwt (~> 0.1.4)
multi_json (~> 1.0)
rack (~> 1.2)
omniauth (1.1.1)
omniauth (1.1.3)
hashie (~> 1.2)
rack
omniauth-github (1.0.3)
omniauth-github (1.1.0)
omniauth (~> 1.0)
omniauth-oauth2 (~> 1.1)
omniauth-google-oauth2 (0.1.13)
@ -279,22 +294,23 @@ GEM
omniauth-oauth (~> 1.0)
orm_adapter (0.4.0)
pg (0.14.1)
poltergeist (1.0.2)
capybara (~> 1.1)
childprocess (~> 0.3)
poltergeist (1.1.0)
capybara (~> 2.0, >= 2.0.1)
faye-websocket (~> 0.4, >= 0.4.4)
http_parser.rb (~> 0.5.3)
multi_json (~> 1.0)
polyglot (0.3.3)
posix-spawn (0.3.6)
pry (0.9.10)
pry (0.9.12)
coderay (~> 1.0.5)
method_source (~> 0.8)
slop (~> 3.3.1)
slop (~> 3.4)
pygments.rb (0.4.2)
posix-spawn (~> 0.3.6)
yajl-ruby (~> 1.1.0)
pyu-ruby-sasl (0.0.3.3)
quiet_assets (1.0.1)
railties (~> 3.1)
rack (1.4.1)
rack (1.4.5)
rack-accept (0.4.5)
rack (>= 0.4)
rack-cache (1.2)
@ -303,140 +319,182 @@ GEM
rack (>= 1.1.3)
rack-mount (0.8.3)
rack (>= 1.0.0)
rack-protection (1.2.0)
rack-protection (1.4.0)
rack
rack-ssl (1.3.2)
rack-ssl (1.3.3)
rack
rack-test (0.6.2)
rack (>= 1.0)
rails (3.2.9)
actionmailer (= 3.2.9)
actionpack (= 3.2.9)
activerecord (= 3.2.9)
activeresource (= 3.2.9)
activesupport (= 3.2.9)
rails (3.2.13)
actionmailer (= 3.2.13)
actionpack (= 3.2.13)
activerecord (= 3.2.13)
activeresource (= 3.2.13)
activesupport (= 3.2.13)
bundler (~> 1.0)
railties (= 3.2.9)
railties (= 3.2.13)
rails-dev-tweaks (0.6.1)
actionpack (~> 3.1)
railties (~> 3.1)
railties (3.2.9)
actionpack (= 3.2.9)
activesupport (= 3.2.9)
rails_best_practices (1.13.4)
activesupport
awesome_print
code_analyzer
colored
erubis
i18n
ruby-progressbar
railties (3.2.13)
actionpack (= 3.2.13)
activesupport (= 3.2.13)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (>= 0.14.6, < 2.0)
raindrops (0.10.0)
rake (10.0.1)
raphael-rails (2.1.0)
rake (10.0.4)
rb-fsevent (0.9.2)
rb-inotify (0.8.8)
ffi (>= 0.5.0)
rdoc (3.12)
rdoc (3.12.2)
json (~> 1.4)
redcarpet (2.2.2)
redis (3.0.2)
redis (3.0.3)
redis-actionpack (3.2.3)
actionpack (~> 3.2.3)
redis-rack (~> 1.4.0)
redis-store (~> 1.1.0)
redis-activesupport (3.2.3)
activesupport (~> 3.2.3)
redis-store (~> 1.1.0)
redis-namespace (1.2.1)
redis (~> 3.0.0)
resque (1.23.0)
multi_json (~> 1.0)
redis-namespace (~> 1.0)
sinatra (>= 0.9.2)
vegas (~> 0.1.2)
resque_mailer (2.1.0)
actionmailer (~> 3.0)
resque_spec (0.12.5)
resque (>= 1.19.0)
rspec (>= 2.5.0)
rspec (2.12.0)
rspec-core (~> 2.12.0)
rspec-expectations (~> 2.12.0)
rspec-mocks (~> 2.12.0)
rspec-core (2.12.0)
rspec-expectations (2.12.0)
diff-lcs (~> 1.1.3)
rspec-mocks (2.12.0)
rspec-rails (2.12.0)
redis-rack (1.4.2)
rack (~> 1.4.1)
redis-store (~> 1.1.0)
redis-rails (3.2.3)
redis-actionpack (~> 3.2.3)
redis-activesupport (~> 3.2.3)
redis-store (~> 1.1.0)
redis-store (1.1.3)
redis (>= 2.2.0)
ref (1.0.4)
request_store (1.0.5)
rest-client (1.6.7)
mime-types (>= 1.16)
rspec (2.13.0)
rspec-core (~> 2.13.0)
rspec-expectations (~> 2.13.0)
rspec-mocks (~> 2.13.0)
rspec-core (2.13.1)
rspec-expectations (2.13.0)
diff-lcs (>= 1.1.3, < 2.0)
rspec-mocks (2.13.0)
rspec-rails (2.13.0)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 2.12.0)
rspec-expectations (~> 2.12.0)
rspec-mocks (~> 2.12.0)
rspec-core (~> 2.13.0)
rspec-expectations (~> 2.13.0)
rspec-mocks (~> 2.13.0)
ruby-progressbar (1.0.2)
rubyntlm (0.1.1)
rubyzip (0.9.9)
sass (3.2.3)
sass-rails (3.2.5)
sanitize (2.0.3)
nokogiri (>= 1.4.4, < 1.6)
sass (3.2.7)
sass-rails (3.2.6)
railties (~> 3.2.0)
sass (>= 3.1.10)
tilt (~> 1.3)
sdoc (0.3.20)
json (>= 1.1.3)
rdoc (~> 3.10)
seed-fu (2.2.0)
activerecord (~> 3.1)
activesupport (~> 3.1)
selenium-webdriver (2.26.0)
select2-rails (3.3.1)
sass-rails (>= 3.2)
thor (~> 0.14)
selenium-webdriver (2.30.0)
childprocess (>= 0.2.5)
libwebsocket (~> 0.1.3)
multi_json (~> 1.0)
rubyzip
settingslogic (2.0.8)
websocket (~> 1.0.4)
settingslogic (2.0.9)
sexp_processor (4.2.0)
shoulda-matchers (1.3.0)
activesupport (>= 3.0.0)
sidekiq (2.8.0)
celluloid (~> 0.12.0)
connection_pool (~> 1.0)
multi_json (~> 1)
redis (~> 3)
redis-namespace
simplecov (0.7.1)
multi_json (~> 1.0)
simplecov-html (~> 0.7.1)
simplecov-html (0.7.1)
sinatra (1.3.3)
rack (~> 1.3, >= 1.3.6)
rack-protection (~> 1.2)
sinatra (1.3.5)
rack (~> 1.4)
rack-protection (~> 1.3)
tilt (~> 1.3, >= 1.3.3)
six (0.2.0)
slop (3.3.3)
spinach (0.5.2)
slim (1.3.6)
temple (~> 0.5.5)
tilt (~> 1.3.3)
slop (3.4.4)
spinach (0.7.0)
colorize
gherkin-ruby (~> 0.2.0)
spinach-rails (0.1.8)
capybara (~> 1)
spinach-rails (0.2.0)
capybara (~> 2.0.0)
railties (>= 3)
spinach (>= 0.4)
sprockets (2.2.1)
spork (1.0.0rc3)
sprockets (2.2.2)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.6)
stamp (0.3.0)
stamp (0.5.0)
state_machine (1.1.2)
stringex (1.5.1)
temple (0.5.5)
terminal-table (1.4.5)
test_after_commit (0.0.1)
therubyracer (0.10.2)
libv8 (~> 3.3.10)
therubyracer (0.11.4)
libv8 (~> 3.11.8.12)
ref
thin (1.5.0)
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
rack (>= 1.0.0)
thor (0.16.0)
tilt (1.3.3)
thor (0.18.0)
tilt (1.3.6)
timers (1.1.0)
treetop (1.4.12)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.35)
tzinfo (0.3.37)
uglifier (1.3.0)
execjs (>= 0.3.0)
multi_json (~> 1.0, >= 1.0.2)
unicorn (4.4.0)
unicorn (4.6.2)
kgio (~> 2.6)
rack
raindrops (~> 0.7)
vegas (0.1.11)
rack (>= 1.0.0)
virtus (0.5.2)
useragent (0.4.16)
virtus (0.5.4)
backports (~> 2.6.1)
descendants_tracker (~> 0.0.1)
warden (1.2.1)
rack (>= 1.0)
webmock (1.9.0)
addressable (>= 2.2.7)
crack (>= 0.1.7)
websocket (1.0.2)
xpath (0.1.4)
websocket (1.0.7)
xpath (1.0.0)
nokogiri (~> 1.3)
yajl-ruby (1.1.0)
@ -447,36 +505,45 @@ DEPENDENCIES
acts-as-taggable-on (= 2.3.3)
annotate!
awesome_print
better_errors
binding_of_caller
bootstrap-sass (= 2.2.1.1)
capybara
carrierwave (~> 0.7.1)
carrierwave
chosen-rails (= 0.9.8)
coffee-rails (~> 3.2.2)
colored
coveralls
database_cleaner
devise (~> 2.1.0)
draper (~> 0.18.0)
devise
draper
email_spec
enumerize
factory_girl_rails
ffaker
font-awesome-sass-rails (~> 2.0.0)
font-awesome-sass-rails (~> 3.0.0)
foreman
gemoji (~> 1.2.1)
git
github-linguist (~> 2.3.4)
github-markup (~> 0.7.4)
gitlab_meta (= 3.1)
gitolite (= 1.1.0)
grack!
grape (~> 0.2.1)
grit!
grit_ext!
gitlab-grack (~> 1.0.0)
gitlab-pygments.rb (~> 0.3.2)
gitlab_meta (= 5.0)
gitlab_omniauth-ldap (= 1.0.2)
gitlab_yaml_db (= 1.0.0)
gollum (~> 2.4.0)!
gon
grape (~> 0.3.1)
grape-entity (~> 0.2.0)
grit (~> 2.5.0)!
grit_ext (~> 0.8.1)
growl
guard-rspec
guard-spinach
haml-rails (~> 0.3.5)
haml-rails
httparty
jquery-atwho-rails (= 0.1.6)
jquery-atwho-rails (= 0.1.7)
jquery-rails (= 2.1.3)
jquery-ui-rails (= 2.0.2)
kaminari (~> 0.14.1)
@ -484,40 +551,42 @@ DEPENDENCIES
letter_opener
modernizr (= 2.6.2)
mysql2
omniauth (~> 1.1.1)
omniauth (~> 1.1.3)
omniauth-github
omniauth-google-oauth2
omniauth-ldap!
omniauth-twitter
pg
poltergeist
poltergeist (= 1.1.0)
pry
pygments.rb!
quiet_assets (~> 1.0.1)
rack-mini-profiler
rails (= 3.2.9)
rails (= 3.2.13)
rails-dev-tweaks
raphael-rails (= 2.1.0)
rails_best_practices
raphael-rails!
rb-fsevent
rb-inotify
redcarpet (~> 2.2.2)
resque (~> 1.23.0)
resque_mailer
resque_spec
redis-rails
rspec-rails
sass-rails (~> 3.2.5)
sdoc
seed-fu
select2-rails
settingslogic
shoulda-matchers (= 1.3.0)
sidekiq
simplecov
sinatra
six
slim
spinach-rails
sqlite3
spork (~> 1.0rc)
stamp
state_machine
test_after_commit
therubyracer
thin (~> 1.5.0)
thin
uglifier (~> 1.3.0)
unicorn (~> 4.4.0)
unicorn
webmock
yaml_db!

View File

@ -1,2 +1,2 @@
web: bundle exec rails s -p $PORT
worker: bundle exec rake environment resque:work QUEUE=* VVERBOSE=1
web: bundle exec unicorn_rails -p $PORT
worker: bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,common,default,gitlab_shell

165
README.md
View File

@ -1,44 +1,161 @@
# Welcome to GitLab [![build status](https://secure.travis-ci.org/gitlabhq/gitlabhq.png)](https://secure.travis-ci.org/gitlabhq/gitlabhq) [![build status](https://secure.travis-ci.org/gitlabhq/grit.png)](https://secure.travis-ci.org/gitlabhq/grit) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/gitlabhq/gitlabhq)
## GitLab: self hosted Git management software
GitLab is a free project and repository management application
![logo](https://raw.github.com/gitlabhq/gitlabhq/master/public/gitlab_logo.png)
### GitLab allows you to
* keep your code secure on your own server
* manage repositories, users and access permissions
* communicate through issues, line-comments and wiki pages
* perform code review with merge requests
## Application details
### GitLab is
* based on Ruby on Rails
* distributed under the MIT License
* works with gitolite
* powered by Ruby on Rails
* completely free and open source (MIT license)
* used by more than 10.000 organizations to keep their code secure
## Requirements
### Code status
* Ubuntu/Debian
* ruby 1.9.3+
* [![build status](http://ci.gitlab.org/projects/1/status?ref=master)](http://ci.gitlab.org/projects/1?ref=master) ci.gitlab.org (master branch)
* [![build status](https://secure.travis-ci.org/gitlabhq/gitlabhq.png)](https://travis-ci.org/gitlabhq/gitlabhq) travis-ci.org (master branch)
* [![Code Climate](https://codeclimate.com/github/gitlabhq/gitlabhq.png)](https://codeclimate.com/github/gitlabhq/gitlabhq)
* [![Dependency Status](https://gemnasium.com/gitlabhq/gitlabhq.png)](https://gemnasium.com/gitlabhq/gitlabhq)
* [![Coverage Status](https://coveralls.io/repos/gitlabhq/gitlabhq/badge.png?branch=master)](https://coveralls.io/r/gitlabhq/gitlabhq)
### Resources
* GitLab.org community site: [Homepage](http://gitlab.org) [Screenshots](http://gitlab.org/screenshots/) [Blog](http://blog.gitlab.org/) [Demo](http://demo.gitlabhq.com/users/sign_in)
* GitLab.com commercial services: [Homepage](http://www.gitlab.com/) [Subscription](http://www.gitlab.com/subscription/) [Consultancy](http://www.gitlab.com/consultancy/) [GitLab Cloud](http://www.gitlab.com/cloud/) [Blog](http://blog.gitlab.com/)
* GitLab CI: [Readme](https://github.com/gitlabhq/gitlab-ci/blob/master/README.md) of the GitLab open-source continuous integration server
### Requirements
* Ubuntu/Debian**
* ruby 1.9.3
* MySQL
* git
* gitolite
* gitlab-shell
* redis
## Install
** More details are in the [requirements doc](https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/requirements.md)
Checkout wiki pages for installation information, migration, etc.
### Installation
## Community
#### Official production installation
[Google Group](https://groups.google.com/group/gitlabhq)
Follow the installation guide for production server.
## Contacts
* [Installation guide for latest stable release (5.0)](https://github.com/gitlabhq/gitlabhq/blob/5-0-stable/doc/install/installation.md) - **Recommended**
Twitter:
* [Installation guide for the current master branch (5.1)](https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md)
* @gitlabhq
* @dzaporozhets
Email
#### Official development installation
* m@gitlabhq.com
If you want to contribute, please first read our [Contributing Guidelines](https://github.com/gitlabhq/gitlabhq/blob/master/CONTRIBUTING.md) and then we suggest you to use the Vagrant virtual machine project to get an environment working with all dependencies.
## Contribute
* [Vagrant virtual machine](https://github.com/gitlabhq/gitlab-vagrant-vm)
[Development Tips](https://github.com/gitlabhq/gitlabhq/blob/master/doc/development.md)
Want to help - send a pull request.
We'll accept good pull requests.
#### Unsupported production installation
* [GitLab recipes](https://github.com/gitlabhq/gitlab-recipes) for setup on different platforms
* [Unofficial installation guides](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Unofficial-Installation-Guides)
* [BitNami one-click installers](http://bitnami.com/stack/gitlab)
* [TurnKey Linux virtual appliance](http://www.turnkeylinux.org/gitlab)
### New versions and upgrading
Each month on the 22th a new version is released together with an upgrade guide.
* [Upgrade guides](https://github.com/gitlabhq/gitlabhq/wiki)
* [Changelog](https://github.com/gitlabhq/gitlabhq/blob/master/CHANGELOG)
* [Roadmap](https://github.com/gitlabhq/gitlabhq/blob/master/ROADMAP.md)
### Getting started
1. The Installation guide contains instructions to download an init script and run that on boot. With the init script you can also start GitLab
sudo service gitlab start
or
sudo /etc/init.d/gitlab restart
2. Start it with [Foreman](https://github.com/ddollar/foreman) in development mode
bundle exec foreman start -p 3000
or start it manually
bundle exec rails s
bundle exec rake sidekiq:start
### Running the tests
* Seed the database
bundle exec rake db:setup RAILS_ENV=test
bundle exec rake db:seed_fu RAILS_ENV=test
* Run all tests
bundle exec rake gitlab:test
* Rspec unit and functional tests
bundle exec rake spec
* Spinach integration tests
bundle exec rake spinach
### GitLab interfaces
* [GitLab API](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/README.md)
* [Rake tasks](https://github.com/gitlabhq/gitlabhq/tree/master/doc/raketasks)
* [Directory structure](https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/structure.md)
* [Databases](https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/databases.md)
### Getting help
* [Troubleshooting guide](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide) contains solutions to common problems.
* [Support forum](https://groups.google.com/forum/#!forum/gitlabhq) is the best place to ask questions. For example you can use it if you have questions about: permission denied errors, invisible repos, can't clone/pull/push or with web hooks that don't fire. Please search for similar issues before posting your own, there's a good chance somebody else had the same issue you have now and had it resolved. There are a lot of helpful GitLab users there who may be able to help you quickly. If your particular issue turns out to be a bug, it will find its way from there to a fix.
* [Feedback and suggestions forum](http://gitlab.uservoice.com/forums/176466-general) is the place to propose and discuss new features for GitLab.
* [Support subscription](http://www.gitlab.com/subscription/) connect you to the knowledge of GitLab experts that will resolve your issues and answer your questions.
* [Consultancy](http://www.gitlab.com/consultancy/) allows you hire GitLab exports for installations, upgrades and customizations.
* [Contributing guide](https://github.com/gitlabhq/gitlabhq/blob/master/CONTRIBUTING.md) describes how to submit pull requests and issues. Pull requests and issues not in line with the guidelines in this document will be closed without comment.
### Getting in touch
* [Core team](https://github.com/gitlabhq?tab=members)
* [Contributors](https://github.com/gitlabhq/gitlabhq/graphs/contributors)
* [Leader](https://github.com/randx)
* [Contact page](http://gitlab.org/contact/)

View File

@ -1,25 +1,5 @@
## GitLab Roadmap
### Common
### v5.1 April 22
* Help page for service tasks like repos import, backup etc
* Hide last push widget after following link
* Add comment events
* gitolite namespaces for projects per user/group. It will allow us same project names for different users
### Issues
* labels autocomplete via jquery autocomplete
* Import/Export issues
* Form: Assign to me link right to the selectbox
### Merge Request
* Save code fragments with MR comments
### Services
* Campfire integration service
* Hipchat integration service
* Travis CI integration service
* Jenkins CI integration service
* Not decided yet.

View File

@ -1 +1 @@
3.1.0
5.1.0pre

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 749 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 691 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 674 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 750 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 463 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 632 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 463 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 632 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -10,3 +10,8 @@ $ ->
$('.log-tabs a').click (e) ->
e.preventDefault()
$(this).tab('show')
$('.log-bottom').click (e) ->
e.preventDefault()
visible_log = $(".file_content:visible")
visible_log.animate({ scrollTop: visible_log.find('ol').height() }, "fast")

View File

@ -0,0 +1,53 @@
@Api =
users_path: "/api/:version/users.json"
user_path: "/api/:version/users/:id.json"
notes_path: "/api/:version/projects/:id/notes.json"
# Get 20 (depends on api) recent notes
# and sort the ascending from oldest to newest
notes: (project_id, callback) ->
url = Api.buildUrl(Api.notes_path)
url = url.replace(':id', project_id)
$.ajax(
url: url,
data:
private_token: gon.api_token
gfm: true
recent: true
dataType: "json"
).done (notes) ->
notes.sort (a, b) ->
return a.id - b.id
callback(notes)
user: (user_id, callback) ->
url = Api.buildUrl(Api.user_path)
url = url.replace(':id', user_id)
$.ajax(
url: url
data:
private_token: gon.api_token
dataType: "json"
).done (user) ->
callback(user)
# Return users list. Filtered by query
# Only active users retrieved
users: (query, callback) ->
url = Api.buildUrl(Api.users_path)
$.ajax(
url: url
data:
private_token: gon.api_token
search: query
per_page: 20
active: true
dataType: "json"
).done (users) ->
callback(users)
buildUrl: (url) ->
return url.replace(':version', gon.api_version)

View File

@ -17,6 +17,7 @@
//= require bootstrap
//= require modernizr
//= require chosen-jquery
//= require select2
//= require raphael
//= require g.raphael-min
//= require g.bar-min

View File

@ -0,0 +1,5 @@
$ ->
$("body").on "click", ".js-details-target", ->
container = $(@).closest(".js-details-container")
container.toggleClass("open")

View File

@ -0,0 +1,13 @@
$ ->
$("body").on "click", ".js-toggler-target", ->
container = $(@).closest(".js-toggler-container")
container.toggleClass("on")
$("body").on "click", ".js-toggle-visibility-link", (e) ->
$(@).find('i').
toggleClass('icon-chevron-down').
toggleClass('icon-chevron-up')
container = $(".js-toggle-visibility-container")
container.toggleClass("hide")
e.preventDefault()

View File

@ -0,0 +1,309 @@
class BranchGraph
constructor: (@element, @options) ->
@preparedCommits = {}
@mtime = 0
@mspace = 0
@parents = {}
@colors = ["#000"]
@offsetX = 120
@offsetY = 20
@unitTime = 30
@unitSpace = 10
@load()
load: ->
$.ajax
url: @options.url
method: "get"
dataType: "json"
success: $.proxy((data) ->
$(".loading", @element).hide()
@prepareData data.days, data.commits
@buildGraph()
, this)
prepareData: (@days, @commits) ->
@collectParents()
for c in @commits
c.isParent = true if c.id of @parents
@preparedCommits[c.id] = c
@collectColors()
collectParents: ->
for c in @commits
@mtime = Math.max(@mtime, c.time)
@mspace = Math.max(@mspace, c.space)
for p in c.parents
@parents[p[0]] = true
@mspace = Math.max(@mspace, p[1])
collectColors: ->
k = 0
while k < @mspace
@colors.push Raphael.getColor(.8)
# Skipping a few colors in the spectrum to get more contrast between colors
Raphael.getColor()
Raphael.getColor()
k++
buildGraph: ->
graphHeight = $(@element).height()
graphWidth = $(@element).width()
ch = Math.max(graphHeight, @offsetY + @unitTime * @mtime + 150)
cw = Math.max(graphWidth, @offsetX + @unitSpace * @mspace + 300)
@r = r = Raphael(@element.get(0), cw, ch)
top = r.set()
cuday = 0
cumonth = ""
barHeight = Math.max(graphHeight, @unitTime * @days.length + 320)
r.rect(0, 0, 26, barHeight).attr fill: "#222"
r.rect(26, 0, 20, barHeight).attr fill: "#444"
for day, mm in @days
if cuday isnt day[0]
# Dates
r.text(36, @offsetY + @unitTime * mm, day[0])
.attr(
font: "12px Monaco, monospace"
fill: "#DDD"
)
cuday = day[0]
if cumonth isnt day[1]
# Months
r.text(13, @offsetY + @unitTime * mm, day[1])
.attr(
font: "12px Monaco, monospace"
fill: "#EEE"
)
cumonth = day[1]
for commit in @commits
x = @offsetX + @unitSpace * (@mspace - commit.space)
y = @offsetY + @unitTime * commit.time
@drawDot(x, y, commit)
@drawLines(x, y, commit)
@appendLabel(x, y, commit.refs) if commit.refs
@appendAnchor(top, commit, x, y)
@markCommit(x, y, commit, graphHeight)
top.toFront()
@bindEvents()
bindEvents: ->
drag = {}
element = @element
dragger = (event) ->
element.scrollLeft drag.sl - (event.clientX - drag.x)
element.scrollTop drag.st - (event.clientY - drag.y)
element.on mousedown: (event) ->
drag =
x: event.clientX
y: event.clientY
st: element.scrollTop()
sl: element.scrollLeft()
$(window).on "mousemove", dragger
$(window).on
mouseup: ->
$(window).off "mousemove", dragger
keydown: (event) ->
# left
element.scrollLeft element.scrollLeft() - 50 if event.keyCode is 37
# top
element.scrollTop element.scrollTop() - 50 if event.keyCode is 38
# right
element.scrollLeft element.scrollLeft() + 50 if event.keyCode is 39
# bottom
element.scrollTop element.scrollTop() + 50 if event.keyCode is 40
appendLabel: (x, y, refs) ->
r = @r
shortrefs = refs
# Truncate if longer than 15 chars
shortrefs = shortrefs.substr(0, 15) + "" if shortrefs.length > 17
text = r.text(x + 4, y, shortrefs).attr(
"text-anchor": "start"
font: "10px Monaco, monospace"
fill: "#FFF"
title: refs
)
textbox = text.getBBox()
# Create rectangle based on the size of the textbox
rect = r.rect(x, y - 7, textbox.width + 5, textbox.height + 5, 4).attr(
fill: "#000"
"fill-opacity": .5
stroke: "none"
)
triangle = r.path(["M", x - 5, y, "L", x - 15, y - 4, "L", x - 15, y + 4, "Z"]).attr(
fill: "#000"
"fill-opacity": .5
stroke: "none"
)
label = r.set(rect, text)
label.transform(["t", -rect.getBBox().width - 15, 0])
# Set text to front
text.toFront()
appendAnchor: (top, commit, x, y) ->
r = @r
options = @options
anchor = r.circle(x, y, 10).attr(
fill: "#000"
opacity: 0
cursor: "pointer"
).click(->
window.open options.commit_url.replace("%s", commit.id), "_blank"
).hover(->
@tooltip = r.commitTooltip(x + 5, y, commit)
top.push @tooltip.insertBefore(this)
, ->
@tooltip and @tooltip.remove() and delete @tooltip
)
top.push anchor
drawDot: (x, y, commit) ->
r = @r
r.circle(x, y, 3).attr(
fill: @colors[commit.space]
stroke: "none"
)
r.rect(@offsetX + @unitSpace * @mspace + 10, y - 10, 20, 20).attr(
fill: "url(#{commit.author.icon})"
stroke: @colors[commit.space]
"stroke-width": 2
)
r.text(@offsetX + @unitSpace * @mspace + 35, y, commit.message.split("\n")[0]).attr(
"text-anchor": "start"
font: "14px Monaco, monospace"
)
drawLines: (x, y, commit) ->
r = @r
for parent, i in commit.parents
parentCommit = @preparedCommits[parent[0]]
parentY = @offsetY + @unitTime * parentCommit.time
parentX1 = @offsetX + @unitSpace * (@mspace - parentCommit.space)
parentX2 = @offsetX + @unitSpace * (@mspace - parent[1])
# Set line color
if parentCommit.space <= commit.space
color = @colors[commit.space]
else
color = @colors[parentCommit.space]
# Build line shape
if parent[1] is commit.space
offset = [0, 5]
arrow = "l-2,5,4,0,-2,-5,0,5"
else if parent[1] < commit.space
offset = [3, 3]
arrow = "l5,0,-2,4,-3,-4,4,2"
else
offset = [-3, 3]
arrow = "l-5,0,2,4,3,-4,-4,2"
# Start point
route = ["M", x + offset[0], y + offset[1]]
# Add arrow if not first parent
if i > 0
route.push(arrow)
# Circumvent if overlap
if commit.space isnt parentCommit.space or commit.space isnt parent[1]
route.push(
"L", parentX2, y + 10,
"L", parentX2, parentY - 5,
)
# End point
route.push("L", parentX1, parentY)
r
.path(route)
.attr(
stroke: color
"stroke-width": 2)
markCommit: (x, y, commit, graphHeight) ->
if commit.id is @options.commit_id
r = @r
r.path(["M", x + 5, y, "L", x + 15, y + 4, "L", x + 15, y - 4, "Z"]).attr(
fill: "#000"
"fill-opacity": .5
stroke: "none"
)
# Displayed in the center
@element.scrollTop(y - graphHeight / 2)
Raphael::commitTooltip = (x, y, commit) ->
boxWidth = 300
boxHeight = 200
icon = @image(commit.author.icon, x, y, 20, 20)
nameText = @text(x + 25, y + 10, commit.author.name)
idText = @text(x, y + 35, commit.id)
messageText = @text(x, y + 50, commit.message)
textSet = @set(icon, nameText, idText, messageText).attr(
"text-anchor": "start"
font: "12px Monaco, monospace"
)
nameText.attr(
font: "14px Arial"
"font-weight": "bold"
)
idText.attr fill: "#AAA"
@textWrap messageText, boxWidth - 50
rect = @rect(x - 10, y - 10, boxWidth, 100, 4).attr(
fill: "#FFF"
stroke: "#000"
"stroke-linecap": "round"
"stroke-width": 2
)
tooltip = @set(rect, textSet)
rect.attr(
height: tooltip.getBBox().height + 10
width: tooltip.getBBox().width + 10
)
tooltip.transform ["t", 20, 20]
tooltip
Raphael::textWrap = (t, width) ->
content = t.attr("text")
abc = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
t.attr text: abc
letterWidth = t.getBBox().width / abc.length
t.attr text: content
words = content.split(" ")
x = 0
s = []
for word in words
if x + (word.length * letterWidth) > width
s.push "\n"
x = 0
x += word.length * letterWidth
s.push word + " "
t.attr text: s.join("")
b = t.getBBox()
h = Math.abs(b.y2) - Math.abs(b.y) + 1
t.attr y: b.y + h
@BranchGraph = BranchGraph

View File

@ -0,0 +1,7 @@
class CommitFile
constructor: (file) ->
if $('.image', file).length
new ImageFile(file)
this.CommitFile = CommitFile

View File

@ -0,0 +1,128 @@
class ImageFile
# Width where images must fits in, for 2-up this gets divided by 2
@availWidth = 900
@viewModes = ['two-up', 'swipe']
constructor: (@file) ->
# Determine if old and new file has same dimensions, if not show 'two-up' view
this.requestImageInfo $('.two-up.view .frame.deleted img', @file), (deletedWidth, deletedHeight) =>
this.requestImageInfo $('.two-up.view .frame.added img', @file), (width, height) =>
if width == deletedWidth && height == deletedHeight
this.initViewModes()
else
this.initView('two-up')
initViewModes: ->
viewMode = ImageFile.viewModes[0]
$('.view-modes', @file).removeClass 'hide'
$('.view-modes-menu', @file).on 'click', 'li', (event) =>
unless $(event.currentTarget).hasClass('active')
this.activateViewMode(event.currentTarget.className)
this.activateViewMode(viewMode)
activateViewMode: (viewMode) ->
$('.view-modes-menu li', @file)
.removeClass('active')
.filter(".#{viewMode}").addClass 'active'
$(".view:visible:not(.#{viewMode})", @file).fadeOut 200, =>
$(".view.#{viewMode}", @file).fadeIn(200)
this.initView viewMode
initView: (viewMode) ->
this.views[viewMode].call(this)
prepareFrames = (view) ->
maxWidth = 0
maxHeight = 0
$('.frame', view).each (index, frame) =>
width = $(frame).width()
height = $(frame).height()
maxWidth = if width > maxWidth then width else maxWidth
maxHeight = if height > maxHeight then height else maxHeight
.css
width: maxWidth
height: maxHeight
[maxWidth, maxHeight]
views:
'two-up': ->
$('.two-up.view .wrap', @file).each (index, wrap) =>
$('img', wrap).each ->
currentWidth = $(this).width()
if currentWidth > ImageFile.availWidth / 2
$(this).width ImageFile.availWidth / 2
this.requestImageInfo $('img', wrap), (width, height) ->
$('.image-info .meta-width', wrap).text "#{width}px"
$('.image-info .meta-height', wrap).text "#{height}px"
$('.image-info', wrap).removeClass('hide')
'swipe': ->
maxWidth = 0
maxHeight = 0
$('.swipe.view', @file).each (index, view) =>
[maxWidth, maxHeight] = prepareFrames(view)
$('.swipe-frame', view).css
width: maxWidth + 16
height: maxHeight + 28
$('.swipe-wrap', view).css
width: maxWidth + 1
height: maxHeight + 2
$('.swipe-bar', view).css
left: 0
.draggable
axis: 'x'
containment: 'parent'
drag: (event) ->
$('.swipe-wrap', view).width (maxWidth + 1) - $(this).position().left
stop: (event) ->
$('.swipe-wrap', view).width (maxWidth + 1) - $(this).position().left
'onion-skin': ->
maxWidth = 0
maxHeight = 0
dragTrackWidth = $('.drag-track', @file).width() - $('.dragger', @file).width()
$('.onion-skin.view', @file).each (index, view) =>
[maxWidth, maxHeight] = prepareFrames(view)
$('.onion-skin-frame', view).css
width: maxWidth + 16
height: maxHeight + 28
$('.swipe-wrap', view).css
width: maxWidth + 1
height: maxHeight + 2
$('.dragger', view).css
left: dragTrackWidth
.draggable
axis: 'x'
containment: 'parent'
drag: (event) ->
$('.frame.added', view).css('opacity', $(this).position().left / dragTrackWidth)
stop: (event) ->
$('.frame.added', view).css('opacity', $(this).position().left / dragTrackWidth)
requestImageInfo: (img, callback) ->
domImg = img.get(0)
if domImg.complete
callback.call(this, domImg.naturalWidth, domImg.naturalHeight)
else
img.on 'load', =>
callback.call(this, domImg.naturalWidth, domImg.naturalHeight)
this.ImageFile = ImageFile

View File

@ -1,59 +0,0 @@
var CommitsList = {
ref:null,
limit:0,
offset:0,
disable:false,
init:
function(ref, limit) {
$(".day-commits-table li.commit").live('click', function(e){
if(e.target.nodeName != "A") {
location.href = $(this).attr("url");
e.stopPropagation();
return false;
}
});
this.ref=ref;
this.limit=limit;
this.offset=limit;
this.initLoadMore();
$('.loading').show();
},
getOld:
function() {
$('.loading').show();
$.ajax({
type: "GET",
url: location.href,
data: "limit=" + this.limit + "&offset=" + this.offset + "&ref=" + this.ref,
complete: function(){ $('.loading').hide()},
dataType: "script"});
},
append:
function(count, html) {
$("#commits_list").append(html);
if(count > 0) {
this.offset += count;
} else {
this.disable = true;
}
},
initLoadMore:
function() {
$(document).endlessScroll({
bottomPixels: 400,
fireDelay: 1000,
fireOnce:true,
ceaseFire: function() {
return CommitsList.disable;
},
callback: function(i) {
CommitsList.getOld();
}
});
}
}

View File

@ -0,0 +1,54 @@
class CommitsList
@data =
ref: null
limit: 0
offset: 0
@disable = false
@showProgress: ->
$('.loading').show()
@hideProgress: ->
$('.loading').hide()
@init: (ref, limit) ->
$(".day-commits-table li.commit").live 'click', (event) ->
if event.target.nodeName != "A"
location.href = $(this).attr("url")
e.stopPropagation()
return false
@data.ref = ref
@data.limit = limit
@data.offset = limit
this.initLoadMore()
this.showProgress();
@getOld: ->
this.showProgress()
$.ajax
type: "GET"
url: location.href
data: @data
complete: this.hideProgress
dataType: "script"
@append: (count, html) ->
$("#commits-list").append(html)
if count > 0
@data.offset += count
else
@disable = true
@initLoadMore: ->
$(document).endlessScroll
bottomPixels: 400
fireDelay: 1000
fireOnce: true
ceaseFire: =>
@disable
callback: =>
this.getOld()
this.CommitsList = CommitsList

View File

@ -0,0 +1,39 @@
window.dashboardPage = ->
Pager.init 20, true
initSidebarTab()
$(".event_filter_link").bind "click", (event) ->
event.preventDefault()
toggleFilter $(this)
reloadActivities()
reloadActivities = ->
$(".content_list").html ''
Pager.init 20, true
toggleFilter = (sender) ->
sender.parent().toggleClass "inactive"
event_filters = $.cookie("event_filter")
filter = sender.attr("id").split("_")[0]
if event_filters
event_filters = event_filters.split(",")
else
event_filters = new Array()
index = event_filters.indexOf(filter)
if index is -1
event_filters.push filter
else
event_filters.splice index, 1
$.cookie "event_filter", event_filters.join(",")
initSidebarTab = ->
key = "dashboard_sidebar_filter"
# store selection in cookie
$('.dash-sidebar-tabs a').on 'click', (e) ->
$.cookie(key, $(e.target).attr('id'))
# show tab from cookie
sidebar_filter = $.cookie(key)
$("#" + sidebar_filter).tab('show') if sidebar_filter

View File

@ -0,0 +1,7 @@
Array.prototype.first = function() {
return this[0];
}
Array.prototype.last = function() {
return this[this.length-1];
}

View File

@ -0,0 +1,9 @@
$.fn.showAndHide = ->
$(@).show().
delay(3000).
fadeOut()
$.fn.enableButton = ->
$(@).removeAttr('disabled').
removeClass('disabled')

View File

@ -1,52 +1,38 @@
# Creates the variables for setting up GFM auto-completion
window.GitLab ?= {}
GitLab.GfmAutoComplete ?= {}
# Emoji
data = []
template = "<li data-value='${insert}'>${name} <img alt='${name}' height='20' src='${image}' width='20' /></li>"
GitLab.GfmAutoComplete.Emoji = {data, template}
# Team Members
data = []
url = '';
params = {private_token: '', page: 1}
GitLab.GfmAutoComplete.Members = {data, url, params}
# Add GFM auto-completion to all input fields, that accept GFM input.
GitLab.GfmAutoComplete.setup = ->
input = $('.js-gfm-input')
GitLab.GfmAutoComplete =
# Emoji
input.atWho ':',
data: GitLab.GfmAutoComplete.Emoji.data,
tpl: GitLab.GfmAutoComplete.Emoji.template
Emoji:
data: []
template: '<li data-value="${insert}">${name} <img alt="${name}" height="20" src="${image}" width="20" /></li>'
# Team Members
input.atWho '@', (query, callback) ->
(getMoreMembers = ->
$.getJSON(GitLab.GfmAutoComplete.Members.url, GitLab.GfmAutoComplete.Members.params)
.success (members) ->
# pick the data we need
newMembersData = $.map(members, (m) -> m.name )
Members:
data: []
url: ''
params:
private_token: ''
template: '<li data-value="${username}">${username} <small>${name}</small></li>'
# add the new page of data to the rest
$.merge(GitLab.GfmAutoComplete.Members.data, newMembersData)
# Add GFM auto-completion to all input fields, that accept GFM input.
setup: ->
input = $('.js-gfm-input')
# show the pop-up with a copy of the current data
callback(GitLab.GfmAutoComplete.Members.data[..])
# Emoji
input.atWho ':',
data: @Emoji.data
tpl: @Emoji.template
# are we past the last page?
if newMembersData.length is 0
# set static data and stop callbacks
input.atWho '@',
data: GitLab.GfmAutoComplete.Members.data
callback: null
else
# get next page
getMoreMembers()
# Team Members
input.atWho '@',
tpl: @Members.template
callback: (query, callback) =>
request_params = $.extend({}, @Members.params, query: query)
$.getJSON(@Members.url, request_params).done (members) =>
new_members_data = $.map(members, (m) ->
username: m.username,
name: m.name
)
callback(new_members_data)
# so the next request gets the next page
GitLab.GfmAutoComplete.Members.params.page += 1
).call()

View File

@ -1,43 +1,3 @@
function switchToNewIssue(){
$(".issues_content").hide("fade", { direction: "left" }, 150, function(){
$('select#issue_assignee_id').chosen();
$('select#issue_milestone_id').chosen();
$("#new_issue_dialog").show("fade", { direction: "right" }, 150);
$('.top-tabs .add_new').hide();
disableButtonIfEmptyField("#issue_title", ".save-btn");
GitLab.GfmAutoComplete.setup();
});
}
function switchToEditIssue(){
$(".issues_content").hide("fade", { direction: "left" }, 150, function(){
$('select#issue_assignee_id').chosen();
$('select#issue_milestone_id').chosen();
$("#edit_issue_dialog").show("fade", { direction: "right" }, 150);
$('.add_new').hide();
disableButtonIfEmptyField("#issue_title", ".save-btn");
GitLab.GfmAutoComplete.setup();
});
}
function switchFromNewIssue(){
backToIssues();
}
function switchFromEditIssue(){
backToIssues();
}
function backToIssues(){
$("#edit_issue_dialog, #new_issue_dialog").hide("fade", { direction: "right" }, 150, function(){
$(".issues_content").show("fade", { direction: "left" }, 150, function() {
$("#edit_issue_dialog").html("");
$("#new_issue_dialog").html("");
$('.add_new').show();
});
});
}
function initIssuesSearch() {
var href = $('#issue_search_form').attr('action');
var last_terms = '';
@ -51,7 +11,7 @@ function initIssuesSearch() {
last_terms = terms;
if (terms.length >= 2 || terms.length == 0) {
$.get(href, { 'f': status, 'terms': terms, 'milestone_id': milestone_id }, function(response) {
$.get(href, { 'status': status, 'terms': terms, 'milestone_id': milestone_id }, function(response) {
$('#issues-table').html(response);
});
}
@ -76,23 +36,15 @@ function issuesPage(){
$(this).closest("form").submit();
});
$("#new_issue_link").click(function(){
updateNewIssueURL();
});
$('body').on('ajax:success', '.close_issue, .reopen_issue, #new_issue', function(){
$('body').on('ajax:success', '.close_issue, .reopen_issue', function(){
var t = $(this),
totalIssues,
reopen = t.hasClass('reopen_issue'),
newIssue = false;
if( this.id == 'new_issue' ){
newIssue = true;
}
$('.issue_counter, #new_issue').each(function(){
reopen = t.hasClass('reopen_issue');
$('.issue_counter').each(function(){
var issue = $(this);
totalIssues = parseInt( $(this).html(), 10 );
if( newIssue || ( reopen && issue.closest('.main_menu').length ) ){
if( reopen && issue.closest('.main_menu').length ){
$(this).html( totalIssues+1 );
}else {
$(this).html( totalIssues-1 );
@ -126,20 +78,3 @@ function issuesCheckChanged() {
$('.issues_filters').show();
}
}
function updateNewIssueURL(){
var new_issue_link = $("#new_issue_link");
var milestone_id = $("#milestone_id").val();
var assignee_id = $("#assignee_id").val();
var new_href = "";
if(milestone_id){
new_href = "issue[milestone_id]=" + milestone_id + "&";
}
if(assignee_id){
new_href = new_href + "issue[assignee_id]=" + assignee_id;
}
if(new_href.length){
new_href = new_issue_link.attr("href") + "?" + new_href;
new_issue_link.attr("href", new_href);
}
};

View File

@ -0,0 +1,181 @@
/**
* Timeago is a jQuery plugin that makes it easy to support automatically
* updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
*
* @name timeago
* @version 1.1.0
* @requires jQuery v1.2.3+
* @author Ryan McGeary
* @license MIT License - http://www.opensource.org/licenses/mit-license.php
*
* For usage and examples, visit:
* http://timeago.yarp.com/
*
* Copyright (c) 2008-2013, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org)
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else {
// Browser globals
factory(jQuery);
}
}(function ($) {
$.timeago = function(timestamp) {
if (timestamp instanceof Date) {
return inWords(timestamp);
} else if (typeof timestamp === "string") {
return inWords($.timeago.parse(timestamp));
} else if (typeof timestamp === "number") {
return inWords(new Date(timestamp));
} else {
return inWords($.timeago.datetime(timestamp));
}
};
var $t = $.timeago;
$.extend($.timeago, {
settings: {
refreshMillis: 60000,
allowFuture: false,
strings: {
prefixAgo: null,
prefixFromNow: null,
suffixAgo: "ago",
suffixFromNow: "from now",
seconds: "less than a minute",
minute: "about a minute",
minutes: "%d minutes",
hour: "about an hour",
hours: "about %d hours",
day: "a day",
days: "%d days",
month: "about a month",
months: "%d months",
year: "about a year",
years: "%d years",
wordSeparator: " ",
numbers: []
}
},
inWords: function(distanceMillis) {
var $l = this.settings.strings;
var prefix = $l.prefixAgo;
var suffix = $l.suffixAgo;
if (this.settings.allowFuture) {
if (distanceMillis < 0) {
prefix = $l.prefixFromNow;
suffix = $l.suffixFromNow;
}
}
var seconds = Math.abs(distanceMillis) / 1000;
var minutes = seconds / 60;
var hours = minutes / 60;
var days = hours / 24;
var years = days / 365;
function substitute(stringOrFunction, number) {
var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction;
var value = ($l.numbers && $l.numbers[number]) || number;
return string.replace(/%d/i, value);
}
var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
seconds < 90 && substitute($l.minute, 1) ||
minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
minutes < 90 && substitute($l.hour, 1) ||
hours < 24 && substitute($l.hours, Math.round(hours)) ||
hours < 42 && substitute($l.day, 1) ||
days < 30 && substitute($l.days, Math.round(days)) ||
days < 45 && substitute($l.month, 1) ||
days < 365 && substitute($l.months, Math.round(days / 30)) ||
years < 1.5 && substitute($l.year, 1) ||
substitute($l.years, Math.round(years));
var separator = $l.wordSeparator || "";
if ($l.wordSeparator === undefined) { separator = " "; }
return $.trim([prefix, words, suffix].join(separator));
},
parse: function(iso8601) {
var s = $.trim(iso8601);
s = s.replace(/\.\d+/,""); // remove milliseconds
s = s.replace(/-/,"/").replace(/-/,"/");
s = s.replace(/T/," ").replace(/Z/," UTC");
s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
return new Date(s);
},
datetime: function(elem) {
var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title");
return $t.parse(iso8601);
},
isTime: function(elem) {
// jQuery's `is()` doesn't play well with HTML5 in IE
return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
}
});
// functions that can be called via $(el).timeago('action')
// init is default when no action is given
// functions are called with context of a single element
var functions = {
init: function(){
var refresh_el = $.proxy(refresh, this);
refresh_el();
var $s = $t.settings;
if ($s.refreshMillis > 0) {
setInterval(refresh_el, $s.refreshMillis);
}
},
update: function(time){
$(this).data('timeago', { datetime: $t.parse(time) });
refresh.apply(this);
}
};
$.fn.timeago = function(action, options) {
var fn = action ? functions[action] : functions.init;
if(!fn){
throw new Error("Unknown function name '"+ action +"' for timeago");
}
// each over objects here and call the requested function
this.each(function(){
fn.call(this, options);
});
return this;
};
function refresh() {
var data = prepareData(this);
if (!isNaN(data.datetime)) {
$(this).text(inWords(data.datetime));
}
return this;
}
function prepareData(element) {
element = $(element);
if (!element.data("timeago")) {
element.data("timeago", { datetime: $t.datetime(element) });
var text = $.trim(element.text());
if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) {
element.attr("title", text);
}
}
return element.data("timeago");
}
function inWords(date) {
return $t.inWords(distance(date));
}
function distance(date) {
return (new Date().getTime() - date.getTime());
}
// fix for IE6 suckage
document.createElement("abbr");
document.createElement("time");
}));

View File

@ -0,0 +1,211 @@
function md5 (str) {
// http://kevin.vanzonneveld.net
// + original by: Webtoolkit.info (http://www.webtoolkit.info/)
// + namespaced by: Michael White (http://getsprink.com)
// + tweaked by: Jack
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + input by: Brett Zamir (http://brett-zamir.me)
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// - depends on: utf8_encode
// * example 1: md5('Kevin van Zonneveld');
// * returns 1: '6e658d4bfcb59cc13f96c14450ac40b9'
var xl;
var rotateLeft = function (lValue, iShiftBits) {
return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));
};
var addUnsigned = function (lX, lY) {
var lX4, lY4, lX8, lY8, lResult;
lX8 = (lX & 0x80000000);
lY8 = (lY & 0x80000000);
lX4 = (lX & 0x40000000);
lY4 = (lY & 0x40000000);
lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF);
if (lX4 & lY4) {
return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
}
if (lX4 | lY4) {
if (lResult & 0x40000000) {
return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
} else {
return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
}
} else {
return (lResult ^ lX8 ^ lY8);
}
};
var _F = function (x, y, z) {
return (x & y) | ((~x) & z);
};
var _G = function (x, y, z) {
return (x & z) | (y & (~z));
};
var _H = function (x, y, z) {
return (x ^ y ^ z);
};
var _I = function (x, y, z) {
return (y ^ (x | (~z)));
};
var _FF = function (a, b, c, d, x, s, ac) {
a = addUnsigned(a, addUnsigned(addUnsigned(_F(b, c, d), x), ac));
return addUnsigned(rotateLeft(a, s), b);
};
var _GG = function (a, b, c, d, x, s, ac) {
a = addUnsigned(a, addUnsigned(addUnsigned(_G(b, c, d), x), ac));
return addUnsigned(rotateLeft(a, s), b);
};
var _HH = function (a, b, c, d, x, s, ac) {
a = addUnsigned(a, addUnsigned(addUnsigned(_H(b, c, d), x), ac));
return addUnsigned(rotateLeft(a, s), b);
};
var _II = function (a, b, c, d, x, s, ac) {
a = addUnsigned(a, addUnsigned(addUnsigned(_I(b, c, d), x), ac));
return addUnsigned(rotateLeft(a, s), b);
};
var convertToWordArray = function (str) {
var lWordCount;
var lMessageLength = str.length;
var lNumberOfWords_temp1 = lMessageLength + 8;
var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;
var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;
var lWordArray = new Array(lNumberOfWords - 1);
var lBytePosition = 0;
var lByteCount = 0;
while (lByteCount < lMessageLength) {
lWordCount = (lByteCount - (lByteCount % 4)) / 4;
lBytePosition = (lByteCount % 4) * 8;
lWordArray[lWordCount] = (lWordArray[lWordCount] | (str.charCodeAt(lByteCount) << lBytePosition));
lByteCount++;
}
lWordCount = (lByteCount - (lByteCount % 4)) / 4;
lBytePosition = (lByteCount % 4) * 8;
lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);
lWordArray[lNumberOfWords - 2] = lMessageLength << 3;
lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;
return lWordArray;
};
var wordToHex = function (lValue) {
var wordToHexValue = "",
wordToHexValue_temp = "",
lByte, lCount;
for (lCount = 0; lCount <= 3; lCount++) {
lByte = (lValue >>> (lCount * 8)) & 255;
wordToHexValue_temp = "0" + lByte.toString(16);
wordToHexValue = wordToHexValue + wordToHexValue_temp.substr(wordToHexValue_temp.length - 2, 2);
}
return wordToHexValue;
};
var x = [],
k, AA, BB, CC, DD, a, b, c, d, S11 = 7,
S12 = 12,
S13 = 17,
S14 = 22,
S21 = 5,
S22 = 9,
S23 = 14,
S24 = 20,
S31 = 4,
S32 = 11,
S33 = 16,
S34 = 23,
S41 = 6,
S42 = 10,
S43 = 15,
S44 = 21;
str = this.utf8_encode(str);
x = convertToWordArray(str);
a = 0x67452301;
b = 0xEFCDAB89;
c = 0x98BADCFE;
d = 0x10325476;
xl = x.length;
for (k = 0; k < xl; k += 16) {
AA = a;
BB = b;
CC = c;
DD = d;
a = _FF(a, b, c, d, x[k + 0], S11, 0xD76AA478);
d = _FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756);
c = _FF(c, d, a, b, x[k + 2], S13, 0x242070DB);
b = _FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE);
a = _FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF);
d = _FF(d, a, b, c, x[k + 5], S12, 0x4787C62A);
c = _FF(c, d, a, b, x[k + 6], S13, 0xA8304613);
b = _FF(b, c, d, a, x[k + 7], S14, 0xFD469501);
a = _FF(a, b, c, d, x[k + 8], S11, 0x698098D8);
d = _FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF);
c = _FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1);
b = _FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE);
a = _FF(a, b, c, d, x[k + 12], S11, 0x6B901122);
d = _FF(d, a, b, c, x[k + 13], S12, 0xFD987193);
c = _FF(c, d, a, b, x[k + 14], S13, 0xA679438E);
b = _FF(b, c, d, a, x[k + 15], S14, 0x49B40821);
a = _GG(a, b, c, d, x[k + 1], S21, 0xF61E2562);
d = _GG(d, a, b, c, x[k + 6], S22, 0xC040B340);
c = _GG(c, d, a, b, x[k + 11], S23, 0x265E5A51);
b = _GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA);
a = _GG(a, b, c, d, x[k + 5], S21, 0xD62F105D);
d = _GG(d, a, b, c, x[k + 10], S22, 0x2441453);
c = _GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681);
b = _GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8);
a = _GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6);
d = _GG(d, a, b, c, x[k + 14], S22, 0xC33707D6);
c = _GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87);
b = _GG(b, c, d, a, x[k + 8], S24, 0x455A14ED);
a = _GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905);
d = _GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8);
c = _GG(c, d, a, b, x[k + 7], S23, 0x676F02D9);
b = _GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A);
a = _HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942);
d = _HH(d, a, b, c, x[k + 8], S32, 0x8771F681);
c = _HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122);
b = _HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C);
a = _HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44);
d = _HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9);
c = _HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60);
b = _HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70);
a = _HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6);
d = _HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA);
c = _HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085);
b = _HH(b, c, d, a, x[k + 6], S34, 0x4881D05);
a = _HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039);
d = _HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5);
c = _HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8);
b = _HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665);
a = _II(a, b, c, d, x[k + 0], S41, 0xF4292244);
d = _II(d, a, b, c, x[k + 7], S42, 0x432AFF97);
c = _II(c, d, a, b, x[k + 14], S43, 0xAB9423A7);
b = _II(b, c, d, a, x[k + 5], S44, 0xFC93A039);
a = _II(a, b, c, d, x[k + 12], S41, 0x655B59C3);
d = _II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92);
c = _II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D);
b = _II(b, c, d, a, x[k + 1], S44, 0x85845DD1);
a = _II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F);
d = _II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0);
c = _II(c, d, a, b, x[k + 6], S43, 0xA3014314);
b = _II(b, c, d, a, x[k + 13], S44, 0x4E0811A1);
a = _II(a, b, c, d, x[k + 4], S41, 0xF7537E82);
d = _II(d, a, b, c, x[k + 11], S42, 0xBD3AF235);
c = _II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB);
b = _II(b, c, d, a, x[k + 9], S44, 0xEB86D391);
a = addUnsigned(a, AA);
b = addUnsigned(b, BB);
c = addUnsigned(c, CC);
d = addUnsigned(d, DD);
}
var temp = wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d);
return temp.toLowerCase();
}

View File

@ -0,0 +1,70 @@
function utf8_encode (argString) {
// http://kevin.vanzonneveld.net
// + original by: Webtoolkit.info (http://www.webtoolkit.info/)
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: sowberry
// + tweaked by: Jack
// + bugfixed by: Onno Marsman
// + improved by: Yves Sucaet
// + bugfixed by: Onno Marsman
// + bugfixed by: Ulrich
// + bugfixed by: Rafal Kukawski
// + improved by: kirilloid
// + bugfixed by: kirilloid
// * example 1: utf8_encode('Kevin van Zonneveld');
// * returns 1: 'Kevin van Zonneveld'
if (argString === null || typeof argString === "undefined") {
return "";
}
var string = (argString + ''); // .replace(/\r\n/g, "\n").replace(/\r/g, "\n");
var utftext = '',
start, end, stringl = 0;
start = end = 0;
stringl = string.length;
for (var n = 0; n < stringl; n++) {
var c1 = string.charCodeAt(n);
var enc = null;
if (c1 < 128) {
end++;
} else if (c1 > 127 && c1 < 2048) {
enc = String.fromCharCode(
(c1 >> 6) | 192,
( c1 & 63) | 128
);
} else if (c1 & 0xF800 != 0xD800) {
enc = String.fromCharCode(
(c1 >> 12) | 224,
((c1 >> 6) & 63) | 128,
( c1 & 63) | 128
);
} else { // surrogate pairs
if (c1 & 0xFC00 != 0xD800) { throw new RangeError("Unmatched trail surrogate at " + n); }
var c2 = string.charCodeAt(++n);
if (c2 & 0xFC00 != 0xDC00) { throw new RangeError("Unmatched lead surrogate at " + (n-1)); }
c1 = ((c1 & 0x3FF) << 10) + (c2 & 0x3FF) + 0x10000;
enc = String.fromCharCode(
(c1 >> 18) | 240,
((c1 >> 12) & 63) | 128,
((c1 >> 6) & 63) | 128,
( c1 & 63) | 128
);
}
if (enc !== null) {
if (end > start) {
utftext += string.slice(start, end);
}
utftext += enc;
start = end = n + 1;
}
}
if (end > start) {
utftext += string.slice(start, stringl);
}
return utftext;
}

View File

@ -7,6 +7,20 @@ window.slugify = (text) ->
window.ajaxGet = (url) ->
$.ajax({type: "GET", url: url, dataType: "script"})
window.showAndHide = (selector) ->
window.errorMessage = (message) ->
ehtml = $("<p>")
ehtml.addClass("error_message")
ehtml.html(message)
ehtml
window.split = (val) ->
return val.split( /,\s*/ )
window.extractLast = (term) ->
return split( term ).pop()
# Disable button if text field is empty
window.disableButtonIfEmptyField = (field_selector, button_selector) ->
field = $(field_selector)
@ -20,10 +34,22 @@ window.disableButtonIfEmptyField = (field_selector, button_selector) ->
else
closest_submit.enable()
window.sanitize = (str) ->
return str.replace(/<(?:.|\n)*?>/gm, '')
window.linkify = (str) ->
exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig
return str.replace(exp,"<a href='$1'>$1</a>")
$ ->
# Click a .one_click_select field, select the contents
$(".one_click_select").on 'click', -> $(@).select()
# Click a .appear-link, appear-data fadeout
$(".appear-link").on 'click', ->
$('.appear-data').fadeIn()
# Initialize chosen selects
$('select.chosen').chosen()
@ -33,6 +59,17 @@ $ ->
# Bottom tooltip
$('.has_bottom_tooltip').tooltip(placement: 'bottom')
# Form submitter
$('.trigger-submit').on 'change', ->
$(@).parents('form').submit()
$("abbr.timeago").timeago()
# Flash
if (flash = $(".flash-container")).length > 0
flash.click -> $(@).fadeOut()
flash.show()
setTimeout (-> flash.fadeOut()), 3000
# Disable form buttons while a form is submitting
$('body').on 'ajax:complete, ajax:beforeSend, submit', 'form', (e) ->

View File

@ -1,129 +0,0 @@
var MergeRequest = {
diffs_loaded: false,
commits_loaded: false,
opts: false,
init:
function(opts) {
var self = this;
self.opts = opts;
self.initTabs();
self.initMergeWidget();
$(".mr_show_all_commits").bind("click", function() {
self.showAllCommits();
});
$(".line_note_link, .line_note_reply_link").live("click", function(e) {
var form = $(".per_line_form");
$(this).parent().parent().after(form);
form.find("#note_line_code").val($(this).attr("line_code"));
form.show();
return false;
});
},
initMergeWidget:
function() {
var self = this;
self.showState(self.opts.current_state);
if($(".automerge_widget").length && self.opts.check_enable){
$.get(self.opts.url_to_automerge_check, function(data){
self.showState(data.state);
}, "json");
}
},
initTabs:
function() {
$(".mr_nav_tabs a").live("click", function() {
$(".mr_nav_tabs a").parent().removeClass("active");
$(this).parent().addClass("active");
});
var current_tab;
if(this.opts.action == "diffs") {
current_tab = $(".mr_nav_tabs .merge-diffs-tab");
} else {
current_tab = $(".mr_nav_tabs .merge-notes-tab");
}
current_tab.parent().addClass("active");
this.initNotesTab();
this.initDiffTab();
},
initNotesTab:
function() {
$(".mr_nav_tabs a.merge-notes-tab").live("click", function(e) {
$(".merge-request-diffs").hide();
$(".merge_request_notes").show();
var mr_path = $(".merge-notes-tab").attr("data-url");
history.pushState({ path: mr_path }, '', mr_path);
e.preventDefault();
});
},
initDiffTab:
function() {
$(".mr_nav_tabs a.merge-diffs-tab").live("click", function(e) {
if(!MergeRequest.diffs_loaded) {
MergeRequest.loadDiff();
}
$(".merge_request_notes").hide();
$(".merge-request-diffs").show();
var mr_diff_path = $(".merge-diffs-tab").attr("data-url");
history.pushState({ path: mr_diff_path }, '', mr_diff_path);
e.preventDefault();
});
},
showState:
function(state){
$(".automerge_widget").hide();
$(".automerge_widget." + state).show();
},
loadDiff:
function() {
$(".dashboard-loader").show();
$.ajax({
type: "GET",
url: $(".merge-diffs-tab").attr("data-url"),
beforeSend: function(){ $('.status').addClass("loading")},
complete: function(){
MergeRequest.diffs_loaded = true;
$(".merge_request_notes").hide();
$('.status').removeClass("loading");
},
dataType: "script"});
},
showAllCommits:
function() {
$(".first_mr_commits").remove();
$(".all_mr_commits").removeClass("hide");
},
already_cannot_be_merged:
function(){
$(".automerge_widget").hide();
$(".merge_in_progress").hide();
$(".automerge_widget.already_cannot_be_merged").show();
}
};
/*
* Filter merge requests
*/
function merge_requestsPage() {
$("#assignee_id").chosen();
$("#milestone_id").chosen();
$("#milestone_id, #assignee_id").on("change", function(){
$(this).closest("form").submit();
});
}

View File

@ -0,0 +1,101 @@
#
# * Filter merge requests
#
@merge_requestsPage = ->
$('#assignee_id').chosen()
$('#milestone_id').chosen()
$('#milestone_id, #assignee_id').on 'change', ->
$(this).closest('form').submit()
class MergeRequest
constructor: (@opts) ->
this.$el = $('.merge-request')
@diffs_loaded = false
@commits_loaded = false
this.activateTab(@opts.action)
this.bindEvents()
this.initMergeWidget()
this.$('.show-all-commits').on 'click', =>
this.showAllCommits()
# Local jQuery finder
$: (selector) ->
this.$el.find(selector)
initMergeWidget: ->
this.showState( @opts.current_status )
if this.$('.automerge_widget').length and @opts.check_enable
$.get @opts.url_to_automerge_check, (data) =>
this.showState( data.merge_status )
, 'json'
if @opts.ci_enable
$.get @opts.url_to_ci_check, (data) =>
this.showCiState data.status
, 'json'
bindEvents: ->
this.$('.nav-tabs').on 'click', 'a', (event) =>
a = $(event.currentTarget)
href = a.attr('href')
History.replaceState {path: href}, document.title, href
event.preventDefault()
this.$('.nav-tabs').on 'click', 'li', (event) =>
this.activateTab($(event.currentTarget).data('action'))
this.$('.accept_merge_request').on 'click', ->
$('.automerge_widget.can_be_merged').hide()
$('.merge-in-progress').show()
activateTab: (action) ->
this.$('.nav-tabs li').removeClass 'active'
this.$('.tab-content').hide()
switch action
when 'diffs'
this.$('.nav-tabs .diffs-tab').addClass 'active'
this.loadDiff() unless @diffs_loaded
this.$('.diffs').show()
else
this.$('.nav-tabs .notes-tab').addClass 'active'
this.$('.notes').show()
showState: (state) ->
$('.automerge_widget').hide()
$('.automerge_widget.' + state).show()
showCiState: (state) ->
$('.ci_widget').hide()
$('.ci_widget.ci-' + state).show()
loadDiff: (event) ->
$('.dashboard-loader').show()
$.ajax
type: 'GET'
url: this.$('.nav-tabs .diffs-tab a').attr('href')
beforeSend: =>
this.$('.status').addClass 'loading'
complete: =>
@diffs_loaded = true
this.$('.status').removeClass 'loading'
dataType: 'script'
showAllCommits: ->
this.$('.first-commits').remove()
this.$('.all-commits').removeClass 'hide'
alreadyOrCannotBeMerged: ->
this.$('.automerge_widget').hide()
this.$('.merge-in-progress').hide()
this.$('.automerge_widget.already_cannot_be_merged').show()
this.MergeRequest = MergeRequest

View File

@ -1,14 +1,14 @@
$ ->
$('.milestone-issue-filter tr[data-closed]').addClass('hide')
$('.milestone-issue-filter li[data-closed]').addClass('hide')
$('.milestone-issue-filter ul.nav li a').click ->
$('.milestone-issue-filter li').toggleClass('active')
$('.milestone-issue-filter tr[data-closed]').toggleClass('hide')
$('.milestone-issue-filter li[data-closed]').toggleClass('hide')
false
$('.milestone-merge-requests-filter tr[data-closed]').addClass('hide')
$('.milestone-merge-requests-filter li[data-closed]').addClass('hide')
$('.milestone-merge-requests-filter ul.nav li a').click ->
$('.milestone-merge-requests-filter li').toggleClass('active')
$('.milestone-merge-requests-filter tr[data-closed]').toggleClass('hide')
$('.milestone-merge-requests-filter li[data-closed]').toggleClass('hide')
false

View File

@ -4,77 +4,304 @@ var NoteList = {
target_params: null,
target_id: 0,
target_type: null,
top_id: 0,
bottom_id: 0,
loading_more_disabled: false,
reversed: false,
init:
function(tid, tt, path) {
this.notes_path = path + ".js";
this.target_id = tid;
this.target_type = tt;
this.reversed = $("#notes-list").is(".reversed");
this.target_params = "target_type=" + this.target_type + "&target_id=" + this.target_id;
init: function(tid, tt, path) {
NoteList.notes_path = path + ".js";
NoteList.target_id = tid;
NoteList.target_type = tt;
NoteList.target_params = "target_type=" + NoteList.target_type + "&target_id=" + NoteList.target_id;
// get initial set of notes
this.getContent();
NoteList.setupMainTargetNoteForm();
$("#notes-list, #new-notes-list").on("ajax:success", ".delete-note", function() {
$(this).closest('li').fadeOut(function() {
$(this).remove();
NoteList.updateVotes();
// get initial set of notes
NoteList.getContent();
// add a new diff note
$(document).on("click",
".js-add-diff-note-button",
NoteList.addDiffNote);
// reply to diff/discussion notes
$(document).on("click",
".js-discussion-reply-button",
NoteList.replyToDiscussionNote);
// setup note preview
$(document).on("click",
".js-note-preview-button",
NoteList.previewNote);
// update the file name when an attachment is selected
$(document).on("change",
".js-note-attachment-input",
NoteList.updateFormAttachment);
// hide diff note form
$(document).on("click",
".js-close-discussion-note-form",
NoteList.removeDiscussionNoteForm);
// remove a note (in general)
$(document).on("click",
".js-note-delete",
NoteList.removeNote);
// reset main target form after submit
$(document).on("ajax:complete",
".js-main-target-form",
NoteList.resetMainTargetForm);
$(document).on("click",
".js-choose-note-attachment-button",
NoteList.chooseNoteAttachment);
$(document).on("click",
".js-show-outdated-discussion",
function(e) { $(this).next('.outdated-discussion').show(); e.preventDefault() });
},
/**
* When clicking on buttons
*/
/**
* Called when clicking on the "add a comment" button on the side of a diff line.
*
* Inserts a temporary row for the form below the line.
* Sets up the form and shows it.
*/
addDiffNote: function(e) {
e.preventDefault();
// find the form
var form = $(".js-new-note-form");
var row = $(this).closest("tr");
var nextRow = row.next();
// does it already have notes?
if (nextRow.is(".notes_holder")) {
$.proxy(NoteList.replyToDiscussionNote,
nextRow.find(".js-discussion-reply-button")
).call();
} else {
// add a notes row and insert the form
row.after('<tr class="notes_holder js-temp-notes-holder"><td class="notes_line" colspan="2"></td><td class="notes_content"></td></tr>');
form.clone().appendTo(row.next().find(".notes_content"));
// show the form
NoteList.setupDiscussionNoteForm($(this), row.next().find("form"));
}
},
/**
* Called when clicking the "Choose File" button.
*
* Opesn the file selection dialog.
*/
chooseNoteAttachment: function() {
var form = $(this).closest("form");
form.find(".js-note-attachment-input").click();
},
/**
* Shows the note preview.
*
* Lets the server render GFM into Html and displays it.
*
* Note: uses the Toggler behavior to toggle preview/edit views/buttons
*/
previewNote: function(e) {
e.preventDefault();
var form = $(this).closest("form");
var preview = form.find('.js-note-preview');
var noteText = form.find('.js-note-text').val();
if(noteText.trim().length === 0) {
preview.text('Nothing to preview.');
} else {
preview.text('Loading...');
$.post($(this).data('url'), {note: noteText})
.success(function(previewData) {
preview.html(previewData);
});
});
}
},
$(".note-form-holder").on("ajax:before", function(){
$(".submit_note").disable();
})
/**
* Called in response to "cancel" on a diff note form.
*
* Shows the reply button again.
* Removes the form and if necessary it's temporary row.
*/
removeDiscussionNoteForm: function() {
var form = $(this).closest("form");
var row = form.closest("tr");
$(".note-form-holder").on("ajax:complete", function(){
$(".submit_note").enable();
$('#preview-note').hide();
$('#note_note').show();
})
// show the reply button (will only work for replys)
form.prev(".js-discussion-reply-button").show();
disableButtonIfEmptyField(".note-text", ".submit_note");
if (row.is(".js-temp-notes-holder")) {
// remove temporary row for diff lines
row.remove();
} else {
// only remove the form
form.remove();
}
},
$("#note_attachment").change(function(e){
var val = $('.input-file').val();
var filename = val.replace(/^.*[\\\/]/, '');
$(".file_name").text(filename);
});
/**
* Called in response to deleting a note of any kind.
*
* Removes the actual note from view.
* Removes the whole discussion if the last note is being removed.
*/
removeNote: function() {
var note = $(this).closest(".note");
var notes = note.closest(".notes");
if(this.reversed) {
var textarea = $(".note-text");
$('.note_advanced_opts').hide();
textarea.css("height", "40px");
textarea.on("focus", function(){
$(this).css("height", "80px");
$('.note_advanced_opts').show();
});
// check if this is the last note for this line
if (notes.find(".note").length === 1) {
// for discussions
notes.closest(".discussion").remove();
// for diff lines
notes.closest("tr").remove();
}
note.remove();
NoteList.updateVotes();
},
/**
* Called when clicking on the "reply" button for a diff line.
*
* Shows the note form below the notes.
*/
replyToDiscussionNote: function() {
// find the form
var form = $(".js-new-note-form");
// hide reply button
$(this).hide();
// insert the form after the button
form.clone().insertAfter($(this));
// show the form
NoteList.setupDiscussionNoteForm($(this), $(this).next("form"));
},
/**
* Helper for inserting and setting up note forms.
*/
/**
* Called in response to creating a note failing validation.
*
* Adds the rendered errors to the respective form.
* If "discussionId" is null or undefined, the main target form is assumed.
*/
errorsOnForm: function(errorsHtml, discussionId) {
// find the form
if (discussionId) {
var form = $("form[rel='"+discussionId+"']");
} else {
var form = $(".js-main-target-form");
}
form.find(".js-errors").remove();
form.prepend(errorsHtml);
form.find(".js-note-text").focus();
},
/**
* Shows the diff/discussion form and does some setup on it.
*
* Sets some hidden fields in the form.
*
* Note: dataHolder must have the "discussionId", "lineCode", "noteableType"
* and "noteableId" data attributes set.
*/
setupDiscussionNoteForm: function(dataHolder, form) {
// setup note target
form.attr("rel", dataHolder.data("discussionId"));
form.find("#note_commit_id").val(dataHolder.data("commitId"));
form.find("#note_line_code").val(dataHolder.data("lineCode"));
form.find("#note_noteable_type").val(dataHolder.data("noteableType"));
form.find("#note_noteable_id").val(dataHolder.data("noteableId"));
NoteList.setupNoteForm(form);
form.find(".js-note-text").focus();
},
/**
* Shows the main form and does some setup on it.
*
* Sets some hidden fields in the form.
*/
setupMainTargetNoteForm: function() {
// find the form
var form = $(".js-new-note-form");
// insert the form after the button
form.clone().replaceAll($(".js-main-target-form"));
form = form.prev("form");
// show the form
NoteList.setupNoteForm(form);
// fix classes
form.removeClass("js-new-note-form");
form.addClass("js-main-target-form");
// remove unnecessary fields and buttons
form.find("#note_line_code").remove();
form.find(".js-close-discussion-note-form").remove();
},
/**
* General note form setup.
*
* * deactivates the submit button when text is empty
* * hides the preview button when text is empty
* * setup GFM auto complete
* * show the form
*/
setupNoteForm: function(form) {
disableButtonIfEmptyField(form.find(".js-note-text"), form.find(".js-comment-button"));
form.removeClass("js-new-note-form");
// setup preview buttons
form.find(".js-note-edit-button, .js-note-preview-button")
.tooltip({ placement: 'left' });
previewButton = form.find(".js-note-preview-button");
form.find(".js-note-text").on("input", function() {
if ($(this).val().trim() !== "") {
previewButton.removeClass("turn-off").addClass("turn-on");
} else {
previewButton.removeClass("turn-on").addClass("turn-off");
}
});
// Setup note preview
$(document).on('click', '#preview-link', function(e) {
$('#preview-note').text('Loading...');
// remove notify commit author checkbox for non-commit notes
if (form.find("#note_noteable_type").val() !== "Commit") {
form.find(".js-notify-commit-author").remove();
}
$(this).text($(this).text() === "Edit" ? "Preview" : "Edit");
GitLab.GfmAutoComplete.setup();
var note_text = $('#note_note').val();
if(note_text.trim().length === 0) {
$('#preview-note').text('Nothing to preview.');
} else {
$.post($(this).attr('href'), {note: note_text}).success(function(data) {
$('#preview-note').html(data);
});
}
$('#preview-note, #note_note').toggle();
e.preventDefault();
});
},
form.show();
},
/**
@ -84,162 +311,93 @@ var NoteList = {
/**
* Gets an inital set of notes.
* Gets an initial set of notes.
*/
getContent:
function() {
$.ajax({
type: "GET",
url: this.notes_path,
data: this.target_params,
complete: function(){ $('.notes-status').removeClass("loading")},
beforeSend: function() { $('.notes-status').addClass("loading") },
dataType: "script"});
},
getContent: function() {
$.ajax({
url: NoteList.notes_path,
data: NoteList.target_params,
complete: function(){ $('.js-notes-busy').removeClass("loading")},
beforeSend: function() { $('.js-notes-busy').addClass("loading") },
dataType: "script"
});
},
/**
* Called in response to getContent().
* Replaces the content of #notes-list with the given html.
*/
setContent:
function(first_id, last_id, html) {
this.top_id = first_id;
this.bottom_id = last_id;
$("#notes-list").html(html);
// init infinite scrolling
this.initLoadMore();
// init getting new notes
if (this.reversed) {
this.initRefreshNew();
}
},
setContent: function(newNoteIds, html) {
$("#notes-list").html(html);
},
/**
* Handle loading more notes when scrolling to the bottom of the page.
* The id of the last note in the list is in this.bottom_id.
* Adds a single common note to #notes-list.
*/
appendNewNote: function(id, html) {
$("#notes-list").append(html);
NoteList.updateVotes();
},
/**
* Adds a single discussion note to #notes-list.
*
* Set up refreshing only new notes after all notes have been loaded.
* Also removes the corresponding form.
*/
appendNewDiscussionNote: function(discussionId, diffRowHtml, noteHtml) {
var form = $("form[rel='"+discussionId+"']");
var row = form.closest("tr");
// is this the first note of discussion?
if (row.is(".js-temp-notes-holder")) {
// insert the note and the reply button after the temp row
row.after(diffRowHtml);
// remove the note (will be added again below)
row.next().find(".note").remove();
}
// append new note to all matching discussions
$(".notes[rel='"+discussionId+"']").append(noteHtml);
// cleanup after successfully creating a diff/discussion note
$.proxy(NoteList.removeDiscussionNoteForm, form).call();
},
/**
* Initializes loading more notes when scrolling to the bottom of the page.
*/
initLoadMore:
function() {
$(document).endlessScroll({
bottomPixels: 400,
fireDelay: 1000,
fireOnce:true,
ceaseFire: function() {
return NoteList.loading_more_disabled;
},
callback: function(i) {
NoteList.getMore();
}
});
},
/**
* Gets an additional set of notes.
*/
getMore:
function() {
// only load more notes if there are no "new" notes
$('.loading').show();
$.ajax({
type: "GET",
url: this.notes_path,
data: this.target_params + "&loading_more=1&" + (this.reversed ? "before_id" : "after_id") + "=" + this.bottom_id,
complete: function(){ $('.notes-status').removeClass("loading")},
beforeSend: function() { $('.notes-status').addClass("loading") },
dataType: "script"});
},
/**
* Called in response to getMore().
* Append notes to #notes-list.
*/
appendMoreNotes:
function(id, html) {
if(id != this.bottom_id) {
this.bottom_id = id;
$("#notes-list").append(html);
}
},
/**
* Called in response to getMore().
* Disables loading more notes when scrolling to the bottom of the page.
* Initalizes refreshing new notes.
*/
finishedLoadingMore:
function() {
this.loading_more_disabled = true;
// from now on only get new notes
if (!this.reversed) {
this.initRefreshNew();
}
// make sure we are up to date
this.updateVotes();
},
/**
* Handle refreshing and adding of new notes.
* Called in response the main target form has been successfully submitted.
*
* New notes are all notes that are created after the site has been loaded.
* The "old" notes are in #notes-list the "new" ones will be in #new-notes-list.
* The id of the last "old" note is in this.bottom_id.
* Removes any errors.
* Resets text and preview.
* Resets buttons.
*/
resetMainTargetForm: function(){
var form = $(this);
// remove validation errors
form.find(".js-errors").remove();
// reset text and preview
var previewContainer = form.find(".js-toggler-container.note_text_and_preview");
if (previewContainer.is(".on")) {
previewContainer.removeClass("on");
}
form.find(".js-note-text").val("").trigger("input");
},
/**
* Initializes getting new notes every n seconds.
* Called after an attachment file has been selected.
*
* Updates the file name for the selected attachment.
*/
initRefreshNew:
function() {
setInterval("NoteList.getNew()", 10000);
},
updateFormAttachment: function() {
var form = $(this).closest("form");
/**
* Gets the new set of notes.
*/
getNew:
function() {
$.ajax({
type: "GET",
url: this.notes_path,
data: this.target_params + "&loading_new=1&after_id=" + (this.reversed ? this.top_id : this.bottom_id),
dataType: "script"});
},
// get only the basename
var filename = $(this).val().replace(/^.*[\\\/]/, '');
/**
* Called in response to getNew().
* Replaces the content of #new-notes-list with the given html.
*/
replaceNewNotes:
function(html) {
$("#new-notes-list").html(html);
this.updateVotes();
},
/**
* Adds a single note to #new-notes-list.
*/
appendNewNote:
function(id, html) {
if (this.reversed) {
$("#new-notes-list").prepend(html);
} else {
$("#new-notes-list").append(html);
}
this.updateVotes();
},
form.find(".js-attachment-filename").text(filename);
},
/**
* Recalculates the votes and updates them (if they are displayed at all).
@ -249,67 +407,24 @@ var NoteList = {
* Might produce inaccurate results when not all notes have been loaded and a
* recalculation is triggered (e.g. when deleting a note).
*/
updateVotes:
function() {
var votes = $("#votes .votes");
var notes = $("#notes-list, #new-notes-list").find(".note .vote");
updateVotes: function() {
var votes = $("#votes .votes");
var notes = $("#notes-list .note .vote");
// only update if there is a vote display
if (votes.size()) {
var upvotes = notes.filter(".upvote").size();
var downvotes = notes.filter(".downvote").size();
var votesCount = upvotes + downvotes;
var upvotesPercent = votesCount ? (100.0 / votesCount * upvotes) : 0;
var downvotesPercent = votesCount ? (100.0 - upvotesPercent) : 0;
// only update if there is a vote display
if (votes.size()) {
var upvotes = notes.filter(".upvote").size();
var downvotes = notes.filter(".downvote").size();
var votesCount = upvotes + downvotes;
var upvotesPercent = votesCount ? (100.0 / votesCount * upvotes) : 0;
var downvotesPercent = votesCount ? (100.0 - upvotesPercent) : 0;
// change vote bar lengths
votes.find(".bar-success").css("width", upvotesPercent+"%");
votes.find(".bar-danger").css("width", downvotesPercent+"%");
// replace vote numbers
votes.find(".upvotes").text(votes.find(".upvotes").text().replace(/\d+/, upvotes));
votes.find(".downvotes").text(votes.find(".downvotes").text().replace(/\d+/, downvotes));
}
// change vote bar lengths
votes.find(".bar-success").css("width", upvotesPercent+"%");
votes.find(".bar-danger").css("width", downvotesPercent+"%");
// replace vote numbers
votes.find(".upvotes").text(votes.find(".upvotes").text().replace(/\d+/, upvotes));
votes.find(".downvotes").text(votes.find(".downvotes").text().replace(/\d+/, downvotes));
}
}
};
var PerLineNotes = {
init:
function() {
/**
* Called when clicking on the "add note" or "reply" button for a diff line.
*
* Shows the note form below the line.
* Sets some hidden fields in the form.
*/
$(".diff_file_content").on("click", ".line_note_link, .line_note_reply_link", function(e) {
var form = $(".per_line_form");
$(this).closest("tr").after(form);
form.find("#note_line_code").val($(this).data("lineCode"));
form.show();
e.preventDefault();
});
disableButtonIfEmptyField(".line-note-text", ".submit_inline_note");
/**
* Called in response to successfully deleting a note on a diff line.
*
* Removes the actual note from view.
* Removes the reply button if the last note for that line has been removed.
*/
$(".diff_file_content").on("ajax:success", ".delete-note", function() {
var trNote = $(this).closest("tr");
trNote.fadeOut(function() {
$(this).remove();
});
// check if this is the last note for this line
// elements must really be removed for this to work reliably
var trLine = trNote.prev();
var trRpl = trNote.next();
if (trLine.is(".line_holder") && trRpl.is(".reply")) {
trRpl.fadeOut(function() { $(this).remove(); });
}
});
}
}

View File

@ -1,49 +0,0 @@
var Pager = {
limit:0,
offset:0,
disable:false,
init:
function(limit) {
this.limit=limit;
this.offset=limit;
this.initLoadMore();
},
getOld:
function() {
$('.loading').show();
$.ajax({
type: "GET",
url: location.href,
data: "limit=" + this.limit + "&offset=" + this.offset,
complete: function(){ $('.loading').hide()},
dataType: "script"});
},
append:
function(count, html) {
$(".content_list").append(html);
if(count > 0) {
this.offset += count;
} else {
this.disable = true;
}
},
initLoadMore:
function() {
$(document).endlessScroll({
bottomPixels: 400,
fireDelay: 1000,
fireOnce:true,
ceaseFire: function() {
return Pager.disable;
},
callback: function(i) {
$('.loading').show();
Pager.getOld();
}
});
}
}

View File

@ -0,0 +1,42 @@
@Pager =
limit: 0
offset: 0
disable: false
init: (limit, preload) ->
@limit = limit
if preload
@offset = 0
@getOld()
else
@offset = limit
@initLoadMore()
getOld: ->
$(".loading").show()
$.ajax
type: "GET"
url: location.href
data: "limit=" + @limit + "&offset=" + @offset
complete: ->
$(".loading").hide()
dataType: "script"
append: (count, html) ->
$(".content_list").append html
if count > 0
@offset += count
else
@disable = true
initLoadMore: ->
$(document).endlessScroll
bottomPixels: 400
fireDelay: 1000
fireOnce: true
ceaseFire: ->
Pager.disable
callback: (i) ->
$(".loading").show()
Pager.getOld()

View File

@ -8,3 +8,15 @@ $ ->
# Go up the hierarchy and show the corresponding submission feedback element
$(@).closest('fieldset').find('.update-feedback').show('highlight', {color: '#DFF0D8'}, 500)
$('.update-username form').on 'ajax:before', ->
$('.loading-gif').show()
$(this).find('.update-success').hide()
$(this).find('.update-failed').hide()
$('.update-username form').on 'ajax:complete', ->
$(this).find('.btn-save').enableButton()
$(this).find('.loading-gif').hide()
$('.update-notifications').on 'ajax:complete', ->
$(this).find('.btn-save').enableButton()

View File

@ -1,8 +1,4 @@
window.Projects = ->
$('#project_name').on 'change', ->
slug = slugify $(@).val()
$('#project_code, #project_path').val slug
$('.new_project, .edit_project').on 'ajax:before', ->
$('.project_new_holder, .project_edit_holder').hide()
$('.save-project-loader').show()
@ -23,9 +19,17 @@ $ ->
$('.project-refs-select').on 'change', ->
$(@).parents('form').submit()
class @GraphNav
@init: ->
$('.graph svg').css 'position', 'relative'
$('body').bind 'keyup', (e) ->
$('.graph svg').animate(left: '+=400') if e.keyCode is 37 # left
$('.graph svg').animate(left: '-=400') if e.keyCode is 39 # right
$('#project_issues_enabled').change ->
if ($(this).is(':checked') == true)
$('#project_issues_tracker').removeAttr('disabled')
else
$('#project_issues_tracker').attr('disabled', 'disabled')
$('#project_issues_tracker').change()
$('#project_issues_tracker').change ->
if ($(this).val() == gon.default_issues_tracker || $(this).is(':disabled'))
$('#project_issues_tracker_id').attr('disabled', 'disabled')
else
$('#project_issues_tracker_id').removeAttr('disabled')

View File

@ -6,17 +6,12 @@ $ ->
$('span.log_loading:first').removeClass('hide')
$('#tree-slider .tree-item-file-name a, .breadcrumb li > a').live "click", ->
$("#tree-content-holder").hide("slide", { direction: "left" }, 150)
$("#tree-content-holder").hide("slide", { direction: "left" }, 400)
# Make the entire tree-item row clickable, but not if clicking another link (like a commit message)
$("#tree-slider .tree-item").live 'click', (e) ->
$('.tree-item-file-name a', this).trigger('click') if (e.target.nodeName != "A")
# Show/Hide the loading spinner
$('#tree-slider .tree-item-file-name a, .breadcrumb a, .project-refs-form').live
"ajax:beforeSend": -> $('.tree_progress').addClass("loading")
"ajax:complete": -> $('.tree_progress').removeClass("loading")
# Maintain forward/back history while browsing the file tree
((window) ->
History = window.History
@ -28,12 +23,17 @@ $ ->
return false
$('#tree-slider .tree-item-file-name a, .breadcrumb li > a').live 'click', (e) ->
History.pushState(null, null, $(@).attr('href'))
History.pushState(null, null, decodeURIComponent($(@).attr('href')))
return false
History.Adapter.bind window, 'statechange', ->
state = History.getState()
window.ajaxGet(state.url)
$.ajax({
url: state.url,
dataType: 'script',
beforeSend: -> $('.tree_progress').addClass("loading"),
complete: -> $('.tree_progress').removeClass("loading")
})
)(window)
# See if there are lines selected

View File

@ -0,0 +1,36 @@
$ ->
userFormatResult = (user) ->
avatar = gon.gravatar_url
avatar = avatar.replace('%{hash}', md5(user.email))
avatar = avatar.replace('%{size}', '24')
markup = "<div class='user-result'>"
markup += "<div class='user-image'><img class='avatar s24' src='" + avatar + "'></div>"
markup += "<div class='user-name'>" + user.name + "</div>"
markup += "<div class='user-username'>" + user.username + "</div>"
markup += "</div>"
markup
userFormatSelection = (user) ->
user.name
$('.ajax-users-select').select2
placeholder: "Search for a user"
multiple: $('.ajax-users-select').hasClass('multiselect')
minimumInputLength: 0
query: (query) ->
Api.users query.term, (users) ->
data = { results: users }
query.callback(data)
initSelection: (element, callback) ->
id = $(element).val()
if id isnt ""
Api.user(id, callback)
formatResult: userFormatResult
formatSelection: userFormatSelection
dropdownCssClass: "ajax-users-dropdown"
escapeMarkup: (m) -> # we do not want to escape markup since we are displaying html in results
m

View File

@ -0,0 +1,83 @@
@Wall =
note_ids: []
project_id: null
init: (project_id) ->
Wall.project_id = project_id
Wall.getContent()
Wall.initRefresh()
Wall.initForm()
#
# Gets an initial set of notes.
#
getContent: ->
Api.notes Wall.project_id, (notes) ->
$.each notes, (i, note) ->
# render note if it not present in loaded list
# or skip if rendered
if $.inArray(note.id, Wall.note_ids) == -1
Wall.note_ids.push(note.id)
Wall.renderNote(note)
Wall.scrollDown()
$("abbr.timeago").timeago()
initRefresh: ->
setInterval("Wall.refresh()", 10000)
refresh: ->
Wall.getContent()
scrollDown: ->
notes = $('ul.notes')
$('body, html').scrollTop(notes.height())
initForm: ->
form = $('.wall-note-form')
form.find("#target_type").val('wall')
form.on 'ajax:success', ->
Wall.refresh()
form.find(".js-note-text").val("").trigger("input")
form.on 'ajax:complete', ->
form.find(".js-comment-button").removeAttr('disabled')
form.find(".js-comment-button").removeClass('disabled')
form.on "click", ".js-choose-note-attachment-button", ->
form.find(".js-note-attachment-input").click()
form.on "change", ".js-note-attachment-input", ->
filename = $(this).val().replace(/^.*[\\\/]/, '')
form.find(".js-attachment-filename").text(filename)
form.find('.note_text').keydown (e) ->
if e.ctrlKey && e.keyCode == 13
form.find('.js-comment-button').submit()
form.show()
renderNote: (note) ->
template = Wall.noteTemplate()
template = template.replace('{{author_name}}', note.author.name)
template = template.replace('{{created_at}}', note.created_at)
template = template.replace('{{text}}', linkify(sanitize(note.body)))
if note.attachment
file = '<i class="icon-paper-clip"/><a href="/files/note/' + note.id + '/' + note.attachment + '">' + note.attachment + '</a>'
else
file = ''
template = template.replace('{{file}}', file)
$('ul.notes').append(template)
noteTemplate: ->
return '<li>
<strong class="wall-author">{{author_name}}</strong>
<span class="wall-text">
{{text}}
<span class="wall-file">{{file}}</span>
</span>
<abbr class="timeago" title="{{created_at}}">{{created_at}}</abbr>
</li>'

View File

@ -1,11 +0,0 @@
/*
* This is a manifest file that'll automatically include all the stylesheets available in this directory
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
* the top of the compiled file, but it's generally better to create a new file per style scope.
*= require jquery.ui.all
*= require jquery.ui.aristo
*= require jquery.atwho
*= require chosen
*= require_self
*= require main
*/

View File

@ -0,0 +1,57 @@
/*
* This is a manifest file that'll automatically include all the stylesheets available in this directory
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
* the top of the compiled file, but it's generally better to create a new file per style scope.
*= require jquery.ui.gitlab
*= require jquery.atwho
*= require chosen
*= require select2
*= require_self
*/
/**
* GitLab bootstrap:
*/
@import "gitlab_bootstrap.scss";
@import "common.scss";
@import "selects.scss";
@import "sections/header.scss";
@import "sections/nav.scss";
@import "sections/commits.scss";
@import "sections/issues.scss";
@import "sections/projects.scss";
@import "sections/snippets.scss";
@import "sections/votes.scss";
@import "sections/merge_requests.scss";
@import "sections/graph.scss";
@import "sections/events.scss";
@import "sections/themes.scss";
@import "sections/tree.scss";
@import "sections/notes.scss";
@import "sections/profile.scss";
@import "sections/login.scss";
@import "sections/editor.scss";
@import "sections/admin.scss";
@import "sections/wiki.scss";
@import "sections/wall.scss";
@import "highlight/white.scss";
@import "highlight/dark.scss";
@import "highlight/solarized_dark.scss";
/**
* UI themes:
*/
@import "themes/ui_basic.scss";
@import "themes/ui_mars.scss";
@import "themes/ui_modern.scss";
@import "themes/ui_gray.scss";
@import "themes/ui_color.scss";
/**
* Styles for JS behaviors.
*/
@import "behaviors.scss";

View File

@ -0,0 +1,14 @@
// Details
//--------
.js-details-container .content { display: none; }
.js-details-container .content.hide { display: block; }
.js-details-container.open .content { display: block; }
.js-details-container.open .content.hide { display: none; }
// Toggler
//--------
.js-toggler-container .turn-on { display: inherit; }
.js-toggler-container .turn-off { display: none; }
.js-toggler-container.on .turn-on { display: none; }
.js-toggler-container.on .turn-off { display: inherit; }

View File

@ -1,53 +1,49 @@
html {
overflow-y: scroll;
}
/** LAYOUT **/
body {
margin-bottom:20px;
margin-bottom: 20px;
}
.container {
padding-top:0;
z-index:5;
padding-top: 0;
z-index: 5;
}
.container .content {
margin:0 0;
margin: 0 0;
}
.container .sidebar {
width: 200px;
height:100%;
min-height:450px;
float:right;
}
.visible_link,
.author_link {
color: $link_color;
}
.help li { color:#111 }
.help li { color:$style_color; }
.back_link {
text-decoration:underline;
font-size:14px;
font-weight:bold;
padding:10px 0;
padding-bottom:0;
text-decoration: underline;
font-size: 14px;
font-weight: bold;
padding: 10px 0;
padding-bottom: 0;
}
.info_link {
margin-right:5px;
float:left;
margin-right: 5px;
float: left;
img {
width:20px;
width: 20px;
}
}
.download_repo_link {
background: url("images.png") no-repeat 0 -48px;
padding-left:20px;
padding-left: 20px;
}
table a code {
@ -61,32 +57,27 @@ table a code {
}
.loading {
margin:20px auto;
margin: 20px auto;
background: url(ajax_loader.gif) no-repeat center center;
width:40px;
height:40px;
width: 40px;
height: 40px;
&.loading-gray {
background: url(ajax_loader_gray.gif) no-repeat center center;
}
}
/** FLASH message **/
#flash_container {
height:50px;
position:fixed;
z-index:10001;
top:0px;
width:100%;
margin-bottom:15px;
overflow:hidden;
background:white;
cursor:pointer;
border-bottom:1px solid #ccc;
.flash-container {
display: none;
.alert {
cursor: pointer;
margin: 0;
text-align: center;
border-radius: 0;
h4 {
color:#666;
font-size:18px;
line-height:38px;
padding-top:5px;
margin:2px;
font-weight:normal;
span {
font-size: 14px;
}
}
}
@ -94,71 +85,36 @@ table a code {
margin-right:50px
}
.handle:hover {
cursor:move;
span.update-author {
display: block;
color: #999;
font-weight: normal;
font-style: italic;
strong {
font-weight: bold;
font-style: normal;
}
}
span.update-author {
display:block;
}
span.update-author {
color:#999;
font-weight:normal;
font-style:italic;
}
span.update-author strong {
font-weight:bold;
font-style: normal;
}
/** UPDATE ITEM **/
span.update-author {
display:block;
}
/** END UPDATE ITEM **/
.dashboard-loader {
float:left;
margin:10px;
display:none;
float: left;
margin: 10px;
display: none;
}
.user-mention {
color:#2FA0BB;
font-weight:bold;
color: #2FA0BB;
font-weight: bold;
}
.neib {
margin-right:10px;
margin-right: 10px;
}
.label {
background-color: #474D57;
&.label-tag {
background: none;
border: none;
padding:4px 6px;
color:#444;
text-shadow:0 0 1px #fff;
&.grouped {
float: left;
margin-right: 6px;
padding: 6px;
}
}
&.label-issue {
background-color: #eee;
border: 1px solid #ccc;
padding:4px 6px;
color:#444;
text-shadow:0 0 1px #fff;
&.grouped {
float: left;
margin-right: 6px;
padding: 6px;
}
}
padding: 0px 4px;
font-size: 10px;
font-style: normal;
background-color: $link_color;
&.label-success {
background-color: #8D8;
@ -201,55 +157,40 @@ form {
.field_with_errors {
display:inline;
display: inline;
}
ul.breadcrumb {
background:white;
border:none;
background: white;
border: none;
li {
display: inline;
text-shadow: 0 1px 0 white
}
a {
color:#474D57;
font-weight:bold;
font-size:14px;
}
.arrow {
background: url("images.png") no-repeat -85px -77px;
width: 19px;
height: 16px;
float: left;
position: relative;
left: -10px;
padding:0;
margin:0;
color: #474D57;
font-weight: bold;
font-size: 14px;
}
}
input[type=text] {
&.large_text {
padding:6px;
font-size:16px;
padding: 6px;
font-size: 16px;
}
}
input.git_clone_url {
width:325px;
}
.merge-request-form-holder {
select {
width:300px;
width: 300px;
}
}
/** Issues **/
#issue_assignee_id {
width:300px;
width: 300px;
}
#new_issue_dialog textarea{
@ -257,26 +198,11 @@ input.git_clone_url {
}
.project_list_url {
width:250px;
width: 250px;
background:#fff !important;
}
/** bordered list **/
ul.bordered-list {
margin:5px 0px;
padding:0px;
li {
padding: 5px 0;
border-bottom: 1px solid #EEE;
overflow: hidden;
display: block;
margin:0px;
}
}
ul.bordered-list li:last-child { border:none }
.line_holder {
&:hover {
td {
@ -287,10 +213,10 @@ ul.bordered-list li:last-child { border:none }
li.commit {
.avatar {
width:24px;
width: 24px;
top:-5px;
margin-right:10px;
margin-left:10px;
margin-right: 10px;
margin-left: 10px;
}
code {
@ -310,102 +236,10 @@ p.time {
.styled_image {
border:2px solid #ddd;
border: 2px solid #ddd;
}
.ico {
background: url("images.png") no-repeat -85px -77px;
width: 19px;
height: 16px;
float: left;
position: relative;
margin-right: 10px;
top: 8px;
&.project {
background-position: -37px -77px;
}
&.activities {
background-position:-162px -22px;
}
&.projects {
background-position:-209px -21px;
}
}
.leftbar {
h5, .title {
padding:5px 10px;
}
h4 {
font-size:14px;
padding:2px 10px;
color:#666;
border-bottom:1px solid #f1f1f1;
}
a:last-child h4 { border:none; }
a:hover {
h4 {
color:#111;
background:$hover;
border-color:#CCC;
.ico.project {
background-position:-209px -21px;
}
}
}
.bottom {
padding:10px;
}
}
.votes {
font-size: 13px;
line-height: 15px;
.progress {
height: 4px;
margin: 0;
.bar {
float: left;
height: 100%;
}
.bar-success {
background-color: #468847;
@include bg-gradient(#62C462, #51A351);
}
.bar-danger {
background-color: #B94A48;
@include bg-gradient(#EE5F5B, #BD362F);
}
}
.upvotes {
display: inline-block;
color: #468847;
}
.downvotes {
display: inline-block;
color: #B94A48;
}
}
.votes-block {
margin: 14px 6px 6px 0;
.downvotes {
float: right;
}
}
.votes-inline {
display: inline-block;
margin: 0 8px;
.progress {
display: inline-block;
padding: 0 0 2px;
width: 45px;
}
}
/* Fix for readme code (stopped it from being yellow) */
.readme {
@ -418,63 +252,57 @@ p.time {
}
}
.search-holder {
label, input {
height: 30px;
padding: 0;
font-size: 14px;
}
label {
line-height: 30px;
color: #666;
}
}
.highlight_word {
background:#EEDC94;
border-bottom: 2px solid #F90;
}
.status_info {
font-size:14px;
padding:5px 15px;
line-height:24px;
width:60px;
text-align:center;
float:left;
margin-right:20px;
font-size: 14px;
padding: 5px 15px;
line-height: 26px;
text-align: center;
float: right;
position: relative;
top: -5px;
@include border-radius(4px);
&.success {
background: #5BB75B;
color: white;
text-shadow: 0 1px #111;
border-color: #9A9;
}
&.error {
background: #DA4E49;
border-color: #BD362F;
color: white;
text-shadow: 0 1px #111;
color: #FFF;
}
}
.arrow{
background: #E3E5EA;
padding: 5px;
margin-top:5px;
border-radius: 5px;
margin-top: 5px;
@include border-radius(5px);
text-shadow: none;
color: #999;
line-height: 16px;
font-weight:bold;
font-weight: bold;
}
.thin_area{
height: 150px;
}
.gitlab_pagination {
span a { color:$link_color; }
.prev, .next, .current, .page a {
padding:10px;
}
.current {
border-bottom:2px solid $style_color;
}
}
// Fixes alignment on notes.
.new_note {
label {
text-align:left;
text-align: left;
}
}
@ -485,16 +313,12 @@ li.note {
li {
border-bottom:none !important;
}
.file {
padding-left:20px;
background:url("icon-attachment.png") no-repeat left center;
}
}
}
.markdown {
img {
max-width:100%;
max-width: 100%;
}
}
@ -504,19 +328,19 @@ li.note {
.team_member_show {
td:first-child {
color:#aaa;
color: #aaa;
}
}
.remember_me {
text-align:left;
text-align: left;
input {
margin:0;
margin: 0;
}
span {
padding-left:5px;
padding-left: 5px;
}
}
@ -530,10 +354,11 @@ li.note {
.data {
a {
h1 {
line-height:48px;
font-size:48px;
padding:20px;
text-align:center;
line-height: 48px;
font-size: 48px;
padding: 20px;
text-align: center;
font-weight: normal;
}
}
}
@ -541,12 +366,12 @@ li.note {
.rss-icon {
img {
width:24px;
vertical-align:top;
width: 24px;
vertical-align: top;
}
strong {
line-height:24px;
line-height: 24px;
}
}
@ -554,43 +379,43 @@ li.note {
/* CHZN reset few styles */
.chzn-container-single .chzn-single {
background:#FFF;
background: #FFF;
border: 1px solid #bbb;
box-shadow:none;
box-shadow: none;
}
.chzn-container-active .chzn-single {
background:#fff;
background: #fff;
}
.supp_diff_link,
.mr_show_all_commits {
cursor:pointer;
.show-all-commits {
cursor: pointer;
}
.merge_request,
.issue {
&.today{
background: #EFE;
border-color:#CEC;
border-color: #CEC;
}
&.closed {
background: #F5f5f5;
border-color:#E5E5E5;
border-color: #E5E5E5;
}
&.merged {
background: #F5f5f5;
border-color:#E5E5E5;
border-color: #E5E5E5;
}
}
.git_error_tips {
@extend .span6;
text-align:left;
margin-top:40px;
text-align: left;
margin-top: 40px;
pre {
background:white;
border:none;
background: white;
border: none;
font-size: 12px;
}
}
@ -602,18 +427,35 @@ li.note {
margin-bottom: 10px;
background: #FEE;
padding-left: 20px;
&.centered {
text-align: center;
}
}
.warning_message {
border-left: 4px solid #ed9;
color: #b90;
padding: 10px;
margin-bottom: 10px;
background: #ffffe6;
padding-left: 20px;
&.centered {
text-align: center;
}
}
.oauth_select_holder {
padding:20px;
padding: 20px;
img {
padding:5px;
margin-right:10px;
padding: 5px;
margin-right: 10px;
}
.active {
img {
border:1px solid #ccc;
background:$hover;
border: 1px solid #ccc;
background: $hover;
@include border-radius(5px);
}
}
@ -627,29 +469,89 @@ li.note {
.gitlab-promo {
a {
color:#aaa;
color: #aaa;
margin-right: 30px;
}
}
pre {
&.clean {
background:none;
border:none;
margin:0;
padding:0;
background: none;
border: none;
margin: 0;
padding: 0;
}
}
.milestone .progress {
margin-bottom: 0;
margin-top:4px;
.milestone {
&.milestone-closed {
background: #eee;
}
.progress {
margin-bottom: 0;
margin-top: 4px;
}
}
.float-link {
float:left;
margin-right:15px;
float: left;
margin-right: 15px;
.s16 {
margin-right:5px;
margin-right: 5px;
}
}
.dashboard-search-filter {
padding:5px;
.search-text-input {
float:left;
@extend .span2;
}
.btn {
margin-left: 5px;
float:left;
}
}
h1.http_status_code {
font-size: 56px;
line-height: 100px;
font-weight: normal;
color: #456;
}
.control-group {
.controls {
span {
&.descr {
position: relative;
top: 2px;
left: 5px;
color: #666;
}
}
}
}
img.emoji {
height: 20px;
vertical-align: middle;
width: 20px;
}
.appear-data {
display: none;
}
.label-branch {
@include border-radius(4px);
padding: 2px 4px;
border: none;
font-size: 14px;
background: #474D57;
color: #fff;
font-family: $monospace_font;
text-shadow: 0 1px 1px #111;
font-weight: normal;
}

View File

@ -0,0 +1,28 @@
/** Override bootstrap variables **/
$baseFontSize: 13px !default;
$baseLineHeight: 18px !default;
// BOOTSTRAP
@import "bootstrap";
@import "bootstrap/responsive-utilities";
@import "bootstrap/responsive-1200px-min";
@import "font-awesome";
/**
* GitLab bootstrap.
* Overrides some styles of twitter bootstrap.
* Also give some common classes for GitLab app
*/
@import "gitlab_bootstrap/variables.scss";
@import "gitlab_bootstrap/fonts.scss";
@import "gitlab_bootstrap/mixins.scss";
@import "gitlab_bootstrap/avatar.scss";
@import "gitlab_bootstrap/nav.scss";
@import "gitlab_bootstrap/common.scss";
@import "gitlab_bootstrap/typography.scss";
@import "gitlab_bootstrap/buttons.scss";
@import "gitlab_bootstrap/blocks.scss";
@import "gitlab_bootstrap/files.scss";
@import "gitlab_bootstrap/tables.scss";
@import "gitlab_bootstrap/lists.scss";

View File

@ -0,0 +1,8 @@
/** AVATARS **/
img.avatar { float: left; margin-right: 12px; width: 40px; border: 1px solid #ddd; padding: 1px; }
img.avatar.s16 { width: 16px; height: 16px; margin-right: 6px; }
img.avatar.s24 { width: 24px; height: 24px; margin-right: 8px; }
img.avatar.s32 { width: 32px; height: 32px; margin-right: 10px; }
img.avatar.s90 { width: 90px; height: 90px; margin-right: 15px; }
img.lil_av { padding-left: 4px; padding-right: 3px; }
img.small { width: 80px; }

View File

@ -1,23 +1,33 @@
/**
* ===================================
* Contain 3 main UI block elements:
* .main_box - for show pages
* .ui-box - for simple block & widgets
* Contain UI block elements:
* .ui-box - for any block & widgets
* ===================================
*/
/**
* UI box element
* contains top, middle, bottom blocks
* UI Block
*
*/
.main_box {
@extend .borders;
@extend .prepend-top-20;
@extend .append-bottom-20;
border-width:1px;
@include solid_shade;
.ui-box {
background: #F9F9F9;
margin-bottom: 25px;
border: 1px solid #CCC;
@include solid-shade;
&.ui-box-show {
margin:20px 0;
background: #FFF;
}
&.ui-box-danger {
.title {
@include linear-gradient(#F26E5E, #bd362f);
color: #fff;
text-shadow: 0 1px 1px #900;
font-weight: bold;
}
}
img { max-width: 100%; }
@ -27,88 +37,95 @@
}
}
.top_box_content,
.middle_box_content,
.bottom_box_content {
padding:15px;
.ui-box-head,
.ui-box-body,
.ui-box-bottom {
padding: 15px;
word-wrap: break-word;
pre {
background: none !important;
margin:0;
border:none;
padding:0;
.clearfix {
margin: 0;
}
}
.middle_box_content {
border-radius:0;
border:none;
font-size:12px;
background-color:#f5f5f5;
border:none;
border-top:1px solid #eee;
.ui-box-head {
.box-title {
color: $style_color;
font-size: 18px;
font-weight: normal;
line-height: 28px;
}
h3 {
margin: 0;
}
}
.bottom_box_content {
border-top:1px solid #eee;
.ui-box-body {
border: none;
font-size: 12px;
background-color: #f5f5f5;
border: none;
border-top: 1px solid #eee;
}
}
/**
* Big UI Block for show page content
*
*/
.ui-box {
background:#F9F9F9;
margin-bottom: 25px;
@include round-borders-all(4px);
border-color: #CCC;
@include solid_shade;
.ui-box-bottom {
border-top: 1px solid #eee;
}
&.white {
background:#fff;
background: #fff;
}
ul {
margin:0;
margin: 0;
}
h5, .title {
padding: 0 10px;
@include round-borders-top(4px);
.title {
@include bg-gray-gradient;
border-bottom: 1px solid #bbb;
border-bottom: 1px solid #CCC;
color: #456;
font-size: 16px;
text-shadow: 0 1px 1px #fff;
padding: 0px 10px;
line-height: 36px;
font-size: 14px;
font-weight: normal;
&.small {
line-height: 28px;
font-size: 14px;
line-height:28px;
text-shadow: 0 1px 1px white;
> a {
text-shadow: 0 1px 1px #fff;
}
form {
padding:9px 0;
margin:0px;
margin-bottom: 0;
margin-top: 0;
}
.btn {
position: relative;
top: -2px;
}
.nav-pills {
li {
padding:3px 0;
&.active a { background-color:$style_color; }
a {
border-radius:7px;
> li {
> a {
padding: 13px;
margin: 0;
font-size: 13px;
}
&.active {
> a {
background: #D5D5D5;
color: $style_color;
@include border-radius(0);
border-radius: 0;
border-left: 1px solid #CCC;
border-right: 1px solid #CCC;
}
}
}
}
}
.bottom {
@include bg-gray-gradient;
@include round-borders-bottom(4px);
border-bottom:none;
border-top: 1px solid #bbb;
}
&.padded {
h5, .title {
margin: -20px;
@ -116,38 +133,41 @@
padding: 5px 20px;
}
.middle_title {
background:#f5f5f5;
background: #f5f5f5;
margin:20px -20px;
padding: 0 20px;
border-top:1px solid #eee;
border-bottom:1px solid #eee;
font-size:14px;
color:#777;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
font-size: 14px;
color: #777;
}
}
.row_title {
font-weight:bold;
color:#444;
font-weight: bold;
color: #444;
&:hover {
color:#444;
text-decoration:underline;
color: #444;
text-decoration: underline;
}
}
li, .wll {
padding:10px;
&:first-child {
@include round-borders-top(4px);
border-top:none;
.form-holder {
padding-top: 20px;
form {
margin-bottom: 0;
legend {
text-indent: 10px;
}
.form-actions {
margin-bottom: 0;
}
}
&:last-child {
@include round-borders-bottom(4px);
border:none;
}
}
.ui-box-body {
padding:10px;
}
}
.tab-pane {
.ui-box {
margin: 3px 3px 25px 3px;
}
}

View File

@ -1,42 +1,45 @@
.btn {
@include bg-gradient(#f7f7f7, #d5d5d5);
border-color:#aaa;
@include linear-gradient(#f1f1f1, #e1e1e1);
text-shadow: 0 1px 1px #FFF;
border-color: #BBB;
&:hover {
@include bg-gray-gradient;
border-color:#bbb;
color:#333;
background: #f1f1f1;
@include linear-gradient(#fAfAfA, #f1f1f1);
border-color: #AAA;
color: #333;
}
&.primary {
background:#2a79A3;
@include bg-gradient(#47A7b7, #2585b5);
&.btn-primary {
background: #2a79A3;
@include linear-gradient(#47A7b7, #2585b5);
border-color: #2A79A3;
color:#fff;
color: #fff;
text-shadow: 0 1px 1px #268;
&:hover {
background:$blue_link;
color:#fff;
background: $primary_color;
color: #fff;
}
&.disabled {
color:#fff;
background:#29B;
color: #fff;
background: #29B;
}
}
&.btn-info {
background:#5aB9C3;
border-color: $blue_link;
color:#fff;
background: #5aB9C3;
border-color: $primary_color;
color: #fff;
text-shadow: 0 1px 1px #268;
&:hover {
background:$blue_link;
color:#fff;
background: $primary_color;
color: #fff;
}
&.disabled {
color:#fff;
background:#29B;
color: #fff;
background: #29B;
}
}
@ -49,37 +52,39 @@
}
&.disabled {
color:#fff;
background:#2b2;
color: #fff;
background: #2b2;
}
}
&.save-btn {
&.btn-create {
@extend .wide;
@extend .primary;
@extend .success;
}
&.cancel-btn {
float:right;
&.btn-save {
@extend .wide;
@extend .btn-primary;
}
&.wide {
padding-left:30px;
padding-right:30px;
}
&.danger {
&.btn-close,
&.btn-remove {
@extend .btn-danger;
border-color: #BD362F;
&:hover {
color:#fff;
color: #fff;
background: #EE4E49;
}
}
&.danger {
@extend .btn-danger;
&.btn-cancel {
float: right;
}
&.wide {
padding-left: 20px;
padding-right: 20px;
}
&.small {
@ -87,24 +92,24 @@
}
&.active {
border-color:#aaa;
background-color:#ccc;
border-color: #aaa;
background-color: #ccc;
}
&.very_small {
font-size:11px;
padding:2px 6px;
&.btn-tiny {
font-size: 11px;
padding: 2px 6px;
line-height: 16px;
margin:2px;
margin: 2px;
}
&.grouped {
margin-right:7px;
float:left;
margin-right: 7px;
float: left;
}
&.padded {
margin-right:3px;
padding:4px 10px 4px;
margin-right: 3px;
padding: 4px 10px 4px;
}
}

View File

@ -2,6 +2,7 @@
.cgray { color:gray }
.cred { color:#D12F19 }
.cgreen { color:#4a2 }
.cblue { color:#29A }
.cblack { color:#111 }
.cdark { color:#444 }
.cwhite { color:#fff!important }
@ -9,12 +10,6 @@
/** COMMON CLASSES **/
.left { float:left }
.right { float:right!important }
.width-50p { width:50% }
.width-49p { width:49% }
.width-30p { width:30% }
.width-65p { width:65% }
.width-100p { width:100% }
.append-bottom-10 { margin-bottom:10px }
.append-bottom-20 { margin-bottom:20px }
.prepend-top-10 { margin-top:10px }
@ -22,72 +17,63 @@
.padded { padding:20px }
.ipadded { padding:20px!important }
.lborder { border-left:1px solid #eee }
.no-padding { padding:0 !important; }
.underlined { border-bottom: 1px solid #CCC; }
.no-borders { border:none; }
.vlink { color: $link_color !important; }
.underlined_link { text-decoration: underline; }
.borders { border: 1px solid #ccc; @include shade; }
.hint { font-style: italic; color: #999; }
.light { color: #888 }
.tiny { font-weight: normal }
.vtop { vertical-align: top; }
/** PILLS & TABS**/
.nav-pills a:hover { background-color:#888; }
.nav-pills .active a { background-color: $style_color; }
.nav-tabs > li > a, .nav-pills > li > a { color:$style_color; }
.nav.nav-tabs {
li {
> a {
padding:8px 20px;
margin-right: 7px;
line-height: 19px;
border-color: #EEE;
color:#888;
border-bottom: 1px solid #ddd;
.badge {
background-color: #eee;
color:#888;
text-shadow:0 1px 1px #fff;
}
i[class^="icon-"] {
line-height:14px;
}
}
&.active {
> a {
border-color: #CCC;
border-bottom: 1px solid #fff;
color:#333;
}
}
}
}
/** ALERT MESSAGES **/
.alert-message { @extend .alert; }
.alert-messag.success { @extend .alert-success; }
.alert-message.error { @extend .alert-error; }
.alert.alert-disabled {
background: #EEE;
color: #777;
border-color: #DDD;
}
/** AVATARS **/
img.avatar { float:left; margin-right:12px; width:40px; border:1px solid #ddd; padding:1px; }
img.avatar.s16 { width:16px; height:16px; margin-right:6px; }
img.avatar.s24 { width:24px; height:24px; margin-right:8px; }
img.avatar.s32 { width:32px; height:32px; margin-right:10px; }
img.lil_av { padding-left: 4px; padding-right:3px; }
img.small { width: 80px; }
.well { padding: 15px; }
/** HELPERS **/
.nothing_here_message { text-align:center; padding:20px; color:#777; }
p.slead { color:#456; font-size:16px; margin-bottom: 12px; font-weight: 200; line-height: 24px; }
.nothing_here_message {
text-align: center;
padding: 20px;
color: #666;
font-weight: normal;
font-size: 16px;
line-height: 36px;
}
p.slead { color: #456; font-size: 16px; margin-bottom: 12px; font-weight: 200; line-height: 24px; }
/** FORMS **/
input[type='search'].search-text-input {
background-image: url("icon-search.png");
background-repeat: no-repeat;
background-position: 10px;
padding-left:25px;
padding-left: 25px;
@include border-radius(4px);
border:1px solid #ccc;
border: 1px solid #ccc;
}
input[type='text'].danger {
background: #F2DEDE!important;
border-color: #D66;
text-shadow: 0 1px 1px #fff
}
fieldset legend { font-size: 17px; }
/** PAGINATION **/
.gitlab_pagination {
span a { color: $link_color; }
.prev, .next, .current, .page a {
padding: 10px;
}
.current {
border-bottom: 2px solid $style_color;
}
}
.tab-content {
overflow: visible;
}

View File

@ -3,9 +3,9 @@
*
*/
.file_holder {
border:1px solid #BBB;
margin-bottom:1em;
@include solid_shade;
border: 1px solid #BBB;
margin-bottom: 1em;
@include solid-shade;
.file_title {
border-bottom: 1px solid #bbb;
@ -16,48 +16,39 @@
text-align: left;
color: #666;
padding: 9px 10px;
height:18px;
height: 18px;
.options {
float:right;
float: right;
margin-top: -5px;
}
.file_name {
color:$style_color;
font-size:14px;
color: $style_color;
font-size: 14px;
text-shadow: 0 1px 1px #fff;
small {
color:#999;
font-size:13px;
color: #999;
font-size: 13px;
}
}
}
.file_content {
background:#fff;
background: #fff;
font-size: 11px;
&.wiki {
font-size: 13px;
code {
padding:0 4px;
}
padding:20px;
h1, h2 {
line-height: 46px;
}
h3, h4 {
line-height: 40px;
&.image_file {
background: #eee;
text-align: center;
img {
padding: 100px;
max-width: 300px;
}
}
&.image_file {
background:#eee;
text-align:center;
img {
padding:100px;
max-width:300px;
}
&.wiki {
padding: 20px;
font-size: 13px;
}
&.blob_file {
@ -69,60 +60,60 @@
*/
&.blame {
table {
border:none;
box-shadow:none;
margin:0;
border: none;
box-shadow: none;
margin: 0;
}
tr {
border-bottom: 1px solid #eee;
}
td {
&:first-child {
border-left:none;
border-left: none;
}
&:last-child {
border-right:none;
border-right: none;
}
background:#fff;
padding:5px;
background: #fff;
padding: 5px;
}
.author,
.blame_commit {
background:#f5f5f5;
vertical-align:top;
background: #f5f5f5;
vertical-align: top;
}
.lines {
pre {
padding:0;
margin:0;
background:none;
border:none;
padding: 0;
margin: 0;
background: none;
border: none;
}
}
}
&.logs {
background:#eee;
background: #eee;
max-height: 700px;
overflow-y: auto;
ol {
margin-left:40px;
margin-left: 40px;
padding: 10px 0;
border-left: 1px solid #CCC;
margin-bottom:0;
margin-bottom: 0;
background: white;
li {
color:#888;
color: #888;
p {
margin:0;
color:#333;
line-height:24px;
margin: 0;
color: #333;
line-height: 24px;
padding-left: 10px;
}
&:hover {
background:$hover;
background: $hover;
}
}
}
@ -142,9 +133,9 @@
table-layout: fixed;
pre {
background: none;
border: none;
font-family: 'Menlo', 'Liberation Mono', 'Consolas', 'Courier New', 'andale mono','lucida console',monospace;
border-radius: 0;
font-family: $monospace_font;
font-size: 12px !important;
line-height: 16px !important;
margin: 0;
@ -171,6 +162,7 @@
color: #666;
padding: 10px 6px 10px 0;
text-align: right;
background: #EEE;
a {
color: #666;

View File

@ -0,0 +1,2 @@
/** Typo **/
$monospace_font: 'Menlo', 'Liberation Mono', 'Consolas', 'Courier New', 'andale mono', 'lucida console', monospace;

View File

@ -1,41 +1,73 @@
/** LISTS **/
ul {
/**
* List li block element #1
*
*/
.wll {
/**
* Well styled list
*
*/
.well-list {
margin: 0;
list-style: none;
li {
background-color: #FFF;
padding: 10px 5px;
padding: 10px;
min-height: 20px;
border-bottom: 1px solid #eee;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
&.smoke { background-color:#f5f5f5; }
&:hover {
background:$hover;
border-bottom:1px solid #ADF;
&.disabled {
color: #888;
}
&:last-child { border:none }
&.smoke { background-color: #f5f5f5; }
&:hover {
background: $hover;
border-bottom: 1px solid #ADF;
}
&:last-child {
border-bottom: none;
&.bottom {
background: #f5f5f5;
}
}
.author { color: #999; }
p {
padding-top: 1px;
margin:0;
color:#222;
margin: 0;
color: #222;
img {
position:relative;
top:3px;
position: relative;
top: 3px;
}
}
.well-title {
font-size: 14px;
line-height: 18px;
}
}
}
ol, ul {
&.styled {
li {
padding:2px;
padding: 2px;
}
}
}
/** light list with border-bottom between li **/
ul.bordered-list {
margin: 5px 0px;
padding: 0px;
li {
padding: 5px 0;
border-bottom: 1px solid #EEE;
overflow: hidden;
display: block;
margin: 0px;
&:last-child { border:none }
}
}

View File

@ -0,0 +1,88 @@
/**
* Generic mixins
*/
@mixin box-shadow($shadow) {
-webkit-box-shadow: $shadow;
-moz-box-shadow: $shadow;
-ms-box-shadow: $shadow;
-o-box-shadow: $shadow;
box-shadow: $shadow;
}
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
-o-border-radius: $radius;
border-radius: $radius;
}
@mixin linear-gradient($from, $to) {
background-image: -webkit-gradient(linear, 0 0, 0 100%, from($from), to($to));
background-image: -webkit-linear-gradient($from, $to);
background-image: -moz-linear-gradient($from, $to);
background-image: -o-linear-gradient($from, $to);
}
@mixin transition($transition) {
-webkit-transition: $transition;
-moz-transition: $transition;
-ms-transition: $transition;
-o-transition: $transition;
transition: $transition;
}
/**
* Prefilled mixins
* Mixins with fixed values
*/
@mixin bg-light-gray-gradient {
background: #f1f1f1;
background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #f5f5f5), to(#e1e1e1));
background-image: -webkit-linear-gradient(#f5f5f5 6.6%, #e1e1e1);
background-image: -moz-linear-gradient(#f5f5f5 6.6%, #e1e1e1);
background-image: -o-linear-gradient(#f5f5f5 6.6%, #e1e1e1);
}
@mixin bg-gray-gradient {
background: #eee;
background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf));
background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf);
background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf);
background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf);
}
@mixin bg-dark-gray-gradient {
background: #eee;
background-image: -webkit-linear-gradient(#e9e9e9, #d7d7d7);
background-image: -moz-linear-gradient(#e9e9e9, #d7d7d7);
background-image: -o-linear-gradient(#e9e9e9, #d7d7d7);
}
@mixin shade {
@include box-shadow(0 0 3px #ddd);
}
@mixin solid-shade {
@include box-shadow(0 0 0 3px #f1f1f1);
}
@mixin header-font {
color: $style_color;
text-shadow: 0 1px 1px #FFF;
font-size: 18px;
line-height: 40px;
font-weight: normal;
letter-spacing: -1px;
}
@mixin md-typography {
code { padding: 0 4px; }
p { font-size: 13px; }
h1 { font-size: 26px; line-height: 40px; margin: 10px 0;}
h2 { font-size: 22px; line-height: 40px; margin: 10px 0;}
h3 { font-size: 18px; line-height: 40px; margin: 10px 0;}
h4 { font-size: 16px; line-height: 20px; margin: 10px 0;}
h5 { font-size: 14px; line-height: 20px; margin: 10px 0;}
h6 { font-size: 12px; line-height: 20px; margin: 10px 0;}
}

View File

@ -0,0 +1,65 @@
/**
* nav-pills
*
*/
.nav-pills {
.active a {
background: $primary_color;
}
> li > a {
@include border-radius(0);
}
&.nav-stacked {
> li > a {
border-left: 4px solid #EEE;
padding: 12px;
}
> .active > a {
border-color: #29B;
border-radius: 0;
background: #F1F1F1;
color: $style_color;
font-weight: bold;
}
}
}
.nav-pills > .active > a > i[class^="icon-"] { background: inherit; }
/**
* nav-tabs
*
*/
.nav-tabs > li > a, .nav-pills > li > a { color: $style_color; }
.nav.nav-tabs {
li {
> a {
padding: 8px 20px;
margin-right: 7px;
line-height: 20px;
border-color: #EEE;
color: #888;
border-bottom: 1px solid #ddd;
.badge {
background-color: #eee;
color: #888;
text-shadow: 0 1px 1px #fff;
}
i[class^="icon-"] {
line-height: 14px;
}
}
&.active {
> a {
border-color: #CCC;
border-bottom: 1px solid #fff;
color: #333;
}
}
}
&.nav-small-tabs > li > a { padding: 6px 9px; }
}

View File

@ -1,13 +1,19 @@
table {
@extend .table;
@extend .table-striped;
@include solid_shade;
border:1px solid #bbb;
width:100%;
@include solid-shade;
border: 1px solid #bbb;
width: 100%;
&.low {
td {
line-height:18px;
line-height: 18px;
}
}
&.headless {
tr:first-child td{
border-top: 1px solid #CCC;
}
}
@ -25,14 +31,14 @@ table {
}
th, td {
padding: 8px;
padding: 10px;
line-height: 18px;
text-align: left;
}
td {
border-color:#f1f1f1;
line-height:28px;
border-color: #f1f1f1;
line-height: 28px;
.s16 {
margin-top: 5px;
@ -40,11 +46,11 @@ table {
}
&:first-child {
border-left:1px solid #bbb;
border-left: 1px solid #bbb;
}
&:last-child {
border-right:1px solid #bbb;
border-right: 1px solid #bbb;
}
}
@ -53,10 +59,10 @@ table {
}
&.lite {
border:none;
box-shadow:none;
border: none;
box-shadow: none;
tr, td {
border:none;
border: none;
background:none !important;
}
}

View File

@ -5,11 +5,11 @@
h1, h2, h3, h4, h5, h6 { margin: 0; }
h3, h4, h5, h6 { line-height: 36px; }
h5 { font-size:14px; }
h5 { font-size: 14px; }
h3.page_title {
color:#456;
font-size:20px;
color: #456;
font-size: 20px;
font-weight: normal;
line-height: 28px;
}
@ -21,11 +21,11 @@ h6 {
/** CODE **/
pre {
font-family:'Menlo', 'Liberation Mono', 'Consolas', 'Courier New', 'andale mono','lucida console',monospace;
font-family: $monospace_font;
&.dark {
background: #333;
color:#f5f5f5;
color: #f5f5f5;
}
}
@ -37,8 +37,8 @@ a {
outline: none;
color: $link_color;
&:hover {
text-decoration:none;
color: $blue_link;
text-decoration: none;
color: $primary_color;
}
&.btn {
@ -53,27 +53,49 @@ a {
}
&.lined {
text-decoration:underline;
&:hover { text-decoration:underline; }
text-decoration: underline;
&:hover { text-decoration: underline; }
}
&.gray {
color:gray;
color: gray;
}
&.supp_diff_link {
text-align:center;
padding:20px 0;
background:#f1f1f1;
width:100%;
float:left;
text-align: center;
padding: 20px 0;
background: #f1f1f1;
width: 100%;
float: left;
}
&.neib {
margin-right:15px;
margin-right: 15px;
}
}
a:focus {
outline: none;
}
.monospace {
font-family: $monospace_font;
}
/**
* Wiki typography
*
*/
.wiki {
@include md-typography;
font-size: 13px;
line-height: 20px;
.white .highlight pre { background: #f5f5f5; }
ul { margin: 0 0 9px 25px !important; }
}
.md {
@include md-typography;
}

View File

@ -0,0 +1,13 @@
/**
* General Colors
*/
$primary_color: #2FA0BB;
$link_color: #3A89A3;
$style_color: #474D57;
$hover: #D9EDF7;
/**
* Commit Diff Colors
*/
$added: #63c363;
$deleted: #f77;

View File

@ -1,6 +1,8 @@
.black .lines .highlight {
background: #333;
pre { color: #eee; }
.black .highlight {
pre {
background-color: #333;
color: #eee;
}
.hll { display: block; background-color: darken($hover, 65%) }
.c { color: #888888; font-style: italic } /* Comment */
@ -21,43 +23,43 @@
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #606060 } /* Generic.Subheading */
.gt { color: #aa0000 } /* Generic.Traceback */
.kc{font-weight:bold;} /* Keyword.Constant */
.kd{font-weight:bold;} /* Keyword.Declaration */
.kn{font-weight:bold;} /* Keyword.Namespace */
.kp{font-weight:bold;} /* Keyword.Pseudo */
.kr{font-weight:bold;} /* Keyword.Reserved */
.kt{color:#458;font-weight:bold;} /* Keyword.Type */
.kc{font-weight: bold;} /* Keyword.Constant */
.kd{font-weight: bold;} /* Keyword.Declaration */
.kn{font-weight: bold;} /* Keyword.Namespace */
.kp{font-weight: bold;} /* Keyword.Pseudo */
.kr{font-weight: bold;} /* Keyword.Reserved */
.kt{color: #458;font-weight: bold;} /* Keyword.Type */
.m { color: #0000DD; font-weight: bold } /* Literal.Number */
.p { color: #eee; }
.s { color: #0AD; background-color: transparent } /* Literal.String */
.na{color:#008080;} /* Name.Attribute */
.nb{color:#0086B3;} /* Name.Builtin */
.nc{color:#ccc;font-weight:bold;} /* Name.Class */
.no{color:turquoise;} /* Name.Constant */
.ni{color:#800080;}
.ne{color:#900;font-weight:bold;} /* Name.Exception */
.nf{color:#ccc;font-weight:bold;} /* Name.Function */
.nn{color:#79C3E0;font-weight:bold;} /* Name.Namespace */
.nt{color:#fc5;} /* Name.Tag */
.nv{color:#FA4;} /* Name.Variable */
.na{color: #008080;} /* Name.Attribute */
.nb{color: #0086B3;} /* Name.Builtin */
.nc{color: #ccc;font-weight: bold;} /* Name.Class */
.no{color: turquoise;} /* Name.Constant */
.ni{color: #800080;}
.ne{color: #900;font-weight: bold;} /* Name.Exception */
.nf{color: #ccc;font-weight: bold;} /* Name.Function */
.nn{color: #79C3E0;font-weight: bold;} /* Name.Namespace */
.nt{color: #fc5;} /* Name.Tag */
.nv{color: #FA4;} /* Name.Variable */
.py { color: #336699; font-weight: bold } /* Name.Property */
.ow { color: #008800 } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mf { color: #7AC; font-weight: bold } /* Literal.Number.Float */
.mh { color: #7AC; font-weight: bold } /* Literal.Number.Hex */
.mi {color:#099;} /* Literal.Number.Integer */
.mi {color: #099;} /* Literal.Number.Integer */
.mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.sb { color: #dd2200; background-color: transparent; } /* Literal.String.Backtick */
.sc{color:#d14;} /* Literal.String.Char */
.sc{color: #d14;} /* Literal.String.Char */
.sd { color: #dd2200; background-color: transparent; } /* Literal.String.Doc */
.s2{color:orange;} /* Literal.String.Double */
.se{color:orange;} /* Literal.String.Escape */
.sh{color:orange;} /* Literal.String.Heredoc */
.si{color:orange;} /* Literal.String.Interpol */
.sx{color:orange;} /* Literal.String.Other */
.sr{color:orange;} /* Literal.String.Regex */
.s1{color:orange;} /* Literal.String.Single */
.ss{color:orange;} /* Literal.String.Symbol */
.s2{color: orange;} /* Literal.String.Double */
.se{color: orange;} /* Literal.String.Escape */
.sh{color: orange;} /* Literal.String.Heredoc */
.si{color: orange;} /* Literal.String.Interpol */
.sx{color: orange;} /* Literal.String.Other */
.sr{color: orange;} /* Literal.String.Regex */
.s1{color: orange;} /* Literal.String.Single */
.ss{color: orange;} /* Literal.String.Symbol */
.bp { color: #D58 } /* Name.Builtin.Pseudo */
.vc { color: #336699 } /* Name.Variable.Class */
.vg { color: #dd7700 } /* Name.Variable.Global */

View File

@ -0,0 +1,77 @@
.solarized-dark .highlight {
pre {
background-color: #002B36;
color: #eee;
}
.hll { background-color: #073642 }
.c { color: #586E75 } /* Comment */
.err { color: #93A1A1 } /* Error */
.g { color: #93A1A1 } /* Generic */
.k { color: #859900 } /* Keyword */
.l { color: #93A1A1 } /* Literal */
.n { color: #93A1A1 } /* Name */
.o { color: #859900 } /* Operator */
.x { color: #CB4B16 } /* Other */
.p { color: #93A1A1 } /* Punctuation */
.cm { color: #586E75 } /* Comment.Multiline */
.cp { color: #859900 } /* Comment.Preproc */
.c1 { color: #586E75 } /* Comment.Single */
.cs { color: #859900 } /* Comment.Special */
.gd { color: #2AA198 } /* Generic.Deleted */
.ge { color: #93A1A1; font-style: italic } /* Generic.Emph */
.gr { color: #DC322F } /* Generic.Error */
.gh { color: #CB4B16 } /* Generic.Heading */
.gi { color: #859900 } /* Generic.Inserted */
.go { color: #93A1A1 } /* Generic.Output */
.gp { color: #93A1A1 } /* Generic.Prompt */
.gs { color: #93A1A1; font-weight: bold } /* Generic.Strong */
.gu { color: #CB4B16 } /* Generic.Subheading */
.gt { color: #93A1A1 } /* Generic.Traceback */
.kc { color: #CB4B16 } /* Keyword.Constant */
.kd { color: #268BD2 } /* Keyword.Declaration */
.kn { color: #859900 } /* Keyword.Namespace */
.kp { color: #859900 } /* Keyword.Pseudo */
.kr { color: #268BD2 } /* Keyword.Reserved */
.kt { color: #DC322F } /* Keyword.Type */
.ld { color: #93A1A1 } /* Literal.Date */
.m { color: #2AA198 } /* Literal.Number */
.s { color: #2AA198 } /* Literal.String */
.na { color: #93A1A1 } /* Name.Attribute */
.nb { color: #B58900 } /* Name.Builtin */
.nc { color: #268BD2 } /* Name.Class */
.no { color: #CB4B16 } /* Name.Constant */
.nd { color: #268BD2 } /* Name.Decorator */
.ni { color: #CB4B16 } /* Name.Entity */
.ne { color: #CB4B16 } /* Name.Exception */
.nf { color: #268BD2 } /* Name.Function */
.nl { color: #93A1A1 } /* Name.Label */
.nn { color: #93A1A1 } /* Name.Namespace */
.nx { color: #93A1A1 } /* Name.Other */
.py { color: #93A1A1 } /* Name.Property */
.nt { color: #268BD2 } /* Name.Tag */
.nv { color: #268BD2 } /* Name.Variable */
.ow { color: #859900 } /* Operator.Word */
.w { color: #93A1A1 } /* Text.Whitespace */
.mf { color: #2AA198 } /* Literal.Number.Float */
.mh { color: #2AA198 } /* Literal.Number.Hex */
.mi { color: #2AA198 } /* Literal.Number.Integer */
.mo { color: #2AA198 } /* Literal.Number.Oct */
.sb { color: #586E75 } /* Literal.String.Backtick */
.sc { color: #2AA198 } /* Literal.String.Char */
.sd { color: #93A1A1 } /* Literal.String.Doc */
.s2 { color: #2AA198 } /* Literal.String.Double */
.se { color: #CB4B16 } /* Literal.String.Escape */
.sh { color: #93A1A1 } /* Literal.String.Heredoc */
.si { color: #2AA198 } /* Literal.String.Interpol */
.sx { color: #2AA198 } /* Literal.String.Other */
.sr { color: #DC322F } /* Literal.String.Regex */
.s1 { color: #2AA198 } /* Literal.String.Single */
.ss { color: #2AA198 } /* Literal.String.Symbol */
.bp { color: #268BD2 } /* Name.Builtin.Pseudo */
.vc { color: #268BD2 } /* Name.Variable.Class */
.vg { color: #268BD2 } /* Name.Variable.Global */
.vi { color: #268BD2 } /* Name.Variable.Instance */
.il { color: #2AA198 } /* Literal.Number.Integer.Long */
}

View File

@ -1,6 +1,8 @@
.white .lines .highlight {
background: white;
pre { color: #333; }
.white .highlight {
pre {
background-color: #fff;
color: #333;
}
.hll { display: block; background-color: $hover }
.c { color: #888888; font-style: italic } /* Comment */
@ -20,42 +22,42 @@
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #606060 } /* Generic.Subheading */
.gt { color: #aa0000 } /* Generic.Traceback */
.kc{font-weight:bold;} /* Keyword.Constant */
.kd{font-weight:bold;} /* Keyword.Declaration */
.kn{font-weight:bold;} /* Keyword.Namespace */
.kp{font-weight:bold;} /* Keyword.Pseudo */
.kr{font-weight:bold;} /* Keyword.Reserved */
.kt{color:#458;font-weight:bold;} /* Keyword.Type */
.kc{font-weight: bold;} /* Keyword.Constant */
.kd{font-weight: bold;} /* Keyword.Declaration */
.kn{font-weight: bold;} /* Keyword.Namespace */
.kp{font-weight: bold;} /* Keyword.Pseudo */
.kr{font-weight: bold;} /* Keyword.Reserved */
.kt{color: #458;font-weight: bold;} /* Keyword.Type */
.m { color: #0000DD; font-weight: bold } /* Literal.Number */
.s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.na{color:#008080;} /* Name.Attribute */
.nb{color:#0086B3;} /* Name.Builtin */
.nc{color:#458;font-weight:bold;} /* Name.Class */
.no{color:#008080;} /* Name.Constant */
.ni{color:#800080;}
.ne{color:#900;font-weight:bold;} /* Name.Exception */
.nf{color:#900;font-weight:bold;} /* Name.Function */
.nn{color:#005;font-weight:bold;} /* Name.Namespace */
.nt{color:#000080;} /* Name.Tag */
.nv{color:#008080;} /* Name.Variable */
.na{color: #008080;} /* Name.Attribute */
.nb{color: #0086B3;} /* Name.Builtin */
.nc{color: #458;font-weight: bold;} /* Name.Class */
.no{color: #008080;} /* Name.Constant */
.ni{color: #800080;}
.ne{color: #900;font-weight: bold;} /* Name.Exception */
.nf{color: #900;font-weight: bold;} /* Name.Function */
.nn{color: #005;font-weight: bold;} /* Name.Namespace */
.nt{color: #000080;} /* Name.Tag */
.nv{color: #008080;} /* Name.Variable */
.py { color: #336699; font-weight: bold } /* Name.Property */
.ow { color: #008800 } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.mi {color:#099;} /* Literal.Number.Integer */
.mi {color: #099;} /* Literal.Number.Integer */
.mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.sc{color:#d14;} /* Literal.String.Char */
.sc{color: #d14;} /* Literal.String.Char */
.sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.s2{color:#d14;} /* Literal.String.Double */
.se{color:#d14;} /* Literal.String.Escape */
.sh{color:#d14;} /* Literal.String.Heredoc */
.si{color:#d14;} /* Literal.String.Interpol */
.sx{color:#d14;} /* Literal.String.Other */
.sr{color:#d14;} /* Literal.String.Regex */
.s1{color:#d14;} /* Literal.String.Single */
.ss{color:#d14;} /* Literal.String.Symbol */
.s2{color: #d14;} /* Literal.String.Double */
.se{color: #d14;} /* Literal.String.Escape */
.sh{color: #d14;} /* Literal.String.Heredoc */
.si{color: #d14;} /* Literal.String.Interpol */
.sx{color: #d14;} /* Literal.String.Other */
.sr{color: #d14;} /* Literal.String.Regex */
.s1{color: #d14;} /* Literal.String.Single */
.ss{color: #d14;} /* Literal.String.Symbol */
.bp { color: #003388 } /* Name.Builtin.Pseudo */
.vc { color: #336699 } /* Name.Variable.Class */
.vg { color: #dd7700 } /* Name.Variable.Global */
@ -63,7 +65,5 @@
}
.shadow {
-webkit-box-shadow:0 5px 15px #000;
-moz-box-shadow:0 5px 15px #000;
box-shadow:0 5px 15px #000;
@include box-shadow(0 5px 15px #000);
}

View File

@ -0,0 +1,257 @@
/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/*
* jQuery UI CSS Framework 1.8.7
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ctl=themeroller
*/
/* Component containers
----------------------------------*/
.ui-widget { font-family: Arial,sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Arial,sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #CCC; background: #ffffff; color: #4F4F4F; }
.ui-widget-content a { color: #4F4F4F; }
.ui-widget-header { border: 1px solid #B6B6B6; color: #4F4F4F; font-weight: bold; }
.ui-widget-header {
background: #ededed url(bg_fallback.png) 0 0 repeat-x; /* Old browsers */
background: -moz-linear-gradient(top, #ededed 0%, #c4c4c4 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ededed), color-stop(100%,#c4c4c4)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* IE10+ */
background: linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* W3C */
}
.ui-widget-header a { color: #4F4F4F; }
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #B6B6B6; font-weight: normal; color: #4F4F4F; }
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
background: #ededed url(bg_fallback.png) 0 0 repeat-x; /* Old browsers */
background: -moz-linear-gradient(top, #ededed 0%, #c4c4c4 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ededed), color-stop(100%,#c4c4c4)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* IE10+ */
background: linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* W3C */
-webkit-box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
-moz-box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
}
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #4F4F4F; text-decoration: none; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #9D9D9D; font-weight: normal; color: #313131; }
.ui-state-hover a, .ui-state-hover a:hover { color: #313131; text-decoration: none; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
outline: none;
color: #1c4257; border: 1px solid #7096ab;
background: #ededed url(bg_fallback.png) 0 -50px repeat-x; /* Old browsers */
background: -moz-linear-gradient(top, #b9e0f5 0%, #92bdd6 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b9e0f5), color-stop(100%,#92bdd6)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* IE10+ */
background: linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* W3C */
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #313131; text-decoration: none; }
.ui-widget :active { outline: none; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { border: 1px solid #d2dbf4; background: #f4f8fd; color: #0d2054; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; border-radius: 0 !important; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { border: 1px solid #e2d0d0; background: #fcf0f0; color: #280b0b; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; border-radius: 0 !important; }
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(ui-icons_222222_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(ui-icons_222222_256x240.png); }
.ui-widget-header .ui-icon {background-image: url(ui-icons_222222_256x240.png); }
.ui-state-default .ui-icon { background-image: url(ui-icons_454545_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(ui-icons_454545_256x240.png); }
.ui-state-active .ui-icon {background-image: url(ui-icons_454545_256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(ui-icons_454545_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon { background: url(icon_sprite.png) -16px 0 no-repeat !important; }
.ui-state-highlight .ui-icon, .ui-state-error .ui-icon { margin-top: -1px; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { background: #262b33; opacity: .70;filter:Alpha(Opacity=70); }
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #000000; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
/*
* jQuery UI Selectable 1.8.7
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Selectable#theming
*/
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
/*
* jQuery UI Autocomplete 1.8.7
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Autocomplete#theming
*/
.ui-autocomplete {
position: absolute; cursor: default; z-index: 3;
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
-moz-box-shadow: 0 1px 5px rgba(0,0,0,0.3);
-webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.3);
box-shadow: 0 1px 5px rgba(0,0,0,0.3);
}
/* workarounds */
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
/*
* jQuery UI Menu 1.8.7
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Menu#theming
*/
.ui-menu {
list-style:none;
padding: 1px;
margin: 0;
display:block;
float: left;
}
.ui-menu .ui-menu {
margin-top: -3px;
}
.ui-menu .ui-menu-item {
margin:0;
padding: 0;
zoom: 1;
float: left;
clear: left;
width: 100%;
}
.ui-menu .ui-menu-item a {
text-decoration:none;
display:block;
padding:.2em .4em;
line-height:1.5;
zoom:1;
color: #666;
font-size: 13px;
}
.ui-menu .ui-menu-item a.ui-state-hover,
.ui-menu .ui-menu-item a.ui-state-active {
font-weight: normal;
margin: -1px;
background: #D9EDF7;
color: #3A89A3;
text-shadow: 0px 1px 1px #fff;
border: none;
border: 1px solid #ADE;
cursor: pointer;
font-weight: bold;
}
/*
* jQuery UI Datepicker 1.8.7
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Datepicker#theming
*/
.ui-datepicker {
width: 17em;
padding: 0;
display: none;
border-color: #DDDDDD;
border: none;
box-shadow: none;
}
.ui-datepicker .ui-datepicker-header {
position:relative;
padding:.35em 0;
border: none;
border-bottom: 1px solid #B6B6B6;
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
margin-bottom: 10px;
border: 1px solid #bbb;
-webkit-box-shadow: 0 0 0 3px #F1F1F1;
-moz-box-shadow: 0 0 0 3px #f1f1f1;
-ms-box-shadow: 0 0 0 3px #f1f1f1;
-o-box-shadow: 0 0 0 3px #f1f1f1;
box-shadow: 0 0 0 3px #F1F1F1;
}
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 6px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { border: 1px none; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev span { background-position: 0px -32px !important; }
.ui-datepicker .ui-datepicker-next span { background-position: -16px -32px !important; }
.ui-datepicker .ui-datepicker-prev-hover span { background-position: 0px -48px !important; }
.ui-datepicker .ui-datepicker-next-hover span { background-position: -16px -48px !important; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; background: url(icon_sprite.png) no-repeat; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; font-size: 12px; text-shadow: 0 1px 0 rgba(255,255,255,0.6); }
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; line-height: 24px; background-color: #FFF!important; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
.ui-datepicker table .ui-state-highlight { border-color: #ADE; }
.ui-datepicker-calendar .ui-state-default { background: transparent; border-color: #FFF; }
.ui-datepicker-calendar .ui-state-active { background: #D9EDF7; border-color: #ADE; color: #3A89A3; font-weight: bold; text-shadow: 0 1px 1px #fff; }

View File

@ -1,204 +0,0 @@
/** Override bootstrap variables **/
$baseFontSize: 13px !default;
$baseLineHeight: 18px !default;
@import "bootstrap";
@import "bootstrap-responsive";
@import 'font-awesome';
/** GitLab colors **/
$link_color: #3A89A3;
$blue_link: #2FA0BB;
$style_color: #474D57;
$hover: #D9EDF7;
$hover_border: #ADF;
/** GitLab Fonts **/
@font-face { font-family: Korolev; src: font-url('korolev-medium-compressed.otf'); }
$monospace: 'Menlo', 'Liberation Mono', 'Consolas', 'Courier New', 'andale mono', 'lucida console', monospace;
/** MIXINS **/
@mixin shade {
-moz-box-shadow: 0 0 3px #ddd;
-webkit-box-shadow: 0 0 3px #ddd;
box-shadow: 0 0 3px #ddd;
}
@mixin solid_shade {
-moz-box-shadow: 0 0 0 3px #f1f1f1;
-webkit-box-shadow: 0 0 0 3px #f1f1f1;
box-shadow: 0 0 0 3px #f1f1f1;
}
@mixin border-radius($radius) {
-moz-border-radius: $radius;
-webkit-border-radius: $radius;
border-radius: $radius;
}
@mixin round-borders-bottom($radius) {
border-top: 1px solid #eaeaea;
-moz-border-radius-bottomright: $radius;
-moz-border-radius-bottomleft: $radius;
border-bottom-right-radius: $radius;
border-bottom-left-radius: $radius;
-webkit-border-bottom-left-radius: $radius;
-webkit-border-bottom-right-radius: $radius;
}
@mixin round-borders-top($radius) {
border-top: 1px solid #eaeaea;
-moz-border-radius-topright: $radius;
-moz-border-radius-topleft: $radius;
border-top-right-radius: $radius;
border-top-left-radius: $radius;
-webkit-border-top-left-radius: $radius;
-webkit-border-top-right-radius: $radius;
}
@mixin round-borders-all($radius) {
border: 1px solid #eaeaea;
-moz-border-radius: $radius;
-webkit-border-radius: $radius;
border-radius: $radius;
}
@mixin bg-gradient($from, $to) {
background-image: -webkit-gradient(linear, 0 0, 0 100%, from($from), to($to));
background-image: -webkit-linear-gradient($from, $to);
background-image: -moz-linear-gradient($from, $to);
background-image: -o-linear-gradient($from, $to);
}
@mixin bg-light-gray-gradient {
background:#f1f1f1;
background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #f5f5f5), to(#e1e1e1));
background-image: -webkit-linear-gradient(#f5f5f5 6.6%, #e1e1e1);
background-image: -moz-linear-gradient(#f5f5f5 6.6%, #e1e1e1);
background-image: -o-linear-gradient(#f5f5f5 6.6%, #e1e1e1);
}
@mixin bg-gray-gradient {
background:#eee;
background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf));
background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf);
background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf);
background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf);
}
@mixin bg-dark-gray-gradient {
background:#eee;
background-image: -webkit-linear-gradient(#e9e9e9, #d7d7d7);
background-image: -moz-linear-gradient(#e9e9e9, #d7d7d7);
background-image: -o-linear-gradient(#e9e9e9, #d7d7d7);
}
/**
* Header of application.
* Contain application logo, search panel, profile icon
*/
@import "sections/header.scss";
/**
* Navigation menu of application.
* Panel with links to pages depends on project, profile or admin area
*/
@import "sections/nav.scss";
/**
* This file represent some UI that can be changed
* during web app restyle or theme select.
*
* Next items should be placed there
* - link, button colors
* - header restyles
* - main menu restyles
*
*/
@import "themes/ui_basic.scss";
/**
* UI themes:
*/
@import "themes/ui_mars.scss";
@import "themes/ui_modern.scss";
@import "themes/ui_gray.scss";
@import "themes/ui_color.scss";
/**
* GitLab bootstrap.
* Overrides some styles of twitter bootstrap.
* Also give some common classes for GitLab app
*/
@import "gitlab_bootstrap/common.scss";
@import "gitlab_bootstrap/typography.scss";
@import "gitlab_bootstrap/buttons.scss";
@import "gitlab_bootstrap/blocks.scss";
@import "gitlab_bootstrap/files.scss";
@import "gitlab_bootstrap/tables.scss";
@import "gitlab_bootstrap/lists.scss";
/**
* Most of application styles placed here.
* This file represent common UI that should not be changed between themes
* or project restyling like form width or user avatar class or commit title
*
* TODO: clean it
*/
@import "common.scss";
/**
* Styles related to specific part of app
*/
@import "sections/commits.scss";
@import "sections/issues.scss";
@import "sections/projects.scss";
@import "sections/merge_requests.scss";
@import "sections/graph.scss";
@import "sections/events.scss";
@import "sections/themes.scss";
/**
* This scss file redefine chozen selectbox styles for
* project Branch/Tag select element
*/
@import "ref_select.scss";
/**
* Code (files list) styles. Browsing project files there
*/
@import "sections/tree.scss";
/**
* This file represent notes(comments) styles
*/
@import "sections/notes.scss";
/**
* This file represent profile styles
*/
@import "sections/profile.scss";
/**
* Devise styles
*/
@import "sections/login.scss";
/**
* CODE HIGHTLIGHT BASE
*
*/
@import "highlight/white.scss";
/**
* CODE HIGHTLIGHT DARK schema
*
*/
@import "highlight/dark.scss";
/**
* File Editor styles
*
*/
@import "sections/editor.scss";

View File

@ -0,0 +1,5 @@
.admin-filter form {
label { width: 110px; }
.controls { margin-left: 130px; }
.form-actions { padding-left: 130px; background: #fff }
}

View File

@ -1,271 +1,369 @@
.commit-box {
@extend .main_box;
.commit-head {
@extend .top_box_content;
.commit-title {
line-height: 26px;
margin:0;
}
.commit-description {
font-size: 14px;
border: none;
background-color: white;
padding-top:10px;
}
.browse-button {
@extend .btn;
@extend .btn-small;
float: right;
}
}
.commit-info {
@extend .middle_box_content;
@extend .clearfix;
.sha-block {
text-align:right;
&:first-child {
padding-bottom:6px;
}
a {
border-bottom: 1px solid #aaa;
margin-left: 9px;
}
}
&.merge-commit .sha-block {
clear: right;
}
.committer {
padding-left: 32px;
}
.author a,
.committer a {
font-size:14px;
line-height:22px;
text-shadow:0 1px 1px #fff;
color:#777;
&:hover {
color: #999;
}
}
.avatar {
margin-right: 10px;
}
/**
* Commit file
*/
.commit-committer-link,
.commit-author-link {
font-size: 13px;
color: #555;
&:hover {
color: #999;
}
}
/**
*
* COMMIT SHOw
*
*/
.diff_file {
border:1px solid #CCC;
margin-bottom:1em;
.file {
border: 1px solid #CCC;
margin-bottom: 1em;
.diff_file_header {
.header {
@extend .clearfix;
padding: 5px 5px 5px 10px;
color: #555;
border-bottom:1px solid #CCC;
border-bottom: 1px solid #CCC;
background: #eee;
// TODO Replace with linear-gradient mixin
background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf));
background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf);
background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf);
background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf);
a{
color: $style_color;
}
> span {
font-family: $monospace;
font-size:14px;
font-family: $monospace_font;
font-size: 14px;
line-height: 30px;
}
a.view-commit{
a.view-file{
font-weight: bold;
}
.commit-short-id{
font-family: $monospace;
font-family: $monospace_font;
font-size: smaller;
}
.file-mode{
font-family: $monospace;
font-family: $monospace_font;
}
}
.diff_file_content {
overflow:auto;
overflow-y:hidden;
background:#fff;
color:#333;
.content {
overflow: auto;
overflow-y: hidden;
background: #FFF;
color: #333;
font-size: 12px;
font-family: $monospace;
.old{
span.idiff{
background-color:#FAA;
background-color: #FAA;
}
}
.new{
span.idiff{
background-color:#AFA;
background-color: #AFA;
}
}
table {
font-family: $monospace_font;
border: none;
margin: 0px;
padding: 0px;
td {
line-height:18px;
line-height: 18px;
font-size: 12px;
}
}
.old_line, .new_line {
margin: 0px;
padding: 0px;
border: none;
background: #EEE;
color: #666;
padding: 0px 5px;
border-right: 1px solid #ccc;
text-align: right;
min-width: 35px;
max-width: 35px;
width: 35px;
@include user-select(none);
a {
float: left;
width: 35px;
font-weight: normal;
color: #666;
&:hover {
text-decoration: underline;
}
}
}
.line_content {
display: block;
white-space: pre;
height: 18px;
margin: 0px;
padding: 0px;
border: none;
&.new {
background: #CFD;
}
&.old {
background: #FDD;
}
&.matched {
color: #ccc;
background: #fafafa;
}
}
}
.diff_file_content_image {
background:#eee;
text-align:center;
.image {
.image {
background: #ddd;
text-align: center;
padding: 30px;
.wrap{
display: inline-block;
margin:50px;
max-width:400px;
}
.frame {
display: inline-block;
background-color: #fff;
line-height: 0;
img{
border: 1px solid #FFF;
background: url('trans_bg.gif');
}
&.deleted {
border: 1px solid $deleted;
}
&.diff_removed {
img{
border: 1px solid #C00;
&.added {
border: 1px solid $added;
}
}
.image-info{
font-size: 12px;
margin: 5px 0 0 0;
color: grey;
}
.view.swipe{
position: relative;
.swipe-frame{
display: block;
margin: auto;
position: relative;
}
.swipe-wrap{
overflow: hidden;
border-left: 1px solid #999;
position: absolute;
display: block;
top: 13px;
right: 7px;
}
.frame{
top: 0;
right: 0;
position: absolute;
&.deleted{
margin: 0;
display: block;
top: 13px;
right: 7px;
}
}
&.diff_added {
img{
border: 1px solid #0C0;
.swipe-bar{
display: block;
height: 100%;
width: 15px;
z-index: 100;
position: absolute;
cursor: pointer;
&:hover{
.top-handle{
background-position: -15px 3px;
}
.bottom-handle{
background-position: -15px -11px;
}
};
.top-handle{
display: block;
height: 14px;
width: 15px;
position: absolute;
top: 0px;
background: url('swipemode_sprites.gif') 0 3px no-repeat;
}
.bottom-handle{
display: block;
height: 14px;
width: 15px;
position: absolute;
bottom: 0px;
background: url('swipemode_sprites.gif') 0 -11px no-repeat;
}
}
.image-info{
margin: 5px 0 0 0;
} //.view.swipe
.view.onion-skin{
.onion-skin-frame{
display: block;
margin: auto;
position: relative;
}
.frame.added, .frame.deleted {
position: absolute;
display: block;
top: 0px;
left: 0px;
}
.controls{
display: block;
height: 14px;
width: 300px;
z-index: 100;
position: absolute;
bottom: 0px;
left: 50%;
margin-left: -150px;
.drag-track{
display: block;
position: absolute;
left: 12px;
height: 10px;
width: 276px;
background: url('onion_skin_sprites.gif') -4px -20px repeat-x;
}
.dragger {
display: block;
position: absolute;
left: 0px;
top: 0px;
height: 14px;
width: 14px;
background: url('onion_skin_sprites.gif') 0px -34px repeat-x;
cursor: pointer;
}
.transparent {
display: block;
position: absolute;
top: 2px;
right: 0px;
height: 10px;
width: 10px;
background: url('onion_skin_sprites.gif') -2px 0px no-repeat;
}
.opaque {
display: block;
position: absolute;
top: 2px;
left: 0px;
height: 10px;
width: 10px;
background: url('onion_skin_sprites.gif') -2px -10px no-repeat;
}
}
} //.view.onion-skin
}
.view-modes{
padding: 10px;
text-align: center;
background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf));
background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf);
background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf);
background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf);
ul, li{
list-style: none;
margin: 0;
padding: 0;
display: inline-block;
}
&.img_compared {
.image {
max-width:300px;
li{
color: grey;
border-left: 1px solid #c1c1c1;
padding: 0 12px 0 16px;
cursor: pointer;
&:first-child{
border-left: none;
}
}
}
}
.diff_file_content{
table {
border:none;
margin:0px;
padding:0px;
tr {
td {
font-size:12px;
&:hover{
text-decoration: underline;
}
}
}
.old_line, .new_line {
margin:0px;
padding:0px;
border:none;
background:#EEE;
color:#666;
padding: 0px 5px;
border-right: 1px solid #ccc;
text-align:right;
min-width:35px;
max-width:35px;
width:35px;
moz-user-select: none;
-khtml-user-select: none;
user-select: none;
a {
float:left;
width:35px;
font-weight:normal;
color:#666;
&:hover {
text-decoration:underline;
&.active{
&:hover{
text-decoration: none;
}
cursor: default;
color: #333;
}
&.disabled{
display: none;
}
}
}
.line_content {
white-space:pre;
height:14px;
margin:0px;
padding:0px;
border:none;
&.new {
background: #CFD;
}
&.old {
background: #FDD;
}
&.matched {
color:#ccc;
background:#fafafa;
}
}
}
/** COMMIT BLOCK **/
.commit-title{display: block;}
.commit-title{margin-bottom: 10px}
.commit-author, .commit-committer{display: block;color: #999; font-weight: normal; font-style: italic;}
.commit-author strong, .commit-committer strong{font-weight: bold; font-style: normal;}
.commit-title{
display: block;
}
.commit-title{
margin-bottom: 10px;
}
.commit-author, .commit-committer{
display: block;
color: #999;
font-weight: normal;
font-style: italic;
}
.commit-author strong, .commit-committer strong{
font-weight: bold;
font-style: normal;
}
/** COMMIT ROW **/
/**
* COMMIT ROW
*/
.commit {
@extend .wll;
.browse_code_link_holder {
@extend .span2;
float:right;
float: right;
}
.committed_ago {
float:right;
float: right;
@extend .cgray;
}
.notes_count {
float:right;
float: right;
margin: -6px 8px 6px;
}
code {
background:#FCEEC1;
color:$style_color;
background: #FCEEC1;
color: $style_color;
}
.commit_short_id {
float:left;
float: left;
@extend .lined;
min-width:65px;
font-family: $monospace;
}
.commit-author-name {
color: #777;
&:hover {
color: #999;
}
min-width: 65px;
font-family: $monospace_font;
}
}
.diff_file_header a,
.file-stats a {
color: $style_color;
}
@ -294,11 +392,30 @@
}
.label_commit {
@include round-borders-all(4px);
padding:2px 4px;
border:none;
font-size:13px;
@include border-radius(4px);
padding: 2px 4px;
font-size: 13px;
background: #474D57;
color:#fff;
font-family: $monospace;
color: #fff;
font-family: $monospace_font;
}
.commits-compare-switch{
background: url("switch_icon.png") no-repeat center center;
width: 16px;
height: 18px;
text-indent: -9999px;
float: left;
margin-right: 9px;
border: 1px solid #DDD;
@include border-radius(4px);
padding: 4px;
background-color: #EEE;
}
.commit-description {
background: none;
border: none;
margin: 0;
}

View File

@ -1,7 +1,7 @@
.file-editor {
#editor{
border: none;
border-radius: 0;
@include border-radius(0);
height: 500px;
margin: 0;
padding: 0;

Some files were not shown because too many files have changed in this diff Show More