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