Releases: console-helpers/svn-buddy
Releases · console-helpers/svn-buddy
v0.8.0
Added
- The
commitcommand now highlights the line with a commited revision number. - Added
reparsecommand 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
deploycommand, that will execute, specified in the config, local/remote commands. - Added
commit.auto-deployconfig setting (enabled by default), that allows to tell if a remote deployment should happen after successful commit (#131). - Added
--auto-deployoption tocommitcommand to allow overriding behavior imposed bycommit.auto-deployconfig setting. - Added
update.auto-deployconfig setting (enabled by default), that allows to tell if a local deployment should happen after successful update. - Added
--auto-deployoption toupdatecommand to allow overriding behavior imposed byupdate.auto-deployconfig setting. - Display change totals (affected directory/file count) in commit dialog.
Changed
- The
configcommand groups configuration settings by a command. - The
changelogcommand will show actually used app version instead ofUnreleasedword, when used version isn't mentioned in a changelog. - The executed SVN command idle timeout changed from 20 minutes to 3 minutes.
- The
commitcommand 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
logandmergecommands 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
-ashortcut for the--aggregateoption of themergeandcommitcommands. - Show merged revision commit message during merge process, that is done by the
mergecommand. - Added
--exclude-bugsand--exclude-revisionsoptions to themergecommand for better versatility. - Added
--mergesoption to themergecommand to display only merge revisions. - Added
--previewoption to themergecommand to display revisions, that will be merged instead of merging them. - Added the
changelogcommand, that will show changes included in the current SVN-Buddy release. - Added
--authoroption to thelogcommand to display revisions, made by a specific author. - Show revision URL (Phabricator only for now) for each shown revision of the
logcommand, when--with-detailsoption 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
--bugsand--revisionsoptions of themergeandlogcommands now can be combined for better versatility. - Improved
mergecommand 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
--aggregateoption of themergeandcommitcommands 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
mergecommand was matching color of the header itself (white+bold). - The
logcommand verifies, that bugs provided in the--bugsoption 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
--aggregateoption tomergeandcommitcommands to aggregate displayed commits by tasks. - Added
projectcommand, that allows to show project meta information and reset refresh tracking regular expression. - Added
--no-mergesoption (fromlogcommand) tomergecommand to allow hiding merge revisions.
Changed
- The recursive working copy lookup behavior of the
aggregatecommand is disabled by default, but can be enabled via new--recursiveoption. - Improve Phabricator integration during
mergecommand by using.arcconfigfile 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-mergesoption ofmergecommand 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), whencommitcommand was usingsummarymerge 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_bugmerge template forcicommand, 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
.arcconfigfile).
Changed
- Include source branch project name in commit message, when merge source project differs from merge target project.
- Default merge template for
commitcommand changed fromgroup_by_revisionintogroup_by_bug. - Use short inline grouping header for merge commit message, when merging single bug/revision.
- When using
--with-full-messageoption withlogandmergecommands, then extra table separator is added between revisions to ease reading of large/wrapped commit messages.
Fixed
- Attempt to use
--helpoption on any command resulted in the exception. - Greatly improved speed of working copy location by
aggregatecommand via ignoring of known dependency folders (node_modulesandvendor). - The
svn infocommand 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
conflictscommand for manually managing list of recorded conflicts in a working copy. - Added
--ignore-externalsoption toupdatecommand to allow updating working copy without checking out externals. - Added
--revisionoption toupdatecommand to allow updating working copy to a specific revision. - Added
--update-revisionoption tomergecommand allowing to update working copy to given revision prior to merging. - Added
--with-full-messageoption tolog,mergeandaggregatecommands to display non-truncated commit messages. - Show progress bar during merging to indicate merged/total revision count.
- When using
revertcommand display list of recorded conflicts before deleting it. - Added different formats (merge templates), used during automatic merge commit log message generation.
- Added
emptymerge template allowing to prevent merge information to be used during commit log message generation. - Added
cfgalias toconfigcommand. - Added
summarymerge template to display only summary from performed merge in a commit log message. - Added
--merge-templateoption tocommitcommand to allow overriding merge template for this commit. - Added
--record-onlyoption tomergecommand for marking revisions as merged without actually merging them. - Added
searchcommand for finding where code was first added or last seen in a given working copy file.
Changed
- The
updatecommand now also tracks conflicts resulted from problematic update. - The list of options for
aggregatecommand is now built dynamically based on options of aggregated commands. - The
mergecommand now specially ignores externals, when doing working copy update before merging. - The
mergecommand 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
searchcommand. - 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.Zbranches (e.g.5.0.x). - The
aggregatecommand was ignoring command aliases (e.g.upforupdatecommand). - Externals in a working copy caused
Mixed revisionserror before merge resulting in immediate update. - Locally deleted files in a working copy caused
Mixed revisionserror before merge resulting in immediate update. - When
--refsargument oflogwas 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 revisionserror 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 founderror. - 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
commitcommand. - 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
--actionoption tologcommand, that allows to search revisions by action (A,M,R,D) on a path within a revision. - Added
--kindoption tologcommand, that allows to search revisions by kind (dirorfile) of a path within a revision. - Added ability to update application via new "self-update" command.
- Added
allvalue to--refsoption oflogcommand to display revision from all refs in a project. - Current working copy revision in
logcommand results is now highlighted in bold. - Added
merge.auto-commitconfig setting (enabled by default), that allows to tell if commit should happen after merge. - Added
--auto-commitoption tomergecommand to allow overriding behavior imposed bymerge.auto-commitconfig setting. - Added
--cloption tocommitcommand to allow committing changes from specified changelist only. - Automatically put changelist name as 1st line in commit message (when
commitcommand used with--cloption).
Changed
- Don't remove ref from path, when showing revision paths in
logcommands'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
logcommand, 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
logcommand, attempting to see revisions of a particular file, that currently exists, nothing was shown. - When, in
logcommand, 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
mergecommand orlogcommand with URL instead of path. - Outdated working copy wasn't detected during
mergecommand, whenlogcommand was used right before it. - Paths added to changelists weren't taken into account by
commitcommand.
v0.2.0
Added
- When conflicts were detected during merge, then conflicted paths would be listed in auto-generated commit message.
- The
--source-urloption ofmergecommand 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
--refsoption (with auto-complete) forlogcommand to show revisions from ref instead of current working copy path. - Added
log.message-limitconfig setting (defaults to 68), that allows to specify optimal commit message column width. - Added
--with-refsoption forlogcommand to show refs, that revision belongs to in revision list. - The
revertcommand now not also reverts changes to paths, that are committed, but also deletes added paths. - The
--verboseoption now also shows names of accessed cache files. - Support for doing merges from one project into another one within same repository.
- The
logcommand 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
configcommand 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
logcommand showing revisions in detailed view, then how one bug per row to avoid table wrapping. - The
--merge-statusoption oflogcommand renamed into--with-merge-status. - The
--merge-oracleoption oflogcommand renamed into--with-merge-oracle. - The
--summaryoption oflog, 'aggregate' andmergecommands renamed into--with-summary. - The
--detailsoption oflog, 'aggregate' andmergecommands renamed into--with-details. - When all revisions are displayed by
logcommand display "Showing X revision(-s)" instead of "Showing X of X revision(-s)". - The
Merged Viacolumn (available when--with-merge-statusoption used) oflogcommand 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
aggregatecommand no longer requires specifyingsub-commandargument, when--ignore-*options are used.
Fixed
- The Subversion repositories hosted on https://unfuddle.com/ were not usable from
logandmergecommands. - The output (e.g. revision query progress bar) was interfering with auto-complete (e.g.
--refsoption oflogcommand). - 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
logdetails 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
--refsoption oflogcommand was used together with--with-detailsoption the revision path were not transformed from absolute to relative. - The Subversion repositories hosted on https://unfuddle.com/ were not usable from
commitcommand.
v0.1.0
Added
- Added
repository-connector.last-revision-cache-durationconfig 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.