| Thu, 08 Aug 2013 21:32:22 +0200 | Artem Tikhomirov | Reference ssh-dependant class by the fq name to avoid runtime dependency from the ssh library | 
 
  | Thu, 08 Aug 2013 21:05:21 +0200 | Artem Tikhomirov | Added tag v1.2m2 for changeset 6e7786086f77 | 
 
  | Thu, 08 Aug 2013 21:04:52 +0200 | Artem Tikhomirov | Update gradle build to respect new dependency from trilead
   v1.2m2 | 
 
  | Thu, 08 Aug 2013 19:18:50 +0200 | Artem Tikhomirov | Provisional APIs and respective implementation for http, https and ssh remote repositories | 
 
  | Tue, 06 Aug 2013 21:18:33 +0200 | Artem Tikhomirov | in, out and clone tests pass for ssh repositories. Infrastructure to decouple HgRemoteRepository from specific Connector implementation | 
 
  | Tue, 06 Aug 2013 13:34:34 +0200 | Artem Tikhomirov | Respect the fact ssh and http protocols use different compression approach to sent changegroup data | 
 
  | Mon, 05 Aug 2013 19:03:22 +0200 | Artem Tikhomirov | Replaced ganymed ssh2 library with trilead | 
 
  | Mon, 05 Aug 2013 18:45:16 +0200 | Artem Tikhomirov | Refactoring: nice Revlog.indexWalk() implementation | 
 
  | Mon, 05 Aug 2013 17:42:10 +0200 | Artem Tikhomirov | Speed up (a) file rename history to minimize file reads; (b) file.isCopy(int) to read metadata for few revisions at once (use pattern assumes earlier revisions are likely to be queried, too); (c) HgIgnore.isIgnored by caching matched initial fragments (to substitute more expensive Matcher.matches with cheaper HashMap.contains) | 
 
  | Mon, 05 Aug 2013 12:45:36 +0200 | Artem Tikhomirov | Fix file.isCopy() use for Log/History command. File revisions originating from another file list no parents even in the middle of revision chain | 
 
  | Sat, 03 Aug 2013 17:11:33 +0200 | Artem Tikhomirov | Refactor HgLogCommand to utilize correct file.isCopy(int) | 
 
  | Fri, 02 Aug 2013 23:07:23 +0200 | Artem Tikhomirov | Fix file.isCopy() for blame/annotate. Refactor status and blame to use newly introduced FileHistory helper that builds file rename history | 
 
  | Thu, 01 Aug 2013 21:45:47 +0200 | Artem Tikhomirov | Fix file.isCopy() use for status and cat commands | 
 
  | Sat, 27 Jul 2013 22:06:14 +0200 | Artem Tikhomirov | Issue 44: Renames/copies other than for the very first revision of a file are not recognized | 
 
  | Sat, 27 Jul 2013 20:15:37 +0200 | Artem Tikhomirov | Defect: copies are not reported with default settings (not even as added!). Parameter needCopies removed as there seems to be no reason to condition copies for hi-level api (HgStatus.isCopy() is way down the road) | 
 
  | Sat, 27 Jul 2013 18:34:14 +0200 | Artem Tikhomirov | Towards ssh remote repositories: refactor HgRemoteRepository - move http related code to HttpConnector | 
 
  | Thu, 25 Jul 2013 22:12:14 +0200 | Artem Tikhomirov | Annotated file is not always changed in the latest changeset, need to find out last changest it was changed at (iow, diffed to with BlameHelper) | 
 
  | Thu, 25 Jul 2013 21:32:09 +0200 | Artem Tikhomirov | Towards ssh remote repositories: use ganymed library for ssh transport | 
 
  | Thu, 25 Jul 2013 21:31:23 +0200 | Artem Tikhomirov | Full text of GPL 2.0 in COPYING as http://www.gnu.org/licenses/gpl-howto.html suggests | 
 
  | Wed, 24 Jul 2013 16:40:15 +0200 | Artem Tikhomirov | Update commands to use changeset Nodeid and int in uniform way, clients of core.* classes shall not go back and forth from int to Nodeid | 
 
  | Mon, 22 Jul 2013 22:47:06 +0200 | Artem Tikhomirov | Compile with Java5, ensure generics are fine for other compilers, too | 
 
  | Sun, 21 Jul 2013 17:48:05 +0200 | Artem Tikhomirov | Do not instantiate thousands of small arrays(numerous readInt/readLong calls) | 
 
  | Sun, 21 Jul 2013 17:15:34 +0200 | Artem Tikhomirov | Blame: alternative strategy to handle merge revisions: map(diff(p1->base->p2)) to understand merge intentions better | 
 
  | Sat, 20 Jul 2013 17:40:52 +0200 | Artem Tikhomirov | HgParentChildMap: deduce common ancestor functionality | 
 
  | Fri, 19 Jul 2013 15:36:29 +0200 | Artem Tikhomirov | Towards better blame of merge revisions: refactor merge handling strategy | 
 
  | Thu, 18 Jul 2013 18:47:45 +0200 | Artem Tikhomirov | Report line number at the first appearance, like 'hg annotate -l' does | 
 
  | Thu, 18 Jul 2013 18:03:51 +0200 | Artem Tikhomirov | Switch to alternative annotate producer (walks from parents to children). Refactor FileAnnotation to match updated annotate approach | 
 
  | Thu, 18 Jul 2013 18:02:36 +0200 | Artem Tikhomirov | Respect default range (0..tip) | 
 
  | Wed, 17 Jul 2013 15:40:51 +0200 | Artem Tikhomirov | Introduced dedicated IntSliceSeq/IntTuple in place of IntArray with subsequences | 
 
  | Fri, 12 Jul 2013 20:14:24 +0200 | Artem Tikhomirov | Refactor HgBundle.GroupElement (clear experimental mark), resolve few technical debt issues | 
 
  | Fri, 12 Jul 2013 16:29:06 +0200 | Artem Tikhomirov | Effective update of HgParentChildMap when repository got few revisions added | 
 
  | Fri, 12 Jul 2013 15:29:37 +0200 | Artem Tikhomirov | AIOOBE in BundleGenerator.ChunkGenerator.iterate when there are no outgoing changes on push | 
 
  | Fri, 12 Jul 2013 15:27:43 +0200 | Artem Tikhomirov | AIOOBE in BundleGenerator.ChunkGenerator.iterate when there are no outgoing changes on push | 
 
  | Thu, 11 Jul 2013 20:49:33 +0200 | Artem Tikhomirov | Pull: sample command-line utility | 
 
  | Thu, 11 Jul 2013 18:41:40 +0200 | Artem Tikhomirov | Delete bundle with push/pull changes once command completes successfully. Test for bundle generator | 
 
  | Thu, 11 Jul 2013 17:54:08 +0200 | Artem Tikhomirov | Refactoring: move all encoding/decoding operations into single place, EncodingHelper | 
 
  | Wed, 10 Jul 2013 20:22:07 +0200 | Artem Tikhomirov | Added tag v1.2m1 for changeset dde18bc7053b | 
 
  | Wed, 10 Jul 2013 20:16:37 +0200 | Artem Tikhomirov | Test Copy-on-Write transactions
   v1.2m1 | 
 
  | Wed, 10 Jul 2013 19:33:51 +0200 | Artem Tikhomirov | Utilize transaction when writing fncache. Better HgIOException | 
 
  | Wed, 10 Jul 2013 16:41:49 +0200 | Artem Tikhomirov | Pull: phase2 - update phases from remote, fncache with added files. Tests | 
 
  | Wed, 10 Jul 2013 11:53:19 +0200 | Artem Tikhomirov | Merge branch smartgit-4.6 | 
 
  | Wed, 10 Jul 2013 11:48:55 +0200 | Artem Tikhomirov | Merge branch smartgit-4.5 (no actual changes, merely to denote branch is inactive | 
 
  | Tue, 09 Jul 2013 21:46:45 +0200 | Artem Tikhomirov | Pull: phase1 get remote changes and add local revisions | 
 
  | Fri, 05 Jul 2013 20:42:45 +0200 | Artem Tikhomirov | Poor performance when reading/collecting branch information. Respect new cache location for recent mercurial revisions. Use different algorithm to build branch cache
   smartgit-4.6 | 
 
  | Thu, 04 Jul 2013 21:09:33 +0200 | Artem Tikhomirov | javac complained about casts, while eclipse compiler is fine | 
 
  | Thu, 04 Jul 2013 20:27:45 +0200 | Artem Tikhomirov | ParentChildMap can supply RevisionMap. Refactor ArrayHelper to keep most of sorted/reverse index magic inside | 
 
  | Thu, 04 Jul 2013 18:40:03 +0200 | Artem Tikhomirov | Performance: rebuild information about branches takes too long (my improvement: 3 times, 11-15 s to less than 4 sec) | 
 
  | Thu, 04 Jul 2013 18:36:38 +0200 | Artem Tikhomirov | Performance: reuse unzip output buffer | 
 
  | Wed, 03 Jul 2013 15:11:40 +0200 | Artem Tikhomirov | 1) Console push tool. 2) Pass class to blame into FileUtils | 
 
  | Wed, 03 Jul 2013 14:38:30 +0200 | Artem Tikhomirov | Tests for recent changes in HgParentChildMap and RepositoryComparator (outgoing to respect drafts and Issue 47) | 
 
  | Tue, 02 Jul 2013 23:21:16 +0200 | Artem Tikhomirov | Push: tests. Commit respects phases.new-commit setting. Fix outgoing when changes are not children of common (Issue 47) | 
 
  | Mon, 01 Jul 2013 21:19:53 +0200 | Artem Tikhomirov | Push: tests (push to empty, push changes, respect secret) | 
 
  | Fri, 28 Jun 2013 19:27:26 +0200 | Artem Tikhomirov | Push: phase4 - settle local and remote phases, push updated phases regardless of server publishing state, do not push secret changesets | 
 
  | Wed, 26 Jun 2013 20:52:38 +0200 | Artem Tikhomirov | Push: phase4 - update local and remote phase information | 
 
  | Tue, 25 Jun 2013 20:48:37 +0200 | Artem Tikhomirov | Introduced RevisionSet to ease update of phase roots on push | 
 
  | Tue, 25 Jun 2013 18:53:18 +0200 | Artem Tikhomirov | Location of repository files as enumeration, use file constants instead of plain names | 
 
  | Fri, 21 Jun 2013 18:30:35 +0200 | Artem Tikhomirov | Push: phase3 - update matching remote bookmarks | 
 
  | Thu, 20 Jun 2013 19:15:09 +0200 | Artem Tikhomirov | Push: phase2 - upload bundle with changes to remote server | 
 
  | Wed, 19 Jun 2013 16:04:24 +0200 | Artem Tikhomirov | Push: phase1 - prepare bundle with changes | 
 
  | Wed, 19 Jun 2013 16:03:11 +0200 | Artem Tikhomirov | v1.2 line of dev: update versions, use patch merge code by default | 
 
  | Tue, 11 Jun 2013 16:32:12 +0200 | Artem Tikhomirov | Added tag v1.1.0 for changeset 2f33f102a8fa | 
 
  | Tue, 11 Jun 2013 16:31:42 +0200 | Artem Tikhomirov | Updated copyright year
   v1.1.0 | 
 
  | Tue, 11 Jun 2013 16:25:01 +0200 | Artem Tikhomirov | Deprecated code removed | 
 
  | Thu, 06 Jun 2013 14:21:11 +0200 | Artem Tikhomirov | Issue 46: Files with backslashes (legal on Linux) cause troubles
   smartgit-4.5 | 
 
  | Fri, 07 Jun 2013 13:21:20 +0200 | Artem Tikhomirov | AIOOBE in HgManifest.RevisionMapper: provide more details about exception context. Create lock file atomically. Picked from changeset 8a5cdcb27b8f
   smartgit-4.5 | 
 
  | Fri, 07 Jun 2013 12:32:15 +0200 | Artem Tikhomirov | HgInitCommand: expose repo init functionality | 
 
  | Thu, 06 Jun 2013 19:39:06 +0200 | Artem Tikhomirov | HgCommitCommand: save last commit message | 
 
  | Thu, 06 Jun 2013 18:42:38 +0200 | Artem Tikhomirov | Compound test scenario for checkout, add, remove, revert and commit | 
 
  | Thu, 06 Jun 2013 14:21:11 +0200 | Artem Tikhomirov | Issue 46: Files with backslashes (legal on Linux) cause troubles | 
 
  | Thu, 30 May 2013 16:14:46 +0200 | Artem Tikhomirov | Added tag v1.1rc2 for changeset 54e16ab771ec | 
 
  | Thu, 30 May 2013 16:13:43 +0200 | Artem Tikhomirov | Progress/cancel for HgDiffCommand. Renamed execute method
   v1.1rc2 | 
 
  | Thu, 30 May 2013 15:24:17 +0200 | Artem Tikhomirov | AIOOBE in HgManifest.RevisionMapper. Provide more details about exception context. Create lock file atomically. Test concurrent pull-rebase and read | 
 
  | Thu, 23 May 2013 19:44:28 +0200 | Artem Tikhomirov | HgDiffCommand. Do not use deprecated code. Javadoc | 
 
  | Wed, 22 May 2013 16:46:15 +0200 | Artem Tikhomirov | Diff/blame methods as command, their residence in HgDataFile was a mistake | 
 
  | Wed, 22 May 2013 15:52:31 +0200 | Artem Tikhomirov | Explicit HgRuntimeException to facilitate easy switch from runtime to checked exceptions | 
 
  | Tue, 21 May 2013 20:17:33 +0200 | Artem Tikhomirov | Added tag v1.1rc1 for changeset 5afc7eedb3dd | 
 
  | Tue, 21 May 2013 19:30:12 +0200 | Artem Tikhomirov | @since, TODOs. Tests: add 1 sec to deal with fs timestamp granularity on linux
   v1.1rc1 | 
 
  | Tue, 21 May 2013 17:24:22 +0200 | Artem Tikhomirov | Refactor internals of blame support, tests | 
 
  | Mon, 20 May 2013 20:34:33 +0200 | Artem Tikhomirov | FIXMEs and TODOs: pay some technical debt | 
 
  | Mon, 20 May 2013 18:35:13 +0200 | Artem Tikhomirov | Update tests for Windows; TestCommit: use copy of a repo (not clone) to preserve old timestamps | 
 
  | Mon, 20 May 2013 16:56:40 +0200 | Artem Tikhomirov | Update to comply with Java 1.5 target | 
 
  | Sat, 18 May 2013 22:23:57 +0200 | Artem Tikhomirov | RevlogStream: be aware of existence (not HgDataFile), facilitate use of an added HgDataFile over a commit; Rollback: be more sensitive about file changes (file size is not enough: write/rollback leaves it intact); tests | 
 
  | Sat, 18 May 2013 21:55:31 +0200 | Artem Tikhomirov | Do not cache branch value of working copy as it's not possible to refresh it after commit now | 
 
  | Fri, 17 May 2013 22:04:23 +0200 | Artem Tikhomirov | Close FIS, not FileChannel, to clear both references to FileDescriptor right away | 
 
  | Thu, 16 May 2013 19:46:13 +0200 | Artem Tikhomirov | Refactor approach how content finds it way down to a commit revision | 
 
  | Wed, 15 May 2013 20:10:09 +0200 | Artem Tikhomirov | Rollback support for commands that modify repository. Strategy to keep complete copy of a file being changed | 
 
  | Tue, 14 May 2013 17:31:35 +0200 | Artem Tikhomirov | encode directories as demanded by fncache format | 
 
  | Mon, 13 May 2013 22:48:29 +0200 | Artem Tikhomirov | Test for repository locks | 
 
  | Fri, 10 May 2013 17:31:54 +0200 | Artem Tikhomirov | Added tag v1.1m4 for changeset f41dd9a3b8af | 
 
  | Fri, 10 May 2013 17:31:27 +0200 | Artem Tikhomirov | Remove few Experimental annotations as the API they've marked graduates
   v1.1m4 | 
 
  | Fri, 10 May 2013 14:29:35 +0200 | Artem Tikhomirov | Test tags, branches and hgingore information get refreshed on external (and/or internal) change | 
 
  | Thu, 09 May 2013 21:52:01 +0200 | Artem Tikhomirov | Tests for tailored sections in HgRepoConfig | 
 
  | Thu, 09 May 2013 21:06:48 +0200 | Artem Tikhomirov | Refresh tags, branches, bookmarks and ignore when their files (or csets in the repo) are changed | 
 
  | Wed, 08 May 2013 17:11:45 +0200 | Artem Tikhomirov | Test TODOs: test for ConfigFile (covering %include and %unset directives) | 
 
  | Tue, 07 May 2013 21:27:51 +0200 | Artem Tikhomirov | Clean, organize and resolve some TODOs and FIXMEs: minor refactorings and comments | 
 
  | Tue, 07 May 2013 16:52:46 +0200 | Artem Tikhomirov | Refresh revlogs if a change to a file has been detected; do not force reload of the whole repository |