
GitLab 4.0 Released - andrewmunsell
http://blog.gitlabhq.com/gitlab-4-release/
======
BUGHUNTER
From the website:

    
    
      What we removed in 4.0: 
      SQLite support (I like it but this database got locked
      when several users use gitlab at once)
    

This is a pitty! I am sure there are many small teams where sqlite is totally
sufficient.

Have you been able to measure and determine the problems with sqlite more
precisely? It would be interesting to see at which point (number of concurrent
users) the problems occur. Also it just reads like some data accessing backend
is not properly closing connection / file access, so blocking might be just a
bug, not a sqlite limitation.

Did you read <http://www.sqlite.org/lockingv3.html> ?

I personally do like having such important infrastructure like bugtrackers as
simple as possible, beeing able to setup anytime anywhere with sqlite backend
is really a plus in changing environments.

~~~
beagle3
One important solution is to switch from journal mode to WAL mode. Journal
mode (the default) makes readers block writers and vice versa. WAL mode makes
it so only writers block writers.

------
n0nick
GitLab looks awesome, both features and design wise, but the installation
process is so tedious and complicated that I quit in the middle of it more
than once:
[https://github.com/gitlabhq/gitlabhq/blob/4-0-stable/doc/ins...](https://github.com/gitlabhq/gitlabhq/blob/4-0-stable/doc/install/installation.md)

This is feedback I heard from fellow developers as well.

I'm curious as to whether the maintainers are planning to simplify the list of
dependencies and installation steps in the upcoming versions.

~~~
sytse
I'm sad to hear your GitLab installation didn't go smooth.

I hope to improve our Chef Cookbook for GitLab to the point where it can
replace some of the scripts you need now.

Was there any particular part of the installation guide that we can improve in
the near future?

(I run GitLab.com, offering GitLab as a service)

~~~
n0nick
First of all, thanks a lot for the quick response.

Let me apologise in advance for complaining on an open-source project instead
of trying to contribute.

Anyway, my personal feelings were that some of the dependencies could have
been avoided (or perhaps set to some default value), at least for the
community edition that I'm supposed to get up and running on an existing
server machine.

Some examples: * Requiring Python (for a Rails project!), * Asking me to
create special system users for the processes, * Setting paths, keys and
chmods manually (and not in some install.sh process), * Configuring a database
and access to it (this could easily use a default setting that pro users could
edit manually).

From the comments around here, I realize that maybe I looked at the project in
the wrong way and it should be installed either as a standalone service or as
a virtual machine. If that's the case, I think a short Readme or Install doc
explaining that would be very helpful for most users.

~~~
__david__
> Configuring a database and access to it

Welcome to the world of server software. I think everything web app I've ever
installed required database configuration. I take it you've never installed
Wordpress? Or Roundcube? Textmate? Gallery? OpenPhoto?

I agree that other parts of the installation are annoying (python2 link, which
isn't standard [1]), but the configuring a DB is _very_ par for the course.

The special system users part annoyed me at first, but I realized I'm creating
ssh access for git and so in that light it makes a lot of sense to create a
new user. On the plus side, gitolite lets you have a ton of users that can use
ssh to get the code without having a user account for each one, so it's a win
over the long haul.

[1] On my Debian system (should also work with Ubuntu) I solved this with:

    
    
        sudo update-alternatives --install /usr/bin/python2 python /usr/bin/python2.7 7
    

This lets the package system know about the symlink instead of just putting
some random symlink in a package-manager controlled directory.

~~~
n0nick
The thing is, I actually did install most of the software you mentioned, and
most of them just ask you for some credentials and run the db initialisation
and population themselves. WordPress goes so far as to do that via a post-
upload web interface, which is a superb UX IMHO, and something I remember
writing into my own open-source PHP projects 10 years ago [1].

I really don't mean to disrespect but I think in the age of Rails and ORMs,
these sort of tasks can be implemented even easier for the user and cleaner
for the integrating apps.

That being said, I realise that GitLab relies heavily on some system-heavy
dependencies ( _cough_ gitolite), and whoever wrote the installation guide is
probably a system guy that didn't want to hide any of the details behind some
automatic script. I just suggest that this should be the "Installation for
Advanced Users" doc that's the alternative to some automated process.

[1] figuring this out made me feel very old.

------
rustc
GitLab seems to be getting better and better, every month.

To anyone who is using this, how would you compare 4.0 to the current GitHub,
in terms of UI/Features?

I'm thinking of moving from a third party host to GitLab. What should I be
aware of?

~~~
Xylakant
The main feature I'm missing is forks/pull-requests across repos. It's a nice
way to keep strict control over the main repo while allowing others to commit
code at their leisure. I must admit that this took me a little by suprise
after installing GL.

~~~
sytse
Consider voting for this functionality at
[http://gitlab.uservoice.com/forums/176466-general/suggestion...](http://gitlab.uservoice.com/forums/176466-general/suggestions/3456722-issue-
merge-requests-between-projects-repos)

~~~
Xylakant
I actually tried, but was greeted with a "Sorry, but we couldn't submit your
vote." Something is broken but that's not gitlabs fault ;)

~~~
sytse
I guess UserVoice ops is on a well deserved holiday :-)
<https://twitter.com/UserVoice/status/282207838149943296>

------
josscrowcroft
This might be the push I need to install GitLab for my biz and site
deployments, and bringing on contributors... until now, it seemed like too
much hassle when I can simply pay $7/mo to use GitHub mini plan.

Looks fantastic though congrats.

------
eagsalazar2
Github isn't just a list of features. It is also the community, expertise and
maintaining uptime and availability, security, etc. I guess for so little
money I don't know why I'd ever use this unless I was working at a bank or
somewhere that was obsessed with security and self-hosting (and didn't realize
github is better at this than they are).

Also, I have to admit it is a bit irritating that this is such a direct rip of
github. The only real "feature" they're adding over github is getting
everything github innovated without paying github.

~~~
Void_
I wouldn't throw out the phrase "so little money" so eagerly.

I'm a student with practically no income, and I have about 50 repositories for
my school and weekend projects. To use GitHub, I would have to pay them
$100/mo.

~~~
jstepka
Bitbucket offers unlimited private repos for students.

------
ufukbay
First of all, GitLab is awesome! However, I have to agree on making the
installation steps easier. I was running GitLab 3.1 and followed the
instructions on the official "From 3.1 to 4.0" update guide but when I checked
GitLab's status at the end, there were several errors or uncomplete parts.
Considering its a major release, I decided to reinstall everything from
scratch instead of trying to manually fix everything displayed on the GitLab
status check.

------
MartinMond
GitLab is incredible. I just read the documentation on setting up databases:
[https://github.com/gitlabhq/gitlabhq/blob/master/doc/install...](https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/databases.md)

So it now supports both MySQL and Postgres, even though MySQL is preferred.
Does anyone know what that means for a Postgres guy like me? Does "MySQL is
preferred" mean that it has known bugs on Postgres? Is it usable?

~~~
sytse
According to the release notes GitLab 4.0 offers "Better PostgreSQL support".
Unofficial PostgreSQL support has been around since 3.0
<http://blog.gitlabhq.com/gitlab-3-dot-0-released/>

Right now all the tests are green on PostgreSQL <https://travis-
ci.org/gitlabhq/gitlabhq/jobs/3796920>

------
mikhailt
Does anybody know if GitLab does limit access to repos for certain people
while the rest have unlimited access?

An example, CS team have access to issues/wikis only while the dev team have
unlimited access.

This is our only deal breaker with GitHub.

If you know of other git-based system/service that does this, please let me
know.

Thanks!

~~~
caissy
Yes by default there are 4 different type of privileges per project that can
be assigned to a user : guest, reporter, developer, master & owner. The list
of what each is allowed to do can be found here :
<http://demo.gitlabhq.com/help/permissions>

------
mountaineer
I've been looking at options for Git repos inside the firewall so happy to see
this. Has anyone used Atlassian Stash too? How does it stack up vs GitLab?
I've been using GitStack for a few months, which hasn't been bad for the
basics.

------
daniellockard
Man, the feature that I've wanted for a LONG time is in this rev of GitLab.
Groups / Namespaces and permissions based on those groups.

------
sippndipp
We're using GitLab for 3 month now and it's an amazing project. Kudos to
everyone who helped!

