[Changes for 0.993 - 25 Apr, 2005] * Save commit message from editor in a tmpfile if commit fails. [#8336] * Fix tests for bdb backend. * svk import -C should not actually create import path nor turn path into copath. [#8719] * Fix a bug that a dummy switch won't update revision metadata, which might be non-exist for the new branch. * Ignore existing locks when trying to unlock a mirror. * Added examples to the intro. [jesse] [Changes for 0.992 - 18 Apr, 2005] * Fix keyword translation for undesired characters. [matthewd] * Fix svk switch from a removed branch. * Don't trust LML would return a valid encoding that Encode knows. [Eric Gillespie ] * Recognize merge-conflict error, so no stacktrace for it. * svk info now skips files not under version control. [#8220] [gugod] * Fix locked mirror messages. * Various pool usage fixes. [Changes for 0.991 - 29 Mar, 2005] * Fix a regression for smerge supplying message from editor. * Fix an edge case that push doesn't report empty merge when the mirrored remote repository is completely empty. * Proper locking for svn::mirror objects, and mirror --unlock. * svk patch subcommands are now options. [jesse] * Support HEAD, BASE, and {DATE} in many commands using -r. [gugod] * Support mkdir multiple copaths. [hcchien] * Add --summary to smerge and push to show logs for changes to be merged. [#7791] * Optionally support paging help text with IO::Pager. [gugod] * Fix support for replace with history. * Don't trust LML would return a valid encoding that Encode knows. [Eric Gillespie ] * Make multiple -r options to dwim. [#7038] * Allow import into mirrored path, and cleanup old code. * Allow merge -c -REV to rollback rev. This is the same as -rREV:REV-1. * Add missing -c help to merge. [Ethan Tuttle ] * Make checkout, update, and merge deal with unwritable checkout copy more gracefully. * Fix move on mirrored path. * Fix rm for scheduled symlinks. * Proper message for cp nonexisting parent without -p. * Properly skip special node types like socket or device in checkout_delta. * On writing mixed-eol files, don't croak on normalization. * When doing file-anchored merges, ensure file is opened before cb_merged is called. * When doing file-level merge, translate and report the target path properly. * Do proper eol translation per svn:eol on local (yours) node before textual merges are invoked. * Proper io layer ordering, and force re-translation for merge text when needed. * Reopen FH in prepare_fh when needed, since apply_textdelta already closed the fh for us. * Propset now works on multiple overlapping copaths. [#8139] * Fix a buglet that two props set on a added node will be reported as added and prop-modified. * Make svk info work on removed path. [mathhewd] * Reflect errors in bin/svk exit codes. [matthewd] * Update various help messages [#7217] [#7877] [hcchien] * svk verify now only checks with the content guarded by PGP block. * Fix a bug that interactive merge dies out horribly when you edit the merged file, exit with saving and answer a)bort. [Changes for 0.30 - 2 Mar, 2005] * Support native encodings for pathnames and log messages handling. * Interactively resolve deleted files that are modified. [ruz] * Make use of Class::Autouse to reduce start-up time. [Schwern] * Support mkdir copath. [hcchien] * svk help should list the aliases of that command. #6082 [Schwern] * More history-tracing performance optimization. * Speed up svk help commands by not using pod::simple to extract the brief description. [kcwu] * Fix signature cache caused by merge via update. * Unbreak win32's ReadKey in get_prompt. [Autrijus] * In merge editor's prop merger, use a proper pool to retrieve the base_prop and local_prop to avoid leaks. * Clean pools when getting log in reverse order, like merge logs, to prevent leaks. * Fix pool usage in editor::diff to avoid leaks. * Fix a newline introduce when saying "accept yours" in resolver. * Fix SVK::Notify report for when report anchor is "0". * Do not allow existing depotpath to be entered in when autovivifying, which would led to undesired copies. * When listing mirror, skip unloadable or invliad entries gracefully. * When doing svk ps svn:eol-style, check if the file mixed newlines. * Draft intro.pod. [lukhnos] * Many more tests, with contribution from matthewd. [Changes for 0.29 - 1 Feb, 2005] * New copy_ancestors implementation for speeding up merge base lookup and svk info. * Publish node signature in SVK::Editor::XD update mode. This makes svk st fast the first time after checkout. * Partially support remote copies that cross mirror anchors. * Implement svk ci -F (and in other commands that do commit), to read log message from a file. * "at / ay" in svk resolve are now "safe": they will accept the non-conflicting chunks from the other side, instead of overwriting them with theirs/yours version. [Autrijus] * get_prompt() now uses Term::ReadKey to always read from the interactive terminal; this solves the problem of eg. "svk patch -P - < foo.patch" clobbering the interaction. [Autrijus] * Autovivification for mirrors now take sane defaults. [Autrijus] * Add -C|--check-only to svk update. [Jody Belka] * Dangling Conflict items are now reported. * Fix a problem that 'g'-merged properties are still scheduled on checkout. * Fix a problem that an already deleted directory from checkout is usable to be rm'ed. * Many other minor fixes regarding error message and usability. * General code cleanups. [Changes for 0.28 - 9 Jan, 2005] * Support -r in blame. * "svk import PATH" now prompts for a depot path to import into. [Autrijus] * Propget now reports paths properly. * Fix a bug that tabs are treated as binary for auto-prop upon svk add. [Autrijus] * Fix 'svk add' to accept explicit targets which are in the ignore list. * Die with a more helpful message when mirroring onto an existing path. * Fix a bug that symlinks to existing dirs is not properly given svn:special properties. * Cleanup Editor::Sign and fix uncleaned tmp files. * Fix a bug that 'svk import' does not respect svn:ignore. * For unknown files, make revert report ignored only on explicit targets. * Many code cleanups. [Changes for 0.27 - 20 Dec, 2004] * Allow "svk cp URI" to work akin to "svk co URI". [Autrijus] * Fix delete (and move) path reporting. * Fix checkout to deep directory that doesn't exist. * Fix cp/mv src modified-ness check. * New: checkout --export mode to detach after checkout. * Normalize line endings in all incoming patch blocks. [Autrijus] * Fix a case in merge involving renames. When a file was renamed and its parent was also renamed separately, it should not be skipped. * Remove the useless ticket associated with SVK::Patch, so the size of patch blocks is reduced. * Fix a bug in svk add would ask users to add parent where it's already added. * sync -a shouldn't die on stalled depotmap entry. * Fix patch creation (commit -P) bug dying when there's something deleted. * Fix commit buffer target parsing, particularly for the case that only a file is the target and the property will not be committed and lost. * merge and push now supports --verbatim. [Alejandro Mery] * "svk log" now displays "(no author)" for revisions without an author. [Leland David] * Fix a case that smerge would use wrong base when the anchor was replaced by itself in the history. * Fix a problem for svk with svn 1.2.x, editor::merge will generate "Bad file descriptor" fatal error when merging into a dav server. This was caused by improper pool life scope and is now fixed. [Changes for 0.26 - 9 Nov, 2004] * svk push -P. [Autrijus] * Allow checkout, mirrored, and copy anchors to be different from each other, for the purpose of "push" and "pull"..[Autrijus] * In incremental smerge, increase the fromrev after each individual merge. [Autrijus] * Ignore empty lines for svk:merge parsing. * Use local time for log output. [Wen-chien Jesse Sung] * Properties are now being merged. * Exsting directories are now being merged. * Allow custom resolver for properties. * Support svk:merge property auto-merging, when doing smerge. * Create svn config directory if it doesn't exist. * Commit to mirrored path was always sending full text due to an incorrect $cb{mirror} check. This is a regression since 0.23. * Fix a bug that when committing from a checkout with descendents being mirrored path, the commit can ruin the mirror state. * Fix svk merge -l rN:M loading too many logs. * Fix svk admin to work with non-default depots. * New: svk ci -N, svk update/checkout --quiet. * Fix svk cp a directory to checkout and then commit. [Changes for 0.25 - 25 Oct, 2004] * Fix the mkdir sequence which causes first-time svk users fatal error. [Autrijus] [Changes for 0.24 - 24 Oct, 2004] * Fix svk ps regression for svn 1.0.x. * Fallback to getpwuid($<) in case $ENV{HOME} or $ENV{USER} is not set, as is the case in Fink. Reported by Christian Schaffner. [Autrijus] * Fix "svk pull -a" when the current directory is not a checkout path. [Autrijus] * Fix checkout_delta cache on win32. [Autrijus] * Fix svk move copath destination with trailing slash. * Make svk move checks if the target already exists before doing anything that might leave the checkout in an inconsistent state. * "svk cp //depotpath" should be parsed as "svk cp //depotpath .", not "svk cp . //depotpath". Reported by Jesse Vincent. [Autrijus] * New: svk admin rmcache. * The old commit message prompt is now split into two: - Those with editable target list now shows: "=== Targets to commit (you may delete items from it) ===" - Those without editable targets now shows: "=== Please enter your commit message above this line ===" [Autrijus] * If SVN::Core version is too old, die with a meaningful message. [Autrijus] [Changes for 0.23 - 18 Oct, 2004] * New: commit / smerge -P creats patch, and obsoletes unintuitive svk patch create. * New: svk merge now supports -cN which means -r N-1:N. * New: svk mirror --recover. [Autrijus] * New: svk mkdir -p and svk copy -p to create intermediate directories. * New: svk pull DEPOTPATH. [Jesse Vincent] * Proper svn:eol-style support with the same semantics as svn. [Autrijus] * Proper upper/lower case normalization for Win32 filesystems. [Autrijus] * The SVK Help system, as SVK/Help/[lang/]/*.pod. [Autrijus] * The log produced by smerge -l no longer contains the duplicated logs that were merged from the current target. * smerge -I and repeated smerge now works on checkout. * commit --import or import now treats obstructed items as replaced. * Don't skip explicit targets on svk add. * Correctly obtain the user name on non-unix platforms. [Autrijus] * Fix pool abuse in history tracing code. [Autrijus] * Fix smerge -IB. * svk patch delete now works. * svk delete now works within mirrored paths. * svk annotate now works on files with CR/CRLF line endings. [Autrijus] [Changes for 0.22 - 4 Oct, 2004] * Interactive merge support is now default. [Autrijus] * svk patch apply. * Modular external merge tool support, with the following supported: AraxisMerge, Emacs, FileMerge, GtkDiff, Guiffy, KDiff3, Meld, P4WinMerge, TkDiff, TortoiseMerge, XXDiff. [Autrijus] * Patch format changed, it's now unidiff with FreezeThaw-serialized SVK::Patch. [Autrijus] * merge and smerge now supports -f and -t options to deduce copy source as target. [Eric Lindvall] * Experimental depotpath auto-vivification from URL. [Autrijus] This allows you to svk checkout URL and svk cp URL local-branch. * Experimental svk push and pull support. * sync and update now supports -s and -m to sync and/or merge from branch source. [Autrijus] * revert now also marks nodes as resolved. * mirror, checkout and switch now all support --list, --detach and --relocate. [Autrijus] * New aliases: cm => cmerge, depot => depotmap, sw => switch. * Implement "svk depot --add", "svk depot --delete". [Autrijus] * prop{get,set,edit,del} on revprops. [Autrijus] * Fix smerge -l that trims logs before another smerge in the other direction. * Use svn's internal streamy diff library instead of Text::Diff. [Autrijus] * svk import --to-checkout can import a directory and turn it to a checkout path in-place . [Autrijus] * -s (--sign) is renamed to -S. * rename import --force to --from-checkout. * $Revision$ now means $Rev$, not $FileRev$, to agree with Subversion. * "svk mirror --list" and "svk sync --all" now operates on all depots, if no arguments is given, instead of on //. [Autrijus] * svk admin to wrap svnadmin. [Autrijus] * svk cleanup --all. [Autrijus] * "svk diff PATH1 PATH2 PATH3 ..." works as svn does. [Autrijus] * We now use the self-contained File::Type instead of File::MimeInfo. [Autrijus] [Changes for 0.21 - 20 Sep, 2004] * svk now runs natively on win32. [Autrijus] * New: svk ls -v. [Plasma] * New: svk propget (pg). [Autrijus] * Use D::H->store_fast. This makes checkout 5% faster. * Ignore checksum in Editor::XD when they are alrady checked by Editor::Merge. This makes update and merge to copath 25-30% faster. * SVNFSTYPE default to bdb with svn 1.0.x, otherwise fsfs. * Authentication prompts are now handled. [Autrijus] * For internal differ, Don't output diff for binary nodes. [Plasma] * Use IO::Digest to get the md5 while reading the merged file, instead of reading it again. * Add support to use SVKMERGE on win32, in particular p4winmrg, guiffy. [Autrijus] * Error messages are now printed to STDERR. * "svk sm --base" and "svk sm --baseless" now always do what they are documented to do, overriding existing merge tickets. [Autrijus] * Prepend depot name before svk mi --list. [Autrijus] * Fix delete_entry in diff editor for external diff tool. * Delay SVN::Mirror loading. This makes startup time faster. * Make SVK::Editor::Delay also delays open_file and discard no-op opens. This optimized the consumed bandwidth when committing/merging to remote. * Fix merge ticket parsing and generation for paths mirrored with vcp. * Make describe work on current copath, otherwise fallback to '//'. [Ruslan U. Zakirov] * Fix a scary but harmless message after committing copied nodes with messages from editor. * Add expand_copy option to checkout_delta. This allows diff works correctly (in terms of what svn does) with copied checkout. * Allow checking out a file with differet name. * Eliminate repeating mimetype() calls. [Autrijus] * Fix tests for File::MimeInfo not installed. * full zh_tw and zh_cn translation. [Autrijus] * Transaction errors are now reported nicely. * Many checkout_delta cleanups. * Many documentation improvement. [Autrijus] [Changes for 0.20 - 4 Sep, 2004] *** First Beta Release *** * svk commit --import for automatically add and remove entries. * When yaml loading error, save the old file to a backup location. * Fix $FileRev$ on non-latest checkout. * Support svn's auto-prop configration. * svk rm --keep-local (or -K). [#4652] * Fix deep recursion of _delta_dir when there's a directory entry '0'. * Allow patch regen, update, and apply. * Make File::MimeInfo really optional. [Autrijus Tang] * Many paths translating cleanups toward a win32 port. [Changes for 0.19 - 21 Aug, 2004] * Support merge --track-rename. * Support svk diff -s or --summarize. * Support checking out a single file. * Supoprt multiple sources in svk copy and move. * Support direct copy and move in mirrored path. * Support proper merge anchoring. This allows smerge point to be a file. * Supoprt svn:eol-style. (native, LF, CRLF. no CR support) * Fix a bug committing added directories to mirrored path directly would fail. * Auto-prop support: adding svn:mime-type according to file magic upon add or import. * Symlink support fixes. * Fix a memory leak due to circular reference in SVK::Editor::XD callbacks. * Misc performance and memory usage improvements to checkout. [Changes for 0.18 - 4 Aug, 2004] ***WANRING*** Mirrored path states incompatible with previous versions of SVK. run svk mirror --upgrade // (and other depots if you have). ***WANRING*** * More code cleanup, documentation and test suites. * Fix --help regression. * Fix cmerge regression. * Fix ls -f with non-default depot. [#3943] [Kang-min Liu] * Import into checkout path should remove scheduleanchor after commit. * svn-1.1 compatible symlink (svn:special) support. * Performance improvement for import by avoiding unnecessary prop check. * Allow import to commit to remote repository directly. * make checkout_delta and import call abort_edit upon SIGINT. * svk mirror --list and --upgrade commands. * Make SVN::Mirror required when it already exists. [Ruslan U. Zakirov] * Various commands should now respect path@rev target syntax. * Depot creation now respects $ENV{SVNFSTYPE}. * Fix a bug that smerge -I is giving incorrect merge ticket. * Fix delete merging conflicts handling and implement partial deletes. * Fix checkout path reporting and anchoring problem. * Implement propdel on checkout copy. * svk diff now shows deleted files recursvely. [Changes for 0.17 - 17 Jul, 2004] * Optimize checkout_delta with mtime/inode/size signatures. * Implement smerge -I for incremental merging. * Make smerge -lm do what you mean. * When using external merge tools, give local, base, new and merged tmpfiles sane names. [Autrijus] * Improve documentation. * Fix cb_rev when commiting to just-moved files in mirrored path. * Cleanup SVK::Merge and others. [Changes for 0.16 - 30 Jun, 2004 - German Perl Workshop Release] * Fix pool usage in svk annotate with svn_fsfs. * Many More tests. * Unbreak 'svk help'. * Fix a bug in revert that both text/prop modified files are not reverted correctly. * Require D::H 0.18 so delete_verbose will work in checkout_delta. * Refactor Editor::Status to use SVK::Notify. * Fix a bug for merge base when merge anchor is not mirror anchor. * Preliminary true delete_entry tree merge in SVK::Editor::Merge. * Cleanup SVK::Command::Diff. * Make checkout_delta respect base_root when it's different from xdroot. * Take care of unset svn:executable and update. * Support replaced items in checkout copy. [Changes for 0.15 - 26 May, 2004] * Fix a bug that keyword-substituted files would cause merge or conflict. * Various pool fixes to support SVNFSTYPE=fsfs. * Support external merge tools with $ENV{SVKMERGE}. * Merge collision for added files on both sides. * Support options and value without whitespace in between. * Support svk --help. * Allow users to override svkpath with $ENV{SVKROOT}. [Jesse Vincent] * Fix the merge ticket for the case that the mirrored source is / on remote. * Patch management prototype (svk patch). * svk ls features to accommodate shell completion. [Jesse Vincent] * Various merge improvement detecting better ancestor in certain cases. [Changes for 0.14 - 26 Apr, 2004] * Display copy/merge information in svk info. [Kang-min Liu] * Fix annotate -x for renamed files. * Allow import --force over checkout path. * Allow svk command output to be stored in a scalar. * Support svk copy depotpath path. * Implement dir add with history in checkout_delta. * Add stat as alias to status. [Dave Rolsky] * Forbid the command that use simple edit (mkdir, mv, cp) to work on mirrored path unless run with --direct. * Provide more accurate action (propmod, edit after copy) in svk log. * Fix sync -a on depot other than //. * sm -l now indent the log message. [Autrijus] * Support non-recursive checkout. * Let svk copy and add reported paths relative to the one given from command line. * Fix status output for added directory from MergeEditor. * Support mirroring from vcp source via SVN::Mirror. [Changes for 0.13 - 11 Apr, 2004] * Fix svk checkout anchor problems for creating and checking. * Fix a bug that file is not closed for unchanged and merged (g) but prop change. * Baseless smerge via -B / --baseless. [Autrijus] * Arbitary-based smerge via -b / --base. [Autrijus] * Get rid of IO::String. * Cleanup invocation interface, move things from bin/svk to SVK.pm. * Improve PPerl friendliness. * New commands: svk propdel, svk depotmap -l. [Changes for 0.12 - 28 Mar, 2004 - YAPC::Taipei::2004 Release Party] * Report hostname when doing smerge -l. * Support external diff with environment variable SVKDIFF. * Various improvements in svk status and revert. * Support pgp signatures and verification with gpg. * Cache copy history lookup. * Use perlio scalar instead of IO::String for the output of textual merge. This is about 15% faster than IO::String. * Support delete depotpath directly. * DelayEditor for Optimizing editor calls before sending to expensive editors. * Various tree merge improvements in MergeEditor and XD::Editor. * Command Options in POD. [Jesse Vincent] * svk move. [Autrijus Tang] * svk list -R. [viirya] * zh translation. [Autrijus, Piaip] * i18n framework. [Autrijus Tang] * Fix svk cleanup. * Fix checkout to a path with trailing slash. [#2350] [Changes for 0.11 - 14 Mar, 2004] ***WANRING*** Checkout path schedules incompatible with previous versions of SVK. Do commit or revert your checkouts before upgrading. ***WANRING*** * Fine-grained copath locking. * Basic commit signing support with merge -s or commit -s. * When a file is locally modified, merging prop-change on file results in incorrect checksum. [#2322] * Fix an incorrect live time of SVN::Stream, which causes crash on OS X. [Matthijs van Duin] * Help system improvements. [Jesse Vincent] * ls -R. [hcchien] * Misc performance enhancements. [Changes for 0.10 - 05 Mar, 2004] * Change distname. * Fix svn help for listing commands * Fix adding files when committing to mirrored path. [Changes for 0.09 - 05 Mar, 2004] * Command invocation interface cleanup. * Move to SVK:: namespace. * Reduce root->check_path calls in checkout_delta . * Commit target editing support [Autrijus]. * svk cat, ls and switch. * Avoid opening repository multiple times. * Let checkout_delta generate strict editor calls. * Support committing to mirrored path directly. * Commit / Merge to remote now brings the mirrored path updated. * Various code cleanups. * Fix some pool abuse. * Keyword enhacement (p4-like). [Autrijus] * Update to modern perl build system. [Autrijus] [Changes for 0.08 - 16 Feb, 2004] * Support multi-parent branch auto merging. * Support property diff output in DiffEditor. * Cherry picking merge support. * svk sync -a to sync all mirrored path in the given depot. * checkout_delta now handle props and do_commit commits them. * Respect conflict flag in status and commit. * Store and respect the deleted state of mixed-revision checkout copy. * Various doc improvements and code cleanups. [Changes for 0.07 - 15 Jan, 2004] * Memory usage enhancements. * Support but not require subversion 0.36.0. * clean up multiple targets handling for various commands. * svk status now reports what is given in command line. [Changes for 0.06 - 26 Dec, 2003] * Correct a pacakging problem. * New command: svk import, version. * svk status, revert improvement. [Changes for 0.05 - 20 Dec, 2003] * svk help and some usage are written. * Better svk diff support: file target, dpath1 vs dpath2. * Mergeback now transfers textdelta. * update, add, delete, revert, and sync now support multiple targets. * svk depotmap for depot mapping configuration. * Fix a segfault for empty merges. * Merge-ticket handling now mutliple-safe. * Committing to mirrored path now forbidden by default. * Make sm respect -C for XD destination. * New commands: svk resolved, describe, propedit. * smerge -l now brings the logs for candidate revisions to editor buffer. * svk process now locks for state file. * New default local repository location ~/.svk/local. * Support svn:ignore property. * Use checkout_delta for svk status. * Require svn 0.35. [Changes for 0.04 - 06 Dec, 2003] * Textual merge now uses svn's internal diff library. * new DiffEdtitor to handle depot diff. * Requires svn 0.34 [Changes for 0.03 - 26 Nov, 2003] * Merge editor now calls open_file only when necessary. This makes merge back to RA a lot faster for mutual merged branches. * Merge editor status 'g' means file merged bug unmodified. * Fix a xdroot creation bug. * New - svk log -r. [Changes for 0.02 - 19 Nov, 2003] * Fix packaging problem for missed Makefile.PL. [Changes for 0.01 - 19 Nov, 2003] Initial Release.