summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #83 from thcipriani/git-fat-upstreamHEADmasterJed Brown2018-08-211-5/+12
|\ | | | | Invalidate git index cache before smudging
| * Invalidate git index cache before smudgingTyler Cipriani2018-08-201-5/+12
|/ | | | | | | | | | | | | | | | | Occasionally we hit the problem where a git smudge filter is not triggered -- for instance, when a file in a working tree's lstat info matches the file in the git index cache. (see racy-git.txt in the git documentation) The previous work-around was touching the git-fat file; however, in cases where git fat checkout is automated there is a chance that touching the file will make no modification to the lstat information (when a touch happens in the same second as a git checkout). In those instances, git will not trigger the smudge filter and the file in the checkout will remain orphaned. We can work around this by ensuring that the timestamp on a file is modified by looking at its previous timestamp and adding 1 to it.
* Use '.' instead of '' to match any pathspec; needed by git >=2.16Jed Brown2018-01-211-0/+2
|
* Remove superfluous iteratorJed Brown2017-06-181-1/+0
|
* Fix sorted syntax for 'git fat find' with Python 2/3 [closes #74]Jed Brown2017-01-311-1/+1
| | | | Reported-by: Isuru Fernando
* Merge branch 'patch-1' of github:HalfVoxel/git-fat (PR #60)Jed Brown2015-03-241-1/+2
|\ | | | | | | | | | | | | | | | | | | Users unfamiliar with gitattributes(5) may not know where to put .gitattributes. * 'patch-1' of github:HalfVoxel/git-fat: Update README.md Suggested-by: pengyu on github (closes #59)
| * Update README.mdAron Granberg2015-03-241-1/+2
|/ | | Clarify where the .gitattributes file goes
* Fix syntax and error cleanly on Python-3Jed Brown2014-08-261-1/+5
| | | | | | | | | Python-3 requires careful handling of unicode to avoid breaking Git semantics (which manages strings unencoded) or Python (which insists on processing encoded strings on Windows). This is not done yet, so error cleanly for now. See discussion in issue #42. Suggested-by: Christoph Buchner
* README: add nuance to description of git clone --depthJed Brown2014-08-081-1/+1
| | | | | Closes #47 Suggested-by: Aleksander Nitecki
* Exit without ugly stack trace when run from outside a Git repository (fixes #45)Jed Brown2014-07-191-1/+4
| | | | Reported-by: "Slavko"
* Merge branch 'improve_referenced_objects_performance' of ↵Jed Brown2014-07-191-4/+11
|\ | | | | | | | | | | | | github:jmurty/git-fat (PR #37) * 'improve_referenced_objects_performance' of github:jmurty/git-fat: Avoid potential infinite loop if unexpected EOF received from cat-file
| * Merge branch 'upstream' into improve_referenced_objects_performanceJames Murty2014-06-261-1/+1
| |\ | |/ |/|
* | Merge branch 'jmurty/improve-referenced-objects-performance'Jed Brown2014-06-021-9/+38
|\ \ | | | | | | | | | | | | | | | | | | * jmurty/improve-referenced-objects-performance: referenced_objects: make comment more precise More sophisticated use of cat-file bulk revision processing in two stages Improve performance when looking up referenced objects.
| * | referenced_objects: make comment more preciseJed Brown2014-06-021-1/+1
| | |
| | * Merge branch 'upstream' into improve_referenced_objects_performanceJames Murty2014-05-313-5/+60
| | |\ | |_|/ |/| |
* | | Merge branch 'osx_test_compat_fixes' of github:jmurty/git-fat (PR #35)Jed Brown2014-05-261-3/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * 'osx_test_compat_fixes' of github:jmurty/git-fat: Use custom fullpath() fn to avoid confusion with realpath vs alternative Replace heavyweight use of python with a simple 'pwd' call Make test-restrospective.sh test script compatible with OSX
| * | | Use custom fullpath() fn to avoid confusion with realpath vs alternativeJames Murty2014-05-261-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Define and use simple `pwd`-based fullpath() function * Remove misleading comment Confirmed to work on OSX.
| * | | Replace heavyweight use of python with a simple 'pwd' callJames Murty2014-05-261-1/+1
| | | |
| * | | Make test-restrospective.sh test script compatible with OSXJames Murty2014-05-231-0/+6
| | | |
* | | | Move init diagnostics out of cmd_* sectionJed Brown2014-05-251-7/+7
| | | |
* | | | Merge branch 'add_verify_command' of github:jmurty/git-fat (PR #36)Jed Brown2014-05-252-1/+29
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'add_verify_command' of github:jmurty/git-fat: Add `verify` command to check git-fat object data matches hash filename. Conflicts: git-fat
| * | | | Add `verify` command to check git-fat object data matches hash filename.James Murty2014-05-242-1/+29
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While experimenting with using the --partial option with rsync I managed to corrupt one of my git-fat objects by truncating it. This caused some behaviour in git-fat which seemed odd until I worked out what had happened: it would check out the truncated data but git would see the file as modified and show the changed hash in a diff, while a re-checkout did not reset the file to its original data/hash. This commit adds a `verify` command that cross-checks git-fat object file names (the original SHA1) against the SHA1 of the object's actual data and prints any mismatches. So you can quickly find any dubious objects and decide what to do about them. A better solution might be to calcuate and verify objects' data hash during filter-smudge/checkout though this would likely hurt performance.
* | | | Merge branch 'jmurty/ensure-init-before-pull' (PR #33)Jed Brown2014-05-252-1/+25
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | * jmurty/ensure-init-before-pull: Print fatal error message to stderr Moved requirement for init to `checkout` operation. Fail with a clear error if 'git fat pull' is run on uninitialised repo.
| * | | Print fatal error message to stderrJed Brown2014-05-251-1/+2
| | | |
| * | | Moved requirement for init to `checkout` operation.James Murty2014-05-242-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | Since `checkout` op is where the repo really needs to be init'ed for git-fat I moved the requirement to there. This way it is still triggered by a `pull` op, but only at the end after any files have been synced.
| * | | Fail with a clear error if 'git fat pull' is run on uninitialised repo.James Murty2014-05-232-1/+18
|/ / / | | | | | | | | | This fixes issue #25 in the original project.
| | * Avoid potential infinite loop if unexpected EOF received from cat-fileJames Murty2014-05-291-4/+11
| |/ | | | | | | | | | | Use read() method more defensively to avoid any chance of an infinite loop in the (very unlikely) event an EOF is received mid-way through some `cat-file` data.
| * More sophisticated use of cat-file bulk revision processing in two stagesJames Murty2014-05-281-18/+36
| | | | | | | | | | | | | | | | | | | | | | | | This change takes better advantage of the relative strengths of `cat-file --batch-check` and `cat-file --batch` and combines them. * Uses `cat-file --batch-check` to filter the set of all git objects in bulk, leaving only those that are candidate git-fat object references, based on the object being of type "blob" and of magic size(s) * Uses `cat-file --batch` to read the full contents of all the candidate objects in bulk, for fast processing of their data to find the actual git-fat references.
| * Improve performance when looking up referenced objects.James Murty2014-05-251-5/+16
|/ | | | | | | | | Avoid a cat-file subprocess call per fat object blob by doing slightly uglier parsing of "cat-file --batch" that includes object content, instead of "cat-file --batch-check" that doesn't. In my ad-hoc testing on a reasonable size repository (50k rev-list -objects) this speeds up 'git fat status' by almost 40%.
* Merge branch 'fix-OSError-on-removed-tracked-file' of github:cspurk/git-fat ↵Jed Brown2014-05-092-1/+10
|\ | | | | | | | | | | | | (PR #30) * 'fix-OSError-on-removed-tracked-file' of github:cspurk/git-fat: fix OSError on “git fat pull” with manually removed, tracked files in WC
| * fix OSError on “git fat pull” with manually removed, tracked files in WCChristian Spurk2014-05-092-1/+10
| | | | | | | | If there is any manually removed, tracked file in the working copy, then running “git fat pull” fails with an OSError without this fix.
* | Merge branch 'master' of github:nkovacs/git-fat (PR #31)Jed Brown2014-05-091-0/+4
|\ \ | |/ |/| | | | | | | | | Support patterns like "git fat push && git push" * 'master' of github:nkovacs/git-fat: return rsync's exit codes if non-zero in pull and push
| * return rsync's exit codes if non-zero in pull and pushNikola Kovacs2014-05-091-0/+4
|/
* Merge branch 'master' of https://github.com/ChrisMarinos/git-fatJed Brown2014-04-291-1/+3
|\ | | | | | | | | | | | | Add ability to locally specify variables like rsync.sshuser * 'master' of https://github.com/ChrisMarinos/git-fat: allow fat settings to come from global git configuration
| * allow fat settings to come from global git configurationChris Marinos2014-04-231-1/+3
|/
* Merge branch 'master' of https://github.com/c00kiemon5ter/git-fatJed Brown2014-03-121-2/+11
|\ | | | | | | | | | | | | Closes #21 * 'master' of https://github.com/c00kiemon5ter/git-fat: Explain rsync with ssh authentication
| * Explain rsync with ssh authenticationIvan Kanakarakis2014-02-241-2/+11
| |
* | Merge branch 'jed/pull-all'Jed Brown2014-03-121-4/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | Fixes #23 * jed/pull-all: pull: fix --all to avoid limiting by patterns in current tree filter_objects: remove printing that doesn't belong in internal functions filter_objects: files is already a set
| * | pull: fix --all to avoid limiting by patterns in current treejed/pull-allJed Brown2014-03-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression introduced in: commit c23422388b975f13867457c86c78361dfdf8036e Author: Tomas Herman <tomas.herman@wikidi.com> Date: Tue Apr 23 11:59:38 2013 +0200 Added support for pulling only a subset of files. Reported-by: Nikola Kovacs <nikola.kovacs@gmail.com>
| * | filter_objects: remove printing that doesn't belong in internal functionsJed Brown2014-03-121-2/+0
| | |
| * | filter_objects: files is already a setJed Brown2014-03-121-2/+1
|/ /
* | Merge branch 'master' of https://github.com/wikimedia/git-fatJed Brown2014-03-071-2/+5
|\ \ | |/ |/| | | | | | | | | | | | | Support idiosyncratic workflows such as a custom server-side using symlinks to an existing layout, where rsync pull needs --copy-links. * 'master' of https://github.com/wikimedia/git-fat: Supporting multiple space separated rsync options Adding support for extra rsync options via rsync.options
| * Supporting multiple space separated rsync optionsAndrew Otto2014-03-071-1/+1
| |
| * Adding support for extra rsync options via rsync.optionsAndrew Otto2014-03-071-2/+5
|/
* Merge branch 'patch-1' of github:mspacek/git-fatJed Brown2013-12-301-2/+2
|\ | | | | | | | | * 'patch-1' of github:mspacek/git-fat: Fix README.md typos
| * Fix README.md typosMartin Spacek2013-12-301-2/+2
|/
* Merge branch 'skip-broken-symlinks' of github:chhitz/git-fat (PR #16)Jed Brown2013-08-292-1/+7
|\ | | | | | | | | * 'skip-broken-symlinks' of github:chhitz/git-fat: fix handling of broken symlinks
| * fix handling of broken symlinksChristian Hitz2013-08-292-1/+7
|/ | | | | if a symlink has a length of self.magiclen git-fat would crash because it could not read the file
* Merge branch 'symlinks-in-index-filter' of github:chhitz/git-fat (PR #15)Jed Brown2013-08-201-0/+3
|\ | | | | | | | | * 'symlinks-in-index-filter' of github:chhitz/git-fat: ignore symbolic links during index-filter
| * ignore symbolic links during index-filterChristian Hitz2013-08-201-0/+3
| | | | | | | | | | symbolic links should not be handled by git-fat even if their name match the filelist