Skip to content

Instantly share code, notes, and snippets.

@PetarKirov
Last active August 29, 2015 14:25
Show Gist options
  • Save PetarKirov/e1e48a18a22d4fc85e8d to your computer and use it in GitHub Desktop.
Save PetarKirov/e1e48a18a22d4fc85e8d to your computer and use it in GitHub Desktop.
Demonstrating cloning git repos and updating (via pull) them in parallel in D.
module main;
import core.atomic : atomicOp;
import std.algorithm : map;
import std.file : exists, isDir;
import std.format : format;
import std.parallelism : parallel;
import std.process : executeShell, Config;
import std.stdio : writeln, writefln;
void main(string[] args)
{
auto baseDir = "/tmp/";
auto repoUrl = "https://github.com/D-Programming-Language/";
auto repos = [ "tools", "dub", "dconf.org", "dub-registry", "installer" ];
auto pullFromDate = "2014-07-10"; // <- some random old date, so git pull would not complete immediately
shared int errors = 0; // <- need atomic increment, when updating in parallel
// Clone & reset repos serially
// version (none) // <- uncomment to disable git cloning and resetting
foreach (repoName; repos)
{
if (!gitClone(repoUrl, repoName, baseDir, pullFromDate))
{
errors++;
// <- maybe break or continue?
}
}
auto dirs = repos.map!(r => baseDir ~ r);
// Update (via pull) repos in parallel
foreach(entry; parallel(dirs))
{
if (!entry.exists)
{
writefln("Warning: %s does not exist.", entry);
atomicOp!"+="(errors, 1);
continue;
}
if (!entry.isDir)
{
writefln("Warning: %s is not a directory.", entry);
atomicOp!"+="(errors, 1);
continue;
}
if (!gitPull(entry))
{
writefln("Git pull failed.", entry);
atomicOp!"+="(errors, 1);
continue;
}
}
writefln("All done, error count: %s.", errors);
}
/// Clones a git repo at `dirName` and reverts it to a state before
/// `date` and displays the output in stdout.
bool gitClone(string repoUrl, string repoName, string dirName, string date)
{
// Clone repo
bool clonedSuccessfully =
("git clone " ~ repoUrl ~ repoName)
.execAt(dirName);
// Go back in time
bool wentBackInTimeSuccessfully =
q"{git reset --hard `git rev-list -n 1 --before="%s" master`}"
.format(date)
.execAt(dirName ~ repoName);
return clonedSuccessfully && wentBackInTimeSuccessfully;
}
/// Pulls from git in the given directory and displays the output in stdout.
bool gitPull(string dirName)
{
return "git pull".execAt(dirName);
}
// Executes command and displays the output in stdout.
bool execAt(string command, string workingDir)
{
writefln("== At: %s ==", workingDir, command);
writefln("== Executing: %s ==", command);
auto pid = executeShell(command, null, Config.none, size_t.max, workingDir);
writeln(pid.output);
return pid.status == 0;
}
-== At: /tmp/ ==
-== Executing: git clone https://github.com/D-Programming-Language/tools ==
-Cloning into 'tools'...
-
-== At: /tmp/tools ==
-== Executing: git reset --hard `git rev-list -n 1 --before="2014-07-10" master` ==
-HEAD is now at 0f341ba Merge pull request #133 from mihails-strasuns-sociomantic/patch-1
-
-== At: /tmp/ ==
-== Executing: git clone https://github.com/D-Programming-Language/dub ==
-Cloning into 'dub'...
-
-== At: /tmp/dub ==
-== Executing: git reset --hard `git rev-list -n 1 --before="2014-07-10" master` ==
-HEAD is now at b3b96f0 Add .def files to the list of source file types to pass to the linker.
-
-== At: /tmp/ ==
-== Executing: git clone https://github.com/D-Programming-Language/dconf.org ==
-Cloning into 'dconf.org'...
-
-== At: /tmp/dconf.org ==
-== Executing: git reset --hard `git rev-list -n 1 --before="2014-07-10" master` ==
-Checking out files: 100% (82/82), done.
-HEAD is now at 36c6e7c Merge pull request #25 from andralex/videos
-
-== At: /tmp/ ==
-== Executing: git clone https://github.com/D-Programming-Language/dub-registry ==
-Cloning into 'dub-registry'...
-
-== At: /tmp/dub-registry ==
-== Executing: git reset --hard `git rev-list -n 1 --before="2014-07-10" master` ==
-HEAD is now at 81a2b4a Update the version specification section of the package format page. Fixes D-Programming-Language/dub#370.
-
-== At: /tmp/ ==
-== Executing: git clone https://github.com/D-Programming-Language/installer ==
-Cloning into 'installer'...
-
-== At: /tmp/installer ==
-== Executing: git reset --hard `git rev-list -n 1 --before="2014-07-10" master` ==
-HEAD is now at b8aa5c0 Merge pull request #94 from AndrewEdwards/2.066
-
-== At: /tmp/tools ==
-== Executing: git pull ==
-== At: /tmp/dub ==
-== Executing: git pull ==
-Updating 0f341ba..55e5dc6
-Fast-forward
- DustMite/dustmite.d | 66 ++++--
- DustMite/splitter.d | 92 +++++---
- catdoc.d | 4 +-
- dget.d | 2 +-
- dman.d | 59 +-----
- dpl-docs/dub.selections.json | 10 -
- dpl-docs/package.json | 7 -
- dpl-docs/source/app.d | 16 --
- dpl-docs/urlrewrite.d | 82 --------
- dpl-docs/views/ddox.layout.dt | 32 ---
- dpl-docs/views/inc.disqus.dt | 15 --
- dpl-docs/views/layout.dt | 134 ------------
- dtoh.d | 473 ------------------------------------------
- findtags.d | 40 ----
- man/man1/rdmd.1 | 10 +
- posix.mak | 39 +---
- rdmd.d | 159 +++++++-------
- rdmd_test.d | 76 ++++++-
- update.sh | 20 +-
- win32.mak | 85 +-------
- 20 files changed, 326 insertions(+), 1095 deletions(-)
- delete mode 100644 dpl-docs/dub.selections.json
- delete mode 100644 dpl-docs/package.json
- delete mode 100644 dpl-docs/source/app.d
- delete mode 100644 dpl-docs/urlrewrite.d
- delete mode 100644 dpl-docs/views/ddox.layout.dt
- delete mode 100644 dpl-docs/views/inc.disqus.dt
- delete mode 100644 dpl-docs/views/layout.dt
- delete mode 100644 dtoh.d
- delete mode 100644 findtags.d
-
-== At: /tmp/dconf.org ==
-== Executing: git pull ==
-Updating b3b96f0..7d577e3
-Fast-forward
- .editorconfig | 9 +
- .gitignore | 21 +-
- .travis.yml | 33 +-
- CHANGELOG.md | 172 +-
- README.md | 43 +-
- build-files.txt | 17 +
- build.cmd | 4 +-
- build.sh | 30 +-
- dub.json | 3 +-
- dub.selections.json | 11 +
- examples/app-sdl/dub.sdl | 2 +
- examples/app-sdl/source/app.d | 6 +
- scripts/bash-completion/dub.bash | 60 +
- scripts/fish-completion/dub.fish | 119 ++
- {installer/rpm => scripts/rpm-package}/dub.spec | 0
- .../rpm => scripts/rpm-package}/make_installer.sh | 0
- .../win => scripts/win-installer}/EnvVarUpdate.nsh | 0
- .../win => scripts/win-installer}/banner.bmp | Bin
- .../win => scripts/win-installer}/header.bmp | Bin
- .../win => scripts/win-installer}/installer.nsi | 0
- .../win-installer}/make_installer.cmd | 2 +-
- source/dub/commandline.d | 361 +++-
- source/dub/compilers/buildsettings.d | 133 +-
- source/dub/compilers/compiler.d | 270 +--
- source/dub/compilers/dmd.d | 74 +-
- source/dub/compilers/gdc.d | 62 +-
- source/dub/compilers/ldc.d | 50 +-
- source/dub/dependency.d | 209 +-
- source/dub/dependencyresolver.d | 27 +-
- source/dub/description.d | 108 ++
- source/dub/dub.d | 249 ++-
- source/dub/generators/build.d | 100 +-
- source/dub/generators/cmake.d | 142 ++
- source/dub/generators/generator.d | 267 ++-
- source/dub/generators/sublimetext.d | 114 ++
- source/dub/generators/targetdescription.d | 64 +
- source/dub/generators/visuald.d | 85 +-
- source/dub/init.d | 95 +-
- source/dub/internal/libInputVisitor.d | 96 +
- source/dub/internal/sdlang/ast.d | 1837 ++++++++++++++++++
- source/dub/internal/sdlang/exception.d | 45 +
- source/dub/internal/sdlang/lexer.d | 1992 ++++++++++++++++++++
- source/dub/internal/sdlang/package.d | 123 ++
- source/dub/internal/sdlang/parser.d | 541 ++++++
- source/dub/internal/sdlang/symbol.d | 64 +
- source/dub/internal/sdlang/token.d | 500 +++++
- source/dub/internal/sdlang/util.d | 87 +
- source/dub/internal/utils.d | 107 +-
- source/dub/internal/vibecompat/core/file.d | 66 +-
- source/dub/internal/vibecompat/core/log.d | 4 +-
- source/dub/internal/vibecompat/data/json.d | 1495 +++++++++++----
- .../dub/internal/vibecompat/data/serialization.d | 1307 +++++++++++++
- source/dub/internal/vibecompat/data/utils.d | 706 ++++++-
- source/dub/internal/vibecompat/inet/path.d | 30 +-
- source/dub/package_.d | 855 +++------
- source/dub/packagemanager.d | 250 +--
- source/dub/packagesupplier.d | 62 +-
- source/dub/platform.d | 2 +-
- source/dub/project.d | 459 ++++-
- source/dub/recipe/io.d | 45 +
- source/dub/recipe/json.d | 280 +++
- source/dub/recipe/packagerecipe.d | 258 +++
- source/dub/recipe/sdl.d | 398 ++++
- source/dub/version_.d | 4 +-
- test/.gitignore | 13 +
- test/0-init-fail-json.sh | 16 +
- test/0-init-fail.sh | 16 +
- test/0-init-multi-json.sh | 29 +
- test/0-init-multi.sh | 29 +
- test/0-init-simple-json.sh | 16 +
- test/0-init-simple.sh | 16 +
- test/1-dynLib-simple/.no_build | 1 +
- test/1-dynLib-simple/dub.json | 4 +
- test/1-dynLib-simple/source/dynlib/app.d | 7 +
- test/1-exec-simple/dub.json | 4 +
- test/1-exec-simple/source/app.d | 6 +
- test/1-sourceLib-simple/.no_build | 0
- test/1-sourceLib-simple/dub.json | 4 +
- test/1-sourceLib-simple/source/sourcelib/app.d | 7 +
- test/1-staticLib-simple/.no_run | 0
- test/1-staticLib-simple/dub.json | 4 +
- test/1-staticLib-simple/source/staticlib/app.d | 7 +
- test/2-dynLib-dep/dub.json | 6 +
- test/2-dynLib-dep/source/app.d | 7 +
- test/2-sourceLib-dep/dub.json | 7 +
- test/2-sourceLib-dep/source/app.d | 7 +
- test/2-staticLib-dep/dub.json | 7 +
- test/2-staticLib-dep/source/app.d | 7 +
- test/3-copyFiles/data/file_to_copy.txt | 1 +
- test/3-copyFiles/data/file_to_copy_mask1.txt | 1 +
- test/3-copyFiles/data/file_to_copy_mask2.txt | 1 +
- .../res/.nocopy/file_inside_dot_prefixed_dir.txt | 1 +
- test/3-copyFiles/data/res/hdpi/file1.txt | 1 +
- test/3-copyFiles/data/res/hdpi/file2.txt | 1 +
- test/3-copyFiles/data/res/hdpi/file3.txt | 1 +
- .../data/res/hdpi/nested_dir/nested_file.txt | 1 +
- test/3-copyFiles/data/res/i18n/resource_en.txt | 1 +
- test/3-copyFiles/data/res/i18n/resource_fr.txt | 1 +
- test/3-copyFiles/data/res/ldpi/file1.txt | 1 +
- test/3-copyFiles/data/res/ldpi/file2.txt | 1 +
- test/3-copyFiles/data/res/ldpi/file3.txt | 1 +
- test/3-copyFiles/data/res/mdpi/file1.txt | 1 +
- test/3-copyFiles/data/res/mdpi/file2.txt | 1 +
- test/3-copyFiles/data/res/mdpi/file3.txt | 1 +
- test/3-copyFiles/dub.json | 10 +
- test/3-copyFiles/source/app.d | 24 +
- test/4-describe-data-1-list.sh | 139 ++
- test/4-describe-data-2-dmd.sh | 87 +
- test/4-describe-data-3-zero-delim.sh | 127 ++
- test/4-describe-import-paths.sh | 28 +
- test/4-describe-json.sh | 18 +
- test/4-describe-string-import-paths.sh | 27 +
- test/custom-source-main-bug487/.gitignore | 5 +
- test/custom-source-main-bug487/.no_run | 0
- test/custom-source-main-bug487/.no_test | 0
- test/custom-source-main-bug487/dub.json | 6 +
- test/custom-source-main-bug487/mysrc/app.d | 3 +
- test/describe-dependency-1/.no_build | 1 +
- test/describe-dependency-1/data/dummy-dep1.dat | 1 +
- .../dependency-postGenerateCommands.sh | 1 +
- .../dependency-preGenerateCommands.sh | 1 +
- test/describe-dependency-1/dub.json | 28 +
- test/describe-dependency-1/otherdir/dummy.d | 1 +
- test/describe-dependency-1/source/dummy.d | 1 +
- test/describe-dependency-2/.no_build | 1 +
- test/describe-dependency-2/dub.json | 11 +
- .../some-extra-string-import-path/dummy.d | 1 +
- test/describe-dependency-2/some-path/dummy.d | 1 +
- test/describe-dependency-3/.no_build | 1 +
- test/describe-dependency-3/dep3-source/dummy.d | 1 +
- .../dep3-string-import-path/dummy.d | 1 +
- test/describe-dependency-3/dub.json | 13 +
- test/describe-project/.no_build | 1 +
- test/describe-project/data/dummy.dat | 1 +
- test/describe-project/do-postGenerateCommands.sh | 1 +
- test/describe-project/do-preGenerateCommands.sh | 1 +
- test/describe-project/dub.json | 46 +
- test/describe-project/src/dummy.d | 1 +
- test/describe-project/views/dummy.d | 1 +
- test/ignore-hidden-1/.gitignore | 5 +
- test/ignore-hidden-1/.no_run | 0
- test/ignore-hidden-1/.no_test | 0
- test/ignore-hidden-1/dub.json | 3 +
- test/ignore-hidden-1/source/.hidden.d | 3 +
- test/ignore-hidden-1/source/app.d | 3 +
- test/ignore-hidden-2/.gitignore | 5 +
- test/ignore-hidden-2/.no_run | 0
- test/ignore-hidden-2/.no_test | 0
- test/ignore-hidden-2/dub.json | 4 +
- test/ignore-hidden-2/source/.hidden.d | 1 +
- test/ignore-hidden-2/source/app.d | 5 +
- test/issue564-invalid-upgrade-dependency.sh | 7 +
- test/issue564-invalid-upgrade-dependency/.no_build | 0
- test/issue564-invalid-upgrade-dependency/.no_run | 0
- test/issue564-invalid-upgrade-dependency/.no_test | 0
- .../a-1.0.0/dub.json | 4 +
- .../a-1.0.0/source/a.d | 3 +
- .../a-1.1.0/dub.json | 7 +
- .../a-1.1.0/source/a.d | 3 +
- .../main/dub.json | 6 +
- .../main/dub.selections.json | 6 +
- .../main/source/app.d | 6 +
- test/issue586-subpack-dep.sh | 8 +
- test/issue586-subpack-dep/.no_build | 0
- test/issue586-subpack-dep/.no_run | 0
- test/issue586-subpack-dep/.no_test | 0
- test/issue586-subpack-dep/a/b/dub.sdl | 1 +
- test/issue586-subpack-dep/a/b/source/b.d | 3 +
- test/issue586-subpack-dep/a/dub.sdl | 3 +
- test/issue586-subpack-dep/a/source/a.d | 8 +
- test/issue586-subpack-dep/main/dub.sdl | 3 +
- test/issue586-subpack-dep/main/dub.selections.json | 6 +
- test/issue586-subpack-dep/main/source/c.d | 8 +
- test/run-unittest.sh | 57 +
- test/sdl-package-simple/dub.sdl | 2 +
- test/sdl-package-simple/source/app.d | 6 +
- test/test-version-opt.sh | 3 +
- travis-ci.sh | 19 +
- 178 files changed, 13748 insertions(+), 1831 deletions(-)
- create mode 100644 .editorconfig
- create mode 100644 dub.selections.json
- create mode 100644 examples/app-sdl/dub.sdl
- create mode 100644 examples/app-sdl/source/app.d
- create mode 100644 scripts/bash-completion/dub.bash
- create mode 100644 scripts/fish-completion/dub.fish
- rename {installer/rpm => scripts/rpm-package}/dub.spec (100%)
- rename {installer/rpm => scripts/rpm-package}/make_installer.sh (100%)
- mode change 100755 => 100644
- rename {installer/win => scripts/win-installer}/EnvVarUpdate.nsh (100%)
- rename {installer/win => scripts/win-installer}/banner.bmp (100%)
- rename {installer/win => scripts/win-installer}/header.bmp (100%)
- rename {installer/win => scripts/win-installer}/installer.nsi (100%)
- rename {installer/win => scripts/win-installer}/make_installer.cmd (63%)
- create mode 100644 source/dub/description.d
- create mode 100644 source/dub/generators/cmake.d
- create mode 100644 source/dub/generators/sublimetext.d
- create mode 100644 source/dub/generators/targetdescription.d
- create mode 100644 source/dub/internal/libInputVisitor.d
- create mode 100644 source/dub/internal/sdlang/ast.d
- create mode 100644 source/dub/internal/sdlang/exception.d
- create mode 100644 source/dub/internal/sdlang/lexer.d
- create mode 100644 source/dub/internal/sdlang/package.d
- create mode 100644 source/dub/internal/sdlang/parser.d
- create mode 100644 source/dub/internal/sdlang/symbol.d
- create mode 100644 source/dub/internal/sdlang/token.d
- create mode 100644 source/dub/internal/sdlang/util.d
- create mode 100644 source/dub/internal/vibecompat/data/serialization.d
- create mode 100644 source/dub/recipe/io.d
- create mode 100644 source/dub/recipe/json.d
- create mode 100644 source/dub/recipe/packagerecipe.d
- create mode 100644 source/dub/recipe/sdl.d
- create mode 100644 test/.gitignore
- create mode 100755 test/0-init-fail-json.sh
- create mode 100755 test/0-init-fail.sh
- create mode 100755 test/0-init-multi-json.sh
- create mode 100755 test/0-init-multi.sh
- create mode 100755 test/0-init-simple-json.sh
- create mode 100755 test/0-init-simple.sh
- create mode 100644 test/1-dynLib-simple/.no_build
- create mode 100644 test/1-dynLib-simple/dub.json
- create mode 100644 test/1-dynLib-simple/source/dynlib/app.d
- create mode 100644 test/1-exec-simple/dub.json
- create mode 100644 test/1-exec-simple/source/app.d
- create mode 100644 test/1-sourceLib-simple/.no_build
- create mode 100644 test/1-sourceLib-simple/dub.json
- create mode 100644 test/1-sourceLib-simple/source/sourcelib/app.d
- create mode 100644 test/1-staticLib-simple/.no_run
- create mode 100644 test/1-staticLib-simple/dub.json
- create mode 100644 test/1-staticLib-simple/source/staticlib/app.d
- create mode 100644 test/2-dynLib-dep/dub.json
- create mode 100644 test/2-dynLib-dep/source/app.d
- create mode 100644 test/2-sourceLib-dep/dub.json
- create mode 100644 test/2-sourceLib-dep/source/app.d
- create mode 100644 test/2-staticLib-dep/dub.json
- create mode 100644 test/2-staticLib-dep/source/app.d
- create mode 100644 test/3-copyFiles/data/file_to_copy.txt
- create mode 100644 test/3-copyFiles/data/file_to_copy_mask1.txt
- create mode 100644 test/3-copyFiles/data/file_to_copy_mask2.txt
- create mode 100644 test/3-copyFiles/data/res/.nocopy/file_inside_dot_prefixed_dir.txt
- create mode 100644 test/3-copyFiles/data/res/hdpi/file1.txt
- create mode 100644 test/3-copyFiles/data/res/hdpi/file2.txt
- create mode 100644 test/3-copyFiles/data/res/hdpi/file3.txt
- create mode 100644 test/3-copyFiles/data/res/hdpi/nested_dir/nested_file.txt
- create mode 100644 test/3-copyFiles/data/res/i18n/resource_en.txt
- create mode 100644 test/3-copyFiles/data/res/i18n/resource_fr.txt
- create mode 100644 test/3-copyFiles/data/res/ldpi/file1.txt
- create mode 100644 test/3-copyFiles/data/res/ldpi/file2.txt
- create mode 100644 test/3-copyFiles/data/res/ldpi/file3.txt
- create mode 100644 test/3-copyFiles/data/res/mdpi/file1.txt
- create mode 100644 test/3-copyFiles/data/res/mdpi/file2.txt
- create mode 100644 test/3-copyFiles/data/res/mdpi/file3.txt
- create mode 100644 test/3-copyFiles/dub.json
- create mode 100644 test/3-copyFiles/source/app.d
- create mode 100755 test/4-describe-data-1-list.sh
- create mode 100755 test/4-describe-data-2-dmd.sh
- create mode 100755 test/4-describe-data-3-zero-delim.sh
- create mode 100755 test/4-describe-import-paths.sh
- create mode 100755 test/4-describe-json.sh
- create mode 100755 test/4-describe-string-import-paths.sh
- create mode 100644 test/custom-source-main-bug487/.gitignore
- create mode 100644 test/custom-source-main-bug487/.no_run
- create mode 100644 test/custom-source-main-bug487/.no_test
- create mode 100644 test/custom-source-main-bug487/dub.json
- create mode 100644 test/custom-source-main-bug487/mysrc/app.d
- create mode 100644 test/describe-dependency-1/.no_build
- create mode 100644 test/describe-dependency-1/data/dummy-dep1.dat
- create mode 100755 test/describe-dependency-1/dependency-postGenerateCommands.sh
- create mode 100755 test/describe-dependency-1/dependency-preGenerateCommands.sh
- create mode 100644 test/describe-dependency-1/dub.json
- create mode 100644 test/describe-dependency-1/otherdir/dummy.d
- create mode 100644 test/describe-dependency-1/source/dummy.d
- create mode 100644 test/describe-dependency-2/.no_build
- create mode 100644 test/describe-dependency-2/dub.json
- create mode 100644 test/describe-dependency-2/some-extra-string-import-path/dummy.d
- create mode 100644 test/describe-dependency-2/some-path/dummy.d
- create mode 100644 test/describe-dependency-3/.no_build
- create mode 100644 test/describe-dependency-3/dep3-source/dummy.d
- create mode 100644 test/describe-dependency-3/dep3-string-import-path/dummy.d
- create mode 100644 test/describe-dependency-3/dub.json
- create mode 100644 test/describe-project/.no_build
- create mode 100644 test/describe-project/data/dummy.dat
- create mode 100755 test/describe-project/do-postGenerateCommands.sh
- create mode 100755 test/describe-project/do-preGenerateCommands.sh
- create mode 100644 test/describe-project/dub.json
- create mode 100644 test/describe-project/src/dummy.d
- create mode 100644 test/describe-project/views/dummy.d
- create mode 100644 test/ignore-hidden-1/.gitignore
- create mode 100644 test/ignore-hidden-1/.no_run
- create mode 100644 test/ignore-hidden-1/.no_test
- create mode 100644 test/ignore-hidden-1/dub.json
- create mode 100644 test/ignore-hidden-1/source/.hidden.d
- create mode 100644 test/ignore-hidden-1/source/app.d
- create mode 100644 test/ignore-hidden-2/.gitignore
- create mode 100644 test/ignore-hidden-2/.no_run
- create mode 100644 test/ignore-hidden-2/.no_test
- create mode 100644 test/ignore-hidden-2/dub.json
- create mode 100644 test/ignore-hidden-2/source/.hidden.d
- create mode 100644 test/ignore-hidden-2/source/app.d
- create mode 100755 test/issue564-invalid-upgrade-dependency.sh
- create mode 100644 test/issue564-invalid-upgrade-dependency/.no_build
- create mode 100644 test/issue564-invalid-upgrade-dependency/.no_run
- create mode 100644 test/issue564-invalid-upgrade-dependency/.no_test
- create mode 100644 test/issue564-invalid-upgrade-dependency/a-1.0.0/dub.json
- create mode 100644 test/issue564-invalid-upgrade-dependency/a-1.0.0/source/a.d
- create mode 100644 test/issue564-invalid-upgrade-dependency/a-1.1.0/dub.json
- create mode 100644 test/issue564-invalid-upgrade-dependency/a-1.1.0/source/a.d
- create mode 100644 test/issue564-invalid-upgrade-dependency/main/dub.json
- create mode 100644 test/issue564-invalid-upgrade-dependency/main/dub.selections.json
- create mode 100644 test/issue564-invalid-upgrade-dependency/main/source/app.d
- create mode 100755 test/issue586-subpack-dep.sh
- create mode 100644 test/issue586-subpack-dep/.no_build
- create mode 100644 test/issue586-subpack-dep/.no_run
- create mode 100644 test/issue586-subpack-dep/.no_test
- create mode 100644 test/issue586-subpack-dep/a/b/dub.sdl
- create mode 100644 test/issue586-subpack-dep/a/b/source/b.d
- create mode 100644 test/issue586-subpack-dep/a/dub.sdl
- create mode 100644 test/issue586-subpack-dep/a/source/a.d
- create mode 100644 test/issue586-subpack-dep/main/dub.sdl
- create mode 100644 test/issue586-subpack-dep/main/dub.selections.json
- create mode 100644 test/issue586-subpack-dep/main/source/c.d
- create mode 100755 test/run-unittest.sh
- create mode 100644 test/sdl-package-simple/dub.sdl
- create mode 100644 test/sdl-package-simple/source/app.d
- create mode 100755 test/test-version-opt.sh
- create mode 100755 travis-ci.sh
-
-== At: /tmp/dub-registry ==
-== Executing: git pull ==
-Updating 81a2b4a..5e289b6
-Fast-forward
- .editorconfig | 9 +
- .travis.yml | 2 +
- README.md | 2 +
- categories.json | 4 +
- package.json => dub.json | 6 +-
- dub.selections.json | 14 +
- public/styles/common.css | 26 +-
- public/styles/markdown.css | 700 ++++++++++++++++++++
- source/app.d | 17 +-
- source/dubregistry/api.d | 85 +++
- source/dubregistry/cache.d | 72 ++-
- source/dubregistry/dbcontroller.d | 107 +++-
- source/dubregistry/notificationcenter.d | 9 +-
- source/dubregistry/registry.d | 144 ++++-
- source/dubregistry/repositories/bitbucket.d | 8 +-
- source/dubregistry/repositories/github.d | 6 +-
- source/dubregistry/viewutils.d | 52 +-
- source/dubregistry/web.d | 101 +--
- views/develop.dt | 6 +-
- views/download.dt | 7 +-
- views/{usage.dt => getting_started.dt} | 33 +-
- views/home.dt | 54 +-
- views/layout.dt | 20 +-
- views/my_packages.dt | 12 +-
- views/my_packages.package.dt | 19 +-
- views/my_packages.register.dt | 2 +-
- .../{package_format.dt => package_format_json.dt} | 203 +++---
- views/package_format_sdl.dt | 706 +++++++++++++++++++++
- views/publish.dt | 8 +-
- views/search_results.dt | 13 +-
- views/view_package.dt | 42 +-
- 31 files changed, 2184 insertions(+), 305 deletions(-)
- create mode 100644 .editorconfig
- create mode 100644 .travis.yml
- rename package.json => dub.json (79%)
- create mode 100644 dub.selections.json
- create mode 100644 public/styles/markdown.css
- create mode 100644 source/dubregistry/api.d
- rename views/{usage.dt => getting_started.dt} (58%)
- rename views/{package_format.dt => package_format_json.dt} (65%)
- create mode 100644 views/package_format_sdl.dt
-
-== At: /tmp/installer ==
-== Executing: git pull ==
-Updating 36c6e7c..564cd5e
-Fast-forward
- 2014/talks/bright.dd | 6 +-
- 2014/talks/buclaw.dd | 6 +-
- 2014/talks/chevalier_boisvert.dd | 6 +-
- 2014/talks/clugston.dd | 6 +-
- 2014/talks/dilly.dd | 6 +-
- 2014/talks/franklin.dd | 8 +
- 2014/talks/lightning.dd | 8 +-
- 2014/talks/meyers.dd | 6 +-
- 2014/talks/panteleev.dd | 6 +-
- 2014/talks/roberts.dd | 6 +-
- 2014/talks/ruppe.dd | 6 +-
- 2014/talks/sechet.dd | 6 +-
- 2014/talks/strasuns.dd | 6 +
- 2014/talks/wilson.dd | 6 +-
- 2015/Makefile | 64 +
- 2015/contact.dd | 8 +
- 2015/images/allison.jpg | Bin 0 -> 747431 bytes
- 2015/images/background.png | Bin 0 -> 899 bytes
- 2015/images/dconf_logo_2015.svg | 69 +
- 2015/images/dconf_logo_help.txt | 2 +
- 2015/images/dlogo.png | Bin 0 -> 20174 bytes
- 2015/images/schott.png | Bin 0 -> 44152 bytes
- 2015/images/smith.jpg | Bin 0 -> 237666 bytes
- 2015/images/wakeling.jpg | Bin 0 -> 65876 bytes
- 2015/includes/facebook.js | 7 +
- 2015/includes/google.js | 5 +
- 2015/includes/ie8.css | 16 +
- 2015/includes/iefix.css | 16 +
- 2015/includes/jquery.min.js | 5 +
- 2015/includes/style.css | 559 +
- 2015/includes/tweet.js | 1 +
- 2015/includes/twitter.js | 34 +
- 2015/includes/widget.js | 2249 ++
- 2015/index.dd | 32 +
- 2015/macros.ddoc | 120 +
- 2015/registration.dd | 132 +
- 2015/schedule/fragment.ddoc | 19 +
- 2015/schedule/index.dd | 58 +
- 2015/speakers/fragment.ddoc | 16 +
- 2015/speakers/index.dd | 27 +
- 2015/talks/alexandrescu.dd | 66 +
- 2015/talks/alexandrescu.pdf | Bin 0 -> 275582 bytes
- 2015/talks/allison.dd | 35 +
- 2015/talks/allison.pdf | Bin 0 -> 2618754 bytes
- 2015/talks/bright.dd | 48 +
- 2015/talks/bright.pdf | Bin 0 -> 74067 bytes
- 2015/talks/colvin.dd | 35 +
- 2015/talks/colvin.pdf | Bin 0 -> 158770 bytes
- 2015/talks/davis.dd | 50 +
- 2015/talks/davis.pdf | Bin 0 -> 118881 bytes
- 2015/talks/gubler.dd | 56 +
- 2015/talks/gubler.pdf | 62250 +++++++++++++++++++++++++++++++++++++
- 2015/talks/isaacson.dd | 53 +
- 2015/talks/isaacson.pdf | Bin 0 -> 2485503 bytes
- 2015/talks/macros.ddoc | 52 +
- 2015/talks/murphy.dd | 61 +
- 2015/talks/murphy.pdf | Bin 0 -> 244535 bytes
- 2015/talks/nadlinger.dd | 50 +
- 2015/talks/nadlinger.pdf | Bin 0 -> 281685 bytes
- 2015/talks/neves.dd | 38 +
- 2015/talks/neves.pdf | Bin 0 -> 334984 bytes
- 2015/talks/nowak.dd | 54 +
- 2015/talks/panel1.dd | 33 +
- 2015/talks/panel2.dd | 35 +
- 2015/talks/ruppe.dd | 72 +
- 2015/talks/ruppe.pdf | Bin 0 -> 216076 bytes
- 2015/talks/schott.dd | 64 +
- 2015/talks/schott.zip | Bin 0 -> 14297283 bytes
- 2015/talks/sechet.dd | 48 +
- 2015/talks/sechet.pdf | Bin 0 -> 1098936 bytes
- 2015/talks/smith.dd | 71 +
- 2015/talks/smith.pdf | Bin 0 -> 867150 bytes
- 2015/talks/strasuns.dd | 74 +
- 2015/talks/strasuns.pdf | Bin 0 -> 159890 bytes
- 2015/talks/wakeling.dd | 40 +
- 2015/talks/wakeling.pdf | Bin 0 -> 203542 bytes
- 2015/talks/zvibel.dd | 37 +
- 2015/talks/zvibel.pdf | Bin 0 -> 1875984 bytes
- 2015/thankyou.dd | 7 +
- 2015/venue.dd | 32 +
- Makefile | 7 +-
- index.php | 2 +-
- 82 files changed, 66857 insertions(+), 40 deletions(-)
- create mode 100644 2015/Makefile
- create mode 100644 2015/contact.dd
- create mode 100644 2015/images/allison.jpg
- create mode 100644 2015/images/background.png
- create mode 100644 2015/images/dconf_logo_2015.svg
- create mode 100644 2015/images/dconf_logo_help.txt
- create mode 100644 2015/images/dlogo.png
- create mode 100644 2015/images/schott.png
- create mode 100644 2015/images/smith.jpg
- create mode 100644 2015/images/wakeling.jpg
- create mode 100644 2015/includes/facebook.js
- create mode 100644 2015/includes/google.js
- create mode 100644 2015/includes/ie8.css
- create mode 100644 2015/includes/iefix.css
- create mode 100644 2015/includes/jquery.min.js
- create mode 100644 2015/includes/style.css
- create mode 100644 2015/includes/tweet.js
- create mode 100644 2015/includes/twitter.js
- create mode 100644 2015/includes/widget.js
- create mode 100644 2015/index.dd
- create mode 100644 2015/macros.ddoc
- create mode 100644 2015/registration.dd
- create mode 100644 2015/schedule/fragment.ddoc
- create mode 100644 2015/schedule/index.dd
- create mode 100644 2015/speakers/fragment.ddoc
- create mode 100644 2015/speakers/index.dd
- create mode 100644 2015/talks/alexandrescu.dd
- create mode 100644 2015/talks/alexandrescu.pdf
- create mode 100644 2015/talks/allison.dd
- create mode 100644 2015/talks/allison.pdf
- create mode 100644 2015/talks/bright.dd
- create mode 100755 2015/talks/bright.pdf
- create mode 100644 2015/talks/colvin.dd
- create mode 100644 2015/talks/colvin.pdf
- create mode 100644 2015/talks/davis.dd
- create mode 100644 2015/talks/davis.pdf
- create mode 100644 2015/talks/gubler.dd
- create mode 100644 2015/talks/gubler.pdf
- create mode 100644 2015/talks/isaacson.dd
- create mode 100644 2015/talks/isaacson.pdf
- create mode 100644 2015/talks/macros.ddoc
- create mode 100644 2015/talks/murphy.dd
- create mode 100644 2015/talks/murphy.pdf
- create mode 100644 2015/talks/nadlinger.dd
- create mode 100644 2015/talks/nadlinger.pdf
- create mode 100644 2015/talks/neves.dd
- create mode 100644 2015/talks/neves.pdf
- create mode 100644 2015/talks/nowak.dd
- create mode 100644 2015/talks/panel1.dd
- create mode 100644 2015/talks/panel2.dd
- create mode 100644 2015/talks/ruppe.dd
- create mode 100644 2015/talks/ruppe.pdf
- create mode 100644 2015/talks/schott.dd
- create mode 100644 2015/talks/schott.zip
- create mode 100644 2015/talks/sechet.dd
- create mode 100644 2015/talks/sechet.pdf
- create mode 100644 2015/talks/smith.dd
- create mode 100644 2015/talks/smith.pdf
- create mode 100644 2015/talks/strasuns.dd
- create mode 100644 2015/talks/strasuns.pdf
- create mode 100644 2015/talks/wakeling.dd
- create mode 100644 2015/talks/wakeling.pdf
- create mode 100644 2015/talks/zvibel.dd
- create mode 100644 2015/talks/zvibel.pdf
- create mode 100644 2015/thankyou.dd
- create mode 100644 2015/venue.dd
-
-Updating b8aa5c0..eee4042
-Fast-forward
- create_dmd_release/build_all.d | 409 ++++++-----
- create_dmd_release/create_dmd_release.d | 818 ++++-----------------
- create_dmd_release/patches/dlang.org.patch | 106 +++
- create_dmd_release/patches/tools.patch | 15 +
- linux/dmd_deb.sh | 63 +-
- linux/dmd_win.sh | 154 ----
- linux/icons/16/dmd-source.png | Bin 0 -> 720 bytes
- linux/icons/22/dmd-source.png | Bin 0 -> 1156 bytes
- linux/icons/24/dmd-source.png | Bin 0 -> 1191 bytes
- linux/icons/256/dmd-source.png | Bin 0 -> 28536 bytes
- linux/icons/48/dmd-source.png | Bin 0 -> 2936 bytes
- linux/readme | 12 -
- linux/win/EnvVarUpdate.nsh | 352 ---------
- linux/win/installer-icon.ico | Bin 15086 -> 0 bytes
- linux/win/installer.nsi | 482 ------------
- linux/win/installer_image.bmp | Bin 172854 -> 0 bytes
- linux/win/uninstaller-icon.ico | Bin 15086 -> 0 bytes
- osx/Makefile | 9 +-
- windows/d1-installer-descriptions.nsh | 20 +
- windows/d1-installer-image.bmp | Bin 0 -> 230454 bytes
- windows/d1-installer.nsi | 296 ++++++++
- ...criptions.nsh => d2-installer-descriptions.nsh} | 15 +-
- ...{installer_image.bmp => d2-installer-image.bmp} | Bin
- windows/d2-installer.nsi | 484 ++++++++++++
- windows/dinstaller.nsi | 650 ----------------
- .../dmc-installer-descriptions.nsh | 5 +-
- windows/dmc-installer-image.bmp | Bin 0 -> 230454 bytes
- windows/dmc-installer.nsi | 259 +++++++
- 28 files changed, 1599 insertions(+), 2550 deletions(-)
- create mode 100644 create_dmd_release/patches/dlang.org.patch
- create mode 100644 create_dmd_release/patches/tools.patch
- delete mode 100755 linux/dmd_win.sh
- create mode 100644 linux/icons/16/dmd-source.png
- create mode 100644 linux/icons/22/dmd-source.png
- create mode 100644 linux/icons/24/dmd-source.png
- create mode 100644 linux/icons/256/dmd-source.png
- create mode 100644 linux/icons/48/dmd-source.png
- delete mode 100644 linux/win/EnvVarUpdate.nsh
- delete mode 100644 linux/win/installer-icon.ico
- delete mode 100644 linux/win/installer.nsi
- delete mode 100644 linux/win/installer_image.bmp
- delete mode 100644 linux/win/uninstaller-icon.ico
- create mode 100644 windows/d1-installer-descriptions.nsh
- create mode 100644 windows/d1-installer-image.bmp
- create mode 100644 windows/d1-installer.nsi
- rename windows/{dinstaller_descriptions.nsh => d2-installer-descriptions.nsh} (58%)
- rename windows/{installer_image.bmp => d2-installer-image.bmp} (100%)
- create mode 100644 windows/d2-installer.nsi
- delete mode 100644 windows/dinstaller.nsi
- rename linux/win/installer_descriptions.nsh => windows/dmc-installer-descriptions.nsh (67%)
- create mode 100644 windows/dmc-installer-image.bmp
- create mode 100644 windows/dmc-installer.nsi
-
-All done, error count: 0.
Output after:
$ rm -rf tools/
$ rm -rf installer/
$ rm -rf dub-registry/
$ touch tools
And commenting the git clone part is:
Warning: /tmp/tools is not a directory.
== At: /tmp/dub ==
== Executing: git pull ==
== At: /tmp/dconf.org ==
== Executing: git pull ==
Already up-to-date.
Warning: /tmp/dub-registry does not exist.
Warning: /tmp/installer does not exist.
Already up-to-date.
All done, error count: 3.
Press any key to continue...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment