From 9a157b4f047f3eeeb2feacc95f03214de59fc6e0 Mon Sep 17 00:00:00 2001 From: Timon Burkard Date: Tue, 27 Jan 2026 21:59:45 +0100 Subject: [PATCH 1/5] [issue] set state,assignee #59 -- [cmd/show] remove title from metadata table --- .gitissues/issues/0000000059/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitissues/issues/0000000059/meta.yaml b/.gitissues/issues/0000000059/meta.yaml index e1e844e..a824ebc 100644 --- a/.gitissues/issues/0000000059/meta.yaml +++ b/.gitissues/issues/0000000059/meta.yaml @@ -1,13 +1,13 @@ _version: 1 id: 59 title: '[cmd/show] remove title from metadata table' -state: new +state: active type: '' labels: [] reporter: t.burkard -assignee: '' +assignee: t.burkard priority: '' due_date: '' relationships: {} created: 2026-01-27T20:35:19Z -updated: 2026-01-27T20:35:19Z +updated: 2026-01-27T20:59:45Z From 0cef971ea15e4ad575e94ca4caef0f5a664ae5bd Mon Sep 17 00:00:00 2001 From: Timon Burkard Date: Tue, 27 Jan 2026 22:03:17 +0100 Subject: [PATCH 2/5] [title] removed title from metadata table in markdown Acc. to code change in previous commit. Signed-off-by: Timon Burkard --- src/cmd/show.rs | 2 -- tests/includes/show_empty.md | 1 - tests/includes/show_metadata.md | 29 ++++++++++++++--------------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/cmd/show.rs b/src/cmd/show.rs index 4fcc231..9efc172 100644 --- a/src/cmd/show.rs +++ b/src/cmd/show.rs @@ -65,7 +65,6 @@ fn generate_content_metadata(id: u32, meta: &Meta) -> String { content.push_str(&format!("| **field** | {:width$} |\n", "**value**")); content.push_str(&format!("| ----------------- | {} |\n", "-".repeat(width))); content.push_str(&format!("| **id** | {:width$} |\n", values["id"])); - content.push_str(&format!("| **title** | {:width$} |\n", values["title"])); content.push_str(&format!("| **state** | {:width$} |\n", values["state"])); content.push_str(&format!("| **type** | {:width$} |\n", values["type"])); content.push_str(&format!("| **labels** | {:width$} |\n", values["labels"])); @@ -84,7 +83,6 @@ fn get_values(meta: &Meta) -> (usize, HashMap) { let mut values = HashMap::new(); values.insert("id".to_string(), meta.id.to_string()); - values.insert("title".to_string(), meta.title.clone()); values.insert("state".to_string(), meta.state.clone()); values.insert("type".to_string(), dash_if_empty(&meta.type_)); values.insert("labels".to_string(), dash_if_empty(&meta.labels.join(","))); diff --git a/tests/includes/show_empty.md b/tests/includes/show_empty.md index 3c97674..65cdefb 100644 --- a/tests/includes/show_empty.md +++ b/tests/includes/show_empty.md @@ -7,7 +7,6 @@ | **field** | **value** | | ----------------- | -------------------- | | **id** | 1 | -| **title** | Simple issue | | **state** | new | | **type** | - | | **labels** | - | diff --git a/tests/includes/show_metadata.md b/tests/includes/show_metadata.md index e1d4d56..745cc46 100644 --- a/tests/includes/show_metadata.md +++ b/tests/includes/show_metadata.md @@ -4,21 +4,20 @@ ## Meta Data -| **field** | **value** | -| ----------------- | -------------------------- | -| **id** | 1 | -| **title** | Very important new feature | -| **state** | active | -| **type** | feature | -| **labels** | ui,driver | -| **reporter** | alice | -| **assignee** | bob | -| **priority** | P1 | -| **due_date** | 2026-06-24 | -| **relationships** | related: 2 | -| | child: 2, 3 | -| **created** | __CREATED__ | -| **updated** | __UPDATED__ | +| **field** | **value** | +| ----------------- | -------------------- | +| **id** | 1 | +| **state** | active | +| **type** | feature | +| **labels** | ui,driver | +| **reporter** | alice | +| **assignee** | bob | +| **priority** | P1 | +| **due_date** | 2026-06-24 | +| **relationships** | related: 2 | +| | child: 2, 3 | +| **created** | __CREATED__ | +| **updated** | __UPDATED__ | ## Description From eab133c7a92c85177ab814fe04dabcfa66b1938f Mon Sep 17 00:00:00 2001 From: Timon Burkard Date: Tue, 27 Jan 2026 22:12:39 +0100 Subject: [PATCH 3/5] [test] additional functional test for `show` command Same as `test_show_metadata` but with wider metadata values to ensure the formatting of the table is also correct if one of the rows is wider than the created/updated dates. Signed-off-by: Timon Burkard --- tests/includes/show_metadata_wider.md | 30 ++++++++++++++++ tests/show_tests.rs | 52 +++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 tests/includes/show_metadata_wider.md diff --git a/tests/includes/show_metadata_wider.md b/tests/includes/show_metadata_wider.md new file mode 100644 index 0000000..cdb5418 --- /dev/null +++ b/tests/includes/show_metadata_wider.md @@ -0,0 +1,30 @@ + + +# Issue #1 -- Very important new feature + +## Meta Data + +| **field** | **value** | +| ----------------- | ------------------------------------------ | +| **id** | 1 | +| **state** | active | +| **type** | feature | +| **labels** | ui,driver,backend,api,performance,security | +| **reporter** | alice | +| **assignee** | bob | +| **priority** | P1 | +| **due_date** | 2026-06-24 | +| **relationships** | related: 2 | +| | child: 2, 3 | +| **created** | __CREATED__ | +| **updated** | __UPDATED__ | + +## Description + +### Description + +### Repro Steps + +### Expected Behavior + +### System Info diff --git a/tests/show_tests.rs b/tests/show_tests.rs index 6cf79d7..6ac3bd1 100644 --- a/tests/show_tests.rs +++ b/tests/show_tests.rs @@ -93,3 +93,55 @@ fn test_show_metadata() { assert!((stdout_str == expected) || (stdout_str == expected_updated_plus_1) || (stdout_str == expected_both_plus_1)); } + +#[test] +fn test_show_metadata_wider() { + let _env = TestEnv::new(); + + run_command(&["init", "--no-commit"]).expect("init failed"); + disable_auto_commit(); + + // Change settings: Set 'editor' to 'cat' resp. 'cat'-equivalent + let editor = if cfg!(windows) { "type" } else { "cat" }; + let settings_path = ".gitissues/settings.yaml"; + let mut settings = load_yaml_values(settings_path); + settings["editor"] = serde_yaml::Value::String(editor.to_string()); + save_yaml_values(settings_path, &settings); + + // Current time + let t = Utc::now(); + let now = t.format("%Y-%m-%dT%H:%M:%SZ").to_string(); + let now_plus_1s = (t + Duration::from_secs(1)).format("%Y-%m-%dT%H:%M:%SZ").to_string(); + + // Create new issue + run_command(&["new", "Very important new feature"]).expect("new failed"); + run_command(&["new", "Issue 2"]).expect("new failed"); + run_command(&["new", "Issue 3"]).expect("new failed"); + + // Set some metadata with wider values (a lot of labels) + run_command(&["set", "1", "--state", "active"]).expect("set failed"); + run_command(&["set", "1", "--type", "feature"]).expect("set failed"); + run_command(&["set", "1", "--priority", "P1"]).expect("set failed"); + run_command(&["set", "1", "--labels", "ui,driver,backend,api,performance,security"]).expect("set failed"); + run_command(&["set", "1", "--reporter", "alice"]).expect("set failed"); + run_command(&["set", "1", "--assignee", "bob"]).expect("set failed"); + run_command(&["set", "1", "--due_date", "2026-06-24"]).expect("set failed"); + run_command(&["link", "1", "--add", "related=2"]).expect("set failed"); + run_command(&["link", "1", "--add", "child=2,3"]).expect("set failed"); + + // expected + let expected_template = include_str!("includes/show_metadata_wider.md").replace("\r\n", "\n"); + + let expected = expected_template.replace("__CREATED__", &now).replace("__UPDATED__", &now); + let expected_updated_plus_1 = expected_template.replace("__CREATED__", &now).replace("__UPDATED__", &now_plus_1s); + let expected_both_plus_1 = expected_template + .replace("__CREATED__", &now_plus_1s) + .replace("__UPDATED__", &now_plus_1s); + + // stdout + let output = run_command(&["show", "1"]).expect("show failed"); + let stdout = String::from_utf8_lossy(&output.stdout); + let stdout_str = stdout.as_ref().replace("\r\n", "\n"); + + assert!((stdout_str == expected) || (stdout_str == expected_updated_plus_1) || (stdout_str == expected_both_plus_1)); +} From 653c08ddf28ebd844209c3954c749c03b69b7163 Mon Sep 17 00:00:00 2001 From: Timon Burkard Date: Tue, 27 Jan 2026 22:14:05 +0100 Subject: [PATCH 4/5] [doc] updated CHANGELOG Signed-off-by: Timon Burkard --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 271cb1d..bd018fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed + - [cmd/show] removed title from metadata table in markdown (#59) - [config] moved `export_csv_separator` from config to settings --> YAML schema v2 (#58) - [structure] added lib, implemented separation between cmd and cli From 6f314ed9e630747b264db39a577ddc3bd760d942 Mon Sep 17 00:00:00 2001 From: Timon Burkard Date: Tue, 27 Jan 2026 22:14:20 +0100 Subject: [PATCH 5/5] [issue] set state #59 -- [cmd/show] remove title from metadata table --- .gitissues/issues/0000000059/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitissues/issues/0000000059/meta.yaml b/.gitissues/issues/0000000059/meta.yaml index a824ebc..0df61d4 100644 --- a/.gitissues/issues/0000000059/meta.yaml +++ b/.gitissues/issues/0000000059/meta.yaml @@ -1,7 +1,7 @@ _version: 1 id: 59 title: '[cmd/show] remove title from metadata table' -state: active +state: resolved type: '' labels: [] reporter: t.burkard @@ -10,4 +10,4 @@ priority: '' due_date: '' relationships: {} created: 2026-01-27T20:35:19Z -updated: 2026-01-27T20:59:45Z +updated: 2026-01-27T21:14:20Z