From 02d51b8ebfe57c2c3dc81f06bce79e9f5812c324 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Mon, 5 Oct 2020 20:56:06 +0100 Subject: [PATCH] Check whether images have changed --- src/compose.rs | 7 +++++++ src/main.rs | 13 +++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/compose.rs b/src/compose.rs index f497040..6c2cb02 100644 --- a/src/compose.rs +++ b/src/compose.rs @@ -1,4 +1,5 @@ use std::collections::HashSet; +use std::fmt; use std::path::{Path, PathBuf}; use std::process::Command; @@ -39,3 +40,9 @@ impl ComposeProject { stdout.trim().split('\n').map(String::from).collect() } } + +impl fmt::Display for ComposeProject { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{}", self.compose_file.display()) + } +} diff --git a/src/main.rs b/src/main.rs index b78f8c8..5038bb7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -33,7 +33,20 @@ fn get_files(files: &[String]) -> Option> { } fn do_update(compose_project: compose::ComposeProject) { + info!("Processing {}...", compose_project); + let pre_images = compose_project.get_images(); + if pre_images.is_empty() { + warn!("no running images, skipping"); + return; + } + compose_project.pull(); + + let post_images = compose_project.get_images(); + + if post_images == pre_images { + info!("No change to images"); + } } fn main() {