git-lfs/git
brian m. carlson bbc3e24767
Optimize traversal of Git objects with URL remotes
We have an optimization that means we avoid traversing objects that
exist in the remote tracking branches of named remotes. We assume that
the server already has the LFS objects referred to by those Git objects.

However, this doesn't work for URL remotes, since there are no remote
tracking branches for them. Instead, let's make sure that we don't
traverse Git objects that are included in the old value of the ref,
which we know the server must have.

Note that this will not help the case where someone is pushing a new
branch to a URL remote; in that case, the old value is the all-zeros
value and we'll still have to traverse the entire history since we
haven't learned anything about what the server has.
2019-08-05 21:20:54 +00:00
..
gitattr git/gitattr: add a macro processor 2018-12-03 17:18:49 +00:00
githistory Fix Typos 2019-07-24 07:17:40 +00:00
attribs.go git: look up default global attributes file if none specified 2018-12-03 17:18:50 +00:00
config_test.go git: provide a read-only configuration object 2018-10-26 15:27:54 +00:00
config.go git: provide a read-only configuration object 2018-10-26 15:27:54 +00:00
filter_process_scanner_test.go Merge pull request #2471 from git-lfs/git-pl-write-list 2017-08-04 09:10:28 -06:00
filter_process_scanner.go git: remove low value debug message 2017-10-27 09:51:45 -06:00
filter_process_status.go git: introduce type 'FilterProcessStatus' 2017-08-24 18:28:50 -04:00
git_test.go git/git.go: remove git.RefTypeRemoteTag 2018-09-25 14:38:45 -07:00
git.go Allow specifying file:/// URLs 2019-08-02 17:23:46 +00:00
object_scanner.go git: close object database when done 2019-01-15 18:53:09 +00:00
pkt_line_reader_test.go filter-process: fix reading 1024 byte files 2016-11-22 12:21:48 +01:00
pkt_line_reader.go git: remove extraneous length check 2016-11-22 10:57:18 -07:00
pkt_line_test.go git/pl: flush underlying *bufio.Writer only when necessary 2016-11-15 14:35:21 -07:00
pkt_line_writer_test.go git: teach *PktlineWriter.Flush() to respond to nil receiver 2017-08-02 13:26:38 -06:00
pkt_line_writer.go git: teach *PktlineWriter.Flush() to respond to nil receiver 2017-08-02 13:26:38 -06:00
pkt_line.go git/pl: document pkt-line behavior 2016-11-15 14:35:21 -07:00
refs_test.go git: port over existing commands.refUpdate tests 2018-01-05 15:18:17 -07:00
refs.go git: remove unnecessary debug trace messages 2018-01-17 11:06:23 -07:00
rev_list_scanner_test.go Optimize traversal of Git objects with URL remotes 2019-08-05 21:20:54 +00:00
rev_list_scanner.go Optimize traversal of Git objects with URL remotes 2019-08-05 21:20:54 +00:00
version.go git/version.go: replace sync.Mutex usage with sync.Once 2019-01-23 15:42:32 -08:00