Timeline


and

17/09/08:

15:13 Renaming created by alamaison
Created explanation of Swish renaming
14:56 WikiStart edited by alamaison
Added working on features list (diff)
14:35 Changeset in swish [d2314f6] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_connection_poolfeature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Branching trunk to feature_connection_pool to work on reusing existing connections for successive operations.

13:54 Changeset in swish [1ff432f] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Fixed comments and other minor.

13:53 Changeset in swish [2abe6ee] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Greatly improved multiple file deletion:

  • Single connection made to delete all files
  • Single confirmation shown for all files
  • Different confirmation message than single file delete
13:51 Changeset in swish [35d52b6] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Fixed copy assignment/copy constructor.

07:19 Changeset in swish [fa8cec1] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Added support for deleting more than one item at a time.

Refactored the DataObject? handling out into a separate class, CShellDataObject.

16/09/08:

16:33 Changeset in swish [846b957] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Added missing licence block.

16:25 Changeset in swish [e0a43e1] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Early implementation of file and folder deletion from the Explorer window. This is able to delete a single file or folder and update the shell accordingly.

11:26 Changeset in swish [d33c4ea] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Added file/directory deletion to CSftpDirectory.

Renamed CComSTLContainerCopy to CComSTLCopyContainer (more sensible name).

11:23 Changeset in swish [8b49dd9] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Created PIDL wrapper class for Remote ItemIDs. This is a subclass of CPidl and will eventually replace all the functionality in RemotePidlManager?.cpp.

11:11 Changeset in swish [f9207682] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Fixed const-related problems with CPidl class. It was using 'const PidlType?' which was actually a const pointer to a non-const PIDL. It should have been using const *IdListType?. This has been corrected.

Added an operator which returns the PIDL as it's supertype. This is to allow assignments like 'CRemotePidl r = CChildPidl c' to work in just the same way as 'PIDLIST_RELATIVE r = PITEMID_CHILD' would.

Fixed throw() indications.

Added an Join() method to join another PIDL to the CPidl. In the case of joining to a CChildPidl this should really return a CRelativePidl but I'm not sure how to do this with templates. this is left for the future.

Added a GetNext?() method to return a const pointer to the next SHITEMID in the member PIDL. This doesn't make sense to use on a CChildPidl.

Added unit tests to cover the new cases.

15/09/08:

20:46 Changeset in swish [ec37ebf] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Documented renaming-related functions.
Miscellaneous Doxygen fixes.

18:04 Changeset in swish [2fa4080] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Improved variable naming.

16:00 Changeset in swish [bd3a842] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Backporting changes from r90:91 of feature_delete branch.

12/09/08:

14:26 Changeset in swish [28161f1] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Added file and folder creation functions to the backend. The latter is generally useful while the former is intended primarily for use by the unit tests in order to set up an environment before executing a test.

The GetListing?() function was broken and returned the contents of a single list of files which was forever appended to every time the listing was requested. It was also shared between all enumerators. This has been corrected by using a COM wrapper around a copied STL collection a la SftpDirectory?.

Added more unit tests for these scenarios.
Refactored common test setup out of the Libssh2Provider tests.
Improved Rename() unit tests by making use of new creation functions.

Disabled the ssize_t to unsigned int warning for the entire of Libssh2Provider.cpp. Eventually I would like to submit a patch to libssh2 to avoid this issue.

Inserted some omitted calls to libssh2_sftp_close_handle().

09/09/08:

19:17 Changeset in swish [2e1f0f2] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Added file and directory deletion to backend. The directory deletion is recursive. Although this is a little clunky (lists every directory and deletes each item individually with a separate call across the network) we have no choice due to the limitations of SFTP.

06/09/08:

17:22 Changeset in swish [fee77eb] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Branching feature_rename to feature_delete to continue parallel development.

17:17 Changeset in swish [5a20e27] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Added tests for SftpDirectory? subfolder renaming.

11:31 Changeset in swish [2be0ee4] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Refactored directory path cleanup into constructor.

11:12 Changeset in swish [ddd6871] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Removed dead code.

11:08 Changeset in swish [4dce0f7] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Fixed renaming so that it works in subfolders.

09:11 Changeset in swish [f3c5853] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Added tests for renaming files outside of Home directory tree.
Moved one-off Libssh2Provider tests into constructor.
Added test that doesn't specify a directory to investigate what libssh2 defaults to.

07:45 Changeset in swish [8a98db4] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Fix _CheckFileExists() to handle subfolders.

04/09/08:

20:05 Changeset in swish [84d3897] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Test for subfolder case. Eventually all tests should be in a subfolder.

Some refactoring.

19:32 Changeset in swish [f5a77fe] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Combined Libssh2Provider_test declaration and implementation into .cpp file: Libssh2Provider_test.cpp

16:51 Changeset in swish [26bea18] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015feature_deletefeature_keyboard_interactivefeature_readfeature_renamefeature_writefix/sync_ui_attemptolder_sdksrelease/0.8.0reorg_divide_and_conquervista_compatwip_vs_2015

Extended Rename() to cope if the file already exists. This was tricky because SFTP servers < v4 (i.e. most) don't allow an overwrite in this case. We get around this by first trying the v5 method and if that fails trying a non-atomic delete-rename combination. This has the potential for race conditions but I think the benefits outweigh the risk. If this proves a problem I'll remove it and just make it report the failure.

Also, more than one operation could not be performed down a single connection. I have hacked in fix for this (m_fConnected) but eventually it should be handled by the connection pool that I want to make.

Was asserting if EnumObjects?() UI was forbidden (NULL HWND passed). Now we just throw an exception which gets caught as a simple failure.

Removed prompt strings from OnConfirmOverwrite? methods. This should really be up to the frontend not the SftpProvider?.

ComCatch? was not catching AtlExceptions?. Fixed.

Added unit tests for rename functionality.

Extended MockSftpConsumer? so that any behaviours which are not explicitly set throw and exception. This causes tests to fail if an unexpected callback is triggered.

09:38 Ticket #14 (EnumObjects failure when no UI allowed should be late as possible) created by alamaison
The IShellFolder::EnumObjects?() function passes an HWND to be used for UI, …
Note: See TracTimeline for information about the timeline view.