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