List of commits:
Subject Hash Author Date (UTC)
Implement `hide` command. ab693b8fd91c93dfd7ee7b82cbae75b2a6043b0f Jan Allersma 2018-12-29 15:13:25
Resolve missing/erroneous build/run commands. e81d57882036a6475718b0653169c609d23b1c30 Jan Allersma 2018-12-25 13:06:00
Show working directory in status. ab188603dda062de4b2ea76c5bc1d2d41d98b8c2 Jan Allersma 2018-12-25 10:36:35
Add shell fallthrough. 02078135791fb3889152c11defaa2df21d0ae597 Jan Allersma 2018-12-22 19:47:36
Show dependencies when using `delete` command. cfa9779714d5e6d46ab5b4eeb84a915a15f23f54 Jan Allersma 2018-12-20 15:46:05
Resolve dep-tree by building project recursively. f53e38d790ec67d99ec8204af97273a53b73a9dc Jan Allersma 2018-12-19 14:54:07
Improve `dep-tree` command. 90bfa0340b7b874d65c08dc05c3d711abda1c469 Jan Allersma 2018-12-17 20:10:14
Implement experimental `dep-tree` command. 45d9dfdbfc99c59174e7c587621276b78ab7a4e9 Jan Allersma 2018-12-14 16:11:53
Implement `add` command. bbb2544bd06f29866465d651c32ca4d6e017f5e9 Jan Allersma 2018-12-11 15:43:10
Implement `exe` command. 1eaa36242201cf7ade5f23a14340e630c267db07 Jan Allersma 2018-12-11 13:23:32
Implement `run` and `build` commands. 14e9e25b6a06f587c1a50829e72c829ae59a87c2 Jan Allersma 2018-12-10 20:57:08
Implement non-recursive dependency check. 5ffd40604755d1c2dde9353c74f06a006deea33c Jan Allersma 2018-12-07 20:50:42
Restructure project. c2d98caf7897e87284fb2891e1d4b92d14cf37e1 Jan Allersma 2018-12-06 16:20:46
Initial commit. 4c152d55edc20ac55fd749a2b32b204134a664e3 Jan Allersma 2018-12-05 17:03:08
Commit ab693b8fd91c93dfd7ee7b82cbae75b2a6043b0f - Implement `hide` command.
Make errors from `backend::config.rs` functions clearer.
Author: Jan Allersma
Author date (UTC): 2018-12-29 15:13
Committer name: Jan Allersma
Committer date (UTC): 2018-12-29 15:15
Parent(s): e81d57882036a6475718b0653169c609d23b1c30
Signing key:
Tree: 0840096cd75c4f2a0c9297bf1f2593421e8105fc
File Lines added Lines deleted
Cargo.lock 151 0
Cargo.toml 1 0
src/backend/config.rs 36 7
src/backend/delete.rs 1 2
src/backend/git/ignore.rs 22 0
src/backend/git/mod.rs 3 0
src/backend/git/rec.rs 1 0
src/backend/git/status.rs 1 0
src/backend/mod.rs 1 0
src/backend/project.rs 14 2
src/parser.rs 11 0
File Cargo.lock changed (mode: 100644) (index 0766c6a..0aa7ce0)
... ... dependencies = [
46 46 name = "beheer" name = "beheer"
47 47 version = "0.1.0" version = "0.1.0"
48 48 dependencies = [ dependencies = [
49 "git2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
49 50 "rustyline 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustyline 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
50 51 "serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
51 52 ] ]
 
... ... name = "constant_time_eq"
79 80 version = "0.1.3" version = "0.1.3"
80 81 source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
81 82
83 [[package]]
84 name = "curl-sys"
85 version = "0.4.15"
86 source = "registry+https://github.com/rust-lang/crates.io-index"
87 dependencies = [
88 "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
89 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
90 "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
91 "openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)",
92 "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
93 "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
94 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
95 ]
96
82 97 [[package]] [[package]]
83 98 name = "dirs" name = "dirs"
84 99 version = "1.0.4" version = "1.0.4"
 
... ... name = "fuchsia-zircon-sys"
123 138 version = "0.3.3" version = "0.3.3"
124 139 source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
125 140
141 [[package]]
142 name = "git2"
143 version = "0.8.0"
144 source = "registry+https://github.com/rust-lang/crates.io-index"
145 dependencies = [
146 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
147 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
148 "libgit2-sys 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)",
149 "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
150 "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
151 "openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)",
152 "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
153 ]
154
155 [[package]]
156 name = "idna"
157 version = "0.1.5"
158 source = "registry+https://github.com/rust-lang/crates.io-index"
159 dependencies = [
160 "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
161 "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
162 "unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
163 ]
164
126 165 [[package]] [[package]]
127 166 name = "itoa" name = "itoa"
128 167 version = "0.4.3" version = "0.4.3"
 
... ... name = "libc"
133 172 version = "0.2.45" version = "0.2.45"
134 173 source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
135 174
175 [[package]]
176 name = "libgit2-sys"
177 version = "0.7.11"
178 source = "registry+https://github.com/rust-lang/crates.io-index"
179 dependencies = [
180 "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
181 "curl-sys 0.4.15 (registry+https://github.com/rust-lang/crates.io-index)",
182 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
183 "libssh2-sys 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
184 "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
185 "openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)",
186 "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
187 ]
188
189 [[package]]
190 name = "libssh2-sys"
191 version = "0.2.11"
192 source = "registry+https://github.com/rust-lang/crates.io-index"
193 dependencies = [
194 "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
195 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
196 "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
197 "openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)",
198 "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
199 "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
200 ]
201
202 [[package]]
203 name = "libz-sys"
204 version = "1.0.25"
205 source = "registry+https://github.com/rust-lang/crates.io-index"
206 dependencies = [
207 "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
208 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
209 "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
210 "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
211 ]
212
136 213 [[package]] [[package]]
137 214 name = "log" name = "log"
138 215 version = "0.4.6" version = "0.4.6"
 
... ... dependencies = [
141 218 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
142 219 ] ]
143 220
221 [[package]]
222 name = "matches"
223 version = "0.1.8"
224 source = "registry+https://github.com/rust-lang/crates.io-index"
225
144 226 [[package]] [[package]]
145 227 name = "memchr" name = "memchr"
146 228 version = "2.1.2" version = "2.1.2"
 
