# Rename module path from gitsync to git-sync

`6eee906`→[main](/content/gh/entireio/git-sync/commits/main/index.html)·

pjbgf·2mo ago·40 files·+82 added/-82 removed

Align the Go module path with the repository and binary name.

Assisted-by: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Paulo Gomes <paulo@entire.io>

## Sessions

02df05259255View transcript

[?\
Add tests to ensure that source and target must not be the same repositoryClaude Code·Opus 4.7\[1m\]·1 step](/content/gh/entireio/git-sync/session/1262c0a7-dcf1-4eb8-a08c-1a4060f7369d#timeline-02df05259255/index.html)

## Changes

40

- M.golangci.yaml+1/-1

- MCONTRIBUTING.md+1/-1

- MREADME.md+2/-2

- MSECURITY.md+1/-1

- Mclient.go+2/-2

- Mclient_test.go+1/-1

- cmd

- git-sync-bench

- Mmain.go+3/-3

- Mmain_test.go+1/-1

- git-sync

- Mmain.go+3/-3

- Mmain_test.go+1/-1

- docs

- Mprotocol.md+1/-1

- Mexample_test.go+1/-1

- Mgo.mod+1/-1

- internal

- convert

- Mconvert.go+2/-2

- Mconvert_test.go+2/-2

- planner

- Mplanner.go+1/-1

- Mplanner_test.go+1/-1

- Mtypes.go+1/-1

- strategy

- bootstrap

- Mbootstrap.go+3/-3

- Mbootstrap_test.go+2/-2

- incremental

- Mincremental.go+3/-3

- Mincremental_test.go+3/-3

- materialized

- Mmaterialized.go+3/-3

- Mmaterialized_test.go+4/-4

- replicate

- Mreplicate.go+3/-3

- Mreplicate_test.go+2/-2

- syncer

- Mauth_test.go+1/-1

- Mbenchmark_test.go+1/-1

- Mgit_http_backend_test.go+3/-3

- Mintegration_test.go+4/-4

- Mstats.go+1/-1

- Msyncer.go+9/-9

- Msyncer_test.go+1/-1

- internalbridge

- Mconfig.go+2/-2

- Mmodel.go+2/-2

- Mmodel_test.go+2/-2

- mise-tasks/lint

- Mlicenses+1/-1

- Mtypes.go+1/-1

- unstable

- Mclient.go+4/-4

- Mclient_test.go+1/-1

``
96 unmodified lines
``

``
153 unmodified lines
``

- **Formatting**: Code must pass `gofmt` (run `mise run fmt`)
- **Linting**: Code must pass `golangci-lint` (run `mise run lint`)
- **Naming**: Use meaningful, descriptive names following Go conventions
- **Public API**: `entire.io/entire/gitsync` is the stable embedding surface. Additions there should be reviewed carefully. `entire.io/entire/gitsync/unstable` is for advanced controls and may change.
- **Public API**: `entire.io/entire/git-sync` is the stable embedding surface. Additions there should be reviewed carefully. `entire.io/entire/git-sync/unstable` is for advanced controls and may change.

## Library API

`git-sync` is also a Go library. Use `entire.io/entire/gitsync` for the stable embedding surface (`Probe`, `Plan`, `Sync`, `Replicate`, typed results, auth and HTTP injection). `entire.io/entire/gitsync/unstable` exposes advanced controls (`Bootstrap`, `Fetch`, batching knobs, heap measurement) and is not stable.

## Installation

Install the latest release with `go install`:

```bash
go install entire.io/entire/gitsync/cmd/git-sync@latest
go install entire.io/entire/git-sync/cmd/git-sync@latest
```

This drops a `git-sync` binary into `$(go env GOPATH)/bin`. Make sure that directory is on your `PATH.

---

MREADME.md+2/-2

```markdown
This security policy applies to:

- The `git-sync` CLI and `git-sync-bench` benchmark command
- The `entire.io/entire/gitsync` and `entire.io/entire/gitsync/unstable` Go packages
- The `entire.io/entire/git-sync` and `entire.io/entire/git-sync/unstable` Go packages
- Official Entire GitHub repositories

### Out of Scope
``

MSECURITY.md+1/-1

``
5 unmodified lines
``

Mclient.go+2/-2

```go

Mclient_test.go+1/-1

```go

Mcmd/git-sync-bench/main.go+3/-3

```go

Mcmd/git-sync-bench/main_test.go+1/-1

```go

Mcmd/git-sync/main.go+3/-3

```go

Mcmd/git-sync/main_test.go+1/-1

```go

Mdocs/protocol.md+1/-1

```go

Mexample_test.go+1/-1

```go

Mgo.mod+1/-1

```go

Minternal/convert/convert.go+2/-2

```go

Minternal/convert/convert_test.go+2/-2

```go

Minternal/planner/planner.go+1/-1

```go

Minternal/planner/planner_test.go+1/-1

```go

Minternal/planner/types.go+1/-1

```go

Minternal/strategy/bootstrap/bootstrap.go+3/-3

```go

Minternal/strategy/bootstrap/bootstrap_test.go+2/-2

```go

Minternal/strategy/incremental/incremental.go+3/-3

```go

Minternal/strategy/incremental/incremental_test.go+3/-3

```go

Minternal/strategy/materialized/materialized.go+3/-3

```go

Minternal/strategy/materialized/materialized_test.go+4/-4

```go

Minternal/strategy/replicate/replicate.go+3/-3

```go

Minternal/strategy/replicate/replicate_test.go+2/-2

```go

Minternal/syncer/auth_test.go+1/-1

```go

Minternal/syncer/benchmark_test.go+1/-1

```go

Minternal/syncer/git_http_backend_test.go+3/-3

```go

Minternal/syncer/integration_test.go+4/-4

```go

Minternal/syncer/stats.go+1/-1

```go

Minternal/syncer/syncer.go+9/-9

```go

Minternal/syncer/syncer_test.go+1/-1

```go

Minternalbridge/config.go+2/-2

```go

Minternalbridge/model.go+2/-2

```go

Minternalbridge/model_test.go+2/-2

```

Mmise-tasks/lint/licenses+1/-1

```go

Mtypes.go+1/-1

```go

Munstable/client.go+4/-4

```go

Munstable/client_test.go+1/-1
