Archive of the diff files and changelog using git on Linux system.
The ota_packer tool provided in bin
directory can build two types of package: full and incremental. The tool takes the target-files .tar
and .zip
files produced by your project installation files as input, and the project installation file must use the Git
tool to manage.
The executable file of linux-x86-64
version is provided by default and placed in bin
directory.Therefore, just download to run:
$ git clone https://github.com/yicm/OtaPackageTool.git
$ git clone https://github.com/yicm/OtaPackageTool.git
$ cd OtaPackageTool
$ go build -o bin ./...
$ cd your_installation_file_version_repository
ota_packer
command# --------------------------------------------------
$ ota_packer version
ota_packer version 0.0.1
# --------------------------------------------------
$ ota_packer -h
Archive of the diff files using git on Linux system.
Usage:
ota_packer [command]
Available Commands:
gen Generate package file
help Help about any command
version Get version of ota_packer
Flags:
-c, --config string Config file (default is $HOME/.ota_packer.yaml)
-h, --help help for ota_packer
-n, --project-name string Your project name (default "OTA")
Use "ota_packer [command] --help" for more information about a command.
# --------------------------------------------------
$ ota_packer gen -h
Generate a specific version package by entering different configuration parameters.
Usage:
ota_packer gen [flags]
Flags:
-F, --diff-filter string git diff --diff-filter and a similar designation (default "ACMRT")
-e, --end-commit-id string End revision (default "HEAD")
-f, --format string The format of the archive, supporting zip and tar (default "tar")
-h, --help help for gen
-o, --output string Output destination path of the archive
-p, --prefix string Prefixed to the filename in the archive while project name is not set. (default "ota_packer")
-s, --start-commit-id string Start revision (default "HEAD~1")
-v, --verbose Show packaging process statistics
Global Flags:
-c, --config string Config file (default is $HOME/.ota_packer.yaml)
-n, --project-name string Your project name (default "OTA")
If you set start-commit-id
and end-commit-id
to the same value, a full upgrade package for current commit id is generated.
$ ota_packer gen -s HEAD -e HEAD
$ ota_packer gen -s HEAD~1 -e HEAD~1
$ ota_packer gen -s HEAD~3 -e HEAD~1
$ ota_packer gen -s 6bc76a1f -e 6bc76a1f
Set start-commit-id
and end-commit-id
. If end-commit-id
datetime is greater than start-commit-id
datetime, an incremental upgrade
package is generated, otherwise incremental downgrade
package is generated.
$ ota_packer gen -s HEAD~2 -e HEAD~0
$ ota_packer gen -s 6bc76a1f -e 9d31d032
# Set output path as 'tmp' directory, and set project name as 'Test'
$ ./output/ota_packer gen -s HEAD~1 -e HEAD~0 -o tmp -n "Test"
-----------------------------------------------------------------
Project Name | Test
------------------+----------------------------------------------
Output Path | tmp/
------------------+----------------------------------------------
Output | Test-20200630145419-6bc76a1-to-9d31d03.tar
------------------+----------------------------------------------
Changelog | ota_info.json
------------------+----------------------------------------------
{
"project_name": "Test",
"last_ota_version": "6bc76a1",
"ota_version": "9d31d03",
"is_full_update": false,
"changes": [
{
"type": "D",
"old_path": "models/y.model",
"new_path": "models/y.model"
}
]
}
------------------+----------------------------------------------
A: addition of a file
C: copy of a file into a new one
D: deletion of a file
M: modification of the contents or mode of a file
R: renaming of a file
T: change in the type of the file
Released under the MIT Licence.
学习交流可以加我微信(XEthanm):
最新分享内容将会公众号首发: