add.stats.command.to.tfsbot
[tfs.git] / ChangeLog
blob9009785475e5707a29daf83015aa609d3cc6d654
1 2007-02-05  Joel Reed  <joelwreed@comcast.com>
3         * v0.6.1 release notes
5         # NEW: add /path option to "tf labels" command for filtering by path
6         # NEW: add Workfold.CreateLocal option to automatically create
7         mapped local folders.
8         # NEW: better cygwin support, eg. pipe-able ls-files output
9         # NEW: show the difference between two versions for a specified path
10         with tf diff <to version spec> <from version spec> <path>
11         # NEW: don't barf when diffing binary files
12         # NEW: add stats command to tfsbot
13         # BUGFIX: tf.sh shouldn't assume mono is always in /usr/bin/
14         # BUGFIX: make Microsoft.TeamFoundation.Client.Authenticator work with
15         mono versions post 1.2.6
16         # BUGFIX: off by one bug in tf diff /modified output
17         # BUGFIX: catch invalid changeset ids instead of throwing
18         # COMPAT:
19         http://blogs.msdn.com/buckh/archive/2006/03/15/552288.aspx
20         http://blogs.msdn.com/buckh/archive/2005/10/26/485458.aspx
21         http://blogs.msdn.com/buckh/archive/2005/10/25/484854.aspx
22         http://blogs.msdn.com/jmanning/archive/2006/08/08/692281.aspx
23         
24 2007-10-07  Joel Reed  <joelwreed@comcast.com>
26         * v0.6.0 release notes
28         # CRUISECONTROL: add support for date range queries to the history
29         command, e.g. -version:"D2006-10-01T01:01:01Z~D2006-12-13T20:00:00Z"
30         # CRUISECONTROL: add -noprompt option
31         # CRUISECONTROL: add support for username@domain -login syntax
32         # TFSBOT: add new IRC commit notification daemon. 
33         # NEW: add alpha-quality MonoDevelop addin, with debian package
34         # NEW: implement "tf shelve <name> <path>" to create new shelvesets
35         # NEW: implement "tf shelve /delete <name>" for deleting shelvesets
36         # NEW: implement "tf merges <src> <dest>" for listing merge points
37         # NEW: implement "tf diff /ignorespace" option
38         # NEW: implement "tf rollback <changeset>" for undoing a changeset.
39         NOTE: only useful if no one else has changed the file since then.
40         # NEW: add Get.ChangesetMtimes setting: By enabling this option, 
41         the TF will set the modification time of any file subsequently fetched
42         to the date of the last changeset in which the file was modified. 
43         Warning: this mode of operation can significantly slow down "tf get".
44         NOTE: Is this the best we can do? Does the server have any better datetime info?
45         # NEW: add Get.DefaultToCwd setting: By enabling this option, the TF 
46         client will look for updates starting with the current working folder 
47         instead of pulling updates from all registered working folders.
48         # NEW: add Workspace.Default setting: If the TF client cannot determine the 
49         active workspace, first from the "/workspace:" option, and second the 
50         workspace cache, then it will use the Workspace.Default setting if non-null.
51         # BUGFIX: tf history with stopAfter > 256 shouldn't emit
52         duplicate entries (thanks to dion.olsthoorn for the report & fix)
53         # BUGFIX: tf online <path> shouldn't croak if <path> is an add awaiting 
54         its first checkin
55         # BUGFIX: tf undo <paths> shouldn't undo all local changes
56         # BUGFIX: when parsing changeset and shelveset datetimes don't 
57         drop the time portion
58         # BUGFIX: insert trailing tabs after filenames (a/b) in diffs to
59         help diffutils grok filenames with spaces
60         # BUGFIX: make sure tf ls-files <paths> is not passed a filename
61         # BUGFIX: set proper checkin time (by passing 0, not DateTime.Now - doh!)
62         # BUGFIX: fix tf ls-files /others breakage on windows for subdirectories
63         # BUGFIX: update local workspace cache when "tf workspaces" command called.
64         # BUGFIX: fix issue #8 "tf config expects ~/.tf/ to already exist"
65         # BUGFIX: teach tf that diffing binary files should print short 
66         "Binary files $1 and $2 differ" message
67         # BUGFIX: teach status command how to deal with locked files
68         # BUGFIX: teach tf branches command about server paths
69         # BUGFIX: don't clobber workspace info cache when there
70         are >1 TFS server
71         # BUGFIX: update build for monodevelop 0.18.1 changes
72         # BUGFIX: show renames correctly in changeset command
73         # API: Microsoft.TeamFoundation.Common: Artifact, ArtifactId, ILinking
74         LinkFilter, LinkingUtilities, ServiceInterfaces
75         # API: Microsoft.TeamFoundation.VersionControl.Client: ShelvingOptions,
76         ChangesetMerge
77         
78 2007-09-07  Joel Reed  <joelwreed@comcast.com>
80         * v0.5.2 release notes
81         # NEW: add VS2005 project files and solution for building opentf 
82         on Windows
83         # NEW: add spec file for building RPMs on OpenSuse
84         # NEW: add "lock" command
85         # NEW: add "show stats" command to show server statistics
86         # NEW: add "show tools" command to show registered tools
87         # NEW: add "show build" command to show build configuration
88         # NEW: add "show ident" command to show server account information
89         # NEW: rename "tf cache" to "tf show cache"
90         # NEW: implement "tf changeset /latest" and test case
91         # NEW: implement "tf history /user:FOO" for filtering history queries by user
92         # NEW: implement "tf history /version:<vspec>" - but not ranges!
93         # NEW: add "tf history /format:byowner" and test case
94         # NEW: add "tf version" command to print program version number
95         # NEW: add "Server.Default" setting 
96         # NEW: teach File.Excludes to support directory specifications as well as
97         file glob patterns
98         # NEW: teach tf shelveset the "name;owner" syntax for specifying a shelveset
99         
100         # API: add ICredentialsProvider, ArtifactType, ChangeType, Database, 
101         IGroupSecurityService, IRegistration, Identity, IdentityType, 
102         QueryMembership, OutboundLinkType, RegistrationEntry, SearchFactor 
103         and ServiceInterface classes
104         
105         # API: start work on Microsoft.TeamFoundation.WorkItemTracking.Client assembly
106         # BUGFIX: rework exit codes throughout for more consistency
107         # BUGFIX: tf shelveset /owner:<owner> should filter results by owner
108         # BUGFIX: add column headers to history /format:brief output
109         # BUGFIX: tf get /force shouldn't set preview mode!
110         # BUGFIX: properly label renames in tf status output
111         # BUGFIX: make sure all files in a directory are read-write before
112         attempting to delete a directory containing these files
113         # BUGFIX: handle QueryHistory requests with maxCount > 256
114         # API: implement VersionControlServer.GetLatestChangesetId
116 2007-08-02  Joel Reed  <joelwreed@comcast.com>
118         * v0.5.1 release notes
120         # NEW: add "explore" command for visually browsing a repository, sortable 
121         changeview columns, control-c to copy a changelist entry
122         # NEW: add gtk login dialog for missing auth credentials
123         # NEW: tf undo with no args will undo all local changes, previously the command
124         required at least one filename or path
125         # NEW: report on UndonePendingChange events (which can happen if file upload
126         fails on checkin for example)
127         # NEW: all commands now support reading arguments from stdin
128         # NEW: command chaining now supports output piping using %%. 
129         Implemented for ls-files and diff /q commands only!
130         For example, you can say tf ls-files /others %% add to add all
131         unknown files to the repository. 
132         # NEW: support wildcards in checkout paths
133         # NEW: teach tf workspaces command to filter by workspace name if requested
134         # NEW: add syntax guidance to tf help <cmd> invocations
135         # NEW: 8 more test cases for tf client program covering add, renaming, 
136         and deleting of directories, plus renaming files
137         # BUGFIX: tf rename <olddir> <newdir> should work now
138         # BUGFIX: teach diff /modified to check file hashes before reporting a modified file
139         # BUGFIX: when told to delete a directory, delete files within them too
140         # BUGFIX: implement CheckAuthentication call - this makes adding large numbers
141         of files more reliable as it prevents NTML authentication timeout related failures
142         # BUGFIX: on windows, must do case insensitive path comparisons 
143         when looking for cached workspace info
144         # BUGFIX: tf online <list-of-files> didn't pickup deletes to pend
145         # BUGFIX: GetLocalWorkspaceInfo(string path) should trim workspaceinfo directory
146         separators before looking for a match
147         # BUGFIX: TryGetServerItemForLocalItem and TryGetLocalItemForServerItem
148         should find longest match
149         # BUGFIX: teach tf workfold /unmap to accept relative paths
150         # BUGFIX: always sort items in an ItemSet (sorts tf dir output for example)
152 2007-07-31  Joel Reed  <joelwreed@comcast.com>
154         * v0.5.0.1 release notes (brown paper bag release)
156         # BUGFIX: Improved error reporting broke Command::GetLocalWorkspaceCache
157         function. Darn!
158         
159 2007-07-03  Joel Reed  <joelwreed@comcast.com>
161         * v0.5.0 release notes
163         # NEW: add "tf shelvesets" command (brief output only)
164         # NEW: add support for writable working folders
165         # NEW: implement tf help <cmd> with display of valid options for 
166         each command.
167         # NEW: add "tf branches" command (limited testing)
168         # NEW: add tf online <list of files>
169         # NEW: add tf diff /brief option
170         # NEW: support for tf add /recursive <path>
171         # NEW: 20 new test cases for tf client program
172         # NEW: add "tf help /list" helper for shell completion
173         # NEW: add History.StopAfter setting option
174         # NEW: --disable-magic option for windows/cygwin users
175         # NEW: add progress indicator to GetCommand when setting permissions
176         # NEW: add configure option "--with-mslibs=<dir>" to build just the 
177         TF client using the standard MS Team Foundation Assemblies
178         # NEW: teach view command to accept multiple item specs
179         # BUGFIX: don't try to upload new directories on checkin, only files
180         # BUGFIX: Command.VerifiedFullPaths should accept directories too
181         # BUGFIX: shell wrapper tf should quote $@ so /C:"This is my comment" 
182         will work
183         # BUGFIX: uninstall man page and pkg-config file too
184         # BUGFIX: fix /format:detailed output for added files in history cmd
185         # BUGFIX: tf delete <folder> should actually delete the folder
186         # BUGFIX: honor excludeFiles setting in tf ls-files /writable
187         
188 2007-06-18  Joel Reed  <joelwreed@gmail.com>
190         * v0.4.7 release notes
192         # Implement label and unlabel commands
193         # Add "cache" command which shows workspace cache settings
194         # Add /added, /modified, /deleted flags to Online command to
195         show just additions, just modifications, or just deletions 
196         respectively. These flags may be combined. With no flags, all
197         changes are incorporated.
198         # Add tf diff /modified option to show locally modified files as a
199         unified diff. Can be used to review changes before using the online
200         command.
201         # Add File.Excludes config option. Use in "online" command.
202         # Add Online.Recursive setting. Make default non-recursive to match
203         standard MS client.
204         # Add tf ls-files /writable option (mainly for windows users)
205         # BUGFIX: Fixed multiple issues related to running opentf on windows.
206         these include deleting read-only files and deleting files still open,
207         which succeed on *nix platforms, but not on windows.
208         # BUGFIX: Online command on windows. Replace server item path separator 
209         with platform path separator.
210         # BUGFIX: Replace windows path separators in diff headers with nix path 
211         separator so /usr/bin/patch is happy
212         # BUGFIX: Show deleted files in tf status as state "Deleted" not "544"
213         # BUGFIX: Compare file hashes when looking for modifications in tf online 
214         command. Previously just looked for files marked writable.
215         
216 2007-06-08  Joel Reed  <joelwreed@gmail.com>
218         * v0.4.6 release notes:
220         # Add Get.Recursive and History.DefaultToCwd config options 
221         for those looking to override the less helpful defaults of the
222         standard client
223         # Add Checkout.Latest option to ensure checkout of latest version 
224         of file rather than workspace version
225         # Change /usr/bin/cli to /usr/bin/mono in tf.sh
226         # BUGFIX: several diff fixes, including off by one error for files
227         not ending in "\n", new file diff format fixes, and B file context
228         calculation fixes
229         # BUGFIX: send local version updates to server after pending deletes
230         # BUGFIX: trailing slash on path confused online command 
231         # BUGFIX: Online, TreeClean, and ls-files command should pull item
232         list based on WorkspaceVersion not LatestVersion.
233         # BUGFIX: dont print blank lines for directories and new files for 
234         ls-files /old subcommand.
235         # BUGFIX: when upload new/changed files, send correct file length
236         # BUGFIX: add support for local paths to dir subcommand, and output
237         listing in a more unix-y format (which is, imho, far more useful)
238         # HELP: Warn that invalid options can be mistaken for paths.
239         # HELP: Add more CodePlex usage examples to README
240         
241 2007-04-27  Joel Reed  <joelwreed@gmail.com>
242         
243         * v0.4.4 release notes:
244         
245         NOTE: in this release VersionControl.config is now stored in ~/.tf/Cache/,
246         instead of ~/.tf/ - this change was made for consistency with the 
247         MS versions of the TFS assemblies. If you've used the TF tool previously,
248         just move VersionControl.config from ~/.tf/ to ~/.tf/Cache/
249         
250         # add basic version of TF Power Tool 1.1 "online" command to tf.exe,
251           includes /preview mode.
252         # add basic version of TF Power Tool 1.2 "treeclean" command to tf.exe,
253           includes /preview mode.
254         # add changeset command 
255         # add diff command with support for diff against server latest,
256           diff of pending changes, diff view of any changeset.
257         # add support for response file processing and multiple commands 
258           on a single command line, please see documentation for usage    
259         # add /format:detailed option to history command
260         # add basic "help" command
261         # add config command with options "Checkin.Validate", "Credentials.Save",
262           and "History.Recursive"
263         
264         # read server setings from cache file, don't need /server 
265           quite as much now
266         # load/store credentials from gnome-keyring if available, prompt for
267           password when not supplied.
268         
269         # undoing a delete restores the file now
270         # numerous API additions including: WorkspaceVersionSpec, IDiffItem, 
271           DiffItemVersionedFile, DiffOutputType, DiffOptionFlags, DiffOptions, 
272           Conflict*, ExceptionEvent* types
273         # add DisplayString property for all VersionSpec classes and test cases
274         # better man page
275         # better error messages
277         # BUGFIX: when a file is checked in mark it should be marked read-only
278         # BUGFIX: do case insensitive string comparisons in ls-files and
279         online commands on windows, and use Path.DirectorySeparatorChar
280         # BUGFIX: GetLocalWorkspaceInfo should find longest matching path,
281         not first matching path
282         # BUGFIX: tf get should use CWD only to find workspace
283         # BUGFIX: properly handle checkin of files marked read-only
284         # BUGFIX: on windows find correct TFS VersionControl.config file
285         
286 2007-04-22  Joel Reed  <joelwreed@gmail.com>
288         * v0.4.2 release: add support for querying ExtendedItems. Implement
289         tf.exe property command which uses ExtendedItems. Add GettingEventHandler,
290         PendingChangeEventHandler, ProcessingChangeEventHandler, 
291         and OperationStatus.
293         tf.exe now compiles/runs on MS CLR. Many bug fixes were made to APIs,
294         and client utility while testing on Windows.
296         tf.exe supports two new commands: "ls-files" and "properties".
297         The "status" command output was cleaned up. 
299         Added debian packages via "make dist"
300         
301         Started MonoDevelop plugin based on Subversion plugin. Work in progress.
302         Lots of code cleanups and bug fixes. 
304         Improved handling of ~/.tf/VersionControl.config cache.
306 2007-03-28 joel reed  <joelwreed@gmail.com>
308         * v0.4 release: support for add, delete, rename, edit, and 
309         history, and checkin commands. added file permissions handling
310         using libmagic. show changeset id from server. doc updates.
311         multiple API additions and bug fixes.
312         
313 2007-03-10 joel reed  <joelwreed@gmail.com>
315         * v0.3 release: much better support for tracking a repository,
316         including new files, deleted files, and renames. A preliminary
317         man page has been added, and utility commands like add, delete, 
318         checkout, and rename now modify the state of the server. The 
319         checkin command has a mysterious bug which prevents these 
320         modifications from being added back to the repository, 
321         but that should be cleaned up soon.
323 2006-12-29 joel reed  <joelwreed@gmail.com>
325         * v0.1 release: dir, labels, workspaces, view,
326         and permissions commands have initial implementations
327         
328 2006-12-28 joel reed  <joelwreed@gmail.com>
330         * initial setup of separate TFS tree