Skip to content

Commit 690efec

Browse files
committed
chore: Bump version to 3.1.0 and update documentation
- Update VERSION file from 3.0.0 to 3.1.0 - Update CHANGELOG.md with v3.1.0 release notes - Document renamed/moved files support feature - Note that this fixes issue #15 - Document test infrastructure improvements - Document 100% code coverage achievement - Update README.md - Include renamed files (R) in the main description - Add examples of renamed file output in Try it section - Update gem build instructions to reference v3.1.0 - Update repository URLs from knugie to wteuber - Add missing copyright year updates in LICENSE files
1 parent 87e6826 commit 690efec

File tree

5 files changed

+53
-18
lines changed

5 files changed

+53
-18
lines changed

CHANGELOG.md

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [3.1.0] - 2025-01-16
11+
1012
### Added
13+
- Proper support for renamed/moved files in git status
14+
- Same directory renames show as: `file.rb -> new_file.rb (R+)`
15+
- Cross-directory moves show full destination path: `file.rb -> lib/file.rb (R+)`
16+
- Maintains correct tree structure showing original file location
1117
- RuboCop code style checks integrated into test suite
1218
- SimpleCov code coverage analysis
1319
- Coverage reports generated in `coverage/` directory
20+
- HTML and JSON format coverage reports
1421
- Tests fail if coverage drops
1522
- Can be disabled with `COVERAGE=false` environment variable
23+
- Comprehensive test coverage for GitStatusTree class
24+
- Test coverage for Node status methods (modified?, added?, etc.)
25+
- Test coverage for NodesCollection comparison and validation methods
26+
- Code coverage improved from 87.73% to 100%
27+
28+
### Fixed
29+
- Fixed incorrect tree display for renamed files that previously showed duplicated path structure ([#15](https://github.com/wteuber/git-status-tree/issues/15))
1630

1731
## [3.0.0] - 2025-06-25
1832

@@ -65,8 +79,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6579
### Fixed
6680
- "Try it" section in README documentation
6781

68-
[Unreleased]: https://github.com/knugie/git-status-tree/compare/v3.0.0...HEAD
69-
[3.0.0]: https://github.com/knugie/git-status-tree/compare/v2.0.0...v3.0.0
70-
[2.0.0]: https://github.com/knugie/git-status-tree/compare/v1.0.1...v2.0.0
71-
[1.0.1]: https://github.com/knugie/git-status-tree/compare/v1.0.0...v1.0.1
72-
[1.0.0]: https://github.com/knugie/git-status-tree/releases/tag/v1.0.0
82+
[Unreleased]: https://github.com/wteuber/git-status-tree/compare/v3.1.0...HEAD
83+
[3.1.0]: https://github.com/wteuber/git-status-tree/compare/v3.0.0...v3.1.0
84+
[3.0.0]: https://github.com/wteuber/git-status-tree/compare/v2.0.0...v3.0.0
85+
[2.0.0]: https://github.com/wteuber/git-status-tree/compare/v1.0.1...v2.0.0
86+
[1.0.1]: https://github.com/wteuber/git-status-tree/compare/v1.0.0...v1.0.1
87+
[1.0.0]: https://github.com/wteuber/git-status-tree/releases/tag/v1.0.0

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2013 Wolfgang Teuber, https://github.com/knugie/git-status-tree
1+
Copyright (c) 2013 Wolfgang Teuber, https://github.com/wteuber/git-status-tree
22
You may use git-status-tree under the terms of either the MIT License
33
or the GNU General Public License (GPL) Version 2.
44

MIT-LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2013 Wolfgang Teuber, https://github.com/knugie/git-status-tree
1+
Copyright (c) 2013 Wolfgang Teuber, https://github.com/wteuber/git-status-tree
22

33
Permission is hereby granted, free of charge, to any person obtaining
44
a copy of this software and associated documentation files (the

README.md

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22

33
# git-status-tree
44

5-
git-status-tree (https://github.com/knugie/git-status-tree) is a command line tool that
5+
git-status-tree (https://github.com/wteuber/git-status-tree) is a command line tool that
66
helps you keeping track of changes in your git repository. Similar to the `tree` command
77
(https://github.com/nodakai/tree-command), git-status-tree recursively lists directories
88
and files. Run `git tree` in the command line to list all files in your git repository that are
9-
untracked (?) or have been added (A), modified (M) or deleted (D). The colored output
9+
untracked (?), have been added (A), modified (M), deleted (D), or renamed (R). The colored output
1010
shows whether a file has been added/staged (green)(+) or not (red). The current status
11-
of each file is appended to it.
11+
of each file is appended to it. For renamed files, the tree structure shows the original
12+
location with an arrow pointing to the new name or path.
1213

1314
See [CHANGELOG.md](CHANGELOG.md) for a list of changes between versions.
1415
___
@@ -47,7 +48,7 @@ git config --global status-tree.indent <indent>
4748
## Try it
4849
```
4950
gem install git-status-tree
50-
git clone https://github.com/knugie/git-status-tree.git
51+
git clone https://github.com/wteuber/git-status-tree.git
5152
cd git-status-tree
5253
echo "change" >> README.md
5354
echo "add untracked" > test/untracked.txt
@@ -64,6 +65,19 @@ git tree
6465
├── DELETEME.txt (D+)
6566
└── README.md (M)
6667
68+
# Example with renamed files
69+
git reset HEAD --hard
70+
git clean -xdf
71+
git mv lib/version.rb lib/git_tree_version.rb
72+
git mv test/node/test_node_class.rb test/node_class_test.rb
73+
git tree
74+
.
75+
├── lib
76+
│ └── version.rb -> git_tree_version.rb (R+)
77+
└── test
78+
└── node
79+
└── test_node_class.rb -> test/node_class_test.rb (R+)
80+
6781
# reset repo
6882
git reset HEAD --hard
6983
git clean -xdf
@@ -77,21 +91,27 @@ ___
7791
## Development
7892

7993
1. Clone this repository
80-
* `git clone https://github.com/knugie/git-status-tree.git`
94+
* `git clone https://github.com/wteuber/git-status-tree.git`
8195
* `cd git-status-tree`
8296
2. Install dependencies
8397
* `bundle install`
8498
3. Run tests
85-
* `./test/test_git_status_tree`
86-
* Tests include RuboCop code style checks
99+
* `rake` - Run all tests and RuboCop checks (default)
100+
* `rake test` - Run all tests with code coverage only
101+
* `rake test:node` - Run Node class tests only
102+
* `rake test:nodes_collection` - Run NodesCollection tests only
103+
* `rake test:integration` - Run integration tests
104+
* `rake test:utilities` - Run utility tests (RuboCop, SimpleCov, Version)
105+
* `rake test_no_coverage` - Run tests without code coverage
106+
* `rake all` - Run tests and RuboCop checks
87107
* SimpleCov generates code coverage reports in `coverage/`
88-
* Tests will fail if coverage drops
89-
* To skip coverage: `COVERAGE=false ./test/test_git_status_tree`
108+
* Coverage reports available in HTML and JSON formats
109+
* Tests require 100% code coverage
90110
4. Run RuboCop separately (optional)
91111
* `bundle exec rubocop`
92112
* To auto-correct offenses: `bundle exec rubocop -a`
93113
5. Run git-status-tree from repository
94114
* `./bin/git-status-tree`
95115
6. Build and install local gem
96116
* `gem build git-status-tree.gemspec`
97-
* `gem install git-status-tree-3.0.0.gem`
117+
* `gem install git-status-tree-3.1.0.gem`

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.0.0
1+
3.1.0

0 commit comments

Comments
 (0)