Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,15 @@ jobs:

permissions:
contents: write
packages: write

defaults:
run:
shell: pwsh

env:
gitHubUserAccount: ${{ github.repository_owner }}
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
gitHubToken: ${{ github.token }}
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
ENABLE_CHOCO_PUSH: false

Expand All @@ -34,7 +35,10 @@ jobs:
run: |
./build.ps1 `
-Target AppVeyorRelease `
-Configuration Release
-Configuration Release `
--isDryRun=false `
--gitHubOwner=${{ github.repository_owner }} `
--gitHubRepository=git-tfs

- name: Upload release artifacts
uses: actions/upload-artifact@v4
Expand Down
37 changes: 24 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,42 @@
## Introduction

[git-tfs](http://git-tfs.com/) is a two-way bridge between TFS (Team Foundation Server) and git, similar to git-svn.
**git-tfs-lfs** is a community-maintained fork of [git-tfs](http://git-tfs.com/) with **full Git LFS support**.

git-tfs is a two-way bridge between TFS (Team Foundation Server) and git, similar to git-svn.
It fetches TFS commits into a git repository, and lets you push your updates back to TFS.

[![git-tfs version](https://img.shields.io/github/release/git-tfs/git-tfs.svg?label=Latest%20Version:)](https://github.com/git-tfs/git-tfs/releases). See the [change history](https://github.com/git-tfs/git-tfs/releases) for details and download.
### What's New in This Fork

- **Full Git LFS awareness** via filter-process protocol - LFS files are properly handled from initial TFVC clone
- Updated dependencies (libgit2sharp 0.31, StructureMap 4.7.1, xunit 2.7)
- Support for Visual Studio 2019 and 2022 only (VS2015/2017 support dropped)

### Upstream Status

This is a fork of the [original git-tfs project](https://github.com/git-tfs/git-tfs) which has been largely dormant since 2024. The upstream maintainers are no longer active TFS users and the project is not actively maintained. This fork aims to maintain the project a little longer, with focus on LFS support and modern dependency updates.

If you're having problems, check out the [troubleshooting](doc/TROUBLESHOOTING.md) page.
And read [how to report an issue](doc/reporting-issues.md), before doing so ;)

## We need your help
## Get git-tfs-lfs

This project is no more **actively** maintained because we are no more users of TFS.
Thus being very useful, git-tfs is not exempt of not supported use cases.
If you encounter something missing or a problem, please contribute, we will be pleased to help you.
To get a stable version:

And remember:
* Download a binary from the [releases page](https://github.com/lucianm/git-tfs/releases)
* Using Scoop: `scoop install gittfs-lfs` (once the bucket PR is merged)
* Using WinGet: `winget install LucianM.GitTfsLfs` (once the package is approved)

>The fastest way to get an issue fixed is to submit a PR that fixes it.
### Original Upstream Version

>The slowest way to get it fixed is to hope someone else will fix it.
The original git-tfs is available at:
* [Upstream releases](https://github.com/git-tfs/git-tfs/releases)
* Using Chocolatey: `choco install gittfs` - installs the [upstream Chocolatey package](http://chocolatey.org/packages/gittfs)

## Get git-tfs
## Contributing

To get a stable version:
Contributions are welcome! Please submit PRs for bug fixes, features, or improvements.

* Download a binary. Find it on the [release page](https://github.com/git-tfs/git-tfs/releases),
* Using Chocolatey. If [Chocolatey](http://chocolatey.org/) is already installed on your computer, run `choco install gittfs` to install the [Chocolatey package](http://chocolatey.org/packages/gittfs)
>The fastest way to get an issue fixed is to submit a PR that fixes it.

To get a development version

Expand Down
37 changes: 35 additions & 2 deletions doc/release-notes/NEXT.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,37 @@
# git-tfs-lfs - Initial Community Fork with Full LFS Support

Community-maintained fork of git-tfs with full Git LFS awareness and updated dependencies.

## Full Git LFS support

Implemented complete Git LFS awareness using the Git filter-process protocol.

LFS files are now handled correctly directly from the initial TFVC clone, including:

* automatic smudge/clean operations,
* transparent pointer-file handling,
* compatibility with standard git-lfs,
* support during fetch and checkout operations.

## Improvements

* Updated LibGit2Sharp to v0.31
* Updated StructureMap to v4.7.1
* Updated xUnit tooling and test infrastructure
* Refreshed various dependencies for security and compatibility
* Added support for relative paths in .git redirection files

## Breaking Changes

* **Dropped Visual Studio 2015 support** - VS2015 project removed from solution
* **Dropped Visual Studio 2017 support** - VS2017 project removed from solution
* Minimum supported Visual Studio versions are now VS2019 and VS2022

## Bug Fixes (from upstream)

* fix: read/write of `description` in bare repos ( #1487 by bramborman )
* chore: target .net v4.8 ( #1490 by @pmiossec )
* chore: Update libgit2sharp to v0.30 ( #1492 by @pmiossec )
* Fix handling of renamed branches for clone/fetch ( #1493 by @dh2i-sam )

## Notes

This fork maintains full backward compatibility with git-tfs repositories while adding comprehensive LFS support. The LFS filter implementation is based on the Git pkt-line protocol and integrates directly with the local git-lfs installation for all filter operations.
37 changes: 37 additions & 0 deletions doc/release-notes/v0.35.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# git-tfs-lfs - Initial Community Fork with Full LFS Support

Community-maintained fork of git-tfs with full Git LFS awareness and updated dependencies.

## Full Git LFS support

Implemented complete Git LFS awareness using the Git filter-process protocol.

LFS files are now handled correctly directly from the initial TFVC clone, including:

* automatic smudge/clean operations,
* transparent pointer-file handling,
* compatibility with standard git-lfs,
* support during fetch and checkout operations.

## Improvements

* Updated LibGit2Sharp to v0.31
* Updated StructureMap to v4.7.1
* Updated xUnit tooling and test infrastructure
* Refreshed various dependencies for security and compatibility
* Added support for relative paths in .git redirection files

## Breaking Changes

* **Dropped Visual Studio 2015 support** - VS2015 project removed from solution
* **Dropped Visual Studio 2017 support** - VS2017 project removed from solution
* Minimum supported Visual Studio versions are now VS2019 and VS2022

## Bug Fixes (from upstream)

* fix: read/write of `description` in bare repos ( #1487 by bramborman )
* Fix handling of renamed branches for clone/fetch ( #1493 by @dh2i-sam )

## Notes

This fork maintains full backward compatibility with git-tfs repositories while adding comprehensive LFS support. The LFS filter implementation is based on the Git pkt-line protocol and integrates directly with the local git-lfs installation for all filter operations.
Loading