... ... name = "nodrop"
168 250 version = "0.1.13" version = "0.1.13"
169 251 source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
170 252
253 [[package]]
254 name = "openssl-probe"
255 version = "0.1.2"
256 source = "registry+https://github.com/rust-lang/crates.io-index"
257
258 [[package]]
259 name = "openssl-sys"
260 version = "0.9.40"
261 source = "registry+https://github.com/rust-lang/crates.io-index"
262 dependencies = [
263 "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
264 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
265 "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
266 "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
267 ]
268
269 [[package]]
270 name = "percent-encoding"
271 version = "1.0.1"
272 source = "registry+https://github.com/rust-lang/crates.io-index"
273
274 [[package]]
275 name = "pkg-config"
276 version = "0.3.14"
277 source = "registry+https://github.com/rust-lang/crates.io-index"
278
171 279 [[package]] [[package]]
172 280 name = "proc-macro2" name = "proc-macro2"
173 281 version = "0.4.24" version = "0.4.24"
 
... ... dependencies = [
277 385 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
278 386 ] ]
279 387
388 [[package]]
389 name = "unicode-bidi"
390 version = "0.3.4"
391 source = "registry+https://github.com/rust-lang/crates.io-index"
392 dependencies = [
393 "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
394 ]
395
396 [[package]]
397 name = "unicode-normalization"
398 version = "0.1.7"
399 source = "registry+https://github.com/rust-lang/crates.io-index"
400
280 401 [[package]] [[package]]
281 402 name = "unicode-segmentation" name = "unicode-segmentation"
282 403 version = "1.2.1" version = "1.2.1"
 
... ... name = "unicode-xid"
292 413 version = "0.1.0" version = "0.1.0"
293 414 source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
294 415
416 [[package]]
417 name = "url"
418 version = "1.7.2"
419 source = "registry+https://github.com/rust-lang/crates.io-index"
420 dependencies = [
421 "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
422 "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
423 "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
424 ]
425
295 426 [[package]] [[package]]
296 427 name = "utf8parse" name = "utf8parse"
297 428 version = "0.1.1" version = "0.1.1"
298 429 source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
299 430
431 [[package]]
432 name = "vcpkg"
433 version = "0.2.6"
434 source = "registry+https://github.com/rust-lang/crates.io-index"
435
300 436 [[package]] [[package]]
301 437 name = "version_check" name = "version_check"
302 438 version = "0.1.5" version = "0.1.5"
 
