Module: Command::ReceiveObjects
- Included in:
- Fetch, ReceivePack
- Defined in:
- lib/command/shared/receive_objects.rb
Constant Summary collapse
- UNPACK_LIMIT =
100
Instance Method Summary collapse
- #recv_packed_objects(unpack_limit = nil, prefix = "") ⇒ Object
- #select_processor_class(reader, unpack_limit) ⇒ Object
- #transfer_unpack_limit ⇒ Object
Instance Method Details
#recv_packed_objects(unpack_limit = nil, prefix = "") ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/command/shared/receive_objects.rb', line 9 def recv_packed_objects(unpack_limit = nil, prefix = "") stream = Pack::Stream.new(@conn.input, prefix) reader = Pack::Reader.new(stream) progress = Progress.new(@stderr) unless @conn.input == STDIN reader.read_header factory = select_processor_class(reader, unpack_limit) processor = factory.new(repo.database, reader, stream, progress) processor.process_pack end |
#select_processor_class(reader, unpack_limit) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/command/shared/receive_objects.rb', line 22 def select_processor_class(reader, unpack_limit) unpack_limit ||= transfer_unpack_limit if unpack_limit and reader.count > unpack_limit Pack::Indexer else Pack::Unpacker end end |
#transfer_unpack_limit ⇒ Object
32 33 34 |
# File 'lib/command/shared/receive_objects.rb', line 32 def transfer_unpack_limit repo.config.get(["transfer", "unpackLimit"]) || UNPACK_LIMIT end |