[Mono-dev] Microsoft.TeamFoundation APIs

Charlie Poole charlie at nunit.com
Wed Dec 20 21:58:21 EST 2006


Hi Joel, 

> Anyway, you might also want to consider giving my codeplex 
> account "developer" access to turtle. This would allow me to 
> test my code against another TFS server. Or try out the test 
> suite on the project yourself. Right now its only get/query 
> type stuff, so no chance of mucking up your files.

You can also use NUnitLite for read-access testing. Send me
your id if you'd like to be set up.

For writing, a completely separate dummy project might be best.
If you think that's a good idea, I can put you in touch with
someone to ask about setting it up.

Charlie

> jr
> 
> > 
> > -Steve
> > 
> > PS: The current incarnation of Turtle is a WinForms app, but it 
> > wouldn't break my heart to rip out with WinForms views and drop in 
> > Gtk#.
> > 
> > On 12/19/06, joel reed <joel.reed at ddiworld.com> wrote:
> >> Rafael Teixeira wrote:
> >> > Hi Joel,
> >> >
> >> > Nice work so far but I couldn't find an open source TFS 
> server to 
> >> > match it...
> >> >
> >> > Can you point me to some open source implementation of a 
> backend to
> >> your
> >> > APIs?
> >>
> >> I wish I could. TeamFoundation server consists of a SQL Server 
> >> database, sharepoint site, and an application tier consisting of a 
> >> lot of web services. It would be much more difficult to try and 
> >> duplicate the server side, then the client side, imho. I 
> just want a 
> >> client personally so I could checkin/checkout code, 
> respond to bugs, etc. on my *nix box.
> >>
> >> If you are really motivated, then another option would be 
> to connect 
> >> to the TeamFoundation server on Microsoft's codeplex site 
> >> (http://www.codeplex.com). Its the only TFS server I know 
> of that is 
> >> accessible via the Internet. However, to do this, you must have a 
> >> registered account, and be a "developer" or "coordinator" on a 
> >> codeplex project. Not very helpful, except for those very 
> motivated 
> >> to help implement/test these APIs.
> >>
> >> jr
> >>
> >>
> >> >
> >> > Regards,
> >> >
> >> > On 12/19/06, joel reed <joel.reed at ddiworld.com> wrote:
> >> >> Just in the interest of getting what I have done out their now, 
> >> >> I'm posting the following gzip'd patch against the 
> 12/18/06 olive tree.
> >> >>
> >> >> Currently implemented functionality:
> >> >>
> >> >>    Get list of all projects in a repository
> >> >>    Get project by name
> >> >>    Get project by url
> >> >>    Querying labels
> >> >>    Downloading files
> >> >>    Get list of all files in a project
> >> >>
> >> >> The patch adds a tool/tfs/tfs.cs which you can use to 
> try out the
> >> above
> >> >> functionality on a TFS server of your choice.
> >> >>
> >> >> Here's what's in the patch.
> >> >>
> >> >> (2225 /usr/local/src/olive) lsdiff ~/olive-with-tfs.v1.diff 
> >> >> olive/class/Makefile 
> >> >> olive/class/Microsoft.TeamFoundation/Assembly/AssemblyInfo.cs
> >> >> olive/class/Microsoft.TeamFoundation/ICommonStructureService.cs
> >> >> olive/class/Microsoft.TeamFoundation/Makefile
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation/Microsoft.TeamFoundation.dll.sou
> >> rces
> >> >> olive/class/Microsoft.TeamFoundation/ProjectInfo.cs
> >> >> olive/class/Microsoft.TeamFoundation/ProjectProperty.cs
> >> >> olive/class/Microsoft.TeamFoundation/ProjectState.cs
> >> >> 
> olive/class/Microsoft.TeamFoundation.Client/Assembly/AssemblyInfo.
> >> >> cs 
> >> >> 
> olive/class/Microsoft.TeamFoundation.Client/CommonStructureService
> >> >> .cs olive/class/Microsoft.TeamFoundation.Client/Makefile
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.Client/Microsoft.TeamFoundation.
> >> Client.dll.sources
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.Client/Microsoft.TeamFoundation.
> >> Client_test.dll.sources
> >>
> >> >>
> >> >> 
> olive/class/Microsoft.TeamFoundation.Client/TeamFoundationServer.c
> >> >> s
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.Client/Test/CommonStructureServi
> >> ceTest.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.Client/Test/TeamFoundationServer
> >> Test.cs
> >>
> >> >>
> >> >> 
> olive/class/Microsoft.TeamFoundation.Common/Assembly/AssemblyInfo.
> >> >> cs 
> >> >> 
> olive/class/Microsoft.TeamFoundation.Common/InvalidPathException.c
> >> >> s olive/class/Microsoft.TeamFoundation.Common/Makefile
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.Common/Microsoft.TeamFoundation.
> >> Common.dll.sources
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.Common/TeamFoundationServerExcep
> >> tion.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Assembly/A
> >> ssemblyInfo.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ChangesetV
> >> ersionSpec.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ChangeType
> >> .cs
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/DateVersio
> >> nSpec.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/DeletedSta
> >> te.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ExceptionE
> >> ventArgs.cs
> >>
> >> >>
> >> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Failure
> >> >> .cs
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/GetOperati
> >> on.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/GetOptions
> >> .cs
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/GetRequest
> >> .cs
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/GettingEve
> >> ntArgs.cs
> >>
> >> >>
> >> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Item.cs
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ItemNotMap
> >> pedException.cs
> >>
> >> >>
> >> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ItemSet
> >> >> .cs 
> >> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ItemSpe
> >> >> c.cs 
> >> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/ItemTyp
> >> >> e.cs
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/LabelVersi
> >> onSpec.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/LatestVers
> >> ionSpec.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/LockLevel.
> >> cs
> >> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Makefil
> >> >> e
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/MappingExc
> >> eption.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Microsoft.
> >> TeamFoundation.VersionControl.Client.dll.sources
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Microsoft.
> >> TeamFoundation.VersionControl.Client_test.dll.sources
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/PendingCha
> >> ngeEventArgs.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Processing
> >> ChangeEventArgs.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/RecursionT
> >> ype.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Repository
> >> .cs
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Repository
> >> Properties.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/SecurityCh
> >> ange.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/TeamProjec
> >> tFolderOptions.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Test/Versi
> >> onControlServerTest.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Test/Worki
> >> ngFolderTest.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/VersionCon
> >> trolException.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/VersionCon
> >> trolLabel.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/VersionCon
> >> trolServer.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/VersionSpe
> >> c.cs
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/WorkingFol
> >> der.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/WorkingFol
> >> derType.cs
> >>
> >> >>
> >> >> 
> >> 
> olive/class/Microsoft.TeamFoundation.VersionControl.Client/Workspace.
> >> cs
> >> >> olive/README.tfs
> >> >> olive/tools/Makefile
> >> >> olive/tools/tfs/Makefile
> >> >> olive/tools/tfs/tfs.cs
> >> >> olive/tools/tfs/tfs.exe.sources
> >> >> olive/tools/tfs/TODO
> >> >> olive/tools/tfs/USAGE
> >> >>
> >> >> thanks,
> >> >>
> >> >> jr
> >> >>
> >> >>
> >> >> Charlie Poole wrote:
> >> >> > Hi Joel,
> >> >> >
> >> >> >> Charlie Poole wrote:
> >> >> >>> Separate from the question of where this belongs and how it
> >> >> >> relates to
> >> >> >>> Mono, I'd love to have a way to access the 
> Microsoft CodePlex 
> >> >> >>> repositories that doesn't involve use of TFS.
> >> >> >> Good idea. I'll test my code against codeplex in 
> addition to my 
> >> >> >> local TFS server.
> >> >> >
> >> >> > Let me know if I can help.
> >> >> >
> >> >> >>> Any thoughts of working on the Microsoft unit test APIs? 
> >> >> >>> There's a work in progress to allow NUnit to run 
> those tests, 
> >> >> >>> but it
> >> >> >> requires a
> >> >> >>> copy of the Microsoft dlls to do it. Removing that
> >> >> >> limitation would be
> >> >> >>> quite powerful.
> >> >> >> When I finish up what I need with the version 
> control APIs, I'd 
> >> >> >> probably take a look at the issue tracking stuff next.
> >> >> >> The unit test APIs would be interesting, but I prefer just 
> >> >> >> using Nunit :)
> >> >> >
> >> >> > I have no objections to that. :-)
> >> >> >
> >> >> > Charlie
> >> >> >
> >> >> >> jr
> >> >> >>
> >> >> >>
> >> >> >>> Charlie
> >> >> >>>
> >> >> >>>> -----Original Message-----
> >> >> >>>> From: mono-devel-list-bounces at lists.ximian.com
> >> >> >>>> [mailto:mono-devel-list-bounces at lists.ximian.com] On
> >> >> >> Behalf Of joel
> >> >> >>>> reed
> >> >> >>>> Sent: Saturday, December 16, 2006 7:09 PM
> >> >> >>>> To: mono-devel
> >> >> >>>> Subject: [Mono-dev] Microsoft.TeamFoundation APIs
> >> >> >>>>
> >> >> >>>> I've been working on implementing the Team Foundation
> >> >> >> Server APIs and
> >> >> >>>> currently have partial implementations of about 45 
> classes. 
> >> >> >>>> I'm currently working on the test suite and fixing bugs, 
> >> >> >>>> comparing
> >> the
> >> >> >>>> test suite output against my implementation and MS's. As
> >> >> >> part of this
> >> >> >>>> work, I also have a tfs.exe utility that can display all
> >> >> >> the projects
> >> >> >>>> in a repository and download all the files in any
> >> >> >> particular project.
> >> >> >>>> These are the namespaces I've been working on:
> >> >> >>>>    Microsoft.TeamFoundation
> >> >> >>>>    Microsoft.TeamFoundation.Common
> >> >> >>>>    Microsoft.TeamFoundation.Client
> >> >> >>>>    Microsoft.TeamFoundation.VersionControl.Client
> >> >> >>>>
> >> >> >>>> I've been working on this within the context of the mono
> >> >> >> olive tree.
> >> >> >>>> That is, I've added all my code to this tree locally, and
> >> >> >> integrated
> >> >> >>>> it into the build system.
> >> >> >>>>
> >> >> >>>> Is the olive project the right place for an implementation
> >> >> >> of the the
> >> >> >>>> Team Foundation Server APIs? Or the mono project? Or just
> >> >> >> a separate
> >> >> >>>> sourceforge project? Just looking for some guidance here.
> >> >> >>>>
> >> >> >>>> jr
> >> >> >>>>
> >>
> >>
> >> _______________________________________________
> >> Mono-devel-list mailing list
> >> Mono-devel-list at lists.ximian.com
> >> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >>
> >>
> >>
> >>
> > 
> > 
> 






More information about the Mono-devel-list mailing list