jedbrown / git-fat

Simple way to handle fat files without committing them to git, supports synchronization using rsync
BSD 2-Clause "Simplified" License
621 stars 137 forks source link

Retroactively adding files does not work #52

Closed HalfVoxel closed 9 years ago

HalfVoxel commented 9 years ago

Hi

I really love this script, but there is one repo where I needed to retroactively add files to git-fat, I saw that there was an (experimental) way to do that so I tested it. Unfortunately it seems the script is completely outdated. Even the test script (test-retroactive.sh) fails to run. I have tried to fix the script, but so far I haven't managed to get it working (even though it does proceed further now). Is there a possibility that this could be fixed?

HalfVoxel commented 9 years ago

Confirmed that it does work in 3accd13eb809f1c1c809eccd4a7ef06f83ff5401 (i.e the commit that last changed test-retroactive.sh), but is broken in HEAD.

HalfVoxel commented 9 years ago

Sorry, my mistake. I used the version from pip, which I thought was the most up to date version. Apparently it wasn't, the one from HEAD works perfectly fine.

jedbrown commented 9 years ago

The version in PyPI is actually a fork by someone else, and is not compatible with mine. I wish they had changed the name or maintained compatibility so as to avoid this problem.

HalfVoxel commented 9 years ago

Ah, I see. That's too bad. Maybe you should add a note of it in the readme file?

justinclift commented 9 years ago

Potentially relevant: https://github.com/cyaninc/git-fat/issues/21

abraithwaite commented 9 years ago

Hey @jedbrown. As I mentioned in #19, I'm completely open to resolving this fork! We're willing to fix any incompatibilities (of which, I'm not sure there are any anymore), hand over the pypi to you, rename it, whatever it takes! Just let me know and it's done. We've been absolutely loving git-fat and want to give back!

justinclift commented 9 years ago

Ahhh, there do seem to be a few outstanding PR's needing attention.

@jedbrown If you're having a free time problem (eg not enough of it! :smile:), maybe expand out the committer team? There seem to be a bunch of suitable candidates around.

jedbrown commented 9 years ago

Hi, folks. Sorry about the crickets. I indeed have limited time for git-fat development and the PRs require careful review because some proposals have (a) broken compatibility, (b) inadvertently changed semantics, or (c) "improved performance" in one case at drastic impact to another.

Since I am one person and fallible, my first priority is to make the test suite more structured and comprehensive (likely using sharness) and add a performance regression suite. I would love to merge most of @abraithwaite's improvements, but I'm concerned about doing it without better tests.

justinclift commented 9 years ago

@abraithwaite On that note, this particular issue we're commenting in is actually a bug report for your fork, whereas the jedbrown one (HEAD) works... :wink:

abraithwaite commented 9 years ago

Hey @jedbrown Thanks for getting back to us.

I'm going to review all the incompatibilities discussed in the #19. Most of them shouldn't be that hard to fix.

To add to that, one of the reasons why we refactored (besides what's already been mentioned) was so that we could more easily test changes we made ourselves. We're using the python unittest library though and don't do any major performance testing.

The reason we don't do major performance testing though is because we automate installing the latest on our build machines pulling tons of files every day. Clearly, this isn't an appropriate solution for an open source project, but I just wanted to reassure you that we haven't observed any performance issues (probably mostly due to the default to HEAD only change).

If you want to see the tests we wrote, please look here and see if you'd like to use them / where they could use improvements.

abraithwaite commented 9 years ago

Hey @HalfVoxel, if you'd like to try to patch your version, here's a hotfix:

https://gist.github.com/abraithwaite/95b6479871c38e6b30af

Also, I personally apologize for the confusion surrounding the pypi module. Until we resolve this, I'll add a big fat note at the top mentioning both repositories.