... ... source = "registry+https://github.com/rust-lang/crates.io-index"
337 473 "checksum cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a8b715cb4597106ea87c7c84b2f1d452c7492033765df7f32651e66fcf749" "checksum cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a8b715cb4597106ea87c7c84b2f1d452c7492033765df7f32651e66fcf749"
338 474 "checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4" "checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
339 475 "checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e" "checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e"
476 "checksum curl-sys 0.4.15 (registry+https://github.com/rust-lang/crates.io-index)" = "721c204978be2143fab0a84b708c49d79d1f6100b8785610f456043a90708870"
340 477 "checksum dirs 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "88972de891f6118092b643d85a0b28e0678e0f948d7f879aa32f2d5aafe97d2a" "checksum dirs 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "88972de891f6118092b643d85a0b28e0678e0f948d7f879aa32f2d5aafe97d2a"
341 478 "checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7" "checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7"
342 479 "checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596" "checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596"
343 480 "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
344 481 "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
482 "checksum git2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7339329bfa14a00223244311560d11f8f489b453fb90092af97f267a6090ab0"
483 "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
345 484 "checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" "checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b"
346 485 "checksum libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)" = "2d2857ec59fadc0773853c664d2d18e7198e83883e7060b63c924cb077bd5c74" "checksum libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)" = "2d2857ec59fadc0773853c664d2d18e7198e83883e7060b63c924cb077bd5c74"
486 "checksum libgit2-sys 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)" = "48441cb35dc255da8ae72825689a95368bf510659ae1ad55dc4aa88cb1789bf1"
487 "checksum libssh2-sys 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "126a1f4078368b163bfdee65fbab072af08a1b374a5551b21e87ade27b1fbf9d"
488 "checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
347 489 "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
490 "checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
348 491 "checksum memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "db4c41318937f6e76648f42826b1d9ade5c09cafb5aef7e351240a70f39206e9" "checksum memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "db4c41318937f6e76648f42826b1d9ade5c09cafb5aef7e351240a70f39206e9"
349 492 "checksum nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17" "checksum nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17"
350 493 "checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" "checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
494 "checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
495 "checksum openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)" = "1bb974e77de925ef426b6bc82fce15fd45bdcbeb5728bffcfc7cdeeb7ce1c2d6"
496 "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
497 "checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
351 498 "checksum proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "77619697826f31a02ae974457af0b29b723e5619e113e9397b8b82c6bd253f09" "checksum proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "77619697826f31a02ae974457af0b29b723e5619e113e9397b8b82c6bd253f09"
352 499 "checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c" "checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c"
353 500 "checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd" "checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd"
 
