6
0
mirror of https://github.com/grdl/git-get.git synced 2026-02-07 18:09:18 +00:00
Commit Graph

54 Commits

Author SHA1 Message Date
Grzegorz Dlugoszewski
d0797ad9b7 Fix showing stdout of git commands
We need to capture also stderr because this is where eg, the progress of git clone is printed
2020-06-30 13:54:43 +02:00
Grzegorz Dlugoszewski
29330d8af7 Add missing docstrings 2020-06-30 11:32:05 +02:00
Grzegorz Dlugoszewski
235ea0d811 Replace path.Join with filepath.Join
Path is for URLs, filepath is for os paths. This solves the problem with wrong repo root on windows.
2020-06-30 11:25:49 +02:00
Grzegorz Dlugoszewski
b8606568ef Expand home dir path after reading config 2020-06-30 11:22:55 +02:00
Grzegorz Dlugoszewski
7b9e74f903 Skip cloning a repo if target path already exists when getting a dump file 2020-06-30 10:23:10 +02:00
Grzegorz Dlugoszewski
28b24ec5ce Add a run package responsible for running git commands
- Add better git error handling
- Move repo helpers into a separate package
2020-06-26 13:36:58 +02:00
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