Skip to content

Commit

Permalink
Restore gitignore file contents (librenms#9784)
Browse files Browse the repository at this point in the history
* Restore gitignore file contents
Set permissions to 664
Add tests to check existence, mode, and size of .gitignore files

* add trailing line return

* git only cares about executable bit, just check that.

* define gitignores separately
  • Loading branch information
murrant authored Feb 6, 2019
1 parent 2b4d8fc commit 964235a
Show file tree
Hide file tree
Showing 13 changed files with 108 additions and 2 deletions.
2 changes: 2 additions & 0 deletions bootstrap/cache/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
4 changes: 4 additions & 0 deletions logs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore
4 changes: 4 additions & 0 deletions rrd/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore
16 changes: 14 additions & 2 deletions scripts/github-remove
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,25 @@ args = parser.parse_args()
if args.discard:
if confirm("Are you sure you want to delete all modified and untracked files?"):
dirs = ["app/", "bootstrap/", "contrib/", "database/", "doc/", "html/", "includes/", "LibreNMS/",
"licenses/", "mibs/", "misc/", "resources/", "routes", "scripts/", "sql-schema/", "tests/"]
"licenses/", "mibs/", "misc/", "resources/", "routes", "scripts/", "sql-schema/", "tests/"]
gitignores = ['.gitignore',
'bootstrap/cache/.gitignore',
'logs/.gitignore',
'rrd/.gitignore',
'storage/app/.gitignore',
'storage/app/public/.gitignore',
'storage/debugbar/.gitignore',
'storage/framework/cache/.gitignore',
'storage/framework/sessions/.gitignore',
'storage/framework/testing/.gitignore',
'storage/framework/views/.gitignore',
'storage/logs/.gitignore']

call(["git", "reset", "-q"], cwd=librenms_dir)
call(["git", "checkout", "."], cwd=librenms_dir)
call(["git", "clean", "-d", "-f"] + dirs, cwd=librenms_dir)
# fix messed up gitignore file modes
call(["git", "checkout", "bootstrap/cache/.gitignore", "storage/app/.gitignore", "storage/app/public/.gitignore", "storage/debugbar/.gitignore", "storage/framework/cache/.gitignore", "storage/framework/sessions/.gitignore", "storage/framework/testing/.gitignore", "storage/framework/views/.gitignore", "storage/logs/.gitignore"])
call(["git", "checkout"] + gitignores, cwd=librenms_dir)

if args.vendor:
call(["git", "clean", "-x", "-d", "-f", "vendor/"], cwd=librenms_dir)
Expand Down
3 changes: 3 additions & 0 deletions storage/app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*
!public/
!.gitignore
2 changes: 2 additions & 0 deletions storage/app/public/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions storage/debugbar/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions storage/framework/cache/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions storage/framework/sessions/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions storage/framework/testing/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions storage/framework/views/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions storage/logs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
67 changes: 67 additions & 0 deletions tests/GitIgnoreTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?php
/**
* GitIgnoreTest.php
*
* -Description-
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @package LibreNMS
* @link http://librenms.org
* @copyright 2019 Tony Murray
* @author Tony Murray <[email protected]>
*/

namespace LibreNMS\Tests;

class GitIgnoreTest extends TestCase
{
private $gitIgnoreFiles = [
'.gitignore',
'bootstrap/cache/.gitignore',
'cache/.gitignore',
'logs/.gitignore',
'resources/views/alerts/templates/.gitignore',
'rrd/.gitignore',
'storage/app/.gitignore',
'storage/app/public/.gitignore',
'storage/debugbar/.gitignore',
'storage/framework/cache/.gitignore',
'storage/framework/sessions/.gitignore',
'storage/framework/testing/.gitignore',
'storage/framework/views/.gitignore',
'storage/logs/.gitignore',
];

public function testGitIgnoresExist()
{
foreach ($this->gitIgnoreFiles as $file) {
$this->assertFileExists($file);
}
}

public function testGitIgnoresMode()
{
foreach ($this->gitIgnoreFiles as $file) {
$this->assertFalse(is_executable($file), "$file should not be executable");
}
}

public function testGitIgnoresNotEmpty()
{
foreach ($this->gitIgnoreFiles as $file) {
$this->assertGreaterThan(4, filesize($file), "$file is empty, it should not be");
}
}
}

0 comments on commit 964235a

Please sign in to comment.