Releases: console-helpers/svn-buddy
Releases · console-helpers/svn-buddy
v0.8.0
Added
- The
commit
command now highlights the line with a commited revision number. - Added
reparse
command for reparsing data of a given revision (e.g. when it's log message was changed in repository). - The SVN command cache effectiveness (how often particular cache key is being used) is now displayed in the verbose output mode.
- Display non-executed SVN command (results pulled from the cache) in the verbose mode.
- Display non-executed SVN command (results pulled from the cache) results in the debug mode.
- Added the
deploy
command, that will execute, specified in the config, local/remote commands. - Added
commit.auto-deploy
config setting (enabled by default), that allows to tell if a remote deployment should happen after successful commit (#131). - Added
--auto-deploy
option tocommit
command to allow overriding behavior imposed bycommit.auto-deploy
config setting. - Added
update.auto-deploy
config setting (enabled by default), that allows to tell if a local deployment should happen after successful update. - Added
--auto-deploy
option toupdate
command to allow overriding behavior imposed byupdate.auto-deploy
config setting. - Display change totals (affected directory/file count) in commit dialog.
Changed
- The
config
command groups configuration settings by a command. - The
changelog
command will show actually used app version instead ofUnreleased
word, when used version isn't mentioned in a changelog. - The executed SVN command idle timeout changed from 20 minutes to 3 minutes.
- The
commit
command remove empty lines of merged commits, when building grouped merge commit message. - Increased repository scanning speed from 200 to 500 revisions per run.
Fixed
- The non-merged revision table was shown after a successful auto-commit, when merge conflict was resolved.
- Show update notifications only, when SVN-Buddy is being used from a PHAR file.
- The cache delete/set commands were displayed as "cache hit"/"cache miss" operations during verbose output.
- When there was a cache miss, then explain why (absent, invalidated, expired) during verbose output.
- Queue SVN-Buddy new repository commit discovery, after a new commit in SVN-Buddy was made.
- The
log
andmerge
commands no longer fails with large (>999) revision lists on SQLite <= 3.32.0. - The deletion of project wasn't deleting its refs (branches/tags) resulting them to reported as existing.
- The attempt to detect a "bugtraq:logregex" of a deleted project failed.
v0.7.0
Added
- Added
-a
shortcut for the--aggregate
option of themerge
andcommit
commands. - Show merged revision commit message during merge process, that is done by the
merge
command. - Added
--exclude-bugs
and--exclude-revisions
options to themerge
command for better versatility. - Added
--merges
option to themerge
command to display only merge revisions. - Added
--preview
option to themerge
command to display revisions, that will be merged instead of merging them. - Added the
changelog
command, that will show changes included in the current SVN-Buddy release. - Added
--author
option to thelog
command to display revisions, made by a specific author. - Show revision URL (Phabricator only for now) for each shown revision of the
log
command, when--with-details
option is used. - Sends a beep to the Terminal, when an error occurs during any command execution.
Changed
- Dropped support for PHP 5.4 and PHP 5.5 versions.
- The
--bugs
and--revisions
options of themerge
andlog
commands now can be combined for better versatility. - Improved
merge
command phrasing for the "upcoming merge status" term. - Lazy load other commands to improve each individual command performance.
- Perform auto-commit (when enabled) after merge, that failed because everything is already merged.
Fixed
- The
--aggregate
option of themerge
andcommit
commands wasn't working (triggered an exception) when revision without a bug wasn't present in the list of revisions. - The revision color in merge header (that is underlined) of the
merge
command was matching color of the header itself (white+bold). - The
log
command verifies, that bugs provided in the--bugs
option actually exist in the repository. - Revisions with empty 2nd line of their commit message weren't shown as "(no details)" in merge commit message.
v0.6.1
v0.6.0
Added
- Added
--aggregate
option tomerge
andcommit
commands to aggregate displayed commits by tasks. - Added
project
command, that allows to show project meta information and reset refresh tracking regular expression. - Added
--no-merges
option (fromlog
command) tomerge
command to allow hiding merge revisions.
Changed
- The recursive working copy lookup behavior of the
aggregate
command is disabled by default, but can be enabled via new--recursive
option. - Improve Phabricator integration during
merge
command by using.arcconfig
file from the merge source repository.
Fixed
- Attempt to print commit history of paths copied to themselves (e.g. trunk > branches/something > trunk) resulted in a recursion.
- The
--no-merges
option ofmerge
command wasn't used during actual merge, but only to display to be merged revisions. - The
Reverse-merge of ...
heading was shown even on strait merges (not reverse ones), whencommit
command was usingsummary
merge template.
v0.5.1
Changed
- Improve commit message of
commit
(ci
) command by showing if path/file was copied or not.
Fixed
- Files, that weren't changed and had no properties and were added to a changelist were displayed in
commit
(ci
) command result. - Empty reverse merge sub-section was always added to merge commit messages.
v0.5.0
Added
- Added
group_by_bug
merge template forci
command, that allows grouping merged revisions by their bug ids. - Added automatic update checker.
- Added support for display merged revision number as a link to Phabricator instance (when project has
.arcconfig
file).
Changed
- Include source branch project name in commit message, when merge source project differs from merge target project.
- Default merge template for
commit
command changed fromgroup_by_revision
intogroup_by_bug
. - Use short inline grouping header for merge commit message, when merging single bug/revision.
- When using
--with-full-message
option withlog
andmerge
commands, then extra table separator is added between revisions to ease reading of large/wrapped commit messages.
Fixed
- Attempt to use
--help
option on any command resulted in the exception. - Greatly improved speed of working copy location by
aggregate
command via ignoring of known dependency folders (node_modules
andvendor
). - The
svn info
command no longer fails on folders, that have@
in their name, e.g.node_modules/@gulp-sourcemaps
. - Attempt to merge non-existing bugs would now result in an error (before list of unmerged revisions were shown).
v0.4.0
Added
- Added
conflicts
command for manually managing list of recorded conflicts in a working copy. - Added
--ignore-externals
option toupdate
command to allow updating working copy without checking out externals. - Added
--revision
option toupdate
command to allow updating working copy to a specific revision. - Added
--update-revision
option tomerge
command allowing to update working copy to given revision prior to merging. - Added
--with-full-message
option tolog
,merge
andaggregate
commands to display non-truncated commit messages. - Show progress bar during merging to indicate merged/total revision count.
- When using
revert
command display list of recorded conflicts before deleting it. - Added different formats (merge templates), used during automatic merge commit log message generation.
- Added
empty
merge template allowing to prevent merge information to be used during commit log message generation. - Added
cfg
alias toconfig
command. - Added
summary
merge template to display only summary from performed merge in a commit log message. - Added
--merge-template
option tocommit
command to allow overriding merge template for this commit. - Added
--record-only
option tomerge
command for marking revisions as merged without actually merging them. - Added
search
command for finding where code was first added or last seen in a given working copy file.
Changed
- The
update
command now also tracks conflicts resulted from problematic update. - The list of options for
aggregate
command is now built dynamically based on options of aggregated commands. - The
merge
command now specially ignores externals, when doing working copy update before merging. - The
merge
command now will do update, when locally deleted files are found. - The trailing empty lines are removed from displayed commit message for increased clarity.
- The merge heading is more readable now, because "r123" was changed into "123 revision" (e.g.
--- Merging 15512 revision into './core':
). - The recorded conflicts are now sorted alphabetically.
- Disallow searching for whitespace-only keywords using
search
command. - Obfuscate credentials displayed in error messages.
- While looking for "bugtraq:logregexp" property of a project look at each ref instead of using last modified only.
- Include source branch project name in commit message, when doing cross-project merge and source/target branches are named the same.
Fixed
- Invalid merge source url was guessed for
X.0.Z
branches (e.g.5.0.x
). - The
aggregate
command was ignoring command aliases (e.g.up
forupdate
command). - Externals in a working copy caused
Mixed revisions
error before merge resulting in immediate update. - Locally deleted files in a working copy caused
Mixed revisions
error before merge resulting in immediate update. - When
--refs
argument oflog
was used the revisions not belonging to specified refs were also shown. - The merged revision heading (e.g.
--- Merging r15512 into './core':
) wasn't highlighted during merging. - Added files in a working copy caused
Mixed revisions
error before merge resulting in immediate update. - The merging heading wasn't shown, when fast network connection to Subversion server was used (command output buffer contained 2+ lines of text).
- Current revision row highlighting also affected table markup instead of just affecting text inside cells.
- Initial repository import using Subversion 1.9+ failed with
Property 'bugtraq:logregexp' not found
error. - Attempt to use "svn-buddy" inside sub-folder of a working copy ended up in exception for Subversion 1.7+ client.
- It was possible to search for an empty keyword using "search" command.
- The externals were shown in auto-generated commit message for
commit
command. - Deleted branches/tags of a project were introspected for a "bugtraq:logregexp" property resulting in
Path ... not found in ... revision.
error.
v0.3.0
Added
- Added
--action
option tolog
command, that allows to search revisions by action (A
,M
,R
,D
) on a path within a revision. - Added
--kind
option tolog
command, that allows to search revisions by kind (dir
orfile
) of a path within a revision. - Added ability to update application via new "self-update" command.
- Added
all
value to--refs
option oflog
command to display revision from all refs in a project. - Current working copy revision in
log
command results is now highlighted in bold. - Added
merge.auto-commit
config setting (enabled by default), that allows to tell if commit should happen after merge. - Added
--auto-commit
option tomerge
command to allow overriding behavior imposed bymerge.auto-commit
config setting. - Added
--cl
option tocommit
command to allow committing changes from specified changelist only. - Automatically put changelist name as 1st line in commit message (when
commit
command used with--cl
option).
Changed
- Don't remove ref from path, when showing revision paths in
log
commands's detail view. - Attempt to view revisions of path, that never existed in a project now will exactly say that in thrown exception.
- The 4x speed improvement of
log
command, when used on a working copy. - List of conflicts is included in commit message if they are present (before only worked for merge commits).
Fixed
- The path
copy-from-
information wasn't stored incorrectly resulting in path shown as copied, while they weren't. - When, in
log
command, attempting to see revisions of a particular file, that currently exists, nothing was shown. - When, in
log
command, attempting to see revisions of a particular file, that is currently deleted, nothing was shown. - The copied paths (during initial revision data import) where not properly associated to their projects.
- Fixed notice about "file_exists" function and "svn://" protocol, when using
merge
command orlog
command with URL instead of path. - Outdated working copy wasn't detected during
merge
command, whenlog
command was used right before it. - Paths added to changelists weren't taken into account by
commit
command.
v0.2.0
Added
- When conflicts were detected during merge, then conflicted paths would be listed in auto-generated commit message.
- The
--source-url
option ofmerge
command can be specified in short form (e.g.trunk
,branches/branch-name
,tags/tag-name
,name
(for branch-to-branch or tag-to-tag merges). - Added
--refs
option (with auto-complete) forlog
command to show revisions from ref instead of current working copy path. - Added
log.message-limit
config setting (defaults to 68), that allows to specify optimal commit message column width. - Added
--with-refs
option forlog
command to show refs, that revision belongs to in revision list. - The
revert
command now not also reverts changes to paths, that are committed, but also deletes added paths. - The
--verbose
option now also shows names of accessed cache files. - Support for doing merges from one project into another one within same repository.
- The
log
command now displays project and ref name above displayed revision list. - Added support for repositories where only 1 project exists and no "trunk", "branches", "tags" folders are present.
Changed
- The
config
command now shows working copy url instead of path to stress fact, that settings are stored based on working copy url and not path. - Wrap list of bug, associated with revision to "3 per row" to avoid too wide table creation.
- When
log
command showing revisions in detailed view, then how one bug per row to avoid table wrapping. - The
--merge-status
option oflog
command renamed into--with-merge-status
. - The
--merge-oracle
option oflog
command renamed into--with-merge-oracle
. - The
--summary
option oflog
, 'aggregate' andmerge
commands renamed into--with-summary
. - The
--details
option oflog
, 'aggregate' andmerge
commands renamed into--with-details
. - When all revisions are displayed by
log
command display "Showing X revision(-s)" instead of "Showing X of X revision(-s)". - The
Merged Via
column (available when--with-merge-status
option used) oflog
command also shows refs, that merge revision belongs to. - Improved revision path absolute-to-relative transformer and now: the project path is always cut off; the ref is cut off only for single-ref revisions.
- Wrap list of associated revision next to conflicted paths to "4 per row" to avoid too wide table creation.
- Name format of per-working copy config setting is changed, which will result in all data being lost unless migrated by hand in "~/.svn-buddy/config.json" file (old "path-settings.wc_url_hash.setting_name", new: "path-settings[wc_url].setting_name").
- Major under the hood revision information storage changes.
- The
aggregate
command no longer requires specifyingsub-command
argument, when--ignore-*
options are used.
Fixed
- The Subversion repositories hosted on https://unfuddle.com/ were not usable from
log
andmerge
commands. - The output (e.g. revision query progress bar) was interfering with auto-complete (e.g.
--refs
option oflog
command). - When showing only first line from a multi-line commit message, then
...
wasn't shown at the end to indicate, that not all commit message is displayed. - The "," in bug list associated with a revision was colored in same color as bug itself, but it shouldn't be colored at all.
- Only first line of commit message was displayed even in detailed revision view.
- In
log
details view colored multi-line changed paths (e.g. copy operation) resulted in color affecting nearby cells. - The "," was lost when bug list was wrapped to the next line.
- When
--refs
option oflog
command was used together with--with-details
option the revision path were not transformed from absolute to relative. - The Subversion repositories hosted on https://unfuddle.com/ were not usable from
commit
command.
v0.1.0
Added
- Added
repository-connector.last-revision-cache-duration
config setting ("10 minutes" by default), for specifying time for how long repository should not be queried for new revisions. Set according to commit/merge frequency for your repository.
Changed
- The last revision from repository is now cached for 10 instead of 25 minutes (helps, when doing many merged in short period of time).
Fixed
- User config settings were lost during config upgrade process, when new default settings were added.