summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Maciej Wereski [Tue, 7 Mar 2017 10:27:38 +0000 (11:27 +0100)]
Add support for ignoring blacklisted repositories
This change allows user to use blacklist file (default provided). Such
file is a list of regular expressions that describe git repositories
(one per line). Default blacklist file makes snapsync ignore profile
repositories.
Change-Id: I9c82ae82d7b17a4aeeccb18d1c3379a0a08cb37b
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
Maciej Wereski [Fri, 3 Mar 2017 11:48:41 +0000 (12:48 +0100)]
Implement comparison of commits
Compare chronogically in terms of commit parent-child relation
between source and target commit. Result is saved in GitRepo.Status.
This information will be used to choose which repositories and
commits should be synchronized.
Change-Id: I08a8c4f26a2644712f72d9062055157349953425
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
Maciej Wereski [Fri, 3 Mar 2017 11:16:02 +0000 (12:16 +0100)]
Use configuration file
Snapsync will use ini-style configuration (with use of
go-ini package). Settings are divided in two sections:
* Repos - all settings for RPM and git repositories - i.e. addresses,
profiles
* General - other settings (currently git manager settings)
Snapsync looks for config file in standard places (/etc/snapsync and
~/.snapsync/). Also user may use -config flag to point to other file.
Examplary file is provided.
Change-Id: I239aa3925f02b7aec6fe0f1e6887e2179ec3f7c1
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
Maciej Wereski [Thu, 2 Mar 2017 14:57:05 +0000 (15:57 +0100)]
Add git job manager
gitManager will be used to run tasks on git repositories. It provides
few job types:
* verify - chronologically compares source and target commits
* add remote - adds requested remote to local git repository
* tag - applies requested tag on requested commit
* push - pushes requested tag to remote
All those tasks are run by set number of workers (by default equal to
number of available CPUs) in parallel. Communication is done via job and
error channels and method to cancel pending jobs is available.
Change-Id: I90c315747a4882f9e01f8428cf11d677236297da
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
Maciej Wereski [Thu, 2 Mar 2017 12:17:39 +0000 (13:17 +0100)]
Add git repository data structures
These structures describe git repositories available in source/target
profiles and how HEADS in those profile relate to each other.
Change-Id: I26bb0711c85c997b8c609cfffe219b28c999ac38
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
Maciej Wereski [Wed, 1 Mar 2017 14:42:00 +0000 (15:42 +0100)]
Download and parse profile XMLs
With every snapshot few XML manifests are published. build.xml provides
information about published RPM repositories. Every RPM repository has
own XML manifest which contain information about git repositories and
respective commits used to build RPM packages.
Change-Id: I1cac5134c2551b53ce7595e4ed2dca7fd363d588
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
Maciej Wereski [Tue, 21 Feb 2017 15:00:31 +0000 (16:00 +0100)]
Add Apache 2.0 license
Change-Id: Ibda4b62adbd06f4fa049b047af0f16abd686d0c1
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
seonil kim [Thu, 21 Jan 2016 04:24:29 +0000 (20:24 -0800)]
Initial empty repository