Permalink
Browse files

merge with beta

  • Loading branch information...
2 parents 51b339a + 79b7ee3 commit 4539bafaec14746ac28998a1efca0a612af1551b @marcinkuzminski committed Dec 13, 2012
Showing with 327,541 additions and 7,586 deletions.
  1. +1 −1 .hgignore
  2. +4 −1 CONTRIBUTORS
  3. +99 −1 development.ini
  4. +65 −0 docs/changelog.rst
  5. +1 −0 docs/index.rst
  6. +2 −1 docs/setup.rst
  7. +4 −5 docs/usage/git_support.rst
  8. +37 −0 docs/usage/subrepos.rst
  9. +99 −1 production.ini
  10. +2 −2 rhodecode/__init__.py
  11. +99 −1 rhodecode/config/deployment.ini_tmpl
  12. +7 −0 rhodecode/config/middleware.py
  13. +13 −7 rhodecode/config/rcextensions/__init__.py
  14. +44 −5 rhodecode/config/routing.py
  15. +11 −1 rhodecode/config/setup_rhodecode.py
  16. +96 −7 rhodecode/controllers/admin/admin.py
  17. +130 −0 rhodecode/controllers/admin/defaults.py
  18. +16 −7 rhodecode/controllers/admin/permissions.py
  19. +16 −5 rhodecode/controllers/admin/repos.py
  20. +55 −6 rhodecode/controllers/admin/repos_groups.py
  21. +17 −4 rhodecode/controllers/admin/settings.py
  22. +7 −1 rhodecode/controllers/admin/users.py
  23. +38 −14 rhodecode/controllers/admin/users_groups.py
  24. +0 −1 rhodecode/controllers/api/api.py
  25. +97 −154 rhodecode/controllers/changeset.py
  26. +47 −14 rhodecode/controllers/compare.py
  27. +101 −53 rhodecode/controllers/feed.py
  28. +90 −20 rhodecode/controllers/files.py
  29. +2 −2 rhodecode/controllers/forks.py
  30. +62 −3 rhodecode/controllers/home.py
  31. +48 −21 rhodecode/controllers/journal.py
  32. +49 −23 rhodecode/controllers/pullrequests.py
  33. +4 −2 rhodecode/controllers/search.py
  34. +31 −15 rhodecode/controllers/settings.py
  35. +44 −3 rhodecode/controllers/shortlog.py
  36. +1 −1 rhodecode/controllers/summary.py
  37. BIN rhodecode/i18n/en/LC_MESSAGES/rhodecode.mo
  38. +1,015 −725 rhodecode/i18n/en/LC_MESSAGES/rhodecode.po
  39. BIN rhodecode/i18n/fr/LC_MESSAGES/rhodecode.mo
  40. +1,156 −784 rhodecode/i18n/fr/LC_MESSAGES/rhodecode.po
  41. BIN rhodecode/i18n/ja/LC_MESSAGES/rhodecode.mo
  42. +1,124 −850 rhodecode/i18n/ja/LC_MESSAGES/rhodecode.po
  43. BIN rhodecode/i18n/pl/LC_MESSAGES/rhodecode.mo
  44. +4,280 −0 rhodecode/i18n/pl/LC_MESSAGES/rhodecode.po
  45. BIN rhodecode/i18n/pt_BR/LC_MESSAGES/rhodecode.mo
  46. +1,063 −743 rhodecode/i18n/pt_BR/LC_MESSAGES/rhodecode.po
  47. +986 −704 rhodecode/i18n/rhodecode.pot
  48. BIN rhodecode/i18n/zh_CN/LC_MESSAGES/rhodecode.mo
  49. +1,123 −906 rhodecode/i18n/zh_CN/LC_MESSAGES/rhodecode.po
  50. BIN rhodecode/i18n/zh_TW/LC_MESSAGES/rhodecode.mo
  51. +1,048 −743 rhodecode/i18n/zh_TW/LC_MESSAGES/rhodecode.po
  52. +9 −8 rhodecode/lib/annotate.py
  53. +10 −6 rhodecode/lib/auth_ldap.py
  54. +29 −8 rhodecode/lib/base.py
  55. +1 −1 rhodecode/lib/celerylib/__init__.py
  56. +6 −3 rhodecode/lib/celerylib/tasks.py
  57. +7 −6 rhodecode/lib/cleanup.py
  58. +40 −9 rhodecode/lib/db_manage.py
  59. +1,788 −2 rhodecode/lib/dbmigrate/schema/db_1_4_0.py
  60. +28 −0 rhodecode/lib/dbmigrate/schema/db_1_5_0.py
  61. +60 −0 rhodecode/lib/dbmigrate/versions/008_version_1_5_0.py
  62. +352 −225 rhodecode/lib/diffs.py
  63. +29 −18 rhodecode/lib/ext_json.py
  64. +133 −70 rhodecode/lib/helpers.py
  65. +13 −5 rhodecode/lib/hooks.py
  66. +10 −1 rhodecode/lib/indexers/__init__.py
  67. +2 −2 rhodecode/lib/indexers/daemon.py
  68. +1 −1 rhodecode/lib/markup_renderer.py
  69. +31 −0 rhodecode/lib/middleware/errormator.py
  70. +47 −0 rhodecode/lib/middleware/sentry.py
  71. +3 −1 rhodecode/lib/middleware/simplegit.py
  72. +3 −1 rhodecode/lib/middleware/simplehg.py
  73. +85 −0 rhodecode/lib/update_repoinfo.py
  74. +42 −8 rhodecode/lib/utils.py
  75. +65 −14 rhodecode/lib/utils2.py
  76. +1 −1 rhodecode/lib/vcs/backends/__init__.py
  77. +45 −5 rhodecode/lib/vcs/backends/base.py
  78. +65 −12 rhodecode/lib/vcs/backends/git/changeset.py
  79. +0 −1 rhodecode/lib/vcs/backends/git/inmemory.py
  80. +26 −14 rhodecode/lib/vcs/backends/git/repository.py
  81. +18 −8 rhodecode/lib/vcs/backends/hg/changeset.py
  82. +4 −1 rhodecode/lib/vcs/backends/hg/repository.py
  83. +10 −5 rhodecode/lib/vcs/nodes.py
  84. +7 −8 rhodecode/lib/vcs/utils/__init__.py
  85. +6 −18 rhodecode/lib/vcs/utils/helpers.py
  86. +17 −0 rhodecode/lib/vcs/utils/lazy.py
  87. +81 −49 rhodecode/model/db.py
  88. +51 −28 rhodecode/model/forms.py
  89. +9 −9 rhodecode/model/notification.py
  90. +13 −5 rhodecode/model/permission.py
  91. +61 −38 rhodecode/model/pull_request.py
  92. +58 −27 rhodecode/model/repo.py
  93. +9 −2 rhodecode/model/repos_group.py
  94. +9 −2 rhodecode/model/scm.py
  95. +79 −45 rhodecode/model/user.py
  96. +12 −3 rhodecode/model/validators.py
  97. +1 −0 rhodecode/public/css/codemirror.css
  98. +177 −22 rhodecode/public/css/style.css
  99. +70 −42 rhodecode/public/js/codemirror.js
  100. +15 −35 rhodecode/public/js/graph.js
  101. +1,974 −1 rhodecode/public/js/native.history.js
  102. +249 −67 rhodecode/public/js/rhodecode.js
  103. +29 −1 rhodecode/templates/admin/admin.html
  104. +20 −10 rhodecode/templates/admin/admin_log.html
  105. +93 −0 rhodecode/templates/admin/defaults/defaults.html
  106. +21 −7 rhodecode/templates/admin/permissions/permissions.html
  107. +6 −6 rhodecode/templates/admin/repos/repo_add_base.html
  108. +25 −16 rhodecode/templates/admin/repos/repo_edit.html
  109. +3 −2 rhodecode/templates/admin/repos_groups/repos_groups_show.html
  110. +11 −0 rhodecode/templates/admin/settings/settings.html
  111. +5 −1 rhodecode/templates/admin/users/user_edit.html
  112. +1 −2 rhodecode/templates/admin/users/user_edit_my_account.html
  113. +1 −1 rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html
  114. +1 −1 rhodecode/templates/admin/users/user_edit_my_account_repos.html
  115. +64 −1 rhodecode/templates/admin/users_groups/users_group_edit.html
  116. +4 −0 rhodecode/templates/base/base.html
  117. +15 −63 rhodecode/templates/base/root.html
  118. +1 −2 rhodecode/templates/branches/branches.html
  119. +5 −5 rhodecode/templates/branches/branches_data.html
  120. +71 −25 rhodecode/templates/changelog/changelog.html
  121. +56 −39 rhodecode/templates/changeset/changeset.html
  122. +1 −1 rhodecode/templates/changeset/changeset_file_comment.html
  123. +31 −8 rhodecode/templates/changeset/changeset_range.html
  124. +14 −14 rhodecode/templates/changeset/diff_block.html
  125. +17 −0 rhodecode/templates/changeset/patch_changeset.html
  126. +0 −9 rhodecode/templates/changeset/raw_changeset.html
  127. +4 −3 rhodecode/templates/compare/compare_cs.html
  128. +19 −3 rhodecode/templates/compare/compare_diff.html
  129. +21 −3 rhodecode/templates/data_table/_dt_elements.html
  130. +1 −1 rhodecode/templates/email_templates/changeset_comment.html
  131. +1 −1 rhodecode/templates/email_templates/main.html
  132. +4 −4 rhodecode/templates/email_templates/password_reset.html
  133. +5 −7 rhodecode/templates/email_templates/pull_request.html
  134. +3 −4 rhodecode/templates/email_templates/pull_request_comment.html
  135. +2 −2 rhodecode/templates/email_templates/registration.html
  136. +22 −5 rhodecode/templates/files/files.html
  137. +26 −0 rhodecode/templates/files/files_history_box.html
  138. +31 −44 rhodecode/templates/files/files_source.html
  139. +5 −1 rhodecode/templates/followers/followers_data.html
  140. +5 −1 rhodecode/templates/forks/forks_data.html
  141. +147 −27 rhodecode/templates/index_base.html
  142. +86 −77 rhodecode/templates/journal/journal.html
  143. +11 −3 rhodecode/templates/journal/journal_data.html
  144. +47 −0 rhodecode/templates/journal/journal_page_repos.html
  145. +1 −9 rhodecode/templates/journal/public_journal.html
  146. +5 −1 rhodecode/templates/pullrequests/pullrequest.html
  147. +23 −5 rhodecode/templates/pullrequests/pullrequest_show.html
  148. +37 −6 rhodecode/templates/settings/repo_settings.html
  149. +7 −1 rhodecode/templates/shortlog/shortlog.html
  150. +1 −3 rhodecode/templates/shortlog/shortlog_data.html
  151. +16 −5 rhodecode/templates/summary/summary.html
  152. +17 −0 rhodecode/templates/tags/tags.html
  153. +5 −0 rhodecode/templates/tags/tags_data.html
  154. +20 −1 rhodecode/tests/__init__.py
  155. +4 −9 rhodecode/tests/api/api_base.py
  156. +416 −0 rhodecode/tests/fixtures/diff_with_diff_data.diff
  157. +570 −0 rhodecode/tests/fixtures/git_diff_binary_and_normal.diff
  158. +3 −0 rhodecode/tests/fixtures/git_diff_chmod.diff
  159. +1,094 −0 rhodecode/tests/fixtures/git_diff_mod_single_binary_file.diff
  160. +4 −0 rhodecode/tests/fixtures/git_diff_rename_file.diff
  161. +5,257 −0 rhodecode/tests/fixtures/hg_diff_add_single_binary_file.diff
  162. +552 −0 rhodecode/tests/fixtures/hg_diff_binary_and_normal.diff
  163. +3 −0 rhodecode/tests/fixtures/hg_diff_chmod.diff
  164. +3 −0 rhodecode/tests/fixtures/hg_diff_del_single_binary_file.diff
  165. +1,094 −0 rhodecode/tests/fixtures/hg_diff_mod_single_binary_file.diff
  166. +3 −0 rhodecode/tests/fixtures/hg_diff_rename_file.diff
  167. +2,035 −0 rhodecode/tests/fixtures/journal_dump.csv
  168. +295,376 −0 rhodecode/tests/fixtures/large_diff.diff
  169. +143 −2 rhodecode/tests/functional/test_admin.py
  170. +72 −0 rhodecode/tests/functional/test_admin_defaults.py
  171. +1 −1 rhodecode/tests/functional/test_admin_ldap_settings.py
  172. +38 −52 rhodecode/tests/functional/test_admin_repos.py
  173. +281 −337 rhodecode/tests/functional/test_compare.py
  174. +153 −0 rhodecode/tests/functional/test_compare_local.py
  175. +44 −15 rhodecode/tests/functional/test_files.py
  176. +18 −1 rhodecode/tests/functional/test_home.py
  177. +7 −5 rhodecode/tests/functional/test_journal.py
  178. +59 −2 rhodecode/tests/functional/test_shortlog.py
  179. +86 −0 rhodecode/tests/models/test_diff_parsers.py
  180. +4 −4 rhodecode/tests/models/test_permissions.py
  181. +3 −13 rhodecode/tests/models/test_repos_groups.py
  182. +1 −0 rhodecode/tests/models/test_user_permissions_on_repos.py
  183. +1 −1 rhodecode/tests/scripts/create_rc.sh
  184. +6 −3 rhodecode/tests/scripts/test_crawler.py
  185. +1 −4 rhodecode/tests/scripts/test_vcs_operations.py
  186. +5 −1 rhodecode/tests/test_libs.py
  187. +5 −1 rhodecode/tests/vcs/test_changesets.py
  188. +10 −5 rhodecode/tests/vcs/test_git.py
  189. +4 −4 rhodecode/tests/vcs/test_hg.py
  190. +7 −6 rhodecode/tests/vcs/test_repository.py
  191. +5 −5 rhodecode/websetup.py
  192. +7 −6 setup.py
  193. +4 −4 test.ini
