Free tool for everyone: VaultAgent.exe (version 1.0.1.5)

This forum is now locked, since Gold Support is no longer offered.

Moderator: SourceGear

Locked
M Wickardt
Posts: 52
Joined: Wed Jul 12, 2006 5:38 am

Free tool for everyone: VaultAgent.exe (version 1.0.1.5)

Post by M Wickardt » Fri Aug 11, 2006 7:13 am

Free tool for everyone: VaultAgent.exe for Vault 3.5.0.

I'm new to Vault, and soon discovered that overall it's a very good program, but in our specific situation, some enhancements had to be made. We weren't able to automate the things we wanted to be automated, so we made some vault extentions. This is one of them, that is (imho) of use to all vault users.

I made a new version of Vault.exe (the command line client), and a new GUI program VaultAgent.exe.

VaultAgent.exe is similar to Vault.exe, but it has a GUI, stays logged in, and optionally listens on a tcp socket for incoming batch commands.

VaultAgent has two uses:
1) A quick 'vault notepad' next to your Vault GUI Client, to quickly commit your own vault scripts or ask info, i.e. for reports. Only the first command is as slow as vault.exe, subsequent commands execute very quickly since you're already logged in from VaultAgent to the Vault server.
2) Make vault accessible to all platforms. You can transfer vault commands to a specific port from within unix, linux, osx, doesn't matter. The vault agent is in this case running unattended on a windows server, listening on a port.

To SourceGear:
I hope SourceGear will support the changes I've made in the API sourcecode for the cc, I've tried my best to keep it neat and adapted to your standards as much as I could. You can also take over VaultAgent.exe from us, that would save us upgrade compatibility issues, and give you a nifty addon to vault.exe and support for all platforms.

Best regards, M (Tijs) Wickardt, Bertus Distributie

NB:
Almost forgot to mention the enhancements to vault.exe:
1) LISTFOLDER: "shares" of each file are listed (with pin version if pinned)
2) LISTFOLDER: you can use wildcards for a filename filter within the folder. See "vault.exe help listfolder" for more info.
3) LISTFOLDER -outfields: Specify output fields. See "vault.exe help listfolder" for more info.

NB2:
VaultAgent.exe and the enhanced Vault.exe are compiled against the .NET 2.0 framework. If you don't already have it (it will ask you for it if you don't have it and try to run VaultAgent.exe), download it from:

http://msdn.microsoft.com/netframework/ ... fault.aspx

The runtime distributable (23 MB) is enough to run it.

See further in thread for version update history
Attachments
VaultAgent 20061105a src.zip
VS2005 solution - sourcecode of VaultAgent.exe and enhanced Vault.exe. Download the 3.5.0 API, and make references to the api dlls prior to compile/run. Make a reference to the xmlviewer in the bin zip.
(336.45 KiB) Downloaded 637 times
20061105 hist aff.JPG
20061105 hist aff.JPG (81.65 KiB) Viewed 9884 times
20061105 fdiff.JPG
20061105 fdiff.JPG (56.14 KiB) Viewed 9884 times
20061105 fdiff syncscr.JPG
20061105 fdiff syncscr.JPG (74.97 KiB) Viewed 9884 times
VaultAgent 20061105a bin.zip
Vault.exe (enhanced ccl version) and VaultAgent.exe. Runs on .net 2.0.
(411.37 KiB) Downloaded 639 times
Last edited by M Wickardt on Sun Nov 05, 2006 10:49 am, edited 7 times in total.

M Wickardt
Posts: 52
Joined: Wed Jul 12, 2006 5:38 am

Post by M Wickardt » Fri Aug 11, 2006 9:50 am

The two users who already dl-ed it, please do it again. There was a small bug in it, concerning the -outfields option. I replaced both zip's with new versions.

Best regards, M (Tijs) Wickardt, Bertus Distributie

M Wickardt
Posts: 52
Joined: Wed Jul 12, 2006 5:38 am

Post by M Wickardt » Thu Sep 14, 2006 7:16 am

I'm planning a minor upgrade.
Please reply here (or to my post in the normal forum) if you want extra features, I might have the time to include them.

Best regards, M Wickardt

kasti
Posts: 108
Joined: Tue Apr 20, 2004 4:21 am
Location: Austria

Post by kasti » Thu Sep 14, 2006 11:38 pm

Hi,

Currently it shows the version of the files that are pinned. It would be nice if it could also show the versions of the directories.

Thanks for publishing this tool,
Herbert.

M Wickardt
Posts: 52
Joined: Wed Jul 12, 2006 5:38 am

Post by M Wickardt » Fri Sep 22, 2006 8:31 am

Herbert, I've included your request.

I put a new version online, with the following enhancements:
- For better unattended operation, VaultAgent is now okay with disconnects from the server. As soon as the vaultserver / iis / the network is running again, it executes your next commands (by hand or by tcp socket). In case of a network glitch, one retry is attempted before any error is fed back to the requestor.
- the -outfields option is also added to the HISTORY command
- the -outfields option is extended with a 'folderversion' option in the LISTFOLDER command