... ... source = "registry+https://github.com/rust-lang/crates.io-index"
361 508 "checksum serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)" = "c37ccd6be3ed1fdf419ee848f7c758eb31b054d7cd3ae3600e3bae0adf569811" "checksum serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)" = "c37ccd6be3ed1fdf419ee848f7c758eb31b054d7cd3ae3600e3bae0adf569811"
362 509 "checksum syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)" = "9545a6a093a3f0bd59adb472700acc08cad3776f860f16a897dfce8c88721cbc" "checksum syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)" = "9545a6a093a3f0bd59adb472700acc08cad3776f860f16a897dfce8c88721cbc"
363 510 "checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015" "checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
511 "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
512 "checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25"
364 513 "checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1" "checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1"
365 514 "checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" "checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
366 515 "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
516 "checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
367 517 "checksum utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d" "checksum utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d"
518 "checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d"
368 519 "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
369 520 "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
370 521 "checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0" "checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
File Cargo.toml changed (mode: 100644) (index e696031..47d2e5c)
... ... authors = ["Jan Allersma <jan@allersma.be>"]
6 6 [dependencies] [dependencies]
7 7 serde_json = "1.0" serde_json = "1.0"
8 8 rustyline = "2.1.0" rustyline = "2.1.0"
9 git2 = "0.8"
File src/backend/config.rs changed (mode: 100644) (index 495c65e..4ece9c9)
1 1 extern crate serde_json; extern crate serde_json;
2 2
3 use std::io;
3 4 use std::io::{Error, ErrorKind, Write, Read}; use std::io::{Error, ErrorKind, Write, Read};
4 5 use std::fs::File; use std::fs::File;
5 6 use std::path::PathBuf; use std::path::PathBuf;
6 7 use std::result::Result; use std::result::Result;
7 8
8 9 pub fn create(mut path: PathBuf) -> Result<(), Error> { pub fn create(mut path: PathBuf) -> Result<(), Error> {
10 path.push("beheer.json");
11 init(&path)
12 }
13
14 fn init(path: &PathBuf) -> Result<(), Error> {
9 15 let content = json!({ let content = json!({
10 16 "build": { "build": {
11 17 "windows": "", "windows": "",
 
... ... pub fn create(mut path: PathBuf) -> Result<(), Error> {
19 25 } }
20 26 }); });
21 27
22 path.push("beheer.json");
23
24 28 match File::open(path.to_str().unwrap()) { match File::open(path.to_str().unwrap()) {
25 29 Ok(_) => return Err(Error::new(ErrorKind::AlreadyExists, "Already found a 'beheer.json' file.")), Ok(_) => return Err(Error::new(ErrorKind::AlreadyExists, "Already found a 'beheer.json' file.")),
26 30 Err(_) => { Err(_) => {
 
... ... pub fn update(mut path: PathBuf, value: serde_json::Value) -> Result<(), String>
50 54 } }
51 55 } }
52 56
53 fn read(mut path: PathBuf) -> Result<String, String> {
57 fn read(path: &mut PathBuf) -> Result<String, Error> {
54 58 let mut config = String::new(); let mut config = String::new();
55 59
56 60 path.push("beheer.json"); path.push("beheer.json");
61 check(&path);
57 62
58 63 match File::open(path.to_str().unwrap()) { match File::open(path.to_str().unwrap()) {
59 64 Ok(mut file) => { Ok(mut file) => {
60 65 file.read_to_string(&mut config).unwrap(); file.read_to_string(&mut config).unwrap();
61 66 }, },
62 Err(e) => return Err(e.to_string())
67 Err(e) => return Err(e)
63 68 } }
64 69
65 70 Ok(config) Ok(config)
66 71 } }
67 72
68 pub fn get_json(path: PathBuf) -> Result<serde_json::Value, String> {
69 match read(path) {
73 pub fn get_json(mut path: PathBuf) -> Result<serde_json::Value, String> {
74 match read(&mut path) {
70 75 Ok(config) => super::dep::json(config), Ok(config) => super::dep::json(config),
71 Err(e) => Err(e.to_string())
76 Err(e) => {
77 println!("Error on config file: '{}'.", path.to_str().unwrap());
78 match e.kind() {
79 ErrorKind::NotFound => Err(String::from("No config file found.")),
80 ErrorKind::PermissionDenied => Err(String::from("Config file unreadable: permission denied.")),
81 _ => Err(e.to_string())
82 }
83 }
84 }
85 }
86
87 fn check(config: &PathBuf) {
88 if !config.is_file() {
89 let mut input = String::new();
90
91 println!("'{}' not found. ", config.to_str().unwrap());
92 println!("Initialize module with new config file [y/N]?");
93
94 match io::stdin().read_line(&mut input) {
95 Ok(_) if input.as_str() == "y\n" => match init(config) {
96 Ok(_) => {},
97 Err(e) => println!("Module initialization failed. Details: {}", e)
98 },
99 Ok(_) | Err(_) => {}
100 }
72 101 } }
73 102 } }
File src/backend/delete.rs changed (mode: 100644) (index ca3192b..87818db)
... ... fn dep_check(node: &Node) -> Result<(), String> {
56 56 println!("Continue [y/N]?"); println!("Continue [y/N]?");
57 57
58 58 match io::stdin().read_line(&mut input) { match io::stdin().read_line(&mut input) {
59 Ok(_) if input.as_str() == "y\n" => {
60 },
59 Ok(_) if input.as_str() == "y\n" => {},
61 60 Ok(_) => return Err(String::from("Aborted.")), Ok(_) => return Err(String::from("Aborted.")),
62 61 Err(e) => return Err(e.to_string()) Err(e) => return Err(e.to_string())
63 62 } }
File src/backend/git/ignore.rs added (mode: 100644) (index 0000000..2b17844)
1 use std::io::Write;
2 use std::path::PathBuf;
3 use std::fs::OpenOptions;
4
5 pub fn add(path: &mut PathBuf, item: &mut String) -> Result<(), String> {
6 path.push(".gitignore");
7 item.push('\n');
8
9 let file_options = OpenOptions::new()
10 .append(true)
11 .open(path);
12
13 match file_options {
14 Ok(mut file) => {
15 match file.write(item.as_bytes()) {
16 Ok(_) => Ok(()),
17 Err(e) => Err(e.to_string())
18 }
19 },
20 Err(e) => Err(e.to_string())
21 }
22 }
File src/backend/git/mod.rs added (mode: 100644) (index 0000000..bf699b5)
1 mod rec;
2 pub mod status;
3 pub mod ignore;
File src/backend/git/rec.rs added (mode: 100644) (index 0000000..27ff93a)
1 extern crate git2;
File src/backend/git/status.rs added (mode: 100644) (index 0000000..27ff93a)
1 extern crate git2;
File src/backend/mod.rs changed (mode: 100644) (index c6fa915..7bdad7e)
... ... pub mod build;
8 8 pub mod dep; pub mod dep;
9 9 pub mod fetch; pub mod fetch;
10 10 pub mod system; pub mod system;
11 pub mod git;
File src/backend/project.rs changed (mode: 100644) (index be666ca..83054f2)
1 1 use std::env; use std::env;
2 2 use std::result::Result; use std::result::Result;
3 use std::process::{Command, Stdio};
4 3 use super::deptree; use super::deptree;
5 4
6 5 pub fn init<I>(args: &mut I) where I: Iterator<Item=String> { pub fn init<I>(args: &mut I) where I: Iterator<Item=String> {
 
... ... pub fn delete<I>(path: &mut I) -> Result<String, String> where I: Iterator<Item=
96 95 } }
97 96 } }
98 97
98 pub fn ignore<I>(args: &mut I) -> Result<(), String> where I: Iterator<Item=String> {
99 let mut path = match args.next() {
100 Some(arg) => arg,
101 None => return Err(String::from("Missing path as argument."))
102 };
103
104 match env::current_dir() {
105 Ok(mut dir) => super::git::ignore::add(&mut dir, &mut path),
106 Err(e) => Err(e.to_string())
107 }
108 }
109
99 110 pub fn dep_tree<I>(args: &mut I) -> Result<deptree::Node, String> where I: Iterator<Item=String> { pub fn dep_tree<I>(args: &mut I) -> Result<deptree::Node, String> where I: Iterator<Item=String> {
100 111 let path = match super::filesystem::get_current_module_root() { let path = match super::filesystem::get_current_module_root() {
101 112 Some(p) => p, Some(p) => p,
 
... ... pub fn help() {
125 136 println!("run [ARGUMENTS]\t\t\t Build and run current project with ARGUMENTS to run project with."); println!("run [ARGUMENTS]\t\t\t Build and run current project with ARGUMENTS to run project with.");
126 137 println!("exe [ARGUMENTS]\t\t\t Run current project with ARGUMENTS. The project won't be built."); println!("exe [ARGUMENTS]\t\t\t Run current project with ARGUMENTS. The project won't be built.");
127 138 println!("add NAME COMMAND [ARGUMENTS]\t Add dependency with NAME to module and is built through COMMAND with ARGUMENTS."); println!("add NAME COMMAND [ARGUMENTS]\t Add dependency with NAME to module and is built through COMMAND with ARGUMENTS.");
128 println!("delete PATH\t\t\t Delete a dependency in PATH.");
139 println!("hide NAME COMMAND [ARGUMENTS]\t Add dependency with NAME to module and is built through COMMAND with ARGUMENTS. Add configfile to '.gitignore'.");
140 println!("delete PATH\t\t\t Delete a dependency in PATH.");
129 141 println!("dep-tree [all|linux|os-x|windows] Print a tree of all dependencies used (indirectly) by a project for specified OS. Defaults to 'all'."); println!("dep-tree [all|linux|os-x|windows] Print a tree of all dependencies used (indirectly) by a project for specified OS. Defaults to 'all'.");
130 142 } }
File src/parser.rs changed (mode: 100644) (index 1944511..cca6685)
... ... fn parse<I>(args: &mut I, open_shell: bool) -> bool where I: Iterator<Item=Strin
48 48 Err(e) => println!("Could not add dependency: {}", e) Err(e) => println!("Could not add dependency: {}", e)
49 49 } }
50 50 } }
51 else if argument == "hide" {
52 let result = match backend::project::ignore(args) {
53 Ok(_) => backend::add::add(args),
54 Err(e) => Err(e)
55 };
56
57 match result {
58 Ok(msg) => println!("{}", msg),
59 Err(e) => println!("Could not add dependency: {}", e)
60 }
61 }
51 62 else if argument == "delete" { else if argument == "delete" {
52 63 match backend::project::delete(args) { match backend::project::delete(args) {
53 64 Ok(module) => println!("Module '{}' deleted.", module), Ok(module) => println!("Module '{}' deleted.", module),
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/kapstok/NHL-Beheer

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/kapstok/NHL-Beheer

Clone this repository using git:
git clone git://git.rocketgit.com/user/kapstok/NHL-Beheer

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main