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