Best regards, M (Tijs) Wickardt, Bertus Distributie
Attachments
VaultAgent folderversion.JPG
VaultAgent folderversion.JPG (115.93 KiB) Viewed 10357 times

M Wickardt
Posts: 52
Joined: Wed Jul 12, 2006 5:38 am

Post by M Wickardt » Wed Oct 11, 2006 4:36 am

I've just put a new version online (see first in thread).

enhancements:

- a FOLDERDIFF command, to get a quick list of different files between two folders based on version / share info (see new screenshot in first post). It lists differences L/R, only left, only right, folders only left, folders only right, and displays a.o. fullpath, moddate, lastuser, lastcomment, lastaction.

- all 'reporting' commands now also have a -outfile option. This is useful for batchmode or socketmode, now you can output different commands to different files.

- LISTFOLDER can optionally also show lastuser, lastcomment, lastaction. Select this through the -outfields option.

From the updated help:

Code: Select all

SourceGear Vault Command Line Client 1.0.0.3
Copyright ¸ SourceGear 2006

usage: vault.exe FOLDERDIFF [options] repositoryfolder1 repositoryfolder2

FOLDERDIFF will display the differences between two folders,
showing 'left only', 'right only', and 'different'.
The compare will be done on version and transaction information
only; the contents of the files will not be analyzed.
The FOLDERDIFF command is most useful in a setup where
the individual files between two folders are shared, 
but different versions are pinned.
If you supply a wildcard, supply it to the first folder.

Server and authentication information is specified by:
  -host host
      Hostname of the vault server to connect to. Can also use "-server"
  -ssl 
      Enables SSL for server connection
  -user username
      Username to use when connecting to server.
  -password password
      Password to use when connecting to server
  -proxyserver proxyserver
      Server name or url for the proxy to use when connecting.
  -proxyport proxyport
      Port to use to connect to the proxy.
  -proxyuser proxyuser
      Username for proxy authentication.
  -proxypassword proxypassword
      Password for proxy authentication.
  -proxydomain proxydomain
      Domain for proxy authentication.
  -repository repositoryname
      Repository to connect to

This is a list of possible options:
  -norecursive 
      Do not act recursively on folders
  -outfields 
      Specify a comma-separated list of fields you want to 
      see (overrides default output).
      Possible fields for LISTFOLDER:
      workingfolder,name,version,length,objectid,objectversionid,
      ispinned,shares,checkouts,status,fullpath,folderversion,
      txdate,moddate,lastuser,lastaction,lastcomment
      Possible fields for FOLDERDIFF:
      name,fullpath,version,moddate,txdate
      ,ispinned,lastuser,lastaction,lastcomment
      Possible fields for HISTORY:
      txid,date,name,type,version,user,comment,actionstring
  -outfile 
      Specify a file-name if you want the output of
      a specific batch or socket command written to a file.
  -rowlimit limitnumber
      Limits the number of rows returned for a history query to
      limitnumber
Have fun with it, hope some ppl appreciate it,

Best regards,
M (Tijs) Wickardt, Bertus Distributie

M Wickardt
Posts: 52
Joined: Wed Jul 12, 2006 5:38 am

Post by M Wickardt » Sun Nov 05, 2006 11:00 am

I've just put a new version (1.0.1.5) online.

changes:
A flexible xml viewer is added. You can close and open it on the fly.
I decided not to include the sourcecode for the xml viewer, it's been put in a different assembly.

Use of the xml viewer speaks pretty much for itself - all help is in the tooltips. Still, a guide to view the folderdiff output in a nice way:

right-click on "Differences" and select "View List"
right-click on a "/viewxml/vault/differences/file/" node, and select "Flatten -> Flatten this XML path".

Now you can easily sort by clicking on a label, and Left/Right fields stay together next to eachother.

new features:
The folderdiff has a "syncscript" command, which generates a script to make two folders with different pinversions equal. Copy the generated script, paste it in the upper editor, and press Go to execute it.
It has a 'onlytoleft' and a 'onlytoright' option, check out the help.

The socket is made thread-safe. Some pollution could occur when recieving multiple incoming tcp packets/connections at the same time.

The history command is extended with an 'affectedfiles' option in the -outfields parameter. If you use this option, files and folders who are affected by the operation through a share link are listed below the history item. This is useful for synchronising a retrieved shadowfolder backup, or updating an offline shadowfolder (we have our own tools for synchronizing this, written in progress, I'm not uploading them as of now).

The 'type' attibute with the 'history' command was in the original vault.exe just filled with a meaningless number (from the coding I deduce that someone didn't have the time to finish it properly). It now shows the keyword type of the action.

Look at the screenshots in the first post in this thread, I updated them.

Have fun with it, regards, Tijs Wickardt (Bertus Distributie)

Locked