summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'benbrown/version' into 'master'HEADpython-1.0.0masterBen Brown2023-04-073-7/+5
|\ | | | | | | | | Set version to 1.0.0 See merge request CodethinkLabs/lorry/lorry!39
| * misc: Appease lintersBen Brown2023-04-071-2/+0
| |
| * pre-commit: Update lintersBen Brown2023-04-071-3/+3
| |
| * pre-commit: Update flake8 urlBen Brown2023-04-071-1/+1
| |
| * Set version to 1.0.0Ben Brown2023-04-071-1/+1
|/
* Merge branch 'benbrown/bump-black' into 'master'Ben Brown2022-03-291-1/+1
|\ | | | | | | | | Bump black version to fix CI See merge request CodethinkLabs/lorry/lorry!38
| * Bump black version to fix CIBen Brown2022-03-291-1/+1
|/
* Merge branch 'shprdchris/create-raw-tests' into 'master'Ben Brown2022-03-297-1/+205
|\ | | | | | | | | Add CI testing for raw files See merge request CodethinkLabs/lorry/lorry!37
| * Add CI testing for raw filesChris Shepherd2022-03-297-1/+205
|/ | | | | | | | | | | | Created two tests for the creation of appropriate local git repos from folders of raw files. 1. One raw file. Verify that the desired form of the .lorry file creates a corresponding git repo with the correct relative paths. 2. Multiple raw files. Verify all the above, plus the additon of all raw files and the updating of the realtive paths upon changes of the .lorry file.
* Merge branch 'shprdchris/remove-persistent-configuration' into 'master'Ben Brown2022-02-211-21/+96
|\ | | | | | | | | | | | | Remove persistent configuration downstream Closes #30 See merge request CodethinkLabs/lorry/lorry!36
| * Remove persistent configuration downstreamChris Shepherd2022-02-181-21/+96
|/ | | | | | | | | | | Checks whether downstream files are now redundant according to current .lorry file, using `git worktree`. If so, their paths are deleted downstream. Also checks whether redundant files are not needed locally, ie the files haven't just been moved to a new path. If so, they're deleted. Resolves #30
* Merge branch 'benbrown/lint' into 'master'Ben Brown2022-02-0711-627/+816
|\ | | | | | | | | Update linting and style checking See merge request CodethinkLabs/lorry/lorry!35
| * Update CI pipelineBen Brown2022-02-051-33/+28
| | | | | | | | Splits pipeline into two stages: linting and testing.
| * Make flake8 happyBen Brown2022-02-054-20/+20
| |
| * Commit changes from from black and isortBen Brown2022-02-057-576/+752
| |
| * Add configs for linting and style checking via pre-commitBen Brown2022-02-052-0/+17
| |
| * Ignore .venvBen Brown2022-02-051-0/+1
|/
* Merge branch 'benbrown/optional-dest' into 'master'Ben Brown2022-02-052-4/+4
|\ | | | | | | | | Set 'destination' field as optional See merge request CodethinkLabs/lorry/lorry!34
| * Set 'destination' field as optionalBen Brown2022-02-052-4/+4
|/
* Merge branch 'shprdchris/raw-file-new-format' into 'master'Ben Brown2022-02-022-9/+15
|\ | | | | | | | | | | | | (v2) Make raw importer honour multiple files Closes #29 See merge request CodethinkLabs/lorry/lorry!33
| * (v2) Make raw importer honour multiple filesshprdchris2022-02-022-9/+15
|/ | | | | | | | | | | | | | | | | | | | | | | Resolves issue where raw importer was only honouring last entry for several files with same upstream path. These files were being passed as comma-separated URLs under the 'urls' tag in the .lorry file. The yaml importer could only store one entry per 'urls', updating a dictionary entry after each comma. The changes in this commit allow for multiple files to be added, but the URLs must now be added in the form: ``` urls: - destination: libosinfo url: https://releases.pagure.org/libosinfo/osinfo-db-20211216.tar.xz - destination: libosinfo url: https://releases.pagure.org/libosinfo/libosinfo-1.2.0.tar.gz ``` A previous branch was created to resolve this issue, but the solution required URLs to be separted by whitespace. It was decided that the format implemented here is preferable. Resolves: #29
* Merge branch 'benbrown/lfs-improvements' into 'master'Ben Brown2022-01-252-12/+12
|\ | | | | | | | | | | | | Support mirroring lfs content to the root of the repository Closes #27 See merge request CodethinkLabs/lorry/lorry!31
| * Add check to disallow directory traversalBen Brown2022-01-191-0/+4
| |
| * Add support for storing raw files at the repository rootBen Brown2022-01-192-3/+5
| |
| * Simplify raw-file-importer argument parsingBen Brown2022-01-191-10/+4
|/ | | | | We always pass the relative path, drop support for optionally passing it.
* Merge branch 'benbrown/gitdir' into 'master'Ben Brown2022-01-191-2/+2
|\ | | | | | | | | Create the gitdir regardless of no new archive/lfs content See merge request CodethinkLabs/lorry/lorry!30
| * Create the gitdir regardless of no new archive/lfs contentBen Brown2022-01-151-2/+2
|/
* Merge branch 'km/test-fix' into 'master'Ben Brown2021-12-302-5/+7
|\ | | | | | | | | Fix default make tarball behaviour and test See merge request CodethinkLabs/lorry/lorry!29
| * Create tarball dest only when neededKyle Mckay2021-12-291-1/+2
| |
| * Fix failing make tarball testKyle Mckay2021-12-291-2/+3
| | | | | | | | | | Use tarball-dest since test is checking creation works, not default location behaviour
| * Use a default tarball output locationKyle Mckay2021-12-291-2/+2
|/ | | | Prevent them being created in root of current directory
* Merge branch 'dest' into 'master'Ben Brown2021-12-151-4/+9
|\ | | | | | | | | | | | | Create tarball destination when non-existent Closes #23 See merge request CodethinkLabs/lorry/lorry!28
| * Create tarball destination when non-existentKyle Mckay2021-12-151-4/+9
|/ | | | | | Just a quality of life improvement Closes #23
* Merge branch 'ellisb/setuseragent' into 'master'Pedro Alvarez Piedehierro2021-12-151-4/+19
|\ | | | | | | | | Spoof user-agent to look like browser See merge request CodethinkLabs/lorry/lorry!27
| * Set url-agent to Lorry if we get 403 HTTP statusEllis Barnwell2021-12-151-4/+19
|/ | | | | | If we get an HTTPError 403 then set the user-agent so it is clear that the request is coming from Lorry. This is used to get around situations where the url has blocked python user-agents.
* Merge branch 'benbrown/hard-links' into 'master'Ben Brown2021-11-243-12/+92
|\ | | | | | | | | lorry.tar-importer: support hard links See merge request CodethinkLabs/lorry/lorry!23
| * Add test to verify hard link supportBen Brown2021-11-242-0/+72
| |
| * lorry.tar-importer: support hard linksBen Brown2021-11-241-12/+20
|/ | | | | | | | | | | | | | | Integrates support for hard links from the change made in upstream git back in 2016. Below is the body of the upstream commit (04e0869876f726d5af9ac901911781d440e6aed2): Previously, we simply treated hard links as if they were plain files with size 0, ignoring the link type "1" and hence the link target. What we should do instead, of course, is to use the link target to get at the import mark for the contents, even if we cannot recreate the hard link per se, as Git has no concept of hard links.
* Merge branch 'benbrown/python-version' into 'master'Ben Brown2021-11-193-3/+16
|\ | | | | | | | | | | | | Set minimum version to 3.6 Closes #26 See merge request CodethinkLabs/lorry/lorry!25
| * Set minimum version to 3.6Ben Brown2021-11-182-1/+6
| | | | | | | | | | 3.6 is not EOL yet, let's not rush to requiring anything higher just yet.
| * Modify raw-file importer to work with python 3.6Ben Brown2021-11-181-2/+10
|/
* Merge branch 'km/setup' into 'master'Ben Brown2021-11-181-1/+2
|\ | | | | | | | | Include raw file importer in setup See merge request CodethinkLabs/lorry/lorry!24
| * Include raw file importer in setupKyle Mckay2021-11-181-1/+2
|/ | | | | Required for blob mirroring to work in TroveKube minion Docker image (or anywhere else setup.py is used to install).
* Merge branch 'benbrown/global-pax-header' into 'master'Ben Brown2021-11-174-0/+75
|\ | | | | | | | | | | | | Ignore the global PAX header Closes #25 See merge request CodethinkLabs/lorry/lorry!22
| * Add test for ignoring of global pax headerBen Brown2021-11-173-0/+73
| |
| * import-tars: ignore the global PAX headerJohannes Schindelin2021-11-161-0/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tar importer in `contrib/fast-import/import-tars.perl` has a very convenient feature: if _all_ paths stored in the imported `.tar` start with a common prefix, e.g. `git-2.26.0/` in the tar at https://github.com/git/git/archive/v2.26.0.tar.gz, then this prefix is stripped. This feature makes a ton of sense because it is relatively common to import two or more revisions of the same project into Git, and obviously we don't want all files to live in a tree whose name changes from revision to revision. Now, the problem with that feature is that it breaks down if there is a `pax_global_header` "file" located outside of said prefix, at the top of the tree. This is the case for `.tar` files generated by Git's very own `git archive` command: it inserts that header, and `git archive` allows specifying a common prefix (that the header does _not_ share with the other files contained in the archive) via `--prefix=my-project-1.0.0/`. Let's just skip any global header when importing `.tar` files into Git. Note: this global header might contain useful information. For example, in the output of `git archive`, it lists the original commit, which _is_ useful information. A future improvement to the `import-tars.perl` script might be to include that information in the commit message, or do other things with the information (e.g. use `mtime` information contained in the global header as date of the commit). This patch does not prevent any future patch from making that happen, it only prevents the header from being treated as if it was a regular file. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge branch 'jonathanmaw/lfs-raw-file-repo' into 'master'Ben Brown2021-11-163-3/+196
|\ | | | | | | | | Introduce support for raw file lorries See merge request CodethinkLabs/lorry/lorry!21
| * Use context manager for raw file requestsKyle Mckay2021-11-161-3/+2
| | | | | | | | | | | | | | - Automaitcally clean up when done - Improve code readability - Use of parentheses around a with statement is a Python 3.10 change (though supported in 3.9)
| * Use local install for git lfsKyle Mckay2021-11-151-1/+1
| | | | | | | | | | Don't want to polute the environment and install globally
| * Update readme to reflect new raw-file lorry typeKyle Mckay2021-11-151-4/+10
| |