Go to file
2015-02-25 18:09:53 -07:00
.vendor/src/github.com updating go import paths 2015-01-30 14:08:47 -05:00
cmd updating go import paths 2015-01-30 14:08:47 -05:00
commands add a trailing line break to .gitattributes before adding new entries 2015-02-17 17:28:34 -07:00
docs make some api spec changes. 2015-02-13 11:53:35 -07:00
git Simplify current branch/remote finding, fix bug in branch finding, add a status test 2014-10-28 15:22:38 -04:00
hawser better names for the internal structs 2015-02-25 18:09:53 -07:00
pointer remove the *Request structs, just pass args 2015-02-13 12:01:25 -07:00
scanner Loosen blobSizeCutoff to account for longer pointer file url 2015-01-30 18:03:17 -05:00
script Merge pull request #158 from hawser/windows-install-script 2015-02-12 08:36:05 +11:00
.gitignore updating go import paths 2015-01-30 14:08:47 -05:00
CONTRIBUTING.md update the contributing doc based on the template 2015-02-07 10:00:36 -07:00
Godeps Update tracerx 2014-11-02 15:34:57 -05:00
README.md sample 2015-02-07 09:52:50 -07:00

Git Hawser

Git command line extension for managing large files. Hawser replaces large files with text pointers inside Git, while storing the actual files in a remote Hawser server.

The Git Hawser client is written in Go, with pre-compiled binaries available for Mac, Windows, Linux, and FreeBSD.

See CONTRIBUTING.md for info on working on Hawser and sending patches.

Getting Started

Download the latest client and run the included install script. The installer should run git hawser init for you, which sets up Git's global configuration settings for Hawser.

Configuration

Hawser uses .gitattributes files to configure which are managed by Hawser. Here is a sample one that saves zips and mp3s:

$ cat .gitattributes
*.mp3 filter=hawser -crlf
*.zip filter=hawser -crlf

Hawser can help manage the paths:

$ git hawser add "*.mp3"
Adding path *.mp3

$ git hawser add "*.zip"
Adding path *.zip

$ git hawser path
Listing paths
    *.mp3 (.gitattributes)
    *.zip (.gitattributes)

$ git hawser remove "*.zip"
Removing path *.zip

$ git hawser path
Listing paths
    *.mp3 (.gitattributes)

Pushing commits

Once setup, you're ready to push some commits.

$ git add my.zip
$ git commit -m "add zip"

You can confirm that Hawser is managing your zip file:

$ git hawser ls-files
my.zip

Once you've made your commits, push your files to the Git remote.

$ git push origin master
Sending my.zip
12.58 MB / 12.58 MB  100.00 %
Counting objects: 2, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 548 bytes | 0 bytes/s, done.
Total 5 (delta 1), reused 0 (delta 0)
To https://github.com/hawser/hawser-test
   67fcf6a..47b2002  master -> master

See the Hawser overview and man pages.