Grzegorz Dlugoszewski
7c5abae165
Remove verbose flags from git clone
2020-06-25 13:00:30 +02:00
Grzegorz Dlugoszewski
539c3beb90
Load repos status simultaneously with goroutines
...
Also, refactor printer interface.
2020-06-25 12:53:27 +02:00
Grzegorz Dlugoszewski
da8849d7f5
Update dump tests to better follow table-driven pattern
2020-06-25 09:50:12 +02:00
Grzegorz Dlugoszewski
fe07ab3c8a
Fix typos in comments
2020-06-25 00:00:09 +02:00
Grzegorz Dlugoszewski
8c132cdafa
Remove gogit and major refactoring ( #2 )
...
* Fix typo in readme
* Reimplement all git methods without go-git
* Rename repo pkg to git, add gitconfig methods
* Improve tests for configuration reading
* Rename package file to io and move RepoFinder there
* Refactor printers
- Remove smart printer
- Decouple printers from git repos with interfaces
- Update printer functions
- Remove unnecessary flags
- Add better remote URL detection
* Update readme and go.mod
* Add author to git commit in tests
Otherwise tests will fail in CI.
* Install git before running tests and don't use cgo
* Add better error message, revert installing git
* Ensure commit message is in quotes
* Set up git config before running tests
2020-06-24 23:54:44 +02:00
Grzegorz Dlugoszewski
4868713746
Update help commands and errors messages
2020-06-19 16:39:26 +02:00
Grzegorz Dlugoszewski
de51c05158
Update readme, add some todos, add example svg
2020-06-19 13:31:01 +02:00
Grzegorz Dlugoszewski
32211e6408
Cleanup the print package
...
- Use strings.Builder instead of concatenation
- Move smart tree to a separate file
- Add missing docstrings
2020-06-18 19:20:03 +02:00
Grzegorz Dlugoszewski
4fbdcde57b
Fallback to default branch when cloning instead of parsing
2020-06-18 18:45:04 +02:00
Grzegorz Dlugoszewski
e800652a6e
Implement ignoreExisting flag and set default branch also for dump cloning
2020-06-18 17:30:42 +02:00
Grzegorz Dlugoszewski
7ba950a6a0
Refactor cloning dump file
2020-06-18 17:10:14 +02:00
Grzegorz Dlugoszewski
3e9c7644c6
Rename bundle to dump
2020-06-18 15:47:15 +02:00
Grzegorz Dlugoszewski
5a588f22d1
Refactor implementations of get and list commands
...
- Simplify the main functions by moving actual implementation to "pkg" package
- Remove the "path" package and move files into the root "pkg" package
- Replace viper with explicit Cfg structs
2020-06-18 15:44:10 +02:00
Grzegorz Dlugoszewski
8511cd6c97
Rename git package to repo package
2020-06-18 14:22:03 +02:00
Grzegorz Dlugoszewski
da8f0931d0
Add a "dump" output option to git-list
...
It prints a list of all repos URL and is supposed to be consumed by `git get --dump` option.
2020-06-18 11:05:39 +02:00
Grzegorz Dlugoszewski
5835777850
Split get and list commands into separate binaries
2020-06-12 21:36:31 +02:00
Grzegorz Dlugoszewski
c71ebea2d4
Move the version metadata to cfg packageThis way it can be used by multiple binaries.
2020-06-12 21:09:32 +02:00
Grzegorz Dlugoszewski
33ca245d3a
Refactor pkg directory back
2020-06-12 20:19:05 +02:00
Grzegorz Dlugoszewski
f3d0df1bfd
Refactor packages structure
...
- Isolate files into their own packages
- Create new printer package and interface
- Refactor Repo stuct to embed the go-git *Repository directly
- Simplify cmd package
2020-06-08 12:07:03 +02:00
Grzegorz Dlugoszewski
29c21cb78d
Improve the implementation of the smart tree printer
...
It now correctly indents lines with branches status
2020-06-06 16:56:42 +02:00
Grzegorz Dlugoszewski
13c03bc2ef
Add new tree implementation and remove treeprint dependency
2020-06-06 10:00:11 +02:00
Grzegorz Dlugoszewski
1f707ad7db
Test new tree implementation of repos list
2020-06-04 20:26:27 +02:00
Grzegorz Dlugoszewski
239ff699a3
Add ssh key authentication when cloning via ssh
2020-06-04 15:45:46 +02:00
Grzegorz Dlugoszewski
f4636a3a73
Fix reading config values from cli flags
...
* InitConfig needs to be called after cmd.Execute, otherwise the flags are not parsed yet
* Values need to be checked also for emptiness, not only for being unset
2020-06-04 13:02:24 +02:00
Grzegorz Dlugoszewski
7d2c9b1954
Fix tests after changing the way branches are ordered
...
"master" branch is now always on top.
2020-06-04 12:24:37 +02:00
Grzegorz Dlugoszewski
f2d8496136
Refactor config provider using viper
2020-06-04 11:38:01 +02:00
Grzegorz Dlugoszewski
205eecc073
Update branch name sorting to keep master always on top
2020-06-03 16:39:22 +02:00
Grzegorz Dlugoszewski
142fdf1844
Add printing status of multiple branches
2020-06-03 16:21:01 +02:00
Grzegorz Dlugoszewski
64dfea5a7f
Add a list flag and basic rendering of repos status
2020-06-03 15:59:51 +02:00
Grzegorz Dlugoszewski
b7bd30c960
Check if repos root exists and is not empty before opening repos
2020-06-03 13:25:01 +02:00
Grzegorz Dlugoszewski
8a79dcfd9f
Add checking what is the current branch and if HEAD is detached
2020-06-02 16:46:10 +02:00
Grzegorz Dlugoszewski
1406aa78c6
Load gitignore patterns also from files declared in excludesfile
2020-06-02 14:34:10 +02:00
Grzegorz Dlugoszewski
abf220355c
Add basic printing of all repos status
2020-06-02 12:40:22 +02:00
Grzegorz Dlugoszewski
cef21acc9e
Add nil pointer check when accessing config provider
2020-05-30 12:45:55 +02:00
Grzegorz Dlugoszewski
7e42b1e3e9
Use the configured default host when host is empty after parsing the URL
2020-05-30 12:45:07 +02:00
Grzegorz Dlugoszewski
1798816b6a
Enable accessing config from gitconfig file or env variables
2020-05-29 21:19:55 +02:00
Grzegorz Dlugoszewski
3335c81aa4
Refactor tests by removing redundant TestRepo struct
2020-05-29 10:11:08 +02:00
Grzegorz Dlugoszewski
1bc3928cf5
Finish refactoring by replacing old pkg with new one
2020-05-28 16:34:44 +02:00
Grzegorz Dlugoszewski
b94e655d4a
Refactor Clone method to use go-git
2020-05-27 12:54:49 +02:00
Grzegorz Dlugoszewski
7ab4489dfe
Add ssh credentials callback when cloning via ssh protocol
2020-05-26 10:34:36 +02:00
Grzegorz Dlugoszewski
a530b1506c
Refactor URL parsing so it's not being called twice
2020-05-22 15:53:44 +02:00
Grzegorz Dlugoszewski
2b622b99fe
Parse URL and create a repo dir inside CloneRepo function
2020-05-22 12:21:19 +02:00
Grzegorz Dlugoszewski
2bb6f06962
Add function for creating dirs for cloned repos
2020-05-22 10:33:15 +02:00
Grzegorz Dlugoszewski
3cdd1eddf4
Add a small URL corner case
2020-05-22 09:57:01 +02:00
Grzegorz Dlugoszewski
02e32a5543
Handle scp-like syntax in URL parsing, add more tests
2020-05-22 08:52:08 +02:00
Grzegorz Dlugoszewski
bb3a243829
Add URL parsing function and its unit tests
2020-05-21 22:48:28 +02:00
Grzegorz Dlugoszewski
91cf26ef27
Refactor Repo code and tests
...
- Add Repo as a separate type
- Merge together repo status and branches status
- Load status on repo opening
2020-05-20 14:44:59 +02:00
Grzegorz Dlugoszewski
ac765c9c06
Add cobra commands and update project folder structure
2020-05-20 11:37:16 +02:00