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

139 Commits

Author SHA1 Message Date
Grzegorz Dlugoszewski
c2fe6e6bab Move test package inside the git package
It is not being used by other packages so it should belong to `git` package.
2020-07-27 12:17:30 +02:00
Grzegorz Dlugoszewski
3aef50a4d0 Move status loader into the git package
- Loading status belongs to git domain so it makes more sense for it to
  be in git package.
- It also makes the `list` file simpler.
- Because status loader is now part of the RepoFinder, the ugly Repo interface is no longer necessary.
2020-07-27 11:15:35 +02:00
Grzegorz Dlugoszewski
942af7df6d Update changelog for v0.2.0 v0.2.0 2020-07-08 15:06:31 +02:00
Grzegorz Dlugoszewski
2726afa8a5 Merge pull request #8 from grdl/io_pkg_refactor
io package refactoring
2020-07-08 15:01:12 +02:00
Grzegorz Dlugoszewski
13e936c376 Add repo finder tests 2020-07-08 14:58:19 +02:00
Grzegorz Dlugoszewski
cdca8b89d9 Move temp dir cleanup into tempDir function
Cleaning up belongs to a directory, not an abstract git repo.
2020-07-08 14:37:29 +02:00
Grzegorz Dlugoszewski
8ab4681c26 Refactor repoFinder
- Remove io package and move finder to git package
- Move tempDir and writeFile into test package. They are only used for testing purposes anyway.
- Add a way to specify parent folder for tempDir. Useful for testing nested repos.
- Add new test repos with .git/config files
2020-07-08 14:37:29 +02:00
Mallory Adams
5ab6031382 Do not traverse through git repositories (#6)
This makes `git list` a lot faster (10 minutes to under 2 minutes in one
test) and displays more useful information.

Example of `git list` from before this change demonstrating that `git
list` was hiding the information about the main repository in favour of
showing information about a `composer` dependency:

```
├── iguana-extras
│   └── vendor
│       └── dxw
│           └── iguana HEAD ok
│                      master ok
```

Example from after this change:

```
├── iguana-extras master  [ 1 untracked ]
│                 feature/readme no upstream
│                 feature/update-iguana no upstream
│                 fix/php-cs-fixer no upstream
```
2020-07-08 14:35:22 +02:00
Grzegorz Dlugoszewski
32bc6a3f67 Update changelog for v0.1.0 v0.1.0 2020-07-07 18:58:00 +02:00
Grzegorz Dlugoszewski
0064fc3b8e Add --skip-host flag to get command (#7)
When set, git-get won't create a directory for the repo host.
So instead of `<root>/<host>/<user>/<repo>`, a repo will be cloned into `<root>/<user>/<repo>`.
It's useful if all repos some from the same host and that additional folder feels redundant.
2020-07-07 18:35:30 +02:00
Grzegorz Dlugoszewski
0097681f89 Small grammar and stylistic changes in readme 2020-07-02 10:27:33 +02:00
Grzegorz Dlugoszewski
c466867718 Add output screenshots to readme 2020-07-02 10:18:26 +02:00
Grzegorz Dlugoszewski
0ef3f9ce73 Update example svg with new version output 2020-07-02 10:02:14 +02:00
Grzegorz Dlugoszewski
03cdb8fe82 Update changelog v0.0.7 2020-07-02 09:41:06 +02:00
Grzegorz Dlugoszewski
132b3ef13d Fix missing fetch call 2020-07-02 09:39:35 +02:00
Grzegorz Dlugoszewski
ec13c85898 Update changelog v0.0.6 2020-07-01 21:36:51 +02:00
Grzegorz Dlugoszewski
5c9cb12bab Fix tree view indentation 2020-07-01 21:31:50 +02:00
Grzegorz Dlugoszewski
d964158bf7 Fix problems with loading values from gitconfig 2020-06-30 21:25:42 +02:00
Grzegorz Dlugoszewski
aee6d8209b Improve printing tree view
...by correctly indenting the branches list
2020-06-30 16:19:15 +02:00
Grzegorz Dlugoszewski
53c82514c7 Add .deb and .rpm files to goreleaser 2020-06-30 14:11:21 +02:00
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
fe35a7e493 Update changelog v0.0.5 2020-06-30 11:42:19 +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
2ef739ea49 Update brew config to install both binaries v0.0.4 2020-06-19 21:10:42 +02:00
Grzegorz Dlugoszewski
180156861d Update changelog 2020-06-19 21:03:18 +02:00
Grzegorz Dlugoszewski
cfe968fc24 Add missing header to readme 2020-06-19 20:52:14 +02:00
Grzegorz Dlugoszewski
a7f849543b Add table of contents to readme 2020-06-19 20:49:11 +02:00
Grzegorz Dlugoszewski
ceafb97740 Add more documentation to readme 2020-06-19 20:30:04 +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
330cbf5840 Rename license file for consistency sake 2020-06-18 17:13:51 +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
edf60064a8 Don't include additional files into release archives and use zip for windows 2020-06-12 21:58:35 +02:00
Grzegorz Dlugoszewski
5835777850 Split get and list commands into separate binaries 2020-06-12 21:36:31 +02:00