diff --git a/.gitignore b/.gitignore
index 827d62a90..7bf6fbf1f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,14 +1,17 @@
-
-.*.swp
+# Local-only VS/Re#/etc files
*.suo
-bin
+*.user
+*.gpState
_ReSharper.*
+.*.swp
+
+#
+
+# Build outputs
+bin
obj
-*.gpState
-*.user
-TestResults
-GitTfs/GitVersionInfo
pkg
-GitTfs.sln.*
-*.dotCover
+
+# 3rd-party stuff copied during build
packages/
+GitTfs/git2.*
diff --git a/.nuget/NuGet.targets b/.nuget/NuGet.targets
index bda5bea32..106a601c4 100644
--- a/.nuget/NuGet.targets
+++ b/.nuget/NuGet.targets
@@ -44,7 +44,7 @@
@(PackageSource)
"$(NuGetExePath)"
- mono --runtime=v4.0.30319 $(NuGetExePath)
+ $(NuGetToolsPath)/fake-nuget
$(TargetDir.Trim('\\'))
@@ -140,4 +140,4 @@
-
\ No newline at end of file
+
diff --git a/.nuget/fake-nuget b/.nuget/fake-nuget
new file mode 100755
index 000000000..ebc5d1ac0
--- /dev/null
+++ b/.nuget/fake-nuget
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+command=$1
+manifest=$2
+dest=$7
+
+ERR_COMMAND=1
+ERR_DOWNLOAD=2
+ERR_EXTRACT=3
+
+if [ "$command" != "install" ]
+then
+ echo "Only install is supported. (command was $command)"
+ exit $ERR_COMMAND
+fi
+
+# http://stackoverflow.com/questions/893585/how-to-parse-xml-in-bash
+read_dom() {
+ local IFS=\>
+ read -d \< ENTITY CONTENT
+}
+
+parse_dom() {
+ echo $ENTITY
+ TAG_NAME=${ENTITY%% *}
+ ATTRIBUTES=${ENTITY#* }
+ if [ "$TAG_NAME" == "package" ]
+ then
+ eval local $ATTRIBUTES
+ pkgdest="$dest/$id.$version"
+ pkg="$id.$version.nupkg"
+ downloaded="$pkgdest/$pkg"
+ if [ ! -d "$pkgdest" ]
+ then
+ mkdir -p "$pkgdest"
+ fi
+ if [ ! -f "$downloaded" ]
+ then
+ curl -L -o "$downloaded" "https://nuget.org/api/v2/package/$id/$version" || exit $ERR_DOWNLOAD
+ fi
+ unzip -o -d $pkgdest $downloaded || exit $ERR_EXTRACT
+ fi
+}
+
+install_packages() {
+ while read_dom
+ do
+ parse_dom
+ done
+}
+
+cat $manifest | install_packages
diff --git a/.nuget/packages.config b/.nuget/packages.config
new file mode 100644
index 000000000..1cb9b2b94
--- /dev/null
+++ b/.nuget/packages.config
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000000000..0fc120efe
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,12 @@
+language: c
+
+install:
+ - sudo apt-get install mono-devel mono-gmcs
+
+script:
+ - git submodule update --init
+ - xbuild GitTfs.sln /p:Configuration=Debug /t:GitTfsTest
+
+after_script:
+ - ./.nuget/fake-nuget install .nuget/packages.config -source "" -RequireConsent -o ./packages
+ - mono packages/xunit.runners.1.9.1/tools/xunit.console.clr4.exe GitTfsTest/bin/Debug/GitTfsTest.dll
diff --git a/GitTfs.VsFake/GitTfs.VsFake.csproj b/GitTfs.VsFake/GitTfs.VsFake.csproj
index 57a4aba9c..0fa2f58f2 100644
--- a/GitTfs.VsFake/GitTfs.VsFake.csproj
+++ b/GitTfs.VsFake/GitTfs.VsFake.csproj
@@ -126,7 +126,8 @@
-->
- xcopy /y "$(TargetDir)*.dll" "$(SolutionDir)GitTfs\$(OutDir)"
+ xcopy /y "$(TargetDir)*.dll" "$(SolutionDir)GitTfs\$(OutDir)"
+ cp "$(TargetDir)"*.dll "$(SolutionDir)GitTfs\$(OutDir)"
-
\ No newline at end of file
+
diff --git a/GitTfs/GitTfs.csproj b/GitTfs/GitTfs.csproj
index b12bef0f0..e3df7337c 100644
--- a/GitTfs/GitTfs.csproj
+++ b/GitTfs/GitTfs.csproj
@@ -244,11 +244,12 @@
-->
- xcopy /Y "$(SolutionDir)\lib\libgit2sharp\Lib\NativeBinaries\$(PlatformName)\*.*" "$(ProjectDir)"
+ xcopy /Y "$(SolutionDir)\lib\libgit2sharp\Lib\NativeBinaries\$(PlatformName)\*.*" "$(ProjectDir)"
+ cp "$(SolutionDir)/lib/libgit2sharp/Lib/NativeBinaries/$(PlatformName)/"* "$(ProjectDir)"
-
\ No newline at end of file
+
diff --git a/GitTfsTest/GitTfsTest.csproj b/GitTfsTest/GitTfsTest.csproj
index 30d93fdf7..5f8525395 100644
--- a/GitTfsTest/GitTfsTest.csproj
+++ b/GitTfsTest/GitTfsTest.csproj
@@ -1,152 +1,152 @@
-
-
-
- Debug
- x86
- 9.0.30729
- 2.0
- {DDFB4746-2BCE-4B34-8E45-056324CF140D}
- Library
- Properties
- Sep.Git.Tfs.Test
- GitTfsTest
- v4.0
- 512
- {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
-
-
- 3.5
-
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- false
- true
- ..\
- true
-
-
- true
- bin\Debug\
- DEBUG;TRACE
- full
- x86
- true
- GlobalSuppressions.cs
- prompt
- AllRules.ruleset
-
-
- bin\Release\
- TRACE
- true
- pdbonly
- x86
- true
- GlobalSuppressions.cs
- prompt
- AllRules.ruleset
-
-
-
- ..\lib\NDesk.Options\lib\ndesk-options\NDesk.Options.dll
-
-
- False
- ..\lib\StructureMap\Rhino.Mocks.dll
-
-
- False
- ..\lib\StructureMap\StructureMap.dll
-
-
- False
- ..\lib\StructureMap\StructureMap.AutoMocking.dll
-
-
-
- 3.5
-
-
-
-
-
-
- ..\packages\xunit.1.9.1\lib\net20\xunit.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {20c411e8-49c7-11e1-a776-3fe84824019b}
- GitTfs.VsFake
-
-
- {55C169E0-93CC-488C-9885-1D4EAF4EA236}
- GitTfs
-
-
- {EE6ED99F-CB12-4683-B055-D28FC7357A34}
- LibGit2Sharp
-
-
-
-
- False
- Microsoft .NET Framework 4 %28x86 and x64%29
- true
-
-
- False
- .NET Framework 3.5 SP1 Client Profile
- false
-
-
- False
- .NET Framework 3.5 SP1
- false
-
-
- False
- Windows Installer 3.1
- true
-
-
-
-
-
-
-
+
+
+
+ Debug
+ x86
+ 9.0.30729
+ 2.0
+ {DDFB4746-2BCE-4B34-8E45-056324CF140D}
+ Library
+ Properties
+ Sep.Git.Tfs.Test
+ GitTfsTest
+ v4.0
+ 512
+ {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+
+
+ 3.5
+
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+ ..\
+ true
+
+
+ true
+ bin\Debug\
+ DEBUG;TRACE
+ full
+ x86
+ true
+ GlobalSuppressions.cs
+ prompt
+ AllRules.ruleset
+
+
+ bin\Release\
+ TRACE
+ true
+ pdbonly
+ x86
+ true
+ GlobalSuppressions.cs
+ prompt
+ AllRules.ruleset
+
+
+
+ ..\lib\NDesk.Options\lib\ndesk-options\NDesk.Options.dll
+
+
+ False
+ ..\lib\StructureMap\Rhino.Mocks.dll
+
+
+ False
+ ..\lib\StructureMap\StructureMap.dll
+
+
+ False
+ ..\lib\StructureMap\StructureMap.AutoMocking.dll
+
+
+
+ 3.5
+
+
+
+
+
+
+ ..\packages\xunit.1.9.1\lib\net20\xunit.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {20c411e8-49c7-11e1-a776-3fe84824019b}
+ GitTfs.VsFake
+
+
+ {55C169E0-93CC-488C-9885-1D4EAF4EA236}
+ GitTfs
+
+
+ {EE6ED99F-CB12-4683-B055-D28FC7357A34}
+ LibGit2Sharp
+
+
+
+
+ False
+ Microsoft .NET Framework 4 %28x86 and x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+ False
+ Windows Installer 3.1
+ true
+
+
+
+
+
+
+
-
\ No newline at end of file
+ -->
+