Find a file
Dmitriy Zaporozhets 4666515538 Merge branch 'flatten-dirs' into 'master'
Flatten the directory hierarchy while there is only one directory descendant

In some languages, especially java, the directory structure reflects the package structure.This means that using the file tree browser to reach the directories that matter you have to click a lot of directories containing only another subdirectory.

This merge request tries to enhance this by showing and providing the link to the first directory that doesn't contain only one directory.

See also [this feature request](http://feedback.gitlab.com/forums/176466-general/suggestions/6236769-jump-forward-to-the-first-folder-that-has-more-tha)

This is very similar to what [GitHub does](https://github.com/blog/1877-folder-jumping), but I don't think graying out the empty directories is really necessary.

Screenshots: [Before](https://gitlab.com/uploads/marmis85/gitlab-ce/b683a0000f/before.png) - [After](https://gitlab.com/uploads/marmis85/gitlab-ce/a23725a1c1/after.png)

I'm actually very new at ruby, rails, haml, and almost everything involved in Gitlab's development...
From what I could understand, when we render each directory item in the list we only have the data structure representing the item but not his descendants.
To iterate through the hierarchy I call Gitlab::Git:Tree.where() but I'm not sure if this is the most efficient way.

I also considered making every directory a clickable link, but I tried that and in the end it wasn't very useful and reduced the click target for the most useful directory.

See merge request !275
2015-01-11 04:42:28 +00:00
app Merge branch 'flatten-dirs' into 'master' 2015-01-11 04:42:28 +00:00
bin
config Create ApplicationSettings if does not exist in runtime 2015-01-08 11:26:16 -08:00
db Init ApplicationSettings resource with defaults from config file 2015-01-08 00:22:50 -08:00
doc Small spelling improvements. 2015-01-10 19:28:50 -08:00
docker
features Improve application settings and write tests 2015-01-08 09:53:35 -08:00
lib Rescue missing database errors 2015-01-09 11:26:26 +01:00
log
public
spec Merge branch 'flatten-dirs' into 'master' 2015-01-11 04:42:28 +00:00
tmp
vendor/assets
.foreman
.gitignore
.hound.yml
.pkgr.yml
.rspec
.ruby-version GitLab does not work well with Ruby 2.2 yet 2015-01-07 10:58:17 -08:00
.simplecov
.teatro.yml
CHANGELOG Merge branch 'popen_close_stdin' 2015-01-08 15:54:34 -08:00
config.ru
CONTRIBUTING.md
Gemfile Merge branch 'easy-dev-install' into 'master' 2015-01-11 01:39:43 +00:00
Gemfile.lock Merge branch 'ruby-2.2.0' of https://github.com/chulkilee/gitlabhq into chulkilee-ruby-2.2.0 2015-01-06 09:41:49 -08:00
GITLAB_SHELL_VERSION
Guardfile
LICENSE
MAINTENANCE.md
PROCESS.md
Procfile Fix sidekiq for development 2014-12-29 17:56:29 +02:00
Rakefile
README.md
VERSION Let's start 7.7.0.pre 2014-12-28 22:52:17 +01:00

logo GitLab

Open source software to collaborate on code

Animated screenshots

  • Manage Git repositories with fine grained access controls that keep your code secure
  • Perform code reviews and enhance collaboration with merge requests
  • Each project can also have an issue tracker and a wiki
  • Used by more than 100,000 organizations, GitLab is the most popular solution to manage Git repositories on-premises
  • Completely free and open source (MIT Expat license)
  • Powered by Ruby on Rails

Canonical source

Code status

  • build status on ci.gitlab.org (master branch)

  • Build Status

  • Code Climate

  • Coverage Status

  • PullReview stats

Website

On about.gitlab.com you can find more information about:

Requirements

  • Ubuntu/Debian/CentOS/RHEL**
  • ruby 2.0+
  • git 1.7.10+
  • redis 2.0+
  • MySQL or PostgreSQL

** More details are in the requirements doc.

Installation

Please see the installation page on the GitLab website for the various options. Since a manual installation is a lot of work and error prone we strongly recommend the fast and reliable Omnibus package installation (deb/rpm). You can access new installation with the login root and password 5iveL!fe, after login you are required to set a unique password.

Third-party applications

There are a lot of applications and API wrappers for GitLab. Find them on our website.

New versions

Since 2011 a minor or major version of GitLab is released on the 22nd of every month. Patch and security releases come out when needed. New features are detailed on the blog and in the changelog. For more information about the release process see the release documentation. Features that will likely be in the next releases can be found on the feature request forum with the status started and completed.

Upgrading

For updating the the Omnibus installation please see the update documentation. For manual installations there is an upgrader script and there are upgrade guides.

Install a development environment

We recommend setting up your development environment with the GitLab Development Kit. If you do not use the GitLab Development Development kit you need to install and setup all the dependencies yourself, this is a lot of work and error prone. One small thing you also have to do when installing it yourself is to copy the example development unicorn configuration file:

cp config/unicorn.rb.example.development config/unicorn.rb

Instructions on how to start Gitlab and how to run the tests can be found in the development section of the GitLab Development Kit.

Documentation

All documentation can be found on doc.gitlab.com/ce/.

Getting help

Please see Getting help for GitLab on our website for the many options to get help.

Is it any good?

Yes

Is it awesome?

Thanks for asking this question Joshua. These people seem to like it.