You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

gitblit.properties 60KB

11 years ago
11 years ago
10 years ago
10 years ago
10 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
Ticket tracker with patchset contributions A basic issue tracker styled as a hybrid of GitHub and BitBucket issues. You may attach commits to an existing ticket or you can push a single commit to create a *proposal* ticket. Tickets keep track of patchsets (one or more commits) and allow patchset rewriting (rebase, amend, squash) by detecing the non-fast-forward update and assigning a new patchset number to the new commits. Ticket tracker -------------- The ticket tracker stores tickets as an append-only journal of changes. The journals are deserialized and a ticket is built by applying the journal entries. Tickets are indexed using Apache Lucene and all queries and searches are executed against this Lucene index. There is one trade-off to this persistence design: user attributions are non-relational. What does that mean? Each journal entry stores the username of the author. If the username changes in the user service, the journal entry will not reflect that change because the values are hard-coded. Here are a few reasons/justifications for this design choice: 1. commit identifications (author, committer, tagger) are non-relational 2. maintains the KISS principle 3. your favorite text editor can still be your administration tool Persistence Choices ------------------- **FileTicketService**: stores journals on the filesystem **BranchTicketService**: stores journals on an orphan branch **RedisTicketService**: stores journals in a Redis key-value datastore It should be relatively straight-forward to develop other backends (MongoDB, etc) as long as the journal design is preserved. Pushing Commits --------------- Each push to a ticket is identified as a patchset revision. A patchset revision may add commits to the patchset (fast-forward) OR a patchset revision may rewrite history (rebase, squash, rebase+squash, or amend). Patchset authors should not be afraid to polish, revise, and rewrite their code before merging into the proposed branch. Gitblit will create one ref for each patchset. These refs are updated for fast-forward pushes or created for rewrites. They are formatted as `refs/tickets/{shard}/{id}/{patchset}`. The *shard* is the last two digits of the id. If the id < 10, prefix a 0. The *shard* is always two digits long. The shard's purpose is to ensure Gitblit doesn't exceed any filesystem directory limits for file creation. **Creating a Proposal Ticket** You may create a new change proposal ticket just by pushing a **single commit** to `refs/for/{branch}` where branch is the proposed integration branch OR `refs/for/new` or `refs/for/default` which both will use the default repository branch. git push origin HEAD:refs/for/new **Updating a Patchset** The safe way to update an existing patchset is to push to the patchset ref. git push origin HEAD:refs/heads/ticket/{id} This ensures you do not accidentally create a new patchset in the event that the patchset was updated after you last pulled. The not-so-safe way to update an existing patchset is to push using the magic ref. git push origin HEAD:refs/for/{id} This push ref will update an exisitng patchset OR create a new patchset if the update is non-fast-forward. **Rebasing, Squashing, Amending** Gitblit makes rebasing, squashing, and amending patchsets easy. Normally, pushing a non-fast-forward update would require rewind (RW+) repository permissions. Gitblit provides a magic ref which will allow ticket participants to rewrite a ticket patchset as long as the ticket is open. git push origin HEAD:refs/for/{id} Pushing changes to this ref allows the patchset authors to rebase, squash, or amend the patchset commits without requiring client-side use of the *--force* flag on push AND without requiring RW+ permission to the repository. Since each patchset is tracked with a ref it is easy to recover from accidental non-fast-forward updates. Features -------- - Ticket tracker with status changes and responsible assignments - Patchset revision scoring mechanism - Update/Rewrite patchset handling - Close-on-push detection - Server-side Merge button for simple merges - Comments with Markdown syntax support - Rich mail notifications - Voting - Mentions - Watch lists - Querying - Searches - Partial miletones support - Multiple backend options
10 years ago
Ticket tracker with patchset contributions A basic issue tracker styled as a hybrid of GitHub and BitBucket issues. You may attach commits to an existing ticket or you can push a single commit to create a *proposal* ticket. Tickets keep track of patchsets (one or more commits) and allow patchset rewriting (rebase, amend, squash) by detecing the non-fast-forward update and assigning a new patchset number to the new commits. Ticket tracker -------------- The ticket tracker stores tickets as an append-only journal of changes. The journals are deserialized and a ticket is built by applying the journal entries. Tickets are indexed using Apache Lucene and all queries and searches are executed against this Lucene index. There is one trade-off to this persistence design: user attributions are non-relational. What does that mean? Each journal entry stores the username of the author. If the username changes in the user service, the journal entry will not reflect that change because the values are hard-coded. Here are a few reasons/justifications for this design choice: 1. commit identifications (author, committer, tagger) are non-relational 2. maintains the KISS principle 3. your favorite text editor can still be your administration tool Persistence Choices ------------------- **FileTicketService**: stores journals on the filesystem **BranchTicketService**: stores journals on an orphan branch **RedisTicketService**: stores journals in a Redis key-value datastore It should be relatively straight-forward to develop other backends (MongoDB, etc) as long as the journal design is preserved. Pushing Commits --------------- Each push to a ticket is identified as a patchset revision. A patchset revision may add commits to the patchset (fast-forward) OR a patchset revision may rewrite history (rebase, squash, rebase+squash, or amend). Patchset authors should not be afraid to polish, revise, and rewrite their code before merging into the proposed branch. Gitblit will create one ref for each patchset. These refs are updated for fast-forward pushes or created for rewrites. They are formatted as `refs/tickets/{shard}/{id}/{patchset}`. The *shard* is the last two digits of the id. If the id < 10, prefix a 0. The *shard* is always two digits long. The shard's purpose is to ensure Gitblit doesn't exceed any filesystem directory limits for file creation. **Creating a Proposal Ticket** You may create a new change proposal ticket just by pushing a **single commit** to `refs/for/{branch}` where branch is the proposed integration branch OR `refs/for/new` or `refs/for/default` which both will use the default repository branch. git push origin HEAD:refs/for/new **Updating a Patchset** The safe way to update an existing patchset is to push to the patchset ref. git push origin HEAD:refs/heads/ticket/{id} This ensures you do not accidentally create a new patchset in the event that the patchset was updated after you last pulled. The not-so-safe way to update an existing patchset is to push using the magic ref. git push origin HEAD:refs/for/{id} This push ref will update an exisitng patchset OR create a new patchset if the update is non-fast-forward. **Rebasing, Squashing, Amending** Gitblit makes rebasing, squashing, and amending patchsets easy. Normally, pushing a non-fast-forward update would require rewind (RW+) repository permissions. Gitblit provides a magic ref which will allow ticket participants to rewrite a ticket patchset as long as the ticket is open. git push origin HEAD:refs/for/{id} Pushing changes to this ref allows the patchset authors to rebase, squash, or amend the patchset commits without requiring client-side use of the *--force* flag on push AND without requiring RW+ permission to the repository. Since each patchset is tracked with a ref it is easy to recover from accidental non-fast-forward updates. Features -------- - Ticket tracker with status changes and responsible assignments - Patchset revision scoring mechanism - Update/Rewrite patchset handling - Close-on-push detection - Server-side Merge button for simple merges - Comments with Markdown syntax support - Rich mail notifications - Voting - Mentions - Watch lists - Querying - Searches - Partial miletones support - Multiple backend options
10 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
11 years ago
10 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874
  1. #
  2. # Gitblit Settings
  3. #
  4. # This settings file supports parameterization from the command-line for the
  5. # following command-line parameters:
  6. #
  7. # --baseFolder ${baseFolder} SINCE 1.2.1
  8. #
  9. # Settings that support ${baseFolder} parameter substitution are indicated with the
  10. # BASEFOLDER attribute. If the --baseFolder argument is unspecified, ${baseFolder}
  11. # and it's trailing / will be discarded from the setting value leaving a relative
  12. # path that is equivalent to pre-1.2.1 releases.
  13. #
  14. # e.g. "${baseFolder}/git" becomes "git", if --baseFolder is unspecified
  15. #
  16. # Git Servlet Settings
  17. #
  18. # Base folder for repositories.
  19. # This folder may contain bare and non-bare repositories but Gitblit will only
  20. # allow you to push to bare repositories.
  21. # Use forward slashes even on Windows!!
  22. # e.g. c:/gitrepos
  23. #
  24. # SINCE 0.5.0
  25. # RESTART REQUIRED
  26. # BASEFOLDER
  27. git.repositoriesFolder = ${baseFolder}/git
  28. # Build the available repository list at startup and cache this list for reuse.
  29. # This reduces disk io when presenting the repositories page, responding to rpcs,
  30. # etc, but it means that Gitblit will not automatically identify repositories
  31. # added or deleted by external tools.
  32. #
  33. # For this case you can use curl, wget, etc to issue an rpc request to clear the
  34. # cache (e.g. https://localhost/rpc?req=CLEAR_REPOSITORY_CACHE)
  35. #
  36. # SINCE 1.1.0
  37. git.cacheRepositoryList = true
  38. # Search the repositories folder subfolders for other repositories.
  39. # Repositories MAY NOT be nested (i.e. one repository within another)
  40. # but they may be grouped together in subfolders.
  41. # e.g. c:/gitrepos/libraries/mylibrary.git
  42. # c:/gitrepos/libraries/myotherlibrary.git
  43. #
  44. # SINCE 0.5.0
  45. git.searchRepositoriesSubfolders = true
  46. # Maximum number of folders to recurse into when searching for repositories.
  47. # The default value, -1, disables depth limits.
  48. #
  49. # SINCE 1.1.0
  50. git.searchRecursionDepth = -1
  51. # List of regex exclusion patterns to match against folders found in
  52. # *git.repositoriesFolder*.
  53. # Use forward slashes even on Windows!!
  54. # e.g. test/jgit\.git
  55. #
  56. # SPACE-DELIMITED
  57. # CASE-SENSITIVE
  58. # SINCE 1.1.0
  59. git.searchExclusions =
  60. # List of regex url patterns for extracting a repository name when locating
  61. # submodules.
  62. # e.g. git.submoduleUrlPatterns = .*?://github.com/(.*) will extract
  63. # *gitblit/gitblit.git* from *git://github.com/gitblit/gitblit.git*
  64. # If no matches are found then the submodule repository name is assumed to be
  65. # whatever trails the last / character. (e.g. gitblit.git).
  66. #
  67. # SPACE-DELIMITED
  68. # CASE-SENSITIVE
  69. # SINCE 1.1.0
  70. git.submoduleUrlPatterns = .*?://github.com/(.*)
  71. # Specify the interface for Git Daemon to bind it's service.
  72. # You may specify an ip or an empty value to bind to all interfaces.
  73. # Specifying localhost will result in Gitblit ONLY listening to requests to
  74. # localhost.
  75. #
  76. # SINCE 1.3.0
  77. # RESTART REQUIRED
  78. git.daemonBindInterface =
  79. # port for serving the Git Daemon service. <= 0 disables this service.
  80. # On Unix/Linux systems, ports < 1024 require root permissions.
  81. # Recommended value: 9418
  82. #
  83. # SINCE 1.3.0
  84. # RESTART REQUIRED
  85. git.daemonPort = 9418
  86. # The port for serving the SSH service. <= 0 disables this service.
  87. # On Unix/Linux systems, ports < 1024 require root permissions.
  88. # Recommended value: 29418
  89. #
  90. # SINCE 1.5.0
  91. # RESTART REQUIRED
  92. git.sshPort = 29418
  93. # Specify the interface for the SSH daemon to bind its service.
  94. # You may specify an ip or an empty value to bind to all interfaces.
  95. # Specifying localhost will result in Gitblit ONLY listening to requests to
  96. # localhost.
  97. #
  98. # SINCE 1.5.0
  99. # RESTART REQUIRED
  100. git.sshBindInterface =
  101. # Specify the SSH key manager to use for retrieving, storing, and removing
  102. # SSH keys.
  103. #
  104. # Valid key managers are:
  105. # com.gitblit.transport.ssh.FileKeyManager
  106. #
  107. # SINCE 1.5.0
  108. git.sshKeysManager = com.gitblit.transport.ssh.FileKeyManager
  109. # Directory for storing user SSH keys when using the FileKeyManager.
  110. #
  111. # SINCE 1.5.0
  112. git.sshKeysFolder= ${baseFolder}/ssh
  113. # SSH backend NIO2|MINA.
  114. #
  115. # SINCE 1.5.0
  116. git.sshBackend = NIO2
  117. # Number of thread for starting SSH commands.
  118. #
  119. # SINCE 1.5.0
  120. git.sshCommandStartThreads = 2
  121. # Allow push/pull over http/https with JGit servlet.
  122. # If you do NOT want to allow Git clients to clone/push to Gitblit set this
  123. # to false. You might want to do this if you are only using ssh:// or git://.
  124. # If you set this false, consider changing the *web.otherUrls* setting to
  125. # indicate your clone/push urls.
  126. #
  127. # SINCE 0.5.0
  128. git.enableGitServlet = true
  129. # If you want to restrict all git servlet access to those with valid X509 client
  130. # certificates then set this value to true.
  131. #
  132. # SINCE 1.2.0
  133. git.requiresClientCertificate = false
  134. # Enforce date checks on client certificates to ensure that they are not being
  135. # used prematurely and that they have not expired.
  136. #
  137. # SINCE 1.2.0
  138. git.enforceCertificateValidity = true
  139. # List of OIDs to extract from a client certificate DN to map a certificate to
  140. # an account username.
  141. #
  142. # e.g. git.certificateUsernameOIDs = CN
  143. # e.g. git.certificateUsernameOIDs = FirstName LastName
  144. #
  145. # SPACE-DELIMITED
  146. # SINCE 1.2.0
  147. git.certificateUsernameOIDs = CN
  148. # Only serve/display bare repositories.
  149. # If there are non-bare repositories in git.repositoriesFolder and this setting
  150. # is true, they will be excluded from the ui.
  151. #
  152. # SINCE 0.9.0
  153. git.onlyAccessBareRepositories = false
  154. # Specify the list of acceptable transports for pushes.
  155. # If this setting is empty, all transports are acceptable.
  156. #
  157. # Valid choices are: GIT HTTP HTTPS SSH
  158. #
  159. # SINCE 1.5.0
  160. # SPACE-DELIMITED
  161. git.acceptedPushTransports = HTTP HTTPS SSH
  162. # Allow an authenticated user to create a destination repository on a push if
  163. # the repository does not already exist.
  164. #
  165. # Administrator accounts can create a repository in any project.
  166. # These repositories are created with the default access restriction and authorization
  167. # control values. The pushing account is set as the owner.
  168. #
  169. # Non-administrator accounts with the CREATE role may create personal repositories.
  170. # These repositories are created as VIEW restricted for NAMED users.
  171. # The pushing account is set as the owner.
  172. #
  173. # SINCE 1.2.0
  174. git.allowCreateOnPush = true
  175. # Global setting to control anonymous pushes.
  176. #
  177. # This setting allows/rejects anonymous pushes at the level of the receive pack.
  178. # This trumps all repository config settings. While anonymous pushes are convenient
  179. # on your own box when you are a lone developer, they are not recommended for
  180. # any multi-user installation where accountability is required. Since Gitblit
  181. # tracks pushes and user accounts, allowing anonymous pushes compromises that
  182. # information.
  183. #
  184. # SINCE 1.4.0
  185. git.allowAnonymousPushes = false
  186. # The default access restriction for new repositories.
  187. # Valid values are NONE, PUSH, CLONE, VIEW
  188. # NONE = anonymous view, clone, & push
  189. # PUSH = anonymous view & clone and authenticated push
  190. # CLONE = anonymous view, authenticated clone & push
  191. # VIEW = authenticated view, clone, & push
  192. #
  193. # SINCE 1.0.0
  194. git.defaultAccessRestriction = PUSH
  195. # The default authorization control for new repositories.
  196. # Valid values are AUTHENTICATED and NAMED
  197. # AUTHENTICATED = any authenticated user is granted restricted access
  198. # NAMED = only named users/teams are granted restricted access
  199. #
  200. # SINCE 1.1.0
  201. git.defaultAuthorizationControl = NAMED
  202. # The prefix for a users personal repository directory.
  203. #
  204. # Personal user repositories are created in this directory, named by the user name
  205. # prefixed with the userRepositoryPrefix. For eaxmple, a user 'john' would have his
  206. # personal repositories in the directory '~john'.
  207. #
  208. # Cannot be an empty string. Also, absolute paths are changed to relative paths by
  209. # removing the first directory separator.
  210. #
  211. # It is not recommended to change this value AFTER your user's have created
  212. # personal repositories because it will break all permissions, ownership, and
  213. # repository push/pull operations.
  214. #
  215. # RESTART REQUIRED
  216. # SINCE 1.4.0
  217. git.userRepositoryPrefix = ~
  218. # The default incremental push tag prefix. Tag prefix applied to a repository
  219. # that has automatic push tags enabled and does not specify a custom tag prefix.
  220. #
  221. # If incremental push tags are enabled, the tips of each branch in the push will
  222. # be tagged with an increasing revision integer.
  223. #
  224. # e.g. refs/tags/r2345 or refs/tags/rev_2345
  225. #
  226. # SINCE 1.3.0
  227. git.defaultIncrementalPushTagPrefix = r
  228. # Controls creating a repository as --shared on Unix servers.
  229. #
  230. # In an Unix environment where mixed access methods exist for shared repositories,
  231. # the repository should be created with 'git init --shared' to make sure that
  232. # it can be accessed e.g. via ssh (user git) and http (user www-data).
  233. #
  234. # Valid values are the values available for the '--shared' option. The the manual
  235. # page for 'git init' for more information on shared repositories.
  236. #
  237. # SINCE 1.4.0
  238. git.createRepositoriesShared = false
  239. # Enable JGit-based garbage collection. (!!EXPERIMENTAL!!)
  240. #
  241. # USE AT YOUR OWN RISK!
  242. #
  243. # If enabled, the garbage collection executor scans all repositories once a day
  244. # at the hour of your choosing. The GC executor will take each repository "offline",
  245. # one-at-a-time, to check if the repository satisfies it's GC trigger requirements.
  246. #
  247. # While the repository is offline it will be inaccessible from the web UI or from
  248. # any of the other services (git, rpc, rss, etc).
  249. #
  250. # Gitblit's GC Executor MAY NOT PLAY NICE with the other Git kids on the block,
  251. # especially on Windows systems, so if you are using other tools please coordinate
  252. # their usage with your GC Executor schedule or do not use this feature.
  253. #
  254. # The GC algorithm complex and the JGit team advises caution when using their
  255. # young implementation of GC.
  256. #
  257. # http://wiki.eclipse.org/EGit/New_and_Noteworthy/2.1#Garbage_Collector_and_Repository_Storage_Statistics
  258. #
  259. # EXPERIMENTAL
  260. # SINCE 1.2.0
  261. # RESTART REQUIRED
  262. git.enableGarbageCollection = false
  263. # Hour of the day for the GC Executor to scan repositories.
  264. # This value is in 24-hour time.
  265. #
  266. # SINCE 1.2.0
  267. git.garbageCollectionHour = 0
  268. # The default minimum total filesize of loose objects to trigger early garbage
  269. # collection.
  270. #
  271. # You may specify a custom threshold for a repository in the repository's settings.
  272. # Common unit suffixes of k, m, or g are supported.
  273. #
  274. # SINCE 1.2.0
  275. git.defaultGarbageCollectionThreshold = 500k
  276. # The default period, in days, between GCs for a repository. If the total filesize
  277. # of the loose object exceeds *git.garbageCollectionThreshold* or the repository's
  278. # custom threshold, this period will be short-circuited.
  279. #
  280. # e.g. if a repository collects 100KB of loose objects every day with a 500KB
  281. # threshold and a period of 7 days, it will take 5 days for the loose objects to
  282. # be collected, packed, and pruned.
  283. #
  284. # OR
  285. #
  286. # if a repository collects 10KB of loose objects every day with a 500KB threshold
  287. # and a period of 7 days, it will take the full 7 days for the loose objects to be
  288. # collected, packed, and pruned.
  289. #
  290. # You may specify a custom period for a repository in the repository's settings.
  291. #
  292. # The minimum value is 1 day since the GC Executor only runs once a day.
  293. #
  294. # SINCE 1.2.0
  295. git.defaultGarbageCollectionPeriod = 7
  296. # Gitblit can automatically fetch ref updates for a properly configured mirror
  297. # repository.
  298. #
  299. # Requirements:
  300. # 1. you must manually clone the repository using native git
  301. # git clone --mirror git://somewhere.com/myrepo.git
  302. # 2. the "origin" remote must be the mirror source
  303. # 3. the "origin" repository must be accessible without authentication OR the
  304. # credentials must be embedded in the origin url (not recommended)
  305. #
  306. # Notes:
  307. # 1. "origin" SSH urls are untested and not likely to work
  308. # 2. mirrors cloned while Gitblit is running are likely to require clearing the
  309. # gitblit cache (link on the repositories page of an administrator account)
  310. # 3. Gitblit will automatically repair any invalid fetch refspecs with a "//"
  311. # sequence.
  312. #
  313. # SINCE 1.4.0
  314. # RESTART REQUIRED
  315. git.enableMirroring = false
  316. # Specify the period between update checks for mirrored repositories.
  317. # The shortest period you may specify between mirror update checks is 5 mins.
  318. #
  319. # SINCE 1.4.0
  320. # RESTART REQUIRED
  321. git.mirrorPeriod = 30 mins
  322. # Number of bytes of a pack file to load into memory in a single read operation.
  323. # This is the "page size" of the JGit buffer cache, used for all pack access
  324. # operations. All disk IO occurs as single window reads. Setting this too large
  325. # may cause the process to load more data than is required; setting this too small
  326. # may increase the frequency of read() system calls.
  327. #
  328. # Default on JGit is 8 KiB on all platforms.
  329. #
  330. # Common unit suffixes of k, m, or g are supported.
  331. # Documentation courtesy of the Gerrit project.
  332. #
  333. # SINCE 1.0.0
  334. # RESTART REQUIRED
  335. git.packedGitWindowSize = 8k
  336. # Maximum number of bytes to load and cache in memory from pack files. If JGit
  337. # needs to access more than this many bytes it will unload less frequently used
  338. # windows to reclaim memory space within the process. As this buffer must be shared
  339. # with the rest of the JVM heap, it should be a fraction of the total memory available.
  340. #
  341. # The JGit team recommends setting this value larger than the size of your biggest
  342. # repository. This ensures you can serve most requests from memory.
  343. #
  344. # Default on JGit is 10 MiB on all platforms.
  345. #
  346. # Common unit suffixes of k, m, or g are supported.
  347. # Documentation courtesy of the Gerrit project.
  348. #
  349. # SINCE 1.0.0
  350. # RESTART REQUIRED
  351. git.packedGitLimit = 10m
  352. # Maximum number of bytes to reserve for caching base objects that multiple deltafied
  353. # objects reference. By storing the entire decompressed base object in a cache Git
  354. # is able to avoid unpacking and decompressing frequently used base objects multiple times.
  355. #
  356. # Default on JGit is 10 MiB on all platforms. You probably do not need to adjust
  357. # this value.
  358. #
  359. # Common unit suffixes of k, m, or g are supported.
  360. # Documentation courtesy of the Gerrit project.
  361. #
  362. # SINCE 1.0.0
  363. # RESTART REQUIRED
  364. git.deltaBaseCacheLimit = 10m
  365. # Maximum number of pack files to have open at once. A pack file must be opened
  366. # in order for any of its data to be available in a cached window.
  367. #
  368. # If you increase this to a larger setting you may need to also adjust the ulimit
  369. # on file descriptors for the host JVM, as Gitblit needs additional file descriptors
  370. # available for network sockets and other repository data manipulation.
  371. #
  372. # Default on JGit is 128 file descriptors on all platforms.
  373. # Documentation courtesy of the Gerrit project.
  374. #
  375. # SINCE 1.0.0
  376. # RESTART REQUIRED
  377. git.packedGitOpenFiles = 128
  378. # Largest object size, in bytes, that JGit will allocate as a contiguous byte
  379. # array. Any file revision larger than this threshold will have to be streamed,
  380. # typically requiring the use of temporary files under $GIT_DIR/objects to implement
  381. # psuedo-random access during delta decompression.
  382. #
  383. # Servers with very high traffic should set this to be larger than the size of
  384. # their common big files. For example a server managing the Android platform
  385. # typically has to deal with ~10-12 MiB XML files, so 15 m would be a reasonable
  386. # setting in that environment. Setting this too high may cause the JVM to run out
  387. # of heap space when handling very big binary files, such as device firmware or
  388. # CD-ROM ISO images. Make sure to adjust your JVM heap accordingly.
  389. #
  390. # Default is 50 MiB on all platforms.
  391. #
  392. # Common unit suffixes of k, m, or g are supported.
  393. # Documentation courtesy of the Gerrit project.
  394. #
  395. #
  396. # NOTE: The importance of JGit's streamFileTreshold AND Git's bigFileThreshold
  397. # ISSUE: https://bugs.eclipse.org/bugs/show_bug.cgi?id=394078
  398. #
  399. # "core.bigFileThreshold
  400. #
  401. # Files larger than this size are stored deflated, without
  402. # attempting delta compression. Storing large files without
  403. # delta compression avoids excessive memory usage, at the
  404. # slight expense of increased disk usage.
  405. #
  406. # Default is 512 MiB on all platforms.
  407. # This should be reasonable for most projects as source code and other
  408. # text files can still be delta compressed,
  409. # but larger binary media files won't be."
  410. # -- Git documentation
  411. #
  412. # If streamFileTreshold < bigFileTreshold you _may_ spend alot of time waiting
  413. # for push and/or fetch to complete. It may even look hung.
  414. #
  415. # Until the issue is resolved gracefully, a workaround is to configure
  416. # bigFileThreshold < streamFileTreshold AND then repack the repository.
  417. #
  418. # e.g. from the repository folder with Gitblit NOT running:
  419. # git config core.bigFileTreshold 40m
  420. # git gc --aggressive
  421. #
  422. # SINCE 1.0.0
  423. # RESTART REQUIRED
  424. git.streamFileThreshold = 50m
  425. # When true, JGit will use mmap() rather than malloc()+read() to load data from
  426. # pack files. The use of mmap can be problematic on some JVMs as the garbage
  427. # collector must deduce that a memory mapped segment is no longer in use before
  428. # a call to munmap() can be made by the JVM native code.
  429. #
  430. # In server applications (such as Gitblit) that need to access many pack files,
  431. # setting this to true risks artificially running out of virtual address space,
  432. # as the garbage collector cannot reclaim unused mapped spaces fast enough.
  433. #
  434. # Default on JGit is false. Although potentially slower, it yields much more
  435. # predictable behavior.
  436. # Documentation courtesy of the Gerrit project.
  437. #
  438. # SINCE 1.0.0
  439. # RESTART REQUIRED
  440. git.packedGitMmap = false
  441. # Use the Gitblit patch receive pack for processing contributions and tickets.
  442. # This allows the user to push a patch using the familiar Gerrit syntax:
  443. #
  444. # git push <remote> HEAD:refs/for/<targetBranch>
  445. #
  446. # NOTE:
  447. # This requires git.enableGitServlet = true AND it requires an authenticated
  448. # git transport connection (http/https) when pushing from a client.
  449. #
  450. # Valid services include:
  451. # com.gitblit.tickets.FileTicketService
  452. # com.gitblit.tickets.BranchTicketService
  453. # com.gitblit.tickets.RedisTicketService
  454. #
  455. # SINCE 1.4.0
  456. # RESTART REQUIRED
  457. tickets.service =
  458. # Globally enable or disable creation of new bug, enhancement, task, etc tickets
  459. # for all repositories.
  460. #
  461. # If false, no tickets can be created through the ui for any repositories.
  462. # If true, each repository can control if they allow new tickets to be created.
  463. #
  464. # NOTE:
  465. # If a repository is accepting patchsets, new proposal tickets can be created
  466. # regardless of this setting.
  467. #
  468. # SINCE 1.4.0
  469. tickets.acceptNewTickets = true
  470. # Globally enable or disable pushing patchsets to all repositories.
  471. #
  472. # If false, no patchsets will be accepted for any repositories.
  473. # If true, each repository can control if they accept new patchsets.
  474. #
  475. # NOTE:
  476. # If a repository is accepting patchsets, new proposal tickets can be created
  477. # regardless of the acceptNewTickets setting.
  478. #
  479. # SINCE 1.4.0
  480. tickets.acceptNewPatchsets = true
  481. # Default setting to control patchset merge through the web ui. If true, patchsets
  482. # must have an approval score to enable the merge button. This setting can be
  483. # overriden per-repository.
  484. #
  485. # SINCE 1.4.0
  486. tickets.requireApproval = false
  487. # The case-insensitive regular expression used to identify and close tickets on
  488. # push to the integration branch for commits that are NOT already referenced as
  489. # a patchset tip.
  490. #
  491. # SINCE 1.5.0
  492. tickets.closeOnPushCommitMessageRegex = (?:fixes|closes)[\\s-]+#?(\\d+)
  493. # Specify the location of the Lucene Ticket index
  494. #
  495. # SINCE 1.4.0
  496. # RESTART REQUIRED
  497. tickets.indexFolder = ${baseFolder}/tickets/lucene
  498. # Define the url for the Redis server.
  499. #
  500. # e.g. redis://localhost:6379
  501. # redis://:foobared@localhost:6379/2
  502. #
  503. # SINCE 1.4.0
  504. # RESTART REQUIRED
  505. tickets.redis.url =
  506. # The number of tickets to display on a page.
  507. #
  508. # SINCE 1.4.0
  509. tickets.perPage = 25
  510. # The folder where plugins are loaded from.
  511. #
  512. # SINCE 1.5.0
  513. # RESTART REQUIRED
  514. # BASEFOLDER
  515. plugins.folder = ${baseFolder}/plugins
  516. # The registry of available plugins.
  517. #
  518. # SINCE 1.5.0
  519. plugins.registry = http://gitblit.github.io/gitblit-registry/plugins.json
  520. #
  521. # Groovy Integration
  522. #
  523. # Location of Groovy scripts to use for Pre and Post receive hooks.
  524. # Use forward slashes even on Windows!!
  525. # e.g. c:/groovy
  526. #
  527. # RESTART REQUIRED
  528. # SINCE 0.8.0
  529. # BASEFOLDER
  530. groovy.scriptsFolder = ${baseFolder}/groovy
  531. # Specify the directory Grape uses for downloading libraries.
  532. # http://groovy.codehaus.org/Grape
  533. #
  534. # RESTART REQUIRED
  535. # SINCE 1.0.0
  536. # BASEFOLDER
  537. groovy.grapeFolder = ${baseFolder}/groovy/grape
  538. # Scripts to execute on Pre-Receive.
  539. #
  540. # These scripts execute after an incoming push has been parsed and validated
  541. # but BEFORE the changes are applied to the repository. You might reject a
  542. # push in this script based on the repository and branch the push is attempting
  543. # to change.
  544. #
  545. # Script names are case-sensitive on case-sensitive file systems. You may omit
  546. # the traditional ".groovy" from this list if your file extension is ".groovy"
  547. #
  548. # NOTE:
  549. # These scripts are only executed when pushing to *Gitblit*, not to other Git
  550. # tooling you may be using. Also note that these scripts are shared between
  551. # repositories. These are NOT repository-specific scripts! Within the script
  552. # you may customize the control-flow for a specific repository by checking the
  553. # *repository* variable.
  554. #
  555. # SPACE-DELIMITED
  556. # CASE-SENSITIVE
  557. # SINCE 0.8.0
  558. groovy.preReceiveScripts =
  559. # Scripts to execute on Post-Receive.
  560. #
  561. # These scripts execute AFTER an incoming push has been applied to a repository.
  562. # You might trigger a continuous-integration build here or send a notification.
  563. #
  564. # Script names are case-sensitive on case-sensitive file systems. You may omit
  565. # the traditional ".groovy" from this list if your file extension is ".groovy"
  566. #
  567. # NOTE:
  568. # These scripts are only executed when pushing to *Gitblit*, not to other Git
  569. # tooling you may be using. Also note that these scripts are shared between
  570. # repositories. These are NOT repository-specific scripts! Within the script
  571. # you may customize the control-flow for a specific repository by checking the
  572. # *repository* variable.
  573. #
  574. # SPACE-DELIMITED
  575. # CASE-SENSITIVE
  576. # SINCE 0.8.0
  577. groovy.postReceiveScripts =
  578. # Repository custom fields for Groovy Hook mechanism
  579. #
  580. # List of key=label pairs of custom fields to prompt for in the Edit Repository
  581. # page. These keys are stored in the repository's git config file in the
  582. # section [gitblit "customFields"]. Key names are alphanumeric only. These
  583. # fields are intended to be used for the Groovy hook mechanism where a script
  584. # can adjust it's execution based on the custom fields stored in the repository
  585. # config.
  586. #
  587. # e.g. "commitMsgRegex=Commit Message Regular Expression" anotherProperty=Another
  588. #
  589. # SPACE-DELIMITED
  590. # SINCE 1.0.0
  591. groovy.customFields =
  592. #
  593. # Fanout Settings
  594. #
  595. # Fanout is a PubSub notification service that can be used by Sparkleshare
  596. # to eliminate repository change polling. The fanout service runs in a separate
  597. # thread on a separate port from the Gitblit http/https application.
  598. # This service is provided so that Sparkleshare may be used with Gitblit in
  599. # firewalled environments or where reliance on Sparkleshare's default notifications
  600. # server (notifications.sparkleshare.org) is unwanted.
  601. #
  602. # This service maintains an open socket connection from the client to the
  603. # Fanout PubSub service. This service may not work properly behind a proxy server.
  604. # Specify the interface for Fanout to bind it's service.
  605. # You may specify an ip or an empty value to bind to all interfaces.
  606. # Specifying localhost will result in Gitblit ONLY listening to requests to
  607. # localhost.
  608. #
  609. # SINCE 1.2.1
  610. # RESTART REQUIRED
  611. fanout.bindInterface =
  612. # port for serving the Fanout PubSub service. <= 0 disables this service.
  613. # On Unix/Linux systems, ports < 1024 require root permissions.
  614. # Recommended value: 17000
  615. #
  616. # SINCE 1.2.1
  617. # RESTART REQUIRED
  618. fanout.port = 0
  619. # Use Fanout NIO service. If false, a multi-threaded socket service will be used.
  620. # Be advised, the socket implementation spawns a thread per connection plus the
  621. # connection acceptor thread. The NIO implementation is completely single-threaded.
  622. #
  623. # SINCE 1.2.1
  624. # RESTART REQUIRED
  625. fanout.useNio = true
  626. # Concurrent connection limit. <= 0 disables concurrent connection throttling.
  627. # If > 0, only the specified number of concurrent connections will be allowed
  628. # and all other connections will be rejected.
  629. #
  630. # SINCE 1.2.1
  631. # RESTART REQUIRED
  632. fanout.connectionLimit = 0
  633. #
  634. # Authentication Settings
  635. #
  636. # Require authentication to see everything but the admin pages
  637. #
  638. # SINCE 0.5.0
  639. # RESTART REQUIRED
  640. web.authenticateViewPages = false
  641. # If web.authenticateViewPages=true you may optionally require a client-side
  642. # basic authentication prompt instead of the standard form-based login.
  643. #
  644. # SINCE 1.3.0
  645. web.enforceHttpBasicAuthentication = false
  646. # Require admin authentication for the admin functions and pages
  647. #
  648. # SINCE 0.5.0
  649. # RESTART REQUIRED
  650. web.authenticateAdminPages = true
  651. # Allow Gitblit to store a cookie in the user's browser for automatic
  652. # authentication. The cookie is generated by the user service.
  653. #
  654. # SINCE 0.5.0
  655. web.allowCookieAuthentication = true
  656. # Config file for storing project metadata
  657. #
  658. # SINCE 1.2.0
  659. # BASEFOLDER
  660. web.projectsFile = ${baseFolder}/projects.conf
  661. # Either the full path to a user config file (users.conf)
  662. # OR a fully qualified class name that implements the IUserService interface.
  663. #
  664. # Any custom user service implementation must have a public default constructor.
  665. #
  666. # SINCE 0.5.0
  667. # RESTART REQUIRED
  668. # BASEFOLDER
  669. realm.userService = ${baseFolder}/users.conf
  670. # Ordered list of external authentication providers which will be used if
  671. # authentication against the local user service fails.
  672. #
  673. # Valid providers are:
  674. #
  675. # htpasswd
  676. # ldap
  677. # pam
  678. # redmine
  679. # salesforce
  680. # windows
  681. # e.g. realm.authenticationProviders = htpasswd windows
  682. #
  683. # SINCE 1.4.0
  684. # RESTART REQUIRED
  685. # SPACE-DELIMITED
  686. realm.authenticationProviders =
  687. # How to store passwords.
  688. # Valid values are plain, md5, or combined-md5. md5 is the hash of password.
  689. # combined-md5 is the hash of username.toLowerCase()+password.
  690. # Default is md5.
  691. #
  692. # SINCE 0.5.0
  693. realm.passwordStorage = md5
  694. # Minimum valid length for a plain text password.
  695. # Default value is 5. Absolute minimum is 4.
  696. #
  697. # SINCE 0.5.0
  698. realm.minPasswordLength = 5
  699. #
  700. # Gitblit Web Settings
  701. #
  702. # If blank Gitblit is displayed.
  703. #
  704. # SINCE 0.5.0
  705. web.siteName =
  706. # The canonical url of your Gitblit server to bs used in email notifications.
  707. # e.g. web.canonicalUrl = https://demo-gitblit.rhcloud.com
  708. #
  709. # SINCE 1.4.0
  710. web.canonicalUrl =
  711. # You may specify a different logo image for the header but it must be 120x45px.
  712. # If the specified file does not exist, the default Gitblit logo will be used.
  713. #
  714. # SINCE 1.3.0
  715. # BASEFOLDER
  716. web.headerLogo = ${baseFolder}/logo.png
  717. # You may specify a different link URL for the logo image anchor.
  718. # If blank the Gitblit main page URL is used.
  719. #
  720. # SINCE 1.3.0
  721. # BASEFOLDER
  722. web.rootLink =
  723. # You may specify a custom header background CSS color. If unspecified, the
  724. # default color will be used.
  725. #
  726. # e.g. web.headerBackgroundColor = #002060
  727. #
  728. # SINCE 1.3.0
  729. web.headerBackgroundColor =
  730. # You may specify a custom header foreground CSS color. If unspecified, the
  731. # default color will be used.
  732. #
  733. # e.g. web.headerForegroundColor = white
  734. #
  735. # SINCE 1.3.0
  736. web.headerForegroundColor =
  737. # You may specify a custom header foreground hover CSS color. If unspecified, the
  738. # default color will be used.
  739. #
  740. # e.g. web.headerHoverColor = white
  741. #
  742. # SINCE 1.3.0
  743. web.headerHoverColor =
  744. # You may specify a custom header border CSS color. If unspecified, the default
  745. # color will be used.
  746. #
  747. # e.g. web.headerBorderColor = #002060
  748. #
  749. # SINCE 1.3.0
  750. web.headerBorderColor =
  751. # You may specify a custom header border CSS color. If unspecified, the default
  752. # color will be used.
  753. #
  754. # e.g. web.headerBorderFocusColor = #ff9900
  755. #
  756. # SINCE 1.3.0
  757. web.headerBorderFocusColor =
  758. # If *web.authenticateAdminPages*=true, users with "admin" role can create
  759. # repositories, create users, and edit repository metadata.
  760. #
  761. # If *web.authenticateAdminPages*=false, any user can execute the aforementioned
  762. # functions.
  763. #
  764. # SINCE 0.5.0
  765. web.allowAdministration = true
  766. # Setting to disable rendering the top-level navigation header which includes
  767. # the login form, top-level links like dashboard, repositories, search, etc.
  768. # This setting is only useful if you plan to embed Gitblit within another page
  769. # or system.
  770. #
  771. # SINCE 1.4.0
  772. web.hideHeader = false
  773. # Allows rpc clients to list repositories and possibly manage or administer the
  774. # Gitblit server, if the authenticated account has administrator permissions.
  775. # See *web.enableRpcManagement* and *web.enableRpcAdministration*.
  776. #
  777. # SINCE 0.7.0
  778. web.enableRpcServlet = true
  779. # Allows rpc clients to manage repositories and users of the Gitblit instance,
  780. # if the authenticated account has administrator permissions.
  781. # Requires *web.enableRpcServlet=true*.
  782. #
  783. # SINCE 0.7.0
  784. web.enableRpcManagement = false
  785. # Allows rpc clients to control the server settings and monitor the health of this
  786. # this Gitblit instance, if the authenticated account has administrator permissions.
  787. # Requires *web.enableRpcServlet=true* and *web.enableRpcManagement*.
  788. #
  789. # SINCE 0.7.0
  790. web.enableRpcAdministration = false
  791. # Full path to a configurable robots.txt file. With this file you can control
  792. # what parts of your Gitblit server respectable robots are allowed to traverse.
  793. # http://googlewebmastercentral.blogspot.com/2008/06/improving-on-robots-exclusion-protocol.html
  794. #
  795. # SINCE 1.0.0
  796. # BASEFOLDER
  797. web.robots.txt = ${baseFolder}/robots.txt
  798. # The number of minutes to cache a page in the browser since the last request.
  799. # The default value is 0 minutes. A value <= 0 disables all page caching which
  800. # is the default behavior for Gitblit <= 1.3.0.
  801. #
  802. # SINCE 1.3.1
  803. web.pageCacheExpires = 0
  804. # If true, the web ui layout will respond and adapt to the browser's dimensions.
  805. # if false, the web ui will use a 940px fixed-width layout.
  806. # http://twitter.github.com/bootstrap/scaffolding.html#responsive
  807. #
  808. # SINCE 1.0.0
  809. web.useResponsiveLayout = true
  810. # Allow Gravatar images to be displayed in Gitblit pages.
  811. #
  812. # SINCE 0.8.0
  813. web.allowGravatar = true
  814. # Allow dynamic zip downloads.
  815. #
  816. # SINCE 0.5.0
  817. web.allowZipDownloads = true
  818. # If *web.allowZipDownloads=true* the following formats will be displayed for
  819. # download compressed archive links:
  820. #
  821. # zip = standard .zip
  822. # tar = standard tar format (preserves *nix permissions and symlinks)
  823. # gz = gz-compressed tar
  824. # xz = xz-compressed tar
  825. # bzip2 = bzip2-compressed tar
  826. #
  827. # SPACE-DELIMITED
  828. # SINCE 1.2.0
  829. web.compressedDownloads = zip gz
  830. # Allow optional Lucene integration. Lucene indexing is an opt-in feature.
  831. # A repository may specify branches to index with Lucene instead of using Git
  832. # commit traversal. There are scenarios where you may want to completely disable
  833. # Lucene indexing despite a repository specifying indexed branches. One such
  834. # scenario is on a resource-constrained federated Gitblit mirror.
  835. #
  836. # SINCE 0.9.0
  837. web.allowLuceneIndexing = true
  838. # Allows an authenticated user to create forks of a repository
  839. #
  840. # set this to false if you want to disable all fork controls on the web site
  841. #
  842. web.allowForking = true
  843. # Controls the length of shortened commit hash ids
  844. #
  845. # SINCE 1.2.0
  846. web.shortCommitIdLength = 6
  847. # Use Clippy (Flash solution) to provide a copy-to-clipboard button.
  848. # If false, a button with a more primitive JavaScript-based prompt box will
  849. # offer a 3-step (click, ctrl+c, enter) copy-to-clipboard alternative.
  850. #
  851. # SINCE 0.8.0
  852. web.allowFlashCopyToClipboard = true
  853. # Default maximum number of commits that a repository may contribute to the
  854. # activity page, regardless of the selected duration. This setting may be valuable
  855. # for an extremely busy server. This value may also be configed per-repository
  856. # in Edit Repository. 0 disables this throttle.
  857. #
  858. # SINCE 1.2.0
  859. web.maxActivityCommits = 0
  860. # Default number of entries to include in RSS Syndication links
  861. #
  862. # SINCE 0.5.0
  863. web.syndicationEntries = 25
  864. # Show the size of each repository on the repositories page.
  865. # This requires recursive traversal of each repository folder. This may be
  866. # non-performant on some operating systems and/or filesystems.
  867. #
  868. # SINCE 0.5.2
  869. web.showRepositorySizes = true
  870. # List of custom regex expressions that can be displayed in the Filters menu
  871. # of the Repositories and Activity pages. Keep them very simple because you
  872. # are likely to run into encoding issues if they are too complex.
  873. #
  874. # Use !!! to separate the filters
  875. #
  876. # SINCE 0.8.0
  877. web.customFilters =
  878. # Show federation registrations (without token) and the current pull status
  879. # to non-administrator users.
  880. #
  881. # SINCE 0.6.0
  882. web.showFederationRegistrations = false
  883. # This is the message displayed when *web.authenticateViewPages=true*.
  884. # This can point to a file with Markdown content.
  885. # Specifying "gitblit" uses the internal login message.
  886. #
  887. # SINCE 0.7.0
  888. # BASEFOLDER
  889. web.loginMessage = gitblit
  890. # This is the message displayed above the repositories table.
  891. # This can point to a file with Markdown content.
  892. # Specifying "gitblit" uses the internal welcome message.
  893. #
  894. # SINCE 0.5.0
  895. # BASEFOLDER
  896. web.repositoriesMessage = gitblit
  897. # Ordered list of charsets/encodings to use when trying to display a blob.
  898. # If empty, UTF-8 and ISO-8859-1 are used. The server's default charset
  899. # is always appended to the encoding list. If all encodings fail to cleanly
  900. # decode the blob content, UTF-8 will be used with the standard malformed
  901. # input/unmappable character replacement strings.
  902. #
  903. # SPACE-DELIMITED
  904. # SINCE 1.0.0
  905. web.blobEncodings = UTF-8 ISO-8859-1
  906. # Manually set the default timezone to be used by Gitblit for display in the
  907. # web ui. This value is independent of the JVM timezone. Specifying a blank
  908. # value will default to the JVM timezone.
  909. # e.g. America/New_York, US/Pacific, UTC, Europe/Berlin
  910. #
  911. # SINCE 0.9.0
  912. # RESTART REQUIRED
  913. web.timezone =
  914. # Use the client timezone when formatting dates.
  915. # This uses AJAX to determine the browser's timezone and may require more
  916. # server overhead because a Wicket session is created. All Gitblit pages
  917. # attempt to be stateless, if possible.
  918. #
  919. # SINCE 0.5.0
  920. # RESTART REQUIRED
  921. web.useClientTimezone = false
  922. # Time format
  923. # <http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html>
  924. #
  925. # SINCE 0.8.0
  926. web.timeFormat = HH:mm
  927. # Short date format
  928. # <http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html>
  929. #
  930. # SINCE 0.5.0
  931. web.datestampShortFormat = yyyy-MM-dd
  932. # Long date format
  933. #
  934. # SINCE 0.8.0
  935. web.datestampLongFormat = EEEE, MMMM d, yyyy
  936. # Long timestamp format
  937. # <http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html>
  938. #
  939. # SINCE 0.5.0
  940. web.datetimestampLongFormat = EEEE, MMMM d, yyyy HH:mm Z
  941. # Mount URL parameters
  942. # This setting controls if pretty or parameter URLs are used.
  943. # i.e.
  944. # if true:
  945. # http://localhost/commit/myrepo/abcdef
  946. # if false:
  947. # http://localhost/commit/?r=myrepo&h=abcdef
  948. #
  949. # SINCE 0.5.0
  950. # RESTART REQUIRED
  951. web.mountParameters = true
  952. # Some servlet containers (e.g. Tomcat >= 6.0.10) disallow '/' (%2F) encoding
  953. # in URLs as a security precaution for proxies. This setting tells Gitblit
  954. # to preemptively replace '/' with '*' or '!' for url string parameters.
  955. #
  956. # <https://issues.apache.org/jira/browse/WICKET-1303>
  957. # <http://tomcat.apache.org/security-6.html#Fixed_in_Apache_Tomcat_6.0.10>
  958. # Add *-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true* to your
  959. # *CATALINA_OPTS* or to your JVM launch parameters
  960. #
  961. # SINCE 0.5.2
  962. web.forwardSlashCharacter = /
  963. # Show other URLs on the summary page for accessing your git repositories
  964. # Use spaces to separate urls.
  965. #
  966. # {0} is the token for the repository name
  967. # {1} is the token for the username
  968. #
  969. # The username is only practical if you have setup your other git serving
  970. # solutions accounts to have the same username as the Gitblit account.
  971. #
  972. # e.g.
  973. # web.otherUrls = ssh://localhost/git/{0} git://localhost/git/{0} https://{1}@localhost/r/{0}
  974. #
  975. # SPACE-DELIMITED
  976. # SINCE 0.5.0
  977. web.otherUrls =
  978. # Should app-specific clone links be displayed for SourceTree, SparkleShare, etc?
  979. #
  980. # SINCE 1.3.0
  981. web.allowAppCloneLinks = true
  982. # Choose how to present the repositories list.
  983. # grouped = group nested/subfolder repositories together (no sorting)
  984. # flat = flat list of repositories (sorting allowed)
  985. #
  986. # SINCE 0.5.0
  987. web.repositoryListType = grouped
  988. # If using a grouped repository list and there are repositories at the
  989. # root level of your repositories folder, you may specify the displayed
  990. # group name with this setting. This value is only used for web presentation.
  991. #
  992. # SINCE 0.5.0
  993. web.repositoryRootGroupName = main
  994. # Display the repository swatch color next to the repository name link in the
  995. # repositories list.
  996. #
  997. # SINCE 0.8.0
  998. web.repositoryListSwatches = true
  999. # Defines the default commit message renderer. This can be configured
  1000. # per-repository.
  1001. #
  1002. # Valid values are: plain, markdown
  1003. #
  1004. # SINCE 1.4.0
  1005. web.commitMessageRenderer = plain
  1006. # Control if email addresses are shown in web ui
  1007. #
  1008. # SINCE 0.5.0
  1009. web.showEmailAddresses = true
  1010. # Shows a combobox in the page links header with commit, committer, and author
  1011. # search selection. Default search is commit.
  1012. #
  1013. # SINCE 0.5.0
  1014. web.showSearchTypeSelection = false
  1015. # Controls display of activity graphs on the dashboard, activity, and summary
  1016. # pages. Charting makes use of the external Google Charts API.
  1017. #
  1018. # SINCE 0.5.0
  1019. web.generateActivityGraph = true
  1020. # Displays the commits branch graph in the summary page and commits/log page.
  1021. #
  1022. # SINCE 1.4.0
  1023. web.showBranchGraph = true
  1024. # The default number of days to show on the activity page.
  1025. # Value must exceed 0 else default of 7 is used
  1026. #
  1027. # SINCE 0.8.0
  1028. web.activityDuration = 7
  1029. # Choices for days of activity to display.
  1030. #
  1031. # SPACE-DELIMITED
  1032. # SINCE 1.3.0
  1033. web.activityDurationChoices = 1 3 7 14 21 28
  1034. # Maximum number of days of activity that may be displayed on the activity page.
  1035. #
  1036. # SINCE 1.3.2
  1037. web.activityDurationMaximum = 30
  1038. # The number of days of commits to cache in memory for the dashboard, activity,
  1039. # and project pages. A value of 0 will disable all caching and will parse commits
  1040. # in each repository per-request. If the value > 0 these pages will try to fulfill
  1041. # requests using the commit cache. If the request specifies a period which falls
  1042. # outside the commit cache window, then the cache will be ignored and the request
  1043. # will be fulfilled by brute-force parsing all relevant commits per-repository.
  1044. #
  1045. # Consider the values specified for *web.activityDurationChoices* when setting
  1046. # the cache size AND consider adjusting the JVM -Xmx heap parameter appropriately.
  1047. #
  1048. # SINCE 1.3.0
  1049. # RESTART REQUIRED
  1050. web.activityCacheDays = 14
  1051. # Case-insensitive list of authors to exclude from metrics. Useful for
  1052. # eliminating bots.
  1053. #
  1054. # SPACE-DELIMITED
  1055. # SINCE 1.3.0
  1056. web.metricAuthorExclusions =
  1057. # The number of commits to display on the summary page
  1058. # Value must exceed 0 else default of 20 is used
  1059. #
  1060. # SINCE 0.5.0
  1061. web.summaryCommitCount = 16
  1062. # The number of tags/branches to display on the summary page.
  1063. # -1 = all tags/branches
  1064. # 0 = hide tags/branches
  1065. # N = N tags/branches
  1066. #
  1067. # SINCE 0.5.0
  1068. web.summaryRefsCount = 5
  1069. # Show a README file, if available, on the summary page.
  1070. #
  1071. # SINCE 1.4.0
  1072. web.summaryShowReadme = false
  1073. # The number of items to show on a page before showing the first, prev, next
  1074. # pagination links. A default of 50 is used for any invalid value.
  1075. #
  1076. # SINCE 0.5.0
  1077. web.itemsPerPage = 50
  1078. # The number of reflog changes to display on the overview page
  1079. # Value must exceed 0 else default of 5 is used
  1080. #
  1081. # SINCE 1.3.0
  1082. web.overviewReflogCount = 5
  1083. # The number of reflog changes to show on a reflog page before show the first,
  1084. # prev, next pagination links. A default of 10 is used for any invalid value.
  1085. #
  1086. # SINCE 1.3.0
  1087. web.reflogChangesPerPage = 10
  1088. # Specify the names of documents in the root of your repository to be displayed
  1089. # in tabs on your repository docs page. If the name is not found in the root
  1090. # then no tab is added. The order specified is the order displayed. Do not
  1091. # specify a file extension as the aggregation of markup extensions + txt are used
  1092. # in the search algorithm.
  1093. #
  1094. # SPACE-DELIMITED
  1095. # SINCE 1.4.0
  1096. web.documents = readme home index changelog contributing submitting_patches copying license notice authors
  1097. # Registered file extensions to ignore during Lucene indexing
  1098. #
  1099. # SPACE-DELIMITED
  1100. # SINCE 0.9.0
  1101. web.luceneIgnoreExtensions = 7z arc arj bin bmp dll doc docx exe gif gz jar jpg lib lzh odg odf odt pdf ppt pptx png so swf tar xcf xls xlsx zip
  1102. # Registered extensions for google-code-prettify
  1103. #
  1104. # SPACE-DELIMITED
  1105. # SINCE 0.5.0
  1106. web.prettyPrintExtensions = aea agc basic c cbm cl clj cpp cs css dart el erl erlang frm fs go groovy hs htm html java js latex lisp ll llvm lsp lua ml moxie mumps n nemerle pascal php pl prefs properties proto py r R rb rd Rd rkt s S scala scm sh Splus sql ss tcl tex vb vbs vhd vhdl wiki xml xq xquery yaml yml ymlapollo
  1107. # Registered extensions for markdown transformation
  1108. #
  1109. # SPACE-DELIMITED
  1110. # CASE-SENSITIVE
  1111. # SINCE 0.5.0
  1112. web.markdownExtensions = md mkd markdown MD MKD
  1113. # Registered extensions for mediawiki transformation
  1114. #
  1115. # SPACE-DELIMITED
  1116. # CASE-SENSITIVE
  1117. # SINCE 1.4.0
  1118. web.mediawikiExtensions = mw mediawiki
  1119. # Registered extensions for twiki transformation
  1120. #
  1121. # SPACE-DELIMITED
  1122. # CASE-SENSITIVE
  1123. # SINCE 1.4.0
  1124. web.twikiExtensions = twiki
  1125. # Registered extensions for textile transformation
  1126. #
  1127. # SPACE-DELIMITED
  1128. # CASE-SENSITIVE
  1129. # SINCE 1.4.0
  1130. web.textileExtensions = textile
  1131. # Registered extensions for confluence transformation
  1132. #
  1133. # SPACE-DELIMITED
  1134. # CASE-SENSITIVE
  1135. # SINCE 1.4.0
  1136. web.confluenceExtensions = confluence
  1137. # Registered extensions for tracwiki transformation
  1138. #
  1139. # SPACE-DELIMITED
  1140. # CASE-SENSITIVE
  1141. # SINCE 1.4.0
  1142. web.tracwikiExtensions = tracwiki
  1143. # Image extensions
  1144. #
  1145. # SPACE-DELIMITED
  1146. # SINCE 0.5.0
  1147. web.imageExtensions = bmp jpg gif png
  1148. # Registered extensions for binary blobs
  1149. #
  1150. # SPACE-DELIMITED
  1151. # SINCE 0.5.0
  1152. web.binaryExtensions = 7z arc arj bin dll doc docx exe gz jar lib lzh odg odf odt pdf ppt pptx so tar xls xlsx zip
  1153. # Aggressive heap management will run the garbage collector on every generated
  1154. # page. This slows down page generation a little but improves heap consumption.
  1155. #
  1156. # SINCE 0.5.0
  1157. web.aggressiveHeapManagement = false
  1158. # Run the webapp in debug mode
  1159. #
  1160. # SINCE 0.5.0
  1161. # RESTART REQUIRED
  1162. web.debugMode = false
  1163. # Force a default locale for all users, ignoring the browser's settings.
  1164. # An empty value allows Gitblit to use the translation preferred by the browser.
  1165. #
  1166. # Changing this value while the server is running will only affect new sessions.
  1167. #
  1168. # e.g. web.forceDefaultLocale = en
  1169. #
  1170. # SINCE 1.3.0
  1171. web.forceDefaultLocale =
  1172. # Enable/disable global regex substitutions (i.e. shared across repositories)
  1173. #
  1174. # SINCE 0.5.0
  1175. # DEPRECATED 1.4.0 (migrate to bugtraq instead)
  1176. regex.global = true
  1177. # Example global regex substitutions
  1178. # Use !!! to separate the search pattern and the replace pattern
  1179. # searchpattern!!!replacepattern
  1180. # SINCE 0.5.0
  1181. # regex.global.bug = \\b(Bug:)(\\s*[#]?|-){0,1}(\\d+)\\b!!!Bug: <a href="http://somehost/bug/$3">$3</a>
  1182. # SINCE 0.5.0
  1183. # Example Gerrit links
  1184. # regex.global.changeid = \\b(Change-Id:\\s*)([A-Za-z0-9]*)\\b!!!Change-Id: <a href="http://somehost/r/#q,$2,n,z">$2</a>
  1185. # regex.global.reviewedon = \\b(Reviewed-on:\\s*)([A-Za-z0-9:/\\.]*)\\b!!!Reviewed-on: <a href="$2">$2</a>
  1186. # Example per-repository regex substitutions overrides global
  1187. # SINCE 0.5.0
  1188. # regex.myrepository.bug = \\b(Bug:)(\\s*[#]?|-){0,1}(\\d+)\\b!!!Bug: <a href="http://elsewhere/bug/$3">$3</a>
  1189. #
  1190. # Mail Settings
  1191. # SINCE 0.6.0
  1192. #
  1193. # Mail settings are used to notify administrators of received federation proposals
  1194. #
  1195. # ip or hostname of smtp server
  1196. #
  1197. # SINCE 0.6.0
  1198. mail.server =
  1199. # port to use for smtp requests
  1200. #
  1201. # SINCE 0.6.0
  1202. mail.port = 25
  1203. # debug the mail executor
  1204. #
  1205. # SINCE 0.6.0
  1206. mail.debug = false
  1207. # use SMTPs flag
  1208. mail.smtps = false
  1209. # if your smtp server requires authentication, supply the credentials here
  1210. #
  1211. # SINCE 0.6.0
  1212. mail.username =
  1213. # SINCE 0.6.0
  1214. mail.password =
  1215. # from address for generated emails
  1216. #
  1217. # SINCE 0.6.0
  1218. mail.fromAddress =
  1219. # List of email addresses for the Gitblit administrators
  1220. #
  1221. # SPACE-DELIMITED
  1222. # SINCE 0.6.0
  1223. mail.adminAddresses =
  1224. # List of email addresses for sending push email notifications.
  1225. #
  1226. # This key currently requires use of the sendemail.groovy hook script.
  1227. # If you set sendemail.groovy in *groovy.postReceiveScripts* then email
  1228. # notifications for all repositories (regardless of access restrictions!)
  1229. # will be sent to these addresses.
  1230. #
  1231. # SPACE-DELIMITED
  1232. # SINCE 0.8.0
  1233. mail.mailingLists =
  1234. #
  1235. # Federation Settings
  1236. # SINCE 0.6.0
  1237. #
  1238. # A Gitblit federation is a way to backup one Gitblit instance to another.
  1239. #
  1240. # *git.enableGitServlet* must be true to use this feature.
  1241. # Your federation name is used for federation status acknowledgments. If it is
  1242. # unset, and you elect to send a status acknowledgment, your Gitblit instance
  1243. # will be identified by its hostname, if available, else your internal ip address.
  1244. # The source Gitblit instance will also append your external IP address to your
  1245. # identification to differentiate multiple pulling systems behind a single proxy.
  1246. #
  1247. # SINCE 0.6.0
  1248. federation.name =
  1249. # Specify the passphrase of this Gitblit instance.
  1250. #
  1251. # An unspecified (empty) passphrase disables processing federation requests.
  1252. #
  1253. # This value can be anything you want: an integer, a sentence, an haiku, etc.
  1254. # Keep the value simple, though, to avoid Java properties file encoding issues.
  1255. #
  1256. # Changing your passphrase will break any registrations you have established with other
  1257. # Gitblit instances.
  1258. #
  1259. # CASE-SENSITIVE
  1260. # SINCE 0.6.0
  1261. # RESTART REQUIRED *(only to enable or disable federation)*
  1262. federation.passphrase =
  1263. # Control whether or not this Gitblit instance can receive federation proposals
  1264. # from another Gitblit instance. Registering a federated Gitblit is a manual
  1265. # process. Proposals help to simplify that process by allowing a remote Gitblit
  1266. # instance to send your Gitblit instance the federation pull data.
  1267. #
  1268. # SINCE 0.6.0
  1269. federation.allowProposals = false
  1270. # The destination folder for cached federation proposals.
  1271. # Use forward slashes even on Windows!!
  1272. #
  1273. # SINCE 0.6.0
  1274. # BASEFOLDER
  1275. federation.proposalsFolder = ${baseFolder}/proposals
  1276. # The default pull frequency if frequency is unspecified on a registration
  1277. #
  1278. # SINCE 0.6.0
  1279. federation.defaultFrequency = 60 mins
  1280. # Federation Sets are named groups of repositories. The Federation Sets are
  1281. # available for selection in the repository settings page. You can assign a
  1282. # repository to one or more sets and then distribute the token for the set.
  1283. # This allows you to grant federation pull access to a subset of your available
  1284. # repositories. Tokens for federation sets only grant repository pull access.
  1285. #
  1286. # SPACE-DELIMITED
  1287. # CASE-SENSITIVE
  1288. # SINCE 0.6.0
  1289. federation.sets =
  1290. # Federation pull registrations
  1291. # Registrations are read once, at startup.
  1292. #
  1293. # RESTART REQUIRED
  1294. #
  1295. # frequency:
  1296. # The shortest frequency allowed is every 5 minutes
  1297. # Decimal frequency values are cast to integers
  1298. # Frequency values may be specified in mins, hours, or days
  1299. # Values that can not be parsed or are unspecified default to *federation.defaultFrequency*
  1300. #
  1301. # folder:
  1302. # if unspecified, the folder is *git.repositoriesFolder*
  1303. # if specified, the folder is relative to *git.repositoriesFolder*
  1304. #
  1305. # bare:
  1306. # if true, each repository will be created as a *bare* repository and will not
  1307. # have a working directory.
  1308. #
  1309. # if false, each repository will be created as a normal repository suitable
  1310. # for local work.
  1311. #
  1312. # mirror:
  1313. # if true, each repository HEAD is reset to *origin/master* after each pull.
  1314. # The repository will be flagged *isFrozen* after the initial clone.
  1315. #
  1316. # if false, each repository HEAD will point to the FETCH_HEAD of the initial
  1317. # clone from the origin until pushed to or otherwise manipulated.
  1318. #
  1319. # mergeAccounts:
  1320. # if true, remote accounts and their permissions are merged into your
  1321. # users.properties file
  1322. #
  1323. # notifyOnError:
  1324. # if true and the mail configuration is properly set, administrators will be
  1325. # notified by email of pull failures
  1326. #
  1327. # include and exclude:
  1328. # Space-delimited list of repositories to include or exclude from pull
  1329. # may be * wildcard to include or exclude all
  1330. # may use fuzzy match (e.g. org.eclipse.*)
  1331. #
  1332. # (Nearly) Perfect Mirror example
  1333. #
  1334. #federation.example1.url = https://go.gitblit.com
  1335. #federation.example1.token = 6f3b8a24bf970f17289b234284c94f43eb42f0e4
  1336. #federation.example1.frequency = 120 mins
  1337. #federation.example1.folder =
  1338. #federation.example1.bare = true
  1339. #federation.example1.mirror = true
  1340. #federation.example1.mergeAccounts = true
  1341. #
  1342. # Advanced Realm Settings
  1343. #
  1344. # Auto-creates user accounts based on the servlet container principal. This
  1345. # assumes that your Gitblit install is a protected resource and your container's
  1346. # authentication process intercepts all Gitblit requests.
  1347. #
  1348. # SINCE 1.3.0
  1349. realm.container.autoCreateAccounts = false
  1350. # Allow or prohibit Windows guest account logins
  1351. #
  1352. # SINCE 1.3.0
  1353. realm.windows.allowGuests = false
  1354. # Allow user accounts belonging to the BUILTIN\Administrators group to be
  1355. # Gitblit administrators.
  1356. #
  1357. # SINCE 1.4.0
  1358. realm.windows.permitBuiltInAdministrators = true
  1359. # The default domain for authentication.
  1360. #
  1361. # If specified, this domain will be used for authentication UNLESS the supplied
  1362. # login name manually specifies a domain (.e.g. mydomain\james or james@mydomain)
  1363. #
  1364. # If unspecified, the username must be specified in UPN format (name@domain).
  1365. #
  1366. # if "." (dot) is specified, ONLY the local account database will be used.
  1367. #
  1368. # SINCE 1.3.0
  1369. realm.windows.defaultDomain =
  1370. # The PAM service name for authentication.
  1371. # default: system-auth
  1372. #
  1373. # SINCE 1.3.1
  1374. realm.pam.serviceName = system-auth
  1375. # The Apache htpasswd file that contains the users and passwords.
  1376. # default: ${baseFolder}/htpasswd
  1377. #
  1378. # RESTART REQUIRED
  1379. # BASEFOLDER
  1380. # SINCE 1.3.2
  1381. realm.htpasswd.userfile = ${baseFolder}/htpasswd
  1382. # Restrict the Salesforce user to members of this org.
  1383. # default: 0 (i.e. do not check the Org ID)
  1384. #
  1385. # SINCE 1.3.0
  1386. realm.salesforce.orgId = 0
  1387. # URL of the LDAP server.
  1388. # To use encrypted transport, use either ldaps:// URL for SSL or ldap+tls:// to
  1389. # send StartTLS command.
  1390. #
  1391. # SINCE 1.0.0
  1392. realm.ldap.server = ldap://localhost
  1393. # Login username for LDAP searches.
  1394. # If this value is unspecified, anonymous LDAP login will be used.
  1395. #
  1396. # e.g. mydomain\\username
  1397. #
  1398. # SINCE 1.0.0
  1399. realm.ldap.username = cn=Directory Manager
  1400. # Login password for LDAP searches.
  1401. #
  1402. # SINCE 1.0.0
  1403. realm.ldap.password = password
  1404. # Bind pattern for Authentication.
  1405. # Allow to directly authenticate an user without LDAP Searches.
  1406. #
  1407. # e.g. CN=${username},OU=Users,OU=UserControl,OU=MyOrganization,DC=MyDomain
  1408. #
  1409. # SINCE 1.5.0
  1410. realm.ldap.bindpattern =
  1411. # Delegate team membership control to LDAP.
  1412. #
  1413. # If true, team user memberships will be specified by LDAP groups. This will
  1414. # disable team selection in Edit User and user selection in Edit Team.
  1415. #
  1416. # If false, LDAP will only be used for authentication and Gitblit will maintain
  1417. # team memberships with the *realm.ldap.backingUserService*.
  1418. #
  1419. # SINCE 1.0.0
  1420. realm.ldap.maintainTeams = false
  1421. # Root node for all LDAP users
  1422. #
  1423. # This is the root node from which subtree user searches will begin.
  1424. # If blank, Gitblit will search ALL nodes.
  1425. #
  1426. # SINCE 1.0.0
  1427. realm.ldap.accountBase = OU=Users,OU=UserControl,OU=MyOrganization,DC=MyDomain
  1428. # Filter criteria for LDAP users
  1429. #
  1430. # Query pattern to use when searching for a user account. This may be any valid
  1431. # LDAP query expression, including the standard (&) and (|) operators.
  1432. #
  1433. # Variables may be injected via the ${variableName} syntax.
  1434. # Recognized variables are:
  1435. # ${username} - The text entered as the user name
  1436. #
  1437. # SINCE 1.0.0
  1438. realm.ldap.accountPattern = (&(objectClass=person)(sAMAccountName=${username}))
  1439. # Root node for all LDAP groups to be used as Gitblit Teams
  1440. #
  1441. # This is the root node from which subtree team searches will begin.
  1442. # If blank, Gitblit will search ALL nodes.
  1443. #
  1444. # SINCE 1.0.0
  1445. realm.ldap.groupBase = OU=Groups,OU=UserControl,OU=MyOrganization,DC=MyDomain
  1446. # Filter criteria for LDAP groups
  1447. #
  1448. # Query pattern to use when searching for a team. This may be any valid
  1449. # LDAP query expression, including the standard (&) and (|) operators.
  1450. #
  1451. # Variables may be injected via the ${variableName} syntax.
  1452. # Recognized variables are:
  1453. # ${username} - The text entered as the user name
  1454. # ${dn} - The Distinguished Name of the user logged in
  1455. #
  1456. # All attributes from the LDAP User record are available. For example, if a user
  1457. # has an attribute "fullName" set to "John", "(fn=${fullName})" will be
  1458. # translated to "(fn=John)".
  1459. #
  1460. # SINCE 1.0.0
  1461. realm.ldap.groupMemberPattern = (&(objectClass=group)(member=${dn}))
  1462. # Filter criteria for empty LDAP groups
  1463. #
  1464. # Query pattern to use when searching for an empty team. This may be any valid
  1465. # LDAP query expression, including the standard (&) and (|) operators.
  1466. #
  1467. # default: (&(objectClass=group)(!(member=*)))
  1468. # SINCE 1.4.0
  1469. realm.ldap.groupEmptyMemberPattern = (&(objectClass=group)(!(member=*)))
  1470. # LDAP users or groups that should be given administrator privileges.
  1471. #
  1472. # Teams are specified with a leading '@' character. Groups with spaces in the
  1473. # name can be entered as "@team name". This setting only applies when using
  1474. # LDAP to maintain team memberships.
  1475. #
  1476. # e.g. realm.ldap.admins = john @git_admins "@git admins"
  1477. #
  1478. # SPACE-DELIMITED
  1479. # SINCE 1.0.0
  1480. realm.ldap.admins = @Git_Admins
  1481. # Attribute(s) on the USER record that indicate their display (or full) name.
  1482. # Leave blank for no mapping available in LDAP.
  1483. #
  1484. # This may be a single attribute, or a string of multiple attributes. Examples:
  1485. # displayName - Uses the attribute 'displayName' on the user record
  1486. # ${personalTitle}. ${givenName} ${surname} - Will concatenate the 3
  1487. # attributes together, with a '.' after personalTitle
  1488. #
  1489. # SINCE 1.0.0
  1490. realm.ldap.displayName = displayName
  1491. # Attribute(s) on the USER record that indicate their email address.
  1492. # Leave blank for no mapping available in LDAP.
  1493. #
  1494. # This may be a single attribute, or a string of multiple attributes. Examples:
  1495. # email - Uses the attribute 'email' on the user record
  1496. # ${givenName}.${surname}@gitblit.com -Will concatenate the 2 attributes
  1497. # together with a '.' and '@' creating something like first.last@gitblit.com
  1498. #
  1499. # SINCE 1.0.0
  1500. realm.ldap.email = email
  1501. # Attribute on the USER record that indicate their username to be used in gitblit
  1502. # when synchronizing users from LDAP
  1503. # if blank, Gitblit will use uid
  1504. # For MS Active Directory this may be sAMAccountName
  1505. #
  1506. # SINCE 1.0.0
  1507. realm.ldap.uid = uid
  1508. # Defines whether to synchronize all LDAP users and teams into the user service
  1509. #
  1510. # Valid values: true, false
  1511. # If left blank, false is assumed
  1512. #
  1513. # SINCE 1.4.0
  1514. realm.ldap.synchronize = false
  1515. # Defines the period to be used when synchronizing users and teams from ldap.
  1516. #
  1517. # Must be of the form '<long> <TimeUnit>' where <TimeUnit> is one of 'MILLISECONDS', 'SECONDS', 'MINUTES', 'HOURS', 'DAYS'
  1518. # default: 5 MINUTES
  1519. #
  1520. # RESTART REQUIRED
  1521. # SINCE 1.4.0
  1522. realm.ldap.syncPeriod = 5 MINUTES
  1523. # Defines whether to delete non-existent LDAP users from the user service
  1524. # during synchronization. depends on realm.ldap.synchronize = true
  1525. #
  1526. # Valid values: true, false
  1527. # If left blank, true is assumed
  1528. #
  1529. # SINCE 1.4.0
  1530. realm.ldap.removeDeletedUsers = true
  1531. # URL of the Redmine.
  1532. #
  1533. # SINCE 1.2.0
  1534. realm.redmine.url = http://example.com/redmine
  1535. #
  1536. # Server Settings
  1537. #
  1538. # The temporary folder to decompress the embedded gitblit webapp.
  1539. #
  1540. # SINCE 0.5.0
  1541. # RESTART REQUIRED
  1542. # BASEFOLDER
  1543. server.tempFolder = ${baseFolder}/temp
  1544. # Use Jetty NIO connectors. If false, Jetty Socket connectors will be used.
  1545. #
  1546. # SINCE 0.5.0
  1547. # RESTART REQUIRED
  1548. server.useNio = true
  1549. # Specify the maximum number of concurrent http/https worker threads to allow.
  1550. #
  1551. # SINCE 1.3.0
  1552. # RESTART REQUIRED
  1553. server.threadPoolSize = 50
  1554. # Context path for the GO application. You might want to change the context
  1555. # path if running Gitblit behind a proxy layer such as mod_proxy.
  1556. #
  1557. # SINCE 0.7.0
  1558. # RESTART REQUIRED
  1559. server.contextPath = /
  1560. # Standard http port to serve. <= 0 disables this connector.
  1561. # On Unix/Linux systems, ports < 1024 require root permissions.
  1562. # Recommended value: 80 or 8080
  1563. #
  1564. # SINCE 0.5.0
  1565. # RESTART REQUIRED
  1566. server.httpPort = 0
  1567. # Secure/SSL https port to serve. <= 0 disables this connector.
  1568. # On Unix/Linux systems, ports < 1024 require root permissions.
  1569. # Recommended value: 443 or 8443
  1570. #
  1571. # SINCE 0.5.0
  1572. # RESTART REQUIRED
  1573. server.httpsPort = 8443
  1574. # Port for serving an Apache JServ Protocol (AJP) 1.3 connector for integrating
  1575. # Gitblit GO into an Apache HTTP server setup. <= 0 disables this connector.
  1576. # Recommended value: 8009
  1577. #
  1578. # SINCE 0.9.0
  1579. # RESTART REQUIRED
  1580. server.ajpPort = 0
  1581. # Automatically redirect http requests to the secure https connector.
  1582. #
  1583. # This setting requires that you have configured server.httpPort and server.httpsPort.
  1584. # Unless you are on a private LAN where you trust all client connections, it is
  1585. # recommended to use https for all communications.
  1586. #
  1587. # SINCE 1.4.0
  1588. # RESTART REQUIRED
  1589. server.redirectToHttpsPort = false
  1590. # Specify the interface for Jetty to bind the standard connector.
  1591. # You may specify an ip or an empty value to bind to all interfaces.
  1592. # Specifying localhost will result in Gitblit ONLY listening to requests to
  1593. # localhost.
  1594. #
  1595. # SINCE 0.5.0
  1596. # RESTART REQUIRED
  1597. server.httpBindInterface =
  1598. # Specify the interface for Jetty to bind the secure connector.
  1599. # You may specify an ip or an empty value to bind to all interfaces.
  1600. # Specifying localhost will result in Gitblit ONLY listening to requests to
  1601. # localhost.
  1602. #
  1603. # SINCE 0.5.0
  1604. # RESTART REQUIRED
  1605. server.httpsBindInterface =
  1606. # Specify the interface for Jetty to bind the AJP connector.
  1607. # You may specify an ip or an empty value to bind to all interfaces.
  1608. # Specifying localhost will result in Gitblit ONLY listening to requests to
  1609. # localhost.
  1610. #
  1611. # SINCE 0.9.0
  1612. # RESTART REQUIRED
  1613. server.ajpBindInterface = localhost
  1614. # Alias of certificate to use for https/SSL serving. If blank the first
  1615. # certificate found in the keystore will be used.
  1616. #
  1617. # SINCE 1.2.0
  1618. # RESTART REQUIRED
  1619. server.certificateAlias = localhost
  1620. # Password for SSL keystore.
  1621. # Keystore password and certificate password must match.
  1622. # This is provided for convenience, its probably more secure to set this value
  1623. # using the --storePassword command line parameter.
  1624. #
  1625. # If you are using the official JRE or JDK from Oracle you may not have the
  1626. # JCE Unlimited Strength Jurisdiction Policy files bundled with your JVM. Because
  1627. # of this, your store/key password can not exceed 7 characters. If you require
  1628. # longer passwords you may need to install the JCE Unlimited Strength Jurisdiction
  1629. # Policy files from Oracle.
  1630. #
  1631. # http://www.oracle.com/technetwork/java/javase/downloads/index.html
  1632. #
  1633. # Gitblit and the Gitblit Certificate Authority will both indicate if Unlimited
  1634. # Strength encryption is available.
  1635. #
  1636. # SINCE 0.5.0
  1637. # RESTART REQUIRED
  1638. server.storePassword = gitblit
  1639. # If serving over https (recommended) you might consider requiring clients to
  1640. # authenticate with ssl certificates. If enabled, only https clients with the
  1641. # a valid client certificate will be able to access Gitblit.
  1642. #
  1643. # If disabled, client certificate authentication is optional and will be tried
  1644. # first before falling-back to form authentication or basic authentication.
  1645. #
  1646. # Requiring client certificates to access any of Gitblit may be too extreme,
  1647. # consider this carefully.
  1648. #
  1649. # SINCE 1.2.0
  1650. # RESTART REQUIRED
  1651. server.requireClientCertificates = false
  1652. # Port for shutdown monitor to listen on.
  1653. #
  1654. # SINCE 0.5.0
  1655. # RESTART REQUIRED
  1656. server.shutdownPort = 8081