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