View
@@ -19,6 +19,6 @@ syntax: regexp
^rhodecode\.db$
^test\.db$
^RhodeCode\.egg-info$
-^rc\.ini$
+^rc.*\.ini$
^fabfile.py
^\.rhodecode$
View
@@ -28,4 +28,7 @@ List of contributors to RhodeCode project:
Vincent Caron <vcaron@bearstech.com>
Zachary Auclair <zach101@gmail.com>
Stefan Engel <mail@engel-stefan.de>
- Andrew Shadura <bugzilla@tut.by>
+ Andrew Shadura <bugzilla@tut.by>
+ Raoul Thill <raoul.thill@gmail.com>
+ Philip Jameson <philip.j@hostdime.com>
+ Mads Kiilerich <madski@unity3d.com>
View
@@ -29,6 +29,7 @@ pdebug = false
#smtp_auth =
[server:main]
+## PASTE
##nr of threads to spawn
#threadpool_workers = 5
@@ -39,7 +40,11 @@ pdebug = false
#use_threadpool = true
#use = egg:Paste#http
+
+#WAITRESS
+threads = 5
use = egg:waitress#main
+
host = 0.0.0.0
port = 5000
@@ -54,16 +59,26 @@ use = egg:rhodecode
full_stack = true
static_files = true
# Optional Languages
-# en, fr, ja, pt_BR, zh_CN, zh_TW
+# en, fr, ja, pt_BR, zh_CN, zh_TW, pl
lang = en
cache_dir = %(here)s/data
index_dir = %(here)s/data/index
app_instance_uuid = rc-develop
cut_off_limit = 256000
+vcs_full_cache = True
force_https = false
commit_parse_limit = 25
+# number of items displayed in lightweight dashboard before paginating
+dashboard_items = 100
use_gravatar = true
+## RSS feed options
+
+rss_cut_off_limit = 256000
+rss_items_per_page = 10
+rss_include_diff = false
+
+
## alternative_gravatar_url allows you to use your own avatar server application
## the following parts of the URL will be replaced
## {email} user email
@@ -76,6 +91,8 @@ use_gravatar = true
container_auth_enabled = false
proxypass_auth_enabled = false
+## default encoding used to convert from and to unicode
+## can be also a comma seperated list of encoding in case of mixed encodings
default_encoding = utf8
## overwrite schema of clone url
@@ -227,6 +244,87 @@ beaker.session.auto = False
#beaker.session.cookie_expires = 3600
+############################
+## ERROR HANDLING SYSTEMS ##
+############################
+
+####################
+### [errormator] ###
+####################
+
+# Errormator is tailored to work with RhodeCode, see
+# http://errormator.com for details how to obtain an account
+# you must install python package `errormator_client` to make it work
+
+# errormator enabled
+errormator = true
+
+errormator.server_url = https://api.errormator.com
+errormator.api_key = YOUR_API_KEY
+
+# TWEAK AMOUNT OF INFO SENT HERE
+
+# enables 404 error logging (default False)
+errormator.report_404 = false
+
+# time in seconds after request is considered being slow (default 1)
+errormator.slow_request_time = 1
+
+# record slow requests in application
+# (needs to be enabled for slow datastore recording and time tracking)
+errormator.slow_requests = true
+
+# enable hooking to application loggers
+# errormator.logging = true
+
+# minimum log level for log capture
+# errormator.logging.level = WARNING
+
+# send logs only from erroneous/slow requests
+# (saves API quota for intensive logging)
+errormator.logging_on_error = false
+
+# list of additonal keywords that should be grabbed from environ object
+# can be string with comma separated list of words in lowercase
+# (by default client will always send following info:
+# 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
+# start with HTTP* this list be extended with additional keywords here
+errormator.environ_keys_whitelist =
+
+
+# list of keywords that should be blanked from request object
+# can be string with comma separated list of words in lowercase
+# (by default client will always blank keys that contain following words
+# 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
+# this list be extended with additional keywords set here
+errormator.request_keys_blacklist =
+
+
+# list of namespaces that should be ignores when gathering log entries
+# can be string with comma separated list of namespaces
+# (by default the client ignores own entries: errormator_client.client)
+errormator.log_namespace_blacklist =
+
+
+################
+### [sentry] ###
+################
+
+# sentry is a alternative open source error aggregator
+# you must install python packages `sentry` and `raven` to enable
+
+sentry.dsn = YOUR_DNS
+sentry.servers =
+sentry.name =
+sentry.key =
+sentry.public_key =
+sentry.secret_key =
+sentry.project =
+sentry.site =
+sentry.include_paths =
+sentry.exclude_paths =
+
+
################################################################################
## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
View
@@ -4,6 +4,71 @@
Changelog
=========
+
+1.5.0 (**2012-12-12**)
+----------------------
+
+news
+++++
+
+- new rewritten from scratch diff engine. 10x faster in edge cases. Handling
+ of file renames, copies, change flags and binary files
+- added lightweight dashboard option. ref #500. New version of dashboard
+ page that doesn't use any VCS data and is super fast to render. Recommended
+ for large amount of repositories.
+- implements #648 write Script for updating last modification time for
+ lightweight dashboard
+- implemented compare engine for git repositories.
+- LDAP failover, option to specify multiple servers
+- added Errormator and Sentry support for monitoring RhodeCode
+- implemented #628: Pass server URL to rc-extensions hooks
+- new tooltip implementation - added lazy loading of changesets from journal
+ pages. This can significantly improve speed of rendering the page
+- implements #632,added branch/tag/bookmarks info into feeds
+ added changeset link to body of message
+- implemented #638 permissions overview to groups
+- implements #636, lazy loading of history and authors to speed up source
+ pages rendering
+- implemented #647, option to pass list of default encoding used to
+ encode to/decode from unicode
+- added caching layer into RSS/ATOM feeds.
+- basic implementation of cherry picking changesets for pull request, ref #575
+- implemented #661 Add option to include diff in RSS feed
+- implemented file history page for showing detailed changelog for a given file
+- implemented #663 Admin/permission: specify default repogroup perms
+- implemented #379 defaults settings page for creation of repositories, locking
+ statistics, downloads, repository type
+- implemented #210 filtering of admin journal based on Whoosh Query language
+- added parents/children links in changeset viewref #650
+
+fixes
++++++
+
+- fixed git version checker
+- #586 patched basic auth handler to fix issues with git behind proxy
+- #589 search urlgenerator didn't properly escape special characters
+- fixed issue #614 Include repo name in delete confirmation dialog
+- fixed #623: Lang meta-tag doesn't work with C#/C++
+- fixes #612 Double quotes to Single quotes result in bad html in diff
+- fixes #630 git statistics do too much work making them slow.
+- fixes #625 Git-Tags are not displayed in Shortlog
+- fix for issue #602, enforce str when setting mercurial UI object.
+ When this is used together with mercurial internal translation system
+ it can lead to UnicodeDecodeErrors
+- fixes #645 Fix git handler when doing delete remote branch
+- implements #649 added two seperate method for author and commiter to VCS
+ changeset class switch author for git backed to be the real author not commiter
+- fix issue #504 RhodeCode is showing different versions of README on
+ different summary page loads
+- implemented #658 Changing username in LDAP-Mode should not be allowed.
+- fixes #652 switch to generator approach when doing file annotation to prevent
+ huge memory consumption
+- fixes #666 move lockkey path location to cache_dir to ensure this path is
+ always writable for rhodecode server
+- many more small fixes and improvements
+- fixed issues with recursive scans on removed repositories that could take
+ long time on instance start
+
1.4.4 (**2012-10-08**)
----------------------
View
@@ -25,6 +25,7 @@ Users Guide
usage/locking
usage/statistics
usage/backup
+ usage/subrepos
usage/debugging
usage/troubleshooting
View
@@ -204,7 +204,8 @@ Enable LDAP : required
.. _ldap_host:
Host : required
- LDAP server hostname or IP address.
+ LDAP server hostname or IP address. Can be also a comma separated
+ list of servers to support LDAP fail-over.
.. _Port:
@@ -8,16 +8,15 @@ GIT support
Git support in RhodeCode 1.3 was enabled by default. You need to have a git
client installed on the machine to make git fully work.
-Although There are some limitations on git usage.
+Although There is one limitation on git usage.
-- hooks that are executed on pull/push are not *real* hooks, they are
- just emulating the behavior, and are executed **BEFORE** action takes place.
-- large pushes needs http server with chunked encoding support.
+- large pushes requires a http server with chunked encoding support.
if you plan to use git you need to run RhodeCode with some
http server that supports chunked encoding which git http protocol uses,
i recommend using waitress_ or gunicorn_ (linux only) for `paste` wsgi app
-replacement.
+replacement. Starting from version 1.4 waitress_ is the default wsgi server
+used in RhodeCode.
To use, simply change change the following in the .ini file::
View
@@ -0,0 +1,37 @@
+.. _subrepos:
+
+=============================================
+working with RhodeCode and mercurial subrepos
+=============================================
+
+example usage of Subrepos with RhodeCode::
+
+ ## init a simple repo
+ hg init repo1
+ cd repo1
+ echo "file1" > file1
+ hg add file1
+ hg ci --message "initial file 1"
+
+ #clone subrepo we want to add
+ hg clone http://rc.local/subrepo
+
+ ## use path like url to existing repo in RhodeCode
+ echo "subrepo = http://rc.local/subrepo" > .hgsub
+
+ hg add .hgsub
+ hg ci --message "added remote subrepo"
+
+
+
+In file list of repo1 you will see a connected subrepo at revision it was
+during cloning.
+Clicking in subrepos link should send you to proper repository in RhodeCode
+
+cloning repo1 will also clone attached subrepository.
+
+Next we can edit the subrepo data, and push back to RhodeCode. This will update
+both of repositories.
+
+see http://mercurial.aragost.com/kick-start/en/subrepositories/ for more
+information about subrepositories
Oops, something went wrong.

0 comments on commit 4539baf

Please sign in